You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by st...@apache.org on 2013/10/25 18:13:56 UTC

svn commit: r1535770 - in /openwebbeans/trunk: webbeans-impl/src/main/java/org/apache/webbeans/proxy/ webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/tests/ webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/facto...

Author: struberg
Date: Fri Oct 25 16:13:55 2013
New Revision: 1535770

URL: http://svn.apache.org/r1535770
Log:
OWB-908 properly handle internal Exception classname

Added:
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/proxy/beans/DummyBean.java
Modified:
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/InterceptorDecoratorProxyFactory.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/NormalScopeProxyFactory.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/tests/AbstractDecoratorTest.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/ClassInterceptedClass.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/resolution/InterceptorResolutionServiceTest.java
    openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/proxy/beans/ApplicationBean.java
    openwebbeans/trunk/webbeans-web/pom.xml

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/InterceptorDecoratorProxyFactory.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/InterceptorDecoratorProxyFactory.java?rev=1535770&r1=1535769&r2=1535770&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/InterceptorDecoratorProxyFactory.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/InterceptorDecoratorProxyFactory.java Fri Oct 25 16:13:55 2013
@@ -519,7 +519,7 @@ public class InterceptorDecoratorProxyFa
                 mv.visitVarInsn(Opcodes.ALOAD, length);
                 mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/reflect/InvocationTargetException", "getCause",
                         "()Ljava/lang/Throwable;");
-                mv.visitTypeInsn(Opcodes.CHECKCAST, exceptionType.getCanonicalName().replace('.', '/'));
+                mv.visitTypeInsn(Opcodes.CHECKCAST, getCastType(exceptionType));
                 mv.visitInsn(Opcodes.ATHROW);
                 mv.visitLabel(l6);
 

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/NormalScopeProxyFactory.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/NormalScopeProxyFactory.java?rev=1535770&r1=1535769&r2=1535770&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/NormalScopeProxyFactory.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/NormalScopeProxyFactory.java Fri Oct 25 16:13:55 2013
@@ -503,7 +503,7 @@ public class NormalScopeProxyFactory ext
      * if targetMethod is protected. Please see Java LangSpec 6.6.2 about the complex
      * rules for calling 'protected' methods.
      *
-     * @see #generateDelegationMethod(org.apache.xbean.asm.ClassWriter, java.lang.reflect.Method, int, Class, String)
+     * @see #generateDelegationMethod(org.apache.xbean.asm4.ClassWriter, java.lang.reflect.Method, int, Class, String)
      */
     @SuppressWarnings("unused")
     public static Object delegateProtectedMethod(Method method, Object instance, Object[] params)

Modified: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/tests/AbstractDecoratorTest.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/tests/AbstractDecoratorTest.java?rev=1535770&r1=1535769&r2=1535770&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/tests/AbstractDecoratorTest.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/decorators/tests/AbstractDecoratorTest.java Fri Oct 25 16:13:55 2013
@@ -21,10 +21,6 @@ package org.apache.webbeans.newtests.dec
 import java.util.ArrayList;
 import java.util.Collection;
 
-import javax.enterprise.inject.Default;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.util.AnnotationLiteral;
-
 import junit.framework.Assert;
 
 import org.apache.webbeans.newtests.AbstractUnitTest;
@@ -63,17 +59,10 @@ public class AbstractDecoratorTest exten
 
         startContainer(classes, xmls);
 
-        Bean<?> bean = getBeanManager().getBeans(OutputProvider.class, new AnnotationLiteral<Default>()
-        {
-        }).iterator().next();
-        Object instance = getBeanManager().getReference(bean, OutputProvider.class, getBeanManager().createCreationalContext(bean));
-
-        OutputProvider outputProvider = (OutputProvider) instance;
-
+        OutputProvider outputProvider = getInstance(OutputProvider.class);
         Assert.assertTrue(outputProvider != null);
 
         String result = outputProvider.getOutput();
-        System.out.println(result);
         // Verify that the Decorators were called in order, and in a stack, including the Abstract Decorator 3
         Assert.assertTrue(result.equalsIgnoreCase("Decorator1\nDecorator2\nDecorator3\nOutputProvider\n"));
         
@@ -81,4 +70,20 @@ public class AbstractDecoratorTest exten
         // Verify that the a method change in Decorator2 from trace->otherMethod results in the right stack
         Assert.assertEquals("Decorator1/trace,Decorator2/trace,delegate/otherMethod", hijackedStack);   
     }
+
+    @Test
+    public void testPureAbstractDecorator() throws Exception
+    {
+        addDecorator(Decorator3.class);
+        startContainer(Decorator3.class, IOutputProvider.class, OutputProvider.class, RequestStringBuilder.class);
+
+        OutputProvider outputProvider = getInstance(OutputProvider.class);
+        Assert.assertTrue(outputProvider != null);
+
+        String result = outputProvider.getOutput();
+        Assert.assertEquals("Decorator3\nOutputProvider\n", result);
+
+        String trace = outputProvider.trace();
+        Assert.assertEquals("delegate/trace", trace);
+    }
 }

Modified: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/ClassInterceptedClass.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/ClassInterceptedClass.java?rev=1535770&r1=1535769&r2=1535770&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/ClassInterceptedClass.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/factory/beans/ClassInterceptedClass.java Fri Oct 25 16:13:55 2013
@@ -22,6 +22,7 @@ import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
 import javax.enterprise.context.RequestScoped;
 
+import org.apache.webbeans.newtests.proxy.beans.DummyBean;
 import org.apache.webbeans.test.component.intercept.webbeans.bindings.Transactional;
 
 /**
@@ -103,4 +104,10 @@ public class ClassInterceptedClass exten
         return 84;
     }
 
+
+    public DummyBean.SomeInnerClass getValueHolder() throws DummyBean.SomeInnerException
+    {
+        return new DummyBean.SomeInnerClass("hello");
+    }
+
 }

Modified: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/resolution/InterceptorResolutionServiceTest.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/resolution/InterceptorResolutionServiceTest.java?rev=1535770&r1=1535769&r2=1535770&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/resolution/InterceptorResolutionServiceTest.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/resolution/InterceptorResolutionServiceTest.java Fri Oct 25 16:13:55 2013
@@ -91,7 +91,7 @@ public class InterceptorResolutionServic
 
         Map<Method, BusinessMethodInterceptorInfo> methodInterceptorInfos = interceptorInfo.getBusinessMethodsInfo();
         Assert.assertNotNull(methodInterceptorInfos);
-        Assert.assertEquals(11, methodInterceptorInfos.size());
+        Assert.assertEquals(12, methodInterceptorInfos.size());
 
         for (BusinessMethodInterceptorInfo mi : methodInterceptorInfos.values())
         {

Modified: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/proxy/beans/ApplicationBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/proxy/beans/ApplicationBean.java?rev=1535770&r1=1535769&r2=1535770&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/proxy/beans/ApplicationBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/proxy/beans/ApplicationBean.java Fri Oct 25 16:13:55 2013
@@ -27,4 +27,8 @@ import javax.enterprise.context.Applicat
 @ApplicationScoped
 public class ApplicationBean
 {
+    public DummyBean.SomeInnerClass getValueHolder() throws DummyBean.SomeInnerException
+    {
+        return new DummyBean.SomeInnerClass("hola");
+    }
 }

Added: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/proxy/beans/DummyBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/proxy/beans/DummyBean.java?rev=1535770&view=auto
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/proxy/beans/DummyBean.java (added)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/proxy/beans/DummyBean.java Fri Oct 25 16:13:55 2013
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.webbeans.newtests.proxy.beans;
+
+/**
+ * This class just exists as container for some inner classes.
+ */
+public class DummyBean {
+    public static class SomeInnerClass
+    {
+        private String val;
+
+        public SomeInnerClass(String val) {
+            this.val = val;
+        }
+
+        public String getVal()
+        {
+            return val;
+        }
+    }
+
+    public static class SomeInnerException extends Exception
+    {
+        public SomeInnerException() {
+            super();
+        }
+
+        public SomeInnerException(String message) {
+            super(message);
+        }
+
+        public SomeInnerException(String message, Throwable cause) {
+            super(message, cause);
+        }
+
+        public SomeInnerException(Throwable cause) {
+            super(cause);
+        }
+    }
+}

Modified: openwebbeans/trunk/webbeans-web/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-web/pom.xml?rev=1535770&r1=1535769&r2=1535770&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-web/pom.xml (original)
+++ openwebbeans/trunk/webbeans-web/pom.xml Fri Oct 25 16:13:55 2013
@@ -28,13 +28,6 @@
     <description>Apache OpenWebBeans Java EE Web and Serlvet plugin</description>
 
     <dependencies>
-
-        <dependency>
-            <groupId>org.apache.myfaces.core</groupId>
-            <artifactId>myfaces-api</artifactId>
-            <optional>true</optional>
-        </dependency>
-
         <dependency>
             <groupId>org.apache.geronimo.specs</groupId>
             <artifactId>geronimo-el_2.2_spec</artifactId>