You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2017/08/31 06:41:08 UTC

[1/2] camel git commit: CAMEL-11725 applied a new way of Atmosphere Framework initialization

Repository: camel
Updated Branches:
  refs/heads/master eeaca4d63 -> 781c48a44


CAMEL-11725 applied a new way of Atmosphere Framework initialization


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/181c741d
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/181c741d
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/181c741d

Branch: refs/heads/master
Commit: 181c741d09d22b1b6e8e4598cc509bd979532d0d
Parents: eeaca4d
Author: Pavlo Kletsko <pa...@greenbird.com>
Authored: Wed Aug 30 15:44:08 2017 +0200
Committer: Pavlo Kletsko <pa...@greenbird.com>
Committed: Wed Aug 30 15:44:08 2017 +0200

----------------------------------------------------------------------
 .../websocket/CamelWebSocketServlet.java        | 28 +++++++++---
 .../atmosphere/websocket/WebsocketConsumer.java | 46 ++++++++++++--------
 .../WebsocketCamelRouterTestSupport.java        | 10 ++---
 ...cketCamelRouterWithInitParamTestSupport.java | 10 ++---
 4 files changed, 58 insertions(+), 36 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/181c741d/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/CamelWebSocketServlet.java
----------------------------------------------------------------------
diff --git a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/CamelWebSocketServlet.java b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/CamelWebSocketServlet.java
index 9ddb21a..b1c169f 100644
--- a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/CamelWebSocketServlet.java
+++ b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/CamelWebSocketServlet.java
@@ -17,6 +17,7 @@
 package org.apache.camel.component.atmosphere.websocket;
 
 import java.io.IOException;
+import java.util.Map;
 import javax.servlet.ServletConfig;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
@@ -42,11 +43,9 @@ public class CamelWebSocketServlet extends CamelHttpTransportServlet {
     public void init(ServletConfig config) throws ServletException {
         super.init(config);
 
-        String eventsResendingParameter = config.getInitParameter(RESEND_ALL_WEBSOCKET_EVENTS_PARAM_KEY);
-        if ("true".equals(eventsResendingParameter)) {
-            log.debug("Events resending enabled");
-            enableEventsResending = true;
-        }
+        initParameters(config);
+
+        enrichConsumers(config);
     }
 
     @Override
@@ -86,7 +85,22 @@ public class CamelWebSocketServlet extends CamelHttpTransportServlet {
         }
         
         log.debug("Dispatching to Websocket Consumer at {}", consumer.getPath());
-        ((WebsocketConsumer)consumer).service(request, response, enableEventsResending);
+        ((WebsocketConsumer)consumer).service(request, response);
+    }
+
+    private void initParameters(ServletConfig config) {
+        String eventsResendingParameter = config.getInitParameter(RESEND_ALL_WEBSOCKET_EVENTS_PARAM_KEY);
+        if ("true".equals(eventsResendingParameter)) {
+            log.debug("Events resending enabled");
+            enableEventsResending = true;
+        }
+    }
+
+    private void enrichConsumers(ServletConfig config) throws ServletException {
+        for (Map.Entry<String, HttpConsumer> httpConsumerEntry : getConsumers().entrySet()) {
+            WebsocketConsumer consumer = (WebsocketConsumer) httpConsumerEntry.getValue();
+            consumer.configureFramework(config);
+            consumer.configureEventsResending(enableEventsResending);
+        }
     }
-    
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/181c741d/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java
index b1b9b50..08537fc 100644
--- a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java
+++ b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java
@@ -20,6 +20,7 @@ import java.io.IOException;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import javax.servlet.ServletConfig;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -28,47 +29,54 @@ import org.apache.camel.AsyncCallback;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.component.servlet.ServletConsumer;
+import org.atmosphere.cpr.AtmosphereResponseImpl;
+import org.atmosphere.cpr.AtmosphereRequestImpl;
 import org.atmosphere.cpr.ApplicationConfig;
 import org.atmosphere.cpr.AtmosphereFramework;
-import org.atmosphere.cpr.AtmosphereRequestImpl;
-import org.atmosphere.cpr.AtmosphereResponseImpl;
+import org.atmosphere.cpr.AtmosphereFrameworkInitializer;
 import org.atmosphere.websocket.WebSocketProtocol;
 
 /**
  *
  */
 public class WebsocketConsumer extends ServletConsumer {
-    private AtmosphereFramework framework;
     private boolean enableEventsResending;
     private Map<String, String> queryMap = new HashMap<>();
+    private AtmosphereFramework framework;
+    private final AtmosphereFrameworkInitializer initializer;
 
-    public WebsocketConsumer(WebsocketEndpoint endpoint, Processor processor) {
-        super(endpoint, processor);
-        this.framework = new AtmosphereFramework(false, true);
-
-        framework.setUseNativeImplementation(false);
-        framework.addInitParameter(ApplicationConfig.WEBSOCKET_SUPPORT, "true");
-        framework.addInitParameter(ApplicationConfig.WEBSOCKET_PROTOCOL, 
-            endpoint.isUseStreaming() ? WebsocketStreamHandler.class.getName() : WebsocketHandler.class.getName());
-        //REVISIT we need to disable JSR356 detection for now when using jetty-9.3 when using atmosphere-2.4.x
-        framework.addInitParameter(ApplicationConfig.WEBSOCKET_SUPPRESS_JSR356, "true");
-        framework.init();
-        
-        WebSocketProtocol wsp = framework.getWebSocketProtocol();
+    public void configureEventsResending(final boolean enableEventsResending){
+        this.enableEventsResending = enableEventsResending;
+    }
+
+    public void configureFramework(ServletConfig config) throws ServletException {
+        initializer.configureFramework(config, false, false, AtmosphereFramework.class);
+        this.framework = initializer.framework();
+        this.framework.setUseNativeImplementation(false);
+        this.framework.addInitParameter(ApplicationConfig.WEBSOCKET_SUPPORT, "true");
+        this.framework.addInitParameter(ApplicationConfig.WEBSOCKET_PROTOCOL,
+                getEndpoint().isUseStreaming() ? WebsocketStreamHandler.class.getName() : WebsocketHandler.class.getName());
+        this.framework.init(config);
+
+        WebSocketProtocol wsp = this.framework.getWebSocketProtocol();
         if (wsp instanceof WebsocketHandler) {
-            ((WebsocketHandler)wsp).setConsumer(this);            
+            ((WebsocketHandler)wsp).setConsumer(this);
         } else {
             throw new IllegalArgumentException("Unexpected WebSocketHandler: " + wsp);
         }
     }
 
+    public WebsocketConsumer(WebsocketEndpoint endpoint, Processor processor) {
+        super(endpoint, processor);
+        initializer = new AtmosphereFrameworkInitializer(false , true);
+  }
+
     @Override
     public WebsocketEndpoint getEndpoint() {
         return (WebsocketEndpoint)super.getEndpoint();
     }
     
-    void service(HttpServletRequest request, HttpServletResponse response, boolean enableEventsResending) throws IOException, ServletException {
-        this.enableEventsResending = enableEventsResending;
+    void service(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
         this.queryMap = getQueryMap(request.getQueryString());
         framework.doCometSupport(AtmosphereRequestImpl.wrap(request), AtmosphereResponseImpl.wrap(response));
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/181c741d/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterTestSupport.java
----------------------------------------------------------------------
diff --git a/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterTestSupport.java b/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterTestSupport.java
index bf98802..efc818f 100644
--- a/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterTestSupport.java
+++ b/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterTestSupport.java
@@ -42,15 +42,15 @@ public class WebsocketCamelRouterTestSupport extends CamelTestSupport {
         context.setContextPath("/");
         server.setHandler(context);
 
+        if (startCamelContext) {
+            super.setUp();
+        }
+
         servletHolder = new ServletHolder(new CamelWebSocketServlet());
         servletHolder.setName("CamelWsServlet");
         context.addServlet(servletHolder, "/*");
-        
+
         server.start();
-        
-        if (startCamelContext) {        
-            super.setUp();
-        }
     }
     
     @After

http://git-wip-us.apache.org/repos/asf/camel/blob/181c741d/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterWithInitParamTestSupport.java
----------------------------------------------------------------------
diff --git a/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterWithInitParamTestSupport.java b/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterWithInitParamTestSupport.java
index b8c5768..49dad99 100644
--- a/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterWithInitParamTestSupport.java
+++ b/components/camel-atmosphere-websocket/src/test/java/org/apache/camel/component/atmosphere/websocket/WebsocketCamelRouterWithInitParamTestSupport.java
@@ -42,16 +42,16 @@ public class WebsocketCamelRouterWithInitParamTestSupport extends CamelTestSuppo
         context.setContextPath("/");
         server.setHandler(context);
 
+        if (startCamelContext) {
+            super.setUp();
+        }
+
         servletHolder = new ServletHolder(new CamelWebSocketServlet());
         servletHolder.setName("CamelWsServlet");
         servletHolder.setInitParameter("events", "true");
         context.addServlet(servletHolder, "/*");
-        
+
         server.start();
-        
-        if (startCamelContext) {        
-            super.setUp();
-        }
     }
     
     @After


[2/2] camel git commit: CAMEL-11725 - Fixed CS

Posted by ac...@apache.org.
CAMEL-11725 - Fixed CS


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/781c48a4
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/781c48a4
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/781c48a4

Branch: refs/heads/master
Commit: 781c48a44c66fa420eda0e49651a48edd5cad235
Parents: 181c741
Author: Andrea Cosentino <an...@gmail.com>
Authored: Thu Aug 31 08:29:08 2017 +0200
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Thu Aug 31 08:29:08 2017 +0200

----------------------------------------------------------------------
 .../atmosphere/websocket/WebsocketConsumer.java | 22 +++++++++++---------
 1 file changed, 12 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/781c48a4/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java
index 08537fc..d912a2b 100644
--- a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java
+++ b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketConsumer.java
@@ -20,6 +20,7 @@ import java.io.IOException;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+
 import javax.servlet.ServletConfig;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
@@ -29,11 +30,11 @@ import org.apache.camel.AsyncCallback;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.component.servlet.ServletConsumer;
-import org.atmosphere.cpr.AtmosphereResponseImpl;
-import org.atmosphere.cpr.AtmosphereRequestImpl;
 import org.atmosphere.cpr.ApplicationConfig;
 import org.atmosphere.cpr.AtmosphereFramework;
 import org.atmosphere.cpr.AtmosphereFrameworkInitializer;
+import org.atmosphere.cpr.AtmosphereRequestImpl;
+import org.atmosphere.cpr.AtmosphereResponseImpl;
 import org.atmosphere.websocket.WebSocketProtocol;
 
 /**
@@ -45,7 +46,13 @@ public class WebsocketConsumer extends ServletConsumer {
     private AtmosphereFramework framework;
     private final AtmosphereFrameworkInitializer initializer;
 
-    public void configureEventsResending(final boolean enableEventsResending){
+
+    public WebsocketConsumer(WebsocketEndpoint endpoint, Processor processor) {
+        super(endpoint, processor);
+        initializer = new AtmosphereFrameworkInitializer(false, true);
+    }
+    
+    public void configureEventsResending(final boolean enableEventsResending) {
         this.enableEventsResending = enableEventsResending;
     }
 
@@ -55,7 +62,7 @@ public class WebsocketConsumer extends ServletConsumer {
         this.framework.setUseNativeImplementation(false);
         this.framework.addInitParameter(ApplicationConfig.WEBSOCKET_SUPPORT, "true");
         this.framework.addInitParameter(ApplicationConfig.WEBSOCKET_PROTOCOL,
-                getEndpoint().isUseStreaming() ? WebsocketStreamHandler.class.getName() : WebsocketHandler.class.getName());
+                                        getEndpoint().isUseStreaming() ? WebsocketStreamHandler.class.getName() : WebsocketHandler.class.getName());
         this.framework.init(config);
 
         WebSocketProtocol wsp = this.framework.getWebSocketProtocol();
@@ -66,16 +73,11 @@ public class WebsocketConsumer extends ServletConsumer {
         }
     }
 
-    public WebsocketConsumer(WebsocketEndpoint endpoint, Processor processor) {
-        super(endpoint, processor);
-        initializer = new AtmosphereFrameworkInitializer(false , true);
-  }
-
     @Override
     public WebsocketEndpoint getEndpoint() {
         return (WebsocketEndpoint)super.getEndpoint();
     }
-    
+
     void service(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
         this.queryMap = getQueryMap(request.getQueryString());
         framework.doCometSupport(AtmosphereRequestImpl.wrap(request), AtmosphereResponseImpl.wrap(response));