You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2007/07/19 22:37:49 UTC

svn commit: r557763 - in /incubator/tuscany/java/sca/modules: assembly/src/main/java/org/apache/tuscany/sca/assembly/ assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ bind...

Author: rfeng
Date: Thu Jul 19 13:37:45 2007
New Revision: 557763

URL: http://svn.apache.org/viewvc?view=rev&rev=557763
Log:
Add the WireableBinding back to support other potential wireable bindings, i.e., bindings that can handle the "target" attribute of reference

Added:
    incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/WireableBinding.java
      - copied unchanged from r557437, incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/WireableBinding.java
Modified:
    incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/SCABinding.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
    incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/SCABindingImpl.java
    incubator/tuscany/java/sca/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/SCABindingImpl.java
    incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanReferenceImpl.java
    incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/CompositeActivatorImpl.java

Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/SCABinding.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/SCABinding.java?view=diff&rev=557763&r1=557762&r2=557763
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/SCABinding.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/SCABinding.java Thu Jul 19 13:37:45 2007
@@ -23,7 +23,7 @@
  * 
  * @version $Rev$ $Date$
  */
-public interface SCABinding extends Binding, Cloneable {
+public interface SCABinding extends Binding {
     /**
      * This is a hack to navigate to the containing component
      * @return
@@ -36,36 +36,4 @@
      */
     @Deprecated
     void setComponent(Component component);
-    
-    /**
-     * Clone the binding endpoit
-     * @return
-     */
-    Object clone() throws CloneNotSupportedException;
-
-    /**
-     * @param component
-     */
-    void setTargetComponent(Component component);
-    /**
-     * @param service
-     */
-    void setTargetComponentService(ComponentService service);
-    /**
-     * @param binding
-     */
-    void setTargetBinding(Binding binding);
-    
-    /**
-     * @return
-     */
-    Binding getTargetBinding();
-    /**
-     * @return
-     */
-    Component getTargetComponent();
-    /**
-     * @return
-     */
-    ComponentService getTargetComponentService();    
 }

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=557763&r1=557762&r2=557763
==============================================================================
--- 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 Thu Jul 19 13:37:45 2007
@@ -27,6 +27,7 @@
 
 import org.apache.tuscany.sca.assembly.AssemblyFactory;
 import org.apache.tuscany.sca.assembly.Binding;
+import org.apache.tuscany.sca.assembly.WireableBinding;
 import org.apache.tuscany.sca.assembly.Component;
 import org.apache.tuscany.sca.assembly.ComponentProperty;
 import org.apache.tuscany.sca.assembly.ComponentReference;
@@ -1391,7 +1392,7 @@
         bindings.addAll(reference.getBindings());
         promotedReference.getBindings().clear();
         for (Binding binding : bindings) {
-            if ((!(binding instanceof SCABinding)) || binding.getURI() != null) {
+            if ((!(binding instanceof WireableBinding)) || binding.getURI() != null) {
                 promotedReference.getBindings().add(binding);
             }
         }
@@ -1410,7 +1411,7 @@
         }
         promotedReference.setCallback(assemblyFactory.createCallback());
         for (Binding binding : callbackBindings) {
-            if ((!(binding instanceof SCABinding)) || binding.getURI() != null) {
+            if ((!(binding instanceof WireableBinding)) || binding.getURI() != null) {
                 promotedReference.getCallback().getBindings().add(binding);
             }
         }
@@ -1591,20 +1592,22 @@
             for (Binding serviceBinding : target) {
                 if (binding.getClass() == serviceBinding.getClass()) {
                     Binding cloned = binding;
-                    // TODO: We need to clone the reference binding
-                    try {
-                        cloned = (Binding)((SCABinding)binding).clone();
-                        SCABinding endpoint = ((SCABinding)cloned);
-                        // FIXME: This is a hack to get the target component
-                        SCABinding scaBinding = service.getBinding(SCABinding.class);
-                        if (scaBinding != null) {
-                            endpoint.setTargetComponent(scaBinding.getComponent());
+                    if (binding instanceof WireableBinding) {
+                        // TODO: We need to clone the reference binding
+                        try {
+                            cloned = (Binding)((WireableBinding)binding).clone();
+                            WireableBinding endpoint = ((WireableBinding)cloned);
+                            // FIXME: This is a hack to get the target component
+                            SCABinding scaBinding = service.getBinding(SCABinding.class);
+                            if (scaBinding != null) {
+                                endpoint.setTargetComponent(scaBinding.getComponent());
+                            }
+                            endpoint.setTargetComponentService(service);
+                            endpoint.setTargetBinding(serviceBinding);
+                            cloned.setURI(serviceBinding.getURI());
+                        } catch (Exception e) {
+                            // warning("The binding doesn't support clone: " + binding.getClass().getSimpleName(), binding);
                         }
-                        endpoint.setTargetComponentService(service);
-                        endpoint.setTargetBinding(serviceBinding);
-                        cloned.setURI(serviceBinding.getURI());
-                    } catch (Exception e) {
-                        // warning("The binding doesn't support clone: " + binding.getClass().getSimpleName(), binding);
                     }
                     matched.add(cloned);
                     break;

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=557763&r1=557762&r2=557763
==============================================================================
--- 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 Thu Jul 19 13:37:45 2007
@@ -22,7 +22,7 @@
 
 import org.apache.tuscany.sca.assembly.Binding;
 import org.apache.tuscany.sca.assembly.Multiplicity;
-import org.apache.tuscany.sca.assembly.SCABinding;
+import org.apache.tuscany.sca.assembly.WireableBinding;
 
 /**
  * This class encapsulates utility methods to deal with reference definitions
@@ -68,7 +68,7 @@
                 if (count != 1) {
                     if (count == 0) {
                         for (Binding binding: bindings) {
-                            if (!(binding instanceof SCABinding) || binding.getURI()!=null) {
+                            if (!(binding instanceof WireableBinding) || binding.getURI()!=null) {
                                 return true;
                             }
                         }
@@ -80,7 +80,7 @@
                 if (count < 1) {
                     if (count == 0) {
                         for (Binding binding: bindings) {
-                            if (!(binding instanceof SCABinding) || binding.getURI()!=null) {
+                            if (!(binding instanceof WireableBinding) || binding.getURI()!=null) {
                                 return true;
                             }
                         }

Modified: incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/SCABindingImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/SCABindingImpl.java?view=diff&rev=557763&r1=557762&r2=557763
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/SCABindingImpl.java (original)
+++ incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/SCABindingImpl.java Thu Jul 19 13:37:45 2007
@@ -22,6 +22,7 @@
 import java.util.List;
 
 import org.apache.tuscany.sca.assembly.Binding;
+import org.apache.tuscany.sca.assembly.WireableBinding;
 import org.apache.tuscany.sca.assembly.Component;
 import org.apache.tuscany.sca.assembly.ComponentService;
 import org.apache.tuscany.sca.assembly.SCABinding;
@@ -33,7 +34,7 @@
  * 
  * @version $Rev$ $Date$
  */
-public class SCABindingImpl implements SCABinding {
+public class SCABindingImpl implements SCABinding, WireableBinding {
     private String name;
     private String uri;
     private List<PolicySet> policySets = new ArrayList<PolicySet>();

Modified: incubator/tuscany/java/sca/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/SCABindingImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/SCABindingImpl.java?view=diff&rev=557763&r1=557762&r2=557763
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/SCABindingImpl.java (original)
+++ incubator/tuscany/java/sca/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/SCABindingImpl.java Thu Jul 19 13:37:45 2007
@@ -55,9 +55,6 @@
     
     private Component component;
     
-    private Component targetComponent;
-    private ComponentService targetComponentService;
-    private Binding targetBinding;    
     /**
      * Constructs a new SCA binding.
      */
@@ -217,53 +214,8 @@
         return jmsBinding;     
     }      
     
-    /**
-     * @see java.lang.Object#clone()
-     */
-    @Override
     public Object clone() throws CloneNotSupportedException {
         return super.clone();
     }
 
-    /**
-     * @return the targetComponent
-     */
-    public Component getTargetComponent() {
-        return targetComponent;
-    }
-
-    /**
-     * @param targetComponent the targetComponent to set
-     */
-    public void setTargetComponent(Component targetComponent) {
-        this.targetComponent = targetComponent;
-    }
-
-    /**
-     * @return the targetComponentService
-     */
-    public ComponentService getTargetComponentService() {
-        return targetComponentService;
-    }
-
-    /**
-     * @param targetComponentService the targetComponentService to set
-     */
-    public void setTargetComponentService(ComponentService targetComponentService) {
-        this.targetComponentService = targetComponentService;
-    }
-
-    /**
-     * @return the targetBinding
-     */
-    public Binding getTargetBinding() {
-        return targetBinding;
-    }
-
-    /**
-     * @param targetBinding the targetBinding to set
-     */
-    public void setTargetBinding(Binding targetBinding) {
-        this.targetBinding = targetBinding;
-    }    
 }

Modified: incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanReferenceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanReferenceImpl.java?view=diff&rev=557763&r1=557762&r2=557763
==============================================================================
--- incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanReferenceImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanReferenceImpl.java Thu Jul 19 13:37:45 2007
@@ -20,6 +20,7 @@
 
 import org.apache.tuscany.sca.assembly.Reference;
 import org.apache.tuscany.sca.assembly.SCABinding;
+import org.apache.tuscany.sca.assembly.WireableBinding;
 import org.springframework.beans.factory.config.RuntimeBeanReference;
 
 /**
@@ -38,8 +39,8 @@
 
     public String getBeanName() {
         SCABinding binding = reference.getBinding(SCABinding.class);
-        if (binding != null) {
-            return binding.getTargetComponent().getURI();
+        if (binding instanceof WireableBinding) {
+            return ((WireableBinding) binding).getTargetComponent().getURI();
         } else {
             return null;
         }

Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/CompositeActivatorImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/CompositeActivatorImpl.java?view=diff&rev=557763&r1=557762&r2=557763
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/CompositeActivatorImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/runtime/CompositeActivatorImpl.java Thu Jul 19 13:37:45 2007
@@ -23,13 +23,13 @@
 
 import org.apache.tuscany.sca.assembly.AssemblyFactory;
 import org.apache.tuscany.sca.assembly.Binding;
+import org.apache.tuscany.sca.assembly.WireableBinding;
 import org.apache.tuscany.sca.assembly.Component;
 import org.apache.tuscany.sca.assembly.ComponentReference;
 import org.apache.tuscany.sca.assembly.ComponentService;
 import org.apache.tuscany.sca.assembly.Composite;
 import org.apache.tuscany.sca.assembly.Implementation;
 import org.apache.tuscany.sca.assembly.Reference;
-import org.apache.tuscany.sca.assembly.SCABinding;
 import org.apache.tuscany.sca.assembly.SCABindingFactory;
 import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException;
 import org.apache.tuscany.sca.assembly.builder.CompositeBuilderMonitor;
@@ -377,8 +377,8 @@
                     }
                     if (service.getCallback() != null) {
                         for (Binding binding : service.getCallback().getBindings()) {
-                            if (binding instanceof SCABinding) {
-                                if (((SCABinding)binding).getTargetComponent() != null) {
+                            if (binding instanceof WireableBinding) {
+                                if (((WireableBinding)binding).getTargetComponent() != null) {
                                     continue;
                                 }
                             }
@@ -421,13 +421,13 @@
         if (!(reference instanceof RuntimeComponentReference)) {
             return;
         }
-        if ((!(binding instanceof SCABinding)) || binding.getURI() != null || isCallback) {
+        if ((!(binding instanceof WireableBinding)) || binding.getURI() != null || isCallback) {
             // create wire if binding has an endpoint
             Component targetComponent = null;
             ComponentService targetComponentService = null;
             Binding targetBinding = null;
-            if (binding instanceof SCABinding) {
-                SCABinding endpoint = (SCABinding)binding;
+            if (binding instanceof WireableBinding) {
+                WireableBinding endpoint = (WireableBinding)binding;
                 targetComponent = endpoint.getTargetComponent();
                 targetComponentService = endpoint.getTargetComponentService();
                 targetBinding = endpoint.getTargetBinding();



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