[jboss-cvs] JBossAS SVN: r58163 - in trunk/server/src/main/org/jboss/metadata: . web

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Nov 6 16:30:16 EST 2006


Author: scott.stark at jboss.org
Date: 2006-11-06 16:30:14 -0500 (Mon, 06 Nov 2006)
New Revision: 58163

Modified:
   trunk/server/src/main/org/jboss/metadata/WebMetaData.java
   trunk/server/src/main/org/jboss/metadata/web/JBossWebMetaDataObjectFactory.java
Log:
Start updating pre-existing objects created by the web.xml parse

Modified: trunk/server/src/main/org/jboss/metadata/WebMetaData.java
===================================================================
--- trunk/server/src/main/org/jboss/metadata/WebMetaData.java	2006-11-06 20:32:00 UTC (rev 58162)
+++ trunk/server/src/main/org/jboss/metadata/WebMetaData.java	2006-11-06 21:30:14 UTC (rev 58163)
@@ -44,6 +44,8 @@
 import org.jboss.metadata.web.Servlet;
 import org.jboss.metadata.web.ServletMapping;
 import org.jboss.metadata.web.SessionConfig;
+import org.jboss.metamodel.descriptor.ResourceEnvRef;
+import org.jboss.metamodel.descriptor.ResourceRef;
 import org.jboss.mx.loading.LoaderRepositoryFactory;
 import org.jboss.mx.loading.LoaderRepositoryFactory.LoaderRepositoryConfig;
 import org.jboss.mx.util.ObjectNameFactory;
@@ -431,10 +433,38 @@
    {
       this.resourceEnvReferences.put(ref.getRefName(), ref);
    }
+   public void updateResourceEnvRef(ResourceEnvRefMetaData updatedRef)
+   {
+      ResourceEnvRefMetaData ref = (ResourceEnvRefMetaData)resourceEnvReferences.get(updatedRef.getRefName());
+      if (ref != null)
+      {
+         ref.setJndiName(updatedRef.getJndiName());
+      }
+      else
+      {
+         this.addResourceEnvRef(updatedRef);
+      }
+   }
+
    public void addResourceRef(ResourceRefMetaData ref)
    {
       this.resourceReferences.put(ref.getRefName(), ref);
    }
+   public void updateResourceRef(ResourceRefMetaData updatedRef)
+   {
+      ResourceRefMetaData ref = (ResourceRefMetaData)resourceReferences.get(updatedRef.getRefName());
+      if (ref != null)
+      {
+         ref.setJndiName(updatedRef.getJndiName());
+         ref.setResURL(updatedRef.getResURL());
+         ref.setResourceName(updatedRef.getResourceName());
+      }
+      else
+      {
+         this.addResourceRef(updatedRef);
+      }
+   }
+
    public void addDependency(String depends)
    {
       dependencies.add(depends);

Modified: trunk/server/src/main/org/jboss/metadata/web/JBossWebMetaDataObjectFactory.java
===================================================================
--- trunk/server/src/main/org/jboss/metadata/web/JBossWebMetaDataObjectFactory.java	2006-11-06 20:32:00 UTC (rev 58162)
+++ trunk/server/src/main/org/jboss/metadata/web/JBossWebMetaDataObjectFactory.java	2006-11-06 21:30:14 UTC (rev 58163)
@@ -184,13 +184,15 @@
    public void addChild(WebMetaData parent, ResourceEnvRefMetaData ref,
                         UnmarshallingContext navigator, String namespaceURI, String localName)
    {
-      parent.addResourceEnvRef(ref);
+      // Need to merge this with any existing version
+      parent.updateResourceEnvRef(ref);
    }
 
    public void addChild(WebMetaData parent, ResourceRefMetaData ref,
                         UnmarshallingContext navigator, String namespaceURI, String localName)
    {
-      parent.addResourceRef(ref);
+      // Need to merge this with any existing version
+      parent.updateResourceRef(ref);
    }
 
    public void addChild(WebMetaData parent, SecurityRoleMetaData role,




More information about the jboss-cvs-commits mailing list