summaryrefslogtreecommitdiffstats
path: root/java/sca/modules/implementation-java-xml/src
diff options
context:
space:
mode:
authorrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-02-20 20:10:37 +0000
committerrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-02-20 20:10:37 +0000
commit3a8a64103bcc4891fb1a1f4cc4538f9d5b62a7ba (patch)
treeccd8919c277ad88c032acb3167fdd4645586cb07 /java/sca/modules/implementation-java-xml/src
parent7b9fa54dced70baffa6578b0be902b06092584a7 (diff)
Start to implement the SCA policy framework 1.1 spec draft from OASIS OpenCSA
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@746356 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca/modules/implementation-java-xml/src')
-rw-r--r--java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java37
-rw-r--r--java/sca/modules/implementation-java-xml/src/test/java/org/apache/tuscany/sca/implementation/java/xml/ReadTestCase.java26
-rw-r--r--java/sca/modules/implementation-java-xml/src/test/resources/org/apache/tuscany/sca/implementation/java/xml/definitions.xml2
-rw-r--r--java/sca/modules/implementation-java-xml/src/test/resources/org/apache/tuscany/sca/implementation/java/xml/definitions_with_policysets.xml188
4 files changed, 108 insertions, 145 deletions
diff --git a/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java b/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java
index 143bb094a3..1745e10894 100644
--- a/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java
+++ b/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java
@@ -20,11 +20,9 @@
package org.apache.tuscany.sca.implementation.java.xml;
import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
import static org.apache.tuscany.sca.implementation.java.xml.JavaImplementationConstants.CLASS;
import static org.apache.tuscany.sca.implementation.java.xml.JavaImplementationConstants.IMPLEMENTATION_JAVA;
import static org.apache.tuscany.sca.implementation.java.xml.JavaImplementationConstants.IMPLEMENTATION_JAVA_QNAME;
-import static org.apache.tuscany.sca.implementation.java.xml.JavaImplementationConstants.OPERATION_QNAME;
import static org.apache.tuscany.sca.implementation.java.xml.JavaImplementationConstants.SCA10_NS;
import java.lang.reflect.Field;
@@ -40,13 +38,10 @@ import javax.xml.stream.XMLStreamWriter;
import org.apache.tuscany.sca.assembly.AssemblyFactory;
import org.apache.tuscany.sca.assembly.ComponentType;
-import org.apache.tuscany.sca.assembly.ConfiguredOperation;
-import org.apache.tuscany.sca.assembly.OperationsConfigurator;
import org.apache.tuscany.sca.assembly.Property;
import org.apache.tuscany.sca.assembly.Reference;
import org.apache.tuscany.sca.assembly.Service;
-import org.apache.tuscany.sca.assembly.xml.ConfiguredOperationProcessor;
-import org.apache.tuscany.sca.assembly.xml.PolicyAttachPointProcessor;
+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;
@@ -64,7 +59,6 @@ import org.apache.tuscany.sca.interfacedef.java.JavaInterface;
import org.apache.tuscany.sca.monitor.Monitor;
import org.apache.tuscany.sca.monitor.Problem;
import org.apache.tuscany.sca.monitor.Problem.Severity;
-import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory;
import org.apache.tuscany.sca.policy.PolicyFactory;
/**
@@ -76,19 +70,17 @@ public class JavaImplementationProcessor implements StAXArtifactProcessor<JavaIm
private JavaImplementationFactory javaFactory;
private AssemblyFactory assemblyFactory;
private PolicyFactory policyFactory;
- private PolicyAttachPointProcessor policyProcessor;
- private IntentAttachPointTypeFactory intentAttachPointTypeFactory;
- private ConfiguredOperationProcessor configuredOperationProcessor;
+ private PolicySubjectProcessor policyProcessor;
+ private PolicyFactory intentAttachPointTypeFactory;
private Monitor monitor;
public JavaImplementationProcessor(FactoryExtensionPoint modelFactories, Monitor monitor) {
this.assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
this.policyFactory = modelFactories.getFactory(PolicyFactory.class);
this.javaFactory = modelFactories.getFactory(JavaImplementationFactory.class);
- this.policyProcessor = new PolicyAttachPointProcessor(policyFactory);
- this.intentAttachPointTypeFactory = modelFactories.getFactory(IntentAttachPointTypeFactory.class);
+ this.policyProcessor = new PolicySubjectProcessor(policyFactory);
+ this.intentAttachPointTypeFactory = modelFactories.getFactory(PolicyFactory.class);
this.monitor = monitor;
- this.configuredOperationProcessor = new ConfiguredOperationProcessor(modelFactories, this.monitor);
}
/**
@@ -124,11 +116,11 @@ public class JavaImplementationProcessor implements StAXArtifactProcessor<JavaIm
// Read an <implementation.java>
JavaImplementation javaImplementation = javaFactory.createJavaImplementation();
- /*if ( javaImplementation instanceof PolicySetAttachPoint ) {
- IntentAttachPointType implType = intentAttachPointTypeFactory.createImplementationType();
+ /*if ( javaImplementation instanceof PolicySubject ) {
+ ExtensionType implType = intentAttachPointTypeFactory.createImplementationType();
implType.setName(getArtifactType());
implType.setUnresolved(true);
- ((PolicySetAttachPoint)javaImplementation).setType(implType);
+ ((PolicySubject)javaImplementation).setType(implType);
}*/
javaImplementation.setUnresolved(true);
@@ -139,21 +131,8 @@ public class JavaImplementationProcessor implements StAXArtifactProcessor<JavaIm
// read operation elements if exists or skip unto end element
int event;
- ConfiguredOperation confOp = null;
while (reader.hasNext()) {
event = reader.next();
- switch ( event ) {
- case START_ELEMENT : {
- if ( OPERATION_QNAME.equals(reader.getName()) ) {
- confOp = configuredOperationProcessor.read(reader);
- if ( confOp != null ) {
- ((OperationsConfigurator)javaImplementation).getConfiguredOperations().add(confOp);
- }
- }
- }
- break;
- }
-
if (event == END_ELEMENT && IMPLEMENTATION_JAVA_QNAME.equals(reader.getName())) {
break;
}
diff --git a/java/sca/modules/implementation-java-xml/src/test/java/org/apache/tuscany/sca/implementation/java/xml/ReadTestCase.java b/java/sca/modules/implementation-java-xml/src/test/java/org/apache/tuscany/sca/implementation/java/xml/ReadTestCase.java
index d0d5caaa3a..18435e205c 100644
--- a/java/sca/modules/implementation-java-xml/src/test/java/org/apache/tuscany/sca/implementation/java/xml/ReadTestCase.java
+++ b/java/sca/modules/implementation-java-xml/src/test/java/org/apache/tuscany/sca/implementation/java/xml/ReadTestCase.java
@@ -32,7 +32,6 @@ 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.OperationsConfigurator;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
import org.apache.tuscany.sca.assembly.builder.CompositeBuilderExtensionPoint;
import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
@@ -45,7 +44,7 @@ import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
import org.apache.tuscany.sca.definitions.Definitions;
import org.apache.tuscany.sca.policy.Intent;
import org.apache.tuscany.sca.policy.PolicySet;
-import org.apache.tuscany.sca.policy.PolicySetAttachPoint;
+import org.apache.tuscany.sca.policy.PolicySubject;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
@@ -106,15 +105,15 @@ public class ReadTestCase {
compositeBuilder.build(composite, null, null);
//intents are computed and aggregate intents from ancestor elements
- assertEquals(((PolicySetAttachPoint)composite.getComponents().get(0)).getRequiredIntents().size(), 3);
- assertEquals(((PolicySetAttachPoint)composite.getComponents().get(5)).getRequiredIntents().size(), 3);
+ assertEquals(((PolicySubject)composite.getComponents().get(0)).getRequiredIntents().size(), 3);
+ assertEquals(((PolicySubject)composite.getComponents().get(5)).getRequiredIntents().size(), 3);
//assertEquals(((OperationsConfigurator)composite.getComponents().get(0)).getConfiguredOperations().isEmpty(), true);
//assertEquals(((OperationsConfigurator)composite.getComponents().get(5)).getConfiguredOperations().isEmpty(), false);
//test for proper aggregation of policy intents on implementation elements
- for ( Intent intent : ((PolicySetAttachPoint)composite.getComponents().get(0).getImplementation()).getRequiredIntents() ) {
+ for ( Intent intent : ((PolicySubject)composite.getComponents().get(0).getImplementation()).getRequiredIntents() ) {
String intentName = intent.getName().getLocalPart();
if ( !(intentName.equals("tuscanyIntent_1") || intentName.equals("tuscanyIntent_2") ||
intentName.equals("tuscanyIntent_3")) ) {
@@ -122,7 +121,7 @@ public class ReadTestCase {
}
}
- for ( Intent intent : ((PolicySetAttachPoint)composite.getComponents().get(5)).getRequiredIntents() ) {
+ for ( Intent intent : ((PolicySubject)composite.getComponents().get(5)).getRequiredIntents() ) {
String intentName = intent.getName().getLocalPart();
if ( !(intentName.equals("tuscanyIntent_1") || intentName.equals("tuscanyIntent_4") ||
intentName.equals("tuscanyIntent_5")) ) {
@@ -130,6 +129,7 @@ public class ReadTestCase {
}
}
+ /*
//test for proper aggregation of policy intents and policysets on operations of implementation
OperationsConfigurator opConf = (OperationsConfigurator)composite.getComponents().get(5);
assertEquals(opConf.getConfiguredOperations().get(0).getRequiredIntents().size(), 4);
@@ -150,6 +150,7 @@ public class ReadTestCase {
fail();
}
}
+ */
}
@Test
@@ -168,7 +169,7 @@ public class ReadTestCase {
for ( Component component : composite.getComponents() ) {
for ( PolicySet policySet : policyDefinitions.getPolicySets() ) {
- component.getApplicablePolicySets().add(policySet);
+ component.getPolicySets().add(policySet);
}
}
@@ -178,22 +179,23 @@ public class ReadTestCase {
compositeBuilder.build(composite, null, null);
//test for determination of policysets for implementation
- assertEquals(((PolicySetAttachPoint)composite.getComponents().get(0)).getPolicySets().size(), 1);
- for ( PolicySet policySet : ((PolicySetAttachPoint)composite.getComponents().get(0).getImplementation()).getPolicySets() ) {
+ assertEquals(((PolicySubject)composite.getComponents().get(0)).getPolicySets().size(), 1);
+ for ( PolicySet policySet : ((PolicySubject)composite.getComponents().get(0).getImplementation()).getPolicySets() ) {
String policySetName = policySet.getName().getLocalPart();
if ( !(policySetName.equals("tuscanyPolicySet_1")) ) {
fail();
}
}
- assertEquals(((PolicySetAttachPoint)composite.getComponents().get(5)).getPolicySets().size(), 2);
- for ( PolicySet policySet : ((PolicySetAttachPoint)composite.getComponents().get(5).getImplementation()).getPolicySets() ) {
+ assertEquals(((PolicySubject)composite.getComponents().get(5)).getPolicySets().size(), 2);
+ for ( PolicySet policySet : ((PolicySubject)composite.getComponents().get(5).getImplementation()).getPolicySets() ) {
String policySetName = policySet.getName().getLocalPart();
if ( !(policySetName.equals("tuscanyPolicySet_1") || policySetName.equals("tuscanyPolicySet_2")) ) {
fail();
}
}
+ /*
//test for computation of policysets on operations of implementation
OperationsConfigurator opConf = (OperationsConfigurator)composite.getComponents().get(5);
assertEquals(opConf.getConfiguredOperations().get(0).getPolicySets().size(), 3);
@@ -215,6 +217,8 @@ public class ReadTestCase {
fail();
}
}
+ */
+
//new PrintUtil(System.out).print(composite);
}
diff --git a/java/sca/modules/implementation-java-xml/src/test/resources/org/apache/tuscany/sca/implementation/java/xml/definitions.xml b/java/sca/modules/implementation-java-xml/src/test/resources/org/apache/tuscany/sca/implementation/java/xml/definitions.xml
index cddc134c2c..7af59d8eb9 100644
--- a/java/sca/modules/implementation-java-xml/src/test/resources/org/apache/tuscany/sca/implementation/java/xml/definitions.xml
+++ b/java/sca/modules/implementation-java-xml/src/test/resources/org/apache/tuscany/sca/implementation/java/xml/definitions.xml
@@ -19,7 +19,7 @@
-->
<sca:definitions xmlns="http://test"
targetNamespace="http://test"
- xmlns:sca="http://www.osoa.org/xmlns/sca/1.0">
+ xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200712">
<!-- simple intent -->
<sca:intent name="tuscanyIntent_1"
diff --git a/java/sca/modules/implementation-java-xml/src/test/resources/org/apache/tuscany/sca/implementation/java/xml/definitions_with_policysets.xml b/java/sca/modules/implementation-java-xml/src/test/resources/org/apache/tuscany/sca/implementation/java/xml/definitions_with_policysets.xml
index 9147133d5d..781afe1241 100644
--- a/java/sca/modules/implementation-java-xml/src/test/resources/org/apache/tuscany/sca/implementation/java/xml/definitions_with_policysets.xml
+++ b/java/sca/modules/implementation-java-xml/src/test/resources/org/apache/tuscany/sca/implementation/java/xml/definitions_with_policysets.xml
@@ -17,117 +17,97 @@
* specific language governing permissions and limitations
* under the License.
-->
-<sca:definitions xmlns="http://test"
- targetNamespace="http://test"
- xmlns:sca="http://www.osoa.org/xmlns/sca/1.0">
+<sca:definitions xmlns="http://test" targetNamespace="http://test" xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200712">
-<!-- simple intent -->
- <sca:intent name="tuscanyIntent_1"
- constrains="sca:binding sca:implementation.java">
- <sca:description>
- Sample Intent
+ <!-- simple intent -->
+ <sca:intent name="tuscanyIntent_1" constrains="sca:binding sca:implementation.java">
+ <sca:description>
+ Sample Intent
</sca:description>
- </sca:intent>
-
- <sca:intent name="tuscanyIntent_2"
- constrains="sca:binding sca:implementation.java">
- <sca:description>
- Sample Intent
+ <!-- qualified intents -->
+ <sca:qualifier name="qualified" default="true"/>
+ </sca:intent>
+
+ <sca:intent name="tuscanyIntent_2" constrains="sca:binding sca:implementation.java">
+ <sca:description>
+ Sample Intent
</sca:description>
- </sca:intent>
-
- <sca:intent name="tuscanyIntent_3"
- constrains="sca:binding sca:implementation.java">
- <sca:description>
- Sample Intent
+ <sca:qualifier name="qualified" default="true"/>
+ </sca:intent>
+
+ <sca:intent name="tuscanyIntent_3" constrains="sca:binding sca:implementation.java">
+ <sca:description>
+ Sample Intent
</sca:description>
- </sca:intent>
-
- <sca:intent name="tuscanyIntent_4"
- constrains="sca:binding sca:implementation.java">
- <sca:description>
- Sample Intent
+ </sca:intent>
+
+ <sca:intent name="tuscanyIntent_4" constrains="sca:binding sca:implementation.java">
+ <sca:description>
+ Sample Intent
</sca:description>
- </sca:intent>
-
-<sca:intent name="tuscanyIntent_5"
- constrains="sca:binding sca:implementation.java">
- <sca:description>
- Sample Intent
+ </sca:intent>
+
+ <sca:intent name="tuscanyIntent_5" constrains="sca:binding sca:implementation.java">
+ <sca:description>
+ Sample Intent
</sca:description>
- </sca:intent>
-
- <sca:intent name="tuscanyIntent_6"
- constrains="sca:binding sca:implementation.java">
- <sca:description>
- Sample Intent
+ </sca:intent>
+
+ <sca:intent name="tuscanyIntent_6" constrains="sca:binding sca:implementation.java">
+ <sca:description>
+ Sample Intent
</sca:description>
- </sca:intent>
-
- <sca:intent name="tuscanyIntent_7"
- constrains="sca:binding sca:implementation.java">
- <sca:description>
- Sample Intent
+ <sca:qualifier name="qualified1" default="true"/>
+ <sca:qualifier name="qualified2" />
+
+
+ </sca:intent>
+
+ <sca:intent name="tuscanyIntent_7" constrains="sca:binding sca:implementation.java">
+ <sca:description>
+ Sample Intent
</sca:description>
- </sca:intent>
-
- <sca:intent name="tuscanyIntent_8"
- constrains="sca:binding sca:implementation.java">
- <sca:description>
- Sample Intent
+ </sca:intent>
+
+ <sca:intent name="tuscanyIntent_8" constrains="sca:binding sca:implementation.java">
+ <sca:description>
+ Sample Intent
</sca:description>
- </sca:intent>
-
- <sca:policySet name="tuscanyPolicySet_1"
- provides="tuscanyIntent_1 tuscanyIntent_2 tuscanyIntent_3"
- appliesTo="/sca:composite/sca:component"
- xmlns="http://test"
- xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
- </sca:policySet>
-
- <sca:policySet name="tuscanyPolicySet_2"
- provides="tuscanyIntent_4 tuscanyIntent_5"
- appliesTo="/sca:composite/sca:component"
- xmlns="http://test"
- xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
- </sca:policySet>
-
- <sca:policySet name="tuscanyPolicySet_3"
- provides="tuscanyIntent_6"
- appliesTo="/sca:composite/sca:component"
- xmlns="http://test"
- xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
- <sca:intentMap provides="tuscanyIntent_6" default="qualified1">
- <sca:qualifier name="qualified1">
- <wsp:Policy>
- <!-- policy expression and policy subject for "qualified1" alternative -->
- </wsp:Policy>
- </sca:qualifier>
- <sca:qualifier name="qualifed2">
- <wsp:Policy>
- <!-- policy expression and policy subject for "qualified2" alternative" -->
- </wsp:Policy>
- </sca:qualifier>
- </sca:intentMap>
- </sca:policySet>
-
- <sca:policySet name="tuscanyPolicySet_4"
- provides="tuscanyIntent_6"
- appliesTo="/sca:composite/sca:component"
- xmlns="http://test"
- xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
- <sca:intentMap provides="tuscanyIntent_6" default="qualified2">
- <sca:qualifier name="qualified2">
- <wsp:Policy>
- <!-- policy expression and policy subject for "qualified2" alternative" -->
- </wsp:Policy>
- </sca:qualifier>
- </sca:intentMap>
- </sca:policySet>
-
- <!-- qualified intents -->
- <sca:intent name="tuscanyIntent_1.qualified" />
- <sca:intent name="tuscanyIntent_2.qualified" />
- <sca:intent name="tuscanyIntent_6.qualified1" />
- <sca:intent name="tuscanyIntent_6.qualified2" />
+ </sca:intent>
+
+ <sca:policySet name="tuscanyPolicySet_1" provides="tuscanyIntent_1 tuscanyIntent_2 tuscanyIntent_3"
+ appliesTo="/sca:composite/sca:component" xmlns="http://test" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+ </sca:policySet>
+
+ <sca:policySet name="tuscanyPolicySet_2" provides="tuscanyIntent_4 tuscanyIntent_5" appliesTo="/sca:composite/sca:component"
+ xmlns="http://test" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+ </sca:policySet>
+
+ <sca:policySet name="tuscanyPolicySet_3" provides="tuscanyIntent_6" appliesTo="/sca:composite/sca:component"
+ xmlns="http://test" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+ <sca:intentMap provides="tuscanyIntent_6" default="qualified1">
+ <sca:qualifier name="qualified1">
+ <wsp:Policy>
+ <!-- policy expression and policy subject for "qualified1" alternative -->
+ </wsp:Policy>
+ </sca:qualifier>
+ <sca:qualifier name="qualifed2">
+ <wsp:Policy>
+ <!-- policy expression and policy subject for "qualified2" alternative" -->
+ </wsp:Policy>
+ </sca:qualifier>
+ </sca:intentMap>
+ </sca:policySet>
+
+ <sca:policySet name="tuscanyPolicySet_4" provides="tuscanyIntent_6" appliesTo="/sca:composite/sca:component"
+ xmlns="http://test" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+ <sca:intentMap provides="tuscanyIntent_6" default="qualified2">
+ <sca:qualifier name="qualified2">
+ <wsp:Policy>
+ <!-- policy expression and policy subject for "qualified2" alternative" -->
+ </wsp:Policy>
+ </sca:qualifier>
+ </sca:intentMap>
+ </sca:policySet>
+
</sca:definitions> \ No newline at end of file