summaryrefslogtreecommitdiffstats
path: root/java/sca/modules/contribution-osgi
diff options
context:
space:
mode:
authorrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-10-16 05:42:26 +0000
committerrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-10-16 05:42:26 +0000
commit4ae4002366ded3f4b19cd96f403d8b418fcf00a1 (patch)
tree9179891f11c9add734a777713cabf7e39a980908 /java/sca/modules/contribution-osgi
parentd4cc9a0bdd43477858b8ac67b69a4cdd615ec741 (diff)
This is to change the Monitor to be request scoped for most of the cases:
Refactor the ArtifactProcessor/ModelResolver to take a ProcessorContext that holds context such as Monitor, Contribution for the contribution/artifact processing methods Refactor the Builder to take a BuilderContext that holds context such as Monitor, Definitions, Base binding mapping for the building methods Change the processor/resolver/builder implementation classes to not cache the Monitor git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@825773 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca/modules/contribution-osgi')
-rw-r--r--java/sca/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiBundleReferenceModelResolver.java17
-rw-r--r--java/sca/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiClassReferenceModelResolver.java10
2 files changed, 14 insertions, 13 deletions
diff --git a/java/sca/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiBundleReferenceModelResolver.java b/java/sca/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiBundleReferenceModelResolver.java
index 173ac0832d..7958eb4b6d 100644
--- a/java/sca/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiBundleReferenceModelResolver.java
+++ b/java/sca/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiBundleReferenceModelResolver.java
@@ -25,9 +25,9 @@ import java.util.Map;
import org.apache.tuscany.sca.contribution.Contribution;
import org.apache.tuscany.sca.contribution.Import;
import org.apache.tuscany.sca.contribution.osgi.BundleReference;
+import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
import org.apache.tuscany.sca.core.FactoryExtensionPoint;
-import org.apache.tuscany.sca.monitor.Monitor;
import org.osgi.framework.Bundle;
/**
@@ -41,32 +41,33 @@ public class OSGiBundleReferenceModelResolver implements ModelResolver {
private OSGiBundleProcessor bundleProcessor;
- public OSGiBundleReferenceModelResolver(Contribution contribution, FactoryExtensionPoint modelFactories, Monitor monitor) {
+ public OSGiBundleReferenceModelResolver(Contribution contribution, FactoryExtensionPoint modelFactories) {
this.contribution = contribution;
this.bundleProcessor = new OSGiBundleProcessor();
}
- public void addModel(Object resolved) {
+ public void addModel(Object resolved, ProcessorContext context) {
BundleReference bundleRef = (BundleReference)resolved;
refs.put(bundleRef, bundleRef);
}
- public Object removeModel(Object resolved) {
+ public Object removeModel(Object resolved, ProcessorContext context) {
return refs.remove(resolved);
}
/**
* Handle artifact resolution when the specific class reference is imported from another contribution
* @param unresolved
+ * @param context
* @return
*/
- private BundleReference resolveImportedModel(BundleReference unresolved) {
+ private BundleReference resolveImportedModel(BundleReference unresolved, ProcessorContext context) {
BundleReference resolved = unresolved;
if (this.contribution != null) {
for (Import import_ : this.contribution.getImports()) {
- resolved = import_.getModelResolver().resolveModel(BundleReference.class, unresolved);
+ resolved = import_.getModelResolver().resolveModel(BundleReference.class, unresolved, context);
if (resolved != unresolved)
break;
}
@@ -75,7 +76,7 @@ public class OSGiBundleReferenceModelResolver implements ModelResolver {
return resolved;
}
- public <T> T resolveModel(Class<T> modelClass, T unresolved) {
+ public <T> T resolveModel(Class<T> modelClass, T unresolved, ProcessorContext context) {
Object resolved = refs.get(unresolved);
if (resolved != null) {
@@ -108,7 +109,7 @@ public class OSGiBundleReferenceModelResolver implements ModelResolver {
return modelClass.cast(bundleReference);
} else {
//delegate resolution of the class
- resolved = this.resolveImportedModel((BundleReference)unresolved);
+ resolved = this.resolveImportedModel((BundleReference)unresolved, context);
return modelClass.cast(resolved);
}
diff --git a/java/sca/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiClassReferenceModelResolver.java b/java/sca/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiClassReferenceModelResolver.java
index c3d79b5595..3963968940 100644
--- a/java/sca/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiClassReferenceModelResolver.java
+++ b/java/sca/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiClassReferenceModelResolver.java
@@ -20,10 +20,10 @@
package org.apache.tuscany.sca.contribution.osgi.impl;
import org.apache.tuscany.sca.contribution.Contribution;
+import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
import org.apache.tuscany.sca.contribution.resolver.ClassReference;
import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
import org.apache.tuscany.sca.core.FactoryExtensionPoint;
-import org.apache.tuscany.sca.monitor.Monitor;
import org.osgi.framework.Bundle;
/**
@@ -35,19 +35,19 @@ public class OSGiClassReferenceModelResolver implements ModelResolver {
// private Contribution contribution;
private Bundle bundle;
- public OSGiClassReferenceModelResolver(Contribution contribution, FactoryExtensionPoint modelFactories, Monitor monitor) {
+ public OSGiClassReferenceModelResolver(Contribution contribution, FactoryExtensionPoint modelFactories) {
// this.contribution = contribution;
this.bundle = OSGiBundleActivator.findBundle(contribution.getLocation());
}
- public void addModel(Object resolved) {
+ public void addModel(Object resolved, ProcessorContext context) {
}
- public Object removeModel(Object resolved) {
+ public Object removeModel(Object resolved, ProcessorContext context) {
return resolved;
}
- public <T> T resolveModel(Class<T> modelClass, T unresolved) {
+ public <T> T resolveModel(Class<T> modelClass, T unresolved, ProcessorContext context) {
//Load a class on demand
Class<?> clazz = null;
if (bundle != null) {