Author: lresende
Date: Mon Jun 23 14:17:38 2008
New Revision: 670758

URL: http://svn.apache.org/viewvc?rev=670758&view=rev
Log:
Fixing problem where generated javaScript had duplicated js clients if 
composite had multiple references using same bindign type

Modified:
    
tuscany/java/sca/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationInvoker.java

Modified: 
tuscany/java/sca/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationInvoker.java
URL: 
http://svn.apache.org/viewvc/tuscany/java/sca/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationInvoker.java?rev=670758&r1=670757&r2=670758&view=diff
==============================================================================
--- 
tuscany/java/sca/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationInvoker.java
 (original)
+++ 
tuscany/java/sca/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationInvoker.java
 Mon Jun 23 14:17:38 2008
@@ -27,6 +27,8 @@
 import java.net.MalformedURLException;
 import java.net.URI;
 import java.net.URL;
+import java.util.HashMap;
+import java.util.Map;
 
 import org.apache.tuscany.sca.assembly.Binding;
 import org.apache.tuscany.sca.assembly.ComponentProperty;
@@ -108,11 +110,18 @@
         pw.println("/* Apache Tuscany SCA Widget header */");
         pw.println();
         
+        Map<String, Boolean> bindingClientProcessed = new HashMap<String, 
Boolean>();
+        
         for(ComponentReference reference : component.getReferences()) {
             for(Binding binding : reference.getBindings()) {
                 String bindingProxyName = 
WidgetProxyHelper.getJavaScriptProxyFile(binding.getClass().getName());
-                if(bindingProxyName != null) {
-                    generateJavaScriptBindingProxy(pw,bindingProxyName);
+                //check if binding client code was already processed and 
inject to the generated script
+                Boolean processedFlag = 
bindingClientProcessed.get(bindingProxyName);
+                if( processedFlag == null || processedFlag.booleanValue() == 
false) {
+                    if(bindingProxyName != null) {
+                        generateJavaScriptBindingProxy(pw,bindingProxyName);
+                        bindingClientProcessed.put(bindingProxyName, 
Boolean.TRUE);
+                    }
                 }
             }
         }


Reply via email to