diff options
author | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2009-02-20 20:10:37 +0000 |
---|---|---|
committer | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2009-02-20 20:10:37 +0000 |
commit | 3a8a64103bcc4891fb1a1f4cc4538f9d5b62a7ba (patch) | |
tree | ccd8919c277ad88c032acb3167fdd4645586cb07 /java/sca/modules/policy-xml/src/test | |
parent | 7b9fa54dced70baffa6578b0be902b06092584a7 (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/policy-xml/src/test')
3 files changed, 270 insertions, 303 deletions
diff --git a/java/sca/modules/policy-xml/src/test/java/org/apache/tuscany/sca/policy/xml/ReadDocumentTestCase.java b/java/sca/modules/policy-xml/src/test/java/org/apache/tuscany/sca/policy/xml/ReadDocumentTestCase.java index 72235812a1..0e35d31f00 100644 --- a/java/sca/modules/policy-xml/src/test/java/org/apache/tuscany/sca/policy/xml/ReadDocumentTestCase.java +++ b/java/sca/modules/policy-xml/src/test/java/org/apache/tuscany/sca/policy/xml/ReadDocumentTestCase.java @@ -47,12 +47,13 @@ import org.apache.tuscany.sca.core.UtilityExtensionPoint; import org.apache.tuscany.sca.monitor.DefaultMonitorFactory; import org.apache.tuscany.sca.monitor.Monitor; import org.apache.tuscany.sca.monitor.MonitorFactory; +import org.apache.tuscany.sca.policy.BindingType; +import org.apache.tuscany.sca.policy.ExtensionType; +import org.apache.tuscany.sca.policy.ImplementationType; import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.IntentAttachPointType; +import org.apache.tuscany.sca.policy.IntentMap; import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.ProfileIntent; -import org.apache.tuscany.sca.policy.QualifiedIntent; -import org.apache.tuscany.sca.policy.impl.BindingTypeImpl; +import org.apache.tuscany.sca.policy.Qualifier; import org.apache.tuscany.sca.policy.impl.ImplementationTypeImpl; import org.junit.Before; import org.junit.Test; @@ -68,13 +69,14 @@ public class ReadDocumentTestCase { private StAXArtifactProcessor<Object> staxProcessor; private Monitor monitor; - private static final QName elementToProcess = new QName("http://www.osoa.org/xmlns/sca/1.0", "implementationType"); + private static final QName elementToProcess = + new QName("http://docs.oasis-open.org/ns/opencsa/sca/200712", "implementationType"); private Map<QName, Intent> intentTable = new Hashtable<QName, Intent>(); private Map<QName, PolicySet> policySetTable = new Hashtable<QName, PolicySet>(); - private Map<QName, IntentAttachPointType> bindingTypesTable = new Hashtable<QName, IntentAttachPointType>(); - private Map<QName, IntentAttachPointType> implTypesTable = new Hashtable<QName, IntentAttachPointType>(); - private static final String scaNamespace = "http://www.osoa.org/xmlns/sca/1.0"; + private Map<QName, BindingType> bindingTypesTable = new Hashtable<QName, BindingType>(); + private Map<QName, ImplementationType> implTypesTable = new Hashtable<QName, ImplementationType>(); + private static final String scaNamespace = "http://docs.oasis-open.org/ns/opencsa/sca/200712"; private static final String namespace = "http://test"; private static final QName confidentiality = new QName(namespace, "confidentiality"); @@ -131,18 +133,18 @@ public class ReadDocumentTestCase { } else if (artifact instanceof Intent) { Intent intent = (Intent)artifact; intent.setName(new QName(namespace, intent.getName().getLocalPart())); - if (intent instanceof QualifiedIntent) { - ((QualifiedIntent)intent).getQualifiableIntent() - .setName(new QName(namespace, ((QualifiedIntent)intent).getQualifiableIntent() - .getName().getLocalPart())); - } intentTable.put(intent.getName(), intent); - } else if (artifact instanceof BindingTypeImpl) { - IntentAttachPointType bindingType = (IntentAttachPointType)artifact; - bindingTypesTable.put(bindingType.getName(), bindingType); + for (Intent i : intent.getQualifiedIntents()) { + i.setName(new QName(namespace, i.getName().getLocalPart())); + intentTable.put(i.getName(), i); + resolver.addModel(i); + } + } else if (artifact instanceof BindingType) { + BindingType bindingType = (BindingType)artifact; + bindingTypesTable.put(bindingType.getType(), bindingType); } else if (artifact instanceof ImplementationTypeImpl) { - IntentAttachPointType implType = (IntentAttachPointType)artifact; - implTypesTable.put(implType.getName(), implType); + ImplementationType implType = (ImplementationType)artifact; + implTypesTable.put(implType.getType(), implType); } if (artifact != null) { @@ -173,25 +175,35 @@ public class ReadDocumentTestCase { assertTrue(policySetTable.get(secureReliablePolicy).getPolicies().size() == 2); assertNotNull(policySetTable.get(secureMessagingPolicies)); - assertEquals(policySetTable.get(secureMessagingPolicies).getMappedPolicies().size(), 3); + assertEquals(2, policySetTable.get(secureMessagingPolicies).getIntentMaps().get(0).getQualifiers().get(0).getPolicies().size()); assertEquals(bindingTypesTable.size(), 1); assertNotNull(bindingTypesTable.get(wsBinding)); assertEquals(implTypesTable.size(), 1); assertNotNull(implTypesTable.get(javaImpl)); } + + private int getNumberOfQualifiedPolicies(PolicySet policySet) { + int count = 0; + for(IntentMap intentMap: policySet.getIntentMaps()) { + for(Qualifier q: intentMap.getQualifiers()) { + count += q.getPolicies().size(); + } + } + return count; + } @Test public void testResolution() throws Exception { - assertTrue(intentTable.get(messageProtection) instanceof ProfileIntent); - ProfileIntent profileIntent = (ProfileIntent)intentTable.get(new QName(namespace, "messageProtection")); + assertTrue(!intentTable.get(messageProtection).getRequiredIntents().isEmpty()); + Intent profileIntent = intentTable.get(new QName(namespace, "messageProtection")); assertNull(profileIntent.getRequiredIntents().get(0).getDescription()); QName confidentiality_transport = new QName(namespace, "confidentiality.transport"); - assertTrue(intentTable.get(confidentiality_transport) instanceof QualifiedIntent); - QualifiedIntent qualifiedIntent = - (QualifiedIntent)intentTable.get(new QName(namespace, "confidentiality.transport")); - assertNull(qualifiedIntent.getQualifiableIntent().getDescription()); + assertTrue(intentTable.get(confidentiality_transport) instanceof Intent); + Intent qualifiedIntent = (Intent)intentTable.get(new QName(namespace, "confidentiality.transport")); + assertNull(qualifiedIntent.getDescription()); + assertNotNull(qualifiedIntent.getParent().getDescription()); PolicySet secureReliablePolicySet = policySetTable.get(secureReliablePolicy); PolicySet secureMessagingPolicySet = policySetTable.get(secureMessagingPolicies); @@ -200,42 +212,26 @@ public class ReadDocumentTestCase { assertEquals(secureReliablePolicySet.getProvidedIntents().get(1).getName(), integrity); assertNull(secureReliablePolicySet.getProvidedIntents().get(1).getDescription()); assertTrue(secureMessagingPolicySet.isUnresolved()); - assertEquals(securityPolicySet.getMappedPolicies().size(), 5); + assertEquals(2, getNumberOfQualifiedPolicies(securityPolicySet)); //testing to ensure that inclusion of referred policy sets has not happened PolicySet basicAuthMsgProtSecurityPolicySet = policySetTable.get(basicAuthMsgProtSecurity); assertTrue(basicAuthMsgProtSecurityPolicySet.getPolicies().isEmpty()); - assertTrue(basicAuthMsgProtSecurityPolicySet.getMappedPolicies().isEmpty()); + assertTrue(basicAuthMsgProtSecurityPolicySet.getIntentMaps().isEmpty()); - IntentAttachPointType wsBindingType = bindingTypesTable.get(wsBinding); + ExtensionType wsBindingType = bindingTypesTable.get(wsBinding); assertNull(wsBindingType.getAlwaysProvidedIntents().get(0).getDescription()); - assertNull(wsBindingType.getMayProvideIntents().get(0).getDescription()); + assertNull(wsBindingType.getMayProvidedIntents().get(0).getDescription()); - IntentAttachPointType javaImplType = implTypesTable.get(javaImpl); + ExtensionType javaImplType = implTypesTable.get(javaImpl); assertNull(javaImplType.getAlwaysProvidedIntents().get(0).getDescription()); - assertNull(javaImplType.getMayProvideIntents().get(0).getDescription()); - - List<Intent> simpleIntents = new ArrayList<Intent>(); - List<ProfileIntent> profileIntents = new ArrayList<ProfileIntent>(); - List<QualifiedIntent> qualifiedIntents = new ArrayList<QualifiedIntent>(); - - for (Intent intent : intentTable.values()) { - if (intent instanceof ProfileIntent) - profileIntents.add((ProfileIntent)intent); - else if (intent instanceof QualifiedIntent) - qualifiedIntents.add((QualifiedIntent)intent); - else - simpleIntents.add(intent); - } - - for (Intent intent : simpleIntents) - staxProcessor.resolve(intent, resolver); + assertNull(javaImplType.getMayProvidedIntents().get(0).getDescription()); - for (ProfileIntent intent : profileIntents) - staxProcessor.resolve(intent, resolver); + List<Intent> intents = new ArrayList<Intent>(intentTable.values()); - for (QualifiedIntent intent : qualifiedIntents) + for (Intent intent : intents) { staxProcessor.resolve(intent, resolver); + } for (PolicySet policySet : policySetTable.values()) { if (policySet.getReferencedPolicySets().isEmpty()) @@ -247,40 +243,53 @@ public class ReadDocumentTestCase { staxProcessor.resolve(policySet, resolver); } - for (IntentAttachPointType bindingType : bindingTypesTable.values()) { + for (ExtensionType bindingType : bindingTypesTable.values()) { staxProcessor.resolve(bindingType, resolver); } - for (IntentAttachPointType implType : implTypesTable.values()) { + for (ExtensionType implType : implTypesTable.values()) { staxProcessor.resolve(implType, resolver); } //testing if policy intents have been linked have property been linked up assertNotNull(profileIntent.getRequiredIntents().get(0).getDescription()); - assertNotNull(qualifiedIntent.getQualifiableIntent().getDescription()); + assertNotNull(qualifiedIntent.getParent().getDescription()); assertEquals(secureReliablePolicySet.getProvidedIntents().get(1).getName(), integrity); assertNotNull(secureReliablePolicySet.getProvidedIntents().get(1).getDescription()); //testing if policysets have been properly linked up with intents assertFalse(secureMessagingPolicySet.isUnresolved()); - assertNotNull(secureMessagingPolicySet.getMappedPolicies().get(intentTable.get(confidentiality))); - assertNotNull(secureMessagingPolicySet.getMappedPolicies().get(intentTable.get(confidentiality_transport))); + assertTrue(isRealizedBy(secureMessagingPolicySet, intentTable.get(confidentiality))); + assertTrue(isRealizedBy(secureMessagingPolicySet, intentTable.get(confidentiality_transport))); //testing if intent maps have been properly mapped to policies assertFalse(securityPolicySet.isUnresolved()); - assertNotNull(securityPolicySet.getMappedPolicies().get(intentTable.get(confidentiality))); - assertNotNull(securityPolicySet.getMappedPolicies().get(intentTable.get(confidentiality_message))); + assertTrue(isRealizedBy(securityPolicySet, intentTable.get(confidentiality))); + assertTrue(isRealizedBy(securityPolicySet, intentTable.get(confidentiality_message))); //testing for inclusion of referred policysets assertFalse(basicAuthMsgProtSecurityPolicySet.getPolicies().isEmpty()); - assertFalse(basicAuthMsgProtSecurityPolicySet.getMappedPolicies().isEmpty()); - assertNotNull(basicAuthMsgProtSecurityPolicySet.getMappedPolicies().get(intentTable - .get(confidentiality_transport))); + assertFalse(basicAuthMsgProtSecurityPolicySet.getIntentMaps().isEmpty()); + assertTrue(isRealizedBy(basicAuthMsgProtSecurityPolicySet, intentTable.get(confidentiality_transport))); assertNotNull(wsBindingType.getAlwaysProvidedIntents().get(0).getDescription()); - assertNotNull(wsBindingType.getMayProvideIntents().get(0).getDescription()); + assertNotNull(wsBindingType.getMayProvidedIntents().get(0).getDescription()); assertNotNull(javaImplType.getAlwaysProvidedIntents().get(0).getDescription()); - assertNotNull(javaImplType.getMayProvideIntents().get(0).getDescription()); + assertNotNull(javaImplType.getMayProvidedIntents().get(0).getDescription()); + } + + private boolean isRealizedBy(PolicySet policySet, Intent intent) { + if (intent.getName().getLocalPart().indexOf('.') == -1) { + return policySet.getProvidedIntents().contains(intent); + } + for (IntentMap map : policySet.getIntentMaps()) { + for (Qualifier q : map.getQualifiers()) { + if (q.getIntent().equals(intent)) { + return true; + } + } + } + return false; } } diff --git a/java/sca/modules/policy-xml/src/test/java/org/apache/tuscany/sca/policy/xml/TestPolicyProcessor.java b/java/sca/modules/policy-xml/src/test/java/org/apache/tuscany/sca/policy/xml/TestPolicyProcessor.java index 2dc8a1cdc7..6887cd1b42 100644 --- a/java/sca/modules/policy-xml/src/test/java/org/apache/tuscany/sca/policy/xml/TestPolicyProcessor.java +++ b/java/sca/modules/policy-xml/src/test/java/org/apache/tuscany/sca/policy/xml/TestPolicyProcessor.java @@ -28,36 +28,46 @@ import org.apache.tuscany.sca.contribution.processor.ContributionResolveExceptio import org.apache.tuscany.sca.contribution.processor.ContributionWriteException;
import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-import org.apache.tuscany.sca.policy.Policy;
+import org.apache.tuscany.sca.policy.PolicyExpression;
/**
*
* @version $Rev$ $Date$
*/
-public class TestPolicyProcessor implements StAXArtifactProcessor<Policy> {
+public class TestPolicyProcessor implements StAXArtifactProcessor<PolicyExpression> {
public QName getArtifactType() {
return new QName("http://schemas.xmlsoap.org/ws/2004/09/policy", "PolicyAttachment");
}
- public Policy read(XMLStreamReader arg0) throws ContributionReadException, XMLStreamException {
+ public PolicyExpression read(XMLStreamReader arg0) throws ContributionReadException, XMLStreamException {
return new MockPolicyImplOne();
}
- public void write(Policy arg0, XMLStreamWriter arg1) throws ContributionWriteException, XMLStreamException {
+ public void write(PolicyExpression arg0, XMLStreamWriter arg1) throws ContributionWriteException, XMLStreamException {
}
- public Class<Policy> getModelType() {
+ public Class<PolicyExpression> getModelType() {
// TODO Auto-generated method stub
- return Policy.class;
+ return PolicyExpression.class;
}
- public void resolve(Policy arg0, ModelResolver arg1) throws ContributionResolveException {
+ public void resolve(PolicyExpression arg0, ModelResolver arg1) throws ContributionResolveException {
}
- public class MockPolicyImplOne implements Policy {
- public QName getSchemaName() {
+ public class MockPolicyImplOne implements PolicyExpression {
+ public <T> T getPolicy() {
+ return null;
+ }
+
+ public void setName(QName name) {
+ }
+
+ public <T> void setPolicy(T policy) {
+ }
+
+ public QName getName() {
return new QName("http://schemas.xmlsoap.org/ws/2004/09/policy", "PolicyAttachment");
}
diff --git a/java/sca/modules/policy-xml/src/test/resources/org/apache/tuscany/sca/policy/xml/test_definitions.xml b/java/sca/modules/policy-xml/src/test/resources/org/apache/tuscany/sca/policy/xml/test_definitions.xml index b51a6fba98..b46ac57e5f 100644 --- a/java/sca/modules/policy-xml/src/test/resources/org/apache/tuscany/sca/policy/xml/test_definitions.xml +++ b/java/sca/modules/policy-xml/src/test/resources/org/apache/tuscany/sca/policy/xml/test_definitions.xml @@ -17,239 +17,187 @@ * specific language governing permissions and limitations
* under the License.
-->
-<definitions xmlns="http://www.osoa.org/xmlns/sca/1.0"
- targetNamespace="http://test"
- xmlns:test="http://test"
- xmlns:sca="http://www.osoa.org/xmlns/sca/1.0">
-
-<!-- Extension Types Metadata -->
-<implementationType type="sca:implementation.java" alwaysProvides="test:logging"
- mayProvide="test:tracing"/>
-<bindingType type="sca:binding.ws" alwaysProvides="test:confidentiality"
- mayProvide="test:integrity"/>
-
-<!-- Intents and Policysets to assume targetnamespace -->
-<intent name="TestIntentOne"
- constrains="sca:binding">
- <description>
- Test Intent
- </description>
- </intent>
-
- <intent name="TestIntentTwo"
- constrains="sca:binding"
- requires="test:TestIntentOne">
- <description>
- Protect messages from unauthorized reading or modification
- </description>
- </intent>
-
- <policySet name="TestPolicySetOne"
- provides="test:TestIntentOne"
- appliesTo="sca:binding.ws"
- xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
- <wsp:PolicyAttachment>
- <!-- policy expression and policy subject for
- "basic authentication" -->
- </wsp:PolicyAttachment>
- <wsp:PolicyAttachment>
- <!-- policy expression and policy subject for
- "reliability" -->
- </wsp:PolicyAttachment>
- </policySet>
-
-
- <!-- qualified intents -->
- <intent name="confidentiality.transport" />
- <intent name="confidentiality.message" />
- <intent name="confidentiality.message.whole" />
- <intent name="confidentiality.message.body" />
-
- <!-- POLICY SETS -->
- <policySet name="SecureReliablePolicy"
- provides="test:confidentiality.transport test:integrity"
- appliesTo="sca:binding.ws"
- xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
- <wsp:PolicyAttachment>
- <!-- policy expression and policy subject for
- "basic authentication" -->
- </wsp:PolicyAttachment>
- <wsp:PolicyAttachment>
- <!-- policy expression and policy subject for
- "reliability" -->
- </wsp:PolicyAttachment>
- </policySet>
-
- <policySet name="SecureMessagingPolicies"
- provides="test:confidentiality"
- appliesTo="binding.ws"
- xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
- <intentMap provides="test:confidentiality" default="transport">
- <qualifier name="transport">
- <wsp:PolicyAttachment>
- <!-- policy expression and policy subject for "transport" alternative -->
+<definitions xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200712" targetNamespace="http://test"
+ xmlns:test="http://test" xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200712">
+
+ <!-- Extension Types Metadata -->
+ <implementationType type="sca:implementation.java" alwaysProvides="test:logging" mayProvide="test:tracing" />
+ <bindingType type="sca:binding.ws" alwaysProvides="test:confidentiality" mayProvide="test:integrity" />
+
+ <!-- Intents and Policysets to assume targetnamespace -->
+ <intent name="TestIntentOne" constrains="sca:binding">
+ <description>
+ Test Intent
+ </description>
+ </intent>
+
+ <intent name="TestIntentTwo" constrains="sca:binding" requires="test:TestIntentOne">
+ <description>
+ Protect messages from unauthorized reading or modification
+ </description>
+ </intent>
+
+ <policySet name="TestPolicySetOne" provides="test:TestIntentOne" appliesTo="sca:binding.ws"
+ xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200712" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+ <wsp:PolicyAttachment>
+ <!-- policy expression and policy subject for
+ "basic authentication" -->
+ </wsp:PolicyAttachment>
+ <wsp:PolicyAttachment>
+ <!-- policy expression and policy subject for
+ "reliability" -->
+ </wsp:PolicyAttachment>
+ </policySet>
+
+ <!-- POLICY SETS -->
+ <policySet name="SecureReliablePolicy" provides="test:confidentiality.transport test:integrity" appliesTo="sca:binding.ws"
+ xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200712" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+ <wsp:PolicyAttachment>
+ <!-- policy expression and policy subject for
+ "basic authentication" -->
+ </wsp:PolicyAttachment>
+ <wsp:PolicyAttachment>
+ <!-- policy expression and policy subject for
+ "reliability" -->
+ </wsp:PolicyAttachment>
+ </policySet>
+
+ <policySet name="SecureMessagingPolicies" provides="test:confidentiality" appliesTo="binding.ws"
+ xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200712" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+ <intentMap provides="test:confidentiality" default="transport">
+ <qualifier name="transport">
+ <wsp:PolicyAttachment>
+ <!-- policy expression and policy subject for "transport" alternative -->
</wsp:PolicyAttachment>
- <wsp:PolicyAttachment>...</wsp:PolicyAttachment>
- </qualifier>
- <qualifier name="message">
- <wsp:PolicyAttachment>
- <!-- policy expression and policy subject for "message" alternative" -->
- </wsp:PolicyAttachment>
- </qualifier>
- </intentMap>
-</policySet>
-
-<policySet name="SecurityPolicy" - provides="test:confidentiality" - appliesTo="binding.ws"
- xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" >
- <intentMap provides="test:confidentiality" default="message">
- <qualifier name="message">
- <intentMap provides="message" default="whole">
- <qualifier name="body">
- <wsp:PolicyAttachment>
- <!-- policy attachment for body encryption -->
- </wsp:PolicyAttachment>
- </qualifier>
- <qualifier name="whole">
- <wsp:PolicyAttachment>
- <!-- policy attachment for whole message encryption -->
- </wsp:PolicyAttachment>
- </qualifier>
- </intentMap>
- </qualifier>
- <qualifier name="transport">
- <wsp:PolicyAttachment>
- <!-- policy attachment for transport encryption -->
- </wsp:PolicyAttachment>
- </qualifier>
- </intentMap>
-</policySet>
-
-<policySet name="BasicAuthMsgProtSecurity"
- provides="test:authentication test:confidentiality"
- appliesTo="binding.ws"
- xmlns="http://www.osoa.org/xmlns/sca/1.0">
- <policySetReference name="test:AuthenticationPolicies"/>
- <policySetReference name="test:ConfidentialityPolicies"/>
-</policySet>
-
-<policySet name="AuthenticationPolicies"
- provides="test:authentication"
- appliesTo="binding.ws"
- xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
- <wsp:PolicyAttachment>
- <!-- policy expression and policy subject for "basic
+ <wsp:PolicyAttachment>...</wsp:PolicyAttachment>
+ </qualifier>
+ <qualifier name="message">
+ <wsp:PolicyAttachment>
+ <!-- policy expression and policy subject for "message" alternative" -->
+ </wsp:PolicyAttachment>
+ </qualifier>
+ </intentMap>
+ </policySet>
+
+ <policySet name="SecurityPolicy" provides="test:confidentiality" appliesTo="binding.ws"
+ xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200712" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+ <intentMap provides="test:confidentiality" default="message">
+ <qualifier name="message">
+ <wsp:PolicyAttachment>
+ <!-- policy attachment for body encryption -->
+ </wsp:PolicyAttachment>
+ </qualifier>
+ <qualifier name="transport">
+ <wsp:PolicyAttachment>
+ <!-- policy attachment for transport encryption -->
+ </wsp:PolicyAttachment>
+ </qualifier>
+ </intentMap>
+ </policySet>
+
+ <policySet name="BasicAuthMsgProtSecurity" provides="test:authentication test:confidentiality" appliesTo="binding.ws"
+ xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200712">
+ <policySetReference name="test:AuthenticationPolicies" />
+ <policySetReference name="test:ConfidentialityPolicies" />
+ </policySet>
+
+ <policySet name="AuthenticationPolicies" provides="test:authentication" appliesTo="binding.ws"
+ xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200712" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+ <wsp:PolicyAttachment>
+ <!-- policy expression and policy subject for "basic
authentication" -->
- </wsp:PolicyAttachment>
-</policySet>
-
-<policySet name="ConfidentialityPolicies"
- provides="test:confidentiality"
- appliesTo="binding.ws"
- xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
- <intentMap provides="test:confidentiality" default="transport">
- <qualifier name="transport">
- <wsp:PolicyAttachment>
- <!-- policy expression and policy subject for "transport"
+ </wsp:PolicyAttachment>
+ </policySet>
+
+ <policySet name="ConfidentialityPolicies" provides="test:confidentiality" appliesTo="binding.ws"
+ xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200712" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+ <intentMap provides="test:confidentiality" default="transport">
+ <qualifier name="transport">
+ <wsp:PolicyAttachment>
+ <!-- policy expression and policy subject for "transport"
alternative -->
- </wsp:PolicyAttachment>
- <wsp:PolicyAttachment>...</wsp:PolicyAttachment>
- </qualifier>
- <qualifier name="message">
- <wsp:PolicyAttachment>
- <!-- policy expression and policy subject for "message"
- alternative" -->...
- </wsp:PolicyAttachment>
- </qualifier>
- </intentMap>
-</policySet>
-
-<policySet name="SecureWSPolicy"
- provides="test:confidentiality"
- appliesTo="sca:binding.ws"
- xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:sp="http://schemas.xmlsoap.org/ws/2002/12/secext"
- xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
- <wsp:Policy>
- <wsp:ExactlyOne>
- <wsp:All>
- <sp:SecurityToken>
- <sp:TokenType>sp:X509v3</sp:TokenType>
- </sp:SecurityToken>
- <sp:UsernameToken />
- <sp:SignedParts />
- <sp:EncryptedParts>
- <sp:Body />
- </sp:EncryptedParts>
- <sp:TransportBinding>
- <sp:IncludeTimeStamp />
- </sp:TransportBinding>
- </wsp:All>
- </wsp:ExactlyOne>
- </wsp:Policy>
- </policySet>
-
-<!-- profile intent -->
- <intent name="reliableMessageProtection"
- constrains="sca:binding"
- requires="test:messageProtection">
- <description>
- Protect messages from unauthorized reading or modification
- </description>
- </intent>
-
- <intent name="messageProtection"
- constrains="sca:binding"
- requires="test:confidentiality test:integrity">
- <description>
- Protect messages from unauthorized reading or modification
- </description>
- </intent>
-
-<!-- simple intent -->
- <intent name="confidentiality"
- constrains="sca:binding">
- <description>
- Communitcation thro this binding must prevent
- unauthorized users from reading the messages.
- </description>
- </intent>
-
- <intent name="integrity"
- constrains="sca:binding">
- <description>
- Communitcation thro this binding must prevent
- unauthorized modification of the messages.
- </description>
- </intent>
-
- <intent name="authentication"
- constrains="sca:binding">
- <description>
- Communitcation thro this binding required
- Authentication.
- </description>
- </intent>
-
- <intent name="logging"
- constrains="sca:implementation">
- <description>
- All messages to and from this implementation must be logged
- </description>
- </intent>
-
- <intent name="tracing"
- constrains="sca:implementation.java">
- <description>
- Need to figure out some description for this
- </description>
- </intent>
-
+ </wsp:PolicyAttachment>
+ <wsp:PolicyAttachment>...</wsp:PolicyAttachment>
+ </qualifier>
+ <qualifier name="message">
+ <wsp:PolicyAttachment>
+ <!-- policy expression and policy subject for "message"
+ alternative" -->
+ ...
+ </wsp:PolicyAttachment>
+ </qualifier>
+ </intentMap>
+ </policySet>
+
+ <policySet name="SecureWSPolicy" provides="test:confidentiality" appliesTo="sca:binding.ws"
+ xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200712" xmlns:sp="http://schemas.xmlsoap.org/ws/2002/12/secext"
+ xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
+ <wsp:Policy>
+ <wsp:ExactlyOne>
+ <wsp:All>
+ <sp:SecurityToken>
+ <sp:TokenType>sp:X509v3</sp:TokenType>
+ </sp:SecurityToken>
+ <sp:UsernameToken />
+ <sp:SignedParts />
+ <sp:EncryptedParts>
+ <sp:Body />
+ </sp:EncryptedParts>
+ <sp:TransportBinding>
+ <sp:IncludeTimeStamp />
+ </sp:TransportBinding>
+ </wsp:All>
+ </wsp:ExactlyOne>
+ </wsp:Policy>
+ </policySet>
+
+ <!-- profile intent -->
+ <intent name="reliableMessageProtection" constrains="sca:binding" requires="test:messageProtection">
+ <description>
+ Protect messages from unauthorized reading or modification
+ </description>
+ </intent>
+
+ <intent name="messageProtection" constrains="sca:binding" requires="test:confidentiality test:integrity">
+ <description>
+ Protect messages from unauthorized reading or modification
+ </description>
+ </intent>
+
+ <!-- simple intent -->
+ <intent name="confidentiality" constrains="sca:binding">
+ <description>
+ Communitcation thro this binding must prevent
+ unauthorized users from reading the messages.
+ </description>
+ <qualifier name="transport" />
+ <qualifier name="message" default="true" />
+ </intent>
+
+ <intent name="integrity" constrains="sca:binding">
+ <description>
+ Communitcation thro this binding must prevent
+ unauthorized modification of the messages.
+ </description>
+ </intent>
+
+ <intent name="authentication" constrains="sca:binding">
+ <description>
+ Communitcation thro this binding required
+ Authentication.
+ </description>
+ </intent>
+
+ <intent name="logging" constrains="sca:implementation">
+ <description>
+ All messages to and from this implementation must be logged
+ </description>
+ </intent>
+
+ <intent name="tracing" constrains="sca:implementation.java">
+ <description>
+ Need to figure out some description for this
+ </description>
+ </intent>
+
</definitions>
\ No newline at end of file |