diff options
Diffstat (limited to 'java/sca/modules/definitions-xml')
18 files changed, 0 insertions, 1804 deletions
diff --git a/java/sca/modules/definitions-xml/LICENSE b/java/sca/modules/definitions-xml/LICENSE deleted file mode 100644 index 9100141e4e..0000000000 --- a/java/sca/modules/definitions-xml/LICENSE +++ /dev/null @@ -1,253 +0,0 @@ -
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed 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.
-
-=================================================================================================================
-
-This module also includes files under the following license:
-
-Copyright OASIS 2005, 2009. All Rights Reserved.
-All capitalized terms in the following text have the meanings assigned to them in the OASIS Intellectual
-Property Rights Policy (the "OASIS IPR Policy"). The full Policy may be found at the OASIS website.
-This document and translations of it may be copied and furnished to others, and derivative works that
-comment on or otherwise explain it or assist in its implementation may be prepared, copied, published,
-and distributed, in whole or in part, without restriction of any kind, provided that the above copyright
-notice and this section are included on all such copies and derivative works. However, this document
-itself may not be modified in any way, including by removing the copyright notice or references to OASIS,
-except as needed for the purpose of developing any document or deliverable produced by an OASIS
-Technical Committee (in which case the rules applicable to copyrights, as set forth in the OASIS IPR
-Policy, must be followed) or as required to translate it into languages other than English.
-The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors
-or assigns.
-This document and the information contained herein is provided on an "AS IS" basis and OASIS
-DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
-WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP
-RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
-PURPOSE.
-OASIS requests that any OASIS Party or any other party that believes it has patent claims that would
-necessarily be infringed by implementations of this OASIS Committee Specification or OASIS Standard,
-to notify OASIS TC Administrator and provide an indication of its willingness to grant patent licenses to
-such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that
-produced this specification.
-OASIS invites any party to contact the OASIS TC Administrator if it is aware of a claim of ownership of
-any patent claims that would necessarily be infringed by implementations of this specification by a patent
-holder that is not willing to provide a license to such patent claims in a manner consistent with the IPR
-Mode of the OASIS Technical Committee that produced this specification. OASIS may include such
-claims on its website, but disclaims any obligation to do so.
-OASIS takes no position regarding the validity or scope of any intellectual property or other rights that
-might be claimed to pertain to the implementation or use of the technology described in this document or
-the extent to which any license under such rights might or might not be available; neither does it represent
-that it has made any effort to identify any such rights. Information on OASIS' procedures with respect to
-rights in any document or deliverable produced by an OASIS Technical Committee can be found on the
-OASIS website. Copies of claims of rights made available for publication and any assurances of licenses
-to be made available, or the result of an attempt made to obtain a general license or permission for the use
-of such proprietary rights by implementers or users of this OASIS Committee Specification or OASIS
-Standard, can be obtained from the OASIS TC Administrator. OASIS makes no representation that any
-information or list of intellectual property rights will at any time be complete, or that any claims in such list
-are, in fact, Essential Claims.
-The names "OASIS", are trademarks of OASIS, the owner and developer of this specification, and should
-be used only to refer to the organization and its official outputs. OASIS welcomes reference to, and
-implementation and use of, specifications, while reserving the right to enforce its marks against misleading
-uses. Please see http://www.oasis-open.org/who/trademark.php for above guidance.
-
-
-
diff --git a/java/sca/modules/definitions-xml/META-INF/MANIFEST.MF b/java/sca/modules/definitions-xml/META-INF/MANIFEST.MF deleted file mode 100644 index b9e4e04b91..0000000000 --- a/java/sca/modules/definitions-xml/META-INF/MANIFEST.MF +++ /dev/null @@ -1,28 +0,0 @@ -Manifest-Version: 1.0
-Private-Package: org.apache.tuscany.sca.definitions.xml;version="2.0.0"
-Tool: Bnd-0.0.255
-Bundle-Name: Apache Tuscany SCA Definitions XML Model
-Created-By: 1.6.0_07 (Sun Microsystems Inc.)
-Bundle-Vendor: The Apache Software Foundation
-Bundle-Version: 2.0.0
-Bnd-LastModified: 1225397117406
-Bundle-ManifestVersion: 2
-Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
-Bundle-Description: Apache Tuscany SCA Definitions XML Model
-Import-Package: javax.xml.namespace,
- javax.xml.stream,
- org.apache.tuscany.sca.assembly;version="2.0.0",
- org.apache.tuscany.sca.common.java.io;version="2.0.0",
- org.apache.tuscany.sca.contribution.processor;version="2.0.0",
- org.apache.tuscany.sca.contribution.resolver;version="2.0.0",
- org.apache.tuscany.sca.core;version="2.0.0",
- org.apache.tuscany.sca.definitions;version="2.0.0",
- org.apache.tuscany.sca.definitions.util;version="2.0.0",
- org.apache.tuscany.sca.definitions.xml;version="2.0.0",
- org.apache.tuscany.sca.extensibility;version="2.0.0",
- org.apache.tuscany.sca.monitor;version="2.0.0",
- org.apache.tuscany.sca.policy;version="2.0.0"
-Bundle-SymbolicName: org.apache.tuscany.sca.definitions.xml
-Bundle-DocURL: http://www.apache.org/
-Export-Package: org.apache.tuscany.sca.definitions.xml;version="2.0.0"
-Bundle-RequiredExecutionEnvironment: J2SE-1.5,JavaSE-1.6 diff --git a/java/sca/modules/definitions-xml/NOTICE b/java/sca/modules/definitions-xml/NOTICE deleted file mode 100644 index bc1a8c6d74..0000000000 --- a/java/sca/modules/definitions-xml/NOTICE +++ /dev/null @@ -1,12 +0,0 @@ -${pom.name}
-Copyright (c) 2005 - 2009 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
-This product also includes software under the OASIS specification License
-with the following copyright:
-
-Copyright(C) OASIS(R) 2005,2009. All Rights Reserved.
-OASIS trademark, IPR and other policies apply.
-
diff --git a/java/sca/modules/definitions-xml/pom.xml b/java/sca/modules/definitions-xml/pom.xml deleted file mode 100644 index 8863ae2cb2..0000000000 --- a/java/sca/modules/definitions-xml/pom.xml +++ /dev/null @@ -1,60 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - * 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. ---> -<project> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-modules</artifactId> - <version>2.0-SNAPSHOT</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>tuscany-definitions-xml</artifactId> - <name>Apache Tuscany SCA Definitions XML Model</name> - - <dependencies> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-assembly</artifactId> - <version>2.0-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-policy-xml</artifactId> - <version>2.0-SNAPSHOT</version> - <scope>runtime</scope> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-contribution</artifactId> - <version>2.0-SNAPSHOT</version> - </dependency> - - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-assembly-xsd</artifactId> - <version>2.0-SNAPSHOT</version> - <scope>test</scope> - </dependency> - </dependencies> - -</project> diff --git a/java/sca/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/DefaultDefinitionsExtensionPoint.java b/java/sca/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/DefaultDefinitionsExtensionPoint.java deleted file mode 100644 index 01bf8ceb2c..0000000000 --- a/java/sca/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/DefaultDefinitionsExtensionPoint.java +++ /dev/null @@ -1,121 +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.definitions.xml; - -import java.io.FileNotFoundException; -import java.io.IOException; -import java.net.URI; -import java.net.URL; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.apache.tuscany.sca.contribution.processor.ContributionReadException; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.definitions.Definitions; -import org.apache.tuscany.sca.extensibility.ServiceDeclaration; -import org.apache.tuscany.sca.extensibility.ServiceDiscovery; - -/** - * Default implementation of an extension point for XML definitionss. - * - * @version $Rev$ $Date$ - */ -public class DefaultDefinitionsExtensionPoint implements DefinitionsExtensionPoint { - private static final Logger logger = Logger.getLogger(DefaultDefinitionsExtensionPoint.class.getName()); - private static final URI DEFINITIONS_URI = URI.create("META-INF/definitions.xml"); - private ExtensionPointRegistry registry; - private List<URL> documents = new ArrayList<URL>(); - private List<Definitions> definitions = new ArrayList<Definitions>(); - private boolean documentsLoaded; - private boolean loaded; - - public DefaultDefinitionsExtensionPoint(ExtensionPointRegistry registry) { - this.registry = registry; - } - - public void addDefinitionsDocument(URL url) { - documents.add(url); - } - - public void removeDefinitionsDocument(URL url) { - documents.remove(url); - } - - /** - * Load definitions declarations from META-INF/services/ - * org.apache.tuscany.sca.contribution.processor.Definitions files - */ - private synchronized void loadDefinitionsDocuments() { - if (documentsLoaded) - return; - - // Get the definitions declarations - Collection<ServiceDeclaration> definitionsDeclarations; - try { - definitionsDeclarations = ServiceDiscovery.getInstance().getServiceDeclarations(DEFINITIONS_FILE); - } catch (IOException e) { - throw new IllegalStateException(e); - } - - // Find each definitions - for (ServiceDeclaration definitionsDeclaration : definitionsDeclarations) { - URL url = definitionsDeclaration.getResource(definitionsDeclaration.getClassName()); - if (url == null) { - throw new IllegalArgumentException(new FileNotFoundException(definitionsDeclaration.getClassName())); - } - documents.add(url); - } - - documentsLoaded = true; - } - - public synchronized List<Definitions> getDefinitions() { - if (!loaded) { - loadDefinitionsDocuments(); - URLArtifactProcessorExtensionPoint processors = - registry.getExtensionPoint(URLArtifactProcessorExtensionPoint.class); - URLArtifactProcessor<Definitions> processor = processors.getProcessor(Definitions.class); - for (URL url : documents) { - Definitions def; - try { - def = processor.read(null, DEFINITIONS_URI, url); - definitions.add(def); - } catch (ContributionReadException e) { - logger.log(Level.SEVERE, e.getMessage(), e); - } - } - loaded = true; - } - return definitions; - } - - public void addDefinitions(Definitions def) { - this.definitions.add(def); - } - - public void removeDefinitions(Definitions def) { - this.definitions.remove(def); - } -} diff --git a/java/sca/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/DefinitionsDocumentProcessor.java b/java/sca/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/DefinitionsDocumentProcessor.java deleted file mode 100644 index 3691212960..0000000000 --- a/java/sca/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/DefinitionsDocumentProcessor.java +++ /dev/null @@ -1,171 +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.definitions.xml; - -import java.io.IOException; -import java.io.InputStream; -import java.net.URI; -import java.net.URL; -import java.security.AccessController; -import java.security.PrivilegedActionException; -import java.security.PrivilegedExceptionAction; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamConstants; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; - -import org.apache.tuscany.sca.common.java.io.IOHelper; -import org.apache.tuscany.sca.contribution.processor.ContributionReadException; -import org.apache.tuscany.sca.contribution.processor.ContributionResolveException; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.ValidatingXMLInputFactory; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.core.FactoryExtensionPoint; -import org.apache.tuscany.sca.definitions.Definitions; -import org.apache.tuscany.sca.definitions.DefinitionsFactory; -import org.apache.tuscany.sca.definitions.util.DefinitionsUtil; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * A SCA Definitions Document processor. - * - * @version $Rev$ $Date$ - */ -public class DefinitionsDocumentProcessor implements URLArtifactProcessor<Definitions> { - private StAXArtifactProcessor<Object> extensionProcessor; - private XMLInputFactory inputFactory; - private DefinitionsFactory definitionsFactory; - private Monitor monitor; - - - /** - * Constructs a new SCADefinitions processor. - * - * @param modelFactories - * @param staxProcessor - */ - public DefinitionsDocumentProcessor(FactoryExtensionPoint modelFactories, - StAXArtifactProcessor<Object> staxProcessor, - Monitor monitor) { - this.extensionProcessor = (StAXArtifactProcessor<Object>)staxProcessor; - this.inputFactory = modelFactories.getFactory(ValidatingXMLInputFactory.class); - this.definitionsFactory = modelFactories.getFactory(DefinitionsFactory.class); - this.monitor = monitor; - } - - /** - * Report a exception. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Exception ex) { - if (monitor != null) { - Problem problem = - monitor.createProblem(this.getClass().getName(), - "definitions-xml-validation-messages", - Severity.ERROR, - model, - message, - ex); - monitor.problem(problem); - } - } - - public Definitions read(URL contributionURL, final URI uri, final URL url) throws ContributionReadException { - InputStream urlStream = null; - monitor.pushContext("Definitions: " + url); - try { - // Allow privileged access to open URL stream. Add FilePermission to added to security - // policy file. - try { - urlStream = AccessController.doPrivileged(new PrivilegedExceptionAction<InputStream>() { - public InputStream run() throws IOException { - return IOHelper.openStream(url); - } - }); - } catch (PrivilegedActionException e) { - error("PrivilegedActionException", url, (IOException)e.getException()); - throw (IOException)e.getException(); - } - - //urlStream = createInputStream(url); - XMLStreamReader reader = inputFactory.createXMLStreamReader(url.toString(), urlStream); - - Definitions definitions = definitionsFactory.createDefinitions(); - int event = reader.getEventType(); - while (reader.hasNext()) { - event = reader.next(); - - // We only deal with the root element - if (event == XMLStreamConstants.START_ELEMENT) { - // QName name = reader.getName(); - Object model = extensionProcessor.read(reader); - if (model instanceof Definitions) { - DefinitionsUtil.aggregate((Definitions)model, definitions, monitor); - return definitions; - } else { - error("ContributionReadException", model, null); - } - } - } - - return definitions; - } catch (XMLStreamException e) { - ContributionReadException ce = new ContributionReadException(e); - error("ContributionReadException", inputFactory, ce); - throw ce; - } catch (IOException e) { - ContributionReadException ce = new ContributionReadException(e); - error("ContributionReadException", inputFactory, ce); - throw ce; - } finally { - - try { - if (urlStream != null) { - urlStream.close(); - urlStream = null; - } - } catch (IOException ioe) { - //ignore - } - - monitor.popContext(); - } - } - - public void resolve(Definitions scaDefinitions, ModelResolver resolver) throws ContributionResolveException { - extensionProcessor.resolve(scaDefinitions, resolver); - } - - public String getArtifactType() { - return "/META-INF/definitions.xml"; - } - - public Class<Definitions> getModelType() { - return Definitions.class; - } - -} diff --git a/java/sca/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/DefinitionsExtensionPoint.java b/java/sca/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/DefinitionsExtensionPoint.java deleted file mode 100644 index 3058b1f5b6..0000000000 --- a/java/sca/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/DefinitionsExtensionPoint.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.definitions.xml; - -import java.net.URL; -import java.util.List; - -import org.apache.tuscany.sca.definitions.Definitions; - -/** - * An extension point for built-in SCA intent/policySet definition files - * - * @version $Rev$ $Date$ - */ -public interface DefinitionsExtensionPoint { - String DEFINITIONS_FILE = "org.apache.tuscany.sca.definitions.xml.Definitions"; - - /** - * Add a definitions document - * - * @param url the URL of the definitions - */ - void addDefinitionsDocument(URL url); - - /** - * Remove a definitions document - * - * @param url the URL of the definitions - */ - void removeDefinitionsDocument(URL url); - - /** - * @param definitions - */ - void addDefinitions(Definitions definitions); - /** - * @param definitions - */ - void removeDefinitions(Definitions definitions); - - /** - * Get the list of definitions - * @return A list of definitions - */ - List<Definitions> getDefinitions(); - -} diff --git a/java/sca/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/DefinitionsProcessor.java b/java/sca/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/DefinitionsProcessor.java deleted file mode 100644 index 7b80a750d2..0000000000 --- a/java/sca/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/DefinitionsProcessor.java +++ /dev/null @@ -1,226 +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.definitions.xml; - -import static javax.xml.stream.XMLStreamConstants.END_ELEMENT; -import static javax.xml.stream.XMLStreamConstants.START_ELEMENT; - -import java.util.ArrayList; -import java.util.List; - -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.tuscany.sca.assembly.Binding; -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.definitions.Definitions; -import org.apache.tuscany.sca.definitions.DefinitionsFactory; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.policy.BindingType; -import org.apache.tuscany.sca.policy.ImplementationType; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.PolicySet; - -/** - * Processor for SCA Definitions - * - * @version $Rev$ $Date$ - */ -public class DefinitionsProcessor extends BaseStAXArtifactProcessor implements StAXArtifactProcessor<Definitions> { - - private StAXArtifactProcessor<Object> extensionProcessor; - private DefinitionsFactory definitionsFactory; - private Monitor monitor; - - public static final String SCA11_NS = "http://docs.oasis-open.org/ns/opencsa/sca/200903"; - public static final String BINDING = "binding"; - public static final String IMPLEMENTATION = "implementation"; - public static final String DEFINITIONS = "definitions"; - public static final QName DEFINITIONS_QNAME = new QName(SCA11_NS, DEFINITIONS); - public static final String TARGET_NAMESPACE = "targetNamespace"; - public static final String NAME = "name"; - - public DefinitionsProcessor(FactoryExtensionPoint factoryExtensionPoint, - StAXArtifactProcessor<Object> extensionProcessor, - Monitor monitor) { - this.extensionProcessor = extensionProcessor; - this.monitor = monitor; - this.definitionsFactory = factoryExtensionPoint.getFactory(DefinitionsFactory.class); - } - - public Definitions read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - QName name = null; - Definitions definitions = null; - String targetNamespace = null; - - while (reader.hasNext()) { - int event = reader.getEventType(); - switch (event) { - case START_ELEMENT: { - name = reader.getName(); - if (DEFINITIONS_QNAME.equals(name)) { - definitions = definitionsFactory.createDefinitions(); - targetNamespace = reader.getAttributeValue(null, TARGET_NAMESPACE); - definitions.setTargetNamespace(targetNamespace); - } else { - Object extension = extensionProcessor.read(reader); - if (extension != null) { - if (extension instanceof Intent) { - Intent intent = (Intent)extension; - intent.setName(new QName(targetNamespace, intent.getName().getLocalPart())); - definitions.getIntents().add(intent); - for (Intent i : intent.getQualifiedIntents()) { - i.setName(new QName(targetNamespace, i.getName().getLocalPart())); - } - } else if (extension instanceof PolicySet) { - PolicySet policySet = (PolicySet)extension; - policySet.setName(new QName(targetNamespace, policySet.getName().getLocalPart())); - definitions.getPolicySets().add(policySet); - } else if (extension instanceof Binding) { - Binding binding = (Binding)extension; - definitions.getBindings().add(binding); - } else if (extension instanceof BindingType) { - definitions.getBindingTypes().add((BindingType)extension); - } else if (extension instanceof ImplementationType) { - definitions.getImplementationTypes().add((ImplementationType)extension); - } - } - break; - } - } - - case XMLStreamConstants.CHARACTERS: - break; - - case END_ELEMENT: - name = reader.getName(); - if (DEFINITIONS_QNAME.equals(name)) { - return definitions; - } - break; - } - - //Read the next element - if (reader.hasNext()) { - reader.next(); - } - } - return definitions; - } - - public void write(Definitions definitions, XMLStreamWriter writer) throws ContributionWriteException, - XMLStreamException { - - writeStartDocument(writer, SCA11_NS, DEFINITIONS, new XAttr(TARGET_NAMESPACE, definitions.getTargetNamespace())); - - for (Intent policyIntent : definitions.getIntents()) { - extensionProcessor.write(policyIntent, writer); - } - - for (PolicySet policySet : definitions.getPolicySets()) { - extensionProcessor.write(policySet, writer); - } - - for (BindingType bindingType : definitions.getBindingTypes()) { - extensionProcessor.write(bindingType, writer); - } - - for (ImplementationType implType : definitions.getImplementationTypes()) { - extensionProcessor.write(implType, writer); - } - - writeEndDocument(writer); - } - - public void resolve(Definitions scaDefns, ModelResolver resolver) throws ContributionResolveException { - // start by adding all of the top level artifacts into the resolver as there - // are many cross artifact references in a definitions file and we don't want - // to be dependent on the order things appear - - List<Intent> intents = new ArrayList<Intent>(); - List<PolicySet> policySets = new ArrayList<PolicySet>(); - List<PolicySet> referredPolicySets = new ArrayList<PolicySet>(); - - for (Intent intent : scaDefns.getIntents()) { - intents.add(intent); - resolver.addModel(intent); - for (Intent i : intent.getQualifiedIntents()) { - intents.add(i); - resolver.addModel(i); - } - } - - for (PolicySet policySet : scaDefns.getPolicySets()) { - if (policySet.getReferencedPolicySets().isEmpty()) { - policySets.add(policySet); - } else { - referredPolicySets.add(policySet); - } - - resolver.addModel(policySet); - } - - for (BindingType bindingType : scaDefns.getBindingTypes()) { - resolver.addModel(bindingType); - } - - for (ImplementationType implType : scaDefns.getImplementationTypes()) { - resolver.addModel(implType); - } - - // now resolve everything to ensure that any references between - // artifacts are satisfied - - for (Intent policyIntent : intents) - extensionProcessor.resolve(policyIntent, resolver); - - for (PolicySet policySet : policySets) - extensionProcessor.resolve(policySet, resolver); - - for (PolicySet policySet : referredPolicySets) - extensionProcessor.resolve(policySet, resolver); - - for (BindingType bindingType : scaDefns.getBindingTypes()) { - extensionProcessor.resolve(bindingType, resolver); - } - - for (ImplementationType implementationType : scaDefns.getImplementationTypes()) { - extensionProcessor.resolve(implementationType, resolver); - } - } - - public QName getArtifactType() { - return DEFINITIONS_QNAME; - } - - public Class<Definitions> getModelType() { - return Definitions.class; - } - -} diff --git a/java/sca/modules/definitions-xml/src/main/resources/META-INF/sca-policy-1.1-intents-definitions-cd02.xml b/java/sca/modules/definitions-xml/src/main/resources/META-INF/sca-policy-1.1-intents-definitions-cd02.xml deleted file mode 100644 index c3b1115cbd..0000000000 --- a/java/sca/modules/definitions-xml/src/main/resources/META-INF/sca-policy-1.1-intents-definitions-cd02.xml +++ /dev/null @@ -1,245 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright(C) OASIS(R) 2005,2009. All Rights Reserved. - OASIS trademark, IPR and other policies apply. --> -<definitions xmlns:xml="http://www.w3.org/XML/1998/namespace" - xmlns:sca="http://docs.oasis-open.org/ns/opencsa/sca/200903" - xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - targetNamespace="http://docs.oasis-open.org/ns/opencsa/sca/200903"> - - <!-- Security related intents --> - <intent name="serverAuthentication" constrains="sca:binding" - intentType="interaction"> - <description> - Communication through the binding requires that the - server is authenticated by the client - </description> - <qualifier name="transport" default="true"/> - <qualifier name="message"/> - </intent> - - <intent name="clientAuthentication" constrains="sca:binding" - intentType="interaction"> - <description> - Communication through the binding requires that the - client is authenticated by the server - </description> - <qualifier name="transport" default="true"/> - <qualifier name="message"/> - </intent> - - <intent name="authentication" requires="clientAuthentication"> - <description> - A convenience intent to help migration - </description> - </intent> - - <intent name="mutualAuthentication" - requires="clientAuthentication serverAuthentication"> - <description> - Communication through the binding requires that the - client and server to authenticate each other - </description> - </intent> - - <intent name="confidentiality" constrains="sca:binding" - intentType="interaction"> - <description> - Communication through the binding prevents unauthorized - users from reading the messages - </description> - <qualifier name="transport" default="true"/> - <qualifier name="message"/> - </intent> - - <intent name="integrity" constrains="sca:binding" - intentType="interaction"> - <description> - Communication through the binding prevents tampering - with the messages sent between the client and the service. - </description> - <qualifier name="transport" default="true"/> - <qualifier name="message"/> - </intent> - - <intent name="authorization" constrains="sca:implementation" - intentType="implementation"> - <description> - Ensures clients are authorized to use services. - </description> - <qualifier name="fineGrain" default="true"/> - </intent> - - - <!-- Reliable messaging related intents --> - <intent name="atLeastOnce" constrains="sca:binding" - intentType="interaction"> - <description> - This intent is used to indicate that a message sent - by a client is always delivered to the component. - </description> - </intent> - - <intent name="atMostOnce" constrains="sca:binding" - intentType="interaction"> - <description> - This intent is used to indicate that a message that was - successfully sent by a client is not delivered more than - once to the component. - </description> - </intent> - - <intent name="exactlyOnce" requires="atLeastOnce atMostOnce" - constrains="sca:binding" intentType="interaction"> - <description> - This profile intent is used to indicate that a message sent - by a client is always delivered to the component. It also - indicates that duplicate messages are not delivered to the - component. - </description> - </intent> - - <intent name="ordered" constrains="sca:binding" - intentType="interaction"> - <description> - This intent is used to indicate that all the messages are - delivered to the component in the order they were sent by - the client. - </description> - </intent> - - <!-- Transaction related intents --> - <intent name="managedTransaction" excludes="sca:noManagedTransaction" - mutuallyExclusive="true" constrains="sca:implementation" - intentType="implementation"> - <description> - A managed transaction environment is necessary in order to - run the component. The specific type of managed transaction - needed is not constrained. - </description> - <qualifier name="global" default="true"> - <description> - For a component marked with managedTransaction.global - a global transaction needs to be present before dispatching - any method on the component - using any transaction - propagated from the client or else beginning and completing - a new transaction. - </description> - </qualifier> - <qualifier name="local"> - <description> - A component marked with managedTransaction.local needs to - run within a local transaction containment (LTC) that - is started and ended by the SCA runtime. - </description> - </qualifier> - </intent> - - <intent name="noManagedTransaction" excludes="sca:managedTransaction" - constrains="sca:implementation" intentType="implementation"> - <description> - A component marked with noManagedTransaction needs to run without - a managed transaction, under neither a global transaction nor - an LTC. A transaction propagated to the hosting SCA runtime - is not joined by the hosting runtime on behalf of a - component marked with noManagedtransaction. - </description> - </intent> - - <intent name="transactedOneWay" excludes="sca:immediateOneWay" - constrains="sca:binding" intentType="implementation"> - <description> - For a reference marked as transactedOneWay any OneWay invocation - messages are transacted as part of a client global - transaction. - For a service marked as transactedOneWay any OneWay invocation - message are received from the transport binding in a - transacted fashion, under the service’s global transaction. - </description> - </intent> - - <intent name="immediateOneWay" excludes="transactedOneWay" - constrains="sca:binding" intentType="implementation"> - <description> - For a reference indicates that any OneWay invocation messages - are sent immediately regardless of any client transaction. - For a service indicates that any OneWay invocation is - received immediately regardless of any target service - transaction. - </description> - </intent> - - <intent name="propagatesTransaction" excludes="suspendsTransaction" - constrains="sca:binding" intentType="interaction"> - <description> - A service marked with propagatesTransaction is dispatched - under any propagated (client) transaction and the service binding - needs to be capable of receiving a transaction context. - A reference marked with propagatesTransaction propagates any - transaction context under which the client runs when the - reference is used for a request-response interaction and the - binding of a reference marked with propagatesTransaction needs to - be capable of propagating a transaction context. - </description> - </intent> - - <intent name="suspendsTransaction" excludes="propagatesTransaction" - constrains="sca:binding" intentType="interaction"> - <description> - A service marked with suspendsTransaction is not dispatched - under any propagated (client) transaction. - A reference marked with suspendsTransaction does not propagate - any transaction context under which the client runs when the - reference is used. - </description> - </intent> - - <intent name="managedSharedTransaction" - requires="managedTransaction.global propagatesTransaction"> - <description> - Used to indicate that the component requires both the - managedTransaction.global and the propagatesTransactions - intents - </description> - </intent> - - <!-- Miscellaneous intents --> - <intent name="asyncInvocation" constrains="sca:binding" - intentType="interaction"> - <description> - Indicates that request/response operations for the - interface of this wire are "long running" and must be - treated as two separate message transmissions - </description> - </intent> - - <intent name="SOAP" constrains="sca:binding" intentType="interaction" mutuallyExclusive="true"> - <description> - Specifies that the SOAP messaging model is used for delivering - messages. - </description> - <!-- [rfeng] 1_1 and 1_2 are not valid NCNames --> - <qualifier name="V1_1" default="true"/> - <qualifier name="V1_2"/> - </intent> - - <intent name="JMS" constrains="sca:binding" intentType="interaction"> - <description> - Requires that the messages are delivered and received via the - JMS API. - </description> - </intent> - - <intent name="noListener" constrains="sca:binding" - intentType="interaction"> - <description> - This intent can only be used on a reference. Indicates that the - client is not able to handle new inbound connections. The binding - and callback binding are configured so that any - response or callback comes either through a back channel of the - connection from the client to the server or by having the client - poll the server for messages. - </description> - </intent> - -</definitions> diff --git a/java/sca/modules/definitions-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/java/sca/modules/definitions-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index 024953e255..0000000000 --- a/java/sca/modules/definitions-xml/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.definitions.xml.DefinitionsProcessor;qname=http://docs.oasis-open.org/ns/opencsa/sca/200903#definitions,model=org.apache.tuscany.sca.definitions.Definitions diff --git a/java/sca/modules/definitions-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor b/java/sca/modules/definitions-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor deleted file mode 100644 index c0350c8189..0000000000 --- a/java/sca/modules/definitions-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor +++ /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.definitions.xml.DefinitionsDocumentProcessor;type=/META-INF/definitions.xml,model=org.apache.tuscany.sca.definitions.Definitions diff --git a/java/sca/modules/definitions-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.xml.Definitions b/java/sca/modules/definitions-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.xml.Definitions deleted file mode 100644 index 895b5ebdd5..0000000000 --- a/java/sca/modules/definitions-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.xml.Definitions +++ /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.
-META-INF/sca-policy-1.1-intents-definitions-cd02.xml
\ No newline at end of file diff --git a/java/sca/modules/definitions-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.xml.DefinitionsExtensionPoint b/java/sca/modules/definitions-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.xml.DefinitionsExtensionPoint deleted file mode 100644 index 22c2a0549c..0000000000 --- a/java/sca/modules/definitions-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.xml.DefinitionsExtensionPoint +++ /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.definitions.xml.DefaultDefinitionsExtensionPoint
\ No newline at end of file diff --git a/java/sca/modules/definitions-xml/src/main/resources/definitions-xml-validation-messages.properties b/java/sca/modules/definitions-xml/src/main/resources/definitions-xml-validation-messages.properties deleted file mode 100644 index 857887ec3f..0000000000 --- a/java/sca/modules/definitions-xml/src/main/resources/definitions-xml-validation-messages.properties +++ /dev/null @@ -1,22 +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. -# -# -ContributionReadException = ContributionReadException occured due to : -PrivilegedActionException = Privileged Action Exception occured due to FilePermission in security policy file:
\ No newline at end of file diff --git a/java/sca/modules/definitions-xml/src/test/java/org/apache/tuscany/sca/definitions/xml/MockPolicy.java b/java/sca/modules/definitions-xml/src/test/java/org/apache/tuscany/sca/definitions/xml/MockPolicy.java deleted file mode 100644 index 58e6e534b9..0000000000 --- a/java/sca/modules/definitions-xml/src/test/java/org/apache/tuscany/sca/definitions/xml/MockPolicy.java +++ /dev/null @@ -1,39 +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.definitions.xml; - -import javax.xml.namespace.QName; - -/** - * Mocked Policy - */ -public class MockPolicy { - public QName getName() { - 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/java/sca/modules/definitions-xml/src/test/java/org/apache/tuscany/sca/definitions/xml/ReadDocumentTestCase.java b/java/sca/modules/definitions-xml/src/test/java/org/apache/tuscany/sca/definitions/xml/ReadDocumentTestCase.java deleted file mode 100644 index 7b9400b300..0000000000 --- a/java/sca/modules/definitions-xml/src/test/java/org/apache/tuscany/sca/definitions/xml/ReadDocumentTestCase.java +++ /dev/null @@ -1,227 +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.definitions.xml; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; - -import java.net.URI; -import java.net.URL; -import java.util.Hashtable; -import java.util.Map; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.contribution.resolver.DefaultModelResolver; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; -import org.apache.tuscany.sca.definitions.Definitions; -import org.apache.tuscany.sca.policy.BindingType; -import org.apache.tuscany.sca.policy.ImplementationType; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.IntentMap; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.Qualifier; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Test reading SCA XML assembly documents. - * - * @version $Rev$ $Date$ - */ -public class ReadDocumentTestCase { - - private static URLArtifactProcessor<Definitions> policyDefinitionsProcessor = null; - private static Definitions definitions; - private static Map<QName, Intent> intentTable = new Hashtable<QName, Intent>(); - private static Map<QName, PolicySet> policySetTable = new Hashtable<QName, PolicySet>(); - private static Map<QName, BindingType> bindingTypesTable = new Hashtable<QName, BindingType>(); - private static Map<QName, ImplementationType> implTypesTable = new Hashtable<QName, ImplementationType>(); - public static final String scaNamespace = "http://docs.oasis-open.org/ns/opencsa/sca/200903"; - public static final String namespace = "http://test"; - - private static final QName secureWsPolicy = new QName(namespace, "SecureWSPolicy"); - private static final QName confidentiality = new QName(namespace, "confidentiality"); - private static final QName integrity = new QName(namespace, "integrity"); - private static final QName messageProtection = new QName(namespace, "messageProtection"); - private static final QName confidentiality_transport = new QName(namespace, "confidentiality.transport"); - private static final QName confidentiality_message = new QName(namespace, "confidentiality.message"); - private static final QName secureReliablePolicy = new QName(namespace, "SecureReliablePolicy"); - private static final QName secureMessagingPolicies = new QName(namespace, "SecureMessagingPolicies"); - private static final QName securityPolicy = new QName(namespace, "SecurityPolicy"); - private static final QName basicAuthMsgProtSecurity = new QName(namespace, "BasicAuthMsgProtSecurity"); - private static final QName wsBinding = new QName(scaNamespace, "binding.ws"); - private static final QName javaImpl = new QName(scaNamespace, "implementation.java"); - - @BeforeClass - public static void setUp() throws Exception { - DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - - // Create StAX processors - StAXArtifactProcessorExtensionPoint staxProcessors = - extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - staxProcessors.addArtifactProcessor(new TestPolicyProcessor()); - - URLArtifactProcessorExtensionPoint documentProcessors = - extensionPoints.getExtensionPoint(URLArtifactProcessorExtensionPoint.class); - policyDefinitionsProcessor = documentProcessors.getProcessor(Definitions.class); - - URL url = ReadDocumentTestCase.class.getResource("test_definitions.xml"); - URI uri = URI.create("test_definitions.xml"); - definitions = policyDefinitionsProcessor.read(null, uri, url); - - for (Intent intent : definitions.getIntents()) { - intentTable.put(intent.getName(), intent); - for (Intent i : intent.getQualifiedIntents()) { - intentTable.put(i.getName(), i); - } - } - - for (PolicySet policySet : definitions.getPolicySets()) { - policySetTable.put(policySet.getName(), policySet); - } - - for (BindingType bindingType : definitions.getBindingTypes()) { - bindingTypesTable.put(bindingType.getType(), bindingType); - } - - for (ImplementationType implType : definitions.getImplementationTypes()) { - implTypesTable.put(implType.getType(), implType); - } - } - - @Test - public void testReadSCADefinitions() throws Exception { - assertNotNull(definitions); - - assertNotNull(intentTable.get(confidentiality)); - assertNotNull(intentTable.get(messageProtection)); - assertNotNull(intentTable.get(confidentiality_transport)); - assertTrue(intentTable.get(confidentiality).getDescription().length() > 0); - - assertNotNull(policySetTable.get(secureReliablePolicy)); - assertTrue(policySetTable.get(secureReliablePolicy).getProvidedIntents().size() == 2); - assertTrue(policySetTable.get(secureReliablePolicy).getPolicies().size() == 2); - - assertNotNull(policySetTable.get(secureMessagingPolicies)); - assertEquals(2, policySetTable.get(secureMessagingPolicies).getIntentMaps().get(0).getQualifiers().size()); - //assertTrue(policySetTable.get(secureWsPolicy).getPolicies().get(0) instanceof org.apache.neethi.Policy); - - assertEquals(bindingTypesTable.size(), 1); - assertNotNull(bindingTypesTable.get(wsBinding)); - assertEquals(implTypesTable.size(), 1); - assertNotNull(implTypesTable.get(javaImpl)); - } - - 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; - } - - 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 testResolveSCADefinitions() throws Exception { - Intent i1 = intentTable.get(messageProtection); - assertTrue(!i1.getRequiredIntents().isEmpty()); - assertNull(i1.getRequiredIntents().get(0).getDescription()); - - QName confidentiality_transport = new QName(namespace, "confidentiality.transport"); - Intent i2 = intentTable.get(confidentiality_transport); - assertNotNull(i2.getQualifiableIntent()); - - PolicySet secureReliablePolicySet = policySetTable.get(secureReliablePolicy); - PolicySet secureMessagingPolicySet = policySetTable.get(secureMessagingPolicies); - PolicySet securityPolicySet = policySetTable.get(securityPolicy); - - assertEquals(secureReliablePolicySet.getProvidedIntents().get(1).getName(), integrity); - assertNull(secureReliablePolicySet.getProvidedIntents().get(1).getDescription()); - assertTrue(secureMessagingPolicySet.isUnresolved()); - assertEquals(3, 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.getIntentMaps().isEmpty()); - - BindingType wsBindingType = bindingTypesTable.get(wsBinding); - assertNull(wsBindingType.getAlwaysProvidedIntents().get(0).getDescription()); - assertNull(wsBindingType.getMayProvidedIntents().get(0).getDescription()); - - ImplementationType javaImplType = implTypesTable.get(javaImpl); - assertNull(javaImplType.getAlwaysProvidedIntents().get(0).getDescription()); - assertNull(javaImplType.getMayProvidedIntents().get(0).getDescription()); - - ModelResolver resolver = new DefaultModelResolver(); - policyDefinitionsProcessor.resolve(definitions, resolver); - //builder.build(scaDefinitions); - - //testing if policy intents have been linked have property been linked up - assertNotNull(i1.getRequiredIntents().get(0).getDescription()); - // assertNotNull(i2.getQualifiableIntent().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()); - 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()); - 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.getIntentMaps().get(0).getQualifiers().isEmpty()); - assertTrue(isRealizedBy(basicAuthMsgProtSecurityPolicySet, intentTable.get(confidentiality_transport))); - - assertNotNull(wsBindingType.getAlwaysProvidedIntents().get(0).getDescription()); - assertNotNull(wsBindingType.getMayProvidedIntents().get(0).getDescription()); - - assertNotNull(javaImplType.getAlwaysProvidedIntents().get(0).getDescription()); - assertNotNull(javaImplType.getMayProvidedIntents().get(0).getDescription()); - } -} diff --git a/java/sca/modules/definitions-xml/src/test/java/org/apache/tuscany/sca/definitions/xml/TestPolicyProcessor.java b/java/sca/modules/definitions-xml/src/test/java/org/apache/tuscany/sca/definitions/xml/TestPolicyProcessor.java deleted file mode 100644 index 89ec2d0ee9..0000000000 --- a/java/sca/modules/definitions-xml/src/test/java/org/apache/tuscany/sca/definitions/xml/TestPolicyProcessor.java +++ /dev/null @@ -1,57 +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.definitions.xml; - -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; - -/** - * A PolicyProcessor used for testing. - * - * @version $Rev$ $Date$ - */ -public class TestPolicyProcessor implements StAXArtifactProcessor<MockPolicy> { - public QName getArtifactType() { - return new QName("http://schemas.xmlsoap.org/ws/2004/09/policy", "PolicyAttachment"); - } - - public MockPolicy read(XMLStreamReader arg0) throws ContributionReadException, XMLStreamException { - return new MockPolicy(); - } - - public void write(MockPolicy arg0, XMLStreamWriter arg1) throws ContributionWriteException, XMLStreamException { - } - - public Class<MockPolicy> getModelType() { - return MockPolicy.class; - } - - public void resolve(MockPolicy arg0, ModelResolver arg1) throws ContributionResolveException { - - } - -} diff --git a/java/sca/modules/definitions-xml/src/test/resources/org/apache/tuscany/sca/definitions/xml/test_definitions.xml b/java/sca/modules/definitions-xml/src/test/resources/org/apache/tuscany/sca/definitions/xml/test_definitions.xml deleted file mode 100644 index dac8e384e3..0000000000 --- a/java/sca/modules/definitions-xml/src/test/resources/org/apache/tuscany/sca/definitions/xml/test_definitions.xml +++ /dev/null @@ -1,207 +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"> - - <!-- 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" - attachTo = "//sca:component[@name='CalculatorServiceComponent']/sca:reference[@name='addService']" - xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200903" 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/200903" 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/200903" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"> - <intentMap provides="test:confidentiality"> - <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://docs.oasis-open.org/ns/opencsa/sca/200903" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"> - <intentMap provides="test:confidentiality"> - <qualifier name="message"> - <wsp:PolicyAttachment> - <!-- policy attachment for body encryption --> - </wsp:PolicyAttachment> - <wsp:PolicyAttachment> - <!-- policy attachment for whole message 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/200903"> - <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/200903" 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://docs.oasis-open.org/ns/opencsa/sca/200903" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"> - <intentMap provides="test:confidentiality"> - <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://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> - <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 |