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/01/20 19:20:55 UTC
svn commit: r1435908 - in /openwebbeans/trunk/webbeans-impl/src:
main/java/org/apache/webbeans/proxy/
test/java/org/apache/webbeans/newtests/injection/injectionpoint/tests/
Author: struberg
Date: Sun Jan 20 18:20:54 2013
New Revision: 1435908
URL: http://svn.apache.org/viewvc?rev=1435908&view=rev
Log:
OWB-344 fix Interceptor proxy for package private classes
Added:
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/injectionpoint/tests/PackageInjectionPointOwner.java
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/injectionpoint/tests/PackageMethodInjectionPointOwner.java
- copied, changed from r1435892, openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/injectionpoint/beans/MethodInjectionPointOwner.java
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/InterceptorDecoratorProxyFactory.java
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/injectionpoint/tests/InjectionPointInjectionTest.java
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=1435908&r1=1435907&r2=1435908&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 Sun Jan 20 18:20:54 2013
@@ -223,7 +223,7 @@ public class InterceptorDecoratorProxyFa
{
try
{
- Constructor superDefaultCt = classToProxy.getConstructor(null);
+ Constructor superDefaultCt = classToProxy.getDeclaredConstructor(null);
final String descriptor = Type.getConstructorDescriptor(superDefaultCt);
final MethodVisitor mv = cw.visitMethod(Opcodes.ACC_PUBLIC, "<init>", descriptor, null, null);
Modified: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/injectionpoint/tests/InjectionPointInjectionTest.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/injectionpoint/tests/InjectionPointInjectionTest.java?rev=1435908&r1=1435907&r2=1435908&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/injectionpoint/tests/InjectionPointInjectionTest.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/injectionpoint/tests/InjectionPointInjectionTest.java Sun Jan 20 18:20:54 2013
@@ -36,7 +36,8 @@ import org.junit.Test;
public class InjectionPointInjectionTest extends AbstractUnitTest {
@Test
- public void testInjectionPointInjection() {
+ public void testInjectionPointInjection()
+ {
Collection<Class<?>> beanClasses = new ArrayList<Class<?>>();
beanClasses.add(ConstructorInjectionPointOwner.class);
beanClasses.add(FieldInjectionPointOwner.class);
@@ -64,4 +65,14 @@ public class InjectionPointInjectionTest
shutDownContainer();
}
+
+ @Test
+ public void testPackagePrivateInjectionPoint()
+ {
+ startContainer(PackageMethodInjectionPointOwner.class, PackageInjectionPointOwner.class);
+
+ PackageInjectionPointOwner pipo = getInstance(PackageInjectionPointOwner.class);
+ assertThat(pipo, is(notNullValue()));
+ assertThat(pipo.getName(), is("pimp"));
+ }
}
Added: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/injectionpoint/tests/PackageInjectionPointOwner.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/injectionpoint/tests/PackageInjectionPointOwner.java?rev=1435908&view=auto
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/injectionpoint/tests/PackageInjectionPointOwner.java (added)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/injectionpoint/tests/PackageInjectionPointOwner.java Sun Jan 20 18:20:54 2013
@@ -0,0 +1,35 @@
+/*
+ * 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.injection.injectionpoint.tests;
+
+import javax.inject.Inject;
+
+/**
+ * Package private injection point owner
+ */
+class PackageInjectionPointOwner
+{
+ @Inject
+ private PackageMethodInjectionPointOwner pimp;
+
+ public String getName()
+ {
+ return pimp.getName();
+ }
+}
Copied: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/injectionpoint/tests/PackageMethodInjectionPointOwner.java (from r1435892, openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/injectionpoint/beans/MethodInjectionPointOwner.java)
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/injectionpoint/tests/PackageMethodInjectionPointOwner.java?p2=openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/injectionpoint/tests/PackageMethodInjectionPointOwner.java&p1=openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/injectionpoint/beans/MethodInjectionPointOwner.java&r1=1435892&r2=1435908&rev=1435908&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/injectionpoint/beans/MethodInjectionPointOwner.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/injection/injectionpoint/tests/PackageMethodInjectionPointOwner.java Sun Jan 20 18:20:54 2013
@@ -13,12 +13,17 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.webbeans.newtests.injection.injectionpoint.beans;
+package org.apache.webbeans.newtests.injection.injectionpoint.tests;
import javax.enterprise.inject.spi.InjectionPoint;
import javax.inject.Inject;
-public class MethodInjectionPointOwner extends AbstractInjectionPointOwner {
+import org.apache.webbeans.newtests.injection.injectionpoint.beans.AbstractInjectionPointOwner;
+
+/**
+ * Attention, this class is only package private!
+ */
+class PackageMethodInjectionPointOwner extends AbstractInjectionPointOwner {
@Inject
public void setInjectionPoint(InjectionPoint ip) {