From b5795f0876b7ceea20bdb523327af217af5a318b Mon Sep 17 00:00:00 2001 From: slaws Date: Fri, 15 Jan 2010 19:18:31 +0000 Subject: A bit more progress on the ws policy model. Not working yet. git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@899766 13f79535-47bb-0310-9956-ffa450edef68 --- .../sca/policy/wspolicy/WSPolicyTestCase.java | 116 +++++++++++---------- 1 file changed, 61 insertions(+), 55 deletions(-) (limited to 'sca-java-2.x/trunk/modules/policy-wspolicy/src/test') diff --git a/sca-java-2.x/trunk/modules/policy-wspolicy/src/test/java/org/apache/tuscany/sca/policy/wspolicy/WSPolicyTestCase.java b/sca-java-2.x/trunk/modules/policy-wspolicy/src/test/java/org/apache/tuscany/sca/policy/wspolicy/WSPolicyTestCase.java index ad49e5bb2d..5e9826d269 100644 --- a/sca-java-2.x/trunk/modules/policy-wspolicy/src/test/java/org/apache/tuscany/sca/policy/wspolicy/WSPolicyTestCase.java +++ b/sca-java-2.x/trunk/modules/policy-wspolicy/src/test/java/org/apache/tuscany/sca/policy/wspolicy/WSPolicyTestCase.java @@ -25,13 +25,28 @@ import java.io.StringReader; import javax.xml.namespace.QName; import javax.xml.stream.XMLInputFactory; +import javax.xml.stream.XMLOutputFactory; import javax.xml.stream.XMLStreamReader; import junit.framework.TestCase; +import org.apache.tuscany.sca.assembly.AssemblyFactory; +import org.apache.tuscany.sca.assembly.Endpoint; +import org.apache.tuscany.sca.assembly.EndpointReference; +import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor; +import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXAttributeProcessor; 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.StAXAttributeProcessor; +import org.apache.tuscany.sca.contribution.processor.StAXAttributeProcessorExtensionPoint; import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; +import org.apache.tuscany.sca.core.ExtensionPointRegistry; +import org.apache.tuscany.sca.core.FactoryExtensionPoint; +import org.apache.tuscany.sca.definitions.Definitions; +import org.apache.tuscany.sca.policy.PolicySet; import org.apache.tuscany.sca.policy.wspolicy.xml.WSPolicyProcessor; +import org.apache.tuscany.sca.policy.xml.PolicySetProcessor; import org.junit.Assert; /** @@ -42,7 +57,8 @@ import org.junit.Assert; public class WSPolicyTestCase extends TestCase { private static final String WS_POLICY1 = - "" + "" + + "" @@ -73,10 +89,11 @@ public class WSPolicyTestCase extends TestCase { + " " + " " + " " - + " "; + + " "; private static final String WS_POLICY2 = - "" + "" + + "" @@ -107,7 +124,7 @@ public class WSPolicyTestCase extends TestCase { + " " + " " + " " - + " "; + + " "; private XMLInputFactory inputFactory; @@ -117,64 +134,53 @@ public class WSPolicyTestCase extends TestCase { } public void testReadWsPolicy() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(WS_POLICY1)); - WSPolicyProcessor processor = new WSPolicyProcessor(new DefaultExtensionPointRegistry()); + // Set up the runtime + ExtensionPointRegistry registry = new DefaultExtensionPointRegistry(); + + FactoryExtensionPoint modelFactories = registry.getExtensionPoint(FactoryExtensionPoint.class); + + XMLInputFactory inputFactory = modelFactories.getFactory(XMLInputFactory.class); + XMLOutputFactory outputFactory = modelFactories.getFactory(XMLOutputFactory.class); + + StAXArtifactProcessorExtensionPoint artifactExtensionPoint = registry.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); + StAXArtifactProcessor extensibleStAXProcessor = new ExtensibleStAXArtifactProcessor(artifactExtensionPoint, inputFactory, outputFactory); + artifactExtensionPoint.addArtifactProcessor(new TuscanyWSPolicyAssertionProcessor()); + + StAXAttributeProcessorExtensionPoint attributeExtensionPoint = registry.getExtensionPoint(StAXAttributeProcessorExtensionPoint.class); + StAXAttributeProcessor extensibleStAXAttributeProcessor = new ExtensibleStAXAttributeProcessor(attributeExtensionPoint, inputFactory, outputFactory); + + + + StAXArtifactProcessor processor = artifactExtensionPoint.getProcessor(Definitions.class); + Object artifact = null; - - QName name = null; - reader.next(); - while (true) { - int event = reader.getEventType(); - switch (event) { - case START_ELEMENT: { - name = reader.getName(); - - if (WSPolicy.WS_POLICY_QNAME.equals(name)) { - artifact = processor.read(reader, new ProcessorContext()); - } - - break; - } - } - - if (reader.hasNext()) { - reader.next(); - } else { - break; - } - } + + // Read the first definitions string + + XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(WS_POLICY1)); + + artifact = processor.read(reader, new ProcessorContext()); assertNotNull(artifact); - Assert.assertTrue(artifact instanceof WSPolicy); - WSPolicy policy1 = (WSPolicy) artifact; + Assert.assertTrue(artifact instanceof Definitions); + Definitions definitions1 = (Definitions) artifact; + // Read the second definitions string + reader = inputFactory.createXMLStreamReader(new StringReader(WS_POLICY2)); - reader.next(); - while (true) { - int event = reader.getEventType(); - switch (event) { - case START_ELEMENT: { - name = reader.getName(); - - if (WSPolicy.WS_POLICY_QNAME.equals(name)) { - artifact = processor.read(reader, new ProcessorContext()); - } - - break; - } - } - - if (reader.hasNext()) { - reader.next(); - } else { - break; - } - } - + artifact = processor.read(reader, new ProcessorContext()); assertNotNull(artifact); - Assert.assertTrue(artifact instanceof WSPolicy); - WSPolicy policy2 = (WSPolicy) artifact; + Assert.assertTrue(artifact instanceof Definitions); + Definitions definitions2 = (Definitions) artifact; + + // compare the policies using the policy builder + + // create dummy endpoints and endpoint references + AssemblyFactory assemblyFactory = modelFactories.getFactory(AssemblyFactory.class); + EndpointReference epr = assemblyFactory.createEndpointReference(); + Endpoint ep = assemblyFactory.createEndpoint(); + // ... } } -- cgit v1.2.3