djencks     2004/02/11 00:02:21

  Modified:    
modules/connector/src/java/org/apache/geronimo/connector/deployment/dconfigbean
                        AdminObjectInstanceDConfigBean.java
                        ConnectionDefinitionInstanceDConfigBean.java
                        ResourceAdapterDConfigBean.java
                        ResourceAdapterDConfigRoot.java
               modules/deployment/src/java/org/apache/geronimo/deployment/tools
                        DDBeanImpl.java DDBeanRootImpl.java
               modules/deployment/src/test/org/apache/geronimo/deployment/tools
                        DDBeanRootTest.java
               modules/jetty/src/java/org/apache/geronimo/jetty/deployment
                        WebAppDConfigRoot.java
               modules/jetty/src/test/org/apache/geronimo/jetty/deployment
                        WARConfigurationFactoryTest.java
  Log:
  fix DDBeans so they return the xpath that was used to find them, from the 
DConfigBean
  
  Revision  Changes    Path
  1.3       +2 -2      
incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/dconfigbean/AdminObjectInstanceDConfigBean.java
  
  Index: AdminObjectInstanceDConfigBean.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/dconfigbean/AdminObjectInstanceDConfigBean.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- AdminObjectInstanceDConfigBean.java       10 Feb 2004 08:04:21 -0000      
1.2
  +++ AdminObjectInstanceDConfigBean.java       11 Feb 2004 08:02:20 -0000      
1.3
  @@ -123,7 +123,7 @@
   
       public DConfigBean getDConfigBean(DDBean bean) throws 
ConfigurationException {
           String xpath = bean.getXpath();
  -        if (xpath.endsWith("/config-property")) {
  +        if (xpath.equals(ADMIN_OBJECT_INSTANCE_XPATHS[0])) {
               String configPropertyName = 
bean.getText("config-property-name")[0];
               ConfigPropertySettingDConfigBean configPropertySetting = 
(ConfigPropertySettingDConfigBean) configPropertiesMap.get(configPropertyName);
               assert configPropertySetting != null;
  
  
  
  1.3       +2 -2      
incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/dconfigbean/ConnectionDefinitionInstanceDConfigBean.java
  
  Index: ConnectionDefinitionInstanceDConfigBean.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/dconfigbean/ConnectionDefinitionInstanceDConfigBean.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ConnectionDefinitionInstanceDConfigBean.java      10 Feb 2004 19:59:14 
-0000      1.2
  +++ ConnectionDefinitionInstanceDConfigBean.java      11 Feb 2004 08:02:20 
-0000      1.3
  @@ -205,7 +205,7 @@
   
       public DConfigBean getDConfigBean(DDBean bean) throws 
ConfigurationException {
           String xpath = bean.getXpath();
  -        if (xpath.endsWith("/config-property")) {
  +        if (xpath.equals(CONNECTION_DEFINITION_INSTANCE_XPATHS[0])) {
               String configPropertyName = 
bean.getText("config-property-name")[0];
               ConfigPropertySettingDConfigBean configPropertySetting = 
(ConfigPropertySettingDConfigBean) configPropertiesMap.get(configPropertyName);
               assert configPropertySetting != null;
  
  
  
  1.3       +4 -4      
incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/dconfigbean/ResourceAdapterDConfigBean.java
  
  Index: ResourceAdapterDConfigBean.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/dconfigbean/ResourceAdapterDConfigBean.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ResourceAdapterDConfigBean.java   10 Feb 2004 08:04:21 -0000      1.2
  +++ ResourceAdapterDConfigBean.java   11 Feb 2004 08:02:20 -0000      1.3
  @@ -177,21 +177,21 @@
   
       public DConfigBean getDConfigBean(DDBean bean) throws 
ConfigurationException {
           String xpath = bean.getXpath();
  -        if (xpath.endsWith("/" + RESOURCE_ADAPTER_XPATHS[0])) {
  +        if (xpath.equals(RESOURCE_ADAPTER_XPATHS[0])) {
               //resource adapter config property
               String configPropertyName = 
bean.getText("config-property-name")[0];
               ConfigPropertySettingDConfigBean configPropertySetting = 
(ConfigPropertySettingDConfigBean) configPropertiesMap.get(configPropertyName);
               assert configPropertySetting != null;
               return configPropertySetting;
           }
  -        if (xpath.endsWith("/" + RESOURCE_ADAPTER_XPATHS[1])) {
  +        if (xpath.equals(RESOURCE_ADAPTER_XPATHS[1])) {
               //connection definition
               String connectionFactoryInterface = 
bean.getText("connectionfactory-interface")[0];
               ConnectionDefinitionDConfigBean connectionDefinition = 
(ConnectionDefinitionDConfigBean) 
connectionDefinitionsMap.get(connectionFactoryInterface);
               assert connectionDefinition != null;
               return connectionDefinition;
           }
  -        if (xpath.endsWith("/" + RESOURCE_ADAPTER_XPATHS[2])) {
  +        if (xpath.equals(RESOURCE_ADAPTER_XPATHS[2])) {
               //admin objects
               String adminObjectInterface = 
bean.getText("adminobject-interface")[0];
               String adminObjectClass = bean.getText("adminobject-class")[0];
  
  
  
  1.3       +2 -3      
incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/dconfigbean/ResourceAdapterDConfigRoot.java
  
  Index: ResourceAdapterDConfigRoot.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-geronimo/modules/connector/src/java/org/apache/geronimo/connector/deployment/dconfigbean/ResourceAdapterDConfigRoot.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ResourceAdapterDConfigRoot.java   10 Feb 2004 08:04:21 -0000      1.2
  +++ ResourceAdapterDConfigRoot.java   11 Feb 2004 08:02:20 -0000      1.3
  @@ -105,9 +105,8 @@
           return XPATHS;
       }
   
  -    //TODO should the xpath start with /??
       public DConfigBean getDConfigBean(DDBean bean) throws 
ConfigurationException {
  -        if (("/" + XPATHS[0]).equals(bean.getXpath())) {
  +        if (XPATHS[0].equals(bean.getXpath())) {
               return resourceAdapterDConfigBean;
           }
           return null;
  
  
  
  1.3       +29 -3     
incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/tools/DDBeanImpl.java
  
  Index: DDBeanImpl.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/tools/DDBeanImpl.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DDBeanImpl.java   23 Jan 2004 19:58:17 -0000      1.2
  +++ DDBeanImpl.java   11 Feb 2004 08:02:21 -0000      1.3
  @@ -60,6 +60,7 @@
   import java.util.Iterator;
   import java.util.List;
   import java.util.Map;
  +
   import javax.enterprise.deploy.model.DDBean;
   import javax.enterprise.deploy.model.DDBeanRoot;
   import javax.enterprise.deploy.model.XpathListener;
  @@ -99,6 +100,13 @@
           }
       }
   
  +    DDBeanImpl(DDBeanImpl source, String xpath) {
  +        this.xpath = xpath;
  +        this.root = source.root;
  +        this.children = source.children;
  +        this.element = source.element;
  +    }
  +
       public DDBeanRoot getRoot() {
           return root;
       }
  @@ -146,7 +154,11 @@
               if (beans == null) {
                   return null;
               }
  -            return (DDBean[]) beans.toArray(new DDBean[beans.size()]);
  +            DDBean[] newDDBeans = (DDBean[]) beans.toArray(new 
DDBean[beans.size()]);
  +            for (int i = 0; i < newDDBeans.length; i++) {
  +                newDDBeans[i] = new DDBeanImpl((DDBeanImpl) newDDBeans[i], 
xpath);
  +            }
  +            return newDDBeans;
           } else {
               List childBeans = (List) children.get(xpath.substring(0, index));
               if (childBeans == null) {
  @@ -159,7 +171,7 @@
                   DDBean[] childs = bean.getChildBean(path);
                   if (childs != null) {
                       for (int j = 0; j < childs.length; j++) {
  -                        beans.add(childs[j]);
  +                        beans.add(new DDBeanImpl((DDBeanImpl) childs[j], 
xpath));
                       }
                   }
               }
  @@ -181,5 +193,19 @@
       }
   
       public void removeXpathListener(String xpath, XpathListener xpl) {
  +    }
  +
  +    public boolean equals(Object other) {
  +        if (other.getClass() != DDBeanImpl.class) {
  +            return false;
  +        }
  +        DDBeanImpl otherdd = (DDBeanImpl)other;
  +        return xpath.equals(otherdd.xpath)
  +        && element.equals(otherdd.element)
  +        && root.equals(otherdd.root);
  +    }
  +
  +    public int hashCode() {
  +        return xpath.hashCode() ^ element.hashCode() ^ root.hashCode();
       }
   }
  
  
  
  1.2       +9 -5      
incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/tools/DDBeanRootImpl.java
  
  Index: DDBeanRootImpl.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-geronimo/modules/deployment/src/java/org/apache/geronimo/deployment/tools/DDBeanRootImpl.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DDBeanRootImpl.java       21 Jan 2004 20:37:29 -0000      1.1
  +++ DDBeanRootImpl.java       11 Feb 2004 08:02:21 -0000      1.2
  @@ -71,8 +71,8 @@
   import org.w3c.dom.Document;
   
   /**
  - * 
  - * 
  + *
  + *
    * @version $Revision$ $Date$
    */
   public class DDBeanRootImpl implements DDBeanRoot {
  @@ -158,9 +158,13 @@
           String childName = (index == -1) ? xpath : xpath.substring(0, index);
           if (childName.equals(doc.getDocumentElement().getNodeName())) {
               if (index == -1) {
  -                return new DDBean[] {docBean };
  +                return new DDBean[] {new DDBeanImpl((DDBeanImpl)docBean, 
xpath)};
               } else {
  -                return docBean.getChildBean(xpath.substring(index+1));
  +                DDBean[] newDDBeans = 
docBean.getChildBean(xpath.substring(index+1));
  +                for (int i = 0; i < newDDBeans.length; i++) {
  +                    newDDBeans[i] = new 
DDBeanImpl((DDBeanImpl)newDDBeans[i], xpath);
  +                }
  +                return newDDBeans;
               }
           } else {
               return null;
  
  
  
  1.2       +4 -4      
incubator-geronimo/modules/deployment/src/test/org/apache/geronimo/deployment/tools/DDBeanRootTest.java
  
  Index: DDBeanRootTest.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-geronimo/modules/deployment/src/test/org/apache/geronimo/deployment/tools/DDBeanRootTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DDBeanRootTest.java       21 Jan 2004 20:37:28 -0000      1.1
  +++ DDBeanRootTest.java       11 Feb 2004 08:02:21 -0000      1.2
  @@ -69,8 +69,8 @@
   import junit.framework.TestCase;
   
   /**
  - * 
  - * 
  + *
  + *
    * @version $Revision$ $Date$
    */
   public class DDBeanRootTest extends TestCase {
  @@ -93,7 +93,7 @@
   
           DDBean description = 
root.getChildBean("application-client/description")[0];
           assertEquals("Test DD for app-client1", description.getText());
  -        assertEquals("/application-client/description", 
description.getXpath());
  +        assertEquals("application-client/description", 
description.getXpath());
           assertEquals(description, 
description.getChildBean("/application-client/description")[0]);
       }
   
  
  
  
  1.5       +3 -3      
incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/WebAppDConfigRoot.java
  
  Index: WebAppDConfigRoot.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-geronimo/modules/jetty/src/java/org/apache/geronimo/jetty/deployment/WebAppDConfigRoot.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- WebAppDConfigRoot.java    9 Feb 2004 23:11:04 -0000       1.4
  +++ WebAppDConfigRoot.java    11 Feb 2004 08:02:21 -0000      1.5
  @@ -91,7 +91,7 @@
   
       private void replaceWebAppDConfigBean(JettyWebAppType webApp) {
           DDBean ddBean = getDDBean();
  -        webAppBean = new 
WebAppDConfigBean(ddBean.getChildBean("/web-app")[0], webApp);
  +        webAppBean = new 
WebAppDConfigBean(ddBean.getChildBean(XPATHS[0])[0], webApp);
       }
   
       JettyWebAppDocument getWebAppDocument() {
  @@ -103,7 +103,7 @@
       }
   
       public DConfigBean getDConfigBean(DDBean bean) throws 
ConfigurationException {
  -        if ("/web-app".equals(bean.getXpath())) {
  +        if (XPATHS[0].equals(bean.getXpath())) {
               return webAppBean;
           }
           return null;
  
  
  
  1.9       +5 -6      
incubator-geronimo/modules/jetty/src/test/org/apache/geronimo/jetty/deployment/WARConfigurationFactoryTest.java
  
  Index: WARConfigurationFactoryTest.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-geronimo/modules/jetty/src/test/org/apache/geronimo/jetty/deployment/WARConfigurationFactoryTest.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- WARConfigurationFactoryTest.java  9 Feb 2004 00:01:20 -0000       1.8
  +++ WARConfigurationFactoryTest.java  11 Feb 2004 08:02:21 -0000      1.9
  @@ -59,7 +59,6 @@
   import java.io.ByteArrayOutputStream;
   
   import javax.enterprise.deploy.spi.DConfigBeanRoot;
  -import javax.enterprise.deploy.spi.DeploymentConfiguration;
   
   import org.apache.geronimo.deployment.tools.loader.WebDeployable;
   import 
org.apache.geronimo.xbeans.geronimo.deployment.jetty.JettyContextRootType;
  @@ -94,7 +93,7 @@
           WebDeployable deployable = new 
WebDeployable(classLoader.getResource("deployables/war1/"));
           WARConfiguration config = new WARConfiguration(deployable);
           DConfigBeanRoot configRoot = 
config.getDConfigBeanRoot(deployable.getDDBeanRoot());
  -        WebAppDConfigBean contextBean = (WebAppDConfigBean) 
configRoot.getDConfigBean(deployable.getChildBean("/web-app")[0]);
  +        WebAppDConfigBean contextBean = (WebAppDConfigBean) 
configRoot.getDConfigBean(deployable.getChildBean(configRoot.getXpaths()[0])[0]);
           contextBean.setContextRoot("/test");
           contextBean.setContextPriorityClassLoader(false);
   
  @@ -114,7 +113,7 @@
           WebDeployable deployable = new 
WebDeployable(classLoader.getResource("deployables/war1/"));
           WARConfiguration config = new WARConfiguration(deployable);
           DConfigBeanRoot configRoot = 
config.getDConfigBeanRoot(deployable.getDDBeanRoot());
  -        WebAppDConfigBean contextBean = (WebAppDConfigBean) 
configRoot.getDConfigBean(deployable.getChildBean("/web-app")[0]);
  +        WebAppDConfigBean contextBean = (WebAppDConfigBean) 
configRoot.getDConfigBean(deployable.getChildBean(configRoot.getXpaths()[0])[0]);
           contextBean.setContextRoot("/test");
           contextBean.setContextPriorityClassLoader(true);
           checkContents(((WebAppDConfigRoot)configRoot).getWebAppDocument());
  @@ -127,7 +126,7 @@
   
           config = new WARConfiguration(deployable);
           configRoot = config.getDConfigBeanRoot(deployable.getDDBeanRoot());
  -        contextBean = (WebAppDConfigBean) 
configRoot.getDConfigBean(deployable.getChildBean("/web-app")[0]);
  +        contextBean = (WebAppDConfigBean) 
configRoot.getDConfigBean(deployable.getChildBean(configRoot.getXpaths()[0])[0]);
   
           assertEquals("", contextBean.getContextRoot());
   
  @@ -136,7 +135,7 @@
           checkContents(((WebAppDConfigRoot)configRoot).getWebAppDocument());
   
   
  -        contextBean = (WebAppDConfigBean) 
configRoot.getDConfigBean(deployable.getChildBean("/web-app")[0]);
  +        contextBean = (WebAppDConfigBean) 
configRoot.getDConfigBean(deployable.getChildBean(configRoot.getXpaths()[0])[0]);
           assertEquals("/test", contextBean.getContextRoot());
           assertEquals(true, contextBean.getContextPriorityClassLoader());
       }
  
  
  

Reply via email to