summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src')
-rw-r--r--sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/main/java/org/apache/tuscany/sca/policy/wspolicy/WSPolicy.java74
-rw-r--r--sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/main/java/org/apache/tuscany/sca/policy/wspolicy/WSPolicyBuilder.java173
-rw-r--r--sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/main/java/org/apache/tuscany/sca/policy/wspolicy/xml/WSPolicyProcessor.java180
-rw-r--r--sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/main/resources/META-INF/services/org.apache.tuscany.sca.assembly.builder.PolicyBuilder17
-rw-r--r--sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor20
-rw-r--r--sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/test/java/org/apache/tuscany/sca/policy/wspolicy/TestModelResolver.java64
-rw-r--r--sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/test/java/org/apache/tuscany/sca/policy/wspolicy/TuscanyWSPolicyAssertion.java40
-rw-r--r--sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/test/java/org/apache/tuscany/sca/policy/wspolicy/TuscanyWSPolicyAssertionProcessor.java60
-rw-r--r--sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/test/java/org/apache/tuscany/sca/policy/wspolicy/WSPolicyTestCase.java199
-rw-r--r--sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/test/java/org/apache/tuscany/sca/policy/wspolicy/xml/WSPolicyProcessorTestCase.java140
-rw-r--r--sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/test/resources/org/apache/tuscany/sca/policy/wspolicy/test_definitions.xml192
11 files changed, 0 insertions, 1159 deletions
diff --git a/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/main/java/org/apache/tuscany/sca/policy/wspolicy/WSPolicy.java b/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/main/java/org/apache/tuscany/sca/policy/wspolicy/WSPolicy.java
deleted file mode 100644
index 6938b72d82..0000000000
--- a/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/main/java/org/apache/tuscany/sca/policy/wspolicy/WSPolicy.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.policy.wspolicy;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.namespace.QName;
-
-import org.apache.neethi.Policy;
-import org.apache.tuscany.sca.policy.PolicyContainer;
-
-/**
- * The WS-Policy model. Currently defers to the Neethi policy model under the covers.
- */
-public class WSPolicy implements PolicyContainer {
-
- public final static String WS_POLICY_NS = "http://schemas.xmlsoap.org/ws/2004/09/policy";
- public final static String WS_POLICY = "Policy";
-
- public final static QName WS_POLICY_QNAME = new QName(WS_POLICY_NS, WS_POLICY);
-
- private Policy neethiPolicy;
- private List<Object> policyAssertions = new ArrayList<Object>();
-
- public QName getSchemaName() {
- return WS_POLICY_QNAME;
- }
-
- public Policy getNeethiPolicy() {
- return neethiPolicy;
- }
-
- public void setNeethiPolicy(Policy neethiPolicy) {
- this.neethiPolicy = neethiPolicy;
- }
-
- public List<Object> getPolicyAssertions(){
- return policyAssertions;
- }
-
- @Override
- public String toString() {
- return "WSPolicy [" + neethiPolicy + "]";
- }
-
- public <T> Object getChildPolicy(Class<T> policyType) {
- for (Object alternative : policyAssertions){
- for (Object policy : (List<Object>)alternative){
- if (policyType.isInstance(policy)){
- return policy;
- }
- }
- }
- return null;
- }
-}
diff --git a/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/main/java/org/apache/tuscany/sca/policy/wspolicy/WSPolicyBuilder.java b/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/main/java/org/apache/tuscany/sca/policy/wspolicy/WSPolicyBuilder.java
deleted file mode 100644
index d6bd710ed9..0000000000
--- a/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/main/java/org/apache/tuscany/sca/policy/wspolicy/WSPolicyBuilder.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.policy.wspolicy;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.namespace.QName;
-
-import org.apache.neethi.Policy;
-import org.apache.tuscany.sca.assembly.Component;
-import org.apache.tuscany.sca.assembly.Endpoint;
-import org.apache.tuscany.sca.assembly.EndpointReference;
-import org.apache.tuscany.sca.assembly.Implementation;
-import org.apache.tuscany.sca.assembly.builder.BuilderContext;
-import org.apache.tuscany.sca.assembly.builder.PolicyBuilder;
-import org.apache.tuscany.sca.policy.PolicyExpression;
-import org.apache.tuscany.sca.policy.PolicySet;
-import org.apache.tuscany.sca.policy.PolicySubject;
-
-/**
- * Processing for WS-Policy objects
- * TBD
- */
-public class WSPolicyBuilder implements PolicyBuilder<Policy> {
-
- public boolean build(Endpoint endpoint, BuilderContext context) {
- List<WSPolicy> polices = getPolicies(endpoint);
- System.out.println(endpoint + ": " + polices);
- return true;
- }
-
- public boolean build(EndpointReference endpointReference, BuilderContext context) {
- List<WSPolicy> polices = getPolicies(endpointReference);
- System.out.println(endpointReference + ": " + polices);
- return true;
- }
-
- public boolean build(Component component, Implementation implementation, BuilderContext context) {
- List<WSPolicy> polices = getPolicies(implementation);
- System.out.println(implementation + ": " + polices);
- return true;
- }
-
- public QName getPolicyType() {
- return WSPolicy.WS_POLICY_QNAME;
- }
-
- public List<QName> getSupportedBindings() {
- return null;
- }
-
- public boolean build(EndpointReference endpointReference, Endpoint endpoint, BuilderContext context) {
-
- // TODO - neethi doesn't include code for matching ws policy
- // cxf have the class Intersector http://svn.apache.org/repos/asf/cxf/trunk/api/src/main/java/org/apache/cxf/ws/policy/Intersector.java
- // but this does its work based on the cxf AssertionBuilders and extension
- // registry mechanism. I don't want to commit to that at the moment.
- //
- // At the moment we do the simplest top level QName based matching
-
- // match EPR policy sets
- for (PolicySet eprPolicySet : endpointReference.getPolicySets()){
- for (PolicySet epPolicySet : endpoint.getPolicySets()){
- if (!build(eprPolicySet, epPolicySet)){
- return false;
- }
- }
- }
-
- // match EP policy sets
- for (PolicySet epPolicySet : endpoint.getPolicySets()){
- for (PolicySet eprPolicySet : endpointReference.getPolicySets()){
- if (!build(epPolicySet, eprPolicySet)){
- return false;
- }
- }
- }
-
- return true;
- }
-
- private boolean build(PolicySet policySet1, PolicySet policySet2){
-
- // extract the ws policy expressions out of the policy sets
- List<PolicyExpression> policyExpressions1 = new ArrayList<PolicyExpression>();
- List<PolicyExpression> policyExpressions2 = new ArrayList<PolicyExpression>();
-
- for (PolicyExpression policyExpression : policySet1.getPolicies()){
- if (policyExpression.getName().equals(getPolicyType())){
- policyExpressions1.add(policyExpression);
- }
- }
-
- for (PolicyExpression policyExpression : policySet2.getPolicies()){
- if (policyExpression.getName().equals(getPolicyType())){
- policyExpressions2.add(policyExpression);
- }
- }
-
- // Match the first set of expressions against the second set
- for (PolicyExpression policyExpression1 : policyExpressions1){
- for (PolicyExpression policyExpression2 : policyExpressions2){
- if (!build((WSPolicy)policyExpression1.getPolicy(),
- (WSPolicy)policyExpression2.getPolicy())){
- return false;
- }
- }
- }
-
- // TODO set the reference policy set to include an interception of the
- // ws policy sets discovered here
- // Do we really need to do this?
- // The method is called in both directions (reference to service and
- // service to reference) so would need to fix that
-
- return true;
- }
-
- private List<WSPolicy> getPolicies(PolicySubject subject) {
- List<WSPolicy> polices = new ArrayList<WSPolicy>();
- for (PolicySet ps : subject.getPolicySets()) {
- for (PolicyExpression exp : ps.getPolicies()) {
- if (getPolicyType().equals(exp.getName())) {
- polices.add((WSPolicy)exp.getPolicy());
- }
- }
- }
- return polices;
- }
-
- private boolean build(WSPolicy wsPolicy1, WSPolicy wsPolicy2){
- // TODO - cheating here as we assume a flat policy structure
- // we've read all the policy assertions into Tuscany models
- // in the reader (without taking account of alternatives)
- // so we just compare those here
- // The real implementation of this comparison depends on how
- // we decide to represent the ws policy hierarchy
-
- for (Object policyAssertion1 : wsPolicy1.getPolicyAssertions()){
- boolean matched = false;
- for (Object policyAssertion2 : wsPolicy2.getPolicyAssertions()){
- if (policyAssertion1.getClass() == policyAssertion2.getClass()){
- matched = true;
- break;
- }
- }
- if(!matched){
- return false;
- }
- }
-
- return true;
- }
-
-}
diff --git a/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/main/java/org/apache/tuscany/sca/policy/wspolicy/xml/WSPolicyProcessor.java b/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/main/java/org/apache/tuscany/sca/policy/wspolicy/xml/WSPolicyProcessor.java
deleted file mode 100644
index 48bf932c27..0000000000
--- a/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/main/java/org/apache/tuscany/sca/policy/wspolicy/xml/WSPolicyProcessor.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.policy.wspolicy.xml;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
-import org.apache.neethi.Constants;
-import org.apache.neethi.PolicyComponent;
-import org.apache.neethi.PolicyEngine;
-import org.apache.neethi.PolicyOperator;
-import org.apache.tuscany.sca.common.xml.stax.reader.XMLDocumentStreamReader;
-import org.apache.tuscany.sca.contribution.processor.BaseStAXArtifactProcessor;
-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.processor.StAXAttributeProcessor;
-import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.core.FactoryExtensionPoint;
-import org.apache.tuscany.sca.policy.wspolicy.WSPolicy;
-
-/**
- * Processor for handling xml models of PolicySet definitions
- *
- * @version $Rev$ $Date$
- */
-public class WSPolicyProcessor extends BaseStAXArtifactProcessor implements
- StAXArtifactProcessor<WSPolicy> {
-
- protected ExtensionPointRegistry registry;
- protected StAXArtifactProcessor<Object> extensionProcessor;
- protected StAXAttributeProcessor<Object> extensionAttributeProcessor;
- protected XMLInputFactory inputFactory;
- protected XMLOutputFactory outputFactory;
-
- public WSPolicyProcessor(ExtensionPointRegistry registry,
- StAXArtifactProcessor extensionProcessor,
- StAXAttributeProcessor extensionAttributeProcessor) {
- this.registry = registry;
- this.extensionProcessor = extensionProcessor;
- this.extensionAttributeProcessor = extensionAttributeProcessor;
-
- FactoryExtensionPoint modelFactories = registry.getExtensionPoint(FactoryExtensionPoint.class);
- this.inputFactory = modelFactories.getFactory(XMLInputFactory.class);
- this.outputFactory = modelFactories.getFactory(XMLOutputFactory.class);
- }
-
- public QName getArtifactType() {
- return WSPolicy.WS_POLICY_QNAME;
- }
-
- public Class<WSPolicy> getModelType() {
- return WSPolicy.class;
- }
-
- public WSPolicy read(XMLStreamReader reader, ProcessorContext context)
- throws ContributionReadException, XMLStreamException {
- org.apache.neethi.Policy neethiPolicy = null;
- XMLDocumentStreamReader doc = new XMLDocumentStreamReader(reader);
- StAXOMBuilder builder = new StAXOMBuilder(doc);
- OMElement element = builder.getDocumentElement();
- neethiPolicy = PolicyEngine.getPolicy(element);
-
- WSPolicy wsPolicy = new WSPolicy();
- wsPolicy.setNeethiPolicy(neethiPolicy);
-
- // normalize the neethi tree so we can easily identify
- // the policy alternatives
- neethiPolicy.normalize(true);
-
- // top-level children of ExactlyOne are policy alternatives so
- // for each child create a policy model list and pull the
- // policies out
- for(Object alternative : neethiPolicy.getPolicyComponents()) {
- List<Object> assertions = new ArrayList<Object>();
- readPolicyAssertions(assertions, (PolicyComponent)alternative, context);
- wsPolicy.getPolicyAssertions().add(assertions);
- }
-
-
- return wsPolicy;
- }
-
- private void readPolicyAssertions(List<Object> policyAssertions, PolicyComponent policyComponent, ProcessorContext context){
-
- // recurse into the policy alternatives
- // TODO - lots of todos here as this just walks down the neethi hierarchy
- // looking for assertions to drive Tuscany processors without
- // regard to the policy alternatives. Undecided about whether to
- // commit to prepresenting this hierarchy in Tuscany or whether
- // to rely on neethi
- // Should this be in the builder? Not really as this drives the
- // Tuscany specific readers
- if (policyComponent.getType() != Constants.TYPE_ASSERTION){
- PolicyOperator policyOperator = (PolicyOperator)policyComponent;
- for(Object childComponent : policyOperator.getPolicyComponents()){
- // TODO - create assertion hierarchy in wsPolicy model
- // how we do this depends on if we continue to use neethi
- readPolicyAssertions(policyAssertions, (PolicyComponent)childComponent, context);
- }
- } else {
- try {
- // TODO - not sure we should keep the neethi model but hack for the
- // time being to get Tuscany processors to process the OMElements
- // within the neethi model
- ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
- XMLStreamWriter writer = outputFactory.createXMLStreamWriter(outputStream);
-
- policyComponent.serialize(writer);
-
- ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
- XMLStreamReader reader = inputFactory.createXMLStreamReader(inputStream);
-
- Object neethiAssertion = policyComponent;
- Object tuscanyAssertion = extensionProcessor.read(reader, context);
-
- if (tuscanyAssertion != null) {
- policyAssertions.add(tuscanyAssertion);
- } else {
- // add neethi assertion
- policyAssertions.add(neethiAssertion);
- }
- } catch (Exception ex) {
- // TODO - report the error properly
- ex.printStackTrace();
- }
- }
- }
-
- public void write(WSPolicy wsPolicy, XMLStreamWriter writer, ProcessorContext context)
- throws ContributionWriteException, XMLStreamException {
-
- // Write an <sca:policySet>
- writer.writeStartElement(WSPolicy.WS_POLICY_NS, WSPolicy.WS_POLICY);
-
- if (wsPolicy != null) {
- wsPolicy.getNeethiPolicy().serialize(writer);
- }
-
- writer.writeEndElement();
- }
-
- public void resolve(WSPolicy wsPolicy, ModelResolver resolver, ProcessorContext context)
- throws ContributionResolveException {
-
- // resolve policy assertions
- }
-
-}
diff --git a/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/main/resources/META-INF/services/org.apache.tuscany.sca.assembly.builder.PolicyBuilder b/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/main/resources/META-INF/services/org.apache.tuscany.sca.assembly.builder.PolicyBuilder
deleted file mode 100644
index e161411be3..0000000000
--- a/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/main/resources/META-INF/services/org.apache.tuscany.sca.assembly.builder.PolicyBuilder
+++ /dev/null
@@ -1,17 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-org.apache.tuscany.sca.policy.wspolicy.WSPolicyBuilder;qname=http://schemas.xmlsoap.org/ws/2004/09/policy#Policy
diff --git a/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
deleted file mode 100644
index 745ad35871..0000000000
--- a/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
+++ /dev/null
@@ -1,20 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-# Implementation class for the artifact processor extension
-org.apache.tuscany.sca.policy.wspolicy.xml.WSPolicyProcessor;qname=http://schemas.xmlsoap.org/ws/2004/09/policy#Policy,model=org.apache.neethi.Policy
-
diff --git a/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/test/java/org/apache/tuscany/sca/policy/wspolicy/TestModelResolver.java b/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/test/java/org/apache/tuscany/sca/policy/wspolicy/TestModelResolver.java
deleted file mode 100644
index 593f56e7f9..0000000000
--- a/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/test/java/org/apache/tuscany/sca/policy/wspolicy/TestModelResolver.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.policy.wspolicy;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
-import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-
-
-/**
- * A default implementation of an artifact resolver, based on a map.
- *
- * @version $Rev$ $Date$
- */
-public class TestModelResolver implements ModelResolver {
- private static final long serialVersionUID = -7826976465762296634L;
-
- private Map<Object, Object> map = new HashMap<Object, Object>();
-
- public TestModelResolver() {
- }
-
- public <T> T resolveModel(Class<T> modelClass, T unresolved, ProcessorContext context) {
- Object resolved = map.get(unresolved);
- if (resolved != null) {
-
- // Return the resolved object
- return modelClass.cast(resolved);
-
- } else {
-
- // Return the unresolved object
- return unresolved;
- }
- }
-
- public void addModel(Object resolved, ProcessorContext context) {
- map.put(resolved, resolved);
- }
-
- public Object removeModel(Object resolved, ProcessorContext context) {
- return map.remove(resolved);
- }
-
-}
diff --git a/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/test/java/org/apache/tuscany/sca/policy/wspolicy/TuscanyWSPolicyAssertion.java b/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/test/java/org/apache/tuscany/sca/policy/wspolicy/TuscanyWSPolicyAssertion.java
deleted file mode 100644
index 5b4172563a..0000000000
--- a/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/test/java/org/apache/tuscany/sca/policy/wspolicy/TuscanyWSPolicyAssertion.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.policy.wspolicy;
-
-import javax.xml.namespace.QName;
-import org.apache.tuscany.sca.assembly.Base;
-
-/**
- * The WS-Policy model. Defers to the Neethi policy model under the covers.
- */
-public class TuscanyWSPolicyAssertion {
-
- static final String SCA11_TUSCANY_NS = Base.SCA11_TUSCANY_NS;
- static final QName TUSCANY_WS_POLICY_ASSERTION_QNAME = new QName(SCA11_TUSCANY_NS, "tuscanyWSPolicyAssertion");
-
- private String anAttribute;
-
- public QName getSchemaName() {
- return TUSCANY_WS_POLICY_ASSERTION_QNAME;
- }
-
-
-}
diff --git a/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/test/java/org/apache/tuscany/sca/policy/wspolicy/TuscanyWSPolicyAssertionProcessor.java b/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/test/java/org/apache/tuscany/sca/policy/wspolicy/TuscanyWSPolicyAssertionProcessor.java
deleted file mode 100644
index 065feb012c..0000000000
--- a/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/test/java/org/apache/tuscany/sca/policy/wspolicy/TuscanyWSPolicyAssertionProcessor.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.policy.wspolicy;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-import org.apache.tuscany.sca.assembly.Base;
-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.ModelResolver;
-
-/**
- *
- * @version $Rev$ $Date$
- */
-public class TuscanyWSPolicyAssertionProcessor implements StAXArtifactProcessor<TuscanyWSPolicyAssertion> {
-
- public QName getArtifactType() {
- return new QName(Base.SCA11_TUSCANY_NS, "tuscanyWSPolicyAssertion");
- }
-
- public TuscanyWSPolicyAssertion read(XMLStreamReader arg0, ProcessorContext context) throws ContributionReadException, XMLStreamException {
- return new TuscanyWSPolicyAssertion();
- }
-
- public void write(TuscanyWSPolicyAssertion arg0, XMLStreamWriter arg1, ProcessorContext context) throws ContributionWriteException,
- XMLStreamException {
- }
-
- public Class<TuscanyWSPolicyAssertion> getModelType() {
- // TODO Auto-generated method stub
- return TuscanyWSPolicyAssertion.class;
- }
-
- public void resolve(TuscanyWSPolicyAssertion arg0, ModelResolver arg1, ProcessorContext context) throws ContributionResolveException {
-
- }
-
-}
diff --git a/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/test/java/org/apache/tuscany/sca/policy/wspolicy/WSPolicyTestCase.java b/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/test/java/org/apache/tuscany/sca/policy/wspolicy/WSPolicyTestCase.java
deleted file mode 100644
index b4c72b5235..0000000000
--- a/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/test/java/org/apache/tuscany/sca/policy/wspolicy/WSPolicyTestCase.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.policy.wspolicy;
-
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-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.assembly.builder.BuilderContext;
-import org.apache.tuscany.sca.assembly.builder.BuilderExtensionPoint;
-import org.apache.tuscany.sca.assembly.builder.PolicyBuilder;
-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.monitor.Monitor;
-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;
-
-/**
- * Test reading SCA XML assembly documents.
- *
- * @version $Rev$ $Date$
- */
-public class WSPolicyTestCase extends TestCase {
-
- private static final String WS_POLICY1 =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
- + "<definitions xmlns=\"http://docs.oasis-open.org/ns/opencsa/sca/200912\""
- + " targetNamespace=\"http://test\""
- + " xmlns:test=\"http://test\""
- + " xmlns:sca=\"http://docs.oasis-open.org/ns/opencsa/sca/200912\">"
- + " "
- + " <policySet name=\"SecureWSPolicy\""
- + " provides=\"test:confidentiality\""
- + " appliesTo=\"sca:binding.ws\""
- + " xmlns=\"http://docs.oasis-open.org/ns/opencsa/sca/200912\""
- + " xmlns:sp=\"http://schemas.xmlsoap.org/ws/2002/12/secext\""
- + " xmlns:tuscany=\"http://tuscany.apache.org/xmlns/sca/1.1\""
- + " xmlns:wsp=\"http://schemas.xmlsoap.org/ws/2004/09/policy\">"
- + " <wsp:Policy>"
- + " <wsp:ExactlyOne>"
- + " <wsp:All>"
- + " <tuscany:tuscanyWSPolicyAssertion anAttribute=\"fred\"/>"
- + " <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>"
- + " </definitions>";
-
- private static final String WS_POLICY2 =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
- + "<definitions xmlns=\"http://docs.oasis-open.org/ns/opencsa/sca/200912\""
- + " targetNamespace=\"http://test\""
- + " xmlns:test=\"http://test\""
- + " xmlns:sca=\"http://docs.oasis-open.org/ns/opencsa/sca/200912\">"
- + " "
- + " <policySet name=\"SecureWSPolicy\""
- + " provides=\"test:confidentiality\""
- + " appliesTo=\"sca:binding.ws\""
- + " xmlns=\"http://docs.oasis-open.org/ns/opencsa/sca/200912\""
- + " xmlns:sp=\"http://schemas.xmlsoap.org/ws/2002/12/secext\""
- + " xmlns:tuscany=\"http://tuscany.apache.org/xmlns/sca/1.1\""
- + " xmlns:wsp=\"http://schemas.xmlsoap.org/ws/2004/09/policy\">"
- + " <wsp:Policy>"
- + " <wsp:ExactlyOne>"
- + " <wsp:All>"
- + " <tuscany:tuscanyWSPolicyAssertion anAttribute=\"jim\"/>"
- + " <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>"
- + " </definitions>";
-
- private XMLInputFactory inputFactory;
-
- @Override
- public void setUp() throws Exception {
- inputFactory = XMLInputFactory.newInstance();
- }
-
- public void testReadWsPolicy() throws Exception {
- // 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<Object> extensibleStAXProcessor = new ExtensibleStAXArtifactProcessor(artifactExtensionPoint, inputFactory, outputFactory);
- artifactExtensionPoint.addArtifactProcessor(new TuscanyWSPolicyAssertionProcessor());
-
- StAXAttributeProcessorExtensionPoint attributeExtensionPoint = registry.getExtensionPoint(StAXAttributeProcessorExtensionPoint.class);
- StAXAttributeProcessor<Object> extensibleStAXAttributeProcessor = new ExtensibleStAXAttributeProcessor(attributeExtensionPoint, inputFactory, outputFactory);
-
- BuilderExtensionPoint builderExtensionPoint = registry.getExtensionPoint(BuilderExtensionPoint.class);
-
- StAXArtifactProcessor processor = artifactExtensionPoint.getProcessor(Definitions.class);
-
- Object artifact = null;
-
- // 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 Definitions);
- Definitions definitions1 = (Definitions) artifact;
-
- // Read the second definitions string
-
- reader = inputFactory.createXMLStreamReader(new StringReader(WS_POLICY2));
-
- artifact = processor.read(reader, new ProcessorContext());
- assertNotNull(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();
-
- // add the ws polices we've just read to the epr/ep
- epr.getPolicySets().add(definitions1.getPolicySets().get(0));
- ep.getPolicySets().add(definitions1.getPolicySets().get(0));
-
- BuilderContext builderContext = new BuilderContext((Monitor)null);
-
- for (PolicyBuilder policyBuilder : builderExtensionPoint.getPolicyBuilders()) {
- System.out.println("PolicyBuilder: " + policyBuilder.toString());
- assertTrue(policyBuilder.build(epr, ep, builderContext));
- }
-
- }
-}
diff --git a/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/test/java/org/apache/tuscany/sca/policy/wspolicy/xml/WSPolicyProcessorTestCase.java b/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/test/java/org/apache/tuscany/sca/policy/wspolicy/xml/WSPolicyProcessorTestCase.java
deleted file mode 100644
index 1c9c9b706a..0000000000
--- a/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/test/java/org/apache/tuscany/sca/policy/wspolicy/xml/WSPolicyProcessorTestCase.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.policy.wspolicy.xml;
-
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-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.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.policy.wspolicy.TuscanyWSPolicyAssertionProcessor;
-import org.apache.tuscany.sca.policy.wspolicy.WSPolicy;
-import org.apache.tuscany.sca.policy.wspolicy.xml.WSPolicyProcessor;
-import org.junit.Assert;
-
-/**
- * Test reading SCA XML assembly documents.
- *
- * @version $Rev$ $Date$
- */
-public class WSPolicyProcessorTestCase extends TestCase {
-
- private static final String VALID_WS_POLICY =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<definitions xmlns=\"http://docs.oasis-open.org/ns/opencsa/sca/200912\""
- + " targetNamespace=\"http://test\""
- + " xmlns:test=\"http://test\""
- + " xmlns:sca=\"http://docs.oasis-open.org/ns/opencsa/sca/200912\">"
- + " "
- + " <policySet name=\"SecureWSPolicy\""
- + " provides=\"test:confidentiality\""
- + " appliesTo=\"sca:binding.ws\""
- + " xmlns=\"http://docs.oasis-open.org/ns/opencsa/sca/200912\""
- + " 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>"
- + " </definitions>";
-
- private XMLInputFactory inputFactory;
-
- @Override
- public void setUp() throws Exception {
- inputFactory = XMLInputFactory.newInstance();
-
- }
-
- public void testReadWsPolicy() throws Exception {
- XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(VALID_WS_POLICY));
-
- 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<Object> extensibleStAXProcessor = new ExtensibleStAXArtifactProcessor(artifactExtensionPoint, inputFactory, outputFactory);
- StAXAttributeProcessorExtensionPoint attributeExtensionPoint = registry.getExtensionPoint(StAXAttributeProcessorExtensionPoint.class);
- StAXAttributeProcessor<Object> extensibleStAXAttributeProcessor = new ExtensibleStAXAttributeProcessor(attributeExtensionPoint, inputFactory, outputFactory);
-
- WSPolicyProcessor processor = new WSPolicyProcessor(new DefaultExtensionPointRegistry(),
- extensibleStAXProcessor,
- extensibleStAXAttributeProcessor);
-
- 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;
- }
- }
- assertNotNull(artifact);
- Assert.assertTrue(artifact instanceof WSPolicy);
- WSPolicy policy = (WSPolicy) artifact;
- Assert.assertTrue(policy.getNeethiPolicy().getAlternatives().hasNext());
- }
-}
diff --git a/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/test/resources/org/apache/tuscany/sca/policy/wspolicy/test_definitions.xml b/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/test/resources/org/apache/tuscany/sca/policy/wspolicy/test_definitions.xml
deleted file mode 100644
index 600ac8e267..0000000000
--- a/sca-java-2.x/branches/2.0-Beta2/modules/policy-wspolicy/src/test/resources/org/apache/tuscany/sca/policy/wspolicy/test_definitions.xml
+++ /dev/null
@@ -1,192 +0,0 @@
-<?xml version="1.0" encoding="ASCII"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
--->
-<definitions xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- targetNamespace="http://test"
- xmlns:test="http://test"
- xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200912">
-
-<policySet name="SecureWSPolicy"
- provides="test:confidentiality"
- appliesTo="sca:binding.ws"
- xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- 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>
-
-<policySet name="WSPolicy1"
- provides="test:confidentiality"
- appliesTo="sca:binding.ws"
- xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- 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>
-
- <policySet name="WSPolicy2"
- provides="test:confidentiality"
- appliesTo="sca:binding.ws"
- xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- 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:SignedParts />
- <sp:EncryptedParts>
- <sp:Body />
- </sp:EncryptedParts>
- <sp:TransportBinding>
- <sp:IncludeTimeStamp />
- </sp:TransportBinding>
- </wsp:All>
- </wsp:ExactlyOne>
- </wsp:Policy>
- </policySet>
-
- <policySet name="WSPolicy3"
- provides="test:confidentiality"
- appliesTo="sca:binding.ws"
- xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
- 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:SignedParts />
- <sp:EncryptedParts>
- <sp:Body />
- </sp:EncryptedParts>
- <sp:TransportBinding>
- <sp:IncludeTimeStamp />
- </sp:TransportBinding>
- </wsp:All>
- <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>
-
-</definitions> \ No newline at end of file