diff options
author | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2008-09-11 04:13:16 +0000 |
---|---|---|
committer | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2008-09-11 04:13:16 +0000 |
commit | a3ce58076d0ce2d2f09c2331ea499554e9b5a9f9 (patch) | |
tree | 83e79cf76ae58c58d216a4396c0cf3532bc3d160 /branches/sca-trunk-20080910/modules/policy/src/main/java | |
parent | 28f92c6fc62f3bc0637ac77681aabcc8c0b5e42c (diff) |
Renaming branch
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@694108 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-trunk-20080910/modules/policy/src/main/java')
33 files changed, 0 insertions, 2619 deletions
diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/DefaultIntentAttachPointTypeFactory.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/DefaultIntentAttachPointTypeFactory.java deleted file mode 100644 index 6ca4fe72ec..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/DefaultIntentAttachPointTypeFactory.java +++ /dev/null @@ -1,29 +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.IntentAttachPointTypeFactoryImpl;
-
-/**
- * Default implementation for IntentAttachPointTypeFactory
- *
- * @version $Rev$ $Date$
- */
-public class DefaultIntentAttachPointTypeFactory extends IntentAttachPointTypeFactoryImpl implements IntentAttachPointTypeFactory{
-}
diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/DefaultPolicyFactory.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/DefaultPolicyFactory.java deleted file mode 100644 index 2da41675a1..0000000000 --- a/branches/sca-trunk-20080910/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/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/Intent.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/Intent.java deleted file mode 100644 index 22f328f643..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/Intent.java +++ /dev/null @@ -1,116 +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 { - - /** - * Returns the intent name. - * - * @return the intent name - */ - QName getName(); - - /** - * Sets the intent name - * - * @param name the intent name - */ - void setName(QName name); - - /** - * Get the intent domain (the root intent name before any qualifiers) - * @return the domain - */ - String getDomain(); - - /** - * Get the intent qualifiers - * @return the domain - */ - String[] getQualifiedNames(); - - /** - * Returns the list of operations that this intent applies to. - * - * @return - */ - //List<Operation> getOperations(); - - /** - * 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<QName> getConstrains(); - - /** - * 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 children qualified intents. - * - * @return the list of children qualified intents. - */ - List<Intent> getQualifiedIntents(); - - /** - * 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. - */ - boolean isUnresolved(); - - /** - * Sets whether the model element is unresolved. - * - * @param unresolved whether the model element is unresolved - */ - void setUnresolved(boolean unresolved); - -} diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/IntentAttachPoint.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/IntentAttachPoint.java deleted file mode 100644 index bf2cfca924..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/IntentAttachPoint.java +++ /dev/null @@ -1,52 +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; - -/** - * Base interface for all assembly model objects that can be have policy intents - * attached to them. - * - * @version $Rev$ $Date$ - */ -public interface IntentAttachPoint { - - /** - * Returns a list of policy intents. See the Policy Framework specification - * for a description of this attribute. - * - * @return a list of policy intents. - */ - List<Intent> getRequiredIntents(); - - - /** - * Returns the type of the attach point such as a BindingType or an ImplementationType and so on - * @return - */ - IntentAttachPointType getType(); - - /** - * - * Sets the type of the attach point such as a BindingType or an ImplementationType and so on - * @param type - */ - void setType(IntentAttachPointType type); -} diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/IntentAttachPointType.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/IntentAttachPointType.java deleted file mode 100644 index 6db529c7f0..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/IntentAttachPointType.java +++ /dev/null @@ -1,71 +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;
-
-/**
- * Base interface for representing the model type of assembly model objects that can be have policy intents
- * attached to them.
- *
- * @version $Rev$ $Date$
- */
-public interface IntentAttachPointType {
-
- /**
- * Returns the name of the extension type defined by this instance e.g. implementation.java, binding.ws
- * @return the extension type QName
- */
- QName getName();
-
- /**
- * Sets the name of the extension type
- * @param type the name of the extension type
- */
- void setName(QName type);
-
- /**
- * Returns the list of names of policy intents that will always be provided by this Extension Type
- * @return list of Policy Intent names
- */
- List<Intent> getAlwaysProvidedIntents();
-
- /**
- * Returns the list of names of policy intents that may be provided by this Extension Type thro
- * appropriate configuration
- * @return list of Policy Intent names
- */
- List<Intent> getMayProvideIntents();
-
- /**
- * 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/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/IntentAttachPointTypeFactory.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/IntentAttachPointTypeFactory.java deleted file mode 100644 index ee67006875..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/IntentAttachPointTypeFactory.java +++ /dev/null @@ -1,43 +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;
-
-/**
- * Factory interface for creating extension types meta data
- *
- * @version $Rev$ $Date$
- */
-public interface IntentAttachPointTypeFactory {
-
- /**
- * Creates an ImplementationTypeImpl instance to hold metadata related to
- * a particular implementation extension in the SCA Domain
- *
- * @return an instance of IntentAttachPointType
- */
- IntentAttachPointType createImplementationType();
-
- /**
- * Creates an BindingTypeImpl instance to hold metadata related to
- * a particular binding extension in the SCA Domain
- *
- * @return an instance of IntentAttachPointType
- */
- IntentAttachPointType createBindingType();
-}
diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/IntentMap.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/IntentMap.java deleted file mode 100644 index 1b225bc918..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/IntentMap.java +++ /dev/null @@ -1,89 +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; - -/** - * Represents a policy intent map. See the Policy Framework specification for a - * description of this element. - * - * @version $Rev$ $Date$ - */ -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); - - /** - * Returns the default qualified intent map. - * - * @return the default qualified intent map - */ - IntentMap getDefaultQualifiedIntentMap(); - - /** - * Sets the default qualified intent map. - * - * @param defaultQualifiedIntentMap the default qualified intent map - */ - void setDefaultQualifiedIntentMap(IntentMap defaultQualifiedIntentMap); - - /** - * Returns the list of children qualified intent maps. - * - * @return - */ - List<IntentMap> getQualifiedIntentMaps(); - - /** - * 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<Object> 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); - -} diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/Policy.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/Policy.java deleted file mode 100644 index c6393e2ada..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/Policy.java +++ /dev/null @@ -1,33 +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 Policy {
- QName getSchemaName();
- void setUnresolved(boolean unresolved);
- boolean isUnresolved();
-}
diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicyContext.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicyContext.java deleted file mode 100644 index 65c39803d2..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicyContext.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;
-
-import java.util.List;
-
-/**
- * A context container for policies.
- *
- * @version $Rev$ $Date$
- */
-public interface PolicyContext {
- List<Intent> getIntents(Object key);
- List<PolicySet> getPolicySets(Object key);
- void addIntents(Object key, List<Intent> intents);
- void addPolicySets(Object key, List<PolicySet> policySets);
- void addIntent(Object key, Intent intent);
- void addPolicySet(Object key, PolicySet policySet);
- void clearIntents(Object key);
- void clearPolicySets(Object key);
-}
diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicyFactory.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicyFactory.java deleted file mode 100644 index 49bcbae1ae..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicyFactory.java +++ /dev/null @@ -1,69 +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 Profile Intent - * - * @return a ProfileIntent instance - */ - ProfileIntent createProfileIntent(); - - /** - * create a new QualifiedIntent - * - * @return a QualifiedIntent instance - */ - QualifiedIntent createQualifiedIntent(); - - /** - * create a new PolicySetReference - * - * @return a PolicySetReference instance - */ - PolicySetReference createPolicySetReference(); -} diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicySet.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicySet.java deleted file mode 100644 index b16072c214..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicySet.java +++ /dev/null @@ -1,155 +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 java.util.Map; - -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 operations that this policy set applies to. - * - * @return - */ - //List<Operation> getOperations(); - /** - * 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<Object> 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 attachment point - * - * @return the XPath expression - */ - String getAppliesTo(); - - /** - * Sets the XPath expression that is to be used to evaluate - * if this PolicySet applies to specific attachment point - * - */ - void setAppliesTo(String xpath); - - /** - * Returns the policies / policy attachments provided thro intent maps - * - * @return - */ - Map<Intent, List<Object>> getMappedPolicies(); - - /** - * Gets the XPath expression that is to be used to evaluate - * the SCA Artifacts that this policyset will always apply to - * immaterial of an intent declared on the SCA Artifact - * - * @return the XPath expression - */ - String getAlwaysAppliesTo(); - - /** - * Sets the XPath expression that is to be used to evaluate - * the SCA Artifacts that this policyset will always apply to - * immaterial of an intent declared on the SCA Artifact - * - */ - void setAlwaysAppliesTo(String xpath); - - /** - * 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); - - /** - * Get the XPath expression for the alwaysAppliesTo attribute - * @return the XPath expression for the alwaysAppliesTo attribute - */ - XPathExpression getAlwaysAppliesToXPathExpression(); - - /** - * Set the XPath expression for the alwaysAppliesTo attribute - * @param xpathExpression the XPath expression for the alwaysAppliesTo attribute - */ - void setAlwaysAppliesToXPathExpression(XPathExpression xpathExpression); - -} diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicySetAttachPoint.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicySetAttachPoint.java deleted file mode 100644 index f4156fc2e6..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicySetAttachPoint.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; - -import java.util.List; - -/** - * Base interface for all assembly model objects that can have policy sets - * attached to them. - * - * @version $Rev$ $Date$ - */ -public interface PolicySetAttachPoint extends IntentAttachPoint { - - /** - * Returns a list of policy sets. See the Policy Framework specification for - * a description of this attribute. - * - * @return a list of policy sets. - */ - List<PolicySet> getPolicySets(); - - - /** - * Returns a list of policy sets defined in the domain, that are applicable to this - * PolicySetAttachPoint. An applicable PolicySet is one that include this PolicySetAttachPoint - * as part of its 'appliesTo' XPath attribute. - * - * @return a list of policy sets applicable to this PolicySetAttachPoint - */ - List<PolicySet> getApplicablePolicySets(); -} diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicySetReference.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicySetReference.java deleted file mode 100644 index caa0d04fe3..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicySetReference.java +++ /dev/null @@ -1,43 +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 abstracts a PolicySet Reference
- *
- * @version $Rev$ $Date$
- */
-public interface PolicySetReference {
-
- /**
- * Returns the name of the policyset being referred to
- *
- * @return the QName of the referred policyset
- */
- QName getReferredPolicySetName();
-
- /**
- * @param refPolicySetName the name of the policyset being referred to
- *
- */
- void setReferredPolicySetName(QName refPolicySetName);
-
-}
diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/ProfileIntent.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/ProfileIntent.java deleted file mode 100644 index 28ff9d09d3..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/ProfileIntent.java +++ /dev/null @@ -1,36 +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;
-
-/**
- * Interface that abstracts a profile intent
- *
- * @version $Rev$ $Date$
- */
-public interface ProfileIntent extends Intent {
- /**
- * Returns the list of required intents.
- *
- * @return the list of required intents
- */
- List<Intent> getRequiredIntents();
-
-}
diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/QualifiedIntent.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/QualifiedIntent.java deleted file mode 100644 index 0f43221dd6..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/QualifiedIntent.java +++ /dev/null @@ -1,41 +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;
-
-/**
- * Abstracts a qualified policy intent
- *
- * @version $Rev$ $Date$
- */
-public interface QualifiedIntent extends Intent {
-
- /**
- * Returns the intent qualified by this intent
- *
- * @return
- */
- Intent getQualifiableIntent();
-
- /**
- * sets the qualifiable intent for this Qualified intent instance
- *
- * @param qualifiableIntent
- */
- void setQualifiableIntent(Intent qualifiableIntent);
-}
diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/BindingTypeImpl.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/BindingTypeImpl.java deleted file mode 100644 index dbdef38324..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/BindingTypeImpl.java +++ /dev/null @@ -1,89 +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.Intent;
-import org.apache.tuscany.sca.policy.IntentAttachPointType;
-
-/**
- * Concrete implementation for a BindingType
- *
- * @version $Rev$ $Date$
- */
-public class BindingTypeImpl implements IntentAttachPointType {
-
- private List<Intent> alwaysProvides = new ArrayList<Intent>();
- private List<Intent> mayProvides = new ArrayList<Intent>();
- private QName typeName;
- private boolean unResolved = true;
-
- public List<Intent> getAlwaysProvidedIntents() {
- return alwaysProvides;
- }
-
- public List<Intent> getMayProvideIntents() {
- return mayProvides;
- }
-
- public QName getName() {
- return typeName;
- }
-
- public void setName(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(getName()).hashCode();
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj == this) {
- return true;
- } else if (obj instanceof BindingTypeImpl ) {
- if (getName() != null) {
- return getName().equals(((BindingTypeImpl)obj).getName());
- } else {
- return ((BindingTypeImpl)obj).getName() == null;
- }
- } else {
- return false;
- }
- }
-
- @Override
- public String toString() {
- return getName().toString();
- }
-}
diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/ImplementationTypeImpl.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/ImplementationTypeImpl.java deleted file mode 100644 index fa95d84c4e..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/ImplementationTypeImpl.java +++ /dev/null @@ -1,88 +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.Intent;
-import org.apache.tuscany.sca.policy.IntentAttachPointType;
-
-/**
- * Concrete implementation for a Implementation Type
- *
- * @version $Rev$ $Date$
- */
-public class ImplementationTypeImpl implements IntentAttachPointType {
- private List<Intent> alwaysProvides = new ArrayList<Intent>();
- private List<Intent> mayProvides = new ArrayList<Intent>();
- private QName typeName;
- private boolean unResolved = true;
-
- public List<Intent> getAlwaysProvidedIntents() {
- return alwaysProvides;
- }
-
- public List<Intent> getMayProvideIntents() {
- return mayProvides;
- }
-
- public QName getName() {
- return typeName;
- }
-
- public void setName(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(getName()).hashCode();
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj == this) {
- return true;
- } else if (obj instanceof ImplementationTypeImpl ) {
- if (getName() != null) {
- return getName().equals(((ImplementationTypeImpl)obj).getName());
- } else {
- return ((ImplementationTypeImpl)obj).getName() == null;
- }
- } else {
- return false;
- }
- }
-
- @Override
- public String toString() {
- return getName().toString();
- }
-}
diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/IntentAttachPointTypeFactoryImpl.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/IntentAttachPointTypeFactoryImpl.java deleted file mode 100644 index aa6e27c240..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/IntentAttachPointTypeFactoryImpl.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 org.apache.tuscany.sca.policy.IntentAttachPointType;
-import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory;
-
-/**
- * Default implementation for IntentAttachPointTypeFactory
- *
- * @version $Rev$ $Date$
- */
-public class IntentAttachPointTypeFactoryImpl implements IntentAttachPointTypeFactory {
-
- public IntentAttachPointType createBindingType() {
- return new BindingTypeImpl();
- }
-
- public IntentAttachPointType createImplementationType() {
- return new ImplementationTypeImpl();
- }
-
-}
diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/IntentImpl.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/IntentImpl.java deleted file mode 100644 index 2d6bd0eb6f..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/IntentImpl.java +++ /dev/null @@ -1,151 +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.Intent; - -/** - * Represents a policy intent. - * - * @version $Rev$ $Date$ - */ -public class IntentImpl implements Intent { - - private static final String QUALIFIED_SEPARATOR = "."; - private static final String DOMAIN_SEPARATOR = "."; - private QName name; - //private List<Operation> operations = new ArrayList<Operation>(); - private List<QName> constrains = new ArrayList<QName>(); - private String description; - private List<Intent> qualifiedIntents = new ArrayList<Intent>(); - // private List<Intent> requiredIntents = new ArrayList<Intent>(); - private List<Intent> excludedIntents = new ArrayList<Intent>(); - private boolean unresolved = true; - private String domain; - private String[] qualifiedNames; - - protected IntentImpl() { - } - - public QName getName() { - return name; - } - - public void setName(QName name) { - this.name = name; - String iname = name.getLocalPart(); - int domainIdx = iname.indexOf(DOMAIN_SEPARATOR); - if (domainIdx > -1) { - domain = iname.substring(0, domainIdx); - String qualifNamesStr = iname.substring(domainIdx + 1); - String pattern = "\\" + QUALIFIED_SEPARATOR; - qualifiedNames = qualifNamesStr.split(pattern); - } else - domain = iname; - } - - public String getDomain() { - return domain; - } - - public String[] getQualifiedNames() { - String[] results = new String[qualifiedNames.length]; - System.arraycopy(qualifiedNames, 0, results, 0, qualifiedNames.length); - return results; - } - - /*public List<Operation> getOperations() { - return operations; - }*/ - - public List<QName> getConstrains() { - return constrains; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public List<Intent> getQualifiedIntents() { - return qualifiedIntents; - } - - public List<Intent> getExcludedIntents() { - return excludedIntents; - } - - public boolean isUnresolved() { - return unresolved; - } - - public void setUnresolved(boolean unresolved) { - this.unresolved = unresolved; - } - - /** - * @see java.lang.Object#hashCode() - */ - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - QName intentName = getName(); - result = prime * result + ((intentName == null) ? 0 : intentName.hashCode()); - return result; - } - - /** - * @see java.lang.Object#equals(java.lang.Object) - */ - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (!(obj instanceof IntentImpl)) { - return false; - } - final IntentImpl other = (IntentImpl)obj; - if (getName() == null) { - if (other.getName() != null) { - return false; - } - } else if (!getName().equals(other.getName())) { - return false; - } - return true; - } - - @Override - public String toString() { - return String.valueOf(getName()); - } -} diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/IntentMapImpl.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/IntentMapImpl.java deleted file mode 100644 index aab03281ba..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/IntentMapImpl.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.policy.impl; - -import java.util.List; - -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.IntentMap; - -/** - * Represents an intent map. - * - * @version $Rev$ $Date$ - */ -public class IntentMapImpl implements IntentMap { - - private boolean unresolved; - private IntentMap defaultQualifiedIntentMap; - private List<Object> policies; - private Intent providedIntent; - private List<IntentMap> qualifiedIntentMaps; - - protected IntentMapImpl() { - } - - public IntentMap getDefaultQualifiedIntentMap() { - return defaultQualifiedIntentMap; - } - - public List<Object> getPolicies() { - return policies; - } - - public Intent getProvidedIntent() { - return providedIntent; - } - - public List<IntentMap> getQualifiedIntentMaps() { - return qualifiedIntentMaps; - } - - public void setDefaultQualifiedIntentMap(IntentMap defaultQualifiedIntentMap) { - this.defaultQualifiedIntentMap = defaultQualifiedIntentMap; - } - - public void setProvidedIntent(Intent providedIntent) { - this.providedIntent = providedIntent; - } - - public boolean isUnresolved() { - return unresolved; - } - - public void setUnresolved(boolean unresolved) { - this.unresolved = unresolved; - } -} diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicyContextImpl.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicyContextImpl.java deleted file mode 100644 index a0e2f10f56..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicyContextImpl.java +++ /dev/null @@ -1,93 +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.Hashtable;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.tuscany.sca.policy.Intent;
-import org.apache.tuscany.sca.policy.PolicyContext;
-import org.apache.tuscany.sca.policy.PolicySet;
-
-/**
- *
- * @version $Rev$ $Date$
- */
-public class PolicyContextImpl implements PolicyContext {
- private Map<Object, List<Intent>> intents = new Hashtable<Object , List<Intent>>();
- private Map<Object, List<PolicySet>> policySets = new Hashtable<Object, List<PolicySet>>();
-
- public void addIntent(Object key, Intent intent) {
- if ( intents.get(key) == null ) {
- intents.put(key, new ArrayList<Intent>());
- }
- intents.get(key).add(intent);
- }
-
- public void addIntents(Object key, List<Intent> intents) {
- if ( this.intents.get(key) == null ) {
- this.intents.put(key, new ArrayList<Intent>());
- }
- this.intents.get(key).addAll(intents);
- }
-
- public void addPolicySet(Object key, PolicySet policySet) {
- if ( policySets.get(key) == null ) {
- policySets.put(key, new ArrayList<PolicySet>());
- }
- policySets.get(key).add(policySet);
- }
-
- public void addPolicySets(Object key, List<PolicySet> policySets) {
- if ( this.policySets.get(key) == null ) {
- this.policySets.put(key, new ArrayList<PolicySet>());
- }
- this.policySets.get(key).addAll(policySets);
- }
-
- public List<Intent> getIntents(Object key) {
- if ( intents.get(key) == null ) {
- intents.put(key, new ArrayList<Intent>());
- }
- return intents.get(key);
- }
-
- public List<PolicySet> getPolicySets(Object key) {
- if ( policySets.get(key) == null ) {
- policySets.put(key, new ArrayList<PolicySet>());
- }
- return policySets.get(key);
- }
-
- public void clearIntents(Object key) {
- if ( intents.get(key) != null ) {
- intents.clear();
- }
- }
-
- public void clearPolicySets(Object key) {
- if ( policySets.get(key) != null ) {
- policySets.clear();
- }
- }
-
-}
diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicyFactoryImpl.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicyFactoryImpl.java deleted file mode 100644 index 1db29b835e..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicyFactoryImpl.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.policy.impl; - -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.IntentMap; -import org.apache.tuscany.sca.policy.PolicyFactory; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetReference; -import org.apache.tuscany.sca.policy.ProfileIntent; -import org.apache.tuscany.sca.policy.QualifiedIntent; - -/** - * A factory for the policy model. - * - * @version $Rev$ $Date$ - */ -public abstract class PolicyFactoryImpl implements PolicyFactory { - - public Intent createIntent() { - return new IntentImpl(); - } - - public PolicySetReference createPolicySetReference() { - return new PolicySetReferenceImpl(); - } - - public PolicySet createPolicySet() { - return new PolicySetImpl(); - } - - public IntentMap createIntentMap() { - return new IntentMapImpl(); - } - - public ProfileIntent createProfileIntent() { - return new ProfileIntentImpl(); - } - - public QualifiedIntent createQualifiedIntent() { - return new QualifiedIntentImpl(); - } - -} diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicySetImpl.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicySetImpl.java deleted file mode 100644 index 4bd9d5b7c7..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicySetImpl.java +++ /dev/null @@ -1,149 +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.Hashtable; -import java.util.List; -import java.util.Map; - -import javax.xml.namespace.QName; -import javax.xml.xpath.XPathExpression; - -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.PolicySet; - -/** - * Represents a policy set. - * - * @version $Rev$ $Date$ - */ -public class PolicySetImpl implements PolicySet { - - private QName name; - //private List<Operation> operations = new ArrayList<Operation>(); - //private List<QName> appliesTo; - private String appliesTo; - private List<Intent> providedIntents = new ArrayList<Intent>(); - private List<PolicySet> referencedPolicySets = new ArrayList<PolicySet>(); - private List<Object> policies = new ArrayList<Object>(); - Map<Intent, List<Object>> mappedPolicies = new Hashtable<Intent, List<Object>>(); - private boolean unresolved = true; - private String alwaysAppliesTo; - - private XPathExpression appliesToXPathExpression; - private XPathExpression alwaysAppliesToXPathExpression; - - public String getAlwaysAppliesTo() { - return alwaysAppliesTo; - } - - public void setAlwaysAppliesTo(String alwaysAppliesTo) { - this.alwaysAppliesTo = alwaysAppliesTo; - } - - protected PolicySetImpl() { - } - - public QName getName() { - return name; - } - - public void setName(QName name) { - this.name = name; - } - - /*public List<Operation> getOperations() { - return operations; - }*/ - - public String getAppliesTo() { - return appliesTo; - } - - public void setAppliesTo(String appliesTo) { - this.appliesTo = appliesTo; - } - - public List<Intent> getProvidedIntents() { - return providedIntents; - } - - public List<PolicySet> getReferencedPolicySets() { - return referencedPolicySets; - } - - public List<Object> getPolicies() { - return policies; - } - - public boolean isUnresolved() { - return unresolved; - } - - public void setUnresolved(boolean unresolved) { - this.unresolved = unresolved; - } - - public Map<Intent, List<Object>> getMappedPolicies() { - return mappedPolicies; - } - - @Override - public int hashCode() { - return String.valueOf(getName()).hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (obj == this) { - return true; - } else if (obj instanceof PolicySet) { - if (getName() != null) { - return getName().equals(((PolicySet)obj).getName()); - } else { - return ((PolicySet)obj).getName() == null; - } - } else { - return false; - } - } - - @Override - public String toString() { - return getName().toString(); - } - - public XPathExpression getAppliesToXPathExpression() { - return appliesToXPathExpression; - } - - public void setAppliesToXPathExpression(XPathExpression appliesToXPathExpression) { - this.appliesToXPathExpression = appliesToXPathExpression; - } - - public XPathExpression getAlwaysAppliesToXPathExpression() { - return alwaysAppliesToXPathExpression; - } - - public void setAlwaysAppliesToXPathExpression(XPathExpression alwaysAppliesToXPathExpression) { - this.alwaysAppliesToXPathExpression = alwaysAppliesToXPathExpression; - } - -} diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicySetReferenceImpl.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicySetReferenceImpl.java deleted file mode 100644 index 98a116fe7b..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicySetReferenceImpl.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 javax.xml.namespace.QName;
-
-import org.apache.tuscany.sca.policy.PolicySetReference;
-
-/**
- * Concrete implementation for a PolicySetReference
- *
- * @version $Rev$ $Date$
- */
-public class PolicySetReferenceImpl implements PolicySetReference {
-
- private QName referredPolicySetName = null;
-
- /*
- * @see org.apache.tuscany.sca.policy.PolicySetReference#getReferredPolicySetName()
- */
- public QName getReferredPolicySetName() {
- return referredPolicySetName;
- }
-
- /*
- * @see org.apache.tuscany.sca.policy.PolicySetReference#setReferredPolicySetName(javax.xml.namespace.QName)
- */
- public void setReferredPolicySetName(QName refPolicySetName) {
- referredPolicySetName = refPolicySetName;
- }
-
-}
diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/ProfileIntentImpl.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/ProfileIntentImpl.java deleted file mode 100644 index e5002d2cdc..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/ProfileIntentImpl.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 java.util.ArrayList;
-import java.util.List;
-
-import org.apache.tuscany.sca.policy.Intent;
-import org.apache.tuscany.sca.policy.ProfileIntent;
-
-/**
- * Concrete implementation for Profile Intent
- *
- * @version $Rev$ $Date$
- */
-public class ProfileIntentImpl extends IntentImpl implements ProfileIntent {
- private List<Intent> requiredIntents = new ArrayList<Intent>();
-
- public List<Intent> getRequiredIntents() {
- return requiredIntents;
- }
-
-}
diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/QualifiedIntentImpl.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/QualifiedIntentImpl.java deleted file mode 100644 index d6f65b1788..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/QualifiedIntentImpl.java +++ /dev/null @@ -1,50 +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.List;
-
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.sca.policy.Intent;
-import org.apache.tuscany.sca.policy.QualifiedIntent;
-
-/**
- * Models a concrete implementation of a Qualified Intent
- *
- * @version $Rev$ $Date$
- */
-public class QualifiedIntentImpl extends IntentImpl implements QualifiedIntent {
- private Intent qualifiableIntent = null;
-
- public Intent getQualifiableIntent() {
- return qualifiableIntent;
- }
-
- public void setQualifiableIntent(Intent qualifiableIntent) {
- this.qualifiableIntent = qualifiableIntent;
- }
-
- @Override
- public List<QName> getConstrains() {
- return getQualifiableIntent().getConstrains();
- }
-
-
-}
diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyComputationUtils.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyComputationUtils.java deleted file mode 100644 index 2e4c6a9d78..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyComputationUtils.java +++ /dev/null @@ -1,418 +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.Intent; -import org.apache.tuscany.sca.policy.IntentAttachPointType; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.ProfileIntent; -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.0"; - 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 SCA10_NS = "http://www.osoa.org/xmlns/sca/1.0"; - - /** - * 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, - IntentAttachPointType 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.getName() + " 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 instanceof ProfileIntent ) { - ProfileIntent profileIntent = (ProfileIntent)intent; - List<Intent> requiredIntents = profileIntent.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); - } - - if (policySet.getAlwaysAppliesTo() != null) { - addAlwaysApplicablePolicySets(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 addAlwaysApplicablePolicySets(PolicySet policySet, - Document doc) throws XPathExpressionException { - XPathExpression expression = policySet.getAlwaysAppliesToXPathExpression(); - 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 alwaysApplicablePolicySets = null; - - String policySetPrefix = - declareNamespace((Element)aResultNode, policySet.getName().getNamespaceURI()); - String policySetsAttrPrefix = - declareNamespace((Element)aResultNode, SCA10_NS); - if (aResultNode.getAttributes().getNamedItem(POLICY_SETS_ATTR) != null) { - alwaysApplicablePolicySets = - aResultNode.getAttributes().getNamedItem(POLICY_SETS_ATTR).getNodeValue(); - } - - if (alwaysApplicablePolicySets != null && alwaysApplicablePolicySets.length() > 0) { - alwaysApplicablePolicySets = - alwaysApplicablePolicySets + " " - + policySetPrefix - + ":" - + policySet.getName().getLocalPart(); - } else { - alwaysApplicablePolicySets = - policySetPrefix + ":" + policySet.getName().getLocalPart(); - } - - ((Element)aResultNode).setAttribute(POLICY_SETS_ATTR, alwaysApplicablePolicySets); - } - } - } - - 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/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyHandler.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyHandler.java deleted file mode 100644 index 1f91710f95..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyHandler.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;
-
-import org.apache.tuscany.sca.policy.PolicySet;
-
-/**
- * @deprecated This interface is replaced by PolicyProviderFactory/PolicyProvider SPIs
- * Handler interface for handling policies defined in policysets
- *
- * @version $Rev$ $Date$
- */
-@Deprecated
-public interface PolicyHandler {
- PolicySet getApplicablePolicySet();
- void setApplicablePolicySet(PolicySet policySet);
- void setUp(Object... context);
- void cleanUp(Object... context);
- void beforeInvoke(Object... context);
- void afterInvoke(Object... context);
-}
diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyHandlerDefinitionsLoader.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyHandlerDefinitionsLoader.java deleted file mode 100644 index 3a37ed3c41..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyHandlerDefinitionsLoader.java +++ /dev/null @@ -1,87 +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.io.IOException; -import java.util.ArrayList; -import java.util.Hashtable; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.extensibility.ServiceDeclaration; -import org.apache.tuscany.sca.extensibility.ServiceDiscovery; - -/** - * Utility class for loading policy handler definitions from META-INF/services directories - * - * @version $Rev$ $Date$ - */ -public class PolicyHandlerDefinitionsLoader { - - public static List<PolicyHandlerTuple> loadPolicyHandlerClassnames() { - // Get the processor service declarations - Set<ServiceDeclaration> sds; - try { - sds = ServiceDiscovery.getInstance().getServiceDeclarations(PolicyHandler.class); - } catch (IOException e) { - throw new IllegalStateException(e); - } - - List<PolicyHandlerTuple> handlerTupleList = new ArrayList<PolicyHandlerTuple>(); - - Map<Object, List<PolicyHandlerTuple>> handlerTuples = new Hashtable<Object, List<PolicyHandlerTuple>>(); - for (ServiceDeclaration sd : sds) { - Map<String, String> attributes = sd.getAttributes(); - String intentName = attributes.get("intent"); - QName intentQName = getQName(intentName); - String policyModelClassName = attributes.get("model"); - String appliesTo = attributes.get("appliesTo"); - if ( appliesTo != null && !appliesTo.startsWith("/") ) { - appliesTo = "//" + appliesTo; - } - handlerTupleList.add(new PolicyHandlerTuple(sd, sd.getClassName(), intentQName, policyModelClassName, appliesTo)); - } - - return handlerTupleList; - } - - private static QName getQName(String qname) { - if (qname == null) { - return null; - } - qname = qname.trim(); - if (qname.startsWith("{")) { - int h = qname.indexOf('}'); - if (h != -1) { - return new QName(qname.substring(1, h), qname.substring(h + 1)); - } - } else { - int h = qname.indexOf('#'); - if (h != -1) { - return new QName(qname.substring(0, h), qname.substring(h + 1)); - } - } - throw new IllegalArgumentException("Invalid qname: " + qname); - } - -} diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyHandlerTuple.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyHandlerTuple.java deleted file mode 100644 index c80e68a0be..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyHandlerTuple.java +++ /dev/null @@ -1,91 +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 javax.xml.namespace.QName;
-
-import org.apache.tuscany.sca.extensibility.ServiceDeclaration;
-
-/**
- * PolicyHanlder tuples stored in policy handler services files
- *
- * @version $Rev$ $Date$
- */
-public class PolicyHandlerTuple {
- private ServiceDeclaration declaration;
- private String policyHandlerClassName;
- private QName providedIntentName;
- private String policyModelClassName;
- private String appliesTo;
-
- public PolicyHandlerTuple(ServiceDeclaration declaration,
- String handlerClassName,
- QName providedIntentName,
- String policyModelClassName,
- String appliesTo) {
- this.declaration = declaration;
- this.policyHandlerClassName = handlerClassName;
- this.providedIntentName = providedIntentName;
- this.policyModelClassName = policyModelClassName;
- this.appliesTo = appliesTo;
- }
-
- public ServiceDeclaration getDeclaration() {
- return declaration;
- }
-
- public void setDeclaration(ServiceDeclaration declaration) {
- this.declaration = declaration;
- }
-
- public String getAppliesTo() {
- return appliesTo;
- }
-
- public void setAppliesTo(String appliesTo) {
- this.appliesTo = appliesTo;
- }
-
-
- public String getPolicyHandlerClassName() {
- return policyHandlerClassName;
- }
- public void setPolicyHandlerClassName(String policyHandlerClassName) {
- this.policyHandlerClassName = policyHandlerClassName;
- }
- public String getPolicyModelClassName() {
- return policyModelClassName;
- }
- public void setPolicyModelClassName(String policyModelClassName) {
- this.policyModelClassName = policyModelClassName;
- }
- public QName getProvidedIntentName() {
- return providedIntentName;
- }
- public void setProvidedIntentName(QName providedIntentName) {
- this.providedIntentName = providedIntentName;
- }
-
- @Override
- public String toString() {
- return policyHandlerClassName + ", " + providedIntentName + ", " + policyModelClassName + ", " + appliesTo;
- }
-
-}
diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyHandlerUtils.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyHandlerUtils.java deleted file mode 100644 index 6d6420017f..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyHandlerUtils.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.policy.util; - -import java.util.List; - -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.PolicySet; - -/** - * Utility methods to deal with PolicyHandlers - * - * @version $Rev$ $Date$ - */ -public class PolicyHandlerUtils { - public static PolicyHandler findPolicyHandler(PolicySet policySet, List<PolicyHandlerTuple> policyHandlerClassNames) - throws IllegalAccessException, ClassNotFoundException, InstantiationException { - - PolicyHandler handler = null; - - for (PolicyHandlerTuple handlerTuple : policyHandlerClassNames) { - //System.out.println(handlerTuple); - for (Intent intent : policySet.getProvidedIntents()) { - if (intent.getName().equals(handlerTuple.getProvidedIntentName())) { - for (Object policy : policySet.getPolicies()) { - if (policy.getClass().getName().equals(handlerTuple.getPolicyModelClassName())) { - if (handlerTuple.getAppliesTo() != null) { - if (handlerTuple.getAppliesTo().equals(policySet.getAppliesTo())) { - handler = (PolicyHandler)handlerTuple.getDeclaration().loadClass().newInstance(); - handler.setApplicablePolicySet(policySet); - return handler; - } - } else { - handler = (PolicyHandler)handlerTuple.getDeclaration().loadClass().newInstance(); - handler.setApplicablePolicySet(policySet); - return handler; - } - } - } - } - } - } - - return handler; - } - -} diff --git a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyValidationException.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyValidationException.java deleted file mode 100644 index eb97818042..0000000000 --- a/branches/sca-trunk-20080910/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/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyValidationUtils.java b/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyValidationUtils.java deleted file mode 100644 index afb3c035ae..0000000000 --- a/branches/sca-trunk-20080910/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyValidationUtils.java +++ /dev/null @@ -1,111 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.tuscany.sca.policy.util;
-
-import java.util.List;
-
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.sca.policy.Intent;
-import org.apache.tuscany.sca.policy.IntentAttachPoint;
-import org.apache.tuscany.sca.policy.IntentAttachPointType;
-import org.apache.tuscany.sca.policy.PolicySet;
-import org.apache.tuscany.sca.policy.PolicySetAttachPoint;
-
-/**
- * @version $Rev$ $Date$
- */
-public class PolicyValidationUtils {
-
- public static boolean isConstrained(QName constrained, IntentAttachPointType attachPointType) {
- return (attachPointType != null && attachPointType.getName().getNamespaceURI()
- .equals(constrained.getNamespaceURI()) && attachPointType.getName().getLocalPart()
- .startsWith(constrained.getLocalPart()));
- }
-
- public static void validateIntents(IntentAttachPoint attachPoint,
- IntentAttachPointType 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 (QName constrained : intent.getConstrains()) {
- if (isConstrained(constrained, attachPointType)) {
- found = true;
- break;
- }
- }
-
- if (!found) {
- throw new PolicyValidationException("Policy Intent '" + intent.getName()
- + "' does not constrain extension type "
- + attachPointType.getName());
- }
- } else {
- throw new PolicyValidationException("Policy Intent '" + intent.getName()
- + "' is not defined in this domain ");
- }
- }
- }
- }
-
- public static void validatePolicySets(PolicySetAttachPoint policySetAttachPoint)
- throws PolicyValidationException {
- validatePolicySets(policySetAttachPoint,
- policySetAttachPoint.getType(),
- policySetAttachPoint.getApplicablePolicySets());
- }
-
- public static void validatePolicySets(PolicySetAttachPoint policySetAttachPoint,
- IntentAttachPointType attachPointType)
- throws PolicyValidationException {
- validatePolicySets(policySetAttachPoint,
- attachPointType,
- policySetAttachPoint.getApplicablePolicySets());
- }
-
- public static void validatePolicySets(PolicySetAttachPoint policySetAttachPoint,
- IntentAttachPointType attachPointType,
- List<PolicySet> applicablePolicySets)
- throws PolicyValidationException {
- // Since the applicablePolicySets in a policySetAttachPoint 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 : policySetAttachPoint.getPolicySets()) {
- if (!definedPolicySet.isUnresolved()) {
- if (!applicablePolicySets.contains(definedPolicySet)) {
- throw new PolicyValidationException("Policy Set '" + definedPolicySet
- .getName()
- + "' does not apply to extension type "
- + attachPointType.getName());
- }
- } else {
- throw new PolicyValidationException("Policy Set '" + definedPolicySet.getName()
- + "' is not defined in this domain ");
-
- }
- }
- }
-}
|