On Wed, Apr 28, 2010 at 10:51 AM, <[email protected]> wrote: > Author: rfeng > Date: Wed Apr 28 17:51:44 2010 > New Revision: 939029 > > URL: http://svn.apache.org/viewvc?rev=939029&view=rev > Log: > Fix the generated JavaScript to use tuscany.sca.Reference > Use ServletHost.getContextPath() to establish the context path > > Modified: > > tuscany/sca-java-2.x/trunk/modules/implementation-widget-runtime-dojo/src/main/java/org/apache/tuscany/sca/implementation/widget/dojo/DojoJavaScriptComponentGeneratorImpl.java > > tuscany/sca-java-2.x/trunk/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationProvider.java > > Modified: > tuscany/sca-java-2.x/trunk/modules/implementation-widget-runtime-dojo/src/main/java/org/apache/tuscany/sca/implementation/widget/dojo/DojoJavaScriptComponentGeneratorImpl.java > URL: > http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/implementation-widget-runtime-dojo/src/main/java/org/apache/tuscany/sca/implementation/widget/dojo/DojoJavaScriptComponentGeneratorImpl.java?rev=939029&r1=939028&r2=939029&view=diff > ============================================================================== > --- > tuscany/sca-java-2.x/trunk/modules/implementation-widget-runtime-dojo/src/main/java/org/apache/tuscany/sca/implementation/widget/dojo/DojoJavaScriptComponentGeneratorImpl.java > (original) > +++ > tuscany/sca-java-2.x/trunk/modules/implementation-widget-runtime-dojo/src/main/java/org/apache/tuscany/sca/implementation/widget/dojo/DojoJavaScriptComponentGeneratorImpl.java > Wed Apr 28 17:51:44 2010 > @@ -183,10 +183,10 @@ public class DojoJavaScriptComponentGene > pw.println("if (!window.tuscany) { \n" + > "window.tuscany = {}; \n" + > "}"); > - pw.println("var __tus = window.tuscany;"); > + pw.println("var tuscany = window.tuscany;"); > > - pw.println("if (!__tus.sca) { \n" + > - "__tus.sca = {}; \n" + > + pw.println("if (!tuscany.sca) { \n" + > + "tuscany.sca = {}; \n" + > "}"); > } > > @@ -197,15 +197,15 @@ public class DojoJavaScriptComponentGene > * @throws IOException > */ > private static void generateJavaScriptPropertyFunction(RuntimeComponent > component, PrintWriter pw) throws IOException { > - pw.println("__tus.sca.propertyMap = {};"); > + pw.println("tuscany.sca.propertyMap = {};"); > for(ComponentProperty property : component.getProperties()) { > String propertyName = property.getName(); > > - pw.println("__tus.sca.propertyMap." + propertyName + " = new > String(\"" + getPropertyValue(property) + "\");"); > + pw.println("tuscany.sca.propertyMap." + propertyName + " = new > String(\"" + getPropertyValue(property) + "\");"); > } > > - pw.println("__tus.sca.Property = function (name) {"); > - pw.println(" return __tus.sca.propertyMap[name];"); > + pw.println("tuscany.sca.Property = function (name) {"); > + pw.println(" return tuscany.sca.propertyMap[name];"); > pw.println("}"); > } > > @@ -238,7 +238,7 @@ public class DojoJavaScriptComponentGene > */ > private static void generateJavaScriptReferenceFunction (RuntimeComponent > component, JavascriptProxyFactoryExtensionPoint javascriptProxyFactories, > PrintWriter pw) throws IOException { > > - pw.println("__tus.sca.referenceMap = {};"); > + pw.println("tuscany.sca.referenceMap = {};"); > for(ComponentReference reference : component.getReferences()) { > for(EndpointReference epr : reference.getEndpointReferences()) { > Endpoint targetEndpoint = epr.getTargetEndpoint(); > @@ -254,13 +254,13 @@ public class DojoJavaScriptComponentGene > String referenceName = reference.getName(); > JavascriptProxyFactory jsProxyFactory = > javascriptProxyFactories.getProxyFactory(binding.getClass()); > > - pw.println("__tus.sca.referenceMap." + referenceName + " > = new " + jsProxyFactory.createJavascriptReference(reference) + ";"); > + pw.println("tuscany.sca.referenceMap." + referenceName + > " = new " + jsProxyFactory.createJavascriptReference(reference) + ";"); > } > } > } > > - pw.println("__tus.sca.Reference = function (name) {"); > - pw.println(" return __tus.sca.referenceMap[name];"); > + pw.println("tuscany.sca.Reference = function (name) {"); > + pw.println(" return tuscany.sca.referenceMap[name];"); > pw.println("}"); > } > > > Modified: > tuscany/sca-java-2.x/trunk/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationProvider.java > URL: > http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationProvider.java?rev=939029&r1=939028&r2=939029&view=diff > ============================================================================== > --- > tuscany/sca-java-2.x/trunk/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationProvider.java > (original) > +++ > tuscany/sca-java-2.x/trunk/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationProvider.java > Wed Apr 28 17:51:44 2010 > @@ -21,7 +21,10 @@ package org.apache.tuscany.sca.implement > import java.net.URI; > > import javax.servlet.Servlet; > +import javax.xml.namespace.QName; > > +import org.apache.tuscany.sca.assembly.Base; > +import org.apache.tuscany.sca.assembly.Binding; > import org.apache.tuscany.sca.assembly.ComponentService; > import org.apache.tuscany.sca.host.http.ServletHost; > import org.apache.tuscany.sca.implementation.widget.WidgetImplementation; > @@ -39,6 +42,7 @@ import org.apache.tuscany.sca.web.javasc > * @version $Rev$ $Date$ > */ > class WidgetImplementationProvider implements ImplementationProvider { > + private static final QName BINDING_HTTP = new > QName(Base.SCA11_TUSCANY_NS, "binding.http"); > > private RuntimeComponent component; > > @@ -109,12 +113,17 @@ class WidgetImplementationProvider imple > */ > private String getContextRoot() { > String contextRoot = null; > + if (servletHost != null) { > + contextRoot = servletHost.getContextPath(); > + } > > - for(ComponentService service : component.getServices()) { > - if("Widget".equals(service.getName())) { > - for(org.apache.tuscany.sca.assembly.Binding binding : > service.getBindings()) { > - if( > binding.getClass().getName().contains("HTTPBinding")) { > - contextRoot = binding.getURI(); > + if (contextRoot == null) { > + for (ComponentService service : component.getServices()) { > + if ("Widget".equals(service.getName())) { > + for (Binding binding : service.getBindings()) { > + if (binding.getType().equals(BINDING_HTTP)) { > + contextRoot = binding.getURI(); > + } > } > } > } > > >
Were you able to run embedded store application with these changes ? I have noticed that the store.js is now being registered in the wrong URI, related to the getContextPath changes. INFO: Added Servlet mapping: http://store.js:8080/ Also, I was wondering if the changes to use tuscany.sca.Reference have any implications to using this in IE as mentioned in revision #770287... -- Luciano Resende http://people.apache.org/~lresende http://twitter.com/lresende1975 http://lresende.blogspot.com/
