summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.x/modules
diff options
context:
space:
mode:
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);