Author: dain
Date: Wed Sep 19 18:14:10 2007
New Revision: 577489
URL: http://svn.apache.org/viewvc?rev=577489&view=rev
Log:
Merging 576624 from trunk
Enable annotation processing for collapsed ears in Tomcat
Added:
openejb/branches/3.0-beta-1/assembly/openejb-tomcat/src/main/java/org/apache/openejb/tomcat/TomcatWebAppBuilder.java
- copied unchanged from r576624,
openejb/trunk/openejb3/assembly/openejb-tomcat/src/main/java/org/apache/openejb/tomcat/TomcatWebAppBuilder.java
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ConnectorInfo.java
- copied unchanged from r576624,
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ConnectorInfo.java
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/WebAppBuilder.java
- copied unchanged from r576624,
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/WebAppBuilder.java
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/WebAppInfo.java
- copied unchanged from r576624,
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/WebAppInfo.java
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/ConnectorModule.java
- copied unchanged from r576624,
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConnectorModule.java
openejb/branches/3.0-beta-1/examples/servlet-samples/ (props changed)
- copied from r576624, openejb/trunk/openejb3/examples/servlet-samples/
openejb/branches/3.0-beta-1/examples/servlet-samples/pom.xml
- copied unchanged from r576624,
openejb/trunk/openejb3/examples/servlet-samples/pom.xml
openejb/branches/3.0-beta-1/examples/servlet-samples/src/
- copied from r576624,
openejb/trunk/openejb3/examples/servlet-samples/src/
openejb/branches/3.0-beta-1/examples/servlet-samples/src/main/
- copied from r576624,
openejb/trunk/openejb3/examples/servlet-samples/src/main/
openejb/branches/3.0-beta-1/examples/servlet-samples/src/main/java/
- copied from r576624,
openejb/trunk/openejb3/examples/servlet-samples/src/main/java/
openejb/branches/3.0-beta-1/examples/servlet-samples/src/main/java/org/
- copied from r576624,
openejb/trunk/openejb3/examples/servlet-samples/src/main/java/org/
openejb/branches/3.0-beta-1/examples/servlet-samples/src/main/java/org/apache/
- copied from r576624,
openejb/trunk/openejb3/examples/servlet-samples/src/main/java/org/apache/
openejb/branches/3.0-beta-1/examples/servlet-samples/src/main/java/org/apache/openejb/
- copied from r576624,
openejb/trunk/openejb3/examples/servlet-samples/src/main/java/org/apache/openejb/
openejb/branches/3.0-beta-1/examples/servlet-samples/src/main/java/org/apache/openejb/examples/
- copied from r576624,
openejb/trunk/openejb3/examples/servlet-samples/src/main/java/org/apache/openejb/examples/
openejb/branches/3.0-beta-1/examples/servlet-samples/src/main/java/org/apache/openejb/examples/servlet/
- copied from r576624,
openejb/trunk/openejb3/examples/servlet-samples/src/main/java/org/apache/openejb/examples/servlet/
openejb/branches/3.0-beta-1/examples/servlet-samples/src/main/java/org/apache/openejb/examples/servlet/AnnotatedEJB.java
- copied unchanged from r576624,
openejb/trunk/openejb3/examples/servlet-samples/src/main/java/org/apache/openejb/examples/servlet/AnnotatedEJB.java
openejb/branches/3.0-beta-1/examples/servlet-samples/src/main/java/org/apache/openejb/examples/servlet/AnnotatedEJBLocal.java
- copied unchanged from r576624,
openejb/trunk/openejb3/examples/servlet-samples/src/main/java/org/apache/openejb/examples/servlet/AnnotatedEJBLocal.java
openejb/branches/3.0-beta-1/examples/servlet-samples/src/main/java/org/apache/openejb/examples/servlet/AnnotatedServlet.java
- copied unchanged from r576624,
openejb/trunk/openejb3/examples/servlet-samples/src/main/java/org/apache/openejb/examples/servlet/AnnotatedServlet.java
openejb/branches/3.0-beta-1/examples/servlet-samples/src/main/resources/
- copied from r576624,
openejb/trunk/openejb3/examples/servlet-samples/src/main/resources/
openejb/branches/3.0-beta-1/examples/servlet-samples/src/main/webapp/
- copied from r576624,
openejb/trunk/openejb3/examples/servlet-samples/src/main/webapp/
openejb/branches/3.0-beta-1/examples/servlet-samples/src/main/webapp/WEB-INF/
- copied from r576624,
openejb/trunk/openejb3/examples/servlet-samples/src/main/webapp/WEB-INF/
openejb/branches/3.0-beta-1/examples/servlet-samples/src/main/webapp/WEB-INF/web.xml
- copied unchanged from r576624,
openejb/trunk/openejb3/examples/servlet-samples/src/main/webapp/WEB-INF/web.xml
openejb/branches/3.0-beta-1/examples/servlet-samples/src/main/webapp/index.jsp
- copied unchanged from r576624,
openejb/trunk/openejb3/examples/servlet-samples/src/main/webapp/index.jsp
Removed:
openejb/branches/3.0-beta-1/assembly/openejb-tomcat/src/main/java/org/apache/openejb/tomcat/TomcatWarBuilder.java
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/ResourceModule.java
Modified:
openejb/branches/3.0-beta-1/assembly/openejb-tomcat/maven.xml
openejb/branches/3.0-beta-1/assembly/openejb-tomcat/src/main/java/org/apache/openejb/tomcat/GlobalListenerSupport.java
openejb/branches/3.0-beta-1/assembly/openejb-tomcat/src/main/java/org/apache/openejb/tomcat/TomcatLoader.java
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/AppInfo.java
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/AppModule.java
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/Deploy.java
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/VmDeploymentManager.java
openejb/branches/3.0-beta-1/container/openejb-jee/src/main/java/org/apache/openejb/jee/WebApp.java
openejb/branches/3.0-beta-1/examples/pom.xml
Modified: openejb/branches/3.0-beta-1/assembly/openejb-tomcat/maven.xml
URL:
http://svn.apache.org/viewvc/openejb/branches/3.0-beta-1/assembly/openejb-tomcat/maven.xml?rev=577489&r1=577488&r2=577489&view=diff
==============================================================================
--- openejb/branches/3.0-beta-1/assembly/openejb-tomcat/maven.xml (original)
+++ openejb/branches/3.0-beta-1/assembly/openejb-tomcat/maven.xml Wed Sep 19
18:14:10 2007
@@ -214,6 +214,10 @@
</j:if>
</goal>
+ <goal name="setup:ejb-examples">
+ <mkdir dir="${tomcat.home}/webapps/ejb-examples"/>
+ <unjar
src="${user.home}/.m2/repository/org/apache/openejb/servlet-samples/1.0-SNAPSHOT/servlet-samples-1.0-SNAPSHOT.war"
dest="${tomcat.home}/webapps/ejb-examples"/>
+ </goal>
<!--======================-->
<!-- Testing profiles -->
@@ -224,6 +228,7 @@
<attainGoal name="setup:tomcat"/>
<attainGoal name="setup:loader-webapp"/>
<attainGoal name="setup:itests"/>
+ <attainGoal name="setup:ejb-examples"/>
<attainGoal name="start:tomcat"/>
</goal>
@@ -232,6 +237,7 @@
<attainGoal name="setup:tomcat"/>
<attainGoal name="setup:loader-webapp"/>
<attainGoal name="setup:itests"/>
+ <attainGoal name="setup:ejb-examples"/>
<attainGoal name="start:tomcat-debug"/>
</goal>
Modified:
openejb/branches/3.0-beta-1/assembly/openejb-tomcat/src/main/java/org/apache/openejb/tomcat/GlobalListenerSupport.java
URL:
http://svn.apache.org/viewvc/openejb/branches/3.0-beta-1/assembly/openejb-tomcat/src/main/java/org/apache/openejb/tomcat/GlobalListenerSupport.java?rev=577489&r1=577488&r2=577489&view=diff
==============================================================================
---
openejb/branches/3.0-beta-1/assembly/openejb-tomcat/src/main/java/org/apache/openejb/tomcat/GlobalListenerSupport.java
(original)
+++
openejb/branches/3.0-beta-1/assembly/openejb-tomcat/src/main/java/org/apache/openejb/tomcat/GlobalListenerSupport.java
Wed Sep 19 18:14:10 2007
@@ -78,6 +78,10 @@
}
}
+ public void stop() {
+ standardServer.removePropertyChangeListener(this);
+ }
+
private void serviceAdded(Service service) {
Container container = service.getContainer();
if (container instanceof StandardEngine) {
@@ -161,6 +165,7 @@
}
}
+ @SuppressWarnings({"UnusedDeclaration"})
private void contextRemoved(StandardContext context) {
}
Modified:
openejb/branches/3.0-beta-1/assembly/openejb-tomcat/src/main/java/org/apache/openejb/tomcat/TomcatLoader.java
URL:
http://svn.apache.org/viewvc/openejb/branches/3.0-beta-1/assembly/openejb-tomcat/src/main/java/org/apache/openejb/tomcat/TomcatLoader.java?rev=577489&r1=577488&r2=577489&view=diff
==============================================================================
---
openejb/branches/3.0-beta-1/assembly/openejb-tomcat/src/main/java/org/apache/openejb/tomcat/TomcatLoader.java
(original)
+++
openejb/branches/3.0-beta-1/assembly/openejb-tomcat/src/main/java/org/apache/openejb/tomcat/TomcatLoader.java
Wed Sep 19 18:14:10 2007
@@ -18,6 +18,7 @@
package org.apache.openejb.tomcat;
import org.apache.openejb.OpenEJB;
+import org.apache.openejb.assembler.classic.WebAppBuilder;
import org.apache.openejb.core.ServerFederation;
import org.apache.openejb.core.ThreadContext;
import org.apache.openejb.loader.Loader;
@@ -48,10 +49,10 @@
ThreadContext.addThreadContextListener(new
TomcatThreadContextListener());
- TomcatWarBuilder warBuilder =
SystemInstance.get().getComponent(TomcatWarBuilder.class);
- if (warBuilder == null) {
- TomcatWarBuilder tomcatWarBuilder = new TomcatWarBuilder();
- tomcatWarBuilder.start();
+ if (SystemInstance.get().getComponent(WebAppBuilder.class) == null) {
+ TomcatWebAppBuilder tomcatWebAppBuilder = new
TomcatWebAppBuilder();
+ tomcatWebAppBuilder.start();
+ SystemInstance.get().setComponent(WebAppBuilder.class,
tomcatWebAppBuilder);
}
SystemInstance.init(props);
Modified:
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/AppInfo.java
URL:
http://svn.apache.org/viewvc/openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/AppInfo.java?rev=577489&r1=577488&r2=577489&view=diff
==============================================================================
---
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/AppInfo.java
(original)
+++
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/AppInfo.java
Wed Sep 19 18:14:10 2007
@@ -26,6 +26,8 @@
public String jarPath;
public final List<ClientInfo> clients = new ArrayList<ClientInfo>();
public final List<EjbJarInfo> ejbJars = new ArrayList<EjbJarInfo>();
+ public final List<ConnectorInfo> connectors = new
ArrayList<ConnectorInfo>();
+ public final List<WebAppInfo> webApps = new ArrayList<WebAppInfo>();
public final List<PersistenceUnitInfo> persistenceUnits = new
ArrayList<PersistenceUnitInfo>();
public final List<String> libs = new ArrayList<String>();
public String cmpMappingsXml;
Modified:
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
URL:
http://svn.apache.org/viewvc/openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=577489&r1=577488&r2=577489&view=diff
==============================================================================
---
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
(original)
+++
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
Wed Sep 19 18:14:10 2007
@@ -345,6 +345,34 @@
createApplication(appInfo, null, classLoader);
}
+ public void createConnector(ConnectorInfo connectorInfo) throws
NamingException, IOException, OpenEJBException {
+ AppInfo appInfo = new AppInfo();
+ appInfo.jarPath = connectorInfo.moduleId;
+ appInfo.connectors.add(connectorInfo);
+ createApplication(appInfo);
+ }
+
+ public void createConnector(ConnectorInfo connectorInfo, ClassLoader
classLoader) throws NamingException, IOException, OpenEJBException {
+ AppInfo appInfo = new AppInfo();
+ appInfo.jarPath = connectorInfo.moduleId;
+ appInfo.connectors.add(connectorInfo);
+ createApplication(appInfo, null, classLoader);
+ }
+
+ public void createWebApp(WebAppInfo webAppInfo) throws NamingException,
IOException, OpenEJBException {
+ AppInfo appInfo = new AppInfo();
+ appInfo.jarPath = webAppInfo.moduleId;
+ appInfo.webApps.add(webAppInfo);
+ createApplication(appInfo);
+ }
+
+ public void createWebApp(WebAppInfo webAppInfo, ClassLoader classLoader)
throws NamingException, IOException, OpenEJBException {
+ AppInfo appInfo = new AppInfo();
+ appInfo.jarPath = webAppInfo.moduleId;
+ appInfo.webApps.add(webAppInfo);
+ createApplication(appInfo, null, classLoader);
+ }
+
public void createApplication(AppInfo appInfo) throws OpenEJBException,
IOException, NamingException {
createApplication(appInfo, null, createAppClassLoader(appInfo));
}
@@ -510,6 +538,14 @@
containerSystem.getJNDIContext().bind("java:openejb/client/" +
clientInfo.moduleId + "/comp/injections", injections);
}
+ // WebApp
+ WebAppBuilder webAppBuilder =
SystemInstance.get().getComponent(WebAppBuilder.class);
+ if (webAppBuilder != null) {
+ for (WebAppInfo webAppInfo : appInfo.webApps) {
+ webAppBuilder.deploy(webAppInfo);
+ }
+ }
+
deployedApplications.put(appInfo.jarPath, appInfo);
} catch (Throwable t) {
try {
@@ -534,6 +570,17 @@
Context globalContext = containerSystem.getJNDIContext();
UndeployException undeployException = new UndeployException("Failed
undeploying application: id=" + appInfo.jarPath);
+ WebAppBuilder webAppBuilder =
SystemInstance.get().getComponent(WebAppBuilder.class);
+ if (webAppBuilder != null) {
+ for (WebAppInfo webAppInfo : appInfo.webApps) {
+ try {
+ webAppBuilder.undeploy(webAppInfo);
+ } catch (Throwable t) {
+ undeployException.getCauses().add(new Exception("webApp: "
+ webAppInfo.moduleId + ": " + t.getMessage(), t));
+ }
+ }
+ }
+
// get all of the ejb deployments
List<CoreDeploymentInfo> deployments = new
ArrayList<CoreDeploymentInfo>();
for (EjbJarInfo ejbJarInfo : appInfo.ejbJars) {
@@ -618,6 +665,7 @@
for (String jarPath : appInfo.libs) {
jars.add(toUrl(jarPath));
}
+ // todo add connector data
// Create the class loader
ClassLoader classLoader = new URLClassLoader(jars.toArray(new
URL[]{}), OpenEJB.class.getClassLoader());
Modified:
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
URL:
http://svn.apache.org/viewvc/openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java?rev=577489&r1=577488&r2=577489&view=diff
==============================================================================
---
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
(original)
+++
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
Wed Sep 19 18:14:10 2007
@@ -183,8 +183,8 @@
for (ClientModule clientModule : appModule.getClientModules()) {
deploy(clientModule);
}
- for (ResourceModule resourceModule :
appModule.getResourceModules()) {
- deploy(resourceModule);
+ for (ConnectorModule connectorModule :
appModule.getResourceModules()) {
+ deploy(connectorModule);
}
for (WebModule webModule : appModule.getWebModules()) {
deploy(webModule);
@@ -196,8 +196,8 @@
return clientModule;
}
- public ResourceModule deploy(ResourceModule resourceModule) throws
OpenEJBException {
- return resourceModule;
+ public ConnectorModule deploy(ConnectorModule connectorModule) throws
OpenEJBException {
+ return connectorModule;
}
public WebModule deploy(WebModule webModule) throws OpenEJBException {
@@ -332,8 +332,8 @@
for (ClientModule clientModule : appModule.getClientModules()) {
deploy(clientModule);
}
- for (ResourceModule resourceModule :
appModule.getResourceModules()) {
- deploy(resourceModule);
+ for (ConnectorModule connectorModule :
appModule.getResourceModules()) {
+ deploy(connectorModule);
}
for (WebModule webModule : appModule.getWebModules()) {
deploy(webModule);
@@ -358,9 +358,9 @@
return clientModule;
}
- public ResourceModule deploy(ResourceModule resourceModule) throws
OpenEJBException {
+ public ConnectorModule deploy(ConnectorModule connectorModule) throws
OpenEJBException {
// resource modules currently don't have any annotations
- return resourceModule;
+ return connectorModule;
}
public WebModule deploy(WebModule webModule) throws OpenEJBException {
Modified:
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/AppModule.java
URL:
http://svn.apache.org/viewvc/openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/AppModule.java?rev=577489&r1=577488&r2=577489&view=diff
==============================================================================
---
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/AppModule.java
(original)
+++
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/AppModule.java
Wed Sep 19 18:14:10 2007
@@ -32,7 +32,7 @@
private final ValidationContext validation;
private final List<URL> additionalLibraries = new ArrayList<URL>();
- private final List<ResourceModule> resourceModules = new
ArrayList<ResourceModule>();
+ private final List<ConnectorModule> connectorModules = new
ArrayList<ConnectorModule>();
private final List<WebModule> webModules = new ArrayList<WebModule>();
private final List<ClientModule> clientModules = new
ArrayList<ClientModule>();
private final List<EjbModule> ejbModules = new ArrayList<EjbModule>();
@@ -63,7 +63,7 @@
for (ClientModule module : clientModules) {
if (module.getValidation().hasWarnings()) return true;
}
- for (ResourceModule module : resourceModules) {
+ for (ConnectorModule module : connectorModules) {
if (module.getValidation().hasWarnings()) return true;
}
for (WebModule module : webModules) {
@@ -80,7 +80,7 @@
for (ClientModule module : clientModules) {
if (module.getValidation().hasFailures()) return true;
}
- for (ResourceModule module : resourceModules) {
+ for (ConnectorModule module : connectorModules) {
if (module.getValidation().hasFailures()) return true;
}
for (WebModule module : webModules) {
@@ -97,7 +97,7 @@
for (ClientModule module : clientModules) {
if (module.getValidation().hasErrors()) return true;
}
- for (ResourceModule module : resourceModules) {
+ for (ConnectorModule module : connectorModules) {
if (module.getValidation().hasErrors()) return true;
}
for (WebModule module : webModules) {
@@ -146,8 +146,8 @@
this.cmpMappings = cmpMappings;
}
- public List<ResourceModule> getResourceModules() {
- return resourceModules;
+ public List<ConnectorModule> getResourceModules() {
+ return connectorModules;
}
public List<WebModule> getWebModules() {
Modified:
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
URL:
http://svn.apache.org/viewvc/openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java?rev=577489&r1=577488&r2=577489&view=diff
==============================================================================
---
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
(original)
+++
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
Wed Sep 19 18:14:10 2007
@@ -32,6 +32,7 @@
import org.apache.openejb.jee.MessageDestinationRef;
import org.apache.openejb.jee.JndiReference;
import org.apache.openejb.jee.ResourceRef;
+import org.apache.openejb.jee.JndiConsumer;
import org.apache.openejb.jee.jpa.unit.Persistence;
import org.apache.openejb.jee.jpa.unit.PersistenceUnit;
import org.apache.openejb.jee.oejb3.EjbDeployment;
@@ -39,7 +40,6 @@
import org.apache.openejb.jee.oejb3.ResourceLink;
import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
-import org.apache.openejb.util.Messages;
import javax.sql.DataSource;
import javax.jms.Queue;
@@ -108,6 +108,12 @@
for (ClientModule clientModule : appModule.getClientModules()) {
deploy(clientModule);
}
+ for (ConnectorModule connectorModule : appModule.getResourceModules())
{
+ deploy(connectorModule);
+ }
+ for (WebModule webModule : appModule.getWebModules()) {
+ deploy(webModule);
+ }
for (PersistenceModule persistenceModule :
appModule.getPersistenceModules()) {
deploy(persistenceModule);
}
@@ -408,8 +414,21 @@
}
private void deploy(ClientModule clientModule) throws OpenEJBException {
+ processJndiRefs(clientModule.getModuleId(),
clientModule.getApplicationClient());
+ }
+
+ @SuppressWarnings({"UnusedDeclaration"})
+ private void deploy(ConnectorModule connectorModule) throws
OpenEJBException {
+ // Nothing to process for resource modules
+ }
+
+ private void deploy(WebModule webModule) throws OpenEJBException {
+ processJndiRefs(webModule.getModuleId(), webModule.getWebApp());
+ }
+
+ private void processJndiRefs(String moduleId, JndiConsumer jndiConsumer)
throws OpenEJBException {
// Resource env reference
- for (ResourceRef ref :
clientModule.getApplicationClient().getResourceRef()) {
+ for (ResourceRef ref : jndiConsumer.getResourceRef()) {
// skip destinations with a global jndi name
String mappedName = ref.getMappedName();
if (mappedName == null) mappedName = "";
@@ -418,12 +437,12 @@
}
String destinationId = (mappedName.length() == 0) ? ref.getName()
: mappedName;
- destinationId = getResourceId(clientModule.getModuleId(),
destinationId, ref.getType());
+ destinationId = getResourceId(moduleId, destinationId,
ref.getType());
ref.setMappedName(destinationId);
}
// Resource env reference
- for (JndiReference ref :
clientModule.getApplicationClient().getResourceEnvRef()) {
+ for (JndiReference ref : jndiConsumer.getResourceEnvRef()) {
// skip destinations with a global jndi name
String mappedName = ref.getMappedName() + "";
if (mappedName.startsWith("jndi:")){
@@ -431,12 +450,12 @@
}
String destinationId = (mappedName.length() == 0) ? ref.getName()
: mappedName;
- destinationId = getResourceEnvId(clientModule.getModuleId(),
destinationId, ref.getType());
+ destinationId = getResourceEnvId(moduleId, destinationId,
ref.getType());
ref.setMappedName(destinationId);
}
// Message destination reference
- for (MessageDestinationRef ref :
clientModule.getApplicationClient().getMessageDestinationRef()) {
+ for (MessageDestinationRef ref :
jndiConsumer.getMessageDestinationRef()) {
// skip destinations with a global jndi name
String mappedName = ref.getMappedName() + "";
if (mappedName.startsWith("jndi:")){
@@ -444,7 +463,7 @@
}
String destinationId = (mappedName.length() == 0) ? ref.getName()
: mappedName;
- destinationId = getResourceEnvId(clientModule.getModuleId(),
destinationId, ref.getType());
+ destinationId = getResourceEnvId(moduleId, destinationId,
ref.getType());
ref.setMappedName(destinationId);
}
}
Modified:
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
URL:
http://svn.apache.org/viewvc/openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java?rev=577489&r1=577488&r2=577489&view=diff
==============================================================================
---
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
(original)
+++
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
Wed Sep 19 18:14:10 2007
@@ -41,8 +41,9 @@
import org.apache.openejb.assembler.classic.StatefulSessionContainerInfo;
import org.apache.openejb.assembler.classic.StatelessSessionContainerInfo;
import org.apache.openejb.assembler.classic.TransactionServiceInfo;
+import org.apache.openejb.assembler.classic.ConnectorInfo;
+import org.apache.openejb.assembler.classic.WebAppInfo;
import org.apache.openejb.config.sys.ConnectionManager;
-import org.apache.openejb.config.sys.Connector;
import org.apache.openejb.config.sys.Container;
import org.apache.openejb.config.sys.JndiProvider;
import org.apache.openejb.config.sys.Openejb;
@@ -54,6 +55,8 @@
import org.apache.openejb.config.sys.JaxbOpenejb;
import org.apache.openejb.jee.ApplicationClient;
import org.apache.openejb.jee.EjbJar;
+import org.apache.openejb.jee.Connector;
+import org.apache.openejb.jee.WebApp;
import org.apache.openejb.jee.jpa.EntityMappings;
import org.apache.openejb.jee.jpa.JpaJaxbUtil;
import org.apache.openejb.jee.jpa.unit.Persistence;
@@ -64,7 +67,6 @@
import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
import org.apache.openejb.util.Messages;
-import org.apache.openejb.util.Join;
import javax.xml.bind.JAXBException;
import java.io.File;
@@ -217,7 +219,7 @@
sys.facilities.transactionService =
configureService(openejb.getTransactionManager(), TransactionServiceInfo.class);
// convert legacy connector declarations to resource declarations
- for (Connector connector : openejb.getConnector()) {
+ for (org.apache.openejb.config.sys.Connector connector :
openejb.getConnector()) {
Resource resource = JaxbOpenejb.createResource();
resource.setJar(connector.getJar());
resource.setId(connector.getId());
@@ -306,6 +308,20 @@
return appInfo.clients.get(0);
}
+ public ConnectorInfo configureApplication(ConnectorModule connectorModule)
throws OpenEJBException {
+ AppModule appModule = new AppModule(connectorModule.getClassLoader(),
connectorModule.getJarLocation());
+ appModule.getResourceModules().add(connectorModule);
+ AppInfo appInfo = configureApplication(appModule);
+ return appInfo.connectors.get(0);
+ }
+
+ public WebAppInfo configureApplication(WebModule webModule) throws
OpenEJBException {
+ AppModule appModule = new AppModule(webModule.getClassLoader(),
webModule.getJarLocation());
+ appModule.getWebModules().add(webModule);
+ AppInfo appInfo = configureApplication(appModule);
+ return appInfo.webApps.get(0);
+ }
+
public AppInfo configureApplication(AppModule appModule) throws
OpenEJBException {
logger.info("Configuring app: "+appModule.getJarLocation());
deployer.deploy(appModule);
@@ -390,6 +406,31 @@
appInfo.clients.add(clientInfo);
}
+ for (ConnectorModule connectorModule : appModule.getResourceModules())
{
+ Connector applicationClient = connectorModule.getConnector();
+ ConnectorInfo connectorInfo = new ConnectorInfo();
+ connectorInfo.description = applicationClient.getDescription();
+ connectorInfo.displayName = applicationClient.getDisplayName();
+ connectorInfo.codebase = connectorModule.getJarLocation();
+ connectorInfo.moduleId = connectorModule.getModuleId();
+ appInfo.connectors.add(connectorInfo);
+ }
+
+ for (WebModule webModule : appModule.getWebModules()) {
+ WebApp webApp = webModule.getWebApp();
+ WebAppInfo webAppInfo = new WebAppInfo();
+ webAppInfo.description = webApp.getDescription();
+ webAppInfo.displayName = webApp.getDisplayName();
+ webAppInfo.codebase = webModule.getJarLocation();
+ webAppInfo.moduleId = webModule.getModuleId();
+
+ webAppInfo.contextRoot = webModule.getContextRoot();
+
+ JndiEncInfoBuilder jndiEncInfoBuilder = new
JndiEncInfoBuilder(appInfo.ejbJars);
+ webAppInfo.jndiEnc = jndiEncInfoBuilder.build(webApp,
webModule.getJarLocation(), webAppInfo.moduleId);
+ appInfo.webApps.add(webAppInfo);
+ }
+
appInfo.jarPath = appModule.getJarLocation();
List<URL> additionalLibraries = appModule.getAdditionalLibraries();
for (URL url : additionalLibraries) {
@@ -422,7 +463,6 @@
}
return name;
}
-
private static class DefaultService {
private final Class<? extends Service> type;
Modified:
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/Deploy.java
URL:
http://svn.apache.org/viewvc/openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/Deploy.java?rev=577489&r1=577488&r2=577489&view=diff
==============================================================================
---
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/Deploy.java
(original)
+++
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/Deploy.java
Wed Sep 19 18:14:10 2007
@@ -34,6 +34,8 @@
import org.apache.openejb.assembler.classic.InterceptorInfo;
import org.apache.openejb.assembler.classic.ClientInfo;
import org.apache.openejb.assembler.classic.PersistenceUnitInfo;
+import org.apache.openejb.assembler.classic.ConnectorInfo;
+import org.apache.openejb.assembler.classic.WebAppInfo;
import org.apache.openejb.util.Messages;
import org.apache.openejb.util.OpenEjbVersion;
@@ -178,6 +180,14 @@
}
for (ClientInfo clientInfo : appInfo.clients) {
System.out.println(" Client(main-class=" +
clientInfo.mainClass + ", id=" + clientInfo.moduleId + ", path=" +
clientInfo.codebase + ")");
+ System.out.println("");
+ }
+ for (ConnectorInfo connectorInfo : appInfo.connectors) {
+ System.out.println(" Connector(id=" +
connectorInfo.moduleId + ", path=" + connectorInfo.codebase + ")");
+ System.out.println("");
+ }
+ for (WebAppInfo webAppInfo : appInfo.webApps) {
+ System.out.println(" WebApp(context-root=" +
webAppInfo.contextRoot + ", id=" + webAppInfo.moduleId + ", path=" +
webAppInfo.codebase + ")");
System.out.println("");
}
for (PersistenceUnitInfo persistenceUnitInfo :
appInfo.persistenceUnits) {
Modified:
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
URL:
http://svn.apache.org/viewvc/openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java?rev=577489&r1=577488&r2=577489&view=diff
==============================================================================
---
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
(original)
+++
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
Wed Sep 19 18:14:10 2007
@@ -141,7 +141,7 @@
ejbModules.put(entry.getKey(),
entry.getValue());
} else if (ClientModule.class.equals(moduleType)) {
clientModules.put(entry.getKey(),
entry.getValue());
- } else if
(ResourceModule.class.equals(moduleType)) {
+ } else if
(ConnectorModule.class.equals(moduleType)) {
resouceModules.put(entry.getKey(),
entry.getValue());
} else if (WebModule.class.equals(moduleType)) {
webModules.put(entry.getKey(),
entry.getValue());
@@ -291,11 +291,11 @@
connector =
ReadDescriptors.readConnector(descriptors.get("ra.xml"));
}
- ResourceModule resourceModule = new
ResourceModule(connector, appClassLoader, rarFile.getAbsolutePath(),
moduleName);
+ ConnectorModule connectorModule = new
ConnectorModule(connector, appClassLoader, rarFile.getAbsolutePath(),
moduleName);
- resourceModule.getAltDDs().putAll(descriptors);
+ connectorModule.getAltDDs().putAll(descriptors);
- appModule.getResourceModules().add(resourceModule);
+ appModule.getResourceModules().add(connectorModule);
} catch (OpenEJBException e) {
logger.error("Unable to load RAR: " +
appDir.getAbsolutePath() + ", module: " + moduleName + ". Exception: " +
e.getMessage(), e);
}
@@ -380,7 +380,7 @@
addPersistenceUnits(appModule, classLoader, baseUrl);
return appModule;
- } else if (ResourceModule.class.equals(moduleClass)) {
+ } else if (ConnectorModule.class.equals(moduleClass)) {
// unpack the rar file
File rarFile = new File(baseUrl.getPath());
rarFile = unpack(rarFile);
@@ -410,12 +410,12 @@
ClassLoader appClassLoader = new TemporaryClassLoader(urls,
OpenEJB.class.getClassLoader());
// create the Resource Module
- ResourceModule resourceModule = new ResourceModule(connector,
appClassLoader, jarFile.getAbsolutePath(), null);
- resourceModule.getAltDDs().putAll(descriptors);
+ ConnectorModule connectorModule = new ConnectorModule(connector,
appClassLoader, jarFile.getAbsolutePath(), null);
+ connectorModule.getAltDDs().putAll(descriptors);
// Wrap the resource module with an Application Module
- AppModule appModule = new AppModule(classLoader,
resourceModule.getJarLocation());
- appModule.getResourceModules().add(resourceModule);
+ AppModule appModule = new AppModule(classLoader,
connectorModule.getJarLocation());
+ appModule.getResourceModules().add(connectorModule);
// Persistence Units
addPersistenceUnits(appModule, classLoader, baseUrl);
@@ -547,7 +547,7 @@
}
if (descriptors.containsKey("ra.xml")) {
- return ResourceModule.class;
+ return ConnectorModule.class;
}
URL manifestUrl = descriptors.get("MANIFEST.MF");
Modified:
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
URL:
http://svn.apache.org/viewvc/openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java?rev=577489&r1=577488&r2=577489&view=diff
==============================================================================
---
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
(original)
+++
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
Wed Sep 19 18:14:10 2007
@@ -70,8 +70,8 @@
readAppClient(clientModule, appModule);
}
- for (ResourceModule resourceModule : appModule.getResourceModules()) {
- readConnector(resourceModule, appModule);
+ for (ConnectorModule connectorModule : appModule.getResourceModules())
{
+ readConnector(connectorModule, appModule);
}
for (WebModule webModule : appModule.getWebModules()) {
@@ -276,19 +276,19 @@
}
}
- private void readConnector(ResourceModule resourceModule, AppModule
appModule) throws OpenEJBException {
- if (resourceModule.getConnector() != null) return;
+ private void readConnector(ConnectorModule connectorModule, AppModule
appModule) throws OpenEJBException {
+ if (connectorModule.getConnector() != null) return;
- Object data = resourceModule.getAltDDs().get("ra.xml");
+ Object data = connectorModule.getAltDDs().get("ra.xml");
if (data instanceof Connector) {
- resourceModule.setConnector((Connector) data);
+ connectorModule.setConnector((Connector) data);
} else if (data instanceof URL) {
URL url = (URL) data;
Connector connector = readConnector(url);
- resourceModule.setConnector(connector);
+ connectorModule.setConnector(connector);
} else {
- DeploymentLoader.logger.debug("No ra.xml found assuming annotated
beans present: " + appModule.getJarLocation() + ", module: " +
resourceModule.getModuleId());
- resourceModule.setConnector(new Connector());
+ DeploymentLoader.logger.debug("No ra.xml found assuming annotated
beans present: " + appModule.getJarLocation() + ", module: " +
connectorModule.getModuleId());
+ connectorModule.setConnector(new Connector());
}
}
Modified:
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/VmDeploymentManager.java
URL:
http://svn.apache.org/viewvc/openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/VmDeploymentManager.java?rev=577489&r1=577488&r2=577489&view=diff
==============================================================================
---
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/VmDeploymentManager.java
(original)
+++
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/VmDeploymentManager.java
Wed Sep 19 18:14:10 2007
@@ -64,6 +64,8 @@
import org.apache.openejb.assembler.classic.ClientInfo;
import org.apache.openejb.assembler.classic.EjbJarInfo;
import org.apache.openejb.assembler.classic.InfoObject;
+import org.apache.openejb.assembler.classic.ConnectorInfo;
+import org.apache.openejb.assembler.classic.WebAppInfo;
import org.apache.openejb.assembler.Deployer;
public class VmDeploymentManager implements DeploymentManager {
@@ -183,6 +185,26 @@
return new TargetModuleIDImpl(DEFAULT_TARGET,
ejbJarInfo.moduleId);
}
}
+ if (infoObject instanceof ConnectorInfo) {
+ // are connector modules allowed
+ if (allowedModuleType != null &&
!allowedModuleType.equals(ModuleType.RAR)) {
+ return null;
+ }
+ ConnectorInfo connectorInfo = (ConnectorInfo) infoObject;
+ if (connectorInfo.moduleId == appInfo.jarPath) {
+ return new TargetModuleIDImpl(DEFAULT_TARGET,
connectorInfo.moduleId);
+ }
+ }
+ if (infoObject instanceof WebAppInfo) {
+ // are web app modules allowed
+ if (allowedModuleType != null &&
!allowedModuleType.equals(ModuleType.WAR)) {
+ return null;
+ }
+ WebAppInfo webAppInfo = (WebAppInfo) infoObject;
+ if (webAppInfo.moduleId == appInfo.jarPath) {
+ return new TargetModuleIDImpl(DEFAULT_TARGET,
webAppInfo.moduleId);
+ }
+ }
}
// regular ear
@@ -200,6 +222,14 @@
for (EjbJarInfo ejbJarInfo : appInfo.ejbJars) {
TargetModuleIDImpl ejbJarModuleId = new
TargetModuleIDImpl(DEFAULT_TARGET, ejbJarInfo.moduleId);
ejbJarModuleId.setParentTargetModuleID(earModuleId);
+ }
+ for (ConnectorInfo connectorInfo : appInfo.connectors) {
+ TargetModuleIDImpl clientModuleId = new
TargetModuleIDImpl(DEFAULT_TARGET, connectorInfo.moduleId);
+ clientModuleId.setParentTargetModuleID(earModuleId);
+ }
+ for (WebAppInfo webAppInfo : appInfo.webApps) {
+ TargetModuleIDImpl clientModuleId = new
TargetModuleIDImpl(DEFAULT_TARGET, webAppInfo.moduleId, webAppInfo.contextRoot);
+ clientModuleId.setParentTargetModuleID(earModuleId);
}
return earModuleId;
Modified:
openejb/branches/3.0-beta-1/container/openejb-jee/src/main/java/org/apache/openejb/jee/WebApp.java
URL:
http://svn.apache.org/viewvc/openejb/branches/3.0-beta-1/container/openejb-jee/src/main/java/org/apache/openejb/jee/WebApp.java?rev=577489&r1=577488&r2=577489&view=diff
==============================================================================
---
openejb/branches/3.0-beta-1/container/openejb-jee/src/main/java/org/apache/openejb/jee/WebApp.java
(original)
+++
openejb/branches/3.0-beta-1/container/openejb-jee/src/main/java/org/apache/openejb/jee/WebApp.java
Wed Sep 19 18:14:10 2007
@@ -383,7 +383,7 @@
}
public Boolean isMetadataComplete() {
- return metadataComplete;
+ return metadataComplete != null && metadataComplete;
}
public void setMetadataComplete(Boolean value) {
Modified: openejb/branches/3.0-beta-1/examples/pom.xml
URL:
http://svn.apache.org/viewvc/openejb/branches/3.0-beta-1/examples/pom.xml?rev=577489&r1=577488&r2=577489&view=diff
==============================================================================
--- openejb/branches/3.0-beta-1/examples/pom.xml (original)
+++ openejb/branches/3.0-beta-1/examples/pom.xml Wed Sep 19 18:14:10 2007
@@ -37,5 +37,6 @@
<module>resource-injection</module>
<module>telephone-stateful</module>
<module>expanded-env-entries</module>
+ <module>servlet-samples</module>
</modules>
</project>
Propchange: openejb/branches/3.0-beta-1/examples/servlet-samples/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Sep 19 18:14:10 2007
@@ -0,0 +1,10 @@
+*.iws
+*.ipr
+*.iml
+.classpath
+.project
+.settings
+*.log
+junit*.properties
+target
+bin