You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by an...@apache.org on 2014/03/13 14:43:20 UTC

svn commit: r1577160 - in /tomee/tomee/trunk/server: openejb-derbynet/ openejb-http/src/main/java/org/apache/openejb/server/httpd/BasicAuthHttpListenerWrapper.java openejb-rest/ openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java

Author: andygumbrecht
Date: Thu Mar 13 13:43:20 2014
New Revision: 1577160

URL: http://svn.apache.org/r1577160
Log:
Fix TOMEE-1139

Modified:
    tomee/tomee/trunk/server/openejb-derbynet/   (props changed)
    tomee/tomee/trunk/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/BasicAuthHttpListenerWrapper.java
    tomee/tomee/trunk/server/openejb-rest/   (props changed)
    tomee/tomee/trunk/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java

Propchange: tomee/tomee/trunk/server/openejb-derbynet/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Thu Mar 13 13:43:20 2014
@@ -8,3 +8,4 @@
 bin
 junit*.properties
 target
+.idea

Modified: tomee/tomee/trunk/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/BasicAuthHttpListenerWrapper.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/BasicAuthHttpListenerWrapper.java?rev=1577160&r1=1577159&r2=1577160&view=diff
==============================================================================
--- tomee/tomee/trunk/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/BasicAuthHttpListenerWrapper.java (original)
+++ tomee/tomee/trunk/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/BasicAuthHttpListenerWrapper.java Thu Mar 13 13:43:20 2014
@@ -44,7 +44,7 @@ public class BasicAuthHttpListenerWrappe
                 auth = auth.substring(6);
                 final String decoded = new String(Base64.decodeBase64(auth.getBytes()));
                 final String[] parts = decoded.split(":");
-                if (parts != null && parts.length == 2) {
+                if (parts.length == 2) {
                     final String username = parts[0];
                     final String password = parts[1];
 
@@ -54,7 +54,7 @@ public class BasicAuthHttpListenerWrappe
                         if (token != null) {
                             securityService.associate(token);
                         }
-                    } catch (LoginException e) {
+                    } catch (final LoginException e) {
                         // login failed, return 401
                     }
                 }
@@ -76,4 +76,7 @@ public class BasicAuthHttpListenerWrappe
         return SystemInstance.get().getComponent(SecurityService.class);
     }
 
+    public HttpListener getHttpListener() {
+        return httpListener;
+    }
 }

Propchange: tomee/tomee/trunk/server/openejb-rest/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Thu Mar 13 13:43:20 2014
@@ -7,3 +7,4 @@
 .settings
 out
 target
+.idea

Modified: tomee/tomee/trunk/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java?rev=1577160&r1=1577159&r2=1577160&view=diff
==============================================================================
--- tomee/tomee/trunk/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java (original)
+++ tomee/tomee/trunk/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java Thu Mar 13 13:43:20 2014
@@ -41,6 +41,7 @@ import org.apache.openejb.server.SelfMan
 import org.apache.openejb.server.ServerService;
 import org.apache.openejb.server.ServiceException;
 import org.apache.openejb.server.ServiceManager;
+import org.apache.openejb.server.httpd.BasicAuthHttpListenerWrapper;
 import org.apache.openejb.server.httpd.HttpListener;
 import org.apache.openejb.server.httpd.HttpListenerRegistry;
 import org.apache.openejb.spi.ContainerSystem;
@@ -854,8 +855,19 @@ public abstract class RESTService implem
     }
 
     private void undeployRestObject(final String context) {
-        final HttpListener listener = rsRegistry.removeListener(context);
+        HttpListener listener = rsRegistry.removeListener(context);
         if (listener != null) {
+
+            if(BasicAuthHttpListenerWrapper.class.isInstance(listener)){
+                listener = BasicAuthHttpListenerWrapper.class.cast(listener).getHttpListener();
+            }
+
+            checkUndeploy(listener);
+        }
+    }
+
+    private void checkUndeploy(final HttpListener listener) {
+        if (RsHttpListener.class.isInstance(listener)) {
             RsHttpListener.class.cast(listener).undeploy();
         }
     }