Repository: cxf
Updated Branches:
  refs/heads/2.6.x-fixes 100cf6eb2 -> d8fbcd0c2
  refs/heads/2.7.x-fixes 9b5b62e1d -> dcf628bd2
  refs/heads/master 8ac7958af -> 3aa98577a


CXF-5740 Added a system property to stop checking the url


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

Branch: refs/heads/master
Commit: 3aa98577aab4554fe61ceeecdaf98b73fd6865dd
Parents: 8ac7958
Author: Willem Jiang <willem.ji...@gmail.com>
Authored: Thu May 22 15:26:44 2014 +0800
Committer: Willem Jiang <willem.ji...@gmail.com>
Committed: Thu May 22 15:30:19 2014 +0800

----------------------------------------------------------------------
 .../http_jetty/JettyHTTPServerEngine.java       | 33 +++++++++++++-------
 .../http_jetty/JettyHTTPServerEngineTest.java   |  6 ++++
 2 files changed, 27 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/3aa98577/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 6a25ee3..3f824ec 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
@@ -98,6 +98,7 @@ public class JettyHTTPServerEngine
     private Container.Listener mBeanContainer;
     private SessionManager sessionManager;
     
+    
     /**
      * This field holds the TLS ServerParameters that are programatically
      * configured. The tlsServerParamers (due to JAXB) holds the struct
@@ -209,6 +210,12 @@ 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);
+    }
+    
     /**
      * get the jetty server instance
      * @return
@@ -275,18 +282,20 @@ public class JettyHTTPServerEngine
     }
     
     protected void checkRegistedContext(URL url) {
-        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));
+        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));
+                }
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/cxf/blob/3aa98577/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java
----------------------------------------------------------------------
diff --git 
a/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java
 
b/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java
index b5ab2a6..bcf6735 100644
--- 
a/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java
+++ 
b/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java
@@ -214,6 +214,12 @@ public class JettyHTTPServerEngineTest extends Assert {
             assertTrue("Get a wrong exception message", 
ex.getMessage().indexOf("hello") > 0);
         }
         
+        // check if the system property change could work
+        
System.setProperty("org.apache.cxf.transports.http_jetty.DontCheckUrl", "true");
+        engine.addServant(new URL(urlStr + "/test"), handler2);
+        // clean up the System property setting
+        
System.clearProperty("org.apache.cxf.transports.http_jetty.DontCheckUrl");
+        
         engine.addServant(new URL(urlStr2), handler2);
         
         Set<ObjectName>  s = 
CastUtils.cast(ManagementFactory.getPlatformMBeanServer().

Reply via email to