diff options
Diffstat (limited to 'java/sca/modules/policy')
30 files changed, 0 insertions, 2397 deletions
diff --git a/java/sca/modules/policy/LICENSE b/java/sca/modules/policy/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/modules/policy/LICENSE +++ /dev/null @@ -1,205 +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. - - - diff --git a/java/sca/modules/policy/META-INF/MANIFEST.MF b/java/sca/modules/policy/META-INF/MANIFEST.MF deleted file mode 100644 index 1c3482cf56..0000000000 --- a/java/sca/modules/policy/META-INF/MANIFEST.MF +++ /dev/null @@ -1,32 +0,0 @@ -Manifest-Version: 1.0
-Export-Package: org.apache.tuscany.sca.policy.util;uses:="javax.xml.pa
- rsers,javax.xml.transform.dom,org.apache.tuscany.sca.policy,org.apach
- e.tuscany.sca.extensibility,org.w3c.dom,javax.xml.namespace,javax.xml
- .xpath,javax.xml.transform,javax.xml.transform.stream";version="2.0.0",
- org.apache.tuscany.sca.policy.impl;uses:="javax.xml.xpath,org.apache.
- tuscany.sca.policy,javax.xml.namespace";version="2.0.0",org.apache.tusc
- any.sca.policy;uses:="javax.xml.xpath,org.apache.tuscany.sca.policy.i
- mpl,javax.xml.namespace";version="2.0.0"
-Tool: Bnd-0.0.255
-Bundle-Name: Apache Tuscany SCA Policy Model
-Created-By: 1.6.0_07 (Sun Microsystems Inc.)
-Bundle-Vendor: The Apache Software Foundation
-Bundle-Version: 2.0.0
-Bnd-LastModified: 1225397083703
-Bundle-ManifestVersion: 2
-Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
-Bundle-Description: Apache Tuscany SCA Policy Model
-Import-Package: javax.xml.namespace,
- javax.xml.parsers,
- javax.xml.transform,
- javax.xml.transform.dom,
- javax.xml.transform.stream,
- javax.xml.xpath,
- org.apache.tuscany.sca.extensibility;version="2.0.0",
- org.apache.tuscany.sca.policy;version="2.0.0",
- org.apache.tuscany.sca.policy.impl;version="2.0.0",
- org.apache.tuscany.sca.policy.util;version="2.0.0",
- org.w3c.dom
-Bundle-SymbolicName: org.apache.tuscany.sca.policy
-Bundle-DocURL: http://www.apache.org/
-Bundle-RequiredExecutionEnvironment: J2SE-1.5,JavaSE-1.6 diff --git a/java/sca/modules/policy/NOTICE b/java/sca/modules/policy/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/modules/policy/NOTICE +++ /dev/null @@ -1,6 +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/). - diff --git a/java/sca/modules/policy/pom.xml b/java/sca/modules/policy/pom.xml deleted file mode 100644 index 1c4bd18537..0000000000 --- a/java/sca/modules/policy/pom.xml +++ /dev/null @@ -1,39 +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-policy</artifactId> - <name>Apache Tuscany SCA Policy Model</name> - - <dependencies> - <dependency> - <groupId>org.apache.tuscany.sca</groupId> - <artifactId>tuscany-extensibility</artifactId> - <version>2.0-SNAPSHOT</version> - </dependency> - </dependencies> - -</project> diff --git a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/BindingType.java b/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/BindingType.java deleted file mode 100644 index f43c428563..0000000000 --- a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/BindingType.java +++ /dev/null @@ -1,27 +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; - - -/** - * Definition of binding type which extends from sca:binding - */ -public interface BindingType extends ExtensionType { -} diff --git a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/DefaultPolicyFactory.java b/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/DefaultPolicyFactory.java deleted file mode 100644 index 2da41675a1..0000000000 --- a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/DefaultPolicyFactory.java +++ /dev/null @@ -1,30 +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; - -import org.apache.tuscany.sca.policy.impl.PolicyFactoryImpl; - -/** - * A factory for the policy model. - * - * @version $Rev$ $Date$ - */ -public class DefaultPolicyFactory extends PolicyFactoryImpl implements PolicyFactory { - -} diff --git a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/ExtensionType.java b/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/ExtensionType.java deleted file mode 100644 index e7a93c8907..0000000000 --- a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/ExtensionType.java +++ /dev/null @@ -1,81 +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; - -import java.util.List; - -import javax.xml.namespace.QName; - -/** - * Definition of extension type: binding or implementation - */ -public interface ExtensionType { - QName BINDING_BASE = new QName("http://docs.oasis-open.org/ns/opencsa/sca/200903", "binding"); - QName IMPLEMENTATION_BASE = new QName("http://docs.oasis-open.org/ns/opencsa/sca/200903", "implementation"); - - /** - * The name of the extension type (binding or implementation). The extension type name - * attribute MUST be the QName of an XSD global element definition used for - * binding/implementation elements of that type - * - * @return The QName of this type - */ - QName getType(); - - /** - * Set the QName for this type - * @param type The QName of this type - */ - void setType(QName type); - - QName getBaseType(); - - /** - * A set of intents. The intents in the alwaysProvides set are always - * provided by this extension type, whether the intents are attached - * to the using component or not. - * - * @return A list of intents that are always provided by this type - */ - List<Intent> getAlwaysProvidedIntents(); - - /** - * a set of intents. The intents in the mayProvide set are provided by this - * extension type if the intent in question is attached to the using - * component. - * - * @return A list of intents that may be provided by this type - */ - List<Intent> getMayProvidedIntents(); - /** - * Returns true if the model element is unresolved. - * - * @return true if the model element is unresolved. - */ - boolean isUnresolved(); - - /** - * Sets whether the model element is unresolved. - * - * @param unresolved whether the model element is unresolved - */ - void setUnresolved(boolean unresolved); - -} diff --git a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/ImplementationType.java b/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/ImplementationType.java deleted file mode 100644 index d142015f57..0000000000 --- a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/ImplementationType.java +++ /dev/null @@ -1,27 +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; - - -/** - * Definition of an implementation type which extends from sca:implementation - */ -public interface ImplementationType extends ExtensionType { -} diff --git a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/Intent.java b/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/Intent.java deleted file mode 100644 index b79ccdab78..0000000000 --- a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/Intent.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; - -import java.util.List; - -import javax.xml.namespace.QName; - -/** - * Represents a policy intent. See the Policy Framework specification for a - * description of this element. - * - * @version $Rev$ $Date$ - */ -public interface Intent { - enum Type { - interaction, implementation - }; - - /** - * Returns the intent name. - * - * @return the intent name - */ - QName getName(); - - /** - * Sets the intent name - * - * @param name the intent name - */ - void setName(QName name); - - /** - * Returns the list of SCA constructs that this intent is meant to - * configure. - * - * @return the list of SCA constructs that this intent is meant to configure - */ - List<ExtensionType> getConstrainedTypes(); - - /** - * Return a list of required intents - * @return The list of required intents - */ - List<Intent> getRequiredIntents(); - - /** - * Returns the list of intents which are mutually exclusive with this intent. - * - * @return the list of mutually exclusive intents. - */ - List<Intent> getExcludedIntents(); - - /** - * Returns the list of qualified intents. - * - * @return the list of qualified intents. - */ - List<Intent> getQualifiedIntents(); - - /** - * Get the default qualified intent - * - * @return - */ - Intent getDefaultQualifiedIntent(); - - /** - * Set the default qualified intent - * - * @param qualifiedIntent - */ - void setDefaultQualifiedIntent(Intent qualifiedIntent); - - /** - * Get the intent type: Interaction or Implementation - * @return - */ - Type getType(); - - /** - * Set the intent type - * @param type: Interaction or Implementation - */ - void setType(Type type); - - /** - * If this attribute is present and has a value of true it indicates that - * the qualified intents defined for this intent are mutually exclusive - * - * @return - */ - boolean isMutuallyExclusive(); - - /** - * Set the value of mutuallyExclusive - * @param mutuallyExclusive - */ - void setMutuallyExclusive(boolean mutuallyExclusive); - - /** - * Returns the intent description. - * - * @return the intent description - */ - String getDescription(); - - /** - * Sets the intent description. - * - * @param description the intent description - */ - void setDescription(String description); - - /** - * Returns true if the model element is unresolved. - * - * @return true if the model element is unresolved. - */ - - /** - * Get the parent intent for a qualified intent. If an intent is not qualified, - * return null. - * @return The parent intent or null if this intent is not qualified - */ - Intent getQualifiableIntent(); - - /** - * Set the parent intent for a qualified intent - * @param intent - */ - void setQualifiableIntent(Intent intent); - - boolean isUnresolved(); - - /** - * Sets whether the model element is unresolved. - * - * @param unresolved whether the model element is unresolved - */ - void setUnresolved(boolean unresolved); - -} diff --git a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/IntentMap.java b/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/IntentMap.java deleted file mode 100644 index efed4bfdb1..0000000000 --- a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/IntentMap.java +++ /dev/null @@ -1,51 +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; - -import java.util.List; - -import org.apache.tuscany.sca.policy.Intent; - - -/** - * Map policies to the qualified intents - */ -public interface IntentMap { - /** - * Returns the intent realized by this intent map. - * - * @return the intent realized by this intent map - */ - Intent getProvidedIntent(); - - /** - * Sets the intent realized by this intent map. - * - * @param providedIntent the intent realized by this intent map - */ - void setProvidedIntent(Intent providedIntent); - - /** - * Get a list of qualifiers - * - * @return A list of qualifiers - */ - List<Qualifier> getQualifiers(); -} diff --git a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicyAttachment.java b/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicyAttachment.java deleted file mode 100644 index ee4f5b5236..0000000000 --- a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicyAttachment.java +++ /dev/null @@ -1,31 +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; - -import java.util.List; - -/** - * Attach a policySet to a collection of policy subjects - */ -public interface PolicyAttachment { - PolicySet getPolicySet(); - void setPolicySet(PolicySet policySet); - List<PolicySubject> getPolicySubjects(); -} diff --git a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicyExpression.java b/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicyExpression.java deleted file mode 100644 index a29f214f98..0000000000 --- a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicyExpression.java +++ /dev/null @@ -1,65 +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; - -import javax.xml.namespace.QName; - -/** - * Interface that will abstract various types of policy specifications - * and attachments for example WS-Policy - * - * @version $Rev$ $Date$ - */ -public interface PolicyExpression { - /** - * Get the QName of the policy expression - * @return the QName of the policy expression - */ - QName getName(); - - /** - * Set the QName of the policy expression - * @param name - */ - void setName(QName name); - - /** - * Get the policy definition in the type of the specific domain - * @return - */ - <T> T getPolicy(); - - /** - * Set the policy definition - * @param expression - */ - <T> void setPolicy(T policy); - - /** - * - * @param unresolved - */ - void setUnresolved(boolean unresolved); - - /** - * - * @return - */ - boolean isUnresolved(); -} diff --git a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicyFactory.java b/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicyFactory.java deleted file mode 100644 index 9e7de2f6da..0000000000 --- a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicyFactory.java +++ /dev/null @@ -1,66 +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; - -/** - * A factory for the policy model. - * - * @version $Rev$ $Date$ - */ -public interface PolicyFactory { - - /** - * Create a new intent. - * - * @return a new intent - */ - Intent createIntent(); - - /** - * Create a new policy set. - * - * @return a new policy set - */ - PolicySet createPolicySet(); - - /** - * Create a new intent map. - * - * @return a new intent map - */ - IntentMap createIntentMap(); - - /** - * create a new Qualifier - * - * @return a Qualifier - */ - Qualifier createQualifier(); - - /** - * Create a new PolicyExpression - * @return - */ - PolicyExpression createPolicyExpression(); - - ExtensionType createExtensionType(); - BindingType createBindingType(); - ImplementationType createImplementationType(); - -} diff --git a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicySet.java b/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicySet.java deleted file mode 100644 index 2b5b8458d5..0000000000 --- a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicySet.java +++ /dev/null @@ -1,146 +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; - -import java.util.List; - -import javax.xml.namespace.QName; -import javax.xml.xpath.XPathExpression; - -/** - * Represents a policy set. See the Policy Framework specification for a - * description of this element. - * - * @version $Rev$ $Date$ - */ -public interface PolicySet { - - /** - * Returns the intent name. - * - * @return the intent name - */ - QName getName(); - - /** - * Sets the intent name - * - * @param name the intent name - */ - void setName(QName name); - - /** - * Returns the list of - * - * @return - */ - List<PolicySet> getReferencedPolicySets(); - - /** - * Returns the list of provided intents - * - * @return - */ - List<Intent> getProvidedIntents(); - - /** - * Returns the list of concrete policies, either WS-Policy policy - * attachments, policy references, or policies expressed in another policy - * language. - * - * @return the list of concrete policies - */ - List<PolicyExpression> getPolicies(); - - /** - * Returns true if the model element is unresolved. - * - * @return true if the model element is unresolved. - */ - boolean isUnresolved(); - - /** - * Sets whether the model element is unresolved. - * - * @param unresolved whether the model element is unresolved - */ - void setUnresolved(boolean unresolved); - - /** - * Returns the XPath expression that is to be used to evaluate - * if this PolicySet applies to specific policy subject - * - * @return the XPath expression - */ - String getAppliesTo(); - - /** - * Sets the XPath expression that is to be used to evaluate - * if this PolicySet applies to specific policy subject - * - */ - void setAppliesTo(String xpath); - - /** - * A string which is an XPath 1.0 expression identifying one or more - * elements (policy subject) in the Domain. It is used to declare which - * set of elements the policySet is actually attached to. - * - * @return The attachTo XPath - */ - String getAttachTo(); - - /** - * Set the attachTo XPath - * @param xpath - */ - void setAttachTo(String xpath); - - /** - * Get the resolved XPathExpression for attachTo - * @return - */ - XPathExpression getAttachToXPathExpression(); - - /** - * Set the resolved XPathExpression for attachTo - * @param expression - */ - void setAttachToXPathExpression(XPathExpression expression); - - /** - * Returns the policies / policy attachments provided thro intent maps - * - * @return - */ - List<IntentMap> getIntentMaps(); - - /** - * Get the XPath expression for the appliesTo attribute - * @return the XPath expression for the appliesTo attribute - */ - XPathExpression getAppliesToXPathExpression(); - - /** - * Set the XPath expression for the appliesTo attribute - * @param xpathExpression the XPath expression for the appliesTo attribute - */ - void setAppliesToXPathExpression(XPathExpression xpathExpression); - -} diff --git a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicySubject.java b/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicySubject.java deleted file mode 100644 index 35a86ceedf..0000000000 --- a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicySubject.java +++ /dev/null @@ -1,56 +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; - -import java.util.List; - -/** - * A policy subject is an entity in the assembly with which a policy can be - * associated. - * - * For example, a policy subject can be one of the following: - * <ul> - * <li>composite - * <li>component - * <li>implementation - * <li>service - * <li>reference - * <li>binding - * <li>interface - * </ul> - */ -public interface PolicySubject { - /** - * Get a list of required intents - * - * @return - */ - List<Intent> getRequiredIntents(); - - /** - * Get a list of attached policySets - * - * @return A list of policySets - */ - List<PolicySet> getPolicySets(); - - ExtensionType getExtensionType(); - void setExtensionType(ExtensionType type); -} diff --git a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/Qualifier.java b/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/Qualifier.java deleted file mode 100644 index c1862283c7..0000000000 --- a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/Qualifier.java +++ /dev/null @@ -1,44 +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; - -import java.util.List; - -/** - * A qualifier provides a list of policies for a qualified intent within the IntentMap - */ -public interface Qualifier { - /** - * Get the qualified intent for this qualifier - * @return The intent - */ - Intent getIntent(); - - /** - * Set the qualified intent for this qualifier - */ - void setIntent(Intent intent); - - /** - * Get the list of policies provided by this qualifier - * @return A list of policies - */ - List<PolicyExpression> getPolicies(); -} diff --git a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/BindingTypeImpl.java b/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/BindingTypeImpl.java deleted file mode 100644 index 1a2a9c5bad..0000000000 --- a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/BindingTypeImpl.java +++ /dev/null @@ -1,38 +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.impl; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.policy.BindingType; - -/** - * Concrete implementation for a BindingType - * - * @version $Rev$ $Date$ - */ -public class BindingTypeImpl extends ExtensionTypeImpl implements BindingType { - protected BindingTypeImpl() { - super(); - } - - public QName getBaseType() { - return BINDING_BASE; - } -} diff --git a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/ExtensionTypeImpl.java b/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/ExtensionTypeImpl.java deleted file mode 100644 index 97fbc19ced..0000000000 --- a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/ExtensionTypeImpl.java +++ /dev/null @@ -1,97 +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.impl; - -import java.util.ArrayList; -import java.util.List; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.policy.ExtensionType; -import org.apache.tuscany.sca.policy.Intent; - -/** - * Concrete implementation for a BindingType - * - * @version $Rev$ $Date$ - */ -public class ExtensionTypeImpl implements ExtensionType { - - private List<Intent> alwaysProvides = new ArrayList<Intent>(); - private List<Intent> mayProvide = new ArrayList<Intent>(); - private QName typeName; - private boolean unResolved = true; - - protected ExtensionTypeImpl() { - - } - - public List<Intent> getAlwaysProvidedIntents() { - return alwaysProvides; - } - - public List<Intent> getMayProvidedIntents() { - return mayProvide; - } - - public QName getType() { - return typeName; - } - - public void setType(QName type) { - this.typeName = type; - } - - public boolean isUnresolved() { - return unResolved; - } - - public void setUnresolved(boolean unresolved) { - this.unResolved = unresolved; - } - - @Override - public int hashCode() { - return String.valueOf(getType()).hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (obj == this) { - return true; - } else if (obj instanceof ExtensionTypeImpl) { - if (getType() != null) { - return getType().equals(((ExtensionTypeImpl)obj).getType()); - } else { - return ((ExtensionTypeImpl)obj).getType() == null; - } - } else { - return false; - } - } - - @Override - public String toString() { - return (this.typeName != null) ? getType().toString() : "null"; - } - - public QName getBaseType() { - return null; - } -}; diff --git a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/ImplementationTypeImpl.java b/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/ImplementationTypeImpl.java deleted file mode 100644 index 5c285e4d95..0000000000 --- a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/ImplementationTypeImpl.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.policy.impl; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.policy.ImplementationType; - -/** - * Concrete implementation for a Implementation Type - * - * @version $Rev$ $Date$ - */ -public class ImplementationTypeImpl extends ExtensionTypeImpl implements ImplementationType { - protected ImplementationTypeImpl() { - super(); - } - - public QName getBaseType() { - return IMPLEMENTATION_BASE; - } - -} diff --git a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/IntentImpl.java b/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/IntentImpl.java deleted file mode 100644 index 27a77f3ba8..0000000000 --- a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/IntentImpl.java +++ /dev/null @@ -1,168 +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.impl; - -import java.util.ArrayList; -import java.util.List; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.policy.ExtensionType; -import org.apache.tuscany.sca.policy.Intent; - -/** - * Represents a policy intent. - * - * @version $Rev$ $Date$ - */ -public class IntentImpl implements Intent { - - private QName name; - private Type type; - private List<ExtensionType> constrainedTypes = new ArrayList<ExtensionType>(); - private String description; - private List<Intent> qualifiedIntents = new ArrayList<Intent>(); - private Intent defaultQualifiedIntent; - private Intent parent; - private List<Intent> requiredIntents = new ArrayList<Intent>(); - private List<Intent> excludedIntents = new ArrayList<Intent>(); - private boolean mutuallyExclusive; - private boolean unresolved = true; - - protected IntentImpl() { - } - - public QName getName() { - return name; - } - - public void setName(QName name) { - this.name = name; - } - - public List<ExtensionType> getConstrainedTypes() { - return constrainedTypes; - } - - public void setConstrainedTypes(List<ExtensionType> constrainedTypes) { - this.constrainedTypes = constrainedTypes; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public Intent getQualifiableIntent() { - return parent; - } - - public void setQualifiableIntent(Intent parent) { - this.parent = parent; - } - - public List<Intent> getQualifiedIntents() { - return qualifiedIntents; - } - - public void setQualifiedIntents(List<Intent> qualifiedIntents) { - this.qualifiedIntents = qualifiedIntents; - } - - public List<Intent> getRequiredIntents() { - return requiredIntents; - } - - public void setRequiredIntents(List<Intent> requiredIntents) { - this.requiredIntents = requiredIntents; - } - - public List<Intent> getExcludedIntents() { - return excludedIntents; - } - - public void setExcludedIntents(List<Intent> excludedIntents) { - this.excludedIntents = excludedIntents; - } - - public boolean isUnresolved() { - return unresolved; - } - - public void setUnresolved(boolean unresolved) { - this.unresolved = unresolved; - } - - public Type getType() { - return type; - } - - public void setType(Type type) { - this.type = type; - } - - public boolean isMutuallyExclusive() { - return mutuallyExclusive; - } - - public void setMutuallyExclusive(boolean mutuallyExclusive) { - this.mutuallyExclusive = mutuallyExclusive; - } - - public Intent getDefaultQualifiedIntent() { - return defaultQualifiedIntent; - } - - public void setDefaultQualifiedIntent(Intent defaultQualifiedIntent) { - this.defaultQualifiedIntent = defaultQualifiedIntent; - } - - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((name == null) ? 0 : name.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - IntentImpl other = (IntentImpl)obj; - if (name == null) { - if (other.name != null) - return false; - } else if (!name.equals(other.name)) - return false; - return true; - } - - public String toString() { - return String.valueOf(name); - } -} diff --git a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/IntentMapImpl.java b/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/IntentMapImpl.java deleted file mode 100644 index 6e2941ff5c..0000000000 --- a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/IntentMapImpl.java +++ /dev/null @@ -1,61 +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.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.IntentMap; -import org.apache.tuscany.sca.policy.Qualifier; - -/** - * Represents an intent map. - * - * @version $Rev$ $Date$ - */ -public class IntentMapImpl implements IntentMap { - - private boolean unresolved; - private Intent providedIntent; - private List<Qualifier> qualifiers = new ArrayList<Qualifier>(); - - protected IntentMapImpl() { - } - - public boolean isUnresolved() { - return unresolved; - } - - public void setUnresolved(boolean unresolved) { - this.unresolved = unresolved; - } - - public Intent getProvidedIntent() { - return providedIntent; - } - - public void setProvidedIntent(Intent providedIntent) { - this.providedIntent = providedIntent; - } - - public List<Qualifier> getQualifiers() { - return qualifiers; - } -} diff --git a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicyExpressionImpl.java b/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicyExpressionImpl.java deleted file mode 100644 index 71e5eef6a7..0000000000 --- a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicyExpressionImpl.java +++ /dev/null @@ -1,86 +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.impl; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.policy.PolicyExpression; - -public class PolicyExpressionImpl implements PolicyExpression { - private QName name; - private Object policy; - private boolean unresolved = true; - - protected PolicyExpressionImpl() { - } - - public QName getName() { - return name; - } - - public <T> T getPolicy() { - return (T)policy; - } - - public boolean isUnresolved() { - return unresolved; - } - - public void setName(QName name) { - this.name = name; - } - - public <T> void setPolicy(T policy) { - this.policy = policy; - } - - public void setUnresolved(boolean unresolved) { - this.unresolved = unresolved; - } - - public String toString() { - return String.valueOf(name); - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((name == null) ? 0 : name.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - PolicyExpressionImpl other = (PolicyExpressionImpl)obj; - if (name == null) { - if (other.name != null) - return false; - } else if (!name.equals(other.name)) - return false; - return true; - } -} diff --git a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicyFactoryImpl.java b/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicyFactoryImpl.java deleted file mode 100644 index c67ff1eab8..0000000000 --- a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicyFactoryImpl.java +++ /dev/null @@ -1,70 +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.impl; - -import org.apache.tuscany.sca.policy.BindingType; -import org.apache.tuscany.sca.policy.ExtensionType; -import org.apache.tuscany.sca.policy.ImplementationType; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.IntentMap; -import org.apache.tuscany.sca.policy.PolicyExpression; -import org.apache.tuscany.sca.policy.PolicyFactory; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.Qualifier; - -/** - * A factory for the policy model. - * - * @version $Rev$ $Date$ - */ -public abstract class PolicyFactoryImpl implements PolicyFactory { - - public Intent createIntent() { - return new IntentImpl(); - } - - public PolicySet createPolicySet() { - return new PolicySetImpl(); - } - - public IntentMap createIntentMap() { - return new IntentMapImpl(); - } - - public Qualifier createQualifier() { - return new QualifierImpl(); - } - - public PolicyExpression createPolicyExpression() { - return new PolicyExpressionImpl(); - } - - public BindingType createBindingType() { - return new BindingTypeImpl(); - } - - public ImplementationType createImplementationType() { - return new ImplementationTypeImpl(); - } - - public ExtensionType createExtensionType() { - return new ExtensionTypeImpl(); - } - -} diff --git a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicySetImpl.java b/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicySetImpl.java deleted file mode 100644 index 75d1229cd8..0000000000 --- a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicySetImpl.java +++ /dev/null @@ -1,145 +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.impl; - -import java.util.ArrayList; -import java.util.List; - -import javax.xml.namespace.QName; -import javax.xml.xpath.XPathExpression; - -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.IntentMap; -import org.apache.tuscany.sca.policy.PolicyExpression; -import org.apache.tuscany.sca.policy.PolicySet; - -/** - * Represents a policy set. - * - * @version $Rev$ $Date$ - */ -public class PolicySetImpl implements PolicySet { - - private QName name; - private String appliesTo; - private String attachTo; - private List<Intent> providedIntents = new ArrayList<Intent>(); - private List<PolicySet> referencedPolicySets = new ArrayList<PolicySet>(); - private boolean unresolved = true; - - private XPathExpression appliesToXPathExpression; - private XPathExpression attachToXPathExpression; - - private List<IntentMap> intentMaps = new ArrayList<IntentMap>(); - private List<PolicyExpression> policies = new ArrayList<PolicyExpression>(); - - public QName getName() { - return name; - } - - public void setName(QName name) { - this.name = name; - } - - public String getAppliesTo() { - return appliesTo; - } - - public void setAppliesTo(String appliesTo) { - this.appliesTo = appliesTo; - } - - public String getAttachTo() { - return attachTo; - } - - public void setAttachTo(String attachTo) { - this.attachTo = attachTo; - } - - public boolean isUnresolved() { - return unresolved; - } - - public void setUnresolved(boolean unresolved) { - this.unresolved = unresolved; - } - - public XPathExpression getAppliesToXPathExpression() { - return appliesToXPathExpression; - } - - public void setAppliesToXPathExpression(XPathExpression appliesToXPathExpression) { - this.appliesToXPathExpression = appliesToXPathExpression; - } - - public XPathExpression getAttachToXPathExpression() { - return attachToXPathExpression; - } - - public void setAttachToXPathExpression(XPathExpression attachToXPathExpression) { - this.attachToXPathExpression = attachToXPathExpression; - } - - public List<IntentMap> getIntentMaps() { - return intentMaps; - } - - public List<Intent> getProvidedIntents() { - return providedIntents; - } - - public List<PolicySet> getReferencedPolicySets() { - return referencedPolicySets; - } - - public List<PolicyExpression> getPolicies() { - return policies; - } - - public String toString() { - return String.valueOf(name); - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((name == null) ? 0 : name.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - PolicySetImpl other = (PolicySetImpl)obj; - if (name == null) { - if (other.name != null) - return false; - } else if (!name.equals(other.name)) - return false; - return true; - } - -} diff --git a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/QualifierImpl.java b/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/QualifierImpl.java deleted file mode 100644 index 102bea8d41..0000000000 --- a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/QualifierImpl.java +++ /dev/null @@ -1,48 +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.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.PolicyExpression; -import org.apache.tuscany.sca.policy.Qualifier; - -public class QualifierImpl implements Qualifier { - private Intent intent; - private List<PolicyExpression> policies = new ArrayList<PolicyExpression>(); - - protected QualifierImpl() { - } - - public Intent getIntent() { - return intent; - } - - public List<PolicyExpression> getPolicies() { - return policies; - } - - public void setIntent(Intent intent) { - this.intent = intent; - } - -} diff --git a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyComputationUtils.java b/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyComputationUtils.java deleted file mode 100644 index fe61ce707c..0000000000 --- a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyComputationUtils.java +++ /dev/null @@ -1,370 +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.util; - -import static javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI; - -import java.io.InputStream; -import java.io.StringWriter; -import java.security.AccessController; -import java.security.PrivilegedActionException; -import java.security.PrivilegedExceptionAction; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import javax.xml.namespace.NamespaceContext; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.transform.Result; -import javax.xml.transform.Source; -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerConfigurationException; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; -import javax.xml.xpath.XPathConstants; -import javax.xml.xpath.XPathExpression; -import javax.xml.xpath.XPathExpressionException; - -import org.apache.tuscany.sca.policy.ExtensionType; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.PolicySet; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - -/** - * Utility methods used during computation of PolicyIntents and PolicySets sets - * - * @version $Rev$ $Date$ - */ -public class PolicyComputationUtils { - private static final String POLICYSET_PREFIX = "tp_"; - private static final String APPLICABLE_POLICYSET_ATTR_NS = "http://tuscany.apache.org/xmlns/sca/1.1"; - private static final String APPLICABLE_POLICYSET_ATTR = "applicablePolicySets"; - private static final String POLICY_SETS_ATTR = "policySets"; - private static final String APPLICABLE_POLICYSET_ATTR_PREFIX = "tuscany"; - private static final String SCA11_NS = "http://docs.oasis-open.org/ns/opencsa/sca/200903"; - - /** - * This method unconditionally adds intents from the source list to the target list. - * It is used for intermediate intent inheritance between promotion levels - * (e.g. between a composite service and a component service). It does not check - * whether there are conflicting (mutually exclusive) intents. This is because - * promotion cannot override intents. If the resulting target list has conflicting - * intents, this will be detected later during policy computation. - */ - public static void addInheritedIntents(List<Intent> sourceList, List<Intent> targetList) { - if (sourceList != null) { - targetList.addAll(sourceList); - } - } - - public static void addInheritedPolicySets(List<PolicySet> sourceList, - List<PolicySet> targetList, - boolean checkOverrides) { - // check overrides is true when policysets are to be copied from - // componentType to component level - if (checkOverrides) { - // aggregate all the provided intents present in the target - List<Intent> targetProvidedIntents = new ArrayList<Intent>(); - for (PolicySet policySet : targetList) { - targetProvidedIntents.addAll(policySet.getProvidedIntents()); - } - - // for every policy set in the source check if it provides one of - // the intents that is - // already provided by the policysets in the destination and do not - // copy them. - for (PolicySet policySet : sourceList) { - for (Intent sourceProvidedIntent : policySet.getProvidedIntents()) { - if (!targetProvidedIntents.contains(sourceProvidedIntent)) { - targetList.add(policySet); - } - } - } - } else { - targetList.addAll(sourceList); - } - } - - /** - * This method is used to inherit intents and policy sets between hierarchical levels - * within the same composite (e.g. between a component and its services and references). - * In this case the source intents and policy sets provide defaults which are inherited - * into the target lists only when there is no conflict. For example consider a component - * with 3 references. The component level requires intent 'propagatesTransaction'. - * Reference 1 and 2 do not specify an intent, but reference 3 requires 'suspendsTransaction'. - * In this case the 'propagatesTransaction' intent is inherited by reference 1 and 2 - * but not by reference 3. - */ - public static void addDefaultPolicies(List<Intent> sourceIntents, - List<PolicySet> sourcePolicySets, - List<Intent> targetIntents, - List<PolicySet> targetPolicySets) { - // form a list of all intents required by the target - List<Intent> combinedTargetIntents = new ArrayList<Intent>(); - combinedTargetIntents.addAll(findAndExpandProfileIntents(targetIntents)); - for (PolicySet targetPolicySet : targetPolicySets) { - combinedTargetIntents.addAll(findAndExpandProfileIntents(targetPolicySet.getProvidedIntents())); - } - - // inherit intents in the source list that do not conflict with intents already in the target list - for (Intent sourceIntent : findAndExpandProfileIntents(sourceIntents)) { - boolean conflict = false; - for (Intent excluded : sourceIntent.getExcludedIntents()) { - if (combinedTargetIntents.contains(excluded)) { - conflict = true; - break; - } - } - if (!conflict) { - targetIntents.add(sourceIntent); - } - } - - // inherit policy sets in the source list that do not conflict with policy sets or intents - // in the target list - for (PolicySet sourcePolicySet : sourcePolicySets) { - boolean conflict = false; - List<Intent> providedIntents = findAndExpandProfileIntents(sourcePolicySet.getProvidedIntents()); - checkConflict: for (Intent intent : providedIntents) { - for (Intent excluded : intent.getExcludedIntents()) { - if (combinedTargetIntents.contains(excluded)) { - conflict = true; - break checkConflict; - } - } - } - if (!conflict) - targetPolicySets.add(sourcePolicySet); - } - - } - - public static void checkForMutuallyExclusiveIntents(List<Intent> intents, - List<PolicySet> policySets, - ExtensionType intentAttachPointType, - String id) throws PolicyValidationException { - // gather all intents (keeping track of where they come from) - Map<Intent, PolicySet> combinedIntents = new HashMap<Intent, PolicySet>(); - for (PolicySet policySet : policySets) { - for (Intent providedIntent : findAndExpandProfileIntents(policySet.getProvidedIntents())) { - combinedIntents.put(providedIntent, policySet); - } - } - for (Intent intent : intents) { - combinedIntents.put(intent, null); - } - - // check for conflicts - for (Intent intent : combinedIntents.keySet()) { - for (Intent excluded : intent.getExcludedIntents()) { - if (combinedIntents.keySet().contains(excluded)) { - String sIntent1, sIntent2; - if (combinedIntents.get(intent) == null) - sIntent1 = intent.getName().toString(); - else - sIntent1 = - intent.getName().toString() + " in policy set " - + combinedIntents.get(intent).getName().toString(); - if (combinedIntents.get(excluded) == null) - sIntent2 = excluded.getName().toString(); - else - sIntent2 = - excluded.getName().toString() + " in policy set " - + combinedIntents.get(excluded).getName().toString(); - throw new PolicyValidationException(intentAttachPointType.getType() + " for " - + id - + " uses mutually-exclusive intents " - + sIntent1 - + " and " - + sIntent2); - } - } - } - } - - public static void expandProfileIntents(List<Intent> intents) { - List<Intent> expandedIntents = null; - if (intents.size() > 0) { - expandedIntents = findAndExpandProfileIntents(intents); - intents.clear(); - intents.addAll(expandedIntents); - } - } - - public static List<Intent> findAndExpandProfileIntents(List<Intent> intents) { - List<Intent> expandedIntents = new ArrayList<Intent>(); - for (Intent intent : intents) { - if (!intent.getRequiredIntents().isEmpty()) { - List<Intent> requiredIntents = intent.getRequiredIntents(); - expandedIntents.addAll(findAndExpandProfileIntents(requiredIntents)); - } else { - expandedIntents.add(intent); - } - } - return expandedIntents; - } - - private static byte[] addApplicablePolicySets(Document doc, Collection<PolicySet> policySets) - throws XPathExpressionException, TransformerConfigurationException, TransformerException { - - for (PolicySet policySet : policySets) { - if (policySet.getAppliesTo() != null) { - addApplicablePolicySets(policySet, doc); - } - } - - StringWriter sw = new StringWriter(); - final Source domSource = new DOMSource(doc); - final Result finalResult = new StreamResult(sw); - final Transformer transformer = TransformerFactory.newInstance().newTransformer(); - // transformer.setOutputProperty("omit-xml-declaration", "yes"); - // Allow priviledged access to let transformers read property files. Requires - // PropertyPermission in security policy. - try { - AccessController.doPrivileged(new PrivilegedExceptionAction<Object>() { - public Object run() throws TransformerException { - transformer.transform(domSource, finalResult); - return null; - } - }); - } catch (PrivilegedActionException e) { - throw (TransformerException)e.getException(); - } - - return sw.toString().getBytes(); - } - - private static void addApplicablePolicySets(PolicySet policySet, Document doc) throws XPathExpressionException { - XPathExpression expression = policySet.getAppliesToXPathExpression(); - NodeList result = (NodeList)expression.evaluate(doc, XPathConstants.NODESET); - - if (result != null) { - for (int counter = 0; counter < result.getLength(); ++counter) { - Node aResultNode = result.item(counter); - - String applicablePolicySets = null; - - String policySetPrefix = declareNamespace((Element)aResultNode, policySet.getName().getNamespaceURI()); - String appPolicyAttrPrefix = declareNamespace((Element)aResultNode, APPLICABLE_POLICYSET_ATTR_NS); - if (aResultNode.getAttributes().getNamedItemNS(APPLICABLE_POLICYSET_ATTR_NS, APPLICABLE_POLICYSET_ATTR) != null) { - applicablePolicySets = - aResultNode.getAttributes().getNamedItemNS(APPLICABLE_POLICYSET_ATTR_NS, - APPLICABLE_POLICYSET_ATTR).getNodeValue(); - } - - if (applicablePolicySets != null && applicablePolicySets.length() > 0) { - applicablePolicySets = - applicablePolicySets + " " + policySetPrefix + ":" + policySet.getName().getLocalPart(); - } else { - applicablePolicySets = policySetPrefix + ":" + policySet.getName().getLocalPart(); - } - - ((Element)aResultNode).setAttributeNS(APPLICABLE_POLICYSET_ATTR_NS, appPolicyAttrPrefix + ":" - + APPLICABLE_POLICYSET_ATTR, applicablePolicySets); - } - } - } - - public static byte[] addApplicablePolicySets(InputStream is, - Collection<PolicySet> domainPolicySets, - DocumentBuilderFactory documentBuilderFactory) throws Exception { - documentBuilderFactory.setNamespaceAware(true); - DocumentBuilder db = documentBuilderFactory.newDocumentBuilder(); - Document doc = db.parse(is); - is.close(); - return addApplicablePolicySets(doc, domainPolicySets); - } - - private static class DOMNamespaceContext implements NamespaceContext { - private Node node; - - /** - * @param node - */ - public DOMNamespaceContext(Node node) { - super(); - this.node = node; - } - - public String getNamespaceURI(String prefix) { - return node.lookupNamespaceURI(prefix); - } - - public String getPrefix(String namespaceURI) { - return node.lookupPrefix(namespaceURI); - } - - public Iterator<?> getPrefixes(String namespaceURI) { - return null; - } - - } - - private static String declareNamespace(Element element, String ns) { - if (ns == null) { - ns = ""; - } - Node node = element; - String prefix = ""; - boolean declared = false; - while (node != null && node.getNodeType() == Node.ELEMENT_NODE) { - if (node.lookupPrefix(ns) != null) { - prefix = node.lookupPrefix(ns); - declared = true; - break; - } else { - /*NamedNodeMap attrs = node.getAttributes(); - if (attrs == null) { - break; - } - Node attr = attrs.getNamedItem(qname); - if (attr != null) { - declared = ns.equals(attr.getNodeValue()); - break; - }*/ - node = node.getParentNode(); - } - } - if (!declared) { - // Find an available prefix - for (int i = 1;; i++) { - prefix = POLICYSET_PREFIX + i; - if (element.lookupNamespaceURI(prefix) == null) { - break; - } - } - String qname = "xmlns:" + prefix; - org.w3c.dom.Attr attr = element.getOwnerDocument().createAttributeNS(XMLNS_ATTRIBUTE_NS_URI, qname); - attr.setValue(ns); - element.setAttributeNodeNS(attr); - } - return prefix; - } - -} diff --git a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyValidationException.java b/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyValidationException.java deleted file mode 100644 index 3ed4eac5a2..0000000000 --- a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyValidationException.java +++ /dev/null @@ -1,38 +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.util; - -/** - * Exception to be throw for invalid policy intents / policysets - * - * @version $Rev$ $Date$ - */ -public class PolicyValidationException extends Exception { - private static final long serialVersionUID = 506979037642587755L; - - public PolicyValidationException(String message) { - super(message); - } - - public PolicyValidationException(Throwable e) { - super(e); - } - -} diff --git a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyValidationUtils.java b/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyValidationUtils.java deleted file mode 100644 index 616eab5737..0000000000 --- a/java/sca/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyValidationUtils.java +++ /dev/null @@ -1,98 +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.util; - -import java.util.List; - -import org.apache.tuscany.sca.policy.ExtensionType; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySubject; - -/** - * @version $Rev$ $Date$ - */ -public class PolicyValidationUtils { - - public static boolean isConstrained(ExtensionType constrained, ExtensionType attachPointType) { - return (attachPointType != null - && (attachPointType.equals(constrained)) || (attachPointType.getBaseType().equals(constrained))); - } - - public static void validateIntents(PolicySubject attachPoint, ExtensionType attachPointType) - throws PolicyValidationException { - boolean found = false; - if (attachPointType != null) { - // validate intents specified against the parent (binding / - // implementation) - found = false; - for (Intent intent : attachPoint.getRequiredIntents()) { - if (!intent.isUnresolved()) { - for (ExtensionType constrained : intent.getConstrainedTypes()) { - if (isConstrained(constrained, attachPointType)) { - found = true; - break; - } - } - - if (!found) { - throw new PolicyValidationException("Policy Intent '" + intent.getName() - + "' does not constrain extension type " - + attachPointType.getType()); - } - } else { - throw new PolicyValidationException("Policy Intent '" + intent.getName() - + "' is not defined in this domain "); - } - } - } - } - - public static void validatePolicySets(PolicySubject subject) throws PolicyValidationException { - // validatePolicySets(subject, subject.getType(), subject.getAttachedPolicySets()); - } - - public static void validatePolicySets(PolicySubject subject, ExtensionType attachPointType) - throws PolicyValidationException { - validatePolicySets(subject, attachPointType, subject.getPolicySets()); - } - - public static void validatePolicySets(PolicySubject subject, - ExtensionType attachPointType, - List<PolicySet> applicablePolicySets) throws PolicyValidationException { - // Since the applicablePolicySets in a subject will already - // have the list of policysets that might ever be applicable to this attachPoint, - // just check if the defined policysets feature in the list of applicable - // policysets - for (PolicySet definedPolicySet : subject.getPolicySets()) { - if (!definedPolicySet.isUnresolved()) { - if (!applicablePolicySets.contains(definedPolicySet)) { - throw new PolicyValidationException("Policy Set '" + definedPolicySet.getName() - + "' does not apply to extension type " - + attachPointType.getType()); - } - } else { - throw new PolicyValidationException("Policy Set '" + definedPolicySet.getName() - + "' is not defined in this domain "); - - } - } - } -} diff --git a/java/sca/modules/policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.policy.PolicyFactory b/java/sca/modules/policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.policy.PolicyFactory deleted file mode 100644 index 846b3b24a4..0000000000 --- a/java/sca/modules/policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.policy.PolicyFactory +++ /dev/null @@ -1,18 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -org.apache.tuscany.sca.policy.DefaultPolicyFactory
\ No newline at end of file diff --git a/java/sca/modules/policy/src/test/java/org/apache/tuscany/sca/policy/PolicyFactoryTestCase.java b/java/sca/modules/policy/src/test/java/org/apache/tuscany/sca/policy/PolicyFactoryTestCase.java deleted file mode 100644 index 2775c4ac71..0000000000 --- a/java/sca/modules/policy/src/test/java/org/apache/tuscany/sca/policy/PolicyFactoryTestCase.java +++ /dev/null @@ -1,55 +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; - -import static org.junit.Assert.assertEquals; - -import javax.xml.namespace.QName; - -import org.junit.Before; -import org.junit.Test; - -/** - * Test building of policy model instances using the policy factory. - * - * @version $Rev$ $Date$ - */ -public class PolicyFactoryTestCase { - - PolicyFactory factory; - - @Before - public void setUp() throws Exception { - factory = new DefaultPolicyFactory(); - } - - @Test - public void testCreateIntent() { - Intent intent = factory.createIntent(); - intent.setName(new QName("http://test", "reliability")); - assertEquals(intent.getName(), new QName("http://test", "reliability")); - } - - @Test - public void testCreatePolicySet() { - PolicySet policySet = factory.createPolicySet(); - policySet.setName(new QName("http://test", "reliability")); - assertEquals(policySet.getName(), new QName("http://test", "reliability")); - } -} |