KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > openccm > descriptor > softpkg > ccm > ImplementationDeployerContext


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

42 public class ImplementationDeployerContext
43        extends ChildDeployerContext
44 {
45     // ==================================================================
46
//
47
// Internal state.
48
//
49
// ==================================================================
50
private ImplementationBean implementation;
51     private LinkedList JavaDoc codeDeployers;
52     private LinkedList JavaDoc dependencyDeployers;
53     private LinkedList JavaDoc descriptorDeployers;
54     // ==================================================================
55
//
56
// Constructors.
57
//
58
// ==================================================================
59
public ImplementationDeployerContext(){
60         codeDeployers=new LinkedList JavaDoc();
61         dependencyDeployers=new LinkedList JavaDoc();
62         descriptorDeployers=new LinkedList JavaDoc();
63     }
64     // ==================================================================
65
//
66
// Internal methods.
67
//
68
// ==================================================================
69
// ==================================================================
70
//
71
// Public methods.
72
//
73
// ==================================================================
74
public void
75     connectDependencyDeployer(DependencyDeployer dep)
76     {
77             dependencyDeployers.addLast(dep);
78     }
79
80     public DependencyDeployer []
81     getDependencyDeployers()
82     {
83         return (DependencyDeployer[])dependencyDeployers.toArray(new DependencyDeployer[dependencyDeployers.size()]);
84     }
85     
86     public void
87     connectCodeDeployer(CodeDeployer codeDeployer)
88     {
89         codeDeployers.addLast(codeDeployer);
90     }
91
92     public CodeDeployer []
93     getCodeDeployers()
94     {
95         return (CodeDeployer[])codeDeployers.toArray(new CodeDeployer[codeDeployers.size()]);
96     }
97
98     /**
99      * @return
100      */

101     public ImplementationBean
102     getImplementation()
103     {
104         return implementation;
105     }
106
107     /**
108      * @param bean
109      */

110     public void
111     connectImplementation(ImplementationBean bean)
112     {
113         implementation = bean;
114         connectDeployerDescription(bean);
115     }
116
117     public void
118     connectDescriptorDeployer(DescriptorDeployerInterface descriptorDeployer)
119     {
120         descriptorDeployers.addLast(descriptorDeployer);
121     }
122
123     public DescriptorDeployerInterface []
124     getDescriptorDeployers()
125     {
126         return
127             (DescriptorDeployerInterface[])
128                 descriptorDeployers
129                 .toArray(new DescriptorDeployerInterface[descriptorDeployers.size()]);
130             
131     }
132     
133     /**
134      * This initialization method is used to check that all the services and
135      * information required to deploy are presents. If all is OK the deployer
136      * is put in inactive deployer state waiting for the deployment processing.
137      *
138      * @exception InitializationError is thrown if a problem is detected
139      */

140     public void initialize() throws InitializationError {
141         // TODO Auto-generated method stub
142
if(getImplementation()==null)
143                   getErrorManager()
144                   .submitException(new InitializationError(this,"Connection on implementation bean is required"+
145                                                            "check the handler code it must specify this connection"));
146         getLifeCycleManager().stepEndedSuccessFully();
147     }
148     
149     
150     
151 }
152
Popular Tags