summaryrefslogtreecommitdiffstats
path: root/java/sca/modules/implementation-java/src/main/java
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/implementation-java/src/main/java
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/implementation-java/src/main/java')
-rw-r--r--java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java34
1 files changed, 17 insertions, 17 deletions
diff --git a/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java b/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java
index 173a37cd77..1653e935dc 100644
--- a/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java
+++ b/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java
@@ -45,6 +45,7 @@ import org.apache.tuscany.sca.assembly.xml.PolicySubjectProcessor;
import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
import org.apache.tuscany.sca.contribution.processor.ContributionResolveException;
import org.apache.tuscany.sca.contribution.processor.ContributionWriteException;
+import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
import org.apache.tuscany.sca.contribution.resolver.ClassReference;
import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
@@ -72,14 +73,13 @@ public class JavaImplementationProcessor implements StAXArtifactProcessor<JavaIm
private AssemblyFactory assemblyFactory;
private PolicyFactory policyFactory;
private PolicySubjectProcessor policyProcessor;
- private Monitor monitor;
+
- public JavaImplementationProcessor(FactoryExtensionPoint modelFactories, Monitor monitor) {
+ public JavaImplementationProcessor(FactoryExtensionPoint modelFactories) {
this.assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
this.policyFactory = modelFactories.getFactory(PolicyFactory.class);
this.javaFactory = modelFactories.getFactory(JavaImplementationFactory.class);
this.policyProcessor = new PolicySubjectProcessor(policyFactory);
- this.monitor = monitor;
}
/**
@@ -89,7 +89,7 @@ public class JavaImplementationProcessor implements StAXArtifactProcessor<JavaIm
* @param message
* @param model
*/
- private void error(String message, Object model, Object... messageParameters) {
+ private void error(Monitor monitor, String message, Object model, Object... messageParameters) {
if (monitor != null) {
Problem problem =
monitor.createProblem(this.getClass().getName(),
@@ -109,7 +109,7 @@ public class JavaImplementationProcessor implements StAXArtifactProcessor<JavaIm
* @param message
* @param model
*/
- private void error(String message, Object model, Exception ex) {
+ private void error(Monitor monitor, String message, Object model, Exception ex) {
if (monitor != null) {
Problem problem =
monitor.createProblem(this.getClass().getName(),
@@ -122,7 +122,7 @@ public class JavaImplementationProcessor implements StAXArtifactProcessor<JavaIm
}
}
- public JavaImplementation read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
+ public JavaImplementation read(XMLStreamReader reader, ProcessorContext context) throws ContributionReadException, XMLStreamException {
// Read an <implementation.java>
JavaImplementation javaImplementation = javaFactory.createJavaImplementation();
@@ -149,7 +149,7 @@ public class JavaImplementationProcessor implements StAXArtifactProcessor<JavaIm
return javaImplementation;
}
- public void write(JavaImplementation javaImplementation, XMLStreamWriter writer) throws ContributionWriteException,
+ public void write(JavaImplementation javaImplementation, XMLStreamWriter writer, ProcessorContext context) throws ContributionWriteException,
XMLStreamException {
// Write an <implementation.java>
@@ -163,15 +163,15 @@ public class JavaImplementationProcessor implements StAXArtifactProcessor<JavaIm
writer.writeEndElement();
}
- public void resolve(JavaImplementation javaImplementation, ModelResolver resolver)
+ public void resolve(JavaImplementation javaImplementation, ModelResolver resolver, ProcessorContext context)
throws ContributionResolveException {
-
+ Monitor monitor = context.getMonitor();
try {
ClassReference classReference = new ClassReference(javaImplementation.getName());
- classReference = resolver.resolveModel(ClassReference.class, classReference);
+ classReference = resolver.resolveModel(ClassReference.class, classReference, context);
Class<?> javaClass = classReference.getJavaClass();
if (javaClass == null) {
- error("ClassNotFoundException", resolver, javaImplementation.getName());
+ error(monitor, "ClassNotFoundException", resolver, javaImplementation.getName());
//throw new ContributionResolveException(new ClassNotFoundException(javaImplementation.getName()));
return;
}
@@ -182,13 +182,13 @@ public class JavaImplementationProcessor implements StAXArtifactProcessor<JavaIm
javaFactory.createJavaImplementation(javaImplementation, javaImplementation.getJavaClass());
} catch (IntrospectionException e) {
ContributionResolveException ce = new ContributionResolveException(e);
- error("ContributionResolveException", javaFactory, ce);
+ error(monitor, "ContributionResolveException", javaFactory, ce);
//throw ce;
return;
}
javaImplementation.setUnresolved(false);
- mergeComponentType(resolver, javaImplementation);
+ mergeComponentType(resolver, javaImplementation, context);
// FIXME the introspector should always create at least one service
if (javaImplementation.getServices().isEmpty()) {
@@ -227,9 +227,9 @@ public class JavaImplementationProcessor implements StAXArtifactProcessor<JavaIm
* @param resolver
* @param impl
*/
- private void mergeComponentType(ModelResolver resolver, JavaImplementation impl) {
+ private void mergeComponentType(ModelResolver resolver, JavaImplementation impl, ProcessorContext context) {
// FIXME: Need to clarify how to merge
- ComponentType componentType = getComponentType(resolver, impl);
+ ComponentType componentType = getComponentType(resolver, impl, context);
if (componentType != null && !componentType.isUnresolved()) {
Map<String, Reference> refMap = new HashMap<String, Reference>();
for (Reference ref : impl.getReferences()) {
@@ -284,13 +284,13 @@ public class JavaImplementationProcessor implements StAXArtifactProcessor<JavaIm
}
}
- private ComponentType getComponentType(ModelResolver resolver, JavaImplementation impl) {
+ private ComponentType getComponentType(ModelResolver resolver, JavaImplementation impl, ProcessorContext context) {
String className = impl.getJavaClass().getName();
String componentTypeURI = className.replace('.', '/') + ".componentType";
ComponentType componentType = assemblyFactory.createComponentType();
componentType.setUnresolved(true);
componentType.setURI(componentTypeURI);
- componentType = resolver.resolveModel(ComponentType.class, componentType);
+ componentType = resolver.resolveModel(ComponentType.class, componentType, context);
if (!componentType.isUnresolved()) {
return componentType;
}