summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/branches/sca-java-2.0-M5/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationProvider.java
diff options
context:
space:
mode:
authorlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2010-06-04 02:41:08 +0000
committerlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2010-06-04 02:41:08 +0000
commit05089386717195f4590b1c7c2f2061b29ce743ee (patch)
treebaaf5e99e28415743f8404642b2a59d8a5ac42fa /sca-java-2.x/branches/sca-java-2.0-M5/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationProvider.java
parent21a870046c18047f1505da9ec97180bd17920919 (diff)
TUSCANY-3565 - Registering dojo resource servlet only when implementation widget starts...
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@951244 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/branches/sca-java-2.0-M5/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationProvider.java')
-rw-r--r--sca-java-2.x/branches/sca-java-2.0-M5/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationProvider.java17
1 files changed, 15 insertions, 2 deletions
diff --git a/sca-java-2.x/branches/sca-java-2.0-M5/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationProvider.java b/sca-java-2.x/branches/sca-java-2.0-M5/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationProvider.java
index 96b1561d5c..28f041b919 100644
--- a/sca-java-2.x/branches/sca-java-2.0-M5/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationProvider.java
+++ b/sca-java-2.x/branches/sca-java-2.0-M5/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationProvider.java
@@ -28,6 +28,7 @@ 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;
+import org.apache.tuscany.sca.implementation.widget.javascript.WidgetImplementationJavascriptProvider;
import org.apache.tuscany.sca.interfacedef.Operation;
import org.apache.tuscany.sca.invocation.Invoker;
import org.apache.tuscany.sca.provider.ImplementationProvider;
@@ -46,6 +47,7 @@ class WidgetImplementationProvider implements ImplementationProvider {
private RuntimeComponent component;
+ private WidgetImplementationJavascriptProvider javascriptProvider;
private ComponentJavaScriptGenerator javaScriptGenerator;
private ServletHost servletHost;
@@ -59,9 +61,11 @@ class WidgetImplementationProvider implements ImplementationProvider {
* Constructs a new resource implementation provider.
*/
WidgetImplementationProvider(RuntimeComponent component,
- WidgetImplementation implementation,
+ WidgetImplementation implementation,
+ WidgetImplementationJavascriptProvider javascriptProvider,
ComponentJavaScriptGenerator javaScriptGenerator,
ServletHost servletHost) {
+
this.component = component;
this.javaScriptGenerator = javaScriptGenerator;
@@ -86,7 +90,6 @@ class WidgetImplementationProvider implements ImplementationProvider {
public void start() {
String baseURI = getBaseURI();
- // get the ScaDomainScriptServlet, if it doesn't yet exist create one
// this uses removeServletMapping / addServletMapping as there is no getServletMapping facility
scriptURI = URI.create(baseURI + "/" + this.widgetName + ".js").toString();
Servlet servlet = servletHost.getServletMapping(scriptURI);
@@ -95,6 +98,12 @@ class WidgetImplementationProvider implements ImplementationProvider {
widgetScriptServlet = new WidgetComponentScriptServlet(this.component, javaScriptGenerator);
servletHost.addServletMapping(scriptURI, widgetScriptServlet);
}
+
+ // If added to the class path, start dojo provider
+ if(javascriptProvider != null) {
+ javascriptProvider.start();
+ }
+
}
public void stop() {
@@ -104,6 +113,10 @@ class WidgetImplementationProvider implements ImplementationProvider {
// Remove the Servlet mapping
servletHost.removeServletMapping(scriptURI);
}
+
+ if(javascriptProvider != null) {
+ javascriptProvider.stop();
+ }
}