You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2014/08/13 10:31:51 UTC

[1/4] git commit: CAMEL-7691: camel-serlvet - Potential NPE if no servlet name configured for osgi

Repository: camel
Updated Branches:
  refs/heads/camel-2.12.x 13b5793f7 -> 7507c4928
  refs/heads/camel-2.13.x 9a4eb50ff -> 82a54b5fb
  refs/heads/master fb7752760 -> 0d842d123


CAMEL-7691: camel-serlvet - Potential NPE if no servlet name configured for osgi


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

Branch: refs/heads/camel-2.13.x
Commit: 82a54b5fb8eae8d515e4dc0084f17f81b99b8a7c
Parents: 9a4eb50
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Aug 13 10:25:17 2014 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Aug 13 10:31:13 2014 +0200

----------------------------------------------------------------------
 .../servlet/osgi/OsgiServletRegisterer.java     | 28 ++++++++++++++------
 1 file changed, 20 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/82a54b5f/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/osgi/OsgiServletRegisterer.java
----------------------------------------------------------------------
diff --git a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/osgi/OsgiServletRegisterer.java b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/osgi/OsgiServletRegisterer.java
index 6c786ad..429f9e5 100644
--- a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/osgi/OsgiServletRegisterer.java
+++ b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/osgi/OsgiServletRegisterer.java
@@ -20,6 +20,7 @@ import java.util.Dictionary;
 import java.util.Hashtable;
 import javax.servlet.http.HttpServlet;
 
+import org.apache.camel.util.ObjectHelper;
 import org.osgi.service.http.HttpContext;
 import org.osgi.service.http.HttpService;
 
@@ -38,8 +39,11 @@ public class OsgiServletRegisterer {
      * of the form "/" is used to denote the root alias.
      */
     private String alias;
-    
-    private String servletName;
+
+    /**
+     * The servlet name.
+     */
+    private String servletName = "CamelServlet";
 
     /**
      * Servlet to be registered
@@ -47,14 +51,16 @@ public class OsgiServletRegisterer {
     private HttpServlet servlet;
     
     /**
-     * HttpService to register with. Get this with osgi:reference in the spring
-     * context
+     * HttpService to register with. Get this with osgi:reference in the blueprint/spring-dm file
      */
     private HttpService httpService;
     
     private HttpContext httpContext;
     
     private boolean alreadyRegistered;
+
+    // The servlet will default have to match on uri prefix as some endpoints may do so
+    private volatile boolean matchOnUriPrefix = true;
     
     public void setHttpService(HttpService httpService) {
         this.httpService = httpService;
@@ -75,14 +81,20 @@ public class OsgiServletRegisterer {
     public void setHttpContext(HttpContext httpContext) {
         this.httpContext = httpContext;
     }
- 
+
+    public void setMatchOnUriPrefix(boolean matchOnUriPrefix) {
+        this.matchOnUriPrefix = matchOnUriPrefix;
+    }
+
     public void register() throws Exception {
-        HttpContext actualHttpContext = (httpContext == null) 
+        ObjectHelper.notEmpty(alias, "alias", this);
+        ObjectHelper.notEmpty(servletName, "servletName", this);
+
+        HttpContext actualHttpContext = (httpContext == null)
             ? httpService.createDefaultHttpContext()
             : httpContext;
         final Dictionary<String, String> initParams = new Hashtable<String, String>();
-        // The servlet will always have to match on uri prefix as some endpoints may do so
-        initParams.put("matchOnUriPrefix", "true");
+        initParams.put("matchOnUriPrefix", matchOnUriPrefix ? "true" : "false");
         initParams.put("servlet-name", servletName);
         httpService.registerServlet(alias, servlet, initParams, actualHttpContext);
         alreadyRegistered = true;


[4/4] git commit: Polished

Posted by da...@apache.org.
Polished


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

Branch: refs/heads/master
Commit: 0d842d123b637b15fddbb124219611eef53caf49
Parents: f070a83
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Aug 13 10:25:44 2014 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Aug 13 10:31:39 2014 +0200

----------------------------------------------------------------------
 .../camel-example-servlet-rest-tomcat/pom.xml   | 24 ++++----------------
 .../camel/example/rest/UserRouteBuilder.java    |  5 ----
 2 files changed, 4 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/0d842d12/examples/camel-example-servlet-rest-tomcat/pom.xml
----------------------------------------------------------------------
diff --git a/examples/camel-example-servlet-rest-tomcat/pom.xml b/examples/camel-example-servlet-rest-tomcat/pom.xml
index 5804e59..3f68013 100755
--- a/examples/camel-example-servlet-rest-tomcat/pom.xml
+++ b/examples/camel-example-servlet-rest-tomcat/pom.xml
@@ -46,10 +46,11 @@
       <groupId>org.apache.camel</groupId>
       <artifactId>camel-servlet</artifactId>
     </dependency>
+
+    <!-- swagger api -->
     <dependency>
       <groupId>org.apache.camel</groupId>
       <artifactId>camel-swagger</artifactId>
-      <version>${project.version}</version>
     </dependency>
 
     <!-- use for json binding -->
@@ -64,23 +65,6 @@
       <artifactId>spring-web</artifactId>
     </dependency>
 
-    <!-- swagger -->
-    <dependency>
-      <groupId>com.wordnik</groupId>
-      <artifactId>swagger-annotations</artifactId>
-      <version>1.3.7</version>
-    </dependency>
-    <dependency>
-      <groupId>com.wordnik</groupId>
-      <artifactId>swagger-jaxrs_2.10</artifactId>
-      <version>1.3.7</version>
-    </dependency>
-    <dependency>
-      <groupId>com.wordnik</groupId>
-      <artifactId>swagger-servlet_2.10</artifactId>
-      <version>1.3.7</version>
-    </dependency>
-
     <!-- logging -->
     <dependency>
       <groupId>log4j</groupId>
@@ -94,19 +78,19 @@
       <groupId>ch.qos.logback</groupId>
       <artifactId>logback-classic</artifactId>
       <version>1.0.13</version>
-      <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>ch.qos.logback</groupId>
       <artifactId>logback-core</artifactId>
       <version>1.0.13</version>
-      <scope>compile</scope>
     </dependency>
   </dependencies>
 
   <build>
+    <!-- we do not want version in the WAR name -->
     <finalName>${project.artifactId}</finalName>
 
+    <!-- allows running this example with mvn:jetty-run -->
     <plugins>
       <plugin>
         <groupId>org.eclipse.jetty</groupId>

http://git-wip-us.apache.org/repos/asf/camel/blob/0d842d12/examples/camel-example-servlet-rest-tomcat/src/main/java/org/apache/camel/example/rest/UserRouteBuilder.java
----------------------------------------------------------------------
diff --git a/examples/camel-example-servlet-rest-tomcat/src/main/java/org/apache/camel/example/rest/UserRouteBuilder.java b/examples/camel-example-servlet-rest-tomcat/src/main/java/org/apache/camel/example/rest/UserRouteBuilder.java
index 0bcdf36..0f6fbd5 100644
--- a/examples/camel-example-servlet-rest-tomcat/src/main/java/org/apache/camel/example/rest/UserRouteBuilder.java
+++ b/examples/camel-example-servlet-rest-tomcat/src/main/java/org/apache/camel/example/rest/UserRouteBuilder.java
@@ -16,13 +16,8 @@
  */
 package org.apache.camel.example.rest;
 
-import com.wordnik.swagger.config.SwaggerConfig;
-import com.wordnik.swagger.model.ApiListing;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.swagger.RestSwaggerReader;
 import org.apache.camel.model.rest.RestBindingMode;
-import org.apache.camel.model.rest.RestDefinition;
-import scala.Option;
 
 /**
  * Define REST services using the Camel REST DSL


[2/4] git commit: CAMEL-7691: camel-serlvet - Potential NPE if no servlet name configured for osgi

Posted by da...@apache.org.
CAMEL-7691: camel-serlvet - Potential NPE if no servlet name configured for osgi


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

Branch: refs/heads/camel-2.12.x
Commit: 7507c4928e937122d679fdfecbc15f02f7060024
Parents: 13b5793
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Aug 13 10:25:17 2014 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Aug 13 10:31:29 2014 +0200

----------------------------------------------------------------------
 .../servlet/osgi/OsgiServletRegisterer.java     | 28 ++++++++++++++------
 1 file changed, 20 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/7507c492/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/osgi/OsgiServletRegisterer.java
----------------------------------------------------------------------
diff --git a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/osgi/OsgiServletRegisterer.java b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/osgi/OsgiServletRegisterer.java
index 6c786ad..429f9e5 100644
--- a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/osgi/OsgiServletRegisterer.java
+++ b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/osgi/OsgiServletRegisterer.java
@@ -20,6 +20,7 @@ import java.util.Dictionary;
 import java.util.Hashtable;
 import javax.servlet.http.HttpServlet;
 
+import org.apache.camel.util.ObjectHelper;
 import org.osgi.service.http.HttpContext;
 import org.osgi.service.http.HttpService;
 
@@ -38,8 +39,11 @@ public class OsgiServletRegisterer {
      * of the form "/" is used to denote the root alias.
      */
     private String alias;
-    
-    private String servletName;
+
+    /**
+     * The servlet name.
+     */
+    private String servletName = "CamelServlet";
 
     /**
      * Servlet to be registered
@@ -47,14 +51,16 @@ public class OsgiServletRegisterer {
     private HttpServlet servlet;
     
     /**
-     * HttpService to register with. Get this with osgi:reference in the spring
-     * context
+     * HttpService to register with. Get this with osgi:reference in the blueprint/spring-dm file
      */
     private HttpService httpService;
     
     private HttpContext httpContext;
     
     private boolean alreadyRegistered;
+
+    // The servlet will default have to match on uri prefix as some endpoints may do so
+    private volatile boolean matchOnUriPrefix = true;
     
     public void setHttpService(HttpService httpService) {
         this.httpService = httpService;
@@ -75,14 +81,20 @@ public class OsgiServletRegisterer {
     public void setHttpContext(HttpContext httpContext) {
         this.httpContext = httpContext;
     }
- 
+
+    public void setMatchOnUriPrefix(boolean matchOnUriPrefix) {
+        this.matchOnUriPrefix = matchOnUriPrefix;
+    }
+
     public void register() throws Exception {
-        HttpContext actualHttpContext = (httpContext == null) 
+        ObjectHelper.notEmpty(alias, "alias", this);
+        ObjectHelper.notEmpty(servletName, "servletName", this);
+
+        HttpContext actualHttpContext = (httpContext == null)
             ? httpService.createDefaultHttpContext()
             : httpContext;
         final Dictionary<String, String> initParams = new Hashtable<String, String>();
-        // The servlet will always have to match on uri prefix as some endpoints may do so
-        initParams.put("matchOnUriPrefix", "true");
+        initParams.put("matchOnUriPrefix", matchOnUriPrefix ? "true" : "false");
         initParams.put("servlet-name", servletName);
         httpService.registerServlet(alias, servlet, initParams, actualHttpContext);
         alreadyRegistered = true;


[3/4] git commit: CAMEL-7691: camel-serlvet - Potential NPE if no servlet name configured for osgi

Posted by da...@apache.org.
CAMEL-7691: camel-serlvet - Potential NPE if no servlet name configured for osgi


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

Branch: refs/heads/master
Commit: f070a83fa2f95ffa345b48b555cb7c8d7b6b8da7
Parents: fb77527
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Aug 13 10:25:17 2014 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Aug 13 10:31:39 2014 +0200

----------------------------------------------------------------------
 .../servlet/osgi/OsgiServletRegisterer.java     | 28 ++++++++++++++------
 1 file changed, 20 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/f070a83f/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/osgi/OsgiServletRegisterer.java
----------------------------------------------------------------------
diff --git a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/osgi/OsgiServletRegisterer.java b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/osgi/OsgiServletRegisterer.java
index 6c786ad..429f9e5 100644
--- a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/osgi/OsgiServletRegisterer.java
+++ b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/osgi/OsgiServletRegisterer.java
@@ -20,6 +20,7 @@ import java.util.Dictionary;
 import java.util.Hashtable;
 import javax.servlet.http.HttpServlet;
 
+import org.apache.camel.util.ObjectHelper;
 import org.osgi.service.http.HttpContext;
 import org.osgi.service.http.HttpService;
 
@@ -38,8 +39,11 @@ public class OsgiServletRegisterer {
      * of the form "/" is used to denote the root alias.
      */
     private String alias;
-    
-    private String servletName;
+
+    /**
+     * The servlet name.
+     */
+    private String servletName = "CamelServlet";
 
     /**
      * Servlet to be registered
@@ -47,14 +51,16 @@ public class OsgiServletRegisterer {
     private HttpServlet servlet;
     
     /**
-     * HttpService to register with. Get this with osgi:reference in the spring
-     * context
+     * HttpService to register with. Get this with osgi:reference in the blueprint/spring-dm file
      */
     private HttpService httpService;
     
     private HttpContext httpContext;
     
     private boolean alreadyRegistered;
+
+    // The servlet will default have to match on uri prefix as some endpoints may do so
+    private volatile boolean matchOnUriPrefix = true;
     
     public void setHttpService(HttpService httpService) {
         this.httpService = httpService;
@@ -75,14 +81,20 @@ public class OsgiServletRegisterer {
     public void setHttpContext(HttpContext httpContext) {
         this.httpContext = httpContext;
     }
- 
+
+    public void setMatchOnUriPrefix(boolean matchOnUriPrefix) {
+        this.matchOnUriPrefix = matchOnUriPrefix;
+    }
+
     public void register() throws Exception {
-        HttpContext actualHttpContext = (httpContext == null) 
+        ObjectHelper.notEmpty(alias, "alias", this);
+        ObjectHelper.notEmpty(servletName, "servletName", this);
+
+        HttpContext actualHttpContext = (httpContext == null)
             ? httpService.createDefaultHttpContext()
             : httpContext;
         final Dictionary<String, String> initParams = new Hashtable<String, String>();
-        // The servlet will always have to match on uri prefix as some endpoints may do so
-        initParams.put("matchOnUriPrefix", "true");
+        initParams.put("matchOnUriPrefix", matchOnUriPrefix ? "true" : "false");
         initParams.put("servlet-name", servletName);
         httpService.registerServlet(alias, servlet, initParams, actualHttpContext);
         alreadyRegistered = true;