summaryrefslogtreecommitdiffstats
path: root/sandbox/ant/sca/branches/2.0-M2/modules/policy-xml-ws/src
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--sandbox/ant/sca/branches/2.0-M2/modules/policy-xml-ws/src/main/java/org/apache/tuscany/sca/policy/xml/ws/WSPolicyProcessor.java160
-rw-r--r--sandbox/ant/sca/branches/2.0-M2/modules/policy-xml-ws/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor19
-rw-r--r--sandbox/ant/sca/branches/2.0-M2/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/ws/TestModelResolver.java63
-rw-r--r--sandbox/ant/sca/branches/2.0-M2/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/ws/TestPolicyProcessor.java73
-rw-r--r--sandbox/ant/sca/branches/2.0-M2/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/ws/WSPolicyProcessorTestCase.java111
-rw-r--r--sandbox/ant/sca/branches/2.0-M2/modules/policy-xml-ws/src/test/resources/org/apache/tuscany/sca/policy/xml/test_definitions.xml106
6 files changed, 0 insertions, 532 deletions
diff --git a/sandbox/ant/sca/branches/2.0-M2/modules/policy-xml-ws/src/main/java/org/apache/tuscany/sca/policy/xml/ws/WSPolicyProcessor.java b/sandbox/ant/sca/branches/2.0-M2/modules/policy-xml-ws/src/main/java/org/apache/tuscany/sca/policy/xml/ws/WSPolicyProcessor.java
deleted file mode 100644
index 1b0813a0d8..0000000000
--- a/sandbox/ant/sca/branches/2.0-M2/modules/policy-xml-ws/src/main/java/org/apache/tuscany/sca/policy/xml/ws/WSPolicyProcessor.java
+++ /dev/null
@@ -1,160 +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.xml.ws;
-
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.apache.axiom.om.OMAbstractFactory;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
-import org.apache.neethi.PolicyEngine;
-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.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-import org.apache.tuscany.sca.core.FactoryExtensionPoint;
-import org.apache.tuscany.sca.monitor.Monitor;
-
-
-/**
- * Processor for handling xml models of PolicySet definitions
- *
- * @version $Rev$ $Date$
- */
-public class WSPolicyProcessor extends BaseStAXArtifactProcessor implements StAXArtifactProcessor<org.apache.neethi.Policy> {
- 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);
-
- public WSPolicyProcessor() {
- System.out.println(">>>Initializing WSPolicyProcessor");
- }
-
- public WSPolicyProcessor(FactoryExtensionPoint modelFactories, Monitor monitor) {
- System.out.println(">>>Initializing WSPolicyProcessor");
- }
-
- public QName getArtifactType() {
- return WS_POLICY_QNAME;
- }
-
- public Class<org.apache.neethi.Policy> getModelType() {
- return org.apache.neethi.Policy.class;
- }
-
- public org.apache.neethi.Policy read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
- org.apache.neethi.Policy wsPolicy = null;
-
- int event = reader.getEventType();
- if (event == START_ELEMENT) {
- QName name = reader.getName();
- if (WS_POLICY_QNAME.equals(name)) {
- OMElement policyElement = loadElement(reader);
- wsPolicy = PolicyEngine.getPolicy(policyElement);
- }
- }
- return wsPolicy;
- }
-
- public void write(org.apache.neethi.Policy wsPolicy, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException {
-
- // Write an <sca:policySet>
- writer.writeStartElement(WS_POLICY_NS, WS_POLICY);
-
- //FIXME write proper ws-policy stuff here
-
- writer.writeEndElement();
- }
-
- public void resolve(org.apache.neethi.Policy wsPolicy, ModelResolver resolver) throws ContributionResolveException {
-
- }
-
-
- private OMElement loadElement(XMLStreamReader reader) throws XMLStreamException {
- OMFactory fac = OMAbstractFactory.getOMFactory();
- OMElement head = fac.createOMElement(reader.getName());
- OMElement current = head;
-
- while (true) {
- switch (reader.next()) {
- case XMLStreamConstants.START_ELEMENT:
- QName name = reader.getName();
- OMElement child = fac.createOMElement(name, current);
-
- int count = reader.getNamespaceCount();
- for (int i = 0; i < count; i++) {
- String prefix = reader.getNamespacePrefix(i);
- String ns = reader.getNamespaceURI(i);
- child.declareNamespace(ns, prefix);
- }
-
- if(!"".equals(name.getNamespaceURI())) {
- child.declareNamespace(name.getNamespaceURI(), name.getPrefix());
- }
-
- // add the attributes for this element
- count = reader.getAttributeCount();
- for (int i = 0; i < count; i++) {
- OMNamespace omNs = null;
- String ns = reader.getAttributeNamespace(i);
- String prefix = reader.getAttributePrefix(i);
- String qname = reader.getAttributeLocalName(i);
- String value = reader.getAttributeValue(i);
-
- if ( ns != null ) {
- omNs = fac.createOMNamespace(ns, prefix);
- }
-
- child.addAttribute(qname, value, omNs);
- if (ns != null) {
- child.declareNamespace(ns, prefix);
- }
- }
- current = child;
- break;
- case XMLStreamConstants.CDATA:
- fac.createOMText(current, reader.getText());
- break;
- case XMLStreamConstants.CHARACTERS:
- fac.createOMText(current, reader.getText());
- break;
- case XMLStreamConstants.END_ELEMENT:
- if ( current == head ) {
- return head;
- } else {
- current = (OMElement)current.getParent();
- }
- }
- }
- }
-
-
- }
diff --git a/sandbox/ant/sca/branches/2.0-M2/modules/policy-xml-ws/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/sandbox/ant/sca/branches/2.0-M2/modules/policy-xml-ws/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
deleted file mode 100644
index 2e11e31fec..0000000000
--- a/sandbox/ant/sca/branches/2.0-M2/modules/policy-xml-ws/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor
+++ /dev/null
@@ -1,19 +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.xml.ws.WSPolicyProcessor;qname=http://schemas.xmlsoap.org/ws/2004/09/policy#Policy,model=org.apache.neethi.Policy
diff --git a/sandbox/ant/sca/branches/2.0-M2/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/ws/TestModelResolver.java b/sandbox/ant/sca/branches/2.0-M2/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/ws/TestModelResolver.java
deleted file mode 100644
index 57e3fe8d3a..0000000000
--- a/sandbox/ant/sca/branches/2.0-M2/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/ws/TestModelResolver.java
+++ /dev/null
@@ -1,63 +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.xml.ws;
-
-import java.util.HashMap;
-import java.util.Map;
-
-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) {
- 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) {
- map.put(resolved, resolved);
- }
-
- public Object removeModel(Object resolved) {
- return map.remove(resolved);
- }
-
-}
diff --git a/sandbox/ant/sca/branches/2.0-M2/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/ws/TestPolicyProcessor.java b/sandbox/ant/sca/branches/2.0-M2/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/ws/TestPolicyProcessor.java
deleted file mode 100644
index 12a90f5c37..0000000000
--- a/sandbox/ant/sca/branches/2.0-M2/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/ws/TestPolicyProcessor.java
+++ /dev/null
@@ -1,73 +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.xml.ws;
-
-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.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.StAXArtifactProcessor;
-import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
-
-/**
- *
- * @version $Rev$ $Date$
- */
-public class TestPolicyProcessor implements StAXArtifactProcessor<Object> {
-
- public QName getArtifactType() {
- return new QName("http://schemas.xmlsoap.org/ws/2004/09/policy", "PolicyAttachment");
- }
-
- public Object read(XMLStreamReader arg0) throws ContributionReadException, XMLStreamException {
- return new MockPolicyImplOne();
- }
-
- public void write(Object arg0, XMLStreamWriter arg1) throws ContributionWriteException,
- XMLStreamException {
- }
-
- public Class<Object> getModelType() {
- // TODO Auto-generated method stub
- return Object.class;
- }
-
- public void resolve(Object arg0, ModelResolver arg1) throws ContributionResolveException {
-
- }
-
-
- public class MockPolicyImplOne {
- public QName getSchemaName() {
- return new QName("http://schemas.xmlsoap.org/ws/2004/09/policy", "PolicyAttachment");
- }
-
- public boolean isUnresolved() {
- return false;
- }
-
- public void setUnresolved(boolean unresolved) {
- }
-
- }
-}
diff --git a/sandbox/ant/sca/branches/2.0-M2/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/ws/WSPolicyProcessorTestCase.java b/sandbox/ant/sca/branches/2.0-M2/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/ws/WSPolicyProcessorTestCase.java
deleted file mode 100644
index 907a50984c..0000000000
--- a/sandbox/ant/sca/branches/2.0-M2/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/ws/WSPolicyProcessorTestCase.java
+++ /dev/null
@@ -1,111 +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.xml.ws;
-
-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.XMLStreamReader;
-
-import org.apache.tuscany.sca.policy.xml.ws.WSPolicyProcessor;
-
-import junit.framework.TestCase;
-
-/**
- * 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/200903\""
- + " targetNamespace=\"http://test\""
- + " xmlns:test=\"http://test\""
- + " xmlns:sca=\"http://docs.oasis-open.org/ns/opencsa/sca/200903\">"
- + " "
- + " <policySet name=\"SecureWSPolicy\""
- + " provides=\"test:confidentiality\""
- + " appliesTo=\"sca:binding.ws\""
- + " xmlns=\"http://docs.oasis-open.org/ns/opencsa/sca/200903\""
- + " 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));
- WSPolicyProcessor processor = new WSPolicyProcessor();
- Object artifact = null;
-
- QName name = null;
- reader.next();
- while ( true ) {
- int event = reader.getEventType();
- switch (event) {
- case START_ELEMENT: {
- name = reader.getName();
-
- if(WSPolicyProcessor.WS_POLICY_QNAME.equals(name)) {
- artifact = processor.read(reader);
- }
-
- break;
- }
- }
-
- if ( reader.hasNext() ) {
- reader.next();
- } else {
- break;
- }
- }
- assertNotNull(artifact);
- }
-}
diff --git a/sandbox/ant/sca/branches/2.0-M2/modules/policy-xml-ws/src/test/resources/org/apache/tuscany/sca/policy/xml/test_definitions.xml b/sandbox/ant/sca/branches/2.0-M2/modules/policy-xml-ws/src/test/resources/org/apache/tuscany/sca/policy/xml/test_definitions.xml
deleted file mode 100644
index a2e321068f..0000000000
--- a/sandbox/ant/sca/branches/2.0-M2/modules/policy-xml-ws/src/test/resources/org/apache/tuscany/sca/policy/xml/test_definitions.xml
+++ /dev/null
@@ -1,106 +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/200903"
- targetNamespace="http://test"
- xmlns:test="http://test"
- xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200903">
-
-<policySet name="SecureWSPolicy"
- provides="test:confidentiality"
- appliesTo="sca:binding.ws"
- xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903"
- 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>
-
-</definitions> \ No newline at end of file