You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2010/06/24 20:06:33 UTC

svn commit: r957655 [7/15] - in /geronimo/server/trunk: ./ framework/configs/geronimo-gbean-deployer-bootstrap/src/main/history/ framework/configs/geronimo-gbean-deployer/src/main/history/ framework/configs/jsr88-cli/src/main/history/ framework/configs...

Modified: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/MergeHelper.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/MergeHelper.java?rev=957655&r1=957654&r2=957655&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/MergeHelper.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/MergeHelper.java Thu Jun 24 18:06:24 2010
@@ -82,13 +82,11 @@ import org.apache.geronimo.web25.deploym
 import org.apache.geronimo.web25.deployment.merge.webfragment.WebFragmentMergeHandler;
 import org.apache.geronimo.web25.deployment.merge.webfragment.WelcomeFileListMergeHandler;
 import org.apache.geronimo.web25.deployment.utils.WebDeploymentMessageUtils;
-import org.apache.geronimo.xbeans.javaee6.AbsoluteOrderingType;
-import org.apache.geronimo.xbeans.javaee6.JavaIdentifierType;
-import org.apache.geronimo.xbeans.javaee6.OrderingOrderingType;
-import org.apache.geronimo.xbeans.javaee6.OrderingType;
-import org.apache.geronimo.xbeans.javaee6.WebAppType;
-import org.apache.geronimo.xbeans.javaee6.WebFragmentDocument;
-import org.apache.geronimo.xbeans.javaee6.WebFragmentType;
+import org.apache.openejb.jee.AbsoluteOrdering;
+import org.apache.openejb.jee.OrderingOrdering;
+import org.apache.openejb.jee.Ordering;
+import org.apache.openejb.jee.WebApp;
+import org.apache.openejb.jee.WebFragment;
 import org.apache.xbean.finder.BundleAnnotationFinder;
 import org.apache.xbean.finder.BundleAssignableClassFinder;
 import org.apache.xbean.osgi.bundle.util.BundleClassFinder;
@@ -136,69 +134,52 @@ public class MergeHelper {
      *       2.2 No, Construct the EXCLUDED_JAR_URLS, which is required by many other components,
      *          even the Servlet Container for dynamic ServletRegistration/FilterRegistration
      */
-    public static WebFragmentEntry[] absoluteOrderWebFragments(EARContext earContext, Module module, Bundle bundle, WebAppType webApp, Map<String, WebFragmentEntry> webFragmentEntryMap)
+    public static WebFragmentEntry[] absoluteOrderWebFragments(EARContext earContext, Module module, Bundle bundle, WebApp webApp, Map<String, WebFragmentEntry> webFragmentEntryMap)
             throws DeploymentException {
-        AbsoluteOrderingType absoluteOrdering = webApp.getAbsoluteOrderingArray()[0];
+        AbsoluteOrdering absoluteOrdering = webApp.getAbsoluteOrdering();
         Set<String> expliciteConfiguredWebFragmentNames = new LinkedHashSet<String>();
         List<WebFragmentEntry> orderedWebFragments = new LinkedList<WebFragmentEntry>();
-        boolean othersConfigured = absoluteOrdering.getOthersArray().length != 0;
-        if (othersConfigured) {
-            /*
-             * If the <others/> element appears directly within the <absolute-
-                    ordering> element, the runtime must ensure that any web-fragments not
-                    explicitly named in the <absolute-ordering> section are included at that
-                    point in the processing order.
-             *  Seems that in xmlbeans, there is no way to know the initial order of the elements
-             *  So using native operation of Node to iterator all the sub elements of absolute-ording
-             */
-            NodeList absoluteOrderingChildren = absoluteOrdering.getDomNode().getChildNodes();
-            int iOthersIndex = -1;
-            for (int i = 0; i < absoluteOrderingChildren.getLength(); i++) {
-                Node node = absoluteOrderingChildren.item(i);
-                if (node.getNodeType() == Node.ELEMENT_NODE) {
-                    if (node.getNodeName().equals("name")) {
-                        String webFragmentName = node.getChildNodes().item(0).getNodeValue();
-                        if (webFragmentEntryMap.containsKey(webFragmentName) && !expliciteConfiguredWebFragmentNames.contains(webFragmentName)) {
-                            expliciteConfiguredWebFragmentNames.add(webFragmentName);
-                            orderedWebFragments.add(webFragmentEntryMap.get(webFragmentName));
-                        }
-                    } else if (node.getNodeName().equals("others")) {
-                        iOthersIndex = expliciteConfiguredWebFragmentNames.size();
-                    }
-                }
-            }
-            //Process left named web-fragment.xml files
-            for (String webFragmentName : webFragmentEntryMap.keySet()) {
-                if (!expliciteConfiguredWebFragmentNames.contains(webFragmentName)) {
-                    orderedWebFragments.add(iOthersIndex++, webFragmentEntryMap.get(webFragmentName));
-                }
-            }
-        } else {
-            for (JavaIdentifierType javaIdentifier : absoluteOrdering.getNameArray()) {
-                String webFragmentName = javaIdentifier.getStringValue();
-                // Only process the web-fragment.xml when it is present and it is not processed before
-                if (webFragmentEntryMap.containsKey(webFragmentName) && !expliciteConfiguredWebFragmentNames.contains(webFragmentName)) {
-                    expliciteConfiguredWebFragmentNames.add(webFragmentName);
-                    orderedWebFragments.add(webFragmentEntryMap.get(webFragmentName));
-                }
-            }
-            // EXCLUDED_JAR_URLS is required for TLD scanning, ServletContainerInitializer scanning and ServletContextListeners.
-            // So does it mean that we always need to scan web-fragment.xml whatever meta-complete is set with true or false.
-            Set<String> excludedURLs = AbstractWebModuleBuilder.EXCLUDED_JAR_URLS.get(earContext.getGeneralData());
-            //Add left named web-fragment.xml file URLs to the EXCLUDED_JAR_URLS List
-            for (String foundedWebFragementName : webFragmentEntryMap.keySet()) {
-                if (!expliciteConfiguredWebFragmentNames.contains(foundedWebFragementName)) {
-                    excludedURLs.add(webFragmentEntryMap.get(foundedWebFragementName).getJarURL());
-                }
+
+        Map<String, WebFragmentEntry> unusedWebFragmentEntryMap = new LinkedHashMap<String, WebFragmentEntry>(webFragmentEntryMap);
+        for (Object o: absoluteOrdering.getNameOrOthers()) {
+            if (o instanceof String) {
+                //web fragment name
+                String webFragmentName = (String) o;
+                unusedWebFragmentEntryMap.remove(webFragmentName);
+            }
+        }
+        for (Object o: absoluteOrdering.getNameOrOthers()) {
+            if (o instanceof String) {
+                //web fragment name
+                String webFragmentName = (String) o;
+                 // Only process the web-fragment.xml when it is present and it is not processed before
+                 if (webFragmentEntryMap.containsKey(webFragmentName) && !expliciteConfiguredWebFragmentNames.contains(webFragmentName)) {
+                     expliciteConfiguredWebFragmentNames.add(webFragmentName);
+                     orderedWebFragments.add(webFragmentEntryMap.get(webFragmentName));
+                 }
+            } else {
+                //"other""
+                expliciteConfiguredWebFragmentNames.addAll(unusedWebFragmentEntryMap.keySet());
+                orderedWebFragments.addAll(unusedWebFragmentEntryMap.values());
+                unusedWebFragmentEntryMap.clear();
             }
+
+        }
+        // EXCLUDED_JAR_URLS is required for TLD scanning, ServletContainerInitializer scanning and ServletContextListeners.
+        // So does it mean that we always need to scan web-fragment.xml whatever meta-complete is set with true or false.
+        Set<String> excludedURLs = AbstractWebModuleBuilder.EXCLUDED_JAR_URLS.get(earContext.getGeneralData());
+        //Add left named web-fragment.xml file URLs to the EXCLUDED_JAR_URLS List
+        for (WebFragmentEntry excludedFragment : unusedWebFragmentEntryMap.values()) {
+                excludedURLs.add(excludedFragment.getJarURL());
         }
+
         WebFragmentEntry[] webFragmentEntries = orderedWebFragments.toArray(new WebFragmentEntry[0]);
         saveOrderedLibAttribute(earContext, webFragmentEntries);
         return webFragmentEntries;
     }
 
     @SuppressWarnings("unchecked")
-    public static void mergeAnnotations(Bundle bundle, WebAppType webApp, MergeContext mergeContext, final String prefix) throws DeploymentException {
+    public static void mergeAnnotations(Bundle bundle, WebApp webApp, MergeContext mergeContext, final String prefix) throws DeploymentException {
         final boolean isJarFile = prefix.endsWith(".jar");
         try {
             BundleAnnotationFinder bundleAnnotationFinder = new BundleAnnotationFinder(null, bundle, new ResourceDiscoveryFilter() {
@@ -344,8 +325,8 @@ public class MergeHelper {
         }
     }
 
-    public static void processWebFragmentsAndAnnotations(EARContext earContext, Module module, Bundle bundle, WebAppType webApp) throws DeploymentException {
-        final Map<String, WebFragmentDocument> jarUrlWebFragmentDocumentMap = new LinkedHashMap<String, WebFragmentDocument>();
+    public static void processWebFragmentsAndAnnotations(EARContext earContext, Module module, Bundle bundle, WebApp webApp) throws DeploymentException {
+        final Map<String, WebFragment> jarUrlWebFragmentDocumentMap = new LinkedHashMap<String, WebFragment>();
         //TODO Double check the name prefix once we have ear support
         final String validJarNamePrefix = module.isStandAlone() ? "WEB-INF/lib" : module.getTargetPath() + "/WEB-INF/lib";
         WebFragmentEntry[] webFragmentEntries = null;
@@ -356,14 +337,14 @@ public class MergeHelper {
                 if (!url.endsWith(".jar")) {
                     continue;
                 }
-                WebFragmentDocument webFragmentDocument = null;
+                WebFragment webFragment = null;
                 ZipInputStream in = null;
                 try {
                     in = new ZipInputStream(bundle.getEntry(url).openStream());
                     ZipEntry entry;
                     while ((entry = in.getNextEntry()) != null) {
                         if (entry.getName().equals("META-INF/web-fragment.xml")) {
-                            webFragmentDocument = (WebFragmentDocument) XmlBeansUtil.parse(in);
+                            webFragment = (WebFragment) XmlBeansUtil.parse(in);
                             break;
                         }
                     }
@@ -376,11 +357,10 @@ public class MergeHelper {
                 } finally {
                     IOUtils.close(in);
                 }
-                if (webFragmentDocument == null) {
-                    webFragmentDocument = WebFragmentDocument.Factory.newInstance();
-                    webFragmentDocument.setWebFragment(WebFragmentType.Factory.newInstance());
+                if (webFragment == null) {
+                    webFragment = new WebFragment();
                 }
-                jarUrlWebFragmentDocumentMap.put(url, webFragmentDocument);
+                jarUrlWebFragmentDocumentMap.put(url, webFragment);
             }
             webFragmentEntries = sortWebFragments(earContext, module, bundle, webApp, jarUrlWebFragmentDocumentMap);
         } else {
@@ -396,22 +376,22 @@ public class MergeHelper {
         WEB_LISTENER_ANNOTATION_MERGE_HANDLER.preProcessWebXmlElement(webApp, mergeContext);
         SERVLET_SECURITY_ANNOTATION_MERGE_HANDLER.preProcessWebXmlElement(webApp, mergeContext);
         //Pre-process each web fragment
-        for (WebFragmentMergeHandler<WebFragmentType, WebAppType> webFragmentMergeHandler : WEB_FRAGMENT_MERGE_HANDLERS) {
+        for (WebFragmentMergeHandler<WebFragment, WebApp> webFragmentMergeHandler : WEB_FRAGMENT_MERGE_HANDLERS) {
             webFragmentMergeHandler.preProcessWebXmlElement(webApp, mergeContext);
         }
         //Merge the web fragment and annotations to web.xml
         for (WebFragmentEntry webFragmentEntry : webFragmentEntries) {
             mergeContext.setWebFragmentEntry(webFragmentEntry);
-            WebFragmentType webFragment = webFragmentEntry.getWebFragment();
-            for (WebFragmentMergeHandler<WebFragmentType, WebAppType> webFragmentMergeHandler : WEB_FRAGMENT_MERGE_HANDLERS) {
+            WebFragment webFragment = webFragmentEntry.getWebFragment();
+            for (WebFragmentMergeHandler<WebFragment, WebApp> webFragmentMergeHandler : WEB_FRAGMENT_MERGE_HANDLERS) {
                 webFragmentMergeHandler.merge(webFragment, webApp, mergeContext);
             }
-            if (!webFragment.getMetadataComplete()) {
+            if (!webFragment.isMetadataComplete()) {
                 mergeAnnotations(bundle, webApp, mergeContext, webFragmentEntry.getJarURL());
             }
         }
         mergeContext.setWebFragmentEntry(null);
-        for (WebFragmentMergeHandler<WebFragmentType, WebAppType> webFragmentMergeHandler : WEB_FRAGMENT_MERGE_HANDLERS) {
+        for (WebFragmentMergeHandler<WebFragment, WebApp> webFragmentMergeHandler : WEB_FRAGMENT_MERGE_HANDLERS) {
             webFragmentMergeHandler.postProcessWebXmlElement(webApp, mergeContext);
         }
         //Merge the annotations found in WEB-INF/classes folder
@@ -424,7 +404,7 @@ public class MergeHelper {
         mergeContext.clearup();
     }
 
-    public static WebFragmentEntry[] relativeOrderWebFragments(EARContext earContext, Module module, Bundle bundle, WebAppType webApp, Map<String, WebFragmentEntry> webFragmentEntryMap)
+    public static WebFragmentEntry[] relativeOrderWebFragments(EARContext earContext, Module module, Bundle bundle, WebApp webApp, Map<String, WebFragmentEntry> webFragmentEntryMap)
             throws DeploymentException {
         Map<String, WebFragmentOrderEntry> webFragmentOrderEntryMap = new LinkedHashMap<String, WebFragmentOrderEntry>();
         //Step 1 : Create WebFragmentOrderEntry for sorting web fragments easily
@@ -432,20 +412,20 @@ public class MergeHelper {
         for (String webFragmentName : webFragmentEntryMap.keySet()) {
             WebFragmentEntry webFragmentEntry = webFragmentEntryMap.get(webFragmentName);
             if (!relativeSortRequired) {
-                relativeSortRequired = webFragmentEntry.getWebFragment().getOrderingArray().length > 0;
+                relativeSortRequired = webFragmentEntry.getWebFragment().getOrdering() != null;
             }
             webFragmentOrderEntryMap.put(webFragmentName, WebFragmentOrderEntry.create(webFragmentEntry));
         }
         //If none of the web-fragment.xml defines the order element, the order of jar files are unknown
         if (!relativeSortRequired) {
-            WebFragmentEntry[] webFragmentTypes = new WebFragmentEntry[webFragmentOrderEntryMap.size()];
+            WebFragmentEntry[] WebFragments = new WebFragmentEntry[webFragmentOrderEntryMap.size()];
             int iIndex = 0;
             for (WebFragmentOrderEntry webFragmentOrderEntry : webFragmentOrderEntryMap.values()) {
-                webFragmentTypes[iIndex++] = webFragmentOrderEntry.webFragmentEntry;
+                WebFragments[iIndex++] = webFragmentOrderEntry.webFragmentEntry;
             }
             //TODO really not save?
-            //            saveOrderedLibAttribute(earContext, webFragmentTypes);
-            return webFragmentTypes;
+            //            saveOrderedLibAttribute(earContext, WebFragments);
+            return WebFragments;
         }
         LinkedList<WebFragmentOrderEntry> webFragmentOrderEntryList = null;
         if (relativeSortRequired) {
@@ -477,25 +457,24 @@ public class MergeHelper {
                 }
             }
         }
-        WebFragmentEntry[] webFragmentTypes = new WebFragmentEntry[webFragmentOrderEntryList.size()];
+        WebFragmentEntry[] WebFragments = new WebFragmentEntry[webFragmentOrderEntryList.size()];
         int iIndex = 0;
         for (WebFragmentOrderEntry webFragmentOrderEntry : webFragmentOrderEntryList) {
-            webFragmentTypes[iIndex++] = webFragmentOrderEntry.webFragmentEntry;
+            WebFragments[iIndex++] = webFragmentOrderEntry.webFragmentEntry;
         }
-        saveOrderedLibAttribute(earContext, webFragmentTypes);
-        return webFragmentTypes;
+        saveOrderedLibAttribute(earContext, WebFragments);
+        return WebFragments;
     }
 
-    public static WebFragmentEntry[] sortWebFragments(EARContext earContext, Module module, Bundle bundle, WebAppType webApp, Map<String, WebFragmentDocument> jarURLDocumentMap)
+    public static WebFragmentEntry[] sortWebFragments(EARContext earContext, Module module, Bundle bundle, WebApp webApp, Map<String, WebFragment> jarURLDocumentMap)
             throws DeploymentException {
         Map<String, WebFragmentEntry> webFragmentEntryMap = new HashMap<String, WebFragmentEntry>(jarURLDocumentMap.size());
-        boolean absoluteOrderingConfigured = webApp.getAbsoluteOrderingArray().length != 0;
+        boolean absoluteOrderingConfigured = webApp.getAbsoluteOrdering() != null;
         Set<String> usedWebFragmentNames = new HashSet<String>();
-        Map<String, WebFragmentType> unnamedWebFragmentMap = new HashMap<String, WebFragmentType>();
+        Map<String, WebFragment> unnamedWebFragmentMap = new HashMap<String, WebFragment>();
         for (String jarURL : jarURLDocumentMap.keySet()) {
-            WebFragmentType webFragment = jarURLDocumentMap.get(jarURL).getWebFragment();
-            JavaIdentifierType[] names = webFragment.getNameArray();
-            String webFragmentName = names.length == 0 ? null : names[0].getStringValue();
+            WebFragment webFragment = jarURLDocumentMap.get(jarURL);
+            String webFragmentName = webFragment.getName();
             if (webFragmentName != null) {
                 if (webFragmentEntryMap.containsKey(webFragmentName)) {
                     //TODO Please correct my understanding about how to handle the duplicate web-fragment name (spec 8.2.2)
@@ -518,17 +497,13 @@ public class MergeHelper {
                 unnamedWebFragmentMap.put(jarURL, webFragment);
             }
             //Add names configurations in before/after, so that we would not add an existing name for those unamed web fragment by sudden.
-            if (webFragment.getOrderingArray().length > 0) {
-                OrderingType order = webFragment.getOrderingArray()[0];
+            if (webFragment.getOrdering() != null) {
+                Ordering order = webFragment.getOrdering();
                 if (order.getBefore() != null) {
-                    for (JavaIdentifierType name : order.getBefore().getNameArray()) {
-                        usedWebFragmentNames.add(name.getStringValue());
-                    }
+                    usedWebFragmentNames.addAll(order.getBefore().getName());
                 }
                 if (order.getAfter() != null) {
-                    for (JavaIdentifierType name : order.getAfter().getNameArray()) {
-                        usedWebFragmentNames.add(name.getStringValue());
-                    }
+                    usedWebFragmentNames.addAll(order.getAfter().getName());
                 }
             }
         }
@@ -536,7 +511,7 @@ public class MergeHelper {
         String tempNamePrefix = "geronimo-deployment";
         int nameSubfix = 0;
         for (String webFragmentURL : unnamedWebFragmentMap.keySet()) {
-            WebFragmentType webFragment = unnamedWebFragmentMap.get(webFragmentURL);
+            WebFragment webFragment = unnamedWebFragmentMap.get(webFragmentURL);
             String tempWebFragmentName = tempNamePrefix + nameSubfix++;
             while (usedWebFragmentNames.contains(tempWebFragmentName)) {
                 tempWebFragmentName = tempNamePrefix + nameSubfix++;
@@ -623,32 +598,24 @@ public class MergeHelper {
 
         public static WebFragmentOrderEntry create(WebFragmentEntry webFragmentEntry) throws DeploymentException {
             WebFragmentOrderEntry webFragmentOrderEntry = new WebFragmentOrderEntry();
-            WebFragmentType webFragment = webFragmentEntry.getWebFragment();
-            if (webFragment.getOrderingArray().length > 0) {
-                OrderingType ordering = webFragment.getOrderingArray()[0];
-                OrderingOrderingType after = ordering.getAfter();
+            WebFragment webFragment = webFragmentEntry.getWebFragment();
+            if (webFragment.getOrdering() != null) {
+                Ordering ordering = webFragment.getOrdering();
+                OrderingOrdering after = ordering.getAfter();
                 if (after == null) {
                     webFragmentOrderEntry.afterDefined = false;
                 } else {
                     webFragmentOrderEntry.afterDefined = true;
                     webFragmentOrderEntry.afterOthers = (after.getOthers() != null);
-                    for (JavaIdentifierType afterEntryName : after.getNameArray()) {
-                        if (afterEntryName.getStringValue().length() > 0) {
-                            webFragmentOrderEntry.afterEntryNames.add(afterEntryName.getStringValue());
-                        }
-                    }
+                    webFragmentOrderEntry.afterEntryNames.addAll(after.getName());
                 }
-                OrderingOrderingType before = ordering.getBefore();
+                OrderingOrdering before = ordering.getBefore();
                 if (before == null) {
                     webFragmentOrderEntry.beforeDefined = false;
                 } else {
                     webFragmentOrderEntry.beforeDefined = true;
                     webFragmentOrderEntry.beforeOthers = (before.getOthers() != null);
-                    for (JavaIdentifierType beforeEntryName : before.getNameArray()) {
-                        if (beforeEntryName.getStringValue().length() > 0) {
-                            webFragmentOrderEntry.beforeEntryNames.add(beforeEntryName.getStringValue());
-                        }
-                    }
+                    webFragmentOrderEntry.beforeEntryNames.addAll(before.getName());
                 }
             }
             if (webFragmentOrderEntry.beforeOthers && webFragmentOrderEntry.afterOthers) {

Modified: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/AnnotationMergeHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/AnnotationMergeHandler.java?rev=957655&r1=957654&r2=957655&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/AnnotationMergeHandler.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/AnnotationMergeHandler.java Thu Jun 24 18:06:24 2010
@@ -19,16 +19,16 @@ package org.apache.geronimo.web25.deploy
 
 import org.apache.geronimo.common.DeploymentException;
 import org.apache.geronimo.web25.deployment.merge.MergeContext;
-import org.apache.geronimo.xbeans.javaee6.WebAppType;
+import org.apache.openejb.jee.WebApp;
 
 /**
  * @version $Rev$ $Date$
  */
 public interface AnnotationMergeHandler {
 
-    public void merge(Class<?>[] classes, WebAppType webApp, MergeContext mergeContext) throws DeploymentException;
+    public void merge(Class<?>[] classes, WebApp webApp, MergeContext mergeContext) throws DeploymentException;
 
-    public void postProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException;
+    public void postProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException;
 
-    public void preProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException;
+    public void preProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException;
 }

Modified: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/ServletSecurityAnnotationMergeHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/ServletSecurityAnnotationMergeHandler.java?rev=957655&r1=957654&r2=957655&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/ServletSecurityAnnotationMergeHandler.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/ServletSecurityAnnotationMergeHandler.java Thu Jun 24 18:06:24 2010
@@ -25,8 +25,8 @@ import javax.servlet.annotation.ServletS
 import org.apache.geronimo.common.DeploymentException;
 import org.apache.geronimo.web25.deployment.merge.MergeContext;
 import org.apache.geronimo.web25.deployment.utils.WebDeploymentValidationUtils;
-import org.apache.geronimo.xbeans.javaee6.ServletType;
-import org.apache.geronimo.xbeans.javaee6.WebAppType;
+//import org.apache.openejb.jee.Servlet;
+import org.apache.openejb.jee.WebApp;
 import org.osgi.framework.Bundle;
 
 /**
@@ -37,18 +37,18 @@ import org.osgi.framework.Bundle;
 public class ServletSecurityAnnotationMergeHandler implements AnnotationMergeHandler {
 
     @Override
-    public void merge(Class<?>[] classes, WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+    public void merge(Class<?>[] classes, WebApp webApp, MergeContext mergeContext) throws DeploymentException {
     }
 
     @Override
-    public void postProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+    public void postProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
         try {
             Bundle bundle = mergeContext.getBundle();
-            for (ServletType servlet : webApp.getServletArray()) {
-                if (servlet.getServletClass() == null || servlet.getServletClass().getStringValue().isEmpty()) {
+            for (org.apache.openejb.jee.Servlet servlet : webApp.getServlet()) {
+                if (servlet.getServletClass() == null || servlet.getServletClass().isEmpty()) {
                     continue;
                 }
-                String servletClassName = servlet.getServletClass().getStringValue();
+                String servletClassName = servlet.getServletClass();
                 Class<?> cls = bundle.loadClass(servletClassName);
                 if (!Servlet.class.isAssignableFrom(cls)) {
                     continue;
@@ -81,6 +81,6 @@ public class ServletSecurityAnnotationMe
     }
 
     @Override
-    public void preProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+    public void preProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
     }
 }

Modified: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/WebFilterAnnotationMergeHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/WebFilterAnnotationMergeHandler.java?rev=957655&r1=957654&r2=957655&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/WebFilterAnnotationMergeHandler.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/WebFilterAnnotationMergeHandler.java Thu Jun 24 18:06:24 2010
@@ -28,11 +28,12 @@ import org.apache.geronimo.web25.deploym
 import org.apache.geronimo.web25.deployment.merge.webfragment.FilterInitParamMergeHandler;
 import org.apache.geronimo.web25.deployment.merge.webfragment.FilterMappingMergeHandler;
 import org.apache.geronimo.web25.deployment.merge.webfragment.FilterMergeHandler;
-import org.apache.geronimo.xbeans.javaee6.FilterMappingType;
-import org.apache.geronimo.xbeans.javaee6.FilterType;
-import org.apache.geronimo.xbeans.javaee6.IconType;
-import org.apache.geronimo.xbeans.javaee6.ParamValueType;
-import org.apache.geronimo.xbeans.javaee6.WebAppType;
+import org.apache.openejb.jee.Dispatcher;
+import org.apache.openejb.jee.FilterMapping;
+import org.apache.openejb.jee.Icon;
+import org.apache.openejb.jee.ParamValue;
+import org.apache.openejb.jee.Text;
+import org.apache.openejb.jee.WebApp;
 
 /**
  * @version $Rev$ $Date$
@@ -40,7 +41,7 @@ import org.apache.geronimo.xbeans.javaee
 public class WebFilterAnnotationMergeHandler implements AnnotationMergeHandler {
 
     @Override
-    public void merge(Class<?>[] classes, WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+    public void merge(Class<?>[] classes, WebApp webApp, MergeContext mergeContext) throws DeploymentException {
         for (Class<?> cls : classes) {
             if (!Filter.class.isAssignableFrom(cls)) {
                 throw new DeploymentException("The class " + cls.getName() + " with WebFilter annotation must implement javax.servlet.Filter");
@@ -59,62 +60,60 @@ public class WebFilterAnnotationMergeHan
             String[] urlPatterns = valueAttributeConfigured ? webFilter.value() : webFilter.urlPatterns();
             if (FilterMergeHandler.isFilterConfigured(filterName, mergeContext)) {
                 //merge the filter annotation configuration to current web.xml
-                FilterType targetFilter = FilterMergeHandler.getFilter(filterName, mergeContext);
+                org.apache.openejb.jee.Filter targetFilter = FilterMergeHandler.getFilter(filterName, mergeContext);
                 //merge init-param
                 for (WebInitParam webInitParam : webFilter.initParams()) {
                     String paramName = webInitParam.name();
                     if (FilterInitParamMergeHandler.isFilterInitParamConfigured(filterName, paramName, mergeContext)) {
                         continue;
                     }
-                    ParamValueType newParamValue = targetFilter.addNewInitParam();
-                    newParamValue.addNewDescription().setStringValue(webInitParam.description());
-                    newParamValue.addNewParamName().setStringValue(webInitParam.name());
-                    newParamValue.addNewParamValue().setStringValue(webInitParam.value());
+                    ParamValue newParamValue = newParamValue(webInitParam);
+                    targetFilter.getInitParam().add(newParamValue);
                     FilterInitParamMergeHandler.addFilterInitParam(filterName, newParamValue, ElementSource.ANNOTATION, mergeContext.getCurrentJarUrl(), mergeContext);
                 }
             } else {
                 //Create filter element
-                FilterType newFilter = webApp.addNewFilter();
-                newFilter.addNewFilterName().setStringValue(filterName);
-                newFilter.addNewAsyncSupported().setBooleanValue(webFilter.asyncSupported());
+                org.apache.openejb.jee.Filter newFilter = new org.apache.openejb.jee.Filter();
+                webApp.getFilter().add(newFilter);
+                newFilter.setFilterName(filterName);
+                newFilter.setAsyncSupported(webFilter.asyncSupported());
                 if (!webFilter.description().isEmpty()) {
-                    newFilter.addNewDescription().setStringValue(webFilter.description());
+                    newFilter.addDescription(new Text(null, webFilter.description()));
                 }
                 if (!webFilter.displayName().isEmpty()) {
-                    newFilter.addNewDisplayName().setStringValue(webFilter.displayName());
+                    newFilter.addDisplayName(new Text(null, webFilter.displayName()));
                 }
-                newFilter.addNewFilterClass().setStringValue(cls.getName());
+                newFilter.setFilterClass(cls.getName());
                 for (WebInitParam webInitParam : webFilter.initParams()) {
-                    ParamValueType paramValue = newFilter.addNewInitParam();
-                    paramValue.addNewDescription().setStringValue(webInitParam.description());
-                    paramValue.addNewParamName().setStringValue(webInitParam.name());
-                    paramValue.addNewParamValue().setStringValue(webInitParam.value());
+                    newFilter.getInitParam().add(newParamValue(webInitParam));
                 }
                 if (!webFilter.smallIcon().isEmpty() || !webFilter.largeIcon().isEmpty()) {
-                    IconType iconType = newFilter.addNewIcon();
+                    Icon icon = new Icon();
                     if (!webFilter.smallIcon().isEmpty()) {
-                        iconType.addNewSmallIcon().setStringValue(webFilter.smallIcon());
+                        icon.setSmallIcon(webFilter.smallIcon());
                     }
                     if (!webFilter.largeIcon().isEmpty()) {
-                        iconType.addNewLargeIcon().setStringValue(webFilter.largeIcon());
+                        icon.setLargeIcon(webFilter.largeIcon());
                     }
+                    newFilter.getIconMap().put(null, icon);
                 }
                 FilterMergeHandler.addFilter(newFilter, mergeContext);
             }
             //filter-mapping configured in web.xml and web-fragment.xml will override the configurations from annotation
             if (!FilterMappingMergeHandler.isFilterMappingConfigured(filterName, mergeContext)) {
                 //create filter-mapping element
-                FilterMappingType filterMapping = webApp.addNewFilterMapping();
-                filterMapping.addNewFilterName().setStringValue(filterName);
+                FilterMapping filterMapping = new FilterMapping();
+                filterMapping.setFilterName(filterName);
                 for (String servletName : webFilter.servletNames()) {
-                    filterMapping.addNewServletName().setStringValue(servletName);
+                    filterMapping.getServletName().add(servletName);
                 }
                 for (DispatcherType dispatcherType : webFilter.dispatcherTypes()) {
-                    filterMapping.addNewDispatcher().setStringValue(dispatcherType.name());
+                    filterMapping.getDispatcher().add(Dispatcher.fromValue(dispatcherType.name()));
                 }
                 for (String urlPattern : urlPatterns) {
-                    filterMapping.addNewUrlPattern().setStringValue(urlPattern);
+                    filterMapping.getUrlPattern().add(urlPattern);
                 }
+                webApp.getFilterMapping().add(filterMapping);
                 FilterMappingMergeHandler.addFilterMapping(filterMapping, mergeContext);
                 //Set this tag, so that if any following web-fragment.xml has defined the url-patterns explicitly, it could drop the configurations from annotation
                 mergeContext.setAttribute(FilterMappingMergeHandler.createFilterMappingSourceKey(filterName), ElementSource.ANNOTATION);
@@ -122,11 +121,19 @@ public class WebFilterAnnotationMergeHan
         }
     }
 
+    public static ParamValue newParamValue(WebInitParam webInitParam) {
+        ParamValue newParamValue = new ParamValue();
+        newParamValue.addDescription(new Text(null,webInitParam.description()));
+        newParamValue.setParamName(webInitParam.name());
+        newParamValue.setParamValue(webInitParam.value());
+        return newParamValue;
+    }
+
     @Override
-    public void postProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+    public void postProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
     }
 
     @Override
-    public void preProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+    public void preProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
     }
 }

Modified: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/WebListenerAnnotationMergeHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/WebListenerAnnotationMergeHandler.java?rev=957655&r1=957654&r2=957655&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/WebListenerAnnotationMergeHandler.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/WebListenerAnnotationMergeHandler.java Thu Jun 24 18:06:24 2010
@@ -30,8 +30,9 @@ import javax.servlet.http.HttpSessionLis
 import org.apache.geronimo.common.DeploymentException;
 import org.apache.geronimo.web25.deployment.merge.MergeContext;
 import org.apache.geronimo.web25.deployment.merge.webfragment.ListenerMergeHandler;
-import org.apache.geronimo.xbeans.javaee6.ListenerType;
-import org.apache.geronimo.xbeans.javaee6.WebAppType;
+import org.apache.openejb.jee.Listener;
+import org.apache.openejb.jee.Text;
+import org.apache.openejb.jee.WebApp;
 
 /**
  * @version $Rev$ $Date$
@@ -42,7 +43,7 @@ public class WebListenerAnnotationMergeH
             ServletRequestAttributeListener.class, HttpSessionListener.class, HttpSessionAttributeListener.class, javax.servlet.AsyncListener.class };
 
     @Override
-    public void merge(Class<?>[] classes, WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+    public void merge(Class<?>[] classes, WebApp webApp, MergeContext mergeContext) throws DeploymentException {
         for (Class<?> cls : classes) {
             //Check whether any supported web listener interface is implemented
             Class<?> implementedWebListenerInterface = null;
@@ -60,29 +61,30 @@ public class WebListenerAnnotationMergeH
             if (ListenerMergeHandler.isListenerConfigured(cls.getName(), mergeContext)) {
                 return;
             }
-            ListenerType newListener = webApp.addNewListener();
+            Listener newListener = new Listener();
             if (!webListener.value().isEmpty()) {
-                newListener.addNewDescription().setStringValue(webListener.value());
+                newListener.addDescription(new Text(null, webListener.value()));
             }
-            newListener.addNewListenerClass().setStringValue(cls.getName());
+            newListener.setListenerClass(cls.getName());
+            webApp.getListener().add(newListener);
             //
             ListenerMergeHandler.addListener(newListener, mergeContext);
         }
     }
 
     /* (non-Javadoc)
-     * @see org.apache.geronimo.web25.deployment.merge.annotation.AnnotationMergeHandler#postProcessWebXmlElement(org.apache.geronimo.xbeans.javaee6.WebAppType, org.apache.geronimo.web25.deployment.merge.MergeContext)
+     * @see org.apache.geronimo.web25.deployment.merge.annotation.AnnotationMergeHandler#postProcessWebXmlElement(org.apache.openejb.jee.WebApp, org.apache.geronimo.web25.deployment.merge.MergeContext)
      */
     @Override
-    public void postProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+    public void postProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
         // TODO Auto-generated method stub
     }
 
     /* (non-Javadoc)
-     * @see org.apache.geronimo.web25.deployment.merge.annotation.AnnotationMergeHandler#preProcessWebXmlElement(org.apache.geronimo.xbeans.javaee6.WebAppType, org.apache.geronimo.web25.deployment.merge.MergeContext)
+     * @see org.apache.geronimo.web25.deployment.merge.annotation.AnnotationMergeHandler#preProcessWebXmlElement(org.apache.openejb.jee.WebApp, org.apache.geronimo.web25.deployment.merge.MergeContext)
      */
     @Override
-    public void preProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+    public void preProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
         // TODO Auto-generated method stub
     }
 }

Modified: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/WebServletAnnotationMergeHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/WebServletAnnotationMergeHandler.java?rev=957655&r1=957654&r2=957655&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/WebServletAnnotationMergeHandler.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/annotation/WebServletAnnotationMergeHandler.java Thu Jun 24 18:06:24 2010
@@ -28,11 +28,12 @@ import org.apache.geronimo.web25.deploym
 import org.apache.geronimo.web25.deployment.merge.webfragment.ServletInitParamMergeHandler;
 import org.apache.geronimo.web25.deployment.merge.webfragment.ServletMappingMergeHandler;
 import org.apache.geronimo.web25.deployment.merge.webfragment.ServletMergeHandler;
-import org.apache.geronimo.xbeans.javaee6.IconType;
-import org.apache.geronimo.xbeans.javaee6.ParamValueType;
-import org.apache.geronimo.xbeans.javaee6.ServletMappingType;
-import org.apache.geronimo.xbeans.javaee6.ServletType;
-import org.apache.geronimo.xbeans.javaee6.WebAppType;
+import org.apache.openejb.jee.Icon;
+import org.apache.openejb.jee.ParamValue;
+import org.apache.openejb.jee.ServletMapping;
+import org.apache.openejb.jee.Servlet;
+import org.apache.openejb.jee.Text;
+import org.apache.openejb.jee.WebApp;
 
 /**
  * @version $Rev$ $Date$
@@ -40,7 +41,7 @@ import org.apache.geronimo.xbeans.javaee
 public class WebServletAnnotationMergeHandler implements AnnotationMergeHandler {
 
     @Override
-    public void merge(Class<?>[] classes, WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+    public void merge(Class<?>[] classes, WebApp webApp, MergeContext mergeContext) throws DeploymentException {
         for (Class<?> cls : classes) {
             if (!HttpServlet.class.isAssignableFrom(cls)) {
                 throw new DeploymentException("The class " + cls.getName() + " with WebServlet annotation must extend javax.servlet.HttpServlet");
@@ -57,65 +58,63 @@ public class WebServletAnnotationMergeHa
             String servletName = webServlet.name().length() == 0 ? cls.getName() : webServlet.name();
             String[] urlPatterns = valueAttributeConfigured ? webServlet.value() : webServlet.urlPatterns();
             if (ServletMergeHandler.isServletConfigured(servletName, mergeContext)) {
-                ServletType targetServlet = ServletMergeHandler.getServlet(servletName, mergeContext);
+                Servlet targetServlet = ServletMergeHandler.getServlet(servletName, mergeContext);
                 //merge init-params, we only merge those init-param that are not explicitly configured in the web.xml or web-fragment.xml
                 for (WebInitParam webInitParam : webServlet.initParams()) {
                     String paramName = webInitParam.name();
                     if (ServletInitParamMergeHandler.isServletInitParamConfigured(servletName, paramName, mergeContext)) {
                         continue;
                     }
-                    ParamValueType newParamValue = targetServlet.addNewInitParam();
-                    newParamValue.addNewDescription().setStringValue(webInitParam.description());
-                    newParamValue.addNewParamName().setStringValue(webInitParam.name());
-                    newParamValue.addNewParamValue().setStringValue(webInitParam.value());
+                    ParamValue newParamValue = WebFilterAnnotationMergeHandler.newParamValue(webInitParam);
+                    targetServlet.getInitParam().add(newParamValue);
                     ServletInitParamMergeHandler.addServletInitParam(servletName, newParamValue, ElementSource.ANNOTATION, mergeContext.getCurrentJarUrl(), mergeContext);
                 }
             } else {
                 //Add a new Servlet
                 //create servlet element
-                ServletType newServlet = webApp.addNewServlet();
+                Servlet newServlet = new Servlet();
                 if (!webServlet.displayName().isEmpty()) {
-                    newServlet.addNewDisplayName().setStringValue(webServlet.displayName());
+                    newServlet.addDisplayName(new Text(null, webServlet.displayName()));
                 }
-                newServlet.addNewServletClass().setStringValue(cls.getName());
-                newServlet.addNewServletName().setStringValue(servletName);
-                newServlet.addNewAsyncSupported().setBooleanValue(webServlet.asyncSupported());
+                newServlet.setServletClass(cls.getName());
+                newServlet.setServletName(servletName);
+                newServlet.setAsyncSupported(webServlet.asyncSupported());
                 if (!webServlet.description().isEmpty()) {
-                    newServlet.addNewDescription().setStringValue(webServlet.description());
+                    newServlet.addDescription(new Text(null, webServlet.description()));
                 }
                 if (webServlet.loadOnStartup() != -1) {
                     newServlet.setLoadOnStartup(webServlet.loadOnStartup());
                 }
                 for (WebInitParam webInitParam : webServlet.initParams()) {
-                    ParamValueType paramValue = newServlet.addNewInitParam();
-                    paramValue.addNewDescription().setStringValue(webInitParam.description());
-                    paramValue.addNewParamName().setStringValue(webInitParam.name());
-                    paramValue.addNewParamValue().setStringValue(webInitParam.value());
+                    newServlet.getInitParam().add(WebFilterAnnotationMergeHandler.newParamValue(webInitParam));
                 }
                 if (!webServlet.smallIcon().isEmpty() || !webServlet.largeIcon().isEmpty()) {
-                    IconType iconType = newServlet.addNewIcon();
+                    Icon icon = new Icon();
                     if (!webServlet.smallIcon().isEmpty()) {
-                        iconType.addNewSmallIcon().setStringValue(webServlet.smallIcon());
+                        icon.setSmallIcon(webServlet.smallIcon());
                     }
                     if (!webServlet.largeIcon().isEmpty()) {
-                        iconType.addNewLargeIcon().setStringValue(webServlet.largeIcon());
+                        icon.setLargeIcon(webServlet.largeIcon());
                     }
+                    newServlet.getIconMap().put(null, icon);
                 }
                 //TODO Figure out how to handle MultipartConfig annotation
                 MultipartConfig multipartConfig = cls.getAnnotation(MultipartConfig.class);
                 if (multipartConfig != null) {
                 }
+                webApp.getServlet().add(newServlet);
                 ServletMergeHandler.addServlet(newServlet, mergeContext);
             }
             if (!ServletMappingMergeHandler.isServletMappingConfigured(servletName, mergeContext)) {
                 //merge url-patterns, spec 8.1.n.vi. url-patterns, when specified in a descriptor for a given servlet name overrides the url patterns specified via the annotation.
                 //FIXME To my understanding of the spec, once there are url-patterns configured in the descriptors, those configurations from the annotations are ignored
-                ServletMappingType newServletMapping = webApp.addNewServletMapping();
+                ServletMapping newServletMapping = new ServletMapping();
                 //create servlet-mapping element
-                newServletMapping.addNewServletName().setStringValue(servletName);
+                newServletMapping.setServletName(servletName);
                 for (String urlPattern : urlPatterns) {
-                    newServletMapping.addNewUrlPattern().setStringValue(urlPattern);
+                    newServletMapping.getUrlPattern().add(urlPattern);
                 }
+                webApp.getServletMapping().add(newServletMapping);
                 ServletMappingMergeHandler.addServletMapping(newServletMapping, mergeContext);
                 //Set this tag, so that if any following web-fragment.xml has defined the url-patterns explicitly, it could drop the configurations from annotation
                 mergeContext.setAttribute(ServletMappingMergeHandler.createServletMappingSourceKey(servletName), ElementSource.ANNOTATION);
@@ -124,11 +123,11 @@ public class WebServletAnnotationMergeHa
     }
 
     @Override
-    public void postProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+    public void postProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
         //TODO double check whether there are annotations are missed due to they are from excluded jars
     }
 
     @Override
-    public void preProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+    public void preProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
     }
 }

Modified: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/ContextParamMergeHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/ContextParamMergeHandler.java?rev=957655&r1=957654&r2=957655&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/ContextParamMergeHandler.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/ContextParamMergeHandler.java Thu Jun 24 18:06:24 2010
@@ -22,44 +22,44 @@ import org.apache.geronimo.web25.deploym
 import org.apache.geronimo.web25.deployment.merge.MergeContext;
 import org.apache.geronimo.web25.deployment.merge.MergeItem;
 import org.apache.geronimo.web25.deployment.utils.WebDeploymentMessageUtils;
-import org.apache.geronimo.xbeans.javaee6.ParamValueType;
-import org.apache.geronimo.xbeans.javaee6.WebAppType;
-import org.apache.geronimo.xbeans.javaee6.WebFragmentType;
+import org.apache.openejb.jee.ParamValue;
+import org.apache.openejb.jee.WebApp;
+import org.apache.openejb.jee.WebFragment;
 
 /**
  * @version $Rev$ $Date$
  */
-public class ContextParamMergeHandler implements WebFragmentMergeHandler<WebFragmentType, WebAppType> {
+public class ContextParamMergeHandler implements WebFragmentMergeHandler<WebFragment, WebApp> {
 
     public static final String QUALIFIED_CONTEXT_PARAM_NAME_PREFIX = "context-param.param-name.";
 
     @Override
-    public void merge(WebFragmentType webFragment, WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+    public void merge(WebFragment webFragment, WebApp webApp, MergeContext mergeContext) throws DeploymentException {
         String jarUrl = mergeContext.getCurrentJarUrl();
-        for (ParamValueType paramValue : webFragment.getContextParamArray()) {
-            String qualifiedContextParamName = QUALIFIED_CONTEXT_PARAM_NAME_PREFIX + paramValue.getParamName().getStringValue();
+        for (ParamValue paramValue : webFragment.getContextParam()) {
+            String qualifiedContextParamName = QUALIFIED_CONTEXT_PARAM_NAME_PREFIX + paramValue.getParamName();
             if (mergeContext.containsAttribute(qualifiedContextParamName)) {
                 continue;
             }
             MergeItem existedContextParamValue = (MergeItem) mergeContext.getAttribute(qualifiedContextParamName);
             if (existedContextParamValue == null) {
-                webApp.addNewContextParam().set(paramValue);
-                mergeContext.setAttribute(qualifiedContextParamName, new MergeItem(paramValue.getParamValue().getStringValue(), jarUrl, ElementSource.WEB_FRAGMENT));
-            } else if (!existedContextParamValue.getValue().equals(paramValue.getParamValue().getStringValue())) {
-                throw new DeploymentException(WebDeploymentMessageUtils.createDuplicateKeyValueMessage("context-param", "param-name", paramValue.getParamName().getStringValue(), "param-value",
-                        existedContextParamValue.getValue().toString(), existedContextParamValue.getBelongedURL(), paramValue.getParamValue().getStringValue(), jarUrl));
+                webApp.getContextParam().add(paramValue);
+                mergeContext.setAttribute(qualifiedContextParamName, new MergeItem(paramValue.getParamValue(), jarUrl, ElementSource.WEB_FRAGMENT));
+            } else if (!existedContextParamValue.getValue().equals(paramValue.getParamValue())) {
+                throw new DeploymentException(WebDeploymentMessageUtils.createDuplicateKeyValueMessage("context-param", "param-name", paramValue.getParamName(), "param-value",
+                        existedContextParamValue.getValue().toString(), existedContextParamValue.getBelongedURL(), paramValue.getParamValue(), jarUrl));
             }
         }
     }
 
     @Override
-    public void postProcessWebXmlElement(WebAppType webApp, MergeContext context) throws DeploymentException {
+    public void postProcessWebXmlElement(WebApp webApp, MergeContext context) throws DeploymentException {
     }
 
     @Override
-    public void preProcessWebXmlElement(WebAppType webApp, MergeContext context) throws DeploymentException {
-        for (ParamValueType paramValue : webApp.getContextParamArray()) {
-            context.setAttribute(QUALIFIED_CONTEXT_PARAM_NAME_PREFIX + paramValue.getParamName().getStringValue(), paramValue.getParamName().getStringValue());
+    public void preProcessWebXmlElement(WebApp webApp, MergeContext context) throws DeploymentException {
+        for (ParamValue paramValue : webApp.getContextParam()) {
+            context.setAttribute(QUALIFIED_CONTEXT_PARAM_NAME_PREFIX + paramValue.getParamName(), paramValue.getParamName());
         }
     }
 }

Modified: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/DataSourceMergeHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/DataSourceMergeHandler.java?rev=957655&r1=957654&r2=957655&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/DataSourceMergeHandler.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/DataSourceMergeHandler.java Thu Jun 24 18:06:24 2010
@@ -22,41 +22,41 @@ import org.apache.geronimo.web25.deploym
 import org.apache.geronimo.web25.deployment.merge.MergeContext;
 import org.apache.geronimo.web25.deployment.merge.MergeItem;
 import org.apache.geronimo.web25.deployment.utils.WebDeploymentMessageUtils;
-import org.apache.geronimo.xbeans.javaee6.DataSourceType;
-import org.apache.geronimo.xbeans.javaee6.WebAppType;
-import org.apache.geronimo.xbeans.javaee6.WebFragmentType;
+import org.apache.openejb.jee.DataSource;
+import org.apache.openejb.jee.WebApp;
+import org.apache.openejb.jee.WebFragment;
 
 /**
  * @version $Rev$ $Date$
  */
-public class DataSourceMergeHandler implements WebFragmentMergeHandler<WebFragmentType, WebAppType> {
+public class DataSourceMergeHandler implements WebFragmentMergeHandler<WebFragment, WebApp> {
 
     @Override
-    public void merge(WebFragmentType webFragment, WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
-        for (DataSourceType srcDataSource : webFragment.getDataSourceArray()) {
+    public void merge(WebFragment webFragment, WebApp webApp, MergeContext mergeContext) throws DeploymentException {
+        for (DataSource srcDataSource : webFragment.getDataSource()) {
             String dataSourceKey = createDataSourceKey(srcDataSource, mergeContext);
             MergeItem mergeItem = (MergeItem) mergeContext.getAttribute(dataSourceKey);
             if (mergeItem != null && mergeItem.isFromWebFragment()) {
-                throw new DeploymentException(WebDeploymentMessageUtils.createDuplicateJNDIRefMessage("data-source", srcDataSource.getName().getStringValue(), mergeContext.getCurrentJarUrl(), mergeItem
+                throw new DeploymentException(WebDeploymentMessageUtils.createDuplicateJNDIRefMessage("data-source", srcDataSource.getName(), mergeContext.getCurrentJarUrl(), mergeItem
                         .getBelongedURL()));
             }
-            DataSourceType targetDataSource = (DataSourceType) webApp.addNewDataSource().set(srcDataSource);
-            mergeContext.setAttribute(dataSourceKey, new MergeItem(targetDataSource, mergeContext.getCurrentJarUrl(), ElementSource.WEB_FRAGMENT));
+            webApp.getDataSource().add(srcDataSource);
+            mergeContext.setAttribute(dataSourceKey, new MergeItem(srcDataSource, mergeContext.getCurrentJarUrl(), ElementSource.WEB_FRAGMENT));
         }
     }
 
     @Override
-    public void postProcessWebXmlElement(WebAppType webApp, MergeContext context) throws DeploymentException {
+    public void postProcessWebXmlElement(WebApp webApp, MergeContext context) throws DeploymentException {
     }
 
     @Override
-    public void preProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
-        for (DataSourceType dataSource : webApp.getDataSourceArray()) {
+    public void preProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
+        for (DataSource dataSource : webApp.getDataSource()) {
             mergeContext.setAttribute(createDataSourceKey(dataSource, mergeContext), new MergeItem(dataSource, null, ElementSource.WEB_XML));
         }
     }
 
-    public static String createDataSourceKey(DataSourceType dataSource, MergeContext mergeContext) {
-        return "data-source.name." + dataSource.getName().getStringValue();
+    public static String createDataSourceKey(DataSource dataSource, MergeContext mergeContext) {
+        return "data-source.name." + dataSource.getName();
     }
 }

Modified: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/DistributableMergeHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/DistributableMergeHandler.java?rev=957655&r1=957654&r2=957655&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/DistributableMergeHandler.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/DistributableMergeHandler.java Thu Jun 24 18:06:24 2010
@@ -19,43 +19,44 @@ package org.apache.geronimo.web25.deploy
 
 import org.apache.geronimo.common.DeploymentException;
 import org.apache.geronimo.web25.deployment.merge.MergeContext;
-import org.apache.geronimo.xbeans.javaee6.WebAppType;
-import org.apache.geronimo.xbeans.javaee6.WebFragmentType;
+import org.apache.openejb.jee.Empty;
+import org.apache.openejb.jee.WebApp;
+import org.apache.openejb.jee.WebFragment;
 
 /**
  * @version $Rev$ $Date$
  */
-public class DistributableMergeHandler implements WebFragmentMergeHandler<WebFragmentType, WebAppType> {
+public class DistributableMergeHandler implements WebFragmentMergeHandler<WebFragment, WebApp> {
 
     public static final String CURRENT_MERGED_DISTRIBUTABLE_VALUE = "CURRENT_MERGED_DISTRIBUTABLE_VALUE";
 
     @Override
-    public void merge(WebFragmentType webFragment, WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+    public void merge(WebFragment webFragment, WebApp webApp, MergeContext mergeContext) throws DeploymentException {
         boolean currentMergedDistributableValue = (Boolean) mergeContext.getAttribute(CURRENT_MERGED_DISTRIBUTABLE_VALUE);
         if (currentMergedDistributableValue) {
-            mergeContext.setAttribute(CURRENT_MERGED_DISTRIBUTABLE_VALUE, webFragment.getDistributableArray().length > 0);
+            mergeContext.setAttribute(CURRENT_MERGED_DISTRIBUTABLE_VALUE, webFragment.getDistributable().size() > 0);
         }
     }
 
     @Override
-    public void postProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
+    public void postProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
         boolean currentMergedDistributableValue = (Boolean) mergeContext.getAttribute(CURRENT_MERGED_DISTRIBUTABLE_VALUE);
-        boolean distributableInWebXml = webApp.getDistributableArray().length > 0;
+        boolean distributableInWebXml = webApp.getDistributable().size() > 0;
         if (currentMergedDistributableValue) {
             if (!distributableInWebXml) {
-                webApp.addNewDistributable();
+                webApp.getDistributable().add(new Empty());
             }
         } else {
             if (distributableInWebXml) {
-                for (int i = 0, iLoopSize = webApp.getDistributableArray().length; i < iLoopSize; i++) {
-                    webApp.removeDistributable(0);
+                for (int i = 0, iLoopSize = webApp.getDistributable().size(); i < iLoopSize; i++) {
+                    webApp.getDistributable().clear();
                 }
             }
         }
     }
 
     @Override
-    public void preProcessWebXmlElement(WebAppType webApp, MergeContext context) throws DeploymentException {
+    public void preProcessWebXmlElement(WebApp webApp, MergeContext context) throws DeploymentException {
         context.setAttribute(CURRENT_MERGED_DISTRIBUTABLE_VALUE, Boolean.TRUE);
     }
 }

Modified: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/EjbLocalRefMergeHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/EjbLocalRefMergeHandler.java?rev=957655&r1=957654&r2=957655&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/EjbLocalRefMergeHandler.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/EjbLocalRefMergeHandler.java Thu Jun 24 18:06:24 2010
@@ -22,15 +22,15 @@ import org.apache.geronimo.web25.deploym
 import org.apache.geronimo.web25.deployment.merge.MergeContext;
 import org.apache.geronimo.web25.deployment.merge.MergeItem;
 import org.apache.geronimo.web25.deployment.utils.WebDeploymentMessageUtils;
-import org.apache.geronimo.xbeans.javaee6.EjbLocalRefType;
-import org.apache.geronimo.xbeans.javaee6.InjectionTargetType;
-import org.apache.geronimo.xbeans.javaee6.WebAppType;
-import org.apache.geronimo.xbeans.javaee6.WebFragmentType;
+import org.apache.openejb.jee.EjbLocalRef;
+import org.apache.openejb.jee.InjectionTarget;
+import org.apache.openejb.jee.WebApp;
+import org.apache.openejb.jee.WebFragment;
 
 /**
  * @version $Rev$ $Date$
  */
-public class EjbLocalRefMergeHandler implements WebFragmentMergeHandler<WebFragmentType, WebAppType> {
+public class EjbLocalRefMergeHandler implements WebFragmentMergeHandler<WebFragment, WebApp> {
 
     public static final String EJB_LOCAL_REF_NAME_PREFIX = "ejb-local-ref.ejb-ref-name.";
 
@@ -42,9 +42,9 @@ public class EjbLocalRefMergeHandler imp
      * b. web.xml file should inherit it from the web-fragment.xml file
      */
     @Override
-    public void merge(WebFragmentType webFragment, WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
-        for (EjbLocalRefType srcEjbLocalRef : webFragment.getEjbLocalRefArray()) {
-            String ejbLocalRefName = srcEjbLocalRef.getEjbRefName().getStringValue();
+    public void merge(WebFragment webFragment, WebApp webApp, MergeContext mergeContext) throws DeploymentException {
+        for (EjbLocalRef srcEjbLocalRef : webFragment.getEjbLocalRef()) {
+            String ejbLocalRefName = srcEjbLocalRef.getEjbRefName();
             String ejbLocalRefKey = createEjbLocalRefKey(ejbLocalRefName);
             MergeItem mergeItem = (MergeItem) mergeContext.getAttribute(ejbLocalRefKey);
             if (mergeItem != null) {
@@ -52,43 +52,43 @@ public class EjbLocalRefMergeHandler imp
                     throw new DeploymentException(WebDeploymentMessageUtils.createDuplicateJNDIRefMessage("ejb-local-ref", ejbLocalRefName, mergeItem.getBelongedURL(), mergeContext.getCurrentJarUrl()));
                 } else if (mergeItem.isFromWebXml() && !isEjbLocalRefInjectTargetsConfiguredInInitialWebXML(ejbLocalRefName, mergeContext)) {
                     //Merge InjectTarget
-                    EjbLocalRefType ejbLocalRef = (EjbLocalRefType) mergeItem.getValue();
-                    for (InjectionTargetType injectTarget : srcEjbLocalRef.getInjectionTargetArray()) {
-                        String ejbLocalRefInjectTargetKey = createEjbLocalRefInjectTargetKey(ejbLocalRefName, injectTarget.getInjectionTargetClass().getStringValue(), injectTarget
-                                .getInjectionTargetName().getStringValue());
+                    EjbLocalRef ejbLocalRef = (EjbLocalRef) mergeItem.getValue();
+                    for (InjectionTarget injectTarget : srcEjbLocalRef.getInjectionTarget()) {
+                        String ejbLocalRefInjectTargetKey = createEjbLocalRefInjectTargetKey(ejbLocalRefName, injectTarget.getInjectionTargetClass(), injectTarget
+                                .getInjectionTargetName());
                         if (!mergeContext.containsAttribute(ejbLocalRefInjectTargetKey)) {
-                            ejbLocalRef.addNewInjectionTarget().set(injectTarget);
+                            ejbLocalRef.getInjectionTarget().add(injectTarget);
                             mergeContext.setAttribute(ejbLocalRefInjectTargetKey, Boolean.TRUE);
                         }
                     }
                 }
             } else {
-                EjbLocalRefType targetEjbLocalRef = (EjbLocalRefType) webApp.addNewEjbLocalRef().set(srcEjbLocalRef);
-                mergeContext.setAttribute(ejbLocalRefKey, new MergeItem(targetEjbLocalRef, mergeContext.getCurrentJarUrl(), ElementSource.WEB_FRAGMENT));
-                for (InjectionTargetType injectionTarget : targetEjbLocalRef.getInjectionTargetArray()) {
-                    mergeContext.setAttribute(createEjbLocalRefInjectTargetKey(ejbLocalRefName, injectionTarget.getInjectionTargetClass().getStringValue(), injectionTarget.getInjectionTargetName()
-                            .getStringValue()), Boolean.TRUE);
+                webApp.getEjbLocalRef().add(srcEjbLocalRef);
+                mergeContext.setAttribute(ejbLocalRefKey, new MergeItem(srcEjbLocalRef, mergeContext.getCurrentJarUrl(), ElementSource.WEB_FRAGMENT));
+                for (InjectionTarget injectionTarget : srcEjbLocalRef.getInjectionTarget()) {
+                    mergeContext.setAttribute(createEjbLocalRefInjectTargetKey(ejbLocalRefName, injectionTarget.getInjectionTargetClass(), injectionTarget.getInjectionTargetName()
+                            ), Boolean.TRUE);
                 }
             }
         }
     }
 
     @Override
-    public void postProcessWebXmlElement(WebAppType webApp, MergeContext context) throws DeploymentException {
+    public void postProcessWebXmlElement(WebApp webApp, MergeContext context) throws DeploymentException {
     }
 
     @Override
-    public void preProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
-        for (EjbLocalRefType ejbLocalRef : webApp.getEjbLocalRefArray()) {
-            String ejbLocalRefName = ejbLocalRef.getEjbRefName().getStringValue();
+    public void preProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
+        for (EjbLocalRef ejbLocalRef : webApp.getEjbLocalRef()) {
+            String ejbLocalRefName = ejbLocalRef.getEjbRefName();
             mergeContext.setAttribute(createEjbLocalRefKey(ejbLocalRefName), new MergeItem(ejbLocalRef, null, ElementSource.WEB_XML));
             //Create an attribute tag to indicate whether injectTarget is configured in web.xml file
-            if (ejbLocalRef.getInjectionTargetArray().length > 0) {
+            if (ejbLocalRef.getInjectionTarget().size() > 0) {
                 mergeContext.setAttribute(createEjbLocalRefInjectTargetConfiguredInWebXMLKey(ejbLocalRefName), Boolean.TRUE);
             }
-            for (InjectionTargetType injectionTarget : ejbLocalRef.getInjectionTargetArray()) {
-                mergeContext.setAttribute(createEjbLocalRefInjectTargetKey(ejbLocalRefName, injectionTarget.getInjectionTargetClass().getStringValue(), injectionTarget.getInjectionTargetName()
-                        .getStringValue()), Boolean.TRUE);
+            for (InjectionTarget injectionTarget : ejbLocalRef.getInjectionTarget()) {
+                mergeContext.setAttribute(createEjbLocalRefInjectTargetKey(ejbLocalRefName, injectionTarget.getInjectionTargetClass(), injectionTarget.getInjectionTargetName()
+                        ), Boolean.TRUE);
             }
         }
     }

Modified: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/EjbRefMergeHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/EjbRefMergeHandler.java?rev=957655&r1=957654&r2=957655&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/EjbRefMergeHandler.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/EjbRefMergeHandler.java Thu Jun 24 18:06:24 2010
@@ -22,15 +22,15 @@ import org.apache.geronimo.web25.deploym
 import org.apache.geronimo.web25.deployment.merge.MergeContext;
 import org.apache.geronimo.web25.deployment.merge.MergeItem;
 import org.apache.geronimo.web25.deployment.utils.WebDeploymentMessageUtils;
-import org.apache.geronimo.xbeans.javaee6.EjbRefType;
-import org.apache.geronimo.xbeans.javaee6.InjectionTargetType;
-import org.apache.geronimo.xbeans.javaee6.WebAppType;
-import org.apache.geronimo.xbeans.javaee6.WebFragmentType;
+import org.apache.openejb.jee.EjbRef;
+import org.apache.openejb.jee.InjectionTarget;
+import org.apache.openejb.jee.WebApp;
+import org.apache.openejb.jee.WebFragment;
 
 /**
  * @version $Rev$ $Date$
  */
-public class EjbRefMergeHandler implements WebFragmentMergeHandler<WebFragmentType, WebAppType> {
+public class EjbRefMergeHandler implements WebFragmentMergeHandler<WebFragment, WebApp> {
 
     public static final String EJB_REF_NAME_PREFIX = "ejb-ref.ejb-ref-name.";
 
@@ -42,9 +42,9 @@ public class EjbRefMergeHandler implemen
      * b. web.xml file should inherit it from the web-fragment.xml file
      */
     @Override
-    public void merge(WebFragmentType webFragment, WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
-        for (EjbRefType srcEjbRef : webFragment.getEjbRefArray()) {
-            String ejbRefName = srcEjbRef.getEjbRefName().getStringValue();
+    public void merge(WebFragment webFragment, WebApp webApp, MergeContext mergeContext) throws DeploymentException {
+        for (EjbRef srcEjbRef : webFragment.getEjbRef()) {
+            String ejbRefName = srcEjbRef.getEjbRefName();
             String ejbRefKey = createEjbRefKey(ejbRefName);
             MergeItem mergeItem = (MergeItem) mergeContext.getAttribute(ejbRefKey);
             if (mergeItem != null) {
@@ -52,43 +52,43 @@ public class EjbRefMergeHandler implemen
                     throw new DeploymentException(WebDeploymentMessageUtils.createDuplicateJNDIRefMessage("ejb-ref", ejbRefName, mergeItem.getBelongedURL(), mergeContext.getCurrentJarUrl()));
                 } else if (mergeItem.isFromWebXml() && !isEjbRefInjectTargetsConfiguredInInitialWebXML(ejbRefName, mergeContext)) {
                     //Merge InjectTarget
-                    EjbRefType ejbRef = (EjbRefType) mergeItem.getValue();
-                    for (InjectionTargetType injectTarget : srcEjbRef.getInjectionTargetArray()) {
-                        String ejbRefInjectTargetKey = createEjbRefInjectTargetKey(ejbRefName, injectTarget.getInjectionTargetClass().getStringValue(), injectTarget
-                                .getInjectionTargetName().getStringValue());
+                    EjbRef ejbRef = (EjbRef) mergeItem.getValue();
+                    for (InjectionTarget injectTarget : srcEjbRef.getInjectionTarget()) {
+                        String ejbRefInjectTargetKey = createEjbRefInjectTargetKey(ejbRefName, injectTarget.getInjectionTargetClass(), injectTarget
+                                .getInjectionTargetName());
                         if (!mergeContext.containsAttribute(ejbRefInjectTargetKey)) {
-                            ejbRef.addNewInjectionTarget().set(injectTarget);
+                            ejbRef.getInjectionTarget().add(injectTarget);
                             mergeContext.setAttribute(ejbRefInjectTargetKey, Boolean.TRUE);
                         }
                     }
                 }
             } else {
-                EjbRefType targetEjbRef = (EjbRefType) webApp.addNewEjbRef().set(srcEjbRef);
-                mergeContext.setAttribute(ejbRefKey, new MergeItem(targetEjbRef, mergeContext.getCurrentJarUrl(), ElementSource.WEB_FRAGMENT));
-                for (InjectionTargetType injectionTarget : targetEjbRef.getInjectionTargetArray()) {
-                    mergeContext.setAttribute(createEjbRefInjectTargetKey(ejbRefName, injectionTarget.getInjectionTargetClass().getStringValue(), injectionTarget.getInjectionTargetName()
-                            .getStringValue()), Boolean.TRUE);
+                webApp.getEjbRef().add(srcEjbRef);
+                mergeContext.setAttribute(ejbRefKey, new MergeItem(srcEjbRef, mergeContext.getCurrentJarUrl(), ElementSource.WEB_FRAGMENT));
+                for (InjectionTarget injectionTarget : srcEjbRef.getInjectionTarget()) {
+                    mergeContext.setAttribute(createEjbRefInjectTargetKey(ejbRefName, injectionTarget.getInjectionTargetClass(), injectionTarget.getInjectionTargetName()
+                            ), Boolean.TRUE);
                 }
             }
         }
     }
 
     @Override
-    public void postProcessWebXmlElement(WebAppType webApp, MergeContext context) throws DeploymentException {
+    public void postProcessWebXmlElement(WebApp webApp, MergeContext context) throws DeploymentException {
     }
 
     @Override
-    public void preProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
-        for (EjbRefType ejbRef : webApp.getEjbRefArray()) {
-            String ejbRefName = ejbRef.getEjbRefName().getStringValue();
+    public void preProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
+        for (EjbRef ejbRef : webApp.getEjbRef()) {
+            String ejbRefName = ejbRef.getEjbRefName();
             mergeContext.setAttribute(createEjbRefKey(ejbRefName), new MergeItem(ejbRef, null, ElementSource.WEB_XML));
             //Create an attribute tag to indicate whether injectTarget is configured in web.xml file
-            if (ejbRef.getInjectionTargetArray().length > 0) {
+            if (ejbRef.getInjectionTarget().size() > 0) {
                 mergeContext.setAttribute(createEjbRefInjectTargetConfiguredInWebXMLKey(ejbRefName), Boolean.TRUE);
             }
-            for (InjectionTargetType injectionTarget : ejbRef.getInjectionTargetArray()) {
-                mergeContext.setAttribute(createEjbRefInjectTargetKey(ejbRefName, injectionTarget.getInjectionTargetClass().getStringValue(), injectionTarget.getInjectionTargetName()
-                        .getStringValue()), Boolean.TRUE);
+            for (InjectionTarget injectionTarget : ejbRef.getInjectionTarget()) {
+                mergeContext.setAttribute(createEjbRefInjectTargetKey(ejbRefName, injectionTarget.getInjectionTargetClass(), injectionTarget.getInjectionTargetName()
+                        ), Boolean.TRUE);
             }
         }
     }

Modified: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/EnvEntryMergeHandler.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/EnvEntryMergeHandler.java?rev=957655&r1=957654&r2=957655&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/EnvEntryMergeHandler.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/merge/webfragment/EnvEntryMergeHandler.java Thu Jun 24 18:06:24 2010
@@ -22,15 +22,15 @@ import org.apache.geronimo.web25.deploym
 import org.apache.geronimo.web25.deployment.merge.MergeContext;
 import org.apache.geronimo.web25.deployment.merge.MergeItem;
 import org.apache.geronimo.web25.deployment.utils.WebDeploymentMessageUtils;
-import org.apache.geronimo.xbeans.javaee6.EnvEntryType;
-import org.apache.geronimo.xbeans.javaee6.InjectionTargetType;
-import org.apache.geronimo.xbeans.javaee6.WebAppType;
-import org.apache.geronimo.xbeans.javaee6.WebFragmentType;
+import org.apache.openejb.jee.EnvEntry;
+import org.apache.openejb.jee.InjectionTarget;
+import org.apache.openejb.jee.WebApp;
+import org.apache.openejb.jee.WebFragment;
 
 /**
  * @version $Rev$ $Date$
  */
-public class EnvEntryMergeHandler implements WebFragmentMergeHandler<WebFragmentType, WebAppType> {
+public class EnvEntryMergeHandler implements WebFragmentMergeHandler<WebFragment, WebApp> {
 
     public static final String ENV_ENTRY_NAME_PREFIX = "env-entry.env-entry-name.";
 
@@ -42,9 +42,9 @@ public class EnvEntryMergeHandler implem
      * b. web.xml file should inherit it from the web-fragment.xml file
      */
     @Override
-    public void merge(WebFragmentType webFragment, WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
-        for (EnvEntryType srcEnvEntry : webFragment.getEnvEntryArray()) {
-            String envEntryName = srcEnvEntry.getEnvEntryName().getStringValue();
+    public void merge(WebFragment webFragment, WebApp webApp, MergeContext mergeContext) throws DeploymentException {
+        for (EnvEntry srcEnvEntry : webFragment.getEnvEntry()) {
+            String envEntryName = srcEnvEntry.getEnvEntryName();
             String envEntryKey = createEnvEntryKey(envEntryName);
             MergeItem mergeItem = (MergeItem) mergeContext.getAttribute(envEntryKey);
             if (mergeItem != null) {
@@ -52,43 +52,43 @@ public class EnvEntryMergeHandler implem
                     throw new DeploymentException(WebDeploymentMessageUtils.createDuplicateJNDIRefMessage("env-entry", envEntryName, mergeItem.getBelongedURL(), mergeContext.getCurrentJarUrl()));
                 } else if (mergeItem.isFromWebXml() && !isEnvEntryInjectTargetsConfiguredInInitialWebXML(envEntryName, mergeContext)) {
                     //Merge InjectTarget
-                    EnvEntryType envEntry = (EnvEntryType) mergeItem.getValue();
-                    for (InjectionTargetType injectTarget : srcEnvEntry.getInjectionTargetArray()) {
-                        String envEntryInjectTargetKey = createEnvEntryInjectTargetKey(envEntryName, injectTarget.getInjectionTargetClass().getStringValue(), injectTarget
-                                .getInjectionTargetName().getStringValue());
+                    EnvEntry envEntry = (EnvEntry) mergeItem.getValue();
+                    for (InjectionTarget injectTarget : srcEnvEntry.getInjectionTarget()) {
+                        String envEntryInjectTargetKey = createEnvEntryInjectTargetKey(envEntryName, injectTarget.getInjectionTargetClass(), injectTarget
+                                .getInjectionTargetName());
                         if (!mergeContext.containsAttribute(envEntryInjectTargetKey)) {
-                            envEntry.addNewInjectionTarget().set(injectTarget);
+                            envEntry.getInjectionTarget().add(injectTarget);
                             mergeContext.setAttribute(envEntryInjectTargetKey, Boolean.TRUE);
                         }
                     }
                 }
             } else {
-                EnvEntryType targetEnvEntry = (EnvEntryType) webApp.addNewEnvEntry().set(srcEnvEntry);
-                mergeContext.setAttribute(envEntryKey, new MergeItem(targetEnvEntry, mergeContext.getCurrentJarUrl(), ElementSource.WEB_FRAGMENT));
-                for (InjectionTargetType injectionTarget : targetEnvEntry.getInjectionTargetArray()) {
-                    mergeContext.setAttribute(createEnvEntryInjectTargetKey(envEntryName, injectionTarget.getInjectionTargetClass().getStringValue(), injectionTarget.getInjectionTargetName()
-                            .getStringValue()), Boolean.TRUE);
+                webApp.getEnvEntry().add(srcEnvEntry);
+                mergeContext.setAttribute(envEntryKey, new MergeItem(srcEnvEntry, mergeContext.getCurrentJarUrl(), ElementSource.WEB_FRAGMENT));
+                for (InjectionTarget injectionTarget : srcEnvEntry.getInjectionTarget()) {
+                    mergeContext.setAttribute(createEnvEntryInjectTargetKey(envEntryName, injectionTarget.getInjectionTargetClass(), injectionTarget.getInjectionTargetName()
+                            ), Boolean.TRUE);
                 }
             }
         }
     }
 
     @Override
-    public void postProcessWebXmlElement(WebAppType webApp, MergeContext context) throws DeploymentException {
+    public void postProcessWebXmlElement(WebApp webApp, MergeContext context) throws DeploymentException {
     }
 
     @Override
-    public void preProcessWebXmlElement(WebAppType webApp, MergeContext mergeContext) throws DeploymentException {
-        for (EnvEntryType envEntry : webApp.getEnvEntryArray()) {
-            String envEntryName = envEntry.getEnvEntryName().getStringValue();
+    public void preProcessWebXmlElement(WebApp webApp, MergeContext mergeContext) throws DeploymentException {
+        for (EnvEntry envEntry : webApp.getEnvEntry()) {
+            String envEntryName = envEntry.getEnvEntryName();
             mergeContext.setAttribute(createEnvEntryKey(envEntryName), new MergeItem(envEntry, null, ElementSource.WEB_XML));
             //Create an attribute tag to indicate whether injectTarget is configured in web.xml file
-            if (envEntry.getInjectionTargetArray().length > 0) {
+            if (envEntry.getInjectionTarget().size() > 0) {
                 mergeContext.setAttribute(createEnvEntryInjectTargetConfiguredInWebXMLKey(envEntryName), Boolean.TRUE);
             }
-            for (InjectionTargetType injectionTarget : envEntry.getInjectionTargetArray()) {
-                mergeContext.setAttribute(createEnvEntryInjectTargetKey(envEntryName, injectionTarget.getInjectionTargetClass().getStringValue(), injectionTarget.getInjectionTargetName()
-                        .getStringValue()), Boolean.TRUE);
+            for (InjectionTarget injectionTarget : envEntry.getInjectionTarget()) {
+                mergeContext.setAttribute(createEnvEntryInjectTargetKey(envEntryName, injectionTarget.getInjectionTargetClass(), injectionTarget.getInjectionTargetName()
+                        ), Boolean.TRUE);
             }
         }
     }