KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > openccm > descriptor > componentassembly > ccm > deployer > binder > HomeinterfaceDeployerContext


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.binder;
27
28 import org.objectweb.openccm.descriptor.componentassembly.Homeinterface;
29 import org.objectweb.openccm.descriptor.componentassembly.beans.HomeinterfaceBean;
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.componentassembly.ccm.deployer.installer.HomeplacementDeployer;
33 import org.objectweb.openccm.descriptor.componentassembly.ccm.deployer.util.FindbyDeployer;
34
35 /**
36  * The homeinterface deployer context defines all the connection requires for
37  * home interface establishment.
38  *
39  * @author <a HREF="mailto:briclet@lifl.fr">Briclet Frédéric</a>
40  *
41  * @version 0.1
42  */

43 public class HomeinterfaceDeployerContext
44        extends ChildDeployerContext
45     {
46     // ==================================================================
47
//
48
// Internal state.
49
//
50
// ==================================================================
51
private HomeinterfaceBean homeinterface;
52     private FindbyDeployer findbyDeployer;
53     private HomeplacementDeployer homeplacementDeployer;
54     // ==================================================================
55
//
56
// Constructors.
57
//
58
// ==================================================================
59
// ==================================================================
60
//
61
// Internal methods.
62
//
63
// ==================================================================
64
// ==================================================================
65
//
66
// Public accessor methods.
67
//
68
// ==================================================================
69
/**
70      * @return
71      */

72     public FindbyDeployer
73     getFindbyDeployer()
74     {
75         return findbyDeployer;
76     }
77
78     /**
79      * @return
80      */

81     public Homeinterface
82     getHomeinterface()
83     {
84         return homeinterface;
85     }
86
87     /**
88      * @param deployer
89      */

90     public void
91     connectFindbyDeployer(FindbyDeployer deployer)
92     {
93         findbyDeployer = deployer;
94     }
95
96     /**
97      * @param homeinterface
98      */

99     public void
100     connectHomeinterface(HomeinterfaceBean homeinterface)
101     {
102         this.homeinterface = homeinterface;
103         connectDeployerDescription(homeinterface);
104     }
105
106     /**
107      * @return
108      */

109     public HomeplacementDeployer
110     getHomeplacementDeployer()
111     {
112         return homeplacementDeployer;
113     }
114
115     /**
116      * @param deployer
117      */

118     public void
119     connectHomeplacementDeployer(HomeplacementDeployer deployer)
120     {
121         homeplacementDeployer = deployer;
122     }
123
124     /**
125      * This initialization method is used to check that all the services and
126      * information required to deploy are presents. If all is OK the deployer
127      * is put in inactive deployer state waiting for the deployment processing.
128      *
129      * @exception InitializationError is thrown if a problem is detected
130      */

131     public void
132     initialize()
133     throws InitializationError
134     {
135       if(getHomeinterface()==null)
136             getErrorManager()
137             .submitException(new InitializationError(this,"Connection on homeinterface bean is required"+
138                                         "check the handler code it must specify this connection"));
139                                   
140       if(getHomeinterface().getHomeplacementref()!=null&&(
141         getHomeinterface().getHomeplacementref().getIdref()==null ||
142         getHomeinterface().getHomeplacementref().getIdref().length()==0))
143              getErrorManager()
144               .submitException(new InitializationError(this,"The idref attribute of the homeplacementref element"+
145                                          "must be fullfilled, check the homeinterface element"+
146                                          "description\n."+getStringifiedDeployerDescription()));
147       if(getHomeinterface().getHomeplacementref()==null&&getFindbyDeployer()==null)
148             getErrorManager()
149             .submitException(new InitializationError(this,"One of homeplacementref/findby children must be"+
150                                          "specified check the homeinterface element"+
151                                          "description\n."+getStringifiedDeployerDescription()));
152         getLifeCycleManager().stepEndedSuccessFully();
153      }
154
155    
156
157
158 }
159
Popular Tags