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/05/16 09:55:59 UTC

svn commit: r538463 - in /incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly: ComponentReference.java ComponentService.java builder/impl/CompositeBuilderImpl.java builder/impl/ReferenceUtil.java

Author: jsdelfino
Date: Wed May 16 00:55:58 2007
New Revision: 538463

URL: http://svn.apache.org/viewvc?view=rev&rev=538463
Log:
Removed promotedAs() workaround methods, not necessary anymore.

Modified:
    incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentReference.java
    incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentService.java
    incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderImpl.java
    incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ReferenceUtil.java

Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentReference.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentReference.java?view=diff&rev=538463&r1=538462&r2=538463
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentReference.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentReference.java Wed May 16 00:55:58 2007
@@ -18,7 +18,6 @@
  */
 package org.apache.tuscany.sca.assembly;
 
-import java.util.List;
 
 /**
  * An instance of a reference associated with a particular component.
@@ -56,14 +55,6 @@
     void setAutowire(boolean autowire);
 
 
-    /**
-     * Derived relationship. Returns the list of composite references that
-     * promote this reference.
-     *  
-     * @return
-     */
-    List<CompositeReference> promotedAs();
-    
     /**
      * Clone the component reference.
      * 

Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentService.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentService.java?view=diff&rev=538463&r1=538462&r2=538463
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentService.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentService.java Wed May 16 00:55:58 2007
@@ -18,7 +18,6 @@
  */
 package org.apache.tuscany.sca.assembly;
 
-import java.util.List;
 
 /**
  * An addressable instance of a service associated with a particular component.
@@ -41,14 +40,6 @@
      */
     void setService(Service service);
 
-    /**
-     * Derived relationship. Returns the list of composite services that
-     * promote this service.
-     *  
-     * @return
-     */
-    List<CompositeService> promotedAs();
-    
     /**
      * Clone the component service.
      * 

Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderImpl.java?view=diff&rev=538463&r1=538462&r2=538463
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderImpl.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderImpl.java Wed May 16 00:55:58 2007
@@ -667,7 +667,6 @@
 
                     // Point to the resolved component service
                     compositeService.setPromotedService(promotedService);
-                    promotedService.promotedAs().add(compositeService);
 
                     // Use the interface contract from the component service if
                     // none is specified on the composite service
@@ -722,7 +721,6 @@
 
                         // Point to the resolved component reference
                         promotedReferences.set(i, componentReference);
-                        componentReference.promotedAs().add(compositeReference);
 
                         // Use the interface contract from the component
                         // reference if none
@@ -1201,7 +1199,7 @@
         // to their multiplicity
         for (ComponentReference componentReference : componentReferences.values()) {
             if (!ReferenceUtil.validateMultiplicityAndTargets(componentReference.getMultiplicity(), componentReference
-                .getTargets(), componentReference.promotedAs())) {
+                .getTargets(), componentReference.getBindings())) {
                 if (componentReference.getTargets().isEmpty()) {
                     warning("No targets for reference: " + componentReference.getName(), composite);
                 } else {

Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ReferenceUtil.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ReferenceUtil.java?view=diff&rev=538463&r1=538462&r2=538463
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ReferenceUtil.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ReferenceUtil.java Wed May 16 00:55:58 2007
@@ -20,7 +20,9 @@
 
 import java.util.List;
 
+import org.apache.tuscany.sca.assembly.Binding;
 import org.apache.tuscany.sca.assembly.Multiplicity;
+import org.apache.tuscany.sca.assembly.SCABinding;
 
 /**
  * This class encapsulates utility methods to deal with reference definitions
@@ -43,21 +45,13 @@
     }
     
     static boolean validateMultiplicityAndTargets(Multiplicity multiplicity,
-                                                         List<?> targets, List<?> promotedAs) {
+                                                         List<?> targets, List<Binding> bindings) {
         
         // Count targets
         int count = targets.size();
-        if (!promotedAs.isEmpty()) {
-            if (count == 0) {
-                count = promotedAs.size();
-            } else {
-                // A reference cannot be promoted and wired at the same time
-                return false;
-            }
-        }
         
         //FIXME workaround, this validation is sometimes invoked too early
-        // because we get a chance to init the multiplicity attribute
+        // before we get a chance to init the multiplicity attribute
         if (multiplicity == null) {
             return true;
         }
@@ -72,11 +66,25 @@
                 break;
             case ONE_ONE:
                 if (count != 1) {
+                    if (count == 0) {
+                        for (Binding binding: bindings) {
+                            if (!(binding instanceof SCABinding)) {
+                                return true;
+                            }
+                        }
+                    }
                     return false;
                 }
                 break;
             case ONE_N:
                 if (count < 1) {
+                    if (count == 0) {
+                        for (Binding binding: bindings) {
+                            if (!(binding instanceof SCABinding)) {
+                                return true;
+                            }
+                        }
+                    }
                     return false;
                 }
                 break;



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