You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2014/06/03 14:26:27 UTC

git commit: [CXF-5640] Checking the bus too

Repository: cxf
Updated Branches:
  refs/heads/master 070c8eb6a -> 4604c9fe2


[CXF-5640] Checking the bus too


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

Branch: refs/heads/master
Commit: 4604c9fe25da4be126b54c0eb458f8f32503ac71
Parents: 070c8eb
Author: Sergey Beryozkin <sb...@talend.com>
Authored: Tue Jun 3 13:26:05 2014 +0100
Committer: Sergey Beryozkin <sb...@talend.com>
Committed: Tue Jun 3 13:26:05 2014 +0100

----------------------------------------------------------------------
 .../transport/http_jetty/JettyHTTPHandler.java  | 10 +++-
 .../http_jetty/JettyHTTPServerEngine.java       | 53 ++++++++++++--------
 2 files changed, 39 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/4604c9fe/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPHandler.java
----------------------------------------------------------------------
diff --git a/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPHandler.java b/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPHandler.java
index 396e3b2..9904a33 100644
--- a/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPHandler.java
+++ b/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPHandler.java
@@ -25,6 +25,7 @@ import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.cxf.Bus;
 import org.apache.cxf.transport.http.HttpUrlUtil;
 import org.eclipse.jetty.server.Request;
 import org.eclipse.jetty.server.handler.AbstractHandler;
@@ -34,11 +35,15 @@ public class JettyHTTPHandler extends AbstractHandler {
     protected ServletContext servletContext;
     private String urlName;
     private boolean contextMatchExact;
+    private Bus bus;
 
     public JettyHTTPHandler(JettyHTTPDestination jhd, boolean cmExact) {
         contextMatchExact = cmExact;
         jettyHTTPDestination = jhd;
     }
+    public JettyHTTPHandler(Bus bus) {
+        this.bus = bus;
+    }
 
     public void setServletContext(ServletContext sc) {
         servletContext = sc;
@@ -68,6 +73,7 @@ public class JettyHTTPHandler extends AbstractHandler {
         
     }
 
-
-
+    public Bus getBus() {
+        return jettyHTTPDestination != null ? jettyHTTPDestination.getBus() : bus;
+    }
 }

http://git-wip-us.apache.org/repos/asf/cxf/blob/4604c9fe/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java
----------------------------------------------------------------------
diff --git a/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java b/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java
index 3f824ec..c490c7c 100644
--- a/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java
+++ b/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngine.java
@@ -30,8 +30,10 @@ import java.util.logging.Logger;
 import javax.annotation.PostConstruct;
 import javax.servlet.ServletContext;
 
+import org.apache.cxf.Bus;
 import org.apache.cxf.common.i18n.Message;
 import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.common.util.PropertyUtils;
 import org.apache.cxf.common.util.SystemPropertyAction;
 import org.apache.cxf.configuration.jsse.TLSServerParameters;
 import org.apache.cxf.interceptor.Fault;
@@ -65,8 +67,8 @@ import org.eclipse.jetty.util.thread.ThreadPool;
 public class JettyHTTPServerEngine
     implements ServerEngine {
     
-    private static final Logger LOG =
-        LogUtils.getL7dLogger(JettyHTTPServerEngine.class);
+    private static final Logger LOG = LogUtils.getL7dLogger(JettyHTTPServerEngine.class);
+    private static final String DO_NOT_CHECK_URL_PROP = "org.apache.cxf.transports.http_jetty.DontCheckUrl";
    
     /**
      * This is the network port for which this engine is allocated.
@@ -210,10 +212,16 @@ public class JettyHTTPServerEngine
         return !Boolean.valueOf(s);
     }
     
-    private boolean shouldCheckUrl() {
-        String s = SystemPropertyAction
-            .getPropertyOrNull("org.apache.cxf.transports.http_jetty.DontCheckUrl");
-        return !Boolean.valueOf(s);
+    private boolean shouldCheckUrl(Bus bus) {
+        
+        Object prop = null;
+        if (bus != null) {
+            prop = bus.getProperty(DO_NOT_CHECK_URL_PROP);
+        }
+        if (prop == null) {
+            prop = SystemPropertyAction.getPropertyOrNull(DO_NOT_CHECK_URL_PROP);
+        }
+        return !PropertyUtils.isTrue(prop);
     }
     
     /**
@@ -282,22 +290,22 @@ public class JettyHTTPServerEngine
     }
     
     protected void checkRegistedContext(URL url) {
-        if (shouldCheckUrl()) {
-            String path = url.getPath();
-            for (String registedPath : registedPaths) {
-                if (path.equals(registedPath)) {
-                    throw new Fault(new Message("ADD_HANDLER_CONTEXT_IS_USED_MSG", LOG, url, registedPath));
-                }
-                // There are some context path conflicts which could cause the JettyHTTPServerEngine 
-                // doesn't route the message to the right JettyHTTPHandler
-                if (path.equals(HttpUriMapper.getContextName(registedPath))) {
-                    throw new Fault(new Message("ADD_HANDLER_CONTEXT_IS_USED_MSG", LOG, url, registedPath));
-                }
-                if (registedPath.equals(HttpUriMapper.getContextName(path))) {
-                    throw new Fault(new Message("ADD_HANDLER_CONTEXT_CONFILICT_MSG", LOG, url, registedPath));
-                }
+        
+        String path = url.getPath();
+        for (String registedPath : registedPaths) {
+            if (path.equals(registedPath)) {
+                throw new Fault(new Message("ADD_HANDLER_CONTEXT_IS_USED_MSG", LOG, url, registedPath));
+            }
+            // There are some context path conflicts which could cause the JettyHTTPServerEngine 
+            // doesn't route the message to the right JettyHTTPHandler
+            if (path.equals(HttpUriMapper.getContextName(registedPath))) {
+                throw new Fault(new Message("ADD_HANDLER_CONTEXT_IS_USED_MSG", LOG, url, registedPath));
+            }
+            if (registedPath.equals(HttpUriMapper.getContextName(path))) {
+                throw new Fault(new Message("ADD_HANDLER_CONTEXT_CONFILICT_MSG", LOG, url, registedPath));
             }
         }
+        
     }
     
     
@@ -308,8 +316,9 @@ public class JettyHTTPServerEngine
      * @param handler notified on incoming HTTP requests
      */
     public synchronized void addServant(URL url, JettyHTTPHandler handler) {
-        
-        checkRegistedContext(url);
+        if (shouldCheckUrl(handler.getBus())) {
+            checkRegistedContext(url);
+        }
         
         SecurityHandler securityHandler = null;
         if (server == null) {