summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometServiceBindingProvider.java
diff options
context:
space:
mode:
authorfmoga <fmoga@13f79535-47bb-0310-9956-ffa450edef68>2011-05-30 19:49:17 +0000
committerfmoga <fmoga@13f79535-47bb-0310-9956-ffa450edef68>2011-05-30 19:49:17 +0000
commit54d2f552f064b26098f79ddf9389de0b405e3d7e (patch)
tree3fa6ea5a8c0f3d0409d2ac6afe4395d044775220 /sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometServiceBindingProvider.java
parentfcc065b22a21e117c0a9636bea5292a4fb2d2822 (diff)
Move from relying on the HTTP session to manual session management using sessionIds generated by the javascript on page load.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1129323 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometServiceBindingProvider.java')
-rw-r--r--sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometServiceBindingProvider.java28
1 files changed, 9 insertions, 19 deletions
diff --git a/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometServiceBindingProvider.java b/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometServiceBindingProvider.java
index 96b688aa4f..6c1d002575 100644
--- a/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometServiceBindingProvider.java
+++ b/sca-java-2.x/trunk/modules/binding-comet-runtime/src/main/java/org/apache/tuscany/sca/binding/comet/runtime/CometServiceBindingProvider.java
@@ -21,6 +21,9 @@ package org.apache.tuscany.sca.binding.comet.runtime;
import org.apache.tuscany.sca.assembly.ComponentService;
import org.apache.tuscany.sca.binding.comet.runtime.javascript.JavascriptGenerator;
+import org.apache.tuscany.sca.binding.comet.runtime.manager.CometEndpointManager;
+import org.apache.tuscany.sca.binding.comet.runtime.manager.CometOperationManager;
+import org.apache.tuscany.sca.binding.comet.runtime.manager.CometSessionManager;
import org.apache.tuscany.sca.host.http.ServletHost;
import org.apache.tuscany.sca.interfacedef.Interface;
import org.apache.tuscany.sca.interfacedef.InterfaceContract;
@@ -33,32 +36,14 @@ import org.apache.tuscany.sca.runtime.RuntimeEndpoint;
*/
public class CometServiceBindingProvider implements ServiceBindingProvider {
- /**
- * Service's endpoint.
- */
private final RuntimeEndpoint endpoint;
-
- /**
- * The underlying servlet host.
- */
private final ServletHost servletHost;
- /**
- * Constructor.
- *
- * @param endpoint
- * the given endpoint
- * @param servletHost
- * the given servlet host
- */
public CometServiceBindingProvider(final RuntimeEndpoint endpoint, final ServletHost servletHost) {
this.endpoint = endpoint;
this.servletHost = servletHost;
}
- /**
- * This method is used to start the provider.
- */
@Override
public void start() {
String deployedURI = ServletFactory.registerServlet(this.servletHost);
@@ -67,8 +52,10 @@ public class CometServiceBindingProvider implements ServiceBindingProvider {
final Interface serviceInterface = service.getInterfaceContract().getInterface();
JavascriptGenerator.generateServiceProxy(service);
for (final Operation operation : serviceInterface.getOperations()) {
+ final String url = "/" + endpoint.getService().getName() + "/" + operation.getName();
+ CometEndpointManager.add(url, endpoint);
+ CometOperationManager.add(url, operation);
JavascriptGenerator.generateMethodProxy(service, operation);
- ServletFactory.registerOperation(this.endpoint, operation);
}
}
@@ -78,6 +65,9 @@ public class CometServiceBindingProvider implements ServiceBindingProvider {
@Override
public void stop() {
ServletFactory.unregisterServlet(this.servletHost);
+ CometEndpointManager.clear();
+ CometOperationManager.clear();
+ CometSessionManager.clear();
}
@Override