summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.x/modules
diff options
context:
space:
mode:
authorslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-05-02 11:24:58 +0000
committerslaws <slaws@13f79535-47bb-0310-9956-ffa450edef68>2009-05-02 11:24:58 +0000
commit95993bf148bd492ff48fe57a34f0f42d05afdbf6 (patch)
tree9bc91739ba6885a00abef49e66b5d1847011e86e /branches/sca-java-1.x/modules
parent6eec5d359e96959ede468a63cabadf18c8a470c2 (diff)
TUSCANY-2978 - Add test code to exercise new JEE sample archives including code to show how to process an archive that appears outside of the contribution that references it. See TestExternalEarModelResolver.java. Some jee processing changes were required to make this work.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@770930 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r--branches/sca-java-1.x/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/ExternalEarInfo.java3
-rw-r--r--branches/sca-java-1.x/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/xml/JEEImplementationProcessor.java37
-rw-r--r--branches/sca-java-1.x/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/RuntimeBootStrapper.java4
3 files changed, 33 insertions, 11 deletions
diff --git a/branches/sca-java-1.x/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/ExternalEarInfo.java b/branches/sca-java-1.x/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/ExternalEarInfo.java
index 509ee7d776..c0b54156ea 100644
--- a/branches/sca-java-1.x/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/ExternalEarInfo.java
+++ b/branches/sca-java-1.x/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/ExternalEarInfo.java
@@ -18,6 +18,8 @@
*/
package org.apache.tuscany.sca.contribution.jee;
+import org.apache.tuscany.sca.assembly.Composite;
+
/**
* @version $Rev: 755722 $ $Date: 2009-03-18 20:23:02 +0000 (Wed, 18 Mar 2009) $
@@ -25,4 +27,5 @@ package org.apache.tuscany.sca.contribution.jee;
public interface ExternalEarInfo {
JavaEEApplicationInfo getAppInfo();
+ Composite getAppComposite();
}
diff --git a/branches/sca-java-1.x/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/xml/JEEImplementationProcessor.java b/branches/sca-java-1.x/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/xml/JEEImplementationProcessor.java
index 4b1d45cbc5..99616318ea 100644
--- a/branches/sca-java-1.x/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/xml/JEEImplementationProcessor.java
+++ b/branches/sca-java-1.x/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/xml/JEEImplementationProcessor.java
@@ -116,6 +116,7 @@ public class JEEImplementationProcessor extends BaseStAXArtifactProcessor implem
String archive = implementation.getArchive();
if (uri != null) {
Object moduleInfo = null;
+ ExternalEarInfo extEar = null;
if(uri.equals("")) {
if(moduleInfo == null) {
WebModuleInfo unresolved = new WebModuleInfoImpl();
@@ -154,12 +155,19 @@ public class JEEImplementationProcessor extends BaseStAXArtifactProcessor implem
} else if(uri.endsWith(".ear")) {
final JavaEEApplicationInfo appInfo = new JavaEEApplicationInfoImpl();
appInfo.setUri(URI.create(archive));
- ExternalEarInfo ee = new ExternalEarInfo() {
+ ExternalEarInfo unresolved = new ExternalEarInfo() {
public JavaEEApplicationInfo getAppInfo() {
return appInfo;
+ }
+ public Composite getAppComposite() {
+ return null;
}};
- ee = resolver.resolveModel(ExternalEarInfo.class, ee);
- moduleInfo = ee.getAppInfo();
+
+ ExternalEarInfo resolved = resolver.resolveModel(ExternalEarInfo.class, unresolved);
+ if(resolved != unresolved) {
+ extEar = resolved;
+ }
+ moduleInfo = resolved.getAppInfo();
}
if(moduleInfo instanceof WebModuleInfo) {
@@ -215,21 +223,30 @@ public class JEEImplementationProcessor extends BaseStAXArtifactProcessor implem
}
} else if(moduleInfo instanceof JavaEEApplicationInfo) {
// Check for application composite
- ModelObject unresolved = new ModelObjectImpl();
- unresolved.setUri(URI.create("META-INF/application.composite"));
- ModelObject resolved = resolver.resolveModel(ModelObject.class, unresolved);
- if(resolved != unresolved) {
+ Composite appComposite = null;
+ if(extEar != null) {
+ appComposite = extEar.getAppComposite();
+ } else {
+ ModelObject unresolved = new ModelObjectImpl();
+ unresolved.setUri(URI.create("META-INF/application.composite"));
+ ModelObject resolved = resolver.resolveModel(ModelObject.class, unresolved);
+ if(resolved != unresolved) {
+ // Found application composite
+ appComposite = (Composite)resolved.getObject();
+ }
+ }
+
+ if(appComposite != null) {
// Found application composite
- Composite appComposite = (Composite)resolved.getObject();
implementation.getServices().addAll(appComposite.getServices());
implementation.getReferences().addAll(appComposite.getReferences());
implementation.getProperties().addAll(appComposite.getProperties());
- }
+ }
// TODO: Obtain includeDefaults value from the composite
boolean includeDefaults = false;
- if(includeDefaults || resolved == unresolved) {
+ if(includeDefaults || appComposite == null) {
if(jeeExtension != null) {
ComponentType ct = jeeExtension.createImplementationJeeComponentType((JavaEEApplicationInfo)moduleInfo);
implementation.getServices().addAll(ct.getServices());
diff --git a/branches/sca-java-1.x/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/RuntimeBootStrapper.java b/branches/sca-java-1.x/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/RuntimeBootStrapper.java
index 5b0e31fd03..1338b3a27c 100644
--- a/branches/sca-java-1.x/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/RuntimeBootStrapper.java
+++ b/branches/sca-java-1.x/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/RuntimeBootStrapper.java
@@ -150,7 +150,6 @@ public class RuntimeBootStrapper {
monitorFactory = new DefaultMonitorFactoryImpl();
monitor = monitorFactory.createMonitor();
utilities.addUtility(monitorFactory);
- //logger.fine("No MonitorFactory is found on the classpath.");
}
// Create a contribution service
@@ -166,6 +165,9 @@ public class RuntimeBootStrapper {
policyDefinitions,
policyDefinitionsResolver,
monitor);
+
+ // add the contribution service into the utility extension point
+ utilities.addUtility(contributionService);
// Create the ScopeRegistry
scopeRegistry = RuntimeBuilder.createScopeRegistry(registry);