KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > openccm > descriptor > componentassembly > ccm > deployer > root > ComponentassemblyDeployerContext


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.root;
27
28 import org.objectweb.openccm.descriptor.componentassembly.beans.ComponentassemblyBean;
29 import org.objectweb.openccm.descriptor.componentassembly.ccm.deployer.base.*;
30 import org.objectweb.openccm.descriptor.componentassembly.ccm.deployer.binder.*;
31 import org.objectweb.openccm.descriptor.componentassembly.ccm.deployer.installer.*;
32
33 /**
34  * The componentassembly deployer context defines all the connection requires for
35  * the componentassembly processing.
36  *
37  * @author <a HREF="mailto:briclet@lifl.fr">Briclet Frédéric</a>
38  *
39  * @version 0.1
40  */

41 public class ComponentassemblyDeployerContext
42        extends RootDeployerContext
43     {
44     // ==================================================================
45
//
46
// Internal state.
47
//
48
// ==================================================================
49
/*All the deployer that can be accessed by the componentplacement deployer*/
50     private ComponentfilesDeployer cfd;
51     protected ComponentassemblyBean cad;
52     private PartitioningDeployer part;
53     private ConnectionsDeployer connect;
54     // ==================================================================
55
//
56
// Constructors.
57
//
58
// ==================================================================
59
// ==================================================================
60
//
61
// Internal methods.
62
//
63
// ==================================================================
64
// ==================================================================
65
//
66
// Public accessors methods.
67
//
68
// ==================================================================
69
public void
70     connectComponentassembly(ComponentassemblyBean cad)
71     {
72         this.cad = cad;
73         connectDeployerDescription(cad);
74     }
75     
76     protected ComponentassemblyBean
77     getComponentassembly(){
78         return cad;
79     }
80     
81     protected ComponentfilesDeployer
82     getComponentfilesDeployer()
83     {
84         return cfd;
85     }
86
87     public void
88     connectComponentfilesDeployer(ComponentfilesDeployer cfd)
89     {
90         this.cfd = cfd;
91     }
92
93     public void
94     connectPartitioningDeployer(PartitioningDeployer part)
95     {
96         this.part = part;
97     }
98     
99     public PartitioningDeployer
100     getPartitioningDeployer()
101     {
102         return part;
103     }
104
105     public void
106     connectConnectionsDeployer(ConnectionsDeployer connect)
107     {
108         this.connect = connect;
109     }
110
111     public ConnectionsDeployer
112     getConnectionsDeployer()
113     {
114         return connect;
115     }
116     
117     /**
118      * This initialization method is used to check that all the services and
119      * information required to deploy are presents. If all is OK the deployer
120      * is put in inactive deployer state waiting for the deployment processing.
121      *
122      * @exception InitializationError is thrown if a problem is detected
123      */

124     public void
125     initialize()
126     throws InitializationError
127     {
128         if(getComponentassembly()==null)
129             getErrorManager()
130             .submitException(new InitializationError(this,"Connection on componentassembly bean is required"+
131                              "check the handler code it must specify this connection"));
132         
133         if(getPartitioningDeployer()==null)
134             getErrorManager()
135             .submitException(new InitializationError(this,"A partitioning child must be specified in componentassembly element,"+
136                                            "check you componentassembly element description.\n"+
137                                            getStringifiedDeployerDescription()));
138                                            
139         getLifeCycleManager().stepEndedSuccessFully();
140     }
141 }
142
Popular Tags