You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by js...@apache.org on 2007/04/13 19:06:29 UTC

svn commit: r528553 - in /incubator/tuscany/java/sca/modules: ./ assembly/src/main/java/org/apache/tuscany/assembly/ assembly/src/main/java/org/apache/tuscany/assembly/impl/ assembly/src/main/java/org/apache/tuscany/assembly/util/ implementation-script/

Author: jsdelfino
Date: Fri Apr 13 10:06:27 2007
New Revision: 528553

URL: http://svn.apache.org/viewvc?view=rev&rev=528553
Log:
Keep track of what CompositeReferences promote ComponentReferences and what CompositeServices promote ComponentServices.

Modified:
    incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/ComponentReference.java
    incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/ComponentService.java
    incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/ComponentReferenceImpl.java
    incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/ComponentServiceImpl.java
    incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/CompositeImpl.java
    incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java
    incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/ReferenceUtil.java
    incubator/tuscany/java/sca/modules/implementation-script/pom.xml
    incubator/tuscany/java/sca/modules/pom.xml

Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/ComponentReference.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/ComponentReference.java?view=diff&rev=528553&r1=528552&r2=528553
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/ComponentReference.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/ComponentReference.java Fri Apr 13 10:06:27 2007
@@ -18,6 +18,8 @@
  */
 package org.apache.tuscany.assembly;
 
+import java.util.List;
+
 /**
  * An instance of a reference associated with a particular component.
  * 
@@ -53,4 +55,13 @@
      */
     void setAutowire(boolean autowire);
 
+
+    /**
+     * Derived relationship. Returns the list of composite references that
+     * promote this reference.
+     *  
+     * @return
+     */
+    List<CompositeReference> promotedAs();
+    
 }

Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/ComponentService.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/ComponentService.java?view=diff&rev=528553&r1=528552&r2=528553
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/ComponentService.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/ComponentService.java Fri Apr 13 10:06:27 2007
@@ -18,6 +18,8 @@
  */
 package org.apache.tuscany.assembly;
 
+import java.util.List;
+
 /**
  * An addressable instance of a service associated with a particular component.
  * 
@@ -39,4 +41,12 @@
      */
     void setService(Service service);
 
+    /**
+     * Derived relationship. Returns the list of composite services that
+     * promote this service.
+     *  
+     * @return
+     */
+    List<CompositeService> promotedAs();
+    
 }

Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/ComponentReferenceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/ComponentReferenceImpl.java?view=diff&rev=528553&r1=528552&r2=528553
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/ComponentReferenceImpl.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/ComponentReferenceImpl.java Fri Apr 13 10:06:27 2007
@@ -19,7 +19,11 @@
 
 package org.apache.tuscany.assembly.impl;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.apache.tuscany.assembly.ComponentReference;
+import org.apache.tuscany.assembly.CompositeReference;
 import org.apache.tuscany.assembly.Reference;
 
 /**
@@ -30,6 +34,7 @@
 public class ComponentReferenceImpl extends ReferenceImpl implements ComponentReference {
     private Reference reference;
     private boolean autowire;
+    private List<CompositeReference> promotedAs = new ArrayList<CompositeReference>();
 
     /**
      * Constructs a new component reference.
@@ -62,4 +67,9 @@
     public void setAutowire(boolean autowire) {
         this.autowire = autowire;
     }
+
+    public List<CompositeReference> promotedAs() {
+        return promotedAs;
+    }
+    
 }

Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/ComponentServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/ComponentServiceImpl.java?view=diff&rev=528553&r1=528552&r2=528553
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/ComponentServiceImpl.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/ComponentServiceImpl.java Fri Apr 13 10:06:27 2007
@@ -19,7 +19,11 @@
 
 package org.apache.tuscany.assembly.impl;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.apache.tuscany.assembly.ComponentService;
+import org.apache.tuscany.assembly.CompositeService;
 import org.apache.tuscany.assembly.Service;
 
 /**
@@ -29,6 +33,7 @@
  */
 public class ComponentServiceImpl extends ServiceImpl implements ComponentService {
     private Service service;
+    private List<CompositeService> promotedAs = new ArrayList<CompositeService>();
     
     /**
      * Constructs a new component service.
@@ -53,4 +58,7 @@
         this.service = service;
     }
 
+    public List<CompositeService> promotedAs() {
+        return promotedAs;
+    }
 }

Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/CompositeImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/CompositeImpl.java?view=diff&rev=528553&r1=528552&r2=528553
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/CompositeImpl.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/impl/CompositeImpl.java Fri Apr 13 10:06:27 2007
@@ -25,11 +25,9 @@
 import javax.xml.namespace.QName;
 
 import org.apache.tuscany.assembly.Component;
-import org.apache.tuscany.assembly.ComponentType;
 import org.apache.tuscany.assembly.Composite;
 import org.apache.tuscany.assembly.CompositeReference;
 import org.apache.tuscany.assembly.CompositeService;
-import org.apache.tuscany.assembly.ConstrainingType;
 import org.apache.tuscany.assembly.Property;
 import org.apache.tuscany.assembly.Reference;
 import org.apache.tuscany.assembly.Service;

Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java?view=diff&rev=528553&r1=528552&r2=528553
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java Fri Apr 13 10:06:27 2007
@@ -20,10 +20,8 @@
 
 import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
 
 import org.apache.tuscany.assembly.AssemblyFactory;
 import org.apache.tuscany.assembly.Base;
@@ -288,7 +286,6 @@
         // Index and bind all component services and references
         Map<String, ComponentService> componentServices = new HashMap<String, ComponentService>();
         Map<String, ComponentReference> componentReferences = new HashMap<String, ComponentReference>();
-        Set<ComponentReference> promotedComponentReferences = new HashSet<ComponentReference>();
         
         for (Component component : composite.getComponents()) {
             int i =0;
@@ -332,6 +329,7 @@
                 ComponentService resolved = componentServices.get(componentService.getName());
                 if (resolved != null) {
                     compositeService.setPromotedService(resolved);
+                    resolved.promotedAs().add(compositeService);
                 } else {
                     problems.add(compositeService);
                 }
@@ -348,7 +346,7 @@
                         componentReferences.get(componentReference.getName());
                     if (resolved != null) {
                         promotedReferences.set(i, resolved);
-                        promotedComponentReferences.add(resolved);
+                        resolved.promotedAs().add(compositeReference);
                     } else {
                         problems.add(compositeReference);
                     }
@@ -428,11 +426,10 @@
         // Validate that references are wired or promoted, according
         // to their multiplicity
         for (ComponentReference componentReference : componentReferences.values()) {
-            boolean promoted = promotedComponentReferences.contains(componentReference);
             if (!ReferenceUtil.validateMultiplicityAndTargets(
                                                               componentReference.getMultiplicity(), 
                                                               componentReference.getTargets(),
-                                                              promoted)) {
+                                                              componentReference.promotedAs())) {
                 problems.add(componentReference);
             }
          }

Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/ReferenceUtil.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/ReferenceUtil.java?view=diff&rev=528553&r1=528552&r2=528553
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/ReferenceUtil.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/ReferenceUtil.java Fri Apr 13 10:06:27 2007
@@ -43,14 +43,13 @@
     }
     
     public static boolean validateMultiplicityAndTargets(Multiplicity multiplicity,
-                                                         List<?> targets, boolean promoted) {
+                                                         List<?> targets, List<?> promotedAs) {
         
         // Count targets
         int count = targets.size();
-        if (promoted) {
+        if (!promotedAs.isEmpty()) {
             if (count == 0) {
-                // A promoted reference counts as one target
-                count = 1;
+                count = promotedAs.size();
             } else {
                 // A reference cannot be promoted and wired at the same time
                 return false;

Modified: incubator/tuscany/java/sca/modules/implementation-script/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-script/pom.xml?view=diff&rev=528553&r1=528552&r2=528553
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-script/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/implementation-script/pom.xml Fri Apr 13 10:06:27 2007
@@ -78,12 +78,14 @@
             <version>1.0-incubating-SNAPSHOT</version>
         </dependency>
 
+<!--
         <dependency>
             <groupId>org.apache.bsf</groupId>
             <artifactId>bsf-all</artifactId>
             <version>3.0-beta1-SNAPSHOT</version>
             <scope>compile</scope>
         </dependency>
+-->
 
         <dependency>
             <groupId>asm</groupId>

Modified: incubator/tuscany/java/sca/modules/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/pom.xml?view=diff&rev=528553&r1=528552&r2=528553
==============================================================================
--- incubator/tuscany/java/sca/modules/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/pom.xml Fri Apr 13 10:06:27 2007
@@ -39,12 +39,14 @@
                 <module>assembly</module>
                 <module>assembly-xml</module>
                 <!--
-                <module>binding-axis2</module>
                 <module>binding-jms</module>
                 <module>binding-jsonrpc</module>
                 <module>binding-rmi</module>
                 -->
                 <module>binding-ws</module>
+                <!--
+                <module>binding-ws-axis2</module>
+                -->
                 <module>binding-ws-xml</module>
                 <module>contribution</module>
                 <module>contribution-impl</module>
@@ -54,11 +56,11 @@
                 <module>core-spring</module>
                 <module>databinding</module>
                 <module>databinding-axiom</module>
-                <!--
                 <module>core-databinding</module>
                 <module>databinding-jaxb</module>
                 <module>databinding-sdo</module>
                 <module>databinding-sdo-axiom</module>
+                <!--
                 <module>discovery-jms</module>
                 -->
                 <module>host-embedded</module>



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org