Author: dblevins
Date: Thu Jun 24 12:40:59 2010
New Revision: 957532
URL: http://svn.apache.org/viewvc?rev=957532&view=rev
Log:
Splitting up CoreDeploymentInfo into scoped contexts
Added:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/AppContext.java
(with props)
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/BeanContext.java
(contents, props changed)
- copied, changed from r957453,
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/DeploymentContext.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/DeploymentContext.java
(with props)
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ModuleContext.java
(with props)
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbJarBuilder.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanBuilder.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreDeploymentInfo.java
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/cmp/jpa/AuthorBean.java
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/cmp/jpa/BookBean.java
openejb/trunk/openejb3/container/openejb-junit/src/main/java/org/apache/openejb/junit/LocalClientRunner.java
openejb/trunk/openejb3/server/openejb-ejbd/src/test/java/org/apache/openejb/server/ejbd/DeploymentIndexTest.java
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=957532&r1=957531&r2=957532&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
Thu Jun 24 12:40:59 2010
@@ -75,6 +75,7 @@ import org.apache.openejb.core.CoreUserT
import org.apache.openejb.core.JndiFactory;
import org.apache.openejb.core.SimpleTransactionSynchronizationRegistry;
import org.apache.openejb.core.TransactionSynchronizationRegistryWrapper;
+import org.apache.openejb.core.AppContext;
import org.apache.openejb.core.ivm.naming.IvmContext;
import org.apache.openejb.core.ivm.naming.IvmJndiFactory;
import org.apache.openejb.core.timer.EjbTimerServiceImpl;
@@ -480,6 +481,8 @@ public class Assembler extends Assembler
classLoader =
ClassLoaderUtil.createClassLoader(appInfo.jarPath, new URL
[]{generatedJar.toURI().toURL()}, classLoader);
}
+ AppContext appContext = new AppContext(appInfo.jarPath,
SystemInstance.get(), classLoader);
+
// JPA - Persistence Units MUST be processed first since they will
add ClassFileTransformers
// to the class loader which must be added before any classes are
loaded
PersistenceBuilder persistenceBuilder = new
PersistenceBuilder(persistenceClassLoaderHandler);
@@ -520,7 +523,7 @@ public class Assembler extends Assembler
List<DeploymentInfo> allDeployments = new
ArrayList<DeploymentInfo>();
// EJB
- EjbJarBuilder ejbJarBuilder = new EjbJarBuilder(props,
classLoader);
+ EjbJarBuilder ejbJarBuilder = new EjbJarBuilder(props, appContext);
for (EjbJarInfo ejbJar : appInfo.ejbJars) {
HashMap<String, DeploymentInfo> deployments =
ejbJarBuilder.build(ejbJar);
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbJarBuilder.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbJarBuilder.java?rev=957532&r1=957531&r2=957532&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbJarBuilder.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbJarBuilder.java
Thu Jun 24 12:40:59 2010
@@ -21,6 +21,8 @@ import org.apache.openejb.Container;
import org.apache.openejb.DeploymentInfo;
import org.apache.openejb.OpenEJBException;
import org.apache.openejb.core.CoreDeploymentInfo;
+import org.apache.openejb.core.ModuleContext;
+import org.apache.openejb.core.AppContext;
import org.apache.openejb.util.Messages;
import java.util.ArrayList;
@@ -33,22 +35,22 @@ import java.util.Properties;
public class EjbJarBuilder {
protected static final Messages messages = new
Messages("org.apache.openejb.util.resources");
- private final ClassLoader classLoader;
private final Properties props;
+ private AppContext context;
- public EjbJarBuilder(Properties props, ClassLoader classLoader) {
+ public EjbJarBuilder(Properties props, AppContext context) {
this.props = props;
- this.classLoader = classLoader;
+ this.context = context;
}
public HashMap<String, DeploymentInfo> build(EjbJarInfo ejbJar) throws
OpenEJBException {
HashMap<String, DeploymentInfo> deployments = new HashMap<String,
DeploymentInfo>();
- InterceptorBindingBuilder interceptorBindingBuilder = new
InterceptorBindingBuilder(classLoader, ejbJar);
+ InterceptorBindingBuilder interceptorBindingBuilder = new
InterceptorBindingBuilder(context.getClassLoader(), ejbJar);
for (EnterpriseBeanInfo ejbInfo : ejbJar.enterpriseBeans) {
try {
- EnterpriseBeanBuilder deploymentBuilder = new
EnterpriseBeanBuilder(classLoader, ejbInfo, ejbJar.moduleId, new
ArrayList<String>());
+ EnterpriseBeanBuilder deploymentBuilder = new
EnterpriseBeanBuilder(ejbInfo, new ArrayList<String>(), new
ModuleContext(ejbJar.moduleId, context));
CoreDeploymentInfo deployment = (CoreDeploymentInfo)
deploymentBuilder.build();
interceptorBindingBuilder.build(deployment, ejbInfo);
@@ -56,7 +58,9 @@ public class EjbJarBuilder {
deployment.setJarPath(ejbJar.jarPath);
deployments.put(ejbInfo.ejbDeploymentId, deployment);
+ // TODO: replace with get() on application context or parent
Container container = (Container)
props.get(ejbInfo.containerId);
+
if (container == null) throw new
IllegalStateException("Container does not exist: " + ejbInfo.containerId + ".
Referenced by deployment: " + deployment.getDeploymentID());
// Don't deploy to the container, yet. That will be done by
deploy() once Assembler as finished configuring the DeploymentInfo
deployment.setContainer(container);
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanBuilder.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanBuilder.java?rev=957532&r1=957531&r2=957532&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanBuilder.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanBuilder.java
Thu Jun 24 12:40:59 2010
@@ -23,7 +23,8 @@ import org.apache.openejb.OpenEJBExcepti
import org.apache.openejb.loader.SystemInstance;
import org.apache.openejb.spi.ContainerSystem;
import org.apache.openejb.core.CoreDeploymentInfo;
-import org.apache.openejb.core.DeploymentContext;
+import org.apache.openejb.core.BeanContext;
+import org.apache.openejb.core.ModuleContext;
import org.apache.openejb.core.cmp.CmpUtil;
import org.apache.openejb.util.Index;
import org.apache.openejb.util.Messages;
@@ -47,15 +48,14 @@ import java.util.concurrent.TimeUnit;
class EnterpriseBeanBuilder {
protected static final Messages messages = new
Messages("org.apache.openejb.util.resources");
private final EnterpriseBeanInfo bean;
- private final String moduleId;
private final List<String> defaultInterceptors;
private final BeanType ejbType;
- private final ClassLoader cl;
private List<Exception> warnings = new ArrayList<Exception>();
+ private ModuleContext moduleContext;
- public EnterpriseBeanBuilder(ClassLoader cl, EnterpriseBeanInfo bean,
String moduleId, List<String> defaultInterceptors) {
+ public EnterpriseBeanBuilder(EnterpriseBeanInfo bean, List<String>
defaultInterceptors, ModuleContext moduleContext) {
+ this.moduleContext = moduleContext;
this.bean = bean;
- this.moduleId = moduleId;
this.defaultInterceptors = defaultInterceptors;
if (bean.type == EnterpriseBeanInfo.STATEFUL) {
@@ -74,7 +74,6 @@ class EnterpriseBeanBuilder {
} else {
throw new UnsupportedOperationException("No building support for
bean type: " + bean);
}
- this.cl = cl;
}
public Object build() throws OpenEJBException {
@@ -120,28 +119,28 @@ class EnterpriseBeanBuilder {
final String transactionType = bean.transactionType;
// determind the injections
- InjectionBuilder injectionBuilder = new InjectionBuilder(cl);
+ InjectionBuilder injectionBuilder = new
InjectionBuilder(moduleContext.getClassLoader());
List<Injection> injections =
injectionBuilder.buildInjections(bean.jndiEnc);
// build the enc
- JndiEncBuilder jndiEncBuilder = new JndiEncBuilder(bean.jndiEnc,
injections, transactionType, moduleId, cl);
+ JndiEncBuilder jndiEncBuilder = new JndiEncBuilder(bean.jndiEnc,
injections, transactionType, moduleContext.getId(),
moduleContext.getClassLoader());
Context root = jndiEncBuilder.build();
- DeploymentContext deploymentContext = new
DeploymentContext(bean.ejbDeploymentId, cl, root);
+ BeanContext beanContext = new BeanContext(bean.ejbDeploymentId, root,
moduleContext);
+ beanContext.getProperties().putAll(bean.properties);
+
CoreDeploymentInfo deployment;
if (BeanType.MESSAGE_DRIVEN != ejbType) {
- deployment = new CoreDeploymentInfo(deploymentContext, ejbClass,
home, remote, localhome, local, serviceEndpoint, businessLocals,
businessRemotes, primaryKey, ejbType);
+ deployment = new CoreDeploymentInfo(beanContext, ejbClass, home,
remote, localhome, local, serviceEndpoint, businessLocals, businessRemotes,
primaryKey, ejbType);
} else {
MessageDrivenBeanInfo messageDrivenBeanInfo =
(MessageDrivenBeanInfo) bean;
Class mdbInterface = loadClass(messageDrivenBeanInfo.mdbInterface,
"classNotFound.mdbInterface");
- deployment = new CoreDeploymentInfo(deploymentContext, ejbClass,
mdbInterface, messageDrivenBeanInfo.activationProperties);
+ deployment = new CoreDeploymentInfo(beanContext, ejbClass,
mdbInterface, messageDrivenBeanInfo.activationProperties);
deployment.setDestinationId(messageDrivenBeanInfo.destinationId);
}
deployment.setEjbName(bean.ejbName);
- deployment.setModuleId(moduleId);
-
deployment.setRunAs(bean.runAs);
for (SecurityRoleReferenceInfo roleReferenceInfo :
bean.securityRoleReferences) {
@@ -160,8 +159,6 @@ class EnterpriseBeanBuilder {
deployment.getInjections().addAll(injections);
- deployment.getProperties().putAll(bean.properties);
-
// ejbTimeout
deployment.setEjbTimeout(getTimeout(ejbClass, bean.timeoutMethod));
@@ -389,8 +386,8 @@ class EnterpriseBeanBuilder {
// clazz.getInterfaces();
return clazz;
} catch (NoClassDefFoundError e) {
- if (clazz.getClassLoader() != cl) {
- String message = SafeToolkit.messages.format("cl0008",
className, clazz.getClassLoader(), cl, e.getMessage());
+ if (clazz.getClassLoader() != moduleContext.getClassLoader()) {
+ String message = SafeToolkit.messages.format("cl0008",
className, clazz.getClassLoader(), moduleContext.getClassLoader(),
e.getMessage());
throw new
OpenEJBException(AssemblerTool.messages.format(messageCode, className,
bean.ejbDeploymentId, message), e);
} else {
String message = SafeToolkit.messages.format("cl0009",
className, clazz.getClassLoader(), e.getMessage());
@@ -401,7 +398,7 @@ class EnterpriseBeanBuilder {
private Class load(String className, String messageCode) throws
OpenEJBException {
try {
- return Class.forName(className, true, cl);
+ return Class.forName(className, true,
moduleContext.getClassLoader());
} catch (ClassNotFoundException e) {
String message = SafeToolkit.messages.format("cl0007", className,
bean.codebase);
throw new
OpenEJBException(AssemblerTool.messages.format(messageCode, className,
bean.ejbDeploymentId, message));
Added:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/AppContext.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/AppContext.java?rev=957532&view=auto
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/AppContext.java
(added)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/AppContext.java
Thu Jun 24 12:40:59 2010
@@ -0,0 +1,42 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.openejb.core;
+
+import org.apache.openejb.loader.SystemInstance;
+import org.apache.openejb.loader.Options;
+
+/**
+ * @version $Rev$ $Date$
+*/
+public class AppContext extends DeploymentContext {
+ private final SystemInstance systemInstance;
+ private final ClassLoader classLoader;
+
+ public AppContext(String id, SystemInstance systemInstance, ClassLoader
classLoader) {
+ super(id, systemInstance.getOptions());
+ this.classLoader = classLoader;
+ this.systemInstance = systemInstance;
+ }
+
+ public ClassLoader getClassLoader() {
+ return classLoader;
+ }
+
+ public SystemInstance getSystemInstance() {
+ return systemInstance;
+ }
+}
Propchange:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/AppContext.java
------------------------------------------------------------------------------
svn:eol-style = native
Copied:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/BeanContext.java
(from r957453,
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/DeploymentContext.java)
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/BeanContext.java?p2=openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/BeanContext.java&p1=openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/DeploymentContext.java&r1=957453&r2=957532&rev=957532&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/DeploymentContext.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/BeanContext.java
Thu Jun 24 12:40:59 2010
@@ -18,32 +18,35 @@ package org.apache.openejb.core;
import javax.naming.Context;
-/**
- * @org.apache.xbean.XBean element="deploymentContext"
- */
-public class DeploymentContext {
- private final ClassLoader classLoader;
- private final Object id;
+public class BeanContext extends DeploymentContext {
+
+ private final ModuleContext moduleContext;
private final Context jndiContext;
+ private Object containerData;
- public DeploymentContext(Object id, ClassLoader classLoader, Context
jndiContext) {
- this.classLoader = classLoader;
- this.id = id;
+ public BeanContext(String id, Context jndiContext, ModuleContext
moduleContext) {
+ super(id, moduleContext.getOptions());
+ this.moduleContext = moduleContext;
this.jndiContext = jndiContext;
}
- public ClassLoader getClassLoader() {
- return classLoader;
+ public Object getContainerData() {
+ return containerData;
}
- /**
- * @org.apache.xbean.Property alias="deploymentId"
- */
- public Object getId() {
- return id;
+ public void setContainerData(Object containerData) {
+ this.containerData = containerData;
+ }
+
+ public ClassLoader getClassLoader() {
+ return moduleContext.getClassLoader();
}
public Context getJndiContext() {
return jndiContext;
}
+
+ public ModuleContext getModuleContext() {
+ return moduleContext;
+ }
}
Propchange:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/BeanContext.java
------------------------------------------------------------------------------
svn:keywords = Date Rev Author Id Revision HeadURL
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreDeploymentInfo.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreDeploymentInfo.java?rev=957532&r1=957531&r2=957532&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreDeploymentInfo.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreDeploymentInfo.java
Thu Jun 24 12:40:59 2010
@@ -99,17 +99,12 @@ public class CoreDeploymentInfo implemen
private EJBHome ejbHomeRef;
private EJBLocalHome ejbLocalHomeRef;
private String destinationId;
- private final Map<Class, Object> data = new HashMap<Class, Object>();
-
- private final Properties properties = new Properties();
private String ejbName;
private String moduleId;
private String runAs;
- private Object containerData;
-
- private final DeploymentContext context;
+ private final BeanContext context;
private Method createMethod = null;
@@ -182,7 +177,7 @@ public class CoreDeploymentInfo implemen
return null;
}
- public CoreDeploymentInfo(DeploymentContext context,
+ public CoreDeploymentInfo(BeanContext context,
Class beanClass, Class homeInterface,
Class remoteInterface,
Class localHomeInterface,
@@ -300,7 +295,7 @@ public class CoreDeploymentInfo implemen
}
}
- public CoreDeploymentInfo(DeploymentContext context, Class beanClass,
Class mdbInterface, Map<String, String> activationProperties) throws
SystemException {
+ public CoreDeploymentInfo(BeanContext context, Class beanClass, Class
mdbInterface, Map<String, String> activationProperties) throws SystemException {
this.context = context;
this.beanClass = beanClass;
this.mdbInterface = mdbInterface;
@@ -325,18 +320,8 @@ public class CoreDeploymentInfo implemen
this.destroyed = destroyed;
}
- @SuppressWarnings({"unchecked"})
- public <T> T get(Class<T> type) {
- return (T)data.get(type);
- }
-
- @SuppressWarnings({"unchecked"})
- public <T> T set(Class<T> type, T value) {
- return (T) data.put(type, value);
- }
-
public Properties getProperties() {
- return properties;
+ return context.getProperties();
}
public List<Injection> getInjections() {
@@ -351,12 +336,22 @@ public class CoreDeploymentInfo implemen
this.extendedEntityManagerFactories = extendedEntityManagerFactories;
}
+ @SuppressWarnings({"unchecked"})
+ public <T> T get(Class<T> type) {
+ return context.get(type);
+ }
+
+ @SuppressWarnings({"unchecked"})
+ public <T> T set(Class<T> type, T value) {
+ return context.set(type, value);
+ }
+
public Object getContainerData() {
- return containerData;
+ return context.getContainerData();
}
public void setContainerData(Object containerData) {
- this.containerData = containerData;
+ context.setContainerData(containerData);
}
public void setContainer(Container container) {
@@ -1102,7 +1097,7 @@ public class CoreDeploymentInfo implemen
}
public String getModuleID() {
- return moduleId;
+ return context.getModuleContext().getId();
}
public String getRunAs() {
Added:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/DeploymentContext.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/DeploymentContext.java?rev=957532&view=auto
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/DeploymentContext.java
(added)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/DeploymentContext.java
Thu Jun 24 12:40:59 2010
@@ -0,0 +1,60 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.openejb.core;
+
+import org.apache.openejb.loader.Options;
+
+import java.util.Properties;
+import java.util.Map;
+import java.util.HashMap;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class DeploymentContext {
+ private final String id;
+ private final Map<Class, Object> data = new HashMap<Class, Object>();
+ private final Properties properties = new Properties();
+ private Options options;
+
+ public DeploymentContext(String id, Options parent) {
+ this.id = id;
+ this.options = new Options(properties, parent);
+ }
+
+ public Properties getProperties() {
+ return properties;
+ }
+
+ @SuppressWarnings({"unchecked"})
+ public <T> T get(Class<T> type) {
+ return (T)data.get(type);
+ }
+
+ @SuppressWarnings({"unchecked"})
+ public <T> T set(Class<T> type, T value) {
+ return (T) data.put(type, value);
+ }
+
+ public Options getOptions() {
+ return options;
+ }
+
+ public String getId() {
+ return id;
+ }
+}
Propchange:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/DeploymentContext.java
------------------------------------------------------------------------------
svn:eol-style = native
Added:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ModuleContext.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ModuleContext.java?rev=957532&view=auto
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ModuleContext.java
(added)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ModuleContext.java
Thu Jun 24 12:40:59 2010
@@ -0,0 +1,37 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.openejb.core;
+
+/**
+ * @version $Rev$ $Date$
+*/
+public class ModuleContext extends DeploymentContext {
+ private final AppContext appContext;
+
+ public ModuleContext(String id, AppContext appContext) {
+ super(id, appContext.getOptions());
+ this.appContext = appContext;
+ }
+
+ public AppContext getAppContext() {
+ return appContext;
+ }
+
+ public ClassLoader getClassLoader() {
+ return appContext.getClassLoader();
+ }
+}
Propchange:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/ModuleContext.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified:
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/cmp/jpa/AuthorBean.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/cmp/jpa/AuthorBean.java?rev=957532&r1=957531&r2=957532&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/cmp/jpa/AuthorBean.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/cmp/jpa/AuthorBean.java
Thu Jun 24 12:40:59 2010
@@ -20,9 +20,12 @@ package org.apache.openejb.core.cmp.jpa;
import org.apache.openejb.core.cmp.cmp2.Cmp2Entity;
import org.apache.openejb.core.cmp.cmp2.SetValuedCmr;
import org.apache.openejb.core.CoreDeploymentInfo;
-import org.apache.openejb.core.DeploymentContext;
+import org.apache.openejb.core.BeanContext;
+import org.apache.openejb.core.AppContext;
+import org.apache.openejb.core.ModuleContext;
import org.apache.openejb.BeanType;
import org.apache.openejb.SystemException;
+import org.apache.openejb.loader.SystemInstance;
import javax.ejb.EntityBean;
import javax.ejb.EntityContext;
@@ -33,7 +36,7 @@ public class AuthorBean implements Entit
public static Object deploymentInfo;
static {
try {
- deploymentInfo = new CoreDeploymentInfo(new
DeploymentContext("author", Author.class.getClassLoader(), null),
+ deploymentInfo = new CoreDeploymentInfo(new BeanContext("author",
null, new ModuleContext("", new AppContext("", SystemInstance.get(),
Author.class.getClassLoader()))),
AuthorBean.class,
null,
null,
Modified:
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/cmp/jpa/BookBean.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/cmp/jpa/BookBean.java?rev=957532&r1=957531&r2=957532&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/cmp/jpa/BookBean.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/cmp/jpa/BookBean.java
Thu Jun 24 12:40:59 2010
@@ -20,9 +20,12 @@ package org.apache.openejb.core.cmp.jpa;
import org.apache.openejb.core.cmp.cmp2.SetValuedCmr;
import org.apache.openejb.core.cmp.cmp2.Cmp2Entity;
import org.apache.openejb.core.CoreDeploymentInfo;
-import org.apache.openejb.core.DeploymentContext;
+import org.apache.openejb.core.BeanContext;
+import org.apache.openejb.core.AppContext;
+import org.apache.openejb.core.ModuleContext;
import org.apache.openejb.BeanType;
import org.apache.openejb.SystemException;
+import org.apache.openejb.loader.SystemInstance;
import javax.ejb.EntityBean;
import javax.ejb.EntityContext;
@@ -33,7 +36,7 @@ public class BookBean implements EntityB
public static Object deploymentInfo;
static {
try {
- deploymentInfo = new CoreDeploymentInfo(new
DeploymentContext("book", Book.class.getClassLoader(), null),
+ deploymentInfo = new CoreDeploymentInfo(new BeanContext("book",
null, new ModuleContext("", new AppContext("", SystemInstance.get(),
Book.class.getClassLoader()))),
BookBean.class,
null,
null,
Modified:
openejb/trunk/openejb3/container/openejb-junit/src/main/java/org/apache/openejb/junit/LocalClientRunner.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-junit/src/main/java/org/apache/openejb/junit/LocalClientRunner.java?rev=957532&r1=957531&r2=957532&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-junit/src/main/java/org/apache/openejb/junit/LocalClientRunner.java
(original)
+++
openejb/trunk/openejb3/container/openejb-junit/src/main/java/org/apache/openejb/junit/LocalClientRunner.java
Thu Jun 24 12:40:59 2010
@@ -20,13 +20,14 @@ import org.apache.openejb.BeanType;
import org.apache.openejb.SystemException;
import org.apache.openejb.loader.SystemInstance;
import org.apache.openejb.core.CoreDeploymentInfo;
-import org.apache.openejb.core.DeploymentContext;
+import org.apache.openejb.core.BeanContext;
import org.apache.openejb.core.ThreadContext;
+import org.apache.openejb.core.AppContext;
+import org.apache.openejb.core.ModuleContext;
import org.apache.openejb.core.transaction.JtaTransactionPolicyFactory;
import org.apache.openejb.core.transaction.TransactionType;
import org.apache.openejb.core.transaction.TransactionPolicy;
import org.apache.openejb.core.ivm.naming.IvmContext;
-import org.apache.xbean.finder.ClassFinder;
import org.junit.internal.runners.model.ReflectiveCallable;
import org.junit.internal.runners.statements.Fail;
import org.junit.runners.BlockJUnit4ClassRunner;
@@ -107,8 +108,8 @@ public class LocalClientRunner extends B
private CoreDeploymentInfo createDeployment(Class<?> testClass) {
try {
- DeploymentContext deployment = new DeploymentContext(null,
testClass.getClassLoader(), new IvmContext());
- return new CoreDeploymentInfo(deployment, testClass, null, null,
null, null, null, null, null, null, BeanType.MANAGED);
+ BeanContext beanContext = new BeanContext(null, new IvmContext(),
new ModuleContext("", new AppContext("", SystemInstance.get(),
testClass.getClassLoader())));
+ return new CoreDeploymentInfo(beanContext, testClass, null, null,
null, null, null, null, null, null, BeanType.MANAGED);
} catch (SystemException e) {
throw new IllegalStateException(e);
}
Modified:
openejb/trunk/openejb3/server/openejb-ejbd/src/test/java/org/apache/openejb/server/ejbd/DeploymentIndexTest.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-ejbd/src/test/java/org/apache/openejb/server/ejbd/DeploymentIndexTest.java?rev=957532&r1=957531&r2=957532&view=diff
==============================================================================
---
openejb/trunk/openejb3/server/openejb-ejbd/src/test/java/org/apache/openejb/server/ejbd/DeploymentIndexTest.java
(original)
+++
openejb/trunk/openejb3/server/openejb-ejbd/src/test/java/org/apache/openejb/server/ejbd/DeploymentIndexTest.java
Thu Jun 24 12:40:59 2010
@@ -21,25 +21,28 @@ import java.rmi.RemoteException;
import org.apache.openejb.DeploymentInfo;
import org.apache.openejb.SystemException;
+import org.apache.openejb.loader.SystemInstance;
import org.apache.openejb.client.EJBMetaDataImpl;
import org.apache.openejb.client.EJBRequest;
import org.apache.openejb.client.InterfaceType;
import org.apache.openejb.core.CoreDeploymentInfo;
-import org.apache.openejb.core.DeploymentContext;
+import org.apache.openejb.core.BeanContext;
+import org.apache.openejb.core.AppContext;
+import org.apache.openejb.core.ModuleContext;
import org.junit.Before;
import org.junit.Test;
public class DeploymentIndexTest {
private Method method;
- private DeploymentContext dc;
+ private BeanContext dc;
private DeploymentInfo deploymentInfo;
private DeploymentIndex deploymentIndex;
@Before
public void setUp() throws SystemException {
method = Method.class.getMethods()[0];
- dc = new DeploymentContext("aDeploymentId", null, null);
+ dc = new BeanContext("aDeploymentId", null, new ModuleContext("", new
AppContext("", SystemInstance.get(), null)));
deploymentInfo = new CoreDeploymentInfo(dc, DeploymentIndexTest.class,
null, null, null, null, null, null, null, null, null);
deploymentIndex = new DeploymentIndex(new DeploymentInfo[] {
deploymentInfo, deploymentInfo });
}