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

[1/3] tomee git commit: ensure to have right request inAsynContextWrapper

Repository: tomee
Updated Branches:
  refs/heads/master d428b72bd -> b8bb20e7d


ensure to have right request inAsynContextWrapper


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

Branch: refs/heads/master
Commit: 83901fea9798016fba854e85d6c0163c0bcd84da
Parents: d428b72
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Fri Mar 20 13:34:41 2015 +0100
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Fri Mar 20 13:34:41 2015 +0100

----------------------------------------------------------------------
 .../openejb/server/httpd/HttpRequestImpl.java       |  2 +-
 .../apache/openejb/server/httpd/WebBeansFilter.java | 16 +++++++++-------
 tck/cdi-tomee/src/test/resources/failing.xml        |  6 +-----
 3 files changed, 11 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/83901fea/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpRequestImpl.java
----------------------------------------------------------------------
diff --git a/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpRequestImpl.java b/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpRequestImpl.java
index 11702a0..3751ef0 100644
--- a/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpRequestImpl.java
+++ b/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpRequestImpl.java
@@ -1066,7 +1066,7 @@ public class HttpRequestImpl implements HttpRequest {
         final OpenEJBAsyncContext asyncContext = new OpenEJBAsyncContext(HttpServletRequest.class.cast(servletRequest) /* TODO */, servletResponse, contextPath);
         asyncContext.internalStartAsync();
         asyncStarted = true;
-        return new WebBeansFilter.AsynContextWrapper(asyncContext);
+        return new WebBeansFilter.AsynContextWrapper(asyncContext, servletRequest);
     }
 
     public String getParameter(String name) {

http://git-wip-us.apache.org/repos/asf/tomee/blob/83901fea/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/WebBeansFilter.java
----------------------------------------------------------------------
diff --git a/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/WebBeansFilter.java b/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/WebBeansFilter.java
index a219e9e..f916c9d 100644
--- a/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/WebBeansFilter.java
+++ b/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/WebBeansFilter.java
@@ -63,24 +63,26 @@ public class WebBeansFilter implements Filter { // its pupose is to start/stop r
 
         @Override
         public AsyncContext startAsync() throws IllegalStateException {
-            return new AsynContextWrapper(super.startAsync());
+            return new AsynContextWrapper(super.startAsync(), getRequest());
         }
 
         @Override
         public AsyncContext startAsync(final ServletRequest servletRequest, final ServletResponse servletResponse) throws IllegalStateException {
-            return new AsynContextWrapper(super.startAsync(servletRequest, servletResponse));
+            return new AsynContextWrapper(super.startAsync(servletRequest, servletResponse), servletRequest);
         }
     }
 
     public static class AsynContextWrapper implements AsyncContext {
         private final AsyncContext delegate;
         private final CdiAppContextsService service;
+        private final ServletRequest request;
         private volatile ServletRequestEvent event;
 
-        public AsynContextWrapper(final AsyncContext asyncContext) {
+        public AsynContextWrapper(final AsyncContext asyncContext, final ServletRequest request) {
             this.delegate = asyncContext;
             this.service = CdiAppContextsService.class.cast(WebBeansContext.currentInstance().getService(ContextsService.class));
             this.event = null;
+            this.request = request;
         }
 
         private boolean startRequestScope() {
@@ -96,10 +98,10 @@ public class WebBeansFilter implements Filter { // its pupose is to start/stop r
         }
 
         private ServletRequestEvent getEvent() {
-            if (event == null || event.getServletRequest() != getRequest()) {
+            final ServletRequest request = getRequest();
+            if (event == null || event.getServletRequest() != request) {
                 synchronized (this) {
-                    if (event == null || event.getServletRequest() != getRequest()) {
-                        final ServletRequest request = delegate.getRequest();
+                    if (event == null || event.getServletRequest() != request) {
                         event = new ServletRequestEvent(request.getServletContext(), request);
                     }
                 }
@@ -109,7 +111,7 @@ public class WebBeansFilter implements Filter { // its pupose is to start/stop r
 
         @Override
         public ServletRequest getRequest() {
-            return delegate.getRequest();
+            return request;
         }
 
         @Override

http://git-wip-us.apache.org/repos/asf/tomee/blob/83901fea/tck/cdi-tomee/src/test/resources/failing.xml
----------------------------------------------------------------------
diff --git a/tck/cdi-tomee/src/test/resources/failing.xml b/tck/cdi-tomee/src/test/resources/failing.xml
index 3495506..3149dc7 100644
--- a/tck/cdi-tomee/src/test/resources/failing.xml
+++ b/tck/cdi-tomee/src/test/resources/failing.xml
@@ -25,10 +25,6 @@
     <classes>
       <!--
   ConversationFilterTest>Arquillian.run:164->testConversationBusy:133 expected [BusyConversationException] but found [500]
-  DataSourcePassivationDependencyTest>Arquillian.run:164->testDataSource:68 » IllegalProduct
-  RequestContextTest>Arquillian.run:164->testRequestScopeActiveDuringServiceMethod:62 » FailingHttpStatusCode
-  RequestContextTest>Arquillian.run:164->testRequestScopeActiveDuringServletFilter:73 » FailingHttpStatusCode
-  RequestContextTest>Arquillian.run:164->testRequestScopeIsDestroyedAfterServletRequest:89 » FailingHttpStatusCode
   RequestContextAsyncListenerTest>Arquillian.run:164->testRequestContextActiveOnComplete:65 expected [true] but found [false]
   RequestContextAsyncListenerTest>Arquillian.run:164->testRequestContextActiveOnError:93 expected [true] but found [false]
   RequestContextAsyncListenerTest>Arquillian.run:164->testRequestContextActiveOnStartAsync:102 expected [true] but found [false]
@@ -54,7 +50,7 @@
   DisabledProducerMethodInjectionNotAvailableTest>Arquillian.arquillianBeforeClass:109 » Runtime
   DisabledSessionBeanInjectionNotAvailableTest>Arquillian.arquillianBeforeClass:109 » Runtime
   -->
-      <class name="org.jboss.cdi.tck.tests.context.passivating.dependency.resource.persistence.DataSourcePassivationDependencyTest" />
+      <class name="org.jboss.cdi.tck.tests.context.request.async.RequestContextAsyncListenerTest" />
     </classes>
   </test>
 </suite>


[3/3] tomee git commit: useless comment

Posted by rm...@apache.org.
useless comment


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

Branch: refs/heads/master
Commit: b8bb20e7d7d5ecdecd919a2ab35a7df57b1c6888
Parents: 889c648
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Fri Mar 20 14:15:46 2015 +0100
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Fri Mar 20 14:15:46 2015 +0100

----------------------------------------------------------------------
 tck/cdi-embedded/src/test/resources/failing.xml | 6 ------
 1 file changed, 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/b8bb20e7/tck/cdi-embedded/src/test/resources/failing.xml
----------------------------------------------------------------------
diff --git a/tck/cdi-embedded/src/test/resources/failing.xml b/tck/cdi-embedded/src/test/resources/failing.xml
index cef795e..37bfa52 100644
--- a/tck/cdi-embedded/src/test/resources/failing.xml
+++ b/tck/cdi-embedded/src/test/resources/failing.xml
@@ -31,12 +31,6 @@
     -Dopenejb.embedded.try-jsp=true
     -->
     <classes>
-      <!--
-        InvalidatingSessionDestroysConversationTest>Arquillian.run:164->testInvalidatingSessionDestroysConversation:63 expected [true] but found [false]
-  DestroyConversationNotAssociatedWithCurrentRequestEventTest>Arquillian.run:164->testLifecycleEventFired:70 expected [true] but found [false]
-  SessionContextTest>Arquillian.run:164->testSessionContextDestroyedWhenHttpSessionInvalidated:129 expected [ActionSequence [name=default, data=[org.jboss.cdi.tck.tests.context.session.IntrospectServlet, org.jboss.cdi.tck.tests.context.session.IntrospectHttpSessionListener, org.jboss.cdi.tck.tests.context.session.IntrospectFilter, org.jboss.cdi.tck.tests.context.session.IntrospectServletRequestListener, org.jboss.cdi.tck.tests.context.session.SimpleSessionBean]]] but found [ActionSequence [name=default, data=[org.jboss.cdi.tck.tests.context.session.IntrospectServlet, org.jboss.cdi.tck.tests.context.session.IntrospectHttpSessionListener, org.jboss.cdi.tck.tests.context.session.IntrospectFilter, org.jboss.cdi.tck.tests.context.session.IntrospectServletRequestListener]]]
-  SessionScopeEventTest>Arquillian.run:164->test:84 expected [true] but found [false]
--->
       <class name="org.jboss.cdi.tck.tests.context.conversation.InvalidatingSessionDestroysConversationTest" />
     </classes>
   </test>


[2/3] tomee git commit: TOMEE-1529 BaseEjbProxyHandler#equals is super slow when parameter is not a proxy

Posted by rm...@apache.org.
TOMEE-1529 BaseEjbProxyHandler#equals is super slow when parameter is not a proxy


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

Branch: refs/heads/master
Commit: 889c648c5d2cb8ce8571841bdf7883b17b845f54
Parents: 83901fe
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Fri Mar 20 14:15:40 2015 +0100
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Fri Mar 20 14:15:40 2015 +0100

----------------------------------------------------------------------
 .../org/apache/openejb/core/ivm/BaseEjbProxyHandler.java  | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/889c648c/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java b/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java
index ad48cee..7f54ca1 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java
@@ -50,6 +50,7 @@ import java.io.Serializable;
 import java.lang.ref.WeakReference;
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
 import java.math.BigDecimal;
 import java.rmi.AccessException;
 import java.rmi.NoSuchObjectException;
@@ -490,16 +491,19 @@ public abstract class BaseEjbProxyHandler implements InvocationHandler, Serializ
         if (obj == null) {
             return false;
         }
+        if (this == obj) {
+            return true;
+        }
         if (!BaseEjbProxyHandler.class.isInstance(obj)) {
+            if (!Proxy.isProxyClass(obj.getClass())) {
+                return false;
+            }
             try {
                 obj = ProxyManager.getInvocationHandler(obj);
             } catch (final IllegalArgumentException e) {
                 return false;
             }
         }
-        if (this == obj) {
-            return true;
-        }
         final BaseEjbProxyHandler other = (BaseEjbProxyHandler) obj;
         return equalHandler(other);
     }