diff options
author | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2009-10-16 05:42:26 +0000 |
---|---|---|
committer | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2009-10-16 05:42:26 +0000 |
commit | 4ae4002366ded3f4b19cd96f403d8b418fcf00a1 (patch) | |
tree | 9179891f11c9add734a777713cabf7e39a980908 /java/sca/modules/implementation-java/src/test/java | |
parent | d4cc9a0bdd43477858b8ac67b69a4cdd615ec741 (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/test/java')
3 files changed, 32 insertions, 20 deletions
diff --git a/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/xml/ReadTestCase.java b/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/xml/ReadTestCase.java index 260b3d09a9..635b491b06 100644 --- a/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/xml/ReadTestCase.java +++ b/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/xml/ReadTestCase.java @@ -32,9 +32,11 @@ import javax.xml.stream.XMLStreamReader; import org.apache.tuscany.sca.assembly.Component; import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilder; +import org.apache.tuscany.sca.assembly.builder.BuilderContext; import org.apache.tuscany.sca.assembly.builder.BuilderExtensionPoint; +import org.apache.tuscany.sca.assembly.builder.CompositeBuilder; import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor; +import org.apache.tuscany.sca.contribution.processor.ProcessorContext; import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor; @@ -64,13 +66,17 @@ public class ReadTestCase { private static URLArtifactProcessor<Definitions> policyDefinitionsProcessor; private static CompositeBuilder compositeBuilder; private static Monitor monitor; + private static ProcessorContext context; + private static BuilderContext builderContext; @BeforeClass public static void setUp() throws Exception { DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); + context = new ProcessorContext(extensionPoints); + builderContext = new BuilderContext(extensionPoints); inputFactory = XMLInputFactory.newInstance(); StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, null); + staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null); compositeBuilder = extensionPoints.getExtensionPoint(BuilderExtensionPoint.class).getCompositeBuilder("org.apache.tuscany.sca.assembly.builder.CompositeBuilder"); @@ -86,10 +92,10 @@ public class ReadTestCase { public void testReadComposite() throws Exception { InputStream is = getClass().getResourceAsStream("Calculator.composite"); XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - Composite composite = (Composite)staxProcessor.read(reader); + Composite composite = (Composite)staxProcessor.read(reader, context); assertNotNull(composite); - compositeBuilder.build(composite, null, monitor); + compositeBuilder.build(composite, builderContext); } @@ -100,17 +106,18 @@ public class ReadTestCase { URL url = getClass().getResource("definitions.xml"); URI uri = URI.create("definitions.xml"); - Definitions scaDefns = policyDefinitionsProcessor.read(null, uri, url); + Definitions scaDefns = policyDefinitionsProcessor.read(null, uri, url, context); InputStream is = getClass().getResourceAsStream("Calculator.composite"); XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - Composite composite = (Composite)staxProcessor.read(reader); + Composite composite = (Composite)staxProcessor.read(reader, context); assertNotNull(composite); - staxProcessor.resolve(scaDefns, resolver); - staxProcessor.resolve(composite, resolver); + staxProcessor.resolve(scaDefns, resolver, context); + staxProcessor.resolve(composite, resolver, context); - compositeBuilder.build(composite, null, monitor); + builderContext.setDefinitions(scaDefns); + compositeBuilder.build(composite, builderContext); //intents are computed and aggregate intents from ancestor elements assertEquals(((PolicySubject)composite.getComponents().get(0)).getRequiredIntents().size(), 3); @@ -168,11 +175,11 @@ public class ReadTestCase { URL url = getClass().getResource("definitions_with_policysets.xml"); URI uri = URI.create("definitions_with_policysets.xml"); - Definitions policyDefinitions = policyDefinitionsProcessor.read(null, uri, url); + Definitions policyDefinitions = policyDefinitionsProcessor.read(null, uri, url, context); InputStream is = getClass().getResourceAsStream("Calculator.composite"); XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - Composite composite = (Composite)staxProcessor.read(reader); + Composite composite = (Composite)staxProcessor.read(reader, context); assertNotNull(composite); for ( Component component : composite.getComponents() ) { @@ -181,10 +188,11 @@ public class ReadTestCase { } } - staxProcessor.resolve(policyDefinitions, resolver); - staxProcessor.resolve(composite, resolver); + staxProcessor.resolve(policyDefinitions, resolver, context); + staxProcessor.resolve(composite, resolver, context); - compositeBuilder.build(composite, null, monitor); + builderContext.setDefinitions(policyDefinitions); + compositeBuilder.build(composite, builderContext); //test for determination of policysets for implementation assertEquals(((PolicySubject)composite.getComponents().get(0)).getPolicySets().size(), 1); diff --git a/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/xml/TestModelResolver.java b/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/xml/TestModelResolver.java index 085b21a652..6be50d138f 100644 --- a/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/xml/TestModelResolver.java +++ b/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/xml/TestModelResolver.java @@ -23,6 +23,7 @@ import java.lang.ref.WeakReference; import java.util.HashMap; import java.util.Map; +import org.apache.tuscany.sca.contribution.processor.ProcessorContext; import org.apache.tuscany.sca.contribution.resolver.ClassReference; import org.apache.tuscany.sca.contribution.resolver.ModelResolver; @@ -43,7 +44,7 @@ public class TestModelResolver implements ModelResolver { this.classLoader = new WeakReference<ClassLoader>(classLoader); } - public <T> T resolveModel(Class<T> modelClass, T unresolved) { + public <T> T resolveModel(Class<T> modelClass, T unresolved, ProcessorContext context) { Object resolved = map.get(unresolved); if (resolved != null) { @@ -77,11 +78,11 @@ public class TestModelResolver implements ModelResolver { } } - public void addModel(Object resolved) { + public void addModel(Object resolved, ProcessorContext context) { map.put(resolved, resolved); } - public Object removeModel(Object resolved) { + public Object removeModel(Object resolved, ProcessorContext context) { return map.remove(resolved); } diff --git a/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/xml/WriteTestCase.java b/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/xml/WriteTestCase.java index c45f8ccaa7..fdd606c58e 100644 --- a/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/xml/WriteTestCase.java +++ b/java/sca/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/xml/WriteTestCase.java @@ -27,6 +27,7 @@ import javax.xml.stream.XMLOutputFactory; import org.apache.tuscany.sca.assembly.Composite; import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor; +import org.apache.tuscany.sca.contribution.processor.ProcessorContext; import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; @@ -44,24 +45,26 @@ public class WriteTestCase { private static StAXArtifactProcessor<Object> staxProcessor; private static XMLInputFactory inputFactory; private static XMLOutputFactory outputFactory; + private static ProcessorContext context; @BeforeClass public static void setUp() throws Exception { DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); + context = new ProcessorContext(extensionPoints); inputFactory = XMLInputFactory.newInstance(); outputFactory = XMLOutputFactory.newInstance(); outputFactory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, Boolean.TRUE); StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory, null); + staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory); } @Test public void testReadWriteComposite() throws Exception { InputStream is = getClass().getResourceAsStream("Calculator.composite"); - Composite composite = (Composite)staxProcessor.read(inputFactory.createXMLStreamReader(is)); + Composite composite = (Composite)staxProcessor.read(inputFactory.createXMLStreamReader(is), context); Assert.assertNotNull(composite); StringWriter sw = new StringWriter(); - staxProcessor.write(composite, outputFactory.createXMLStreamWriter(sw)); + staxProcessor.write(composite, outputFactory.createXMLStreamWriter(sw), context); System.out.println(sw.toString()); } |