Author: bdaniel
Date: Mon Jul 26 04:20:17 2010
New Revision: 979149

URL: http://svn.apache.org/viewvc?rev=979149&view=rev
Log:
TUSCANY-3630 Add externalAttachment model

Added:
    
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/policy/ExternalAttachment.java
   (with props)
    
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/policy/impl/ExternalAttachmentImpl.java
   (with props)
Modified:
    
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/definitions/Definitions.java
    
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/definitions/impl/DefinitionsImpl.java
    
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/definitions/util/DefinitionsUtil.java
    
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/policy/PolicyFactory.java
    
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/policy/impl/PolicyFactoryImpl.java
    
tuscany/sca-java-2.x/trunk/modules/assembly/src/test/java/org/apache/tuscany/sca/policy/PolicyFactoryTestCase.java

Modified: 
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/definitions/Definitions.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/definitions/Definitions.java?rev=979149&r1=979148&r2=979149&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/definitions/Definitions.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/definitions/Definitions.java
 Mon Jul 26 04:20:17 2010
@@ -26,6 +26,8 @@ import org.apache.tuscany.sca.policy.Imp
 import org.apache.tuscany.sca.policy.Intent;
 import org.apache.tuscany.sca.policy.PolicySet;
 
+import org.apache.tuscany.sca.policy.ExternalAttachment;
+
 
 /**
  * Represents SCA Definitions.
@@ -81,4 +83,10 @@ public interface Definitions {
      * @return a list of domain wide binding definition objects 
      */
     List<Binding> getBindings();
+    
+    /**
+     * Returns a list of external attachments
+     * @return
+     */
+    List<ExternalAttachment> getExternalAttachments();
 }

Modified: 
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/definitions/impl/DefinitionsImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/definitions/impl/DefinitionsImpl.java?rev=979149&r1=979148&r2=979149&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/definitions/impl/DefinitionsImpl.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/definitions/impl/DefinitionsImpl.java
 Mon Jul 26 04:20:17 2010
@@ -25,6 +25,7 @@ import java.util.concurrent.CopyOnWriteA
 import org.apache.tuscany.sca.assembly.Binding;
 import org.apache.tuscany.sca.definitions.Definitions;
 import org.apache.tuscany.sca.policy.BindingType;
+import org.apache.tuscany.sca.policy.ExternalAttachment;
 import org.apache.tuscany.sca.policy.ImplementationType;
 import org.apache.tuscany.sca.policy.Intent;
 import org.apache.tuscany.sca.policy.PolicySet;
@@ -41,6 +42,7 @@ public class DefinitionsImpl implements 
     private List<BindingType> bindingTypes = new 
CopyOnWriteArrayList<BindingType>();
     private List<ImplementationType> implementationTypes = new 
CopyOnWriteArrayList<ImplementationType>();
     private List<Binding> bindings = new CopyOnWriteArrayList<Binding>();
+       private List<ExternalAttachment> externalAttachments = new 
CopyOnWriteArrayList<ExternalAttachment>();
 
    
     public List<BindingType> getBindingTypes() {
@@ -70,4 +72,8 @@ public class DefinitionsImpl implements 
     public List<Binding> getBindings() {
         return bindings;
     }
+
+       public List<ExternalAttachment> getExternalAttachments() {
+               return externalAttachments ;
+       }
 }

Modified: 
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/definitions/util/DefinitionsUtil.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/definitions/util/DefinitionsUtil.java?rev=979149&r1=979148&r2=979149&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/definitions/util/DefinitionsUtil.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/definitions/util/DefinitionsUtil.java
 Mon Jul 26 04:20:17 2010
@@ -103,6 +103,8 @@ public class DefinitionsUtil {
         }        
       
         target.getBindings().addAll(source.getBindings());
+        
+        
target.getExternalAttachments().addAll(source.getExternalAttachments());
     }
     
 }

Added: 
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/policy/ExternalAttachment.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/policy/ExternalAttachment.java?rev=979149&view=auto
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/policy/ExternalAttachment.java
 (added)
+++ 
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/policy/ExternalAttachment.java
 Mon Jul 26 04:20:17 2010
@@ -0,0 +1,85 @@
+/*
+ * 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.xpath.XPathExpression;
+
+/*
+ * Represents an external attachment element. See the Policy Framework 
specification for a
+ * description of this element.
+ *
+ * @version $Rev: 937291 $ $Date: 2010-04-23 06:41:24 -0700 (Fri, 23 Apr 2010) 
$
+ * @tuscany.spi.extension.asclient
+ */
+
+
+public interface ExternalAttachment {
+       
+       /**
+        * Get the attachTo attribute
+        * @return
+        */
+       String getAttachTo();
+       
+       /**
+        * Set the attachTo attribute
+        * @param name
+        */
+       void setAttachTo(String name);
+       
+       /**
+        * Get the compiled XPath attachTo expression
+        * @return
+        */
+       XPathExpression getAttachToXPathExpression();
+       
+       /**
+        * Set the compiled XPath attachTo expression 
+        * @param expression
+        */
+       void setAttachToXPathExpression(XPathExpression expression);
+       
+       /**
+        * Get the policy sets associated with this ExternalAttachment
+        * @return
+        */
+       List<PolicySet> getPolicySets();
+       
+       /**
+        * Get the intents associated with this ExternalAttachment
+        * @return
+        */
+       List<Intent> getIntents();
+       
+        /**
+     * 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);
+}

Propchange: 
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/policy/ExternalAttachment.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: 
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/policy/PolicyFactory.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/policy/PolicyFactory.java?rev=979149&r1=979148&r2=979149&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/policy/PolicyFactory.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/policy/PolicyFactory.java
 Mon Jul 26 04:20:17 2010
@@ -64,4 +64,9 @@ public interface PolicyFactory {
     BindingType createBindingType();
     ImplementationType createImplementationType();
 
+    /**
+     * Create a new ExternalAttachment
+     * @return
+     */
+    ExternalAttachment createExternalAttachment();
 }

Added: 
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/policy/impl/ExternalAttachmentImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/policy/impl/ExternalAttachmentImpl.java?rev=979149&view=auto
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/policy/impl/ExternalAttachmentImpl.java
 (added)
+++ 
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/policy/impl/ExternalAttachmentImpl.java
 Mon Jul 26 04:20:17 2010
@@ -0,0 +1,76 @@
+/*
+ * 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.xpath.XPathExpression;
+
+import org.apache.tuscany.sca.policy.ExternalAttachment;
+
+import org.apache.tuscany.sca.policy.Intent;
+import org.apache.tuscany.sca.policy.PolicySet;
+
+/**
+ * An implementation of ExternalAttachment
+ *
+ */
+public class ExternalAttachmentImpl implements ExternalAttachment {
+       
+       private String attachTo;
+       private List<Intent> intents = new ArrayList<Intent>();
+       private List<PolicySet> policySets = new ArrayList<PolicySet>();
+       private XPathExpression xpath;
+       private boolean isUnresolved;
+       
+
+       public String getAttachTo() {
+               return attachTo;
+       }
+
+       public void setAttachTo(String attachTo) {
+               this.attachTo = attachTo;       
+       }
+
+       public List<PolicySet> getPolicySets() {
+               return this.policySets;
+       }
+
+       public List<Intent> getIntents() {
+               return this.intents;
+       }
+
+       public XPathExpression getAttachToXPathExpression() {
+               return this.xpath;
+       }
+
+       public void setAttachToXPathExpression(XPathExpression expression) {
+               this.xpath = expression;                
+       }
+
+       public boolean isUnresolved() {
+               return this.isUnresolved;
+       }
+
+       public void setUnresolved(boolean unresolved) {
+               this.isUnresolved = unresolved;         
+       }
+
+}

Propchange: 
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/policy/impl/ExternalAttachmentImpl.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: 
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/policy/impl/PolicyFactoryImpl.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/policy/impl/PolicyFactoryImpl.java?rev=979149&r1=979148&r2=979149&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/policy/impl/PolicyFactoryImpl.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/policy/impl/PolicyFactoryImpl.java
 Mon Jul 26 04:20:17 2010
@@ -28,6 +28,8 @@ import org.apache.tuscany.sca.policy.Pol
 import org.apache.tuscany.sca.policy.PolicySet;
 import org.apache.tuscany.sca.policy.Qualifier;
 
+import org.apache.tuscany.sca.policy.ExternalAttachment;
+
 /**
  * A factory for the policy model.
  * 
@@ -66,5 +68,9 @@ public abstract class PolicyFactoryImpl 
     public ExtensionType createExtensionType() {
         return new ExtensionTypeImpl();
     }
+    
+    public ExternalAttachment createExternalAttachment() {
+       return new ExternalAttachmentImpl();
+    }
 
 }

Modified: 
tuscany/sca-java-2.x/trunk/modules/assembly/src/test/java/org/apache/tuscany/sca/policy/PolicyFactoryTestCase.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/assembly/src/test/java/org/apache/tuscany/sca/policy/PolicyFactoryTestCase.java?rev=979149&r1=979148&r2=979149&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/assembly/src/test/java/org/apache/tuscany/sca/policy/PolicyFactoryTestCase.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/assembly/src/test/java/org/apache/tuscany/sca/policy/PolicyFactoryTestCase.java
 Mon Jul 26 04:20:17 2010
@@ -52,4 +52,22 @@ public class PolicyFactoryTestCase {
         policySet.setName(new QName("http://test";, "reliability"));
         assertEquals(policySet.getName(), new QName("http://test";, 
"reliability"));
     }
+    
+    @Test
+    public void testCreateExternalAttachment() {
+       ExternalAttachment attachment = factory.createExternalAttachment();     
+       attachment.setAttachTo("sca:component");
+       
+       Intent intent = factory.createIntent();
+       intent.setName(new QName("http://test";, "reliability"));
+       attachment.getIntents().add(intent);
+       
+       PolicySet policySet = factory.createPolicySet();
+       policySet.setName(new QName("http://test";, "reliability"));
+       attachment.getPolicySets().add(policySet);
+           
+       assertEquals("sca:component", attachment.getAttachTo());
+       assertEquals(intent, attachment.getIntents().get(0));
+       assertEquals(policySet, attachment.getPolicySets().get(0));
+    }
 }


Reply via email to