summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/deployment/src/main
diff options
context:
space:
mode:
authorrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2010-01-27 04:33:47 +0000
committerrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2010-01-27 04:33:47 +0000
commit0c1527f0415fb7d6c06b0ad2a1d4ce73cd728852 (patch)
tree7d0658a2e64c4fdec2957090fc70dfd0efed09d7 /sca-java-2.x/trunk/modules/deployment/src/main
parentc2dfd0917dbb0793b7934ccc298e03187e6e3418 (diff)
Fix multiple concurrency related issues
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@903542 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/deployment/src/main')
-rw-r--r--sca-java-2.x/trunk/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/DeployerImpl.java13
1 files changed, 11 insertions, 2 deletions
diff --git a/sca-java-2.x/trunk/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/DeployerImpl.java b/sca-java-2.x/trunk/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/DeployerImpl.java
index e4340102fc..f65371ac5f 100644
--- a/sca-java-2.x/trunk/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/DeployerImpl.java
+++ b/sca-java-2.x/trunk/modules/deployment/src/main/java/org/apache/tuscany/sca/deployment/impl/DeployerImpl.java
@@ -301,18 +301,20 @@ public class DeployerImpl implements Deployer {
compositeBuilder =
compositeBuilders.getCompositeBuilder("org.apache.tuscany.sca.assembly.builder.CompositeBuilder");
- loadSystemContribution(monitorFactory.createMonitor());
+ loadSystemContribution(new ProcessorContext(monitorFactory.createMonitor()));
inited = true;
}
- protected void loadSystemContribution(Monitor monitor) {
+ protected void loadSystemContribution(ProcessorContext context) {
DefinitionsFactory definitionsFactory = modelFactories.getFactory(DefinitionsFactory.class);
systemDefinitions = definitionsFactory.createDefinitions();
DefinitionsExtensionPoint definitionsExtensionPoint =
registry.getExtensionPoint(DefinitionsExtensionPoint.class);
+
+ Monitor monitor = context.getMonitor();
monitor.pushContext("Extension points definitions");
try {
for (Definitions defs : definitionsExtensionPoint.getDefinitions()) {
@@ -339,6 +341,13 @@ public class DeployerImpl implements Deployer {
artifact.setLocation("Derived");
artifact.setModel(systemDefinitions);
artifacts.add(artifact);
+
+ // now resolve and add the system contribution
+ try {
+ contributionProcessor.resolve(systemContribution, modelResolver, context);
+ } catch (ContributionResolveException e) {
+ throw new IllegalStateException(e);
+ }
}
protected Contribution cloneSystemContribution(Monitor monitor) {