Title: [2632] branches/v2_1/openejb2/modules/openejb-builder/src/test/org/openejb/deployment: OpenEJB changes for GERONIMO-1684 and GERONIMO-1935.
Revision
2632
Author
ammulder
Date
2006-04-29 12:11:14 -0400 (Sat, 29 Apr 2006)

Log Message

OpenEJB changes for GERONIMO-1684 and GERONIMO-1935.
Fix MDB ActivationSpec/Config property handling to be much more robust
  (GERONIMO-1680)
 - Try to apply settings from both ejb-jar.xml and openejb-jar.xml
 - Allow working ActiveMQ deployments with no ActivationSpec settings
   in openejb-jar.xml
 - Validate ActivationSpec settings during deployment
 - Reject the deployment for settings that can't be applied to the
   ActivationSpec or if ActivationSpec validation fails

Modified Paths

Diff

Modified: branches/v2_1/openejb2/modules/openejb-builder/src/java/org/openejb/deployment/MdbBuilder.java (2631 => 2632)

--- branches/v2_1/openejb2/modules/openejb-builder/src/java/org/openejb/deployment/MdbBuilder.java	2006-04-29 01:15:41 UTC (rev 2631)
+++ branches/v2_1/openejb2/modules/openejb-builder/src/java/org/openejb/deployment/MdbBuilder.java	2006-04-29 16:11:14 UTC (rev 2632)
@@ -50,23 +50,31 @@
 import java.beans.Introspector;
 import java.net.URI;
 import java.security.Permissions;
+import java.util.HashMap;
+import java.util.Iterator;
 import java.util.Map;
+import java.lang.reflect.InvocationTargetException;
+import javax.resource.spi.ActivationSpec;
+import javax.resource.spi.InvalidPropertyException;
 import javax.transaction.UserTransaction;
-
 import org.apache.geronimo.common.DeploymentException;
-import org.apache.geronimo.gbean.GBeanData;
 import org.apache.geronimo.gbean.AbstractName;
 import org.apache.geronimo.gbean.AbstractNameQuery;
+import org.apache.geronimo.gbean.GBeanData;
 import org.apache.geronimo.j2ee.deployment.EARContext;
 import org.apache.geronimo.j2ee.deployment.EJBModule;
 import org.apache.geronimo.j2ee.deployment.RefContext;
 import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
+import org.apache.geronimo.kernel.GBeanAlreadyExistsException;
+import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.kernel.config.Configuration;
 import org.apache.geronimo.naming.deployment.ENCConfigBuilder;
 import org.apache.geronimo.security.deployment.SecurityConfiguration;
 import org.apache.geronimo.security.jacc.ComponentPermissions;
 import org.apache.geronimo.transaction.context.UserTransactionImpl;
 import org.apache.geronimo.xbeans.geronimo.naming.GerEjbLocalRefType;
 import org.apache.geronimo.xbeans.geronimo.naming.GerEjbRefType;
+import org.apache.geronimo.xbeans.geronimo.naming.GerMessageDestinationType;
 import org.apache.geronimo.xbeans.geronimo.naming.GerResourceEnvRefType;
 import org.apache.geronimo.xbeans.geronimo.naming.GerResourceLocatorType;
 import org.apache.geronimo.xbeans.geronimo.naming.GerResourceRefType;
@@ -82,16 +90,17 @@
 import org.apache.geronimo.xbeans.j2ee.ResourceEnvRefType;
 import org.apache.geronimo.xbeans.j2ee.ResourceRefType;
 import org.apache.geronimo.xbeans.j2ee.ServiceRefType;
-import org.apache.geronimo.kernel.GBeanAlreadyExistsException;
 import org.openejb.transaction.TransactionPolicySource;
 import org.openejb.xbeans.ejbjar.OpenejbActivationConfigPropertyType;
 import org.openejb.xbeans.ejbjar.OpenejbMessageDrivenBeanType;
 
 
 class MdbBuilder extends BeanBuilder {
+    private Kernel kernel;
 
-    public MdbBuilder(OpenEJBModuleBuilder builder) {
+    public MdbBuilder(OpenEJBModuleBuilder builder, Kernel kernel) {
         super(builder);
+        this.kernel = kernel;
     }
 
     protected void buildBeans(EARContext earContext, AbstractName moduleBaseName, ClassLoader cl, EJBModule ejbModule, Map openejbBeans, TransactionPolicyHelper transactionPolicyHelper, EnterpriseBeansType enterpriseBeans, ComponentPermissions componentPermissions, String policyContextID) throws DeploymentException {
@@ -116,7 +125,10 @@
                     messageDrivenBean.isSetActivationConfig() ? messageDrivenBean.getActivationConfig().getActivationConfigPropertyArray() : new ActivationConfigPropertyType[]{},
                     openejbMessageDrivenBean.getResourceAdapter(),
                     getMessagingType(messageDrivenBean),
-                    containerId);
+                    containerId,
+                    messageDrivenBean.isSetMessageDestinationLink() ? messageDrivenBean.getMessageDestinationLink().getStringValue() : null,
+                    messageDrivenBean.isSetMessageDestinationType() ? messageDrivenBean.getMessageDestinationType().getStringValue() : null,
+                    messageDrivenBean.getEjbName().getStringValue());
             GBeanData messageDrivenGBean = createBean(earContext, ejbModule, containerId, messageDrivenBean, openejbMessageDrivenBean, activationSpecName, transactionPolicyHelper, cl, componentPermissions, policyContextID);
             messageDrivenGBean.setAbstractName(messageDrivenAbstractName);
             try {
@@ -227,7 +239,10 @@
                                                ActivationConfigPropertyType[] activationConfigProperties,
                                                GerResourceLocatorType resourceAdapter,
                                                String messageListenerInterfaceName,
-                                               String containerId) throws DeploymentException {
+                                               String containerId,
+                                               String destinationLink,
+                                               String destinationType,
+                                               String ejbName) throws DeploymentException {
         RefContext refContext = earContext.getRefContext();
 //        AbstractNameQuery resourceAdapterModuleQuery = getResourceAdapterNameQuery(resourceAdapter, NameFactory.RESOURCE_ADAPTER_MODULE);
         AbstractNameQuery resourceAdapterInstanceQuery = getResourceAdapterNameQuery(resourceAdapter, NameFactory.JCA_RESOURCE_ADAPTER);
@@ -239,30 +254,75 @@
         activationSpecInfo = new GBeanData(activationSpecInfo);
         activationSpecInfo.setAttribute("containerId", containerId);
         activationSpecInfo.setReferencePattern("ResourceAdapterWrapper", resourceAdapterInstanceQuery);
+        String activationSpecClass = (String) activationSpecInfo.getAttribute("activationSpecClass");
+        Object testSpec;
+        try {
+            testSpec = earContext.getClassLoader().loadClass(activationSpecClass).newInstance();
+        } catch (Exception e) {
+            throw new DeploymentException("Unable to load JMS ActivationSpec class "+activationSpecClass+" for message-driven bean "+ejbName+" in "+containerId);
+        }
+        Map specValues = new HashMap();
+        // 1. Lowest Priority.  Set any properties we can from the generic elements on the message-driven-bean (mostly provider-specific stuff)
+        if(activationSpecClass.equals("org.activemq.ra.ActiveMQActivationSpec")) {
+            if(destinationLink != null) {
+                String physicalName = getActiveMQPhysicalNameForLink(destinationLink, refContext, earContext.getConfiguration());
+                if(physicalName != null) {
+                    specValues.put("destination", physicalName);
+                }
+            }
+        }
+        if(destinationType != null) {
+            specValues.put("destinationType", destinationType);
+        }
+        // 2. Medium Priority.  Set any properties explicitly included in ejb-jar.xml
+        for (int i = 0; i < activationConfigProperties.length; i++) {
+            ActivationConfigPropertyType activationConfigProperty = activationConfigProperties[i];
+            String propertyName = activationConfigProperty.getActivationConfigPropertyName().getStringValue().trim();
+            String propertyValue = activationConfigProperty.getActivationConfigPropertyValue().isNil() ? null : activationConfigProperty.getActivationConfigPropertyValue().getStringValue().trim();
+            specValues.put(propertyName, propertyValue);
+        }
+        // 3. Highest Priority.  Set any properties configured in openejb-jar.xml
         if (openejbActivationConfigProperties != null) {
             for (int i = 0; i < openejbActivationConfigProperties.length; i++) {
                 OpenejbActivationConfigPropertyType activationConfigProperty = openejbActivationConfigProperties[i];
                 String propertyName = activationConfigProperty.getActivationConfigPropertyName();
+                if(propertyName != null) propertyName = propertyName.trim();
                 String propertyValue = activationConfigProperty.getActivationConfigPropertyValue();
-                try {
-                    activationSpecInfo.setAttribute(Introspector.decapitalize(propertyName), propertyValue);
-                } catch (Exception e) {
-                    throw new DeploymentException("Could not set property: " + propertyName + " to value: " + propertyValue + " on activationSpec: " + activationSpecInfo.getAttribute("activationSpecClass"), e);
-                }
+                if(propertyValue != null) propertyValue = propertyValue.trim();
+                String name = Introspector.decapitalize(propertyName);
+                specValues.put(name, propertyValue);
             }
-
-        } else {
-            for (int i = 0; i < activationConfigProperties.length; i++) {
-                ActivationConfigPropertyType activationConfigProperty = activationConfigProperties[i];
-                String propertyName = activationConfigProperty.getActivationConfigPropertyName().getStringValue().trim();
-                String propertyValue = activationConfigProperty.getActivationConfigPropertyValue().isNil() ? null : activationConfigProperty.getActivationConfigPropertyValue().getStringValue().trim();
+        }
+        // 4. Apply Settings
+        for (Iterator it = specValues.keySet().iterator(); it.hasNext();) {
+            String name = (String) it.next();
+            String value = (String) specValues.get(name);
+            if(activationSpecInfo.getGBeanInfo().getAttribute(name) != null) {
                 try {
-                    activationSpecInfo.setAttribute(Introspector.decapitalize(propertyName), propertyValue);
+                    activationSpecInfo.setAttribute(name, value);
+                    testSpec.getClass().getMethod("set"+Character.toUpperCase(name.charAt(0))+name.substring(1), new Class[]{String.class}).invoke(testSpec, new Object[]{value});
                 } catch (Exception e) {
-                    throw new DeploymentException("Could not set property: " + propertyName + " to value: " + propertyValue + " on activationSpec: " + activationSpecInfo.getAttribute("activationSpecClass"), e);
+                    throw new DeploymentException("Could not set property: " + name + " to value: " + value + " on activationSpec: " + activationSpecClass + " for message-driven bean "+ejbName, e);
                 }
+            } else {
+                throw new DeploymentException("Invalid activation-config-property; JMS ActivationSpec "+activationSpecClass+" does not have property '"+name+"' for message-driven bean "+ejbName+" in "+containerId);
             }
         }
+        // 5. Validate
+        try {
+            testSpec.getClass().getMethod("validate", new Class[0]).invoke(testSpec, new Object[0]);
+        } catch (InvocationTargetException e) {
+            Throwable chained = e.getCause();
+            if(chained.getClass().getName().equals("javax.resource.spi.InvalidPropertyException")) {
+                throw new DeploymentException("JMS settings for message-driven bean "+ejbName+" are not valid: "+chained.getMessage(), chained);
+//                throw new DeploymentException((e.getInvalidPropertyDescriptors().length == 0 ? "" : e.getInvalidPropertyDescriptors().length+" ") +
+//                        "JMS settings for message-driven bean "+ejbName+" are not valid: "+e.getMessage(), e);
+            }
+            throw new DeploymentException("Unexpected exception while validation JMS settings on "+ejbName, e);
+        } catch (Exception e) {
+            throw new DeploymentException("Unexpected exception while validation JMS settings on "+ejbName, e);
+        }
+
         activationSpecInfo.setAbstractName(activationSpecName);
         try {
             earContext.addGBean(activationSpecInfo);
@@ -271,6 +331,39 @@
         }
     }
 
+    private String getActiveMQPhysicalNameForLink(String link, RefContext context, Configuration earConfig) throws DeploymentException {
+        GerMessageDestinationType destination = (GerMessageDestinationType) context.getMessageDestination(link);
+        String linkName = link;
+        String moduleURI = null;
+        if (destination != null) {
+            if (destination.isSetAdminObjectLink()) {
+                if (destination.isSetAdminObjectModule()) {
+                    moduleURI = destination.getAdminObjectModule().trim();
+                }
+                linkName = destination.getAdminObjectLink().trim();
+            }
+        } else {
+            //well, we know for sure an admin object is not going to be defined in a modules that can have a message-destination
+            int pos = linkName.indexOf('#');
+            if (pos > -1) {
+                //AMM -- see comment in ENCConfigBuilder.addMessageDestinationRefs
+                //moduleURI = linkName.substring(0, pos);
+                linkName = linkName.substring(pos + 1);
+            }
+        }
+        AbstractNameQuery containerId = ENCConfigBuilder.buildAbstractNameQuery(null, moduleURI, linkName, NameFactory.JCA_ADMIN_OBJECT, NameFactory.RESOURCE_ADAPTER_MODULE);
+        try {
+            AbstractName adminObjectName = earConfig.findGBean(containerId);
+            String physical = (String) kernel.getAttribute(adminObjectName, "PhysicalName");
+            if(physical != null) {
+                return physical;
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
     private static AbstractNameQuery getResourceAdapterNameQuery(GerResourceLocatorType resourceLocator, String type) {
         if (resourceLocator.isSetResourceLink()) {
             return ENCConfigBuilder.buildAbstractNameQuery(null, null, resourceLocator.getResourceLink().trim(), type, NameFactory.RESOURCE_ADAPTER_MODULE);

Modified: branches/v2_1/openejb2/modules/openejb-builder/src/java/org/openejb/deployment/OpenEJBModuleBuilder.java (2631 => 2632)

--- branches/v2_1/openejb2/modules/openejb-builder/src/java/org/openejb/deployment/OpenEJBModuleBuilder.java	2006-04-29 01:15:41 UTC (rev 2631)
+++ branches/v2_1/openejb2/modules/openejb-builder/src/java/org/openejb/deployment/OpenEJBModuleBuilder.java	2006-04-29 16:11:14 UTC (rev 2632)
@@ -56,6 +56,7 @@
 import org.apache.geronimo.deployment.xbeans.EnvironmentType;
 import org.apache.geronimo.deployment.xbeans.GbeanType;
 import org.apache.geronimo.deployment.xmlbeans.XmlBeansUtil;
+import org.apache.geronimo.deployment.ModuleIDBuilder;
 import org.apache.geronimo.gbean.AbstractName;
 import org.apache.geronimo.gbean.AbstractNameQuery;
 import org.apache.geronimo.gbean.GBeanData;
@@ -154,21 +155,21 @@
     }
 
     public OpenEJBModuleBuilder(Environment defaultEnvironment, AbstractNameQuery listener, Object webServiceLinkTemplate, Collection webServiceBuilder, Kernel kernel) throws GBeanNotFoundException {
-        this(defaultEnvironment, listener, getLinkData(kernel, webServiceLinkTemplate), new SingleElementCollection(webServiceBuilder));
+        this(defaultEnvironment, listener, getLinkData(kernel, webServiceLinkTemplate), new SingleElementCollection(webServiceBuilder), kernel);
     }
 
-    public OpenEJBModuleBuilder(Environment defaultEnvironment, AbstractNameQuery listener, GBeanData linkTemplate, WebServiceBuilder webServiceBuilder) {
-        this(defaultEnvironment, listener, linkTemplate, new SingleElementCollection(webServiceBuilder));
+    public OpenEJBModuleBuilder(Environment defaultEnvironment, AbstractNameQuery listener, GBeanData linkTemplate, WebServiceBuilder webServiceBuilder, Kernel kernel) {
+        this(defaultEnvironment, listener, linkTemplate, new SingleElementCollection(webServiceBuilder), null);
     }
 
-    private OpenEJBModuleBuilder(Environment defaultEnvironment, AbstractNameQuery listener, GBeanData linkTemplate, SingleElementCollection webServiceBuilder) {
+    private OpenEJBModuleBuilder(Environment defaultEnvironment, AbstractNameQuery listener, GBeanData linkTemplate, SingleElementCollection webServiceBuilder, Kernel kernel) {
         this.defaultEnvironment = defaultEnvironment;
         this.listener = listener;
         this.transactionImportPolicyBuilder = new NoDistributedTxTransactionImportPolicyBuilder();
         this.cmpEntityBuilder = new CMPEntityBuilder(this);
         this.sessionBuilder = new SessionBuilder(this, linkTemplate);
         this.entityBuilder = new EntityBuilder(this);
-        this.mdbBuilder = new MdbBuilder(this);
+        this.mdbBuilder = new MdbBuilder(this, kernel);
         this.webServiceBuilder = webServiceBuilder;
     }
 
@@ -185,15 +186,15 @@
         return transactionImportPolicyBuilder;
     }
 
-    public Module createModule(File plan, JarFile moduleFile, Naming naming) throws DeploymentException {
-        return createModule(plan, moduleFile, "ejb", null, null, null, naming);
+    public Module createModule(File plan, JarFile moduleFile, Naming naming, ModuleIDBuilder idBuilder) throws DeploymentException {
+        return createModule(plan, moduleFile, "ejb", null, null, null, naming, idBuilder);
     }
 
-    public Module createModule(Object plan, JarFile moduleFile, String targetPath, URL specDDUrl, Environment environment, Object moduleContextInfo, AbstractName earName, Naming naming) throws DeploymentException {
-        return createModule(plan, moduleFile, targetPath, specDDUrl, environment, earName, naming);
+    public Module createModule(Object plan, JarFile moduleFile, String targetPath, URL specDDUrl, Environment environment, Object moduleContextInfo, AbstractName earName, Naming naming, ModuleIDBuilder idBuilder) throws DeploymentException {
+        return createModule(plan, moduleFile, targetPath, specDDUrl, environment, earName, naming, idBuilder);
     }
 
-    private Module createModule(Object plan, JarFile moduleFile, String targetPath, URL specDDUrl, Environment earEnvironment, AbstractName earName, Naming naming) throws DeploymentException {
+    private Module createModule(Object plan, JarFile moduleFile, String targetPath, URL specDDUrl, Environment earEnvironment, AbstractName earName, Naming naming, ModuleIDBuilder idBuilder) throws DeploymentException {
         assert moduleFile != null: "moduleFile is null";
         assert targetPath != null: "targetPath is null";
         assert !targetPath.endsWith("/"): "targetPath must not end with a '/'";
@@ -232,6 +233,11 @@
         if (earEnvironment != null) {
             EnvironmentBuilder.mergeEnvironments(earEnvironment, environment);
             environment = earEnvironment;
+            if(!environment.getConfigId().isResolved()) {
+                throw new IllegalStateException("EJB module ID should be fully resolved (not "+environment.getConfigId()+")");
+            }
+        } else {
+            idBuilder.resolve(environment, new File(moduleFile.getName()).getName(), "jar");
         }
 
         AbstractName moduleName;
@@ -298,13 +304,6 @@
         }
 
         OpenejbOpenejbJarType openejbEjbJar = OpenejbOpenejbJarType.Factory.newInstance();
-        EnvironmentType environmentType = openejbEjbJar.addNewEnvironment();
-        ArtifactType artifact = environmentType.addNewConfigId();
-        //TODO this version is incomplete.
-        artifact.setGroupId("unknown");
-        artifact.setArtifactId(id);
-        artifact.setVersion("1");
-        artifact.setType("car");
         openejbEjbJar.addNewEnterpriseBeans();
         return openejbEjbJar;
     }

Modified: branches/v2_1/openejb2/modules/openejb-builder/src/test/org/openejb/deployment/DeploymentTestSuite.java (2631 => 2632)

--- branches/v2_1/openejb2/modules/openejb-builder/src/test/org/openejb/deployment/DeploymentTestSuite.java	2006-04-29 01:15:41 UTC (rev 2631)
+++ branches/v2_1/openejb2/modules/openejb-builder/src/test/org/openejb/deployment/DeploymentTestSuite.java	2006-04-29 16:11:14 UTC (rev 2632)
@@ -64,6 +64,7 @@
 import junit.framework.TestSuite;
 import org.apache.geronimo.axis.builder.AxisBuilder;
 import org.apache.geronimo.deployment.DeploymentContext;
+import org.apache.geronimo.deployment.ModuleIDBuilder;
 import org.apache.geronimo.deployment.util.DeploymentUtil;
 import org.apache.geronimo.gbean.AbstractNameQuery;
 import org.apache.geronimo.gbean.GBeanData;
@@ -136,7 +137,7 @@
         try {
             WebServiceBuilder webServiceBuilder = new AxisBuilder();
             GBeanData linkData = new GBeanData(WSContainerGBean.GBEAN_INFO);
-            OpenEJBModuleBuilder moduleBuilder = new OpenEJBModuleBuilder(DeploymentHelper.DEFAULT_ENVIRONMENT, new AbstractNameQuery(deploymentHelper.listenerName), linkData, webServiceBuilder);
+            OpenEJBModuleBuilder moduleBuilder = new OpenEJBModuleBuilder(DeploymentHelper.DEFAULT_ENVIRONMENT, new AbstractNameQuery(deploymentHelper.listenerName), linkData, webServiceBuilder, deploymentHelper.kernel);
             OpenEJBReferenceBuilder ejbReferenceBuilder = new OpenEJBReferenceBuilder();
 
             tempDir = DeploymentUtil.createTempDir();
@@ -165,8 +166,8 @@
             ArtifactResolver artifactResolver = new DefaultArtifactResolver(artifactManager, Collections.EMPTY_SET, null);
             try {
                 jarFile = DeploymentUtil.createJarFile(moduleFile);
-                Object plan = earConfigBuilder.getDeploymentPlan(null, jarFile);
-                context = earConfigBuilder.buildConfiguration(false, earConfigBuilder.getConfigurationID(plan, jarFile), plan, jarFile, Collections.singleton(deploymentHelper.configStore), artifactResolver, deploymentHelper.configStore);
+                Object plan = earConfigBuilder.getDeploymentPlan(null, jarFile, new ModuleIDBuilder());
+                context = earConfigBuilder.buildConfiguration(false, earConfigBuilder.getConfigurationID(plan, jarFile, new ModuleIDBuilder()), plan, jarFile, Collections.singleton(deploymentHelper.configStore), artifactResolver, deploymentHelper.configStore);
                 configurationData = context.getConfigurationData();
                 // copy the configuration to force gbeans to serialize
                 configurationData = (ConfigurationData) new MarshalledObject(configurationData).get();

Modified: branches/v2_1/openejb2/modules/openejb-builder/src/test/org/openejb/deployment/PlanParsingTest.java (2631 => 2632)

--- branches/v2_1/openejb2/modules/openejb-builder/src/test/org/openejb/deployment/PlanParsingTest.java	2006-04-29 01:15:41 UTC (rev 2631)
+++ branches/v2_1/openejb2/modules/openejb-builder/src/test/org/openejb/deployment/PlanParsingTest.java	2006-04-29 16:11:14 UTC (rev 2632)
@@ -4,6 +4,11 @@
 
 import junit.framework.TestCase;
 import org.openejb.xbeans.ejbjar.OpenejbOpenejbJarType;
+import org.apache.geronimo.kernel.repository.Environment;
+import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.gbean.AbstractNameQuery;
+import org.apache.geronimo.gbean.GBeanData;
+import org.apache.geronimo.j2ee.deployment.WebServiceBuilder;
 
 /**
  */
@@ -12,7 +17,7 @@
     private OpenEJBModuleBuilder builder;
 
     protected void setUp() throws Exception {
-        builder = new OpenEJBModuleBuilder(null, null, null, null);
+        builder = new OpenEJBModuleBuilder((Environment)null, (AbstractNameQuery)null, (GBeanData) null, (WebServiceBuilder)null, (Kernel)null);
     }
 
     public void testResourceRef() throws Exception {

Modified: branches/v2_1/openejb2/modules/openejb-builder/src/test/org/openejb/deployment/entity/cmp/cmr/AbstractCMRTest.java (2631 => 2632)

--- branches/v2_1/openejb2/modules/openejb-builder/src/test/org/openejb/deployment/entity/cmp/cmr/AbstractCMRTest.java	2006-04-29 01:15:41 UTC (rev 2631)
+++ branches/v2_1/openejb2/modules/openejb-builder/src/test/org/openejb/deployment/entity/cmp/cmr/AbstractCMRTest.java	2006-04-29 16:11:14 UTC (rev 2632)
@@ -61,6 +61,7 @@
 import org.apache.geronimo.gbean.AbstractNameQuery;
 import org.apache.geronimo.gbean.GBeanData;
 import org.apache.geronimo.j2ee.deployment.EARContext;
+import org.apache.geronimo.j2ee.deployment.WebServiceBuilder;
 import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
 import org.apache.geronimo.kernel.config.ConfigurationData;
 import org.apache.geronimo.kernel.config.ConfigurationManager;
@@ -77,6 +78,7 @@
 import org.apache.geronimo.kernel.repository.DefaultArtifactManager;
 import org.apache.geronimo.kernel.repository.ArtifactResolver;
 import org.apache.geronimo.kernel.repository.DefaultArtifactResolver;
+import org.apache.geronimo.kernel.Kernel;
 import org.apache.geronimo.transaction.context.TransactionContext;
 import org.apache.geronimo.xbeans.j2ee.EjbJarDocument;
 import org.apache.geronimo.xbeans.j2ee.EjbJarType;
@@ -151,7 +153,7 @@
         EjbJarType ejbJarType = ((EjbJarDocument) XmlObject.Factory.parse(ejbJarFile)).getEjbJar();
         OpenejbOpenejbJarType openejbJarType = ((OpenejbOpenejbJarDocument) XmlObject.Factory.parse(openejbJarFile)).getOpenejbJar();
 
-        OpenEJBModuleBuilder moduleBuilder = new OpenEJBModuleBuilder(null, null, null, null);
+        OpenEJBModuleBuilder moduleBuilder = new OpenEJBModuleBuilder((Environment)null, (AbstractNameQuery)null, (GBeanData) null, (WebServiceBuilder)null, (Kernel)null);
         CMPEntityBuilderTestUtil builder = new CMPEntityBuilderTestUtil(moduleBuilder);
         TranQLPKGenBuilder pkGen = new TranQLPKGenBuilder();
         File tempDir = DeploymentUtil.createTempDir();

Modified: branches/v2_1/openejb2/modules/openejb-builder/src/test/org/openejb/deployment/entity/cmp/ejbql/EJBQLTest.java (2631 => 2632)

--- branches/v2_1/openejb2/modules/openejb-builder/src/test/org/openejb/deployment/entity/cmp/ejbql/EJBQLTest.java	2006-04-29 01:15:41 UTC (rev 2631)
+++ branches/v2_1/openejb2/modules/openejb-builder/src/test/org/openejb/deployment/entity/cmp/ejbql/EJBQLTest.java	2006-04-29 16:11:14 UTC (rev 2632)
@@ -63,6 +63,7 @@
 import org.apache.geronimo.gbean.AbstractNameQuery;
 import org.apache.geronimo.gbean.GBeanData;
 import org.apache.geronimo.j2ee.deployment.EARContext;
+import org.apache.geronimo.j2ee.deployment.WebServiceBuilder;
 import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
 import org.apache.geronimo.kernel.config.ConfigurationModuleType;
 import org.apache.geronimo.kernel.config.ConfigurationData;
@@ -77,6 +78,7 @@
 import org.apache.geronimo.kernel.repository.DefaultArtifactManager;
 import org.apache.geronimo.kernel.repository.ArtifactResolver;
 import org.apache.geronimo.kernel.repository.DefaultArtifactResolver;
+import org.apache.geronimo.kernel.Kernel;
 import org.apache.geronimo.xbeans.j2ee.EjbJarDocument;
 import org.apache.geronimo.xbeans.j2ee.EjbJarType;
 import org.apache.xmlbeans.XmlObject;
@@ -174,7 +176,7 @@
         EjbJarType ejbJarType = ((EjbJarDocument) XmlObject.Factory.parse(ejbJarFile)).getEjbJar();
         OpenejbOpenejbJarType openejbJarType = ((OpenejbOpenejbJarDocument) XmlObject.Factory.parse(openejbJarFile)).getOpenejbJar();
 
-        OpenEJBModuleBuilder moduleBuilder = new OpenEJBModuleBuilder(null, null, null, null);
+        OpenEJBModuleBuilder moduleBuilder = new OpenEJBModuleBuilder((Environment)null, (AbstractNameQuery)null, (GBeanData) null, (WebServiceBuilder)null, (Kernel)null);
         CMPEntityBuilderTestUtil builder = new CMPEntityBuilderTestUtil(moduleBuilder);
         TranQLPKGenBuilder pkGen = new TranQLPKGenBuilder();
         File tempDir = DeploymentUtil.createTempDir();

Reply via email to