KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > openccm > descriptor > componentassembly > ccm > deployer > installer > HostcollocationDeployerHandler


1 /*====================================================================
2
3 OpenCCM: The Open CORBA Component Model Platform
4 Copyright (C) 2000-2004 INRIA - USTL - LIFL - GOAL
5 Contact: openccm@objectweb.org
6
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Lesser General Public
9 License as published by the Free Software Foundation; either
10 version 2.1 of the License, or any later version.
11
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Lesser General Public License for more details.
16
17 You should have received a copy of the GNU Lesser General Public
18 License along with this library; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20 USA
21
22 Initial developer(s): Briclet Frédéric.
23 Contributor(s): ______________________________________.
24
25 ====================================================================*/

26 package org.objectweb.openccm.descriptor.componentassembly.ccm.deployer.installer;
27
28 // Local Interface Import Statements
29
import org.objectweb.openccm.descriptor.componentassembly.beans.HomeplacementBean;
30 import org.objectweb.openccm.descriptor.componentassembly.beans.HostcollocationBeanImpl;
31 import org.objectweb.openccm.descriptor.componentassembly.ccm.deployer.base.HandlerBase;
32 import org.objectweb.openccm.descriptor.componentassembly.ccm.deployer.base.InitializationError;
33 /**
34  * This handler is used to produce hostcollocationdeployer from an
35  * hostcollocation bean .
36  *
37  * @author <a HREF="mailto:briclet@lifl.fr">Briclet Frédéric</a>
38  *
39  * @version 0.1
40  */

41 public class HostcollocationDeployerHandler
42        extends HandlerBase
43   {
44     // ==================================================================
45
//
46
// Internal state.
47
//
48
// ==================================================================
49
private HostcollocationDeployer _deploy;
50     // ==================================================================
51
//
52
// Constructors.
53
//
54
// ==================================================================
55
// ==================================================================
56
//
57
// Internal methods.
58
//
59
// ==================================================================
60
// ==================================================================
61
//
62
// Public methods.
63
//
64
// ==================================================================
65
/**
66      * Produce the hostcollocation deployer binded
67      * to the given @param host.
68      *
69      * @param host The hostcollocation bean
70      * @return the deployer produced in initialize state
71      * @throws InitializationError thrown if a problem is detected
72      */

73     public Object JavaDoc
74     getInstance(HostcollocationBeanImpl host)
75     throws InitializationError
76     {
77         if(_deploy==null){
78             _deploy=new HostcollocationDeployer();
79             _deploy.connectHostcollocation(host);
80             applyCommonConfig(_deploy);
81             DestinationDeployerBase ddb=(DestinationDeployerBase)
82                                             getDeployer(host.getDestination());
83             _deploy.connectDestinationDeployer(ddb);
84             
85             for(java.util.Iterator JavaDoc i=host.getHomeplacementList().iterator();i.hasNext(); ){
86                  HomeplacementDeployer current=(HomeplacementDeployer)
87                                      getDeployer((HomeplacementBean)i.next());
88                  HostcollocationDestinationWrapper hdw=new HostcollocationDestinationWrapper();
89                  hdw.connectWrappedDestination(ddb);
90                  hdw.connectImplementationDeployer(current.getImplementationDeployer());
91                  hdw.connectSoftpkgDeployer(current.getSoftpkgDeployer());
92                  _deploy.connectHomeplacementDeployer(current);
93                  current.connectDestinationDeployer(hdw);
94                  current.initialize();
95              }
96             _deploy.initialize();
97         }
98         
99         return (_deploy);
100     }
101
102 }
103
Popular Tags