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/05/01 19:34:28 UTC

svn commit: r534165 - /incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java

Author: rfeng
Date: Tue May  1 10:34:27 2007
New Revision: 534165

URL: http://svn.apache.org/viewvc?view=rev&rev=534165
Log:
Add createSelfReferences(Component ...)

Modified:
    incubator/tuscany/java/sca/modules/assembly/src/main/java/org/apache/tuscany/assembly/util/CompositeUtil.java

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=534165&r1=534164&r2=534165
==============================================================================
--- 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 Tue May  1 10:34:27 2007
@@ -1001,4 +1001,25 @@
         }
     }
     
+    /**
+     * For all the services, create a corresponding self-reference
+     * @param component
+     */
+    private void createSelfReferences(Component component) {
+        for (Service service : component.getImplementation().getServices()) {
+            ComponentReference ref = assemblyFactory.createComponentReference();
+            ref.setName("$self$." + service.getName());
+            ref.getBindings().addAll(service.getBindings());
+            ComponentService componentService = assemblyFactory.createComponentService();
+            componentService.setName(component.getName() + "/" + service.getName());
+            componentService.setUnresolved(true);
+            ref.getTargets().add(componentService);
+            ref.getPolicySets().addAll(service.getPolicySets());
+            ref.getRequiredIntents().addAll(service.getRequiredIntents());
+            ref.setInterfaceContract(service.getInterfaceContract());
+            ref.setMultiplicity(Multiplicity.ONE_ONE);
+            component.getImplementation().getReferences().add(ref);
+        }
+    }
+    
 }



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