KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > bull > eclipse > jonas > utils > xml > JndiEnvRefsGroupDesc


1 /*
2  * JOnAS: Java(TM) Open Application Server
3  * Copyright (C) 1999 Bull S.A.
4  * Contact: jonas-team@objectweb.org
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19  * USA
20  *
21  * Initial developer(s): Philippe Coq
22  * --------------------------------------------------------------------------
23  * $Id: JndiEnvRefsGroupDesc.java,v 1.5 2003/12/05 12:24:15 sauthieg Exp $
24  * --------------------------------------------------------------------------
25  */

26
27
28 package com.bull.eclipse.jonas.utils.xml;
29
30 // import java
31
import java.util.Vector JavaDoc;
32
33
34 /**
35  * This class is used to keep the usage of containedJNDI environment
36  * regerence elements consistent across J2EE deployment descriptors
37  * Elements are "env-entry", "ejb-ref", "ejb-local-ref", "resource-ref",
38  * "resource-env-ref, "service-ref""
39  * This class extends DescriptionGroupDesc and give access to elements
40  * "description", "display-name", "icon"
41  * used by entity, session, message-driven-bean, web-app, clientApp
42  *
43  * @author Philippe Coq
44  *
45  */

46
47 public abstract class JndiEnvRefsGroupDesc extends DescriptionGroupDesc
48     implements JndiEnvRefsGroup {
49
50     /**
51      * List of resource env ref Descriptors.
52      */

53     private Vector JavaDoc resourceEnvRefs = new Vector JavaDoc();
54
55     /**
56      * List of resource ref Descriptors..
57      */

58     private Vector JavaDoc resourceRefs = new Vector JavaDoc();
59
60     /**
61      * List of env-entry Descriptors.
62      */

63     private Vector JavaDoc envEntries = new Vector JavaDoc();
64
65     /**
66      * List of service-ref Descriptors.
67      */

68     private Vector JavaDoc serviceRefs = new Vector JavaDoc();
69
70     /**
71      * List of EJB ref Descriptors..
72      */

73     private Vector JavaDoc ejbRefs = new Vector JavaDoc();
74
75     /**
76      * List of local EJB ref Descriptors..
77      */

78     private Vector JavaDoc ejbLocalRefs = new Vector JavaDoc();
79
80    /**
81      * Construct an instance of a JndiEnvRefsGroupDesc.<BR>
82      *
83      * @param classLoader the classloader for the classes.
84      * @param app the data structure of the J2EE application
85      * @param jonasApp the data structure of the jonas specific deployment descriptor
86      * @param fileName the name of the warFile (useful only for service-ref)
87      * @throws DeploymentDescException if the deployment
88      * descriptors are corrupted.
89      */

90 // protected JndiEnvRefsGroupDesc(ClassLoader classLoader,
91
// JndiEnvRefsGroupXml app,
92
// JonasJndiEnvRefsGroupXml jonasApp,
93
// String fileName)
94
// throws DeploymentDescException {
95
//
96
// // test classloader
97
// if (classLoader == null) {
98
// throw new DeploymentDescException("Classloader is null");
99
// }
100
// // display name
101
// displayName = (app.getDisplayName() != null) ? app.getDisplayName() : null;
102
//
103
// // resource-env-ref
104
// List resourceEnvRefList = app.getResourceEnvRefList();
105
// List jonasResourceEnvList = jonasApp.getJonasResourceEnvList();
106
// HashMap resourceEnv = new HashMap();
107
// for (Iterator i = jonasResourceEnvList.iterator(); i.hasNext();) {
108
// JonasResourceEnv jonasResourceEnv = (JonasResourceEnv) i.next();
109
// String rName = jonasResourceEnv.getResourceEnvRefName();
110
// boolean findResRef = false;
111
// for (Iterator j = resourceEnvRefList.iterator(); j.hasNext() && !findResRef;) {
112
// ResourceEnvRef resourceEnvRef = (ResourceEnvRef) j.next();
113
// if (rName.equals(resourceEnvRef.getResourceEnvRefName())) {
114
// findResRef = true;
115
// }
116
// }
117
// if (!findResRef) {
118
// throw new DeploymentDescException("resource-env-ref missing for jonas-resource-env " + rName);
119
// }
120
// resourceEnv.put(rName, jonasResourceEnv);
121
// }
122
// for (Iterator i = resourceEnvRefList.iterator(); i.hasNext();) {
123
// ResourceEnvRef resourceEnvRef = (ResourceEnvRef) i.next();
124
// String rName = resourceEnvRef.getResourceEnvRefName();
125
// if (!resourceEnv.containsKey(rName)) {
126
// throw new DeploymentDescException("jonas-resource-env missing for resource-env-ref-name " + rName);
127
// }
128
// resourceEnvRefs.addElement(new ResourceEnvRefDesc(classLoader,
129
// resourceEnvRef,
130
// (JonasResourceEnv) resourceEnv.get(rName)));
131
// }
132
//
133
// // resource-ref
134
// List resourceRefList = app.getResourceRefList();
135
// List jonasResourceList = jonasApp.getJonasResourceList();
136
// HashMap resource = new HashMap();
137
// for (Iterator i = jonasResourceList.iterator(); i.hasNext();) {
138
// JonasResource jonasResource = ((JonasResource) i.next());
139
// String rName = jonasResource.getResRefName();
140
// boolean findResRef = false;
141
// for (Iterator j = resourceRefList.iterator(); j.hasNext() && !findResRef;) {
142
// if (rName.equals(((ResourceRef) j.next()).getResRefName())) {
143
// findResRef = true;
144
// }
145
// }
146
// if (!findResRef) {
147
// throw new DeploymentDescException("resource-ref missing for jonas-resource " + rName);
148
// }
149
// resource.put(rName, jonasResource);
150
// }
151
//
152
// for (Iterator i = resourceRefList.iterator(); i.hasNext();) {
153
// ResourceRef resourceRef = ((ResourceRef) i.next());
154
// String rName = resourceRef.getResRefName();
155
// if (!resource.containsKey(rName)) {
156
// throw new DeploymentDescException("jonas-resource missing for res-ref-name " + rName);
157
// }
158
// resourceRefs.addElement(new ResourceRefDesc(classLoader, resourceRef, (JonasResource) resource.get(rName)));
159
// }
160
//
161
// // env-entry
162
// for (Iterator i = app.getEnvEntryList().iterator(); i.hasNext();) {
163
// EnvEntryDesc envEntryDesc = new EnvEntryDesc((EnvEntry) i.next());
164
// envEntries.addElement(envEntryDesc);
165
// }
166
//
167
// // ejb-ref
168
// List ejbRefList = app.getEjbRefList();
169
// List jonasEjbRefList = jonasApp.getJonasEjbRefList();
170
//
171
// HashMap ejbRef = new HashMap();
172
// for (Iterator i = jonasEjbRefList.iterator(); i.hasNext();) {
173
// JonasEjbRef jonasEjbRef = (JonasEjbRef) i.next();
174
// String brName = jonasEjbRef.getEjbRefName();
175
// boolean findBRef = false;
176
// for (Iterator j = ejbRefList.iterator(); j.hasNext() && !findBRef;) {
177
// EjbRef eRef = (EjbRef) j.next();
178
// if (brName.equals(eRef.getEjbRefName())) {
179
// findBRef = true;
180
// }
181
// }
182
// if (!findBRef) {
183
// throw new DeploymentDescException("ejb-ref missing for jonas-ejb-ref " + brName);
184
// }
185
// ejbRef.put(brName, jonasEjbRef);
186
// }
187
// for (Iterator i = ejbRefList.iterator(); i.hasNext();) {
188
// EjbRef eRef = (EjbRef) i.next();
189
// String brName = eRef.getEjbRefName();
190
// JonasEjbRef jonasEjbRef = (JonasEjbRef) ejbRef.get(brName);
191
// if (jonasEjbRef == null) {
192
// // The ejb-link must be specified when there is no jonas-ejb-ref
193
// if ((eRef.getEjbLink() == null)) {
194
// // Ignore the ejb-link syntax "product.jar#ProductEJB"
195
// throw new DeploymentDescException("ejb-link missing for ejb-ref-name " + brName);
196
// }
197
// }
198
// ejbRefs.addElement(new EjbRefDesc(eRef, jonasEjbRef));
199
// }
200
//
201
//
202
// // ejb-local-ref
203
// List ejbLocalRefList = app.getEjbLocalRefList();
204
// for (Iterator i = ejbLocalRefList.iterator(); i.hasNext();) {
205
// EjbLocalRef ejbLocalRef = (EjbLocalRef) i.next();
206
// if ((ejbLocalRef.getEjbLink() == null)) {
207
// throw new DeploymentDescException("ejb-link missing for ejb-ref-name " + ejbLocalRef.getEjbRefName());
208
// }
209
// ejbLocalRefs.addElement(new EjbLocalRefDesc(ejbLocalRef));
210
// }
211
//
212
// // service-ref
213
// if ( fileName != null) {
214
// List serviceRefList = app.getServiceRefList();
215
// List jonasServiceRefList = jonasApp.getJonasServiceRefList();
216
// Hashtable service = new Hashtable();
217
// for (Iterator i = jonasServiceRefList.iterator(); i.hasNext();) {
218
// JonasServiceRef jonasServiceRef = ((JonasServiceRef) i.next());
219
// String svcName = jonasServiceRef.getServiceRefName();
220
// boolean findServiceRef = false;
221
// for (Iterator j = serviceRefList.iterator(); j.hasNext() && !findServiceRef;) {
222
// if (svcName.equals(((ServiceRef) j.next()).getServiceRefName())) {
223
// findServiceRef = true;
224
// }
225
// }
226
// if (!findServiceRef) {
227
// throw new DeploymentDescException("service-ref missing for jonas-service-ref " + svcName);
228
// }
229
// service.put(svcName, jonasServiceRef);
230
// }
231
//
232
// for (Iterator i = serviceRefList.iterator(); i.hasNext();) {
233
// ServiceRef serviceRef = ((ServiceRef) i.next());
234
// String svcName = serviceRef.getServiceRefName();
235
// if (!service.containsKey(svcName)) {
236
// throw new DeploymentDescException("jonas-service-ref missing for service-ref-name " + svcName);
237
// }
238
// serviceRefs.addElement(new ServiceRefDesc(classLoader,
239
// serviceRef,
240
// (JonasServiceRef) service.get(svcName),
241
// fileName));
242
// }
243
//
244
//
245
// // check unicity of handler-name (must be unique in the module)
246
// List hNames = new Vector();
247
// for (Iterator i = serviceRefs.iterator(); i.hasNext(); ) {
248
// ServiceRefDesc sr = (ServiceRefDesc) i.next();
249
// for (Iterator h = sr.getHandlerRefs().iterator(); h.hasNext(); ) {
250
// HandlerDesc hr = (HandlerDesc) h.next();
251
// // if name is already in the list, unicity is not respected
252
// if (hNames.contains(hr.getName())) {
253
// throw new DeploymentDescException("handler-name '" + hr.getName()
254
// + "' must be unique in the module '");
255
// }
256
// hNames.add(hr.getName());
257
// }
258
// }
259
// }
260
//
261
// }
262

263
264     /**
265      * Get resource environment references.
266      * @return array of resource environment reference descriptors
267      */

268     public ResourceEnvRefDesc[] getResourceEnvRefDesc() {
269         ResourceEnvRefDesc[] ret = new ResourceEnvRefDesc[resourceEnvRefs.size()];
270         resourceEnvRefs.copyInto(ret);
271         return ret;
272     }
273     
274     /**
275      * Get resource manager connection factory references.
276      * @return array of resource reference descriptors
277      */

278     public ResourceRefDesc[] getResourceRefDesc() {
279         ResourceRefDesc[] ret = new ResourceRefDesc[resourceRefs.size()];
280         resourceRefs.copyInto(ret);
281         return ret;
282     }
283
284     /**
285      * Get environment entries.
286      * @return array of Env entries descriptors
287      */

288     public EnvEntryDesc[] getEnvEntryDesc() {
289         EnvEntryDesc[] ret = new EnvEntryDesc[envEntries.size()];
290         envEntries.copyInto(ret);
291         return ret;
292     }
293
294     /**
295      * Get EJB references.
296      * @return array of EJB reference descriptors
297      */

298     public EjbRefDesc[] getEjbRefDesc() {
299         EjbRefDesc[] ret = new EjbRefDesc[ejbRefs.size()];
300         ejbRefs.copyInto(ret);
301         return ret;
302     }
303
304     /**
305      * Get ejb local references.
306      * @return array of ejb local reference descriptors
307      */

308     public EjbLocalRefDesc[] getEjbLocalRefDesc() {
309         EjbLocalRefDesc[] ret = new EjbLocalRefDesc[ejbLocalRefs.size()];
310         ejbLocalRefs.copyInto(ret);
311         return ret;
312     }
313
314
315
316     /**
317      * Get service references.
318      * @return array of service references descriptors
319      */

320 // public ServiceRefDesc[] getServiceRefDesc() {
321
// ServiceRefDesc[] ret = new ServiceRefDesc[serviceRefs.size()];
322
// serviceRefs.copyInto(ret);
323
// return ret;
324
// }
325
}
326
Popular Tags