geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From djen...@apache.org
Subject svn commit: r924465 - in /geronimo/server/trunk/plugins: client/geronimo-client-builder/src/main/java/org/apache/geronimo/client/builder/ connector-1_6/connector-deployer-1_6/src/main/history/ connector-1_6/geronimo-connector-1_6/src/main/java/org/apac...
Date Wed, 17 Mar 2010 20:22:43 GMT
Author: djencks
Date: Wed Mar 17 20:22:42 2010
New Revision: 924465

URL: http://svn.apache.org/viewvc?rev=924465&view=rev
Log:
GERONIMO-5190, GERONIMO-4360. Make jaxb dd objects fit into deployment system a little bit, and add some incomplete connector annotation support

Modified:
    geronimo/server/trunk/plugins/client/geronimo-client-builder/src/main/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java
    geronimo/server/trunk/plugins/connector-1_6/connector-deployer-1_6/src/main/history/dependencies.xml
    geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/wrapper/ActivationSpecWrapperGBean.java
    geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/pom.xml
    geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/main/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java
    geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilderTest.java
    geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/java/org/apache/geronimo/connector/deployment/SchemaConversionTest.java
    geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/AppClientModule.java
    geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/ApplicationInfo.java
    geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/ConnectorModule.java
    geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/EJBModule.java
    geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/Module.java
    geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/WebModule.java
    geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/AbstractWebModuleBuilder.java
    geronimo/server/trunk/plugins/openjpa2/geronimo-persistence-jpa20-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceUnitBuilder.java

Modified: geronimo/server/trunk/plugins/client/geronimo-client-builder/src/main/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/client/geronimo-client-builder/src/main/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java?rev=924465&r1=924464&r2=924465&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/client/geronimo-client-builder/src/main/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java (original)
+++ geronimo/server/trunk/plugins/client/geronimo-client-builder/src/main/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java Wed Mar 17 20:22:42 2010
@@ -590,9 +590,9 @@ public class AppClientModuleBuilder impl
     }
 
     public void initContext(EARContext earContext, Module clientModule, Bundle bundle) throws DeploymentException {
-        namingBuilders.buildEnvironment(clientModule.getSpecDD(), clientModule.getVendorDD(), clientModule.getEnvironment());
-
         AppClientModule appClientModule = ((AppClientModule) clientModule);
+        namingBuilders.buildEnvironment(appClientModule.getSpecDD(), appClientModule.getVendorDD(), clientModule.getEnvironment());
+
         for (ConnectorModule connectorModule : appClientModule.getResourceModules()) {
             getConnectorModuleBuilder().initContext(appClientModule.getEarContext(), connectorModule, bundle);
         }

Modified: geronimo/server/trunk/plugins/connector-1_6/connector-deployer-1_6/src/main/history/dependencies.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector-1_6/connector-deployer-1_6/src/main/history/dependencies.xml?rev=924465&r1=924464&r2=924465&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/connector-1_6/connector-deployer-1_6/src/main/history/dependencies.xml (original)
+++ geronimo/server/trunk/plugins/connector-1_6/connector-deployer-1_6/src/main/history/dependencies.xml Wed Mar 17 20:22:42 2010
@@ -47,6 +47,11 @@
         <type>jar</type>
     </dependency>
     <dependency>
+        <groupId>org.apache.openejb</groupId>
+        <artifactId>openejb-jee</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
         <groupId>org.apache.servicemix.bundles</groupId>
         <artifactId>org.apache.servicemix.bundles.xmlresolver</artifactId>
         <type>jar</type>

Modified: geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/wrapper/ActivationSpecWrapperGBean.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/wrapper/ActivationSpecWrapperGBean.java?rev=924465&r1=924464&r2=924465&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/wrapper/ActivationSpecWrapperGBean.java (original)
+++ geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-1_6/src/main/java/org/apache/geronimo/connector/wrapper/ActivationSpecWrapperGBean.java Wed Mar 17 20:22:42 2010
@@ -17,29 +17,31 @@
 
 package org.apache.geronimo.connector.wrapper;
 
-import javax.resource.spi.endpoint.MessageEndpointFactory;
-
+import org.apache.geronimo.connector.ActivationSpecWrapper;
+import org.apache.geronimo.connector.ResourceAdapterWrapper;
 import org.apache.geronimo.gbean.DynamicGBean;
 import org.apache.geronimo.gbean.DynamicGBeanDelegate;
-import org.apache.geronimo.gbean.GBeanInfo;
-import org.apache.geronimo.gbean.GBeanInfoBuilder;
+import org.apache.geronimo.gbean.annotation.GBean;
+import org.apache.geronimo.gbean.annotation.ParamAttribute;
+import org.apache.geronimo.gbean.annotation.ParamReference;
+import org.apache.geronimo.gbean.annotation.ParamSpecial;
+import org.apache.geronimo.gbean.annotation.SpecialAttributeType;
 import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
-import org.apache.geronimo.connector.ActivationSpecWrapper;
-import org.apache.geronimo.connector.ResourceAdapterWrapper;
 
 /**
  * 
  * @version $Revision$
  */
+
+@GBean(j2eeType = NameFactory.JCA_ACTIVATION_SPEC)
 public class ActivationSpecWrapperGBean extends ActivationSpecWrapper implements DynamicGBean {
 
     private final DynamicGBeanDelegate delegate;
 
-    public ActivationSpecWrapperGBean() {
-        delegate = null;
-    }
-
-    public ActivationSpecWrapperGBean(final String activationSpecClass, final String containerId, final ResourceAdapterWrapper resourceAdapterWrapper, final ClassLoader cl) throws IllegalAccessException, InstantiationException, ClassNotFoundException {
+    public ActivationSpecWrapperGBean(@ParamAttribute(name="activationSpecClass")final String activationSpecClass,
+                                      @ParamAttribute(name="containerId")final String containerId,
+                                      @ParamReference(name="ResourceAdapaterWrapper", namingType = NameFactory.RESOURCE_ADAPTER)final ResourceAdapterWrapper resourceAdapterWrapper,
+                                      @ParamSpecial(type = SpecialAttributeType.classLoader)final ClassLoader cl) throws IllegalAccessException, InstantiationException, ClassNotFoundException {
         super(activationSpecClass, containerId, resourceAdapterWrapper, cl);
         delegate = new DynamicGBeanDelegate();
         delegate.addAll(activationSpec);
@@ -83,27 +85,4 @@ public class ActivationSpecWrapperGBean 
         return null;
     }
 
-    public static final GBeanInfo GBEAN_INFO;
-
-    static {
-        GBeanInfoBuilder infoBuilder = GBeanInfoBuilder.createStatic(ActivationSpecWrapperGBean.class, NameFactory.JCA_ACTIVATION_SPEC);
-        infoBuilder.addAttribute("activationSpecClass", String.class, true);
-        infoBuilder.addAttribute("containerId", String.class, true);
-        infoBuilder.addAttribute("classLoader", ClassLoader.class, false);
-
-        infoBuilder.addReference("ResourceAdapterWrapper", ResourceAdapterWrapper.class, NameFactory.RESOURCE_ADAPTER);
-
-        infoBuilder.setConstructor(new String[]{
-            "activationSpecClass",
-            "containerId",
-            "ResourceAdapterWrapper",
-            "classLoader"});
-
-        GBEAN_INFO = infoBuilder.getBeanInfo();
-    }
-
-    public static GBeanInfo getGBeanInfo() {
-        return GBEAN_INFO;
-    }
-
 }

Modified: geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/pom.xml?rev=924465&r1=924464&r2=924465&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/pom.xml (original)
+++ geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/pom.xml Wed Mar 17 20:22:42 2010
@@ -62,9 +62,14 @@
             <version>${version}</version>
         </dependency>
 
+        <!--<dependency>-->
+            <!--<groupId>org.apache.geronimo.schema</groupId>-->
+            <!--<artifactId>geronimo-schema-j2ee_1.4</artifactId>-->
+        <!--</dependency>-->
         <dependency>
-            <groupId>org.apache.geronimo.schema</groupId>
-            <artifactId>geronimo-schema-j2ee_1.4</artifactId>
+            <groupId>org.apache.openejb</groupId>
+            <artifactId>openejb-jee</artifactId>
+            <version>3.1.3-SNAPSHOT</version>
         </dependency>
 
         <dependency>

Modified: geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/main/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/main/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java?rev=924465&r1=924464&r2=924465&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/main/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java (original)
+++ geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/main/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java Wed Mar 17 20:22:42 2010
@@ -18,12 +18,16 @@ package org.apache.geronimo.connector.de
 
 import java.beans.Introspector;
 import java.beans.PropertyEditor;
+import java.io.Externalizable;
 import java.io.File;
 import java.io.IOException;
+import java.io.InputStream;
+import java.io.Serializable;
 import java.lang.reflect.Method;
 import java.net.URI;
 import java.net.URL;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Date;
@@ -38,6 +42,11 @@ import java.util.TreeMap;
 import java.util.jar.JarFile;
 import java.util.zip.ZipEntry;
 
+import javax.resource.spi.Activation;
+import javax.resource.spi.AdministeredObject;
+import javax.resource.spi.ConnectionDefinitions;
+import javax.resource.spi.ManagedConnectionFactory;
+import javax.xml.bind.JAXBException;
 import javax.xml.namespace.QName;
 import org.apache.geronimo.common.DeploymentException;
 import org.apache.geronimo.common.propertyeditor.PropertyEditors;
@@ -76,6 +85,7 @@ import org.apache.geronimo.gbean.GBeanIn
 import org.apache.geronimo.gbean.GBeanLifecycle;
 import org.apache.geronimo.gbean.InvalidConfigurationException;
 import org.apache.geronimo.gbean.MultiGBeanInfoFactory;
+import org.apache.geronimo.gbean.annotation.AnnotationGBeanInfoBuilder;
 import org.apache.geronimo.j2ee.deployment.ActivationSpecInfoLocator;
 import org.apache.geronimo.j2ee.deployment.ConnectorModule;
 import org.apache.geronimo.j2ee.deployment.EARContext;
@@ -88,6 +98,7 @@ import org.apache.geronimo.kernel.GBeanN
 import org.apache.geronimo.kernel.Naming;
 import org.apache.geronimo.kernel.config.Configuration;
 import org.apache.geronimo.kernel.config.ConfigurationStore;
+import org.apache.geronimo.kernel.osgi.BundleAnnotationFinder;
 import org.apache.geronimo.kernel.repository.Environment;
 import org.apache.geronimo.kernel.util.JarUtils;
 import org.apache.geronimo.management.JCAConnectionFactory;
@@ -108,20 +119,27 @@ import org.apache.geronimo.xbeans.connec
 import org.apache.geronimo.xbeans.connector.GerResourceadapterInstanceType;
 import org.apache.geronimo.xbeans.connector.GerResourceadapterType;
 import org.apache.geronimo.xbeans.connector.GerSinglepoolType;
-import org.apache.geronimo.xbeans.javaee6.ActivationspecType;
-import org.apache.geronimo.xbeans.javaee6.AdminobjectType;
-import org.apache.geronimo.xbeans.javaee6.ConfigPropertyType;
-import org.apache.geronimo.xbeans.javaee6.ConnectionDefinitionType;
-import org.apache.geronimo.xbeans.javaee6.ConnectorDocument;
-import org.apache.geronimo.xbeans.javaee6.ConnectorType;
-import org.apache.geronimo.xbeans.javaee6.MessagelistenerType;
-import org.apache.geronimo.xbeans.javaee6.ResourceadapterType;
+import org.apache.openejb.jee.ActivationSpec;
+import org.apache.openejb.jee.AdminObject;
+import org.apache.openejb.jee.ConfigProperty;
+import org.apache.openejb.jee.ConnectionDefinition;
+import org.apache.openejb.jee.Connector;
+import org.apache.openejb.jee.InboundResource;
+import org.apache.openejb.jee.JaxbJavaee;
+import org.apache.openejb.jee.MessageAdapter;
+import org.apache.openejb.jee.MessageListener;
+import org.apache.openejb.jee.OutboundResourceAdapter;
+import org.apache.openejb.jee.ResourceAdapter;
+import org.apache.openejb.jee.TransactionSupportType;
 import org.apache.xmlbeans.XmlCursor;
 import org.apache.xmlbeans.XmlException;
 import org.apache.xmlbeans.XmlObject;
 import org.osgi.framework.Bundle;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.packageadmin.PackageAdmin;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.xml.sax.SAXException;
 
 /**
  * @version $Rev:385659 $ $Date$
@@ -133,6 +151,7 @@ public class ConnectorModuleBuilder impl
     private static QName CONNECTOR_QNAME = GerConnectorDocument.type.getDocumentElementName();
     static final String GERCONNECTOR_NAMESPACE = CONNECTOR_QNAME.getNamespaceURI();
     private static final Map<String, String> NAMESPACE_UPDATES = new HashMap<String, String>();
+
     static {
         NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/j2ee/connector", "http://geronimo.apache.org/xml/ns/j2ee/connector-1.2");
         NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/j2ee/connector-1.1", "http://geronimo.apache.org/xml/ns/j2ee/connector-1.2");
@@ -140,6 +159,7 @@ public class ConnectorModuleBuilder impl
     }
 
     private static final Map<String, Class> TYPE_LOOKUP = new HashMap<String, Class>();
+
     static {
         TYPE_LOOKUP.put("byte", Byte.class);
         TYPE_LOOKUP.put(Byte.class.getName(), Byte.class);
@@ -171,14 +191,14 @@ public class ConnectorModuleBuilder impl
     private final String defaultWorkManagerName;
 
     public ConnectorModuleBuilder(Environment defaultEnvironment,
-            int defaultMaxSize,
-            int defaultMinSize,
-            int defaultBlockingTimeoutMilliseconds,
-            int defaultIdleTimeoutMinutes,
-            boolean defaultXATransactionCaching,
-            boolean defaultXAThreadCaching,
-            String defaultWorkManagerName,
-            Collection<NamespaceDrivenBuilder> serviceBuilders) {
+                                  int defaultMaxSize,
+                                  int defaultMinSize,
+                                  int defaultBlockingTimeoutMilliseconds,
+                                  int defaultIdleTimeoutMinutes,
+                                  boolean defaultXATransactionCaching,
+                                  boolean defaultXAThreadCaching,
+                                  String defaultWorkManagerName,
+                                  Collection<NamespaceDrivenBuilder> serviceBuilders) {
         this.defaultEnvironment = defaultEnvironment;
 
         this.defaultMaxSize = defaultMaxSize;
@@ -220,8 +240,8 @@ public class ConnectorModuleBuilder impl
         assert targetPath != null : "targetPath is null";
         assert !targetPath.endsWith("/") : "targetPath must not end with a '/'";
 
-        String specDD;
-        XmlObject connector;
+        String specDD = null;
+        Connector connector = null;
         try {
             if (specDDUrl == null) {
                 specDDUrl = JarUtils.createJarURL(moduleFile, "META-INF/ra.xml");
@@ -231,17 +251,33 @@ public class ConnectorModuleBuilder impl
             // on the J2ee management object
             specDD = JarUtils.readAll(specDDUrl);
         } catch (Exception e) {
-            //no ra.xml, not for us.
-            return null;
+            if (!moduleFile.getName().endsWith(".rar")) {
+                //no ra.xml, not a .rar file, not for us.
+                return null;
+            }
         }
         //we found ra.xml, if it won't parse it's an error.
-        try {
-            // parse it
-            XmlObject xmlObject = XmlBeansUtil.parse(specDD);
-            ConnectorDocument connectorDoc = convertToConnectorSchema(xmlObject);
-            connector = connectorDoc.getConnector();
-        } catch (XmlException e) {
-            throw new DeploymentException("Could not parse ra.xml descriptor", e);
+        // parse it
+        if (specDD != null) {
+            XmlObject xmlObject;
+            try {
+                xmlObject = XmlBeansUtil.parse(specDD);
+                xmlObject = convertToConnectorSchema(xmlObject);
+            } catch (XmlException e) {
+                throw new DeploymentException("Could not read or convert ra.xml with xmlbeans: "  + specDDUrl.toExternalForm(), e);
+            }
+            InputStream in = xmlObject.newInputStream();
+            try {
+                connector = (Connector) JaxbJavaee.unmarshal(Connector.class, in);
+            } catch (SAXException e) {
+                throw new DeploymentException("Cannot parse the ra.xml file: " + specDDUrl.toExternalForm(), e);
+            } catch (JAXBException e) {
+                throw new DeploymentException("Cannot unmarshall the ra.xml file: " + specDDUrl.toExternalForm(), e);
+//            } catch (IOException e) {
+//                throw new DeploymentException("Cannot read the ra.xml file: " + specDDUrl.toExternalForm(), e);
+            } catch (Exception e) {
+                throw new DeploymentException("Encountered unknown error parsing the ra.xml file: " + specDDUrl.toExternalForm(), e);
+            }
         }
         GerConnectorType gerConnector = null;
         try {
@@ -311,15 +347,12 @@ public class ConnectorModuleBuilder impl
 
         boolean standAlone = earEnvironment == null;
         AnnotatedApp annotatedApp = null;
-        return new ConnectorModule(standAlone, moduleName, environment, moduleFile, targetPath, connector, gerConnector, specDD, annotatedApp);
+        return new ConnectorModule<Connector, XmlObject>(standAlone, moduleName, environment, moduleFile, targetPath, connector, gerConnector, specDD, annotatedApp);
 
     }
 
-    static ConnectorDocument convertToConnectorSchema(XmlObject xmlObject) throws XmlException {
-        if (ConnectorDocument.type.equals(xmlObject.schemaType())) {
-            XmlBeansUtil.validateDD(xmlObject);
-            return (ConnectorDocument) xmlObject;
-        }
+
+    static XmlObject convertToConnectorSchema(XmlObject xmlObject) throws XmlException {
         XmlCursor cursor = xmlObject.newCursor();
         cursor.toStartDoc();
         cursor.toFirstChild();
@@ -328,9 +361,9 @@ public class ConnectorModuleBuilder impl
             String version = "1.6";
             if ("http://java.sun.com/xml/ns/j2ee".equals(cursor.getName().getNamespaceURI())) {
                 SchemaConversionUtils.convertSchemaVersion(cursor, SchemaConversionUtils.JAVAEE_NAMESPACE, schemaLocationURL, version);
-                XmlObject result = xmlObject.changeType(ConnectorDocument.type);
-                XmlBeansUtil.validateDD(result);
-                return (ConnectorDocument) result;
+//                XmlObject result = xmlObject.changeType(ConnectorDocument.type);
+//                XmlBeansUtil.validateDD(result);
+                return xmlObject;
             } else if ("-//Sun Microsystems, Inc.//DTD Connector 1.0//EN".equals(cursor.documentProperties().getDoctypePublicId())) {
                 XmlCursor moveable = xmlObject.newCursor();
                 try {
@@ -381,14 +414,14 @@ public class ConnectorModuleBuilder impl
         } finally {
             cursor.dispose();
         }
-        XmlObject result = xmlObject.changeType(ConnectorDocument.type);
-        if (result != null) {
-            XmlBeansUtil.validateDD(result);
-            return (ConnectorDocument) result;
-        }
-        XmlBeansUtil.validateDD(xmlObject);
-        return (ConnectorDocument) xmlObject;
-
+//        XmlObject result = xmlObject.changeType(ConnectorDocument.type);
+//        if (result != null) {
+//            XmlBeansUtil.validateDD(result);
+//            return (ConnectorDocument) result;
+//        }
+//        XmlBeansUtil.validateDD(xmlObject);
+//        return (ConnectorDocument) xmlObject;
+        return xmlObject;
     }
 
     public void installModule(JarFile earFile, EARContext earContext, Module module, Collection configurationStores, ConfigurationStore targetConfigurationStore, Collection repository) throws DeploymentException {
@@ -404,6 +437,7 @@ public class ConnectorModuleBuilder impl
             // See AbstractWebModuleBuilder.
             earContext.addManifestClassPath(moduleFile, URI.create(module.getTargetPath()));
 
+            boolean looseClasses = false;
             Enumeration entries = moduleFile.entries();
             while (entries.hasMoreElements()) {
                 ZipEntry entry = (ZipEntry) entries.nextElement();
@@ -412,8 +446,14 @@ public class ConnectorModuleBuilder impl
                     earContext.addInclude(target, moduleFile, entry);
                 } else {
                     earContext.addFile(target, moduleFile, entry);
+                    if (entry.getName().endsWith(".class")) {
+                        looseClasses = true;
+                    }
                 }
             }
+            if (looseClasses) {
+                earContext.addToClassPath(module.resolve(".").getPath());
+            }
 
         } catch (IOException e) {
             throw new DeploymentException("Problem deploying connector", e);
@@ -421,9 +461,122 @@ public class ConnectorModuleBuilder impl
     }
 
     public void initContext(EARContext earContext, Module module, Bundle bundle) throws DeploymentException {
-        ConnectorModule resourceModule = (ConnectorModule) module;
+        log.info("deploying bundle " + bundle + " at " + bundle.getLocation());
+        ConnectorModule<Connector, XmlObject> resourceModule = (ConnectorModule<Connector, XmlObject>) module;
+
+        BundleAnnotationFinder classFinder;
+        ServiceReference sr = bundle.getBundleContext().getServiceReference(PackageAdmin.class.getName());
+        PackageAdmin packageAdmin = (PackageAdmin) bundle.getBundleContext().getService(sr);
+        try {
+            classFinder = new BundleAnnotationFinder(packageAdmin, bundle);
+        } catch (Exception e) {
+            throw new DeploymentException("could not create class finder for rar bundle " + bundle, e);
+        }
+
+        Connector connector = resourceModule.getSpecDD();
+        Class<? extends javax.resource.spi.ResourceAdapter> raClass = null;
+        if (connector == null) {
+            List<Class> resourceAdapterClasses = classFinder.findAnnotatedClasses(javax.resource.spi.Connector.class);
+            if (resourceAdapterClasses.size() != 1) {
+                throw new DeploymentException("Not exactly one resource adapter: " + resourceAdapterClasses);
+            }
+            raClass = resourceAdapterClasses.get(0);
+            javax.resource.spi.Connector ra = raClass.getAnnotation(javax.resource.spi.Connector.class);
+            connector = new Connector();
+//          connector.setDescriptions(ra.description());
+            ResourceAdapter resourceAdapter = new ResourceAdapter();
+            connector.setResourceAdapter(resourceAdapter);
+            resourceAdapter.setResourceAdapterClass(raClass.getName());
+            OutboundResourceAdapter outboundResourceAdapter = new OutboundResourceAdapter();
+            outboundResourceAdapter.setReauthenticationSupport(ra.reauthenticationSupport());
+            outboundResourceAdapter.setTransactionSupport(TransactionSupportType.fromValue(ra.transactionSupport().toString()));
+            resourceAdapter.setOutboundResourceAdapter(outboundResourceAdapter);
+            //TODO required work contexts
+        } else  {
+            String raClassName = connector.getResourceAdapter().getResourceAdapterClass();
+            if (raClassName != null) {
+                try {
+                    raClass = bundle.loadClass(raClassName).asSubclass(javax.resource.spi.ResourceAdapter.class);
+                } catch (ClassNotFoundException e) {
+
+                }
+            }      
+        }
+        if (raClass != null/*and not metadata complete */) {
+            //TODO configproperties
+        }
+
+        //inbound
+        InboundResource inboundResource = connector.getResourceAdapter().getInboundResourceAdapter();
+        if (inboundResource == null) {
+            inboundResource = new InboundResource();
+            inboundResource.setMessageAdapter(new MessageAdapter());
+        }
+        MessageAdapter messageAdapter = inboundResource.getMessageAdapter();
+        List<Class> activationSpecClasses = classFinder.findAnnotatedClasses(Activation.class);
+
+        for (Class<?> asClass: activationSpecClasses) {
+            Activation activation = asClass.getAnnotation(Activation.class);
+            for (Class messageListenerClass: activation.messageListeners()) {
+                MessageListener messageListener = new MessageListener();
+                messageListener.setMessageListenerType(messageListenerClass.getName());
+                ActivationSpec activationSpec = new ActivationSpec();
+                activationSpec.setActivationSpecClass(asClass.getName());
+                //TODO set required config properties from @NotNull annotations
+                messageListener.setActivationSpec(activationSpec);
+                messageAdapter.getMessageListener().add(messageListener);
+            }
+        }
+        if (connector.getResourceAdapter().getInboundResourceAdapter() == null && inboundResource.getMessageAdapter().getMessageListener().size() > 0) {
+            connector.getResourceAdapter().setInboundResourceAdapter(inboundResource);
+        }
+
+        //admin objects
+        for (Class adminObjectClass: classFinder.findAnnotatedClasses(AdministeredObject.class)) {
+            AdministeredObject administeredObject = (AdministeredObject) adminObjectClass.getAnnotation(AdministeredObject.class);
+            Class[] interfaces = administeredObject.adminObjectInterfaces();
+            if (interfaces == null || interfaces.length == 0) {
+                List<Class> allInterfaces = new ArrayList<Class>(Arrays.asList(adminObjectClass.getInterfaces()));
+                allInterfaces.remove(Serializable.class);
+                allInterfaces.remove(Externalizable.class);
+                //TODO check if specified in ra.xml
+                if (allInterfaces.size() != 1) {
+                    throw new DeploymentException("Interface for admin object not specified properly: " + allInterfaces);
+                }
+                interfaces = allInterfaces.toArray(new Class[1]);
+            }
+            for (Class aoInterface: interfaces) {
+                AdminObject adminObject = new AdminObject();
+                adminObject.setAdminObjectInterface(aoInterface.getName());
+                adminObject.setAdminObjectClass(adminObjectClass.getName());
+                //TODO configproperties
+                adminObject.getConfigProperty();
+                connector.getResourceAdapter().getAdminObject().add(adminObject);
+            }
+        }
+
+        OutboundResourceAdapter outboundResourceAdapter = connector.getResourceAdapter().getOutboundResourceAdapter();
+        if (outboundResourceAdapter == null) {
+            outboundResourceAdapter = new OutboundResourceAdapter();
+        }
+
+        //outbound
+        for (Class<? extends ManagedConnectionFactory> mcfClass: classFinder.findAnnotatedClasses(javax.resource.spi.ConnectionDefinition.class)) {
+            javax.resource.spi.ConnectionDefinition connectionDefinitionAnnotation = mcfClass.getAnnotation(javax.resource.spi.ConnectionDefinition.class);
+            ConnectionDefinition connectionDefinition = buildConnectionDefinition(mcfClass, connectionDefinitionAnnotation);
+            outboundResourceAdapter.getConnectionDefinition().add(connectionDefinition);
+        }
+        for (Class<? extends ManagedConnectionFactory> mcfClass: classFinder.findAnnotatedClasses(ConnectionDefinitions.class)) {
+            ConnectionDefinitions connectionDefinitionAnnotations = mcfClass.getAnnotation(ConnectionDefinitions.class);
+            for (javax.resource.spi.ConnectionDefinition connectionDefinitionAnnotation: connectionDefinitionAnnotations.value()) {
+                ConnectionDefinition connectionDefinition = buildConnectionDefinition(mcfClass, connectionDefinitionAnnotation);
+                outboundResourceAdapter.getConnectionDefinition().add(connectionDefinition);
+            }
+        }
+        if (outboundResourceAdapter.getConnectionDefinition().size() >0) {
+            connector.getResourceAdapter().setOutboundResourceAdapter(outboundResourceAdapter);
+        }
 
-        final ConnectorType connector = (ConnectorType) module.getSpecDD();
 
         /*
         The chain of idiotic jsr-77 meaningless objects is:
@@ -455,45 +608,44 @@ public class ConnectorModuleBuilder impl
         resourceAdapterModuleData.setReferencePattern("ResourceAdapter", resourceAdapterjsr77Name);
 
         resourceAdapterModuleData.setAttribute("deploymentDescriptor", module.getOriginalSpecDD());
-        resourceAdapterModuleData.setAttribute("displayName", connector.getDisplayNameArray().length == 0 ? null : connector.getDisplayNameArray(0).getStringValue());
-        resourceAdapterModuleData.setAttribute("description", connector.getDescriptionArray().length == 0 ? null : connector.getDescriptionArray(0).getStringValue());
-        resourceAdapterModuleData.setAttribute("vendorName", connector.getVendorName().getStringValue());
-        resourceAdapterModuleData.setAttribute("EISType", connector.getEisType().getStringValue());
-        resourceAdapterModuleData.setAttribute("resourceAdapterVersion", connector.getResourceadapterVersion().getStringValue());
+        resourceAdapterModuleData.setAttribute("displayName", connector.getDisplayName());
+        resourceAdapterModuleData.setAttribute("description", connector.getDescription());
+        resourceAdapterModuleData.setAttribute("vendorName", connector.getVendorName());
+        resourceAdapterModuleData.setAttribute("EISType", connector.getEisType());
+        resourceAdapterModuleData.setAttribute("resourceAdapterVersion", connector.getResourceAdapterVersion());
 
-        ResourceadapterType resourceadapter = connector.getResourceadapter();
+        ResourceAdapter resourceAdapter = connector.getResourceAdapter();
         // Create the resource adapter gbean
-        if (resourceadapter.isSetResourceadapterClass()) {
+        if (resourceAdapter.getResourceAdapterClass() != null) {
             GBeanInfoBuilder resourceAdapterInfoBuilder = new GBeanInfoBuilder(ResourceAdapterWrapperGBean.class, new MultiGBeanInfoFactory().getGBeanInfo(ResourceAdapterWrapperGBean.class));
-            String resourceAdapterClassName = resourceadapter.getResourceadapterClass().getStringValue().trim();
-            GBeanData resourceAdapterGBeanData = setUpDynamicGBeanWithProperties(resourceAdapterClassName, resourceAdapterInfoBuilder, resourceadapter.getConfigPropertyArray(), bundle, Collections.<String>emptySet());
+            String resourceAdapterClassName = resourceAdapter.getResourceAdapterClass();
+            GBeanData resourceAdapterGBeanData = setUpDynamicGBeanWithProperties(resourceAdapterClassName, resourceAdapterInfoBuilder, resourceAdapter.getConfigProperty(), bundle, Collections.<String>emptySet());
 
             resourceAdapterGBeanData.setAttribute("resourceAdapterClass", resourceAdapterClassName);
 
             // Add map from messageListenerInterface to activationSpec class
             Map<String, String> messageListenerToActivationSpecMap = new TreeMap<String, String>();
-            if (resourceadapter.isSetInboundResourceadapter() && resourceadapter.getInboundResourceadapter().isSetMessageadapter()) {
-                for (MessagelistenerType messagelistenerType : resourceadapter.getInboundResourceadapter().getMessageadapter().getMessagelistenerArray()) {
-                    String messageListenerInterface = messagelistenerType.getMessagelistenerType().getStringValue().trim();
-                    ActivationspecType activationspec = messagelistenerType.getActivationspec();
-                    String activationSpecClassName = activationspec.getActivationspecClass().getStringValue().trim();
+            if (resourceAdapter.getInboundResourceAdapter() != null && resourceAdapter.getInboundResourceAdapter().getMessageAdapter() != null) {
+                for (MessageListener messageListener : resourceAdapter.getInboundResourceAdapter().getMessageAdapter().getMessageListener()) {
+                    String messageListenerInterface = messageListener.getMessageListenerType();
+                    ActivationSpec activationSpec = messageListener.getActivationSpec();
+                    String activationSpecClassName = activationSpec.getActivationSpecClass();
                     messageListenerToActivationSpecMap.put(messageListenerInterface, activationSpecClassName);
                     resourceAdapterGBeanData.setAttribute("messageListenerToActivationSpecMap", messageListenerToActivationSpecMap);
                     resourceAdapterGBeanData.setReferencePattern("TransactionManager", earContext.getTransactionManagerName());
                 }
+                //This was previously in a separate if block, whether or not resourceAdapterClass was set.  I don't think this makes sense
+                Map activationSpecInfoMap = getActivationSpecInfoMap(resourceAdapter.getInboundResourceAdapter().getMessageAdapter().getMessageListener(), bundle);
+                resourceAdapterModuleData.setAttribute("activationSpecInfoMap", activationSpecInfoMap);
             }
 
             resourceAdapterModuleData.setAttribute("resourceAdapterGBeanData", resourceAdapterGBeanData);
         }
 
-        if (resourceadapter.isSetInboundResourceadapter() && resourceadapter.getInboundResourceadapter().isSetMessageadapter()) {
-            Map activationSpecInfoMap = getActivationSpecInfoMap(resourceadapter.getInboundResourceadapter().getMessageadapter().getMessagelistenerArray(), bundle);
-            resourceAdapterModuleData.setAttribute("activationSpecInfoMap", activationSpecInfoMap);
-        }
-        Map adminObjectInfoMap = getAdminObjectInfoMap(resourceadapter.getAdminobjectArray(), bundle);
+        Map adminObjectInfoMap = getAdminObjectInfoMap(resourceAdapter.getAdminObject(), bundle);
         resourceAdapterModuleData.setAttribute("adminObjectInfoMap", adminObjectInfoMap);
-        if (resourceadapter.isSetOutboundResourceadapter()) {
-            Map managedConnectionFactoryInfoMap = getManagedConnectionFactoryInfoMap(resourceadapter.getOutboundResourceadapter().getConnectionDefinitionArray(), bundle);
+        if (resourceAdapter.getOutboundResourceAdapter() != null) {
+            Map managedConnectionFactoryInfoMap = getManagedConnectionFactoryInfoMap(resourceAdapter.getOutboundResourceAdapter().getConnectionDefinition(), bundle);
             resourceAdapterModuleData.setAttribute("managedConnectionFactoryInfoMap", managedConnectionFactoryInfoMap);
         }
 
@@ -534,6 +686,17 @@ public class ConnectorModuleBuilder impl
 
     }
 
+    private ConnectionDefinition buildConnectionDefinition(Class mcfClass, javax.resource.spi.ConnectionDefinition connectionDefinitionAnnotation) {
+        ConnectionDefinition connectionDefinition = new ConnectionDefinition();
+        connectionDefinition.setManagedConnectionFactoryClass(mcfClass.getName());
+        connectionDefinition.setConnectionFactoryInterface(connectionDefinitionAnnotation.connectionFactory().getName());
+        connectionDefinition.setConnectionFactoryImplClass(connectionDefinitionAnnotation.connectionFactoryImpl().getName());
+        connectionDefinition.setConnectionInterface(connectionDefinitionAnnotation.connection().getName());
+        connectionDefinition.setConnectionImplClass(connectionDefinitionAnnotation.connectionImpl().getName());
+        //TODO configproperties
+        return connectionDefinition;
+    }
+
     public void addGBeans(EARContext earContext, Module module, Bundle bundle, Collection repository) throws DeploymentException {
         //all our gbeans are added in  the initContext step
         //in case we decide connectors should be separate bundles
@@ -544,14 +707,14 @@ public class ConnectorModuleBuilder impl
         return GERCONNECTOR_NAMESPACE;
     }
 
-    private void addConnectorGBeans(EARContext earContext, AbstractName jcaResourceName, GBeanData resourceAdapterModuleData, ConnectorType connector, GerConnectorType geronimoConnector, Bundle bundle) throws DeploymentException {
-        ResourceadapterType resourceadapter = connector.getResourceadapter();
+    private void addConnectorGBeans(EARContext earContext, AbstractName jcaResourceName, GBeanData resourceAdapterModuleData, Connector connector, GerConnectorType geronimoConnector, Bundle bundle) throws DeploymentException {
+        ResourceAdapter resourceAdapter = connector.getResourceAdapter();
 
         GerResourceadapterType[] geronimoResourceAdapters = geronimoConnector.getResourceadapterArray();
         for (GerResourceadapterType geronimoResourceAdapter : geronimoResourceAdapters) {
             // Resource Adapter
             AbstractName resourceAdapterAbstractName = null;
-            if (resourceadapter.isSetResourceadapterClass()) {
+            if (resourceAdapter.getResourceAdapterClass() != null) {
                 GBeanData resourceAdapterGBeanData = locateResourceAdapterGBeanData(resourceAdapterModuleData);
                 GBeanData resourceAdapterInstanceGBeanData = new GBeanData(resourceAdapterGBeanData);
 
@@ -587,10 +750,10 @@ public class ConnectorModuleBuilder impl
 
             // ManagedConnectionFactory setup
             if (geronimoResourceAdapter.isSetOutboundResourceadapter()) {
-                if (!resourceadapter.isSetOutboundResourceadapter()) {
+                if (resourceAdapter.getOutboundResourceAdapter() == null) {
                     throw new DeploymentException("Geronimo plan configures an outbound resource adapter but ra.xml does not describe any");
                 }
-                String transactionSupport = resourceadapter.getOutboundResourceadapter().getTransactionSupport().getStringValue().trim();
+                String transactionSupport = resourceAdapter.getOutboundResourceAdapter().getTransactionSupport().value();
                 for (GerConnectionDefinitionType geronimoConnectionDefinition : geronimoResourceAdapter.getOutboundResourceadapter().getConnectionDefinitionArray()) {
                     assert geronimoConnectionDefinition != null : "Null GeronimoConnectionDefinition";
 
@@ -643,13 +806,13 @@ public class ConnectorModuleBuilder impl
         }
     }
 
-    private Map getActivationSpecInfoMap(MessagelistenerType[] messagelistenerArray, Bundle bundle) throws DeploymentException {
+    private Map<String, GBeanData> getActivationSpecInfoMap(List<MessageListener> messageListeners, Bundle bundle) throws DeploymentException {
         Map<String, GBeanData> activationSpecInfos = new HashMap<String, GBeanData>();
-        for (MessagelistenerType messagelistenerType : messagelistenerArray) {
-            String messageListenerInterface = messagelistenerType.getMessagelistenerType().getStringValue().trim();
-            ActivationspecType activationspec = messagelistenerType.getActivationspec();
-            String activationSpecClassName = activationspec.getActivationspecClass().getStringValue().trim();
-            GBeanInfoBuilder infoBuilder = new GBeanInfoBuilder(ActivationSpecWrapperGBean.class, ActivationSpecWrapperGBean.GBEAN_INFO);
+        for (MessageListener messageListener : messageListeners) {
+            String messageListenerInterface = messageListener.getMessageListenerType();
+            ActivationSpec activationSpec = messageListener.getActivationSpec();
+            String activationSpecClassName = activationSpec.getActivationSpecClass();
+            GBeanInfoBuilder infoBuilder = new GBeanInfoBuilder(ActivationSpecWrapperGBean.class, new AnnotationGBeanInfoBuilder(ActivationSpecWrapperGBean.class).buildGBeanInfo());
             Set<String> ignore = Collections.singleton("resourceAdapter");
             setUpDynamicGBean(activationSpecClassName, infoBuilder, ignore, bundle, true);
 
@@ -713,42 +876,42 @@ public class ConnectorModuleBuilder impl
             char chars[] = name.toCharArray();
             chars[0] = Character.toUpperCase(chars[0]);
             return new String(chars);
-        } else{
+        } else {
             return name;
         }
     }
 
-    private Map getManagedConnectionFactoryInfoMap(ConnectionDefinitionType[] connectionDefinitionArray, Bundle bundle) throws DeploymentException {
+    private Map getManagedConnectionFactoryInfoMap(List<ConnectionDefinition> connectionDefinitions, Bundle bundle) throws DeploymentException {
         Map<String, GBeanData> managedConnectionFactoryInfos = new HashMap<String, GBeanData>();
-        for (ConnectionDefinitionType connectionDefinition : connectionDefinitionArray) {
+        for (ConnectionDefinition connectionDefinition : connectionDefinitions) {
             GBeanInfoBuilder managedConnectionFactoryInfoBuilder = new GBeanInfoBuilder(ManagedConnectionFactoryWrapper.class, ManagedConnectionFactoryWrapperGBean.GBEAN_INFO);
-            String managedConnectionfactoryClassName = connectionDefinition.getManagedconnectionfactoryClass().getStringValue().trim();
+            String managedConnectionfactoryClassName = connectionDefinition.getManagedConnectionFactoryClass();
             Set<String> ignore = new HashSet<String>();
             ignore.add("ResourceAdapter");
             ignore.add("LogWriter");
-            GBeanData managedConnectionFactoryGBeanData = setUpDynamicGBeanWithProperties(managedConnectionfactoryClassName, managedConnectionFactoryInfoBuilder, connectionDefinition.getConfigPropertyArray(), bundle, ignore);
+            GBeanData managedConnectionFactoryGBeanData = setUpDynamicGBeanWithProperties(managedConnectionfactoryClassName, managedConnectionFactoryInfoBuilder, connectionDefinition.getConfigProperty(), bundle, ignore);
 
             // set the standard properties
-            String connectionfactoryInterface = connectionDefinition.getConnectionfactoryInterface().getStringValue().trim();
+            String connectionfactoryInterface = connectionDefinition.getConnectionFactoryInterface();
             managedConnectionFactoryGBeanData.setAttribute("managedConnectionFactoryClass", managedConnectionfactoryClassName);
             managedConnectionFactoryGBeanData.setAttribute("connectionFactoryInterface", connectionfactoryInterface);
-            managedConnectionFactoryGBeanData.setAttribute("connectionFactoryImplClass", connectionDefinition.getConnectionfactoryImplClass().getStringValue().trim());
-            managedConnectionFactoryGBeanData.setAttribute("connectionInterface", connectionDefinition.getConnectionInterface().getStringValue().trim());
-            managedConnectionFactoryGBeanData.setAttribute("connectionImplClass", connectionDefinition.getConnectionImplClass().getStringValue().trim());
+            managedConnectionFactoryGBeanData.setAttribute("connectionFactoryImplClass", connectionDefinition.getConnectionFactoryImplClass());
+            managedConnectionFactoryGBeanData.setAttribute("connectionInterface", connectionDefinition.getConnectionInterface());
+            managedConnectionFactoryGBeanData.setAttribute("connectionImplClass", connectionDefinition.getConnectionImplClass());
             managedConnectionFactoryInfos.put(connectionfactoryInterface, managedConnectionFactoryGBeanData);
         }
         return managedConnectionFactoryInfos;
     }
 
-    private Map getAdminObjectInfoMap(AdminobjectType[] adminobjectArray, Bundle bundle) throws DeploymentException {
+    private Map getAdminObjectInfoMap(List<AdminObject> adminObjects, Bundle bundle) throws DeploymentException {
         Map<String, GBeanData> adminObjectInfos = new HashMap<String, GBeanData>();
-        for (AdminobjectType adminObject : adminobjectArray) {
+        for (AdminObject adminObject : adminObjects) {
             GBeanInfoBuilder adminObjectInfoBuilder = new GBeanInfoBuilder(AdminObjectWrapper.class, AdminObjectWrapperGBean.GBEAN_INFO);
-            String adminObjectClassName = adminObject.getAdminobjectClass().getStringValue().trim();
-            GBeanData adminObjectGBeanData = setUpDynamicGBeanWithProperties(adminObjectClassName, adminObjectInfoBuilder, adminObject.getConfigPropertyArray(), bundle, Collections.<String>emptySet());
+            String adminObjectClassName = adminObject.getAdminObjectClass();
+            GBeanData adminObjectGBeanData = setUpDynamicGBeanWithProperties(adminObjectClassName, adminObjectInfoBuilder, adminObject.getConfigProperty(), bundle, Collections.<String>emptySet());
 
             // set the standard properties
-            String adminObjectInterface = adminObject.getAdminobjectInterface().getStringValue().trim();
+            String adminObjectInterface = adminObject.getAdminObjectInterface();
             adminObjectGBeanData.setAttribute("adminObjectInterface", adminObjectInterface);
             adminObjectGBeanData.setAttribute("adminObjectClass", adminObjectClassName);
             adminObjectInfos.put(adminObjectInterface, adminObjectGBeanData);
@@ -757,14 +920,14 @@ public class ConnectorModuleBuilder impl
     }
 
 
-    private GBeanData setUpDynamicGBeanWithProperties(String className, GBeanInfoBuilder infoBuilder, ConfigPropertyType[] configProperties, Bundle bundle, Set<String> ignore) throws DeploymentException {
+    private GBeanData setUpDynamicGBeanWithProperties(String className, GBeanInfoBuilder infoBuilder, List<ConfigProperty> configProperties, Bundle bundle, Set<String> ignore) throws DeploymentException {
         setUpDynamicGBean(className, infoBuilder, ignore, bundle, false);
 
         GBeanInfo gbeanInfo = infoBuilder.getBeanInfo();
         GBeanData gbeanData = new GBeanData(gbeanInfo);
-        for (ConfigPropertyType configProperty : configProperties) {
-            if (configProperty.isSetConfigPropertyValue()) {
-                String name = configProperty.getConfigPropertyName().getStringValue();
+        for (ConfigProperty configProperty : configProperties) {
+            if (configProperty.getConfigPropertyValue() != null) {
+                String name = configProperty.getConfigPropertyName();
                 if (gbeanInfo.getAttribute(name) == null) {
                     String originalName = name;
                     name = switchCase(name);
@@ -773,8 +936,8 @@ public class ConnectorModuleBuilder impl
                         continue;
                     }
                 }
-                String type = configProperty.getConfigPropertyType().getStringValue();
-                String value = configProperty.getConfigPropertyValue().getStringValue();
+                String type = configProperty.getConfigPropertyType();
+                String value = configProperty.getConfigPropertyValue();
                 gbeanData.setAttribute(name, getValue(type, value, bundle));
             }
         }
@@ -802,7 +965,7 @@ public class ConnectorModuleBuilder impl
         if (unknownNames.size() > 0) {
             StringBuffer buf = new StringBuffer("The plan is trying to set attributes: ").append(unknownNames).append("\n");
             buf.append("Known attributes: \n");
-            for (GAttributeInfo attributeInfo: gbeanData.getGBeanInfo().getAttributes()) {
+            for (GAttributeInfo attributeInfo : gbeanData.getGBeanInfo().getAttributes()) {
                 buf.append(attributeInfo).append("\n");
             }
             throw new DeploymentException(buf.toString());

Modified: geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilderTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilderTest.java?rev=924465&r1=924464&r2=924465&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilderTest.java (original)
+++ geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilderTest.java Wed Mar 17 20:22:42 2010
@@ -185,7 +185,7 @@ public class ConnectorModuleBuilderTest 
             }
 
             public URL getSpecDD() throws MalformedURLException {
-                return new File(BASEDIR, "target/test-rar-10/dummy.xml").toURL();
+                return new File(BASEDIR, "target/test-rar-10/dummy.xml").toURI().toURL();
             }
 
             public File getRARFile() {
@@ -207,7 +207,7 @@ public class ConnectorModuleBuilderTest 
             }
 
             public URL getSpecDD() throws MalformedURLException {
-                return new File(BASEDIR, "target/test-rar-10/META-INF/ra.xml").toURL();
+                return new File(BASEDIR, "target/test-rar-10/META-INF/ra.xml").toURI().toURL();
             }
 
             public File getRARFile() {
@@ -229,7 +229,7 @@ public class ConnectorModuleBuilderTest 
             }
 
             public URL getSpecDD() throws MalformedURLException {
-                return new File(BASEDIR, "target/test-rar-10/META-INF/ra.xml").toURL();
+                return new File(BASEDIR, "target/test-rar-10/META-INF/ra.xml").toURI().toURL();
             }
 
             public File getRARFile() {

Modified: geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/java/org/apache/geronimo/connector/deployment/SchemaConversionTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/java/org/apache/geronimo/connector/deployment/SchemaConversionTest.java?rev=924465&r1=924464&r2=924465&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/java/org/apache/geronimo/connector/deployment/SchemaConversionTest.java (original)
+++ geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/java/org/apache/geronimo/connector/deployment/SchemaConversionTest.java Wed Mar 17 20:22:42 2010
@@ -36,58 +36,60 @@ import org.junit.Test;
 public class SchemaConversionTest extends XmlBeansTestSupport {
     private ClassLoader classLoader = this.getClass().getClassLoader();
 
-    public void testConnector10ToConnector16Transform() throws Exception {
-        URL srcXml = classLoader.getResource("j2ee_1_3dtd/ra-10.xml");
-        URL expectedOutputXml = classLoader.getResource("j2ee_1_3dtd/ra-16.xml");
-        XmlObject xmlObject = XmlObject.Factory.parse(srcXml);
-        XmlObject expected = XmlObject.Factory.parse(expectedOutputXml);
-        XmlBeansUtil.validateDD(expected);
-        xmlObject = ConnectorModuleBuilder.convertToConnectorSchema(xmlObject);
-        List problems = new ArrayList();
-        boolean ok = compareXmlObjects(xmlObject, expected, problems);
-        assertTrue("Differences: " + problems, ok);
-        //make sure trying to convert twice has no bad effects
-        XmlCursor cursor2 = xmlObject.newCursor();
-        try {
-            String schemaLocationURL = "http://java.sun.com/xml/ns/javaee/connector_1_6.xsd";
-            String version = "1.6";
-            assertFalse(SchemaConversionUtils.convertToSchema(cursor2, SchemaConversionUtils.JAVAEE_NAMESPACE, schemaLocationURL, version));
-        } finally {
-            cursor2.dispose();
-        }
-        boolean ok2 = compareXmlObjects(xmlObject, expected, problems);
-        assertTrue("Differences after reconverting to schema: " + problems, ok2);
-        //do the whole transform twice...
-        xmlObject = ConnectorModuleBuilder.convertToConnectorSchema(xmlObject);
-        boolean ok3 = compareXmlObjects(xmlObject, expected, problems);
-        assertTrue("Differences after reconverting to application schema: " + problems, ok3);
-    }
 
-    @Test
-    public void testConnector15ToConnector16Transform() throws Exception {
-        URL srcXml = classLoader.getResource("j2ee_1_3dtd/ra-15.xml");
-        URL expectedOutputXml = classLoader.getResource("j2ee_1_3dtd/ra-16.xml");
-        XmlObject xmlObject = XmlObject.Factory.parse(srcXml);
-        XmlObject expected = XmlObject.Factory.parse(expectedOutputXml);
-        XmlBeansUtil.validateDD(expected);
-        xmlObject = ConnectorModuleBuilder.convertToConnectorSchema(xmlObject);
-        List problems = new ArrayList();
-        boolean ok = compareXmlObjects(xmlObject, expected, problems);
-        assertTrue("Differences: " + problems, ok);
-        //make sure trying to convert twice has no bad effects
-        XmlCursor cursor2 = xmlObject.newCursor();
-        try {
-            String schemaLocationURL = "http://java.sun.com/xml/ns/javaee/connector_1_6.xsd";
-            String version = "1.6";
-            assertFalse(SchemaConversionUtils.convertToSchema(cursor2, SchemaConversionUtils.JAVAEE_NAMESPACE, schemaLocationURL, version));
-        } finally {
-            cursor2.dispose();
-        }
-        boolean ok2 = compareXmlObjects(xmlObject, expected, problems);
-        assertTrue("Differences after reconverting to schema: " + problems, ok2);
-        //do the whole transform twice...
-        xmlObject = ConnectorModuleBuilder.convertToConnectorSchema(xmlObject);
-        boolean ok3 = compareXmlObjects(xmlObject, expected, problems);
-        assertTrue("Differences after reconverting to application schema: " + problems, ok3);
-    }
+    public void testDummy() {}
+//    public void testConnector10ToConnector16Transform() throws Exception {
+//        URL srcXml = classLoader.getResource("j2ee_1_3dtd/ra-10.xml");
+//        URL expectedOutputXml = classLoader.getResource("j2ee_1_3dtd/ra-16.xml");
+//        XmlObject xmlObject = XmlObject.Factory.parse(srcXml);
+//        XmlObject expected = XmlObject.Factory.parse(expectedOutputXml);
+//        XmlBeansUtil.validateDD(expected);
+//        xmlObject = ConnectorModuleBuilder.convertToConnectorSchema(xmlObject);
+//        List problems = new ArrayList();
+//        boolean ok = compareXmlObjects(xmlObject, expected, problems);
+//        assertTrue("Differences: " + problems, ok);
+//        //make sure trying to convert twice has no bad effects
+//        XmlCursor cursor2 = xmlObject.newCursor();
+//        try {
+//            String schemaLocationURL = "http://java.sun.com/xml/ns/javaee/connector_1_6.xsd";
+//            String version = "1.6";
+//            assertFalse(SchemaConversionUtils.convertToSchema(cursor2, SchemaConversionUtils.JAVAEE_NAMESPACE, schemaLocationURL, version));
+//        } finally {
+//            cursor2.dispose();
+//        }
+//        boolean ok2 = compareXmlObjects(xmlObject, expected, problems);
+//        assertTrue("Differences after reconverting to schema: " + problems, ok2);
+//        //do the whole transform twice...
+//        xmlObject = ConnectorModuleBuilder.convertToConnectorSchema(xmlObject);
+//        boolean ok3 = compareXmlObjects(xmlObject, expected, problems);
+//        assertTrue("Differences after reconverting to application schema: " + problems, ok3);
+//    }
+
+//    @Test
+//    public void testConnector15ToConnector16Transform() throws Exception {
+//        URL srcXml = classLoader.getResource("j2ee_1_3dtd/ra-15.xml");
+//        URL expectedOutputXml = classLoader.getResource("j2ee_1_3dtd/ra-16.xml");
+//        XmlObject xmlObject = XmlObject.Factory.parse(srcXml);
+//        XmlObject expected = XmlObject.Factory.parse(expectedOutputXml);
+//        XmlBeansUtil.validateDD(expected);
+//        xmlObject = ConnectorModuleBuilder.convertToConnectorSchema(xmlObject);
+//        List problems = new ArrayList();
+//        boolean ok = compareXmlObjects(xmlObject, expected, problems);
+//        assertTrue("Differences: " + problems, ok);
+//        //make sure trying to convert twice has no bad effects
+//        XmlCursor cursor2 = xmlObject.newCursor();
+//        try {
+//            String schemaLocationURL = "http://java.sun.com/xml/ns/javaee/connector_1_6.xsd";
+//            String version = "1.6";
+//            assertFalse(SchemaConversionUtils.convertToSchema(cursor2, SchemaConversionUtils.JAVAEE_NAMESPACE, schemaLocationURL, version));
+//        } finally {
+//            cursor2.dispose();
+//        }
+//        boolean ok2 = compareXmlObjects(xmlObject, expected, problems);
+//        assertTrue("Differences after reconverting to schema: " + problems, ok2);
+//        //do the whole transform twice...
+//        xmlObject = ConnectorModuleBuilder.convertToConnectorSchema(xmlObject);
+//        boolean ok3 = compareXmlObjects(xmlObject, expected, problems);
+//        assertTrue("Differences after reconverting to application schema: " + problems, ok3);
+//    }
 }

Modified: geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/AppClientModule.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/AppClientModule.java?rev=924465&r1=924464&r2=924465&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/AppClientModule.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/AppClientModule.java Wed Mar 17 20:22:42 2010
@@ -34,7 +34,7 @@ import org.apache.xmlbeans.XmlObject;
  *
  * @version $Rev$ $Date$
  */
-public class AppClientModule extends Module {
+public class AppClientModule extends Module<XmlObject, XmlObject> {
     private final Environment serverEnvironment;
     private JarFile earFile;
     private final AbstractName appClientName;

Modified: geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/ApplicationInfo.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/ApplicationInfo.java?rev=924465&r1=924464&r2=924465&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/ApplicationInfo.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/ApplicationInfo.java Wed Mar 17 20:22:42 2010
@@ -29,7 +29,7 @@ import org.apache.xmlbeans.XmlObject;
 /**
  * @version $Revision$ $Date$
  */
-public class ApplicationInfo extends Module {
+public class ApplicationInfo extends Module<XmlObject, XmlObject> {
     private ConfigurationModuleType type;
     private LinkedHashSet<Module> modules;
     private ModuleList moduleLocations;

Modified: geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/ConnectorModule.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/ConnectorModule.java?rev=924465&r1=924464&r2=924465&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/ConnectorModule.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/ConnectorModule.java Wed Mar 17 20:22:42 2010
@@ -31,8 +31,8 @@ import org.apache.xmlbeans.XmlObject;
 /**
  * @version $Rev$ $Date$
  */
-public class ConnectorModule extends Module {
-    public ConnectorModule(boolean standAlone, AbstractName moduleName, Environment environment, JarFile moduleFile, String targetPath, XmlObject specDD, XmlObject vendorDD, String originalSpecDD, AnnotatedApp annotatedApp ) {
+public class ConnectorModule<T, U> extends Module<T, U> {
+    public ConnectorModule(boolean standAlone, AbstractName moduleName, Environment environment, JarFile moduleFile, String targetPath, T specDD, U vendorDD, String originalSpecDD, AnnotatedApp annotatedApp ) {
         super(standAlone, moduleName, environment, moduleFile, targetPath, specDD, vendorDD, originalSpecDD, null, annotatedApp );
     }
 

Modified: geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/EJBModule.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/EJBModule.java?rev=924465&r1=924464&r2=924465&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/EJBModule.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/EJBModule.java Wed Mar 17 20:22:42 2010
@@ -31,7 +31,7 @@ import org.apache.xmlbeans.XmlObject;
 /**
  * @version $Rev$ $Date$
  */
-public class EJBModule extends Module {
+public class EJBModule extends Module<XmlObject, XmlObject> {
     private AbstractName moduleCmpEngineName;
 
     public EJBModule(boolean standAlone, AbstractName moduleName, Environment environment, JarFile moduleFile, String targetPath, XmlObject specDD, XmlObject vendorDD, String originalSpecDD, AnnotatedApp annotatedApp) {

Modified: geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/Module.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/Module.java?rev=924465&r1=924464&r2=924465&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/Module.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/Module.java Wed Mar 17 20:22:42 2010
@@ -36,7 +36,7 @@ import org.apache.xmlbeans.XmlObject;
 /**
  * @version $Rev$ $Date$
  */
-public abstract class Module {
+public abstract class Module<T, U> {
     private final boolean standAlone;
 
     private final AbstractName moduleName;
@@ -46,23 +46,23 @@ public abstract class Module {
     private final Deployable deployable;
     private final String targetPath;
     private final URI targetPathURI;
-    private final XmlObject vendorDD;
+    private final U vendorDD;
     private final String namespace;
 
     private EARContext earContext;
     private EARContext rootEarContext;
-    private XmlObject specDD;
+    private T specDD;
     private String originalSpecDD;
     private AnnotatedApp annotatedApp;
     private ClassFinder classFinder;
 
     protected final Map sharedContext = new HashMap();
 
-    protected Module(boolean standAlone, AbstractName moduleName, Environment environment, JarFile moduleFile, String targetPath, XmlObject specDD, XmlObject vendorDD, String originalSpecDD, String namespace, AnnotatedApp annotatedApp) {
+    protected Module(boolean standAlone, AbstractName moduleName, Environment environment, JarFile moduleFile, String targetPath, T specDD, U vendorDD, String originalSpecDD, String namespace, AnnotatedApp annotatedApp) {
         this(standAlone, moduleName, environment, new DeployableJarFile(moduleFile), targetPath, specDD, vendorDD, originalSpecDD, namespace, annotatedApp);
     }
         
-    protected Module(boolean standAlone, AbstractName moduleName, Environment environment, Deployable deployable, String targetPath, XmlObject specDD, XmlObject vendorDD, String originalSpecDD, String namespace, AnnotatedApp annotatedApp) {
+    protected Module(boolean standAlone, AbstractName moduleName, Environment environment, Deployable deployable, String targetPath, T specDD, U vendorDD, String originalSpecDD, String namespace, AnnotatedApp annotatedApp) {
         assert targetPath != null: "targetPath is null";
         assert moduleName != null: "moduleName is null";
 
@@ -138,11 +138,11 @@ public abstract class Module {
         return targetPathURI.resolve(path);
     }
 
-    public XmlObject getSpecDD() {
+    public T getSpecDD() {
         return specDD;
     }
 
-    public XmlObject getVendorDD() {
+    public U getVendorDD() {
         return vendorDD;
     }
 
@@ -193,7 +193,7 @@ public abstract class Module {
         return sharedContext;
     }
 
-    public void setSpecDD(XmlObject specDD) {
+    public void setSpecDD(T specDD) {
         this.specDD = specDD;
     }
 

Modified: geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/WebModule.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/WebModule.java?rev=924465&r1=924464&r2=924465&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/WebModule.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/WebModule.java Wed Mar 17 20:22:42 2010
@@ -29,7 +29,7 @@ import org.apache.xmlbeans.XmlObject;
 /**
  * @version $Rev$ $Date$
  */
-public class WebModule extends Module {
+public class WebModule extends Module<XmlObject, XmlObject> {
     private final String contextRoot;
     public static final String WEB_APP_DATA = "WEB_APP_DATA";
 

Modified: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/AbstractWebModuleBuilder.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/AbstractWebModuleBuilder.java?rev=924465&r1=924464&r2=924465&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/AbstractWebModuleBuilder.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/AbstractWebModuleBuilder.java Wed Mar 17 20:22:42 2010
@@ -353,18 +353,19 @@ public abstract class AbstractWebModuleB
     }
 
     protected void basicInitContext(EARContext earContext, Module module, XmlObject gerWebApp, boolean hasSecurityRealmName) throws DeploymentException {
+        WebModule webModule = (WebModule) module;
         //complete manifest classpath
-        EARContext moduleContext = module.getEarContext();
+        EARContext moduleContext = webModule.getEarContext();
         ClassPathList manifestcp = (ClassPathList) moduleContext.getGeneralData().get(ClassPathList.class);
-        ModuleList moduleLocations = (ModuleList) module.getRootEarContext().getGeneralData().get(ModuleList.class);
-        URI baseUri = URI.create(module.getTargetPath());
+        ModuleList moduleLocations = (ModuleList) webModule.getRootEarContext().getGeneralData().get(ModuleList.class);
+        URI baseUri = URI.create(webModule.getTargetPath());
         URI resolutionUri = invertURI(baseUri);
-        earContext.getCompleteManifestClassPath(module.getDeployable(), baseUri, resolutionUri, manifestcp, moduleLocations);
+        earContext.getCompleteManifestClassPath(webModule.getDeployable(), baseUri, resolutionUri, manifestcp, moduleLocations);
 
-        WebAppType webApp = (WebAppType) module.getSpecDD();
+        WebAppType webApp = (WebAppType) webModule.getSpecDD();
         if ((webApp.getSecurityConstraintArray().length > 0 || webApp.getSecurityRoleArray().length > 0)) {
             if (!hasSecurityRealmName) {
-                throw new DeploymentException("web.xml for web app " + module.getName() + " includes security elements but Geronimo deployment plan is not provided or does not contain <security-realm-name> element necessary to configure security accordingly.");
+                throw new DeploymentException("web.xml for web app " + webModule.getName() + " includes security elements but Geronimo deployment plan is not provided or does not contain <security-realm-name> element necessary to configure security accordingly.");
             }
         }
         if (hasSecurityRealmName) {
@@ -373,20 +374,20 @@ public abstract class AbstractWebModuleB
         //TODO think about how to provide a default security realm name
         XmlObject[] securityElements = XmlBeansUtil.selectSubstitutionGroupElements(SECURITY_QNAME, gerWebApp);
         if (securityElements.length > 0 && !hasSecurityRealmName) {
-            throw new DeploymentException("You have supplied a security configuration for web app " + module.getName() + " but no security-realm-name to allow login");
+            throw new DeploymentException("You have supplied a security configuration for web app " + webModule.getName() + " but no security-realm-name to allow login");
         }
-        getNamingBuilders().buildEnvironment(webApp, module.getVendorDD(), module.getEnvironment());
+        getNamingBuilders().buildEnvironment(webApp, webModule.getVendorDD(), webModule.getEnvironment());
         //this is silly
-        getNamingBuilders().initContext(webApp, gerWebApp, module);
+        getNamingBuilders().initContext(webApp, gerWebApp, webModule);
 
-        Map servletNameToPathMap = buildServletNameToPathMap((WebAppType) module.getSpecDD(), ((WebModule) module).getContextRoot());
+        Map servletNameToPathMap = buildServletNameToPathMap((WebAppType) webModule.getSpecDD(), webModule.getContextRoot());
 
-        Map sharedContext = module.getSharedContext();
+        Map sharedContext = webModule.getSharedContext();
         for (Object aWebServiceBuilder : webServiceBuilder) {
             WebServiceBuilder serviceBuilder = (WebServiceBuilder) aWebServiceBuilder;
-            serviceBuilder.findWebServices(module, false, servletNameToPathMap, module.getEnvironment(), sharedContext);
+            serviceBuilder.findWebServices(webModule, false, servletNameToPathMap, webModule.getEnvironment(), sharedContext);
         }
-        serviceBuilders.build(gerWebApp, earContext, module.getEarContext());
+        serviceBuilders.build(gerWebApp, earContext, webModule.getEarContext());
     }
 
     static URI invertURI(URI baseUri) {

Modified: geronimo/server/trunk/plugins/openjpa2/geronimo-persistence-jpa20-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceUnitBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/openjpa2/geronimo-persistence-jpa20-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceUnitBuilder.java?rev=924465&r1=924464&r2=924465&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/openjpa2/geronimo-persistence-jpa20-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceUnitBuilder.java (original)
+++ geronimo/server/trunk/plugins/openjpa2/geronimo-persistence-jpa20-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceUnitBuilder.java Wed Mar 17 20:22:42 2010
@@ -99,7 +99,7 @@ public class PersistenceUnitBuilder impl
     }
 
     public void initContext(EARContext earContext, Module module, Bundle bundle) throws DeploymentException {
-        XmlObject container = module.getVendorDD();
+        XmlObject container = (XmlObject) module.getVendorDD();
         EARContext moduleContext = module.getEarContext();
         XmlObject[] raws = container.selectChildren(PERSISTENCE_QNAME);
 



Mime
View raw message