KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > geronimo > web > deployment > WebAppDConfigBean


1 /**
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements. See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License. You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */

17
18 package org.apache.geronimo.web.deployment;
19
20 import javax.enterprise.deploy.model.DDBean JavaDoc;
21 import javax.enterprise.deploy.spi.DConfigBean JavaDoc;
22 import javax.enterprise.deploy.spi.exceptions.BeanNotFoundException JavaDoc;
23 import javax.enterprise.deploy.spi.exceptions.ConfigurationException JavaDoc;
24
25 import org.apache.geronimo.deployment.plugin.DConfigBeanSupport;
26 import org.apache.geronimo.naming.deployment.ENCHelper;
27 import org.apache.geronimo.xbeans.geronimo.web.GerWebAppType;
28 import org.apache.xmlbeans.SchemaTypeLoader;
29
30 /**
31  * @version $Rev: 476049 $ $Date: 2006-11-16 23:35:17 -0500 (Thu, 16 Nov 2006) $
32  */

33 public class WebAppDConfigBean extends DConfigBeanSupport {
34     private final ENCHelper encHelper;
35
36     WebAppDConfigBean(DDBean JavaDoc ddBean, GerWebAppType webApp) {
37         super(ddBean, webApp);
38
39         ENCHelper.XmlEnvRefs envRefs = new ENCHelper.XmlEnvRefs(webApp.getEjbRefArray(), webApp.getEjbLocalRefArray(), webApp.getResourceRefArray(), webApp.getResourceEnvRefArray());
40
41         //which version are we dealing with?
42
String JavaDoc version = ddBean.getRoot().getAttributeValue("version");
43         if ("2.4".equals(version)) {
44             encHelper = new ENCHelper(ddBean, envRefs, getXPathsForJ2ee_1_4(ENCHelper.ENC_XPATHS), getXPathsForJ2ee_1_4(ENCHelper.NAME_XPATHS));
45         } else {
46             encHelper = new ENCHelper(ddBean, envRefs, getXPathsWithPrefix(null, ENCHelper.ENC_XPATHS), getXPathsWithPrefix(null, ENCHelper.NAME_XPATHS));
47         }
48
49     }
50
51     GerWebAppType getWebApp() {
52         return (GerWebAppType) getXmlObject();
53     }
54
55     public String JavaDoc getContextRoot() {
56         return getWebApp().getContextRoot();
57     }
58
59     public void setContextRoot(String JavaDoc contextRoot) {
60         pcs.firePropertyChange("contextRoot", getContextRoot(), contextRoot);
61         getWebApp().setContextRoot(contextRoot);
62     }
63
64     public DConfigBean JavaDoc getDConfigBean(DDBean JavaDoc ddBean) throws ConfigurationException JavaDoc {
65         return encHelper.getDConfigBean(ddBean);
66     }
67
68     public void removeDConfigBean(DConfigBean JavaDoc dcBean) throws BeanNotFoundException JavaDoc {
69         encHelper.removeDConfigBean(dcBean);
70     }
71
72     public String JavaDoc[] getXpaths() {
73         return getXPathsForJ2ee_1_4(ENCHelper.ENC_XPATHS);
74     }
75
76     protected SchemaTypeLoader getSchemaTypeLoader() {
77         return WebAppDConfigRoot.SCHEMA_TYPE_LOADER;
78     }
79
80 }
81
Popular Tags