You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2010/06/02 09:35:26 UTC
svn commit: r950397 [3/4] - in /geronimo/server/trunk/plugins: activemq/
bval/geronimo-bval-builder/src/main/java/org/apache/geronimo/bval/deployment/
client/client/src/main/history/
client/geronimo-client-builder/src/main/java/org/apache/geronimo/clie...
Modified: geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/LifecycleMethodBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/LifecycleMethodBuilder.java?rev=950397&r1=950396&r2=950397&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/LifecycleMethodBuilder.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/LifecycleMethodBuilder.java Wed Jun 2 07:35:24 2010
@@ -27,10 +27,8 @@ import java.util.Map;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
-
import org.apache.geronimo.common.DeploymentException;
-import org.apache.geronimo.gbean.GBeanInfo;
-import org.apache.geronimo.gbean.GBeanInfoBuilder;
+import org.apache.geronimo.gbean.annotation.GBean;
import org.apache.geronimo.j2ee.annotation.Holder;
import org.apache.geronimo.j2ee.annotation.LifecycleMethod;
import org.apache.geronimo.j2ee.deployment.EARContext;
@@ -42,14 +40,17 @@ import org.apache.geronimo.kernel.config
import org.apache.geronimo.xbeans.javaee6.FullyQualifiedClassType;
import org.apache.geronimo.xbeans.javaee6.JavaIdentifierType;
import org.apache.geronimo.xbeans.javaee6.LifecycleCallbackType;
-import org.apache.xbean.finder.ClassFinder;
+import org.apache.xbean.finder.AbstractFinder;
import org.apache.xmlbeans.QNameSet;
import org.apache.xmlbeans.XmlObject;
/**
* @version $Rev$ $Date$
*/
+@GBean(j2eeType = NameFactory.MODULE_BUILDER)
public class LifecycleMethodBuilder extends AbstractNamingBuilder {
+
+ @Override
public void buildNaming(XmlObject specDD, XmlObject plan, Module module, Map<EARContext.Key, Object> sharedContext) throws DeploymentException {
// skip ejb modules... they have already been processed
//skip ears, they have no standalone components
@@ -57,7 +58,7 @@ public class LifecycleMethodBuilder exte
return;
}
- ClassFinder classFinder = module.getClassFinder();
+ AbstractFinder classFinder = module.getClassFinder();
AnnotatedApp annotatedApp = module.getAnnotatedApp();
if (annotatedApp == null) {
throw new NullPointerException("No AnnotatedApp supplied");
@@ -130,23 +131,14 @@ public class LifecycleMethodBuilder exte
return map;
}
+ @Override
public QNameSet getSpecQNameSet() {
return QNameSet.EMPTY;
}
+ @Override
public QNameSet getPlanQNameSet() {
return QNameSet.EMPTY;
}
- public static final GBeanInfo GBEAN_INFO;
-
- static {
- GBeanInfoBuilder infoBuilder = GBeanInfoBuilder.createStatic(LifecycleMethodBuilder.class, NameFactory.MODULE_BUILDER);
-
- GBEAN_INFO = infoBuilder.getBeanInfo();
- }
-
- public static GBeanInfo getGBeanInfo() {
- return GBEAN_INFO;
- }
}
Modified: geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/test/java/org/apache/geronimo/naming/deployment/EnvironmentEntryBuilderTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/test/java/org/apache/geronimo/naming/deployment/EnvironmentEntryBuilderTest.java?rev=950397&r1=950396&r2=950397&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/test/java/org/apache/geronimo/naming/deployment/EnvironmentEntryBuilderTest.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/test/java/org/apache/geronimo/naming/deployment/EnvironmentEntryBuilderTest.java Wed Jun 2 07:35:24 2010
@@ -57,7 +57,7 @@ import org.osgi.framework.BundleContext;
* @version $Rev$ $Date$
*/
public class EnvironmentEntryBuilderTest extends TestCase {
- private Map componentContext = new HashMap();
+ private Map<EARContext.Key, Object> componentContext = new HashMap<EARContext.Key, Object>();
private NamingBuilder environmentEntryBuilder = new EnvironmentEntryBuilder(new String[]{AbstractNamingBuilder.JEE_NAMESPACE});
private static final String TEST = "<tmp xmlns=\"http://java.sun.com/xml/ns/javaee\">" +
@@ -195,7 +195,7 @@ public class EnvironmentEntryBuilderTest
locations.put(null, artifact);
BundleContext bundleContext = new MockBundleContext(getClass().getClassLoader(), "", null, locations);
Artifact id = new Artifact("test", "test", "", "car");
- module = new ConnectorModule(false, new AbstractName(id, Collections.singletonMap("name", "test")), null, null, null, "foo", null, null, null, null);
+ module = new ConnectorModule(false, new AbstractName(id, Collections.singletonMap("name", "test")), null, null, null, "foo", null, null, null, null, null, null);
ConfigurationManager configurationManager = new MockConfigurationManager();
EARContext earContext = new EARContext(new File("foo"),
null,
@@ -235,7 +235,7 @@ public class EnvironmentEntryBuilderTest
cursor.dispose();
}
environmentEntryBuilder.buildNaming(doc, null, module, componentContext);
- Context context = EnterpriseNamingContext.livenReferences(NamingBuilder.JNDI_KEY.get(componentContext).get(JndiScope.comp), null, null, getClass().getClassLoader(), null, "comp/");
+ Context context = EnterpriseNamingContext.livenReferences(module.getJndiScope(JndiScope.comp), null, null, getClass().getClassLoader(), null, "comp/");
Set actual = new HashSet();
for (NamingEnumeration e = context.listBindings("comp/env"); e.hasMore();) {
NameClassPair pair = (NameClassPair) e.next();
@@ -285,7 +285,7 @@ public class EnvironmentEntryBuilderTest
cursor.dispose();
}
environmentEntryBuilder.buildNaming(doc, plan, module, componentContext);
- Context context = EnterpriseNamingContext.livenReferences(NamingBuilder.JNDI_KEY.get(componentContext).get(JndiScope.comp), null, null, getClass().getClassLoader(), null, "comp/");
+ Context context = EnterpriseNamingContext.livenReferences(module.getJndiScope(JndiScope.comp), null, null, getClass().getClassLoader(), null, "comp/");
Set actual = new HashSet();
for (NamingEnumeration e = context.listBindings("comp/env"); e.hasMore();) {
NameClassPair pair = (NameClassPair) e.next();
@@ -307,7 +307,7 @@ public class EnvironmentEntryBuilderTest
}
public void testEmptyEnvironment() throws NamingException {
- Context context = EnterpriseNamingContext.livenReferences(NamingBuilder.JNDI_KEY.get(componentContext).get(JndiScope.comp), null, null, null, null, "comp/");
+ Context context = EnterpriseNamingContext.livenReferences(module.getJndiScope(JndiScope.comp), null, null, null, null, "comp/");
Context env = (Context) context.lookup("comp/env");
assertNotNull(env);
}
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=950397&r1=950396&r2=950397&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 Jun 2 07:35:24 2010
@@ -102,12 +102,17 @@ import org.apache.geronimo.xbeans.javaee
import org.apache.geronimo.xbeans.javaee6.ServletType;
import org.apache.geronimo.xbeans.javaee6.UrlPatternType;
import org.apache.geronimo.xbeans.javaee6.WebAppType;
+import org.apache.xbean.finder.AbstractFinder;
+import org.apache.xbean.finder.BundleAnnotationFinder;
import org.apache.xbean.finder.ClassFinder;
import org.apache.xmlbeans.XmlCursor;
import org.apache.xmlbeans.XmlDocumentProperties;
import org.apache.xmlbeans.XmlObject;
import org.apache.xmlbeans.XmlOptions;
import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.packageadmin.PackageAdmin;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xml.sax.SAXException;
@@ -198,6 +203,9 @@ public abstract class AbstractWebModuleB
private static final QName SECURITY_QNAME = GerSecurityDocument.type.getDocumentElementName();
+ private final PackageAdmin packageAdmin;
+
+
/**
* Manifest classpath entries in a war configuration must be resolved relative to the war configuration, not the
* enclosing ear configuration. Resolving relative to he war configuration using this offset produces the same
@@ -207,13 +215,15 @@ public abstract class AbstractWebModuleB
public static final String MESSAGE_LAYER = "HttpServlet";
protected AbstractWebModuleBuilder(Kernel kernel, Collection<NamespaceDrivenBuilder> serviceBuilders, NamingBuilder namingBuilders, ResourceEnvironmentSetter resourceEnvironmentSetter,
- Collection<WebServiceBuilder> webServiceBuilder, Collection<ModuleBuilderExtension> moduleBuilderExtensions) {
+ Collection<WebServiceBuilder> webServiceBuilder, Collection<ModuleBuilderExtension> moduleBuilderExtensions, BundleContext bundleContext) {
this.kernel = kernel;
this.serviceBuilders = new NamespaceDrivenBuilderCollection(serviceBuilders);
this.namingBuilders = namingBuilders;
this.resourceEnvironmentSetter = resourceEnvironmentSetter;
this.webServiceBuilder = webServiceBuilder;
this.moduleBuilderExtensions = moduleBuilderExtensions == null ? new ArrayList<ModuleBuilderExtension>() : moduleBuilderExtensions;
+ ServiceReference sr = bundleContext.getServiceReference(PackageAdmin.class.getName());
+ packageAdmin = (PackageAdmin) bundleContext.getService(sr);
}
static {
@@ -244,18 +254,24 @@ public abstract class AbstractWebModuleB
}
}
+ @Override
public Module createModule(File plan, JarFile moduleFile, Naming naming, ModuleIDBuilder idBuilder) throws DeploymentException {
return createModule(plan, moduleFile, ".", null, null, null, null, naming, idBuilder);
}
- public Module createModule(Object plan, JarFile moduleFile, String targetPath, URL specDDUrl, Environment environment, Object moduleContextInfo, AbstractName earName, Naming naming,
+ @Override
+ public Module createModule(Object plan, JarFile moduleFile, String targetPath, URL specDDUrl, Environment environment, Object moduleContextInfo, Module parentModule, Naming naming,
ModuleIDBuilder idBuilder) throws DeploymentException {
- return createModule(plan, moduleFile, targetPath, specDDUrl, environment, (String) moduleContextInfo, earName, naming, idBuilder);
+ return createModule(plan, moduleFile, targetPath, specDDUrl, environment, (String) moduleContextInfo, parentModule, naming, idBuilder);
}
- protected abstract Module createModule(Object plan, JarFile moduleFile, String targetPath, URL specDDUrl, Environment earEnvironment, String contextRoot, AbstractName earName, Naming naming,
+ protected abstract Module createModule(Object plan, JarFile moduleFile, String targetPath, URL specDDUrl, Environment earEnvironment, String contextRoot, Module parentModule, Naming naming,
ModuleIDBuilder idBuilder) throws DeploymentException;
+ protected static Map<JndiKey, Map<String, Object>> shareJndi(Module parent) {
+ return Module.share(Module.APP, parent == null? null: parent.getJndiContext());
+ }
+
/**
* Some servlets will have multiple url patterns. However, webservice servlets
* will only have one, which is what this method is intended for.
@@ -617,68 +633,73 @@ public abstract class AbstractWebModuleB
return true;
}
- protected ClassFinder createWebAppClassFinder(WebAppType webApp, WebModule webModule) throws DeploymentException {
+ protected AbstractFinder createWebAppClassFinder(WebAppType webApp, WebModule webModule) throws DeploymentException {
// Get the classloader from the module's EARContext
Bundle bundle = webModule.getEarContext().getDeploymentBundle();
- return createWebAppClassFinder(webApp, bundle);
- }
-
- public static ClassFinder createWebAppClassFinder(WebAppType webApp, Bundle bundle) throws DeploymentException {
- //------------------------------------------------------------------------------------
- // Find the list of classes from the web.xml we want to search for annotations in
- //------------------------------------------------------------------------------------
- List<Class> classes = new ArrayList<Class>();
- // Get all the servlets from the deployment descriptor
- ServletType[] servlets = webApp.getServletArray();
- for (ServletType servlet : servlets) {
- FullyQualifiedClassType cls = servlet.getServletClass();
- if (cls != null) { // Don't try this for JSPs
- Class<?> clas;
- try {
- clas = bundle.loadClass(cls.getStringValue());
- } catch (ClassNotFoundException e) {
- throw new DeploymentException("AbstractWebModuleBuilder: Could not load servlet class: " + cls.getStringValue(), e);
- }
- addClass(classes, clas);
- }
- }
- // Get all the listeners from the deployment descriptor
- ListenerType[] listeners = webApp.getListenerArray();
- for (ListenerType listener : listeners) {
- FullyQualifiedClassType cls = listener.getListenerClass();
- Class<?> clas;
- try {
- clas = bundle.loadClass(cls.getStringValue());
- } catch (ClassNotFoundException e) {
- throw new DeploymentException("AbstractWebModuleBuilder: Could not load listener class: " + cls.getStringValue(), e);
- }
- addClass(classes, clas);
- }
- // Get all the filters from the deployment descriptor
- FilterType[] filters = webApp.getFilterArray();
- for (FilterType filter : filters) {
- FullyQualifiedClassType cls = filter.getFilterClass();
- Class<?> clas;
- try {
- clas = bundle.loadClass(cls.getStringValue());
- } catch (ClassNotFoundException e) {
- throw new DeploymentException("AbstractWebModuleBuilder: Could not load filter class: " + cls.getStringValue(), e);
- }
- addClass(classes, clas);
- }
- // see https://issues.apache.org/jira/browse/GERONIMO-3421 .
- // if the user has botched her classloader config (perhaps by
- // not including a jar that her app needs) then ClassFinder
- // will throw NoClassDefFoundError. we want to indicate that
- // it's the user's error and provide a little context to help
- // her fix it.
+// return createWebAppClassFinder(webApp, bundle);
try {
- return new ClassFinder(classes);
- } catch (NoClassDefFoundError e) {
- throw new DeploymentException("Classloader for " + webApp.getId() + "can't find " + e.getMessage(), e);
+ return new BundleAnnotationFinder(packageAdmin, bundle);
+ } catch (Exception e) {
+ throw new DeploymentException(e);
}
}
+// public static ClassFinder createWebAppClassFinder(WebAppType webApp, Bundle bundle) throws DeploymentException {
+// //------------------------------------------------------------------------------------
+// // Find the list of classes from the web.xml we want to search for annotations in
+// //------------------------------------------------------------------------------------
+// List<Class> classes = new ArrayList<Class>();
+// // Get all the servlets from the deployment descriptor
+// ServletType[] servlets = webApp.getServletArray();
+// for (ServletType servlet : servlets) {
+// FullyQualifiedClassType cls = servlet.getServletClass();
+// if (cls != null) { // Don't try this for JSPs
+// Class<?> clas;
+// try {
+// clas = bundle.loadClass(cls.getStringValue());
+// } catch (ClassNotFoundException e) {
+// throw new DeploymentException("AbstractWebModuleBuilder: Could not load servlet class: " + cls.getStringValue(), e);
+// }
+// addClass(classes, clas);
+// }
+// }
+// // Get all the listeners from the deployment descriptor
+// ListenerType[] listeners = webApp.getListenerArray();
+// for (ListenerType listener : listeners) {
+// FullyQualifiedClassType cls = listener.getListenerClass();
+// Class<?> clas;
+// try {
+// clas = bundle.loadClass(cls.getStringValue());
+// } catch (ClassNotFoundException e) {
+// throw new DeploymentException("AbstractWebModuleBuilder: Could not load listener class: " + cls.getStringValue(), e);
+// }
+// addClass(classes, clas);
+// }
+// // Get all the filters from the deployment descriptor
+// FilterType[] filters = webApp.getFilterArray();
+// for (FilterType filter : filters) {
+// FullyQualifiedClassType cls = filter.getFilterClass();
+// Class<?> clas;
+// try {
+// clas = bundle.loadClass(cls.getStringValue());
+// } catch (ClassNotFoundException e) {
+// throw new DeploymentException("AbstractWebModuleBuilder: Could not load filter class: " + cls.getStringValue(), e);
+// }
+// addClass(classes, clas);
+// }
+// // see https://issues.apache.org/jira/browse/GERONIMO-3421 .
+// // if the user has botched her classloader config (perhaps by
+// // not including a jar that her app needs) then ClassFinder
+// // will throw NoClassDefFoundError. we want to indicate that
+// // it's the user's error and provide a little context to help
+// // her fix it.
+// try {
+// return new ClassFinder(classes);
+// } catch (NoClassDefFoundError e) {
+// throw new DeploymentException("Classloader for " + webApp.getId() + "can't find " + e.getMessage(), e);
+// }
+// }
+
private static void addClass(List<Class> classes, Class<?> clas) {
while (clas != Object.class) {
classes.add(clas);
@@ -690,10 +711,7 @@ public abstract class AbstractWebModuleB
throws DeploymentException {
Map<EARContext.Key, Object> buildingContext = new HashMap<EARContext.Key, Object>();
buildingContext.put(NamingBuilder.GBEAN_NAME_KEY, moduleContext.getModuleName());
- //get partial jndi context from earContext.
- Map<JndiKey, Map<String, Object>> jndiContext = new HashMap<JndiKey, Map<String, Object>>(NamingBuilder.JNDI_KEY.get(earContext.getGeneralData()));
- getJndiContext(jndiContext, JndiScope.module).put("module/ModuleName", webModule.getName());
- buildingContext.put(NamingBuilder.JNDI_KEY, jndiContext);
+ webModule.getJndiContext().get(JndiScope.module).put("module/ModuleName", webModule.getName());
if (!webApp.getMetadataComplete()) {
// Create a classfinder and populate it for the naming builder(s). The absence of a
// classFinder in the module will convey whether metadata-complete is set (or not)
@@ -708,8 +726,8 @@ public abstract class AbstractWebModuleB
AbstractName contextSourceName = moduleContext.getNaming().createChildName(webModuleData.getAbstractName(), "ContextSource", "ContextSource");
GBeanData contextSourceData = new GBeanData(contextSourceName, WebContextSource.class);
- contextSourceData.setAttribute("componentContext", jndiContext.get(JndiScope.comp));
- contextSourceData.setAttribute("moduleContext", jndiContext.get(JndiScope.module));
+ contextSourceData.setAttribute("componentContext", webModule.getJndiContext().get(JndiScope.comp));
+ contextSourceData.setAttribute("moduleContext", webModule.getJndiContext().get(JndiScope.module));
contextSourceData.setReferencePattern("ApplicationJndi", EARContext.APPLICATION_JNDI_NAME_KEY.get(earContext.getGeneralData()));
contextSourceData.setReferencePattern("TransactionManager", moduleContext.getTransactionManagerName());
try {
@@ -720,7 +738,6 @@ public abstract class AbstractWebModuleB
webModuleData.setReferencePattern("ContextSource", contextSourceName);
Holder holder = NamingBuilder.INJECTION_KEY.get(buildingContext);
webModule.getSharedContext().put(WebModule.WEB_APP_DATA, webModuleData);
- webModule.getSharedContext().put(NamingBuilder.JNDI_KEY, jndiContext);
webModule.getSharedContext().put(NamingBuilder.INJECTION_KEY, holder);
if (moduleContext.getServerName() != null) {
webModuleData.setReferencePattern("J2EEServer", moduleContext.getServerName());
Modified: geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/test/java/org/apache/geronimo/web25/deployment/SchemaConversionTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/test/java/org/apache/geronimo/web25/deployment/SchemaConversionTest.java?rev=950397&r1=950396&r2=950397&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/test/java/org/apache/geronimo/web25/deployment/SchemaConversionTest.java (original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/test/java/org/apache/geronimo/web25/deployment/SchemaConversionTest.java Wed Jun 2 07:35:24 2010
@@ -19,25 +19,13 @@ package org.apache.geronimo.web25.deploy
import java.net.URL;
import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
import java.util.List;
-import java.util.jar.JarFile;
-import org.apache.geronimo.common.DeploymentException;
-import org.apache.geronimo.deployment.ModuleIDBuilder;
-import org.apache.geronimo.gbean.AbstractName;
-import org.apache.geronimo.j2ee.deployment.EARContext;
-import org.apache.geronimo.j2ee.deployment.Module;
-import org.apache.geronimo.kernel.Kernel;
-import org.apache.geronimo.kernel.Naming;
-import org.apache.geronimo.kernel.repository.Environment;
import org.apache.geronimo.schema.SchemaConversionUtils;
import org.apache.geronimo.testsupport.XmlBeansTestSupport;
import org.apache.xmlbeans.XmlException;
import org.apache.xmlbeans.XmlObject;
import org.apache.xmlbeans.XmlOptions;
-import org.osgi.framework.Bundle;
/**
* @version $Rev$ $Date$
@@ -46,7 +34,6 @@ public class SchemaConversionTest extend
private ClassLoader classLoader = this.getClass().getClassLoader();
private XmlOptions options = new XmlOptions();
- private WebModuleBuilder webModuleBuilder = new WebModuleBuilder(null);
public void testWeb25To30Transform() throws Exception {
URL srcXml = classLoader.getResource("javaee_5schema/web-2-25.xml");
@@ -144,40 +131,4 @@ public class SchemaConversionTest extend
SchemaConversionUtils.convertToServletSchema(xmlObject);
}
- private static class WebModuleBuilder extends AbstractWebModuleBuilder {
-
- protected WebModuleBuilder(Kernel kernel) {
- super(kernel, null, null, null, Collections.EMPTY_SET, null);
- }
-
- public Module createModule(Bundle bundle, Naming naming, ModuleIDBuilder idBuilder) throws DeploymentException {
- return null;
- }
-
- protected Module createModule(Object plan, JarFile moduleFile, String targetPath, URL specDDUrl, Environment earEnvironment, String contextRoot, AbstractName earName, Naming naming, ModuleIDBuilder idBuilder) throws DeploymentException {
- return null;
- }
-
- public void initContext(EARContext earContext, Module module, Bundle classLoader) throws DeploymentException {
- }
-
- public void addGBeans(EARContext earContext, Module module, Bundle classLoader, Collection repositories) throws DeploymentException {
- }
-
- public String getSchemaNamespace() {
- return null;
- }
-
- @Override
- protected void postInitContext(EARContext earContext, Module module, Bundle bundle) throws DeploymentException {
- // TODO Auto-generated method stub
- }
-
- @Override
- protected void preInitContext(EARContext earContext, Module module, Bundle bundle) throws DeploymentException {
- // TODO Auto-generated method stub
- }
- }
-
-
}
Modified: geronimo/server/trunk/plugins/j2ee/j2ee-server/src/main/history/dependencies.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/j2ee-server/src/main/history/dependencies.xml?rev=950397&r1=950396&r2=950397&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/j2ee-server/src/main/history/dependencies.xml (original)
+++ geronimo/server/trunk/plugins/j2ee/j2ee-server/src/main/history/dependencies.xml Wed Jun 2 07:35:24 2010
@@ -27,8 +27,33 @@
<type>jar</type>
</dependency>
<dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-osgi-registry</artifactId>
+ <type>jar</type>
+ </dependency>
+ <dependency>
<groupId>org.apache.servicemix.bundles</groupId>
<artifactId>org.apache.servicemix.bundles.howl</artifactId>
<type>jar</type>
</dependency>
+ <dependency>
+ <groupId>org.apache.servicemix.bundles</groupId>
+ <artifactId>org.apache.servicemix.bundles.xpp3</artifactId>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.xbean</groupId>
+ <artifactId>xbean-bundleutils</artifactId>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.xbean</groupId>
+ <artifactId>xbean-finder</artifactId>
+ <type>jar</type>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.xbean</groupId>
+ <artifactId>xbean-reflect</artifactId>
+ <type>jar</type>
+ </dependency>
</plugin-artifact>
Modified: geronimo/server/trunk/plugins/jasper/geronimo-jasper-builder/src/main/java/org/apache/geronimo/jasper/deployment/JspModuleBuilderExtension.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jasper/geronimo-jasper-builder/src/main/java/org/apache/geronimo/jasper/deployment/JspModuleBuilderExtension.java?rev=950397&r1=950396&r2=950397&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jasper/geronimo-jasper-builder/src/main/java/org/apache/geronimo/jasper/deployment/JspModuleBuilderExtension.java (original)
+++ geronimo/server/trunk/plugins/jasper/geronimo-jasper-builder/src/main/java/org/apache/geronimo/jasper/deployment/JspModuleBuilderExtension.java Wed Jun 2 07:35:24 2010
@@ -151,9 +151,6 @@ public class JspModuleBuilderExtension i
Map<EARContext.Key, Object> buildingContext = new HashMap<EARContext.Key, Object>();
buildingContext.put(NamingBuilder.GBEAN_NAME_KEY, moduleName);
- //use the same jndi context as the web app
- Map compContext = NamingBuilder.JNDI_KEY.get(sharedContext);
- buildingContext.put(NamingBuilder.JNDI_KEY, compContext);
//use the same holder object as the web app.
Holder holder = NamingBuilder.INJECTION_KEY.get(sharedContext);
Modified: geronimo/server/trunk/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/JAXWSServiceRefBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/JAXWSServiceRefBuilder.java?rev=950397&r1=950396&r2=950397&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/JAXWSServiceRefBuilder.java (original)
+++ geronimo/server/trunk/plugins/jaxws/geronimo-jaxws-builder/src/main/java/org/apache/geronimo/jaxws/builder/JAXWSServiceRefBuilder.java Wed Jun 2 07:35:24 2010
@@ -164,7 +164,7 @@ public abstract class JAXWSServiceRefBui
Object ref = createService(serviceRef, gerServiceRef, module, bundle,
serviceInterfaceClass, serviceQName,
wsdlURI, serviceReferenceType, portComponentRefMap);
- put(name, ref, getJndiContextMap(componentContext));
+ put(name, ref, module.getJndiContext());
}
public abstract Object createService(ServiceRefType serviceRef, GerServiceRefType gerServiceRef,
Modified: geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/main/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/main/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilder.java?rev=950397&r1=950396&r2=950397&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/main/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilder.java (original)
+++ geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/main/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilder.java Wed Jun 2 07:35:24 2010
@@ -132,6 +132,9 @@ import org.apache.xbean.osgi.bundle.util
import org.apache.xmlbeans.XmlException;
import org.apache.xmlbeans.XmlObject;
import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.packageadmin.PackageAdmin;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -199,8 +202,9 @@ public class JettyModuleBuilder extends
@ParamReference(name="NamingBuilders", namingType=NameFactory.MODULE_BUILDER)NamingBuilder namingBuilders,
@ParamReference(name="ModuleBuilderExtensions", namingType=NameFactory.MODULE_BUILDER)Collection<ModuleBuilderExtension> moduleBuilderExtensions,
@ParamReference(name="ResourceEnvironmentSetter", namingType=NameFactory.MODULE_BUILDER)ResourceEnvironmentSetter resourceEnvironmentSetter,
- @ParamSpecial(type = SpecialAttributeType.kernel)Kernel kernel) throws GBeanNotFoundException {
- super(kernel, serviceBuilders, namingBuilders, resourceEnvironmentSetter, webServiceBuilder, moduleBuilderExtensions);
+ @ParamSpecial(type = SpecialAttributeType.kernel)Kernel kernel,
+ @ParamSpecial(type = SpecialAttributeType.bundleContext) BundleContext bundleContext) throws GBeanNotFoundException {
+ super(kernel, serviceBuilders, namingBuilders, resourceEnvironmentSetter, webServiceBuilder, moduleBuilderExtensions, bundleContext);
this.defaultEnvironment = defaultEnvironment;
this.defaultSessionTimeoutSeconds = (defaultSessionTimeoutSeconds == null) ? 30 * 60 : defaultSessionTimeoutSeconds;
this.jettyContainerObjectName = jettyContainerName;
@@ -214,6 +218,7 @@ public class JettyModuleBuilder extends
this.defaultWelcomeFiles = defaultWelcomeFiles == null ? new ArrayList<String>() : defaultWelcomeFiles;
this.defaultLocaleEncodingMappings = defaultLocaleEncodingMappings == null ? new HashMap<String, String>() : defaultLocaleEncodingMappings;
this.defaultMimeTypeMappings = defaultMimeTypeMappings == null ? new HashMap<String, String>() : defaultMimeTypeMappings;
+ ServiceReference sr = bundleContext.getServiceReference(PackageAdmin.class.getName());
}
public void doStart() throws Exception {
@@ -302,14 +307,14 @@ public class JettyModuleBuilder extends
name = bundle.getSymbolicName();
}
- WebModule module = new WebModule(standAlone, moduleName, name, environment, deployable, targetPath, webApp, jettyWebApp, specDD, contextPath, JETTY_NAMESPACE, annotatedWebApp);
+ WebModule module = new WebModule(standAlone, moduleName, name, environment, deployable, targetPath, webApp, jettyWebApp, specDD, contextPath, JETTY_NAMESPACE, annotatedWebApp, shareJndi(null), null);
for (ModuleBuilderExtension mbe : moduleBuilderExtensions) {
mbe.createModule(module, bundle, naming, idBuilder);
}
return module;
}
- protected Module createModule(Object plan, JarFile moduleFile, String targetPath, URL specDDUrl, Environment earEnvironment, String contextRoot, AbstractName earName, Naming naming, ModuleIDBuilder idBuilder) throws DeploymentException {
+ protected Module createModule(Object plan, JarFile moduleFile, String targetPath, URL specDDUrl, Environment earEnvironment, String contextRoot, Module parentModule, 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 '/'";
@@ -374,10 +379,12 @@ public class JettyModuleBuilder extends
idBuilder.resolve(environment, warName, "war");
AbstractName moduleName;
- if (earName == null) {
+ AbstractName earName;
+ if (parentModule == null) {
earName = naming.createRootName(environment.getConfigId(), NameFactory.NULL, NameFactory.J2EE_APPLICATION);
moduleName = naming.createChildName(earName, environment.getConfigId().toString(), NameFactory.WEB_MODULE);
} else {
+ earName = parentModule.getModuleName();
moduleName = naming.createChildName(earName, targetPath, NameFactory.WEB_MODULE);
}
@@ -393,7 +400,7 @@ public class JettyModuleBuilder extends
}
}
- WebModule module = new WebModule(standAlone, moduleName, name, environment, deployable, targetPath, webApp, jettyWebApp, specDD, contextRoot, JETTY_NAMESPACE, annotatedWebApp);
+ WebModule module = new WebModule(standAlone, moduleName, name, environment, deployable, targetPath, webApp, jettyWebApp, specDD, contextRoot, JETTY_NAMESPACE, annotatedWebApp, shareJndi(parentModule), parentModule);
for (ModuleBuilderExtension mbe : moduleBuilderExtensions) {
mbe.createModule(module, plan, moduleFile, targetPath, specDDUrl, environment, contextRoot, earName, naming, idBuilder);
}
Modified: geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilderTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilderTest.java?rev=950397&r1=950396&r2=950397&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilderTest.java (original)
+++ geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilderTest.java Wed Jun 2 07:35:24 2010
@@ -77,6 +77,9 @@ import org.apache.geronimo.transaction.w
import org.apache.geronimo.xbeans.geronimo.j2ee.GerSecurityDocument;
import org.apache.xmlbeans.impl.schema.SchemaTypeImpl;
import org.osgi.framework.Bundle;
+import org.osgi.service.packageadmin.ExportedPackage;
+import org.osgi.service.packageadmin.PackageAdmin;
+import org.osgi.service.packageadmin.RequiredBundle;
/**
* @version $Rev:385232 $ $Date$
@@ -285,6 +288,64 @@ public class JettyModuleBuilderTest exte
defaultEnvironment.setConfigId(webModuleArtifact);
Collection<ModuleBuilderExtension> moduleBuilderExtensions = new ArrayList<ModuleBuilderExtension>();
GeronimoSecurityBuilderImpl securityBuilder = new GeronimoSecurityBuilderImpl(null, null, null);
+ MockBundleContext bundleContext = new MockBundleContext(getClass().getClassLoader(), "", null, null);
+ PackageAdmin packageAdmin = new PackageAdmin() {
+
+ @Override
+ public ExportedPackage[] getExportedPackages(Bundle bundle) {
+ return new ExportedPackage[0];
+ }
+
+ @Override
+ public ExportedPackage[] getExportedPackages(String s) {
+ return new ExportedPackage[0];
+ }
+
+ @Override
+ public ExportedPackage getExportedPackage(String s) {
+ return null;
+ }
+
+ @Override
+ public void refreshPackages(Bundle[] bundles) {
+ }
+
+ @Override
+ public boolean resolveBundles(Bundle[] bundles) {
+ return false;
+ }
+
+ @Override
+ public RequiredBundle[] getRequiredBundles(String s) {
+ return new RequiredBundle[0];
+ }
+
+ @Override
+ public Bundle[] getBundles(String s, String s1) {
+ return new Bundle[0];
+ }
+
+ @Override
+ public Bundle[] getFragments(Bundle bundle) {
+ return new Bundle[0];
+ }
+
+ @Override
+ public Bundle[] getHosts(Bundle bundle) {
+ return new Bundle[0];
+ }
+
+ @Override
+ public Bundle getBundle(Class aClass) {
+ return null;
+ }
+
+ @Override
+ public int getBundleType(Bundle bundle) {
+ return 0;
+ }
+ };
+ bundleContext.registerService(PackageAdmin.class.getName(), packageAdmin, null);
builder = new JettyModuleBuilder(defaultEnvironment,
new Integer(1800),
Collections.EMPTY_LIST,
@@ -302,7 +363,8 @@ public class JettyModuleBuilderTest exte
new NamingBuilderCollection(null),
moduleBuilderExtensions,
new MockResourceEnvironmentSetter(),
- kernel);
+ kernel,
+ bundleContext);
builder.doStart();
securityBuilder.doStart();
Modified: geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/PlanParsingTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/PlanParsingTest.java?rev=950397&r1=950396&r2=950397&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/PlanParsingTest.java (original)
+++ geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/test/java/org/apache/geronimo/jetty8/deployment/PlanParsingTest.java Wed Jun 2 07:35:24 2010
@@ -39,6 +39,7 @@ import org.apache.geronimo.j2ee.deployme
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
import org.apache.geronimo.kernel.Jsr77Naming;
import org.apache.geronimo.kernel.Naming;
+import org.apache.geronimo.kernel.osgi.MockBundleContext;
import org.apache.geronimo.kernel.repository.Artifact;
import org.apache.geronimo.kernel.repository.Environment;
import org.apache.geronimo.kernel.util.JarUtils;
@@ -56,6 +57,10 @@ import org.apache.geronimo.xbeans.javaee
import org.apache.xmlbeans.XmlCursor;
import org.apache.xmlbeans.XmlException;
import org.apache.xmlbeans.XmlObject;
+import org.osgi.framework.Bundle;
+import org.osgi.service.packageadmin.ExportedPackage;
+import org.osgi.service.packageadmin.PackageAdmin;
+import org.osgi.service.packageadmin.RequiredBundle;
/**
*/
@@ -77,6 +82,64 @@ public class PlanParsingTest extends Xml
protected void setUp() throws Exception {
super.setUp();
GeronimoSecurityBuilderImpl securityBuilder = new GeronimoSecurityBuilderImpl(null, null, null);
+ MockBundleContext bundleContext = new MockBundleContext(getClass().getClassLoader(), "", null, null);
+ PackageAdmin packageAdmin = new PackageAdmin() {
+
+ @Override
+ public ExportedPackage[] getExportedPackages(Bundle bundle) {
+ return new ExportedPackage[0];
+ }
+
+ @Override
+ public ExportedPackage[] getExportedPackages(String s) {
+ return new ExportedPackage[0];
+ }
+
+ @Override
+ public ExportedPackage getExportedPackage(String s) {
+ return null;
+ }
+
+ @Override
+ public void refreshPackages(Bundle[] bundles) {
+ }
+
+ @Override
+ public boolean resolveBundles(Bundle[] bundles) {
+ return false;
+ }
+
+ @Override
+ public RequiredBundle[] getRequiredBundles(String s) {
+ return new RequiredBundle[0];
+ }
+
+ @Override
+ public Bundle[] getBundles(String s, String s1) {
+ return new Bundle[0];
+ }
+
+ @Override
+ public Bundle[] getFragments(Bundle bundle) {
+ return new Bundle[0];
+ }
+
+ @Override
+ public Bundle[] getHosts(Bundle bundle) {
+ return new Bundle[0];
+ }
+
+ @Override
+ public Bundle getBundle(Class aClass) {
+ return null;
+ }
+
+ @Override
+ public int getBundleType(Bundle bundle) {
+ return 0;
+ }
+ };
+ bundleContext.registerService(PackageAdmin.class.getName(), packageAdmin, null);
builder = new JettyModuleBuilder(defaultEnvironment,
new Integer(1800),
null,
@@ -93,7 +156,8 @@ public class PlanParsingTest extends Xml
new NamingBuilderCollection(null),
null,
new MockResourceEnvironmentSetter(),
- null);
+ null,
+ bundleContext);
builder.doStart();
securityBuilder.doStart();
}
Modified: geronimo/server/trunk/plugins/myfaces/geronimo-myfaces-builder/src/main/java/org/apache/geronimo/myfaces/deployment/MyFacesModuleBuilderExtension.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/myfaces/geronimo-myfaces-builder/src/main/java/org/apache/geronimo/myfaces/deployment/MyFacesModuleBuilderExtension.java?rev=950397&r1=950396&r2=950397&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/myfaces/geronimo-myfaces-builder/src/main/java/org/apache/geronimo/myfaces/deployment/MyFacesModuleBuilderExtension.java (original)
+++ geronimo/server/trunk/plugins/myfaces/geronimo-myfaces-builder/src/main/java/org/apache/geronimo/myfaces/deployment/MyFacesModuleBuilderExtension.java Wed Jun 2 07:35:24 2010
@@ -143,17 +143,12 @@ public class MyFacesModuleBuilderExtensi
Map<EARContext.Key, Object> buildingContext = new HashMap<EARContext.Key, Object>();
buildingContext.put(NamingBuilder.GBEAN_NAME_KEY, moduleName);
- //use the same jndi context as the web app
- Map<JndiKey, Map<String, Object>> compContext = NamingBuilder.JNDI_KEY.get(module.getSharedContext());
- buildingContext.put(NamingBuilder.JNDI_KEY, compContext);
-
//use the same holder object as the web app.
Holder holder = NamingBuilder.INJECTION_KEY.get(sharedContext);
buildingContext.put(NamingBuilder.INJECTION_KEY, holder);
XmlObject jettyWebApp = webModule.getVendorDD();
-// Configuration earConfiguration = earContext.getConfiguration();
ClassFinder classFinder = createMyFacesClassFinder(webApp, webModule);
webModule.setClassFinder(classFinder);
@@ -279,6 +274,7 @@ public class MyFacesModuleBuilderExtensi
try {
clas = bundle.loadClass(className);
classes.add(clas);
+ //TODO do we need superclasses?
}
catch (ClassNotFoundException e) {
log.warn("MyFacesModuleBuilderExtension: Could not load managed bean class: " + className + " mentioned in faces-config.xml file at " + url.toString());
Modified: geronimo/server/trunk/plugins/openejb/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbDeploymentBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/openejb/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbDeploymentBuilder.java?rev=950397&r1=950396&r2=950397&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/openejb/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbDeploymentBuilder.java (original)
+++ geronimo/server/trunk/plugins/openejb/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbDeploymentBuilder.java Wed Jun 2 07:35:24 2010
@@ -37,11 +37,12 @@ import org.apache.geronimo.gbean.Abstrac
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.Module;
import org.apache.geronimo.j2ee.deployment.NamingBuilder;
+import org.apache.geronimo.j2ee.deployment.annotation.AnnotatedApp;
import org.apache.geronimo.j2ee.deployment.annotation.AnnotatedEjbJar;
-import org.apache.geronimo.j2ee.jndi.JndiKey;
-import org.apache.geronimo.j2ee.jndi.JndiScope;
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
+import org.apache.geronimo.j2ee.jndi.JndiScope;
import org.apache.geronimo.kernel.GBeanAlreadyExistsException;
import org.apache.geronimo.naming.deployment.AbstractNamingBuilder;
import org.apache.geronimo.naming.deployment.GBeanResourceEnvironmentBuilder;
@@ -375,29 +376,31 @@ public class EjbDeploymentBuilder {
if (!ejbJarType.getMetadataComplete()) {
// Create a classfinder and populate it for the naming builder(s). The absence of a
// classFinder in the module will convey whether metadata-complete is set (or not)
- ejbModule.setClassFinder(createEjbJarClassFinder(ejbModule));
+// ejbModule.setClassFinder(createEjbJarClassFinder(ejbModule));
}
- Map<JndiKey, Map<String, Object>> moduleJndiContext = NamingBuilder.JNDI_KEY.get(ejbModule.getSharedContext());
EnterpriseBeansType enterpriseBeans = ejbJarType.getEnterpriseBeans();
if (enterpriseBeans != null) {
for (SessionBeanType xmlbeansEjb : enterpriseBeans.getSessionArray()) {
String ejbName = xmlbeansEjb.getEjbName().getStringValue().trim();
+ String beanClass = xmlbeansEjb.getEjbClass().getStringValue().trim();
GBeanData gbean = getEjbGBean(ejbName);
ResourceRefType[] resourceRefs = xmlbeansEjb.getResourceRefArray();
- addEnc(gbean, xmlbeansEjb, resourceRefs, moduleJndiContext);
+ addEnc(gbean, beanClass, xmlbeansEjb, resourceRefs);
}
for (MessageDrivenBeanType xmlbeansEjb : enterpriseBeans.getMessageDrivenArray()) {
String ejbName = xmlbeansEjb.getEjbName().getStringValue().trim();
+ String beanClass = xmlbeansEjb.getEjbClass().getStringValue().trim();
GBeanData gbean = getEjbGBean(ejbName);
ResourceRefType[] resourceRefs = xmlbeansEjb.getResourceRefArray();
- addEnc(gbean, xmlbeansEjb, resourceRefs, moduleJndiContext);
+ addEnc(gbean, beanClass, xmlbeansEjb, resourceRefs);
}
for (EntityBeanType xmlbeansEjb : enterpriseBeans.getEntityArray()) {
String ejbName = xmlbeansEjb.getEjbName().getStringValue().trim();
+ String beanClass = xmlbeansEjb.getEjbClass().getStringValue().trim();
GBeanData gbean = getEjbGBean(ejbName);
ResourceRefType[] resourceRefs = xmlbeansEjb.getResourceRefArray();
- addEnc(gbean, xmlbeansEjb, resourceRefs, moduleJndiContext);
+ addEnc(gbean, beanClass, xmlbeansEjb, resourceRefs);
}
}
@@ -408,28 +411,40 @@ public class EjbDeploymentBuilder {
}
}
- private void addEnc(GBeanData gbean, XmlObject xmlbeansEjb, ResourceRefType[] resourceRefs, Map<JndiKey, Map<String, Object>> moduleJndiContext) throws DeploymentException {
+ private void addEnc(GBeanData gbean, String beanClass, XmlObject xmlbeansEjb, ResourceRefType[] resourceRefs) throws DeploymentException {
OpenejbGeronimoEjbJarType geronimoOpenejb = ejbModule.getVendorDD();
//
// Build ENC
//
-
- // Geronimo uses a map to pass data to the naming build and for the results data
Map<EARContext.Key, Object> buildingContext = new HashMap<EARContext.Key, Object>();
- Map<JndiKey, Map<String, Object>> jndiContext = new HashMap<JndiKey, Map<String, Object>>();
- buildingContext.put(NamingBuilder.JNDI_KEY, jndiContext);
buildingContext.put(NamingBuilder.GBEAN_NAME_KEY, gbean.getAbstractName());
- ((AnnotatedEjbJar) ejbModule.getAnnotatedApp()).setBean(xmlbeansEjb);
+ Class ejbClass;
+ try {
+ ejbClass = ejbModule.getEarContext().getDeploymentBundle().loadClass(beanClass);
+ } catch (ClassNotFoundException e) {
+ throw new DeploymentException("Could not load ejb class", e);
+ }
+ List<Class> classes = new ArrayList<Class>();
+ while (ejbClass != null && !ejbClass.equals(Object.class)) {
+ classes.add(ejbClass);
+ ejbClass = ejbClass.getSuperclass();
+ }
+
+ ClassFinder finder = new ClassFinder(classes);
+ AnnotatedApp annotatedApp = AnnotatedEjbJar.getAnnotatedApp(xmlbeansEjb);
+
+ Module module = ejbModule.newEJb(finder, annotatedApp);
namingBuilder.buildNaming(xmlbeansEjb,
geronimoOpenejb,
- ejbModule, buildingContext);
+ module,
+ buildingContext);
AbstractName applicationJndiName = (AbstractName)earContext.getGeneralData().get(EARContext.APPLICATION_JNDI_NAME_KEY);
gbean.setReferencePattern("ApplicationJndi", applicationJndiName);
- gbean.setAttribute("moduleContextMap", jndiContext.get(JndiScope.module));
- gbean.setAttribute("componentContextMap", jndiContext.get(JndiScope.comp));
+ gbean.setAttribute("moduleContextMap", module.getJndiScope(JndiScope.module));
+ gbean.setAttribute("componentContextMap", module.getJndiScope(JndiScope.comp));
//
// Process resource refs
@@ -444,26 +459,26 @@ public class EjbDeploymentBuilder {
resourceEnvironmentSetter.setResourceEnvironment(refBuilder, resourceRefs, gerResourceRefs);
}
- private ClassFinder createEjbJarClassFinder(EjbModule ejbModule) throws DeploymentException {
-
- try {
- // Get the classloader from the module's EARContext
- Bundle bundle = ejbModule.getEarContext().getDeploymentBundle();
-
- //----------------------------------------------------------------------------------------
- // Find the list of classes from the ejb-jar.xml we want to search for annotations in
- //----------------------------------------------------------------------------------------
- List<Class> classes = new ArrayList<Class>();
-
- for (EnterpriseBean bean : ejbModule.getEjbJar().getEnterpriseBeans()) {
- classes.add(bundle.loadClass(bean.getEjbClass()));
- }
-
- return new ClassFinder(classes);
- } catch (ClassNotFoundException e) {
- throw new DeploymentException("Unable to load bean class.", e);
- }
- }
+// private ClassFinder createEjbJarClassFinder(EjbModule ejbModule) throws DeploymentException {
+//
+// try {
+// // Get the classloader from the module's EARContext
+// Bundle bundle = ejbModule.getEarContext().getDeploymentBundle();
+//
+// //----------------------------------------------------------------------------------------
+// // Find the list of classes from the ejb-jar.xml we want to search for annotations in
+// //----------------------------------------------------------------------------------------
+// List<Class> classes = new ArrayList<Class>();
+//
+// for (EnterpriseBean bean : ejbModule.getEjbJar().getEnterpriseBeans()) {
+// classes.add(bundle.loadClass(bean.getEjbClass()));
+// }
+//
+// return new ClassFinder(classes);
+// } catch (ClassNotFoundException e) {
+// throw new DeploymentException("Unable to load bean class.", e);
+// }
+// }
private GBeanData getEjbGBean(String ejbName) throws DeploymentException {
GBeanData gbean = gbeans.get(ejbName);
Modified: geronimo/server/trunk/plugins/openejb/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbModule.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/openejb/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbModule.java?rev=950397&r1=950396&r2=950397&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/openejb/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbModule.java (original)
+++ geronimo/server/trunk/plugins/openejb/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbModule.java Wed Jun 2 07:35:24 2010
@@ -16,17 +16,24 @@
*/
package org.apache.geronimo.openejb.deployment;
+import java.util.Map;
import java.util.jar.JarFile;
+import org.apache.geronimo.common.DeploymentException;
import org.apache.geronimo.gbean.AbstractName;
import org.apache.geronimo.j2ee.deployment.EJBModule;
+import org.apache.geronimo.j2ee.deployment.Module;
import org.apache.geronimo.j2ee.deployment.annotation.AnnotatedApp;
+import org.apache.geronimo.j2ee.deployment.annotation.AnnotatedEjbJar;
+import org.apache.geronimo.j2ee.jndi.JndiKey;
+import org.apache.geronimo.kernel.config.ConfigurationModuleType;
import org.apache.geronimo.kernel.repository.Environment;
import org.apache.geronimo.openejb.xbeans.ejbjar.OpenejbGeronimoEjbJarType;
import org.apache.openejb.assembler.classic.EjbJarInfo;
import org.apache.openejb.config.ConfigurationFactory;
import org.apache.openejb.jee.EjbJar;
import org.apache.openejb.jee.oejb3.OpenejbJar;
+import org.apache.xbean.finder.ClassFinder;
import org.apache.xmlbeans.XmlObject;
/**
@@ -40,21 +47,25 @@ public class EjbModule extends EJBModule
private OpenejbGeronimoEjbJarType vendorDD;
private final org.apache.openejb.config.EjbModule ejbModule;
private final ConfigurationFactory.Chain preAutoConfigDeployer;
+ private final boolean shareJndi;
- public EjbModule(org.apache.openejb.config.EjbModule ejbModule,
- boolean standAlone,
- AbstractName moduleName,
- String name,
- Environment environment,
- JarFile moduleFile,
- String targetPath,
- String ejbJarXml,
- AnnotatedApp annoatedApp) {
- super(standAlone, moduleName, name, environment, moduleFile,
- targetPath, null, null, ejbJarXml, annoatedApp);
+ public EjbModule(org.apache.openejb.config.EjbModule ejbModule,
+ boolean standAlone,
+ AbstractName moduleName,
+ String name,
+ Environment environment,
+ JarFile moduleFile,
+ String targetPath,
+ String ejbJarXml,
+ AnnotatedApp annoatedApp,
+ Map<JndiKey, Map<String, Object>> jndiContext,
+ Module parentModule, boolean shareJndi) {
+ super(standAlone, moduleName, name, environment, moduleFile,
+ targetPath, null, null, ejbJarXml, annoatedApp, jndiContext, parentModule);
this.ejbModule = ejbModule;
-
+
preAutoConfigDeployer = new ConfigurationFactory.Chain();
+ this.shareJndi = shareJndi;
}
@Override
@@ -118,9 +129,39 @@ public class EjbModule extends EJBModule
public void setClassLoader(ClassLoader classLoader) {
ejbModule.setClassLoader(classLoader);
+ ejbModule.getClientModule().setClassLoader(classLoader);
}
public ConfigurationFactory.Chain getPreAutoConfigDeployer() {
return preAutoConfigDeployer;
}
+
+ public Map<JndiKey, Map<String, Object>> getEjbJndiContext() {
+ if (shareJndi) {
+ return getJndiContext();
+ } else {
+ return Module.share(Module.MODULE, getJndiContext());
+ }
+ }
+
+ Module newEJb(ClassFinder finder, AnnotatedApp aa) throws DeploymentException {
+ Ejb ejb = new Ejb(isStandAlone(), getModuleName(), getName(), getEnvironment(), getModuleFile(), getTargetPath(),
+ getSpecDD(), getVendorDD(), getOriginalSpecDD(), getNamespace(), aa,
+ getEjbJndiContext(), this);
+ ejb.setEarContext(getEarContext());
+ ejb.setRootEarContext(getRootEarContext());
+ ejb.setClassFinder(finder);
+ return ejb;
+ }
+
+ class Ejb extends Module {
+ protected Ejb(boolean standAlone, AbstractName moduleName, String name, Environment environment, JarFile moduleFile, String targetPath, Object specDD, Object vendorDD, String originalSpecDD, String namespace, AnnotatedApp annotatedApp, Map<JndiKey, Map<String, Object>> jndiContext, Module<?, ?> parentModule) {
+ super(standAlone, moduleName, name, environment, moduleFile, targetPath, specDD, vendorDD, originalSpecDD, namespace, annotatedApp, jndiContext, parentModule);
+ }
+
+ @Override
+ public ConfigurationModuleType getType() {
+ return null;
+ }
+ }
}
Modified: geronimo/server/trunk/plugins/openejb/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/openejb/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilder.java?rev=950397&r1=950396&r2=950397&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/openejb/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilder.java (original)
+++ geronimo/server/trunk/plugins/openejb/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilder.java Wed Jun 2 07:35:24 2010
@@ -51,8 +51,6 @@ import org.apache.geronimo.deployment.xm
import org.apache.geronimo.gbean.AbstractName;
import org.apache.geronimo.gbean.AbstractNameQuery;
import org.apache.geronimo.gbean.GBeanData;
-import org.apache.geronimo.gbean.GBeanInfo;
-import org.apache.geronimo.gbean.GBeanInfoBuilder;
import org.apache.geronimo.gbean.GBeanLifecycle;
import org.apache.geronimo.gbean.ReferencePatterns;
import org.apache.geronimo.gbean.annotation.GBean;
@@ -70,7 +68,6 @@ import org.apache.geronimo.j2ee.jndi.Jnd
import org.apache.geronimo.j2ee.jndi.JndiScope;
import org.apache.geronimo.kernel.GBeanNotFoundException;
import org.apache.geronimo.kernel.Naming;
-import org.apache.geronimo.kernel.classloader.TemporaryClassLoader;
import org.apache.geronimo.kernel.config.Configuration;
import org.apache.geronimo.kernel.config.ConfigurationStore;
import org.apache.geronimo.kernel.repository.Artifact;
@@ -235,12 +232,12 @@ public class EjbModuleBuilder implements
@Override
public Module createModule(File plan, JarFile moduleFile, Naming naming, ModuleIDBuilder idBuilder) throws DeploymentException {
- return createModule(plan, moduleFile, "ejb.jar", null, null, null, naming, idBuilder);
+ return createModule(plan, moduleFile, "ejb.jar", null, null, null, naming, idBuilder, "META-INF/", false);
}
@Override
- 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);
+ public Module createModule(Object plan, JarFile moduleFile, String targetPath, URL specDDUrl, Environment environment, Object moduleContextInfo, Module parentModule, Naming naming, ModuleIDBuilder idBuilder) throws DeploymentException {
+ return createModule(plan, moduleFile, targetPath, specDDUrl, environment, parentModule, naming, idBuilder, "META-INF/", false);
}
//ModuleBuilderExtension entry points
@@ -263,23 +260,24 @@ public class EjbModuleBuilder implements
//check for web module
if (module instanceof WebModule) {
//check for WEB-INF/ejb-jar.xml
- Module ejbModule = createModule(null, moduleFile, targetPath, null, environment, earName, naming, idBuilder);
+ Module ejbModule = createModule(null, moduleFile, targetPath, null, environment, module, naming, idBuilder, "WEB-INF/", true);
if (ejbModule != null) {
module.getModules().add(ejbModule);
//???
module.getModuleLocations().add(targetPath);
+ ejbModule.getSharedContext().putAll(module.getSharedContext());
}
}
}
- private Module createModule(Object plan, JarFile moduleFile, String targetPath, URL specDDUrl, Environment earEnvironment, AbstractName earName, Naming naming, ModuleIDBuilder idBuilder) throws DeploymentException {
+ private Module createModule(Object plan, JarFile moduleFile, String targetPath, URL specDDUrl, Environment earEnvironment, Module parentModule, Naming naming, ModuleIDBuilder idBuilder, String ddDir, boolean subModule) throws DeploymentException {
if (moduleFile == null) throw new NullPointerException("moduleFile is null");
if (targetPath == null) throw new NullPointerException("targetPath is null");
if (targetPath.endsWith("/")) throw new IllegalArgumentException("targetPath must not end with a '/'");
// Load the module file
- DeploymentLoader loader = new DeploymentLoader();
+ DeploymentLoader loader = new DeploymentLoader(ddDir);
AppModule appModule;
try {
appModule = loader.load(new File(moduleFile.getName()));
@@ -368,12 +366,12 @@ public class EjbModuleBuilder implements
AbstractName moduleName;
- if (earName == null) {
- earName = naming.createRootName(environment.getConfigId(), NameFactory.NULL, NameFactory.J2EE_APPLICATION);
+ if (parentModule == null || ".".equals(targetPath)) {
+ AbstractName earName = naming.createRootName(environment.getConfigId(), NameFactory.NULL, NameFactory.J2EE_APPLICATION);
moduleName = naming.createChildName(earName, environment.getConfigId().toString(), NameFactory.EJB_MODULE);
ejbModule.setModuleId(environment.getConfigId().getArtifactId());
} else {
- moduleName = naming.createChildName(earName, targetPath, NameFactory.EJB_MODULE);
+ moduleName = naming.createChildName(parentModule.getModuleName(), targetPath, NameFactory.EJB_MODULE);
ejbModule.setModuleId(targetPath);
}
@@ -382,20 +380,29 @@ public class EjbModuleBuilder implements
EjbJarType ejbJarType = XmlUtil.convertToXmlbeans(ejbJar);
AnnotatedEjbJar annotatedEjbJar = new AnnotatedEjbJar(ejbJarType);
- String name = null;
- if (ejbJarType.isSetModuleName()) {
+ String name;
+ if (subModule) {
+ name = parentModule.getName();
+ } else if (ejbJarType.isSetModuleName()) {
name = ejbJarType.getModuleName().getStringValue().trim();
} else if (standAlone) {
name = FileUtils.removeExtension(new File(moduleFile.getName()).getName(), ".jar");
} else {
name = FileUtils.removeExtension(targetPath, ".jar");
}
-
- EjbModule module = new EjbModule(ejbModule, standAlone, moduleName, name, environment, moduleFile, targetPath, "", annotatedEjbJar);
+
+ Map<JndiKey, Map<String, Object>> context = null;
+ if (subModule) {
+ context = parentModule.getJndiContext();
+ } else if (parentModule != null) {
+ context = Module.share(Module.APP, parentModule.getJndiContext());
+ }
+ EjbModule module = new EjbModule(ejbModule, standAlone, moduleName, name, environment, moduleFile, targetPath, "", annotatedEjbJar, context, parentModule, subModule);
for (ModuleBuilderExtension builder : moduleBuilderExtensions) {
try {
- builder.createModule(module, plan, moduleFile, targetPath, specDDUrl, environment, null, earName, naming, idBuilder);
+ builder.createModule(module, plan, moduleFile, targetPath, specDDUrl, environment, null, parentModule == null? null: parentModule.getModuleName(), naming, idBuilder);
+
} catch (Throwable t) {
String builderName = builder.getClass().getSimpleName();
log.error(builderName + ".createModule() failed: " + t.getMessage(), t);
@@ -522,19 +529,17 @@ public class EjbModuleBuilder implements
LinkedHashSet<Module<?,?>> modules = module.getModules();
for (Module<?,?> subModule: modules) {
if (subModule instanceof EjbModule) {
- installModule(earFile, earContext, subModule, configurationStores, targetConfigurationStore, repository);
+ subModule.setEarContext(module.getEarContext());
+ subModule.setRootEarContext(module.getRootEarContext());
+ //don't copy, module is already in classloader
+ registerModule(subModule, earContext);
}
}
}
}
private void installModule(Module module, EARContext earContext) throws DeploymentException {
- EarData earData = EarData.KEY.get(earContext.getGeneralData());
- if (earData == null) {
- earData = new EarData();
- earContext.getGeneralData().put(EarData.KEY, earData);
- }
- earData.addEjbModule((EjbModule) module);
+ registerModule(module, earContext);
JarFile moduleFile = module.getModuleFile();
try {
@@ -545,6 +550,15 @@ public class EjbModuleBuilder implements
}
}
+ private void registerModule(Module module, EARContext earContext) {
+ EarData earData = EarData.KEY.get(earContext.getGeneralData());
+ if (earData == null) {
+ earData = new EarData();
+ earContext.getGeneralData().put(EarData.KEY, earData);
+ }
+ earData.addEjbModule((EjbModule) module);
+ }
+
private static final String LINE_SEP = System.getProperty("line.separator");
private boolean cleanupConfigurationDir(File configurationDir) {
@@ -573,7 +587,7 @@ public class EjbModuleBuilder implements
// update the original spec dd with the metadata complete dd
EjbJar ejbJar = ejbModule.getEjbJar();
- ejbModule.setOriginalSpecDD(XmlUtil.marshal(ejbModule.getEjbJar()));
+ ejbModule.setOriginalSpecDD(XmlUtil.marshal(ejbJar));
// Get the geronimo-openejb plan
GeronimoEjbJarType geronimoEjbJarType = (GeronimoEjbJarType) ejbModule.getEjbModule().getAltDDs().get("geronimo-openejb.xml");
@@ -638,12 +652,12 @@ public class EjbModuleBuilder implements
ClassLoader bundleLoader = new BundleClassLoader(bundle);
// temporary classloader is used for processing ejb annotations and byte code manipulation during ejb load
- TemporaryClassLoader temporaryClassLoader = new TemporaryClassLoader(new URL[0], bundleLoader);
+// TemporaryClassLoader temporaryClassLoader = new TemporaryClassLoader(new URL[0], bundleLoader);
// create an openejb app module for the ear containing all ejb modules
AppModule appModule = new AppModule(bundleLoader, earContext.getConfigID().toString());
- for (EjbModule module : earData.getEjbModuels()) {
- module.setClassLoader(temporaryClassLoader);
+ for (EjbModule module : earData.getEjbModules()) {
+ module.setClassLoader(bundleLoader);
appModule.getEjbModules().add(module.getEjbModule());
}
@@ -857,11 +871,8 @@ public class EjbModuleBuilder implements
EjbDeploymentBuilder ejbDeploymentBuilder = ejbModule.getEjbBuilder();
// add enc
- Map<JndiKey, Map<String, Object>> jndiContext = NamingBuilder.JNDI_KEY.get(earContext.getGeneralData());
- getJndiContext(jndiContext, JndiScope.module).put("module/ModuleName", module.getName());
- ejbModule.getSharedContext().put(NamingBuilder.JNDI_KEY, jndiContext);
+ module.getJndiScope(JndiScope.module).put("module/ModuleName", module.getName());
ejbDeploymentBuilder.buildEnc();
- Map<String, Object> moduleContext = jndiContext.remove(JndiScope.module);
Set<GBeanData> gBeanDatas = earContext.getConfiguration().findGBeanDatas(Collections.singleton(new AbstractNameQuery(PersistenceUnitGBean.class.getName())));
LinkResolver<String> linkResolver = new UniqueDefaultLinkResolver<String>();
@@ -887,10 +898,11 @@ public class EjbModuleBuilder implements
// Add JSR77 EJBModule GBean
GBeanData ejbModuleGBeanData = new GBeanData(ejbModule.getModuleName(), EjbModuleImpl.class);
try {
- ejbModuleGBeanData.setReferencePattern("J2EEServer", earContext.getServerName());
- if (!ejbModule.isStandAlone()) {
- ejbModuleGBeanData.setReferencePattern("J2EEApplication", earContext.getModuleName());
- }
+ ejbModuleGBeanData.setReferencePattern("J2EEServer", module.getRootEarContext().getServerName());
+ //TODO nested modules figure out when this makes sense
+// if (!ejbModule.isShared()) {
+// ejbModuleGBeanData.setReferencePattern("J2EEApplication", module.getRootEarContext().getModuleName());
+// }
ejbModuleGBeanData.setAttribute("deploymentDescriptor", ejbModule.getOriginalSpecDD());
@@ -902,7 +914,7 @@ public class EjbModuleBuilder implements
ejbModuleGBeanData.setReferencePattern("OpenEjbSystem", new AbstractNameQuery(null, Collections.EMPTY_MAP, OpenEjbSystem.class.getName()));
ejbModuleGBeanData.setAttribute("ejbJarInfo", ejbModule.getEjbJarInfo());
ejbModuleGBeanData.setAttribute("modulePath", ejbModule.getTargetPath());
- ejbModuleGBeanData.setAttribute("moduleContext", moduleContext);
+ ejbModuleGBeanData.setAttribute("moduleContext", module.getJndiScope(JndiScope.module));
earContext.addGBean(ejbModuleGBeanData);
} catch (Exception e) {
throw new DeploymentException("Unable to initialize EJBModule GBean " + ejbModuleGBeanData.getAbstractName(), e);
@@ -926,15 +938,6 @@ public class EjbModuleBuilder implements
}
}
}
-
- private static Map<String, Object> getJndiContext(Map<JndiKey, Map<String, Object>> contexts, JndiScope scope) {
- Map<String, Object> context = contexts.get(scope);
- if (context == null) {
- context = new HashMap<String, Object>();
- contexts.put(scope, context);
- }
- return context;
- }
private void setMdbContainerIds(EARContext earContext, EjbModule ejbModule, GBeanData ejbModuleGBeanData) throws DeploymentException {
Object altDD = ejbModule.getEjbModule().getAltDDs().get("openejb-jar.xml");
@@ -1052,7 +1055,7 @@ public class EjbModuleBuilder implements
return ejbModule;
}
- public Collection<EjbModule> getEjbModuels() {
+ public Collection<EjbModule> getEjbModules() {
return ejbModules.values();
}
Modified: geronimo/server/trunk/plugins/openejb/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbRefBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/openejb/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbRefBuilder.java?rev=950397&r1=950396&r2=950397&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/openejb/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbRefBuilder.java (original)
+++ geronimo/server/trunk/plugins/openejb/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbRefBuilder.java Wed Jun 2 07:35:24 2010
@@ -175,7 +175,7 @@ public class EjbRefBuilder extends Abstr
value = createClientRef(value);
}
if (value instanceof Serializable) {
- put(name, value, getJndiContextMap(sharedContext));
+ put(name, value, module.getJndiContext());
}
}
}
Modified: geronimo/server/trunk/plugins/openejb/openejb/src/main/history/dependencies.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/openejb/openejb/src/main/history/dependencies.xml?rev=950397&r1=950396&r2=950397&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/openejb/openejb/src/main/history/dependencies.xml (original)
+++ geronimo/server/trunk/plugins/openejb/openejb/src/main/history/dependencies.xml Wed Jun 2 07:35:24 2010
@@ -122,6 +122,11 @@
<type>jar</type>
</dependency>
<dependency>
+ <groupId>org.apache.xbean</groupId>
+ <artifactId>xbean-bundleutils</artifactId>
+ <type>jar</type>
+ </dependency>
+ <dependency>
<groupId>org.apache.yoko</groupId>
<artifactId>yoko-spec-corba</artifactId>
<type>jar</type>
Modified: geronimo/server/trunk/plugins/openjpa2/geronimo-persistence-jpa20-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceContextRefBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/openjpa2/geronimo-persistence-jpa20-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceContextRefBuilder.java?rev=950397&r1=950396&r2=950397&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/openjpa2/geronimo-persistence-jpa20-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceContextRefBuilder.java (original)
+++ geronimo/server/trunk/plugins/openjpa2/geronimo-persistence-jpa20-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceContextRefBuilder.java Wed Jun 2 07:35:24 2010
@@ -144,7 +144,7 @@ public class PersistenceContextRefBuilde
PersistenceContextReference reference = new PersistenceContextReference(module.getConfigId(), persistenceUnitNameQuery, transactionScoped, properties);
- put(persistenceContextRefName, reference, NamingBuilder.JNDI_KEY.get(componentContext));
+ put(persistenceContextRefName, reference, module.getJndiContext());
} catch (DeploymentException e) {
problems.add(e);
}
@@ -166,7 +166,7 @@ public class PersistenceContextRefBuilde
PersistenceContextReference reference = new PersistenceContextReference(module.getConfigId(), persistenceUnitNameQuery, transactionScoped, properties);
- put(persistenceContextRefName, reference, NamingBuilder.JNDI_KEY.get(componentContext));
+ put(persistenceContextRefName, reference, module.getJndiContext());
} catch (DeploymentException e) {
problems.add(e);
}
Modified: geronimo/server/trunk/plugins/openjpa2/geronimo-persistence-jpa20-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceUnitRefBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/openjpa2/geronimo-persistence-jpa20-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceUnitRefBuilder.java?rev=950397&r1=950396&r2=950397&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/openjpa2/geronimo-persistence-jpa20-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceUnitRefBuilder.java (original)
+++ geronimo/server/trunk/plugins/openjpa2/geronimo-persistence-jpa20-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceUnitRefBuilder.java Wed Jun 2 07:35:24 2010
@@ -130,7 +130,7 @@ public class PersistenceUnitRefBuilder e
PersistenceUnitReference reference = new PersistenceUnitReference(module.getConfigId(), persistenceUnitNameQuery);
- put(persistenceUnitRefName, reference, NamingBuilder.JNDI_KEY.get(componentContext));
+ put(persistenceUnitRefName, reference, module.getJndiContext());
} catch (DeploymentException e) {
problems.add(e);
}
@@ -148,7 +148,7 @@ public class PersistenceUnitRefBuilder e
PersistenceUnitReference reference = new PersistenceUnitReference(module.getConfigId(), persistenceUnitNameQuery);
- put(PersistenceUnitRefName, reference, NamingBuilder.JNDI_KEY.get(componentContext));
+ put(PersistenceUnitRefName, reference, module.getJndiContext());
} catch (DeploymentException e) {
problems.add(e);
}