Weld SVN: r5459 - in core/trunk: embedded-tck-runner and 8 other directories.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-01-14 08:51:08 -0500 (Thu, 14 Jan 2010)
New Revision: 5459
Modified:
core/trunk/bom/pom.xml
core/trunk/embedded-tck-runner/pom.xml
core/trunk/impl/pom.xml
core/trunk/inject-tck-runner/pom.xml
core/trunk/jboss-as/pom.xml
core/trunk/jboss-tck-runner/pom.xml
core/trunk/osgi-bundle/pom.xml
core/trunk/parent/pom.xml
core/trunk/porting-package/pom.xml
core/trunk/tests/pom.xml
Log:
fix fisheye address
Modified: core/trunk/bom/pom.xml
===================================================================
--- core/trunk/bom/pom.xml 2010-01-14 13:32:59 UTC (rev 5458)
+++ core/trunk/bom/pom.xml 2010-01-14 13:51:08 UTC (rev 5459)
@@ -184,7 +184,7 @@
<scm>
<connection>scm:svn:http://anonsvn.jboss.org/repos/weld/core/trunk/bom</connection>
<developerConnection>scm:svn:https://svn.jboss.org/repos/weld/core/trunk/bom</developerConnection>
- <url>http://fisheye.jboss.org/browse/Weld/core/trunk/bom</url>
+ <url>http://fisheye.jboss.org/browse/weld/core/trunk/bom</url>
</scm>
</project>
Modified: core/trunk/embedded-tck-runner/pom.xml
===================================================================
--- core/trunk/embedded-tck-runner/pom.xml 2010-01-14 13:32:59 UTC (rev 5458)
+++ core/trunk/embedded-tck-runner/pom.xml 2010-01-14 13:51:08 UTC (rev 5459)
@@ -141,7 +141,7 @@
<scm>
<connection>scm:svn:http://anonsvn.jboss.org/repos/weld/core/trunk/embedded-tck-runner</connection>
<developerConnection>scm:svn:https://svn.jboss.org/repos/weld/core/trunk/embedded-tck-runner</developerConnection>
- <url>http://fisheye.jboss.org/browse/Weld/core/trunk/embedded-tck-runner</url>
+ <url>http://fisheye.jboss.org/browse/weld/core/trunk/embedded-tck-runner</url>
</scm>
Modified: core/trunk/impl/pom.xml
===================================================================
--- core/trunk/impl/pom.xml 2010-01-14 13:32:59 UTC (rev 5458)
+++ core/trunk/impl/pom.xml 2010-01-14 13:51:08 UTC (rev 5459)
@@ -163,7 +163,7 @@
<scm>
<connection>scm:svn:http://anonsvn.jboss.org/repos/weld/core/trunk/impl</connection>
<developerConnection>scm:svn:https://svn.jboss.org/repos/weld/core/trunk/impl</developerConnection>
- <url>http://fisheye.jboss.org/browse/Weld/core/trunk/impl</url>
+ <url>http://fisheye.jboss.org/browse/weld/core/trunk/impl</url>
</scm>
</project>
Modified: core/trunk/inject-tck-runner/pom.xml
===================================================================
--- core/trunk/inject-tck-runner/pom.xml 2010-01-14 13:32:59 UTC (rev 5458)
+++ core/trunk/inject-tck-runner/pom.xml 2010-01-14 13:51:08 UTC (rev 5459)
@@ -81,7 +81,7 @@
<scm>
<connection>scm:svn:http://anonsvn.jboss.org/repos/weld/core/trunk/inject-tck-runner</connection>
<developerConnection>scm:svn:https://svn.jboss.org/repos/weld/core/trunk/inject-tck-runner</developerConnection>
- <url>http://fisheye.jboss.org/browse/Weld/core/trunk/inject-tck-runner</url>
+ <url>http://fisheye.jboss.org/browse/weld/core/trunk/inject-tck-runner</url>
</scm>
</project>
Modified: core/trunk/jboss-as/pom.xml
===================================================================
--- core/trunk/jboss-as/pom.xml 2010-01-14 13:32:59 UTC (rev 5458)
+++ core/trunk/jboss-as/pom.xml 2010-01-14 13:51:08 UTC (rev 5459)
@@ -128,7 +128,7 @@
<scm>
<connection>scm:svn:http://anonsvn.jboss.org/repos/weld/core/trunk/jboss-as</connection>
<developerConnection>scm:svn:https://svn.jboss.org/repos/weld/core/trunk/jboss-as</developerConnection>
- <url>http://fisheye.jboss.org/browse/Weld/core/trunk/jboss-as</url>
+ <url>http://fisheye.jboss.org/browse/weld/core/trunk/jboss-as</url>
</scm>
</project>
Modified: core/trunk/jboss-tck-runner/pom.xml
===================================================================
--- core/trunk/jboss-tck-runner/pom.xml 2010-01-14 13:32:59 UTC (rev 5458)
+++ core/trunk/jboss-tck-runner/pom.xml 2010-01-14 13:51:08 UTC (rev 5459)
@@ -290,7 +290,7 @@
<scm>
<connection>scm:svn:http://anonsvn.jboss.org/repos/weld/core/trunk/jboss-tck-runner</connection>
<developerConnection>scm:svn:https://svn.jboss.org/repos/weld/core/trunk/jboss-tck-runner</developerConnection>
- <url>http://fisheye.jboss.org/browse/Weld/core/trunk/jboss-tck-runner</url>
+ <url>http://fisheye.jboss.org/browse/weld/core/trunk/jboss-tck-runner</url>
</scm>
</project>
Modified: core/trunk/osgi-bundle/pom.xml
===================================================================
--- core/trunk/osgi-bundle/pom.xml 2010-01-14 13:32:59 UTC (rev 5458)
+++ core/trunk/osgi-bundle/pom.xml 2010-01-14 13:51:08 UTC (rev 5459)
@@ -185,7 +185,7 @@
<scm>
<connection>scm:svn:http://anonsvn.jboss.org/repos/weld/core/trunk/osgi-bundle</connection>
<developerConnection>scm:svn:https://svn.jboss.org/repos/weld/core/trunk/osgi-bundle</developerConnection>
- <url>http://fisheye.jboss.org/browse/Weld/core/trunk/osgi-bundle</url>
+ <url>http://fisheye.jboss.org/browse/weld/core/trunk/osgi-bundle</url>
</scm>
</project>
Modified: core/trunk/parent/pom.xml
===================================================================
--- core/trunk/parent/pom.xml 2010-01-14 13:32:59 UTC (rev 5458)
+++ core/trunk/parent/pom.xml 2010-01-14 13:51:08 UTC (rev 5459)
@@ -173,7 +173,7 @@
<scm>
<connection>scm:svn:http://anonsvn.jboss.org/repos/weld/core/trunk/parent</connection>
<developerConnection>scm:svn:https://svn.jboss.org/repos/weld/core/trunk/parent</developerConnection>
- <url>http://fisheye.jboss.org/browse/Weld/core/trunk/parent</url>
+ <url>http://fisheye.jboss.org/browse/weld/core/trunk/parent</url>
</scm>
</project>
Modified: core/trunk/porting-package/pom.xml
===================================================================
--- core/trunk/porting-package/pom.xml 2010-01-14 13:32:59 UTC (rev 5458)
+++ core/trunk/porting-package/pom.xml 2010-01-14 13:51:08 UTC (rev 5459)
@@ -46,7 +46,7 @@
<scm>
<connection>scm:svn:http://anonsvn.jboss.org/repos/weld/core/trunk/porting-package</connection>
<developerConnection>scm:svn:https://svn.jboss.org/repos/weld/core/trunk/porting-package</developerConnection>
- <url>http://fisheye.jboss.org/browse/Weld/core/trunk/porting-package</url>
+ <url>http://fisheye.jboss.org/browse/weld/core/trunk/porting-package</url>
</scm>
</project>
Modified: core/trunk/tests/pom.xml
===================================================================
--- core/trunk/tests/pom.xml 2010-01-14 13:32:59 UTC (rev 5458)
+++ core/trunk/tests/pom.xml 2010-01-14 13:51:08 UTC (rev 5459)
@@ -274,7 +274,7 @@
<scm>
<connection>scm:svn:http://anonsvn.jboss.org/repos/weld/core/trunk/tests</connection>
<developerConnection>scm:svn:https://svn.jboss.org/repos/weld/core/trunk/tests</developerConnection>
- <url>http://fisheye.jboss.org/browse/Weld/core/trunk/tests</url>
+ <url>http://fisheye.jboss.org/browse/weld/core/trunk/tests</url>
</scm>
</project>
16 years, 3 months
Weld SVN: r5458 - in core/trunk: embedded-tck-runner and 8 other directories.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-01-14 08:32:59 -0500 (Thu, 14 Jan 2010)
New Revision: 5458
Modified:
core/trunk/bom/pom.xml
core/trunk/embedded-tck-runner/pom.xml
core/trunk/impl/pom.xml
core/trunk/inject-tck-runner/pom.xml
core/trunk/jboss-as/pom.xml
core/trunk/jboss-tck-runner/pom.xml
core/trunk/osgi-bundle/pom.xml
core/trunk/parent/pom.xml
core/trunk/porting-package/pom.xml
core/trunk/tests/pom.xml
Log:
WELD-278
Modified: core/trunk/bom/pom.xml
===================================================================
--- core/trunk/bom/pom.xml 2010-01-14 02:28:46 UTC (rev 5457)
+++ core/trunk/bom/pom.xml 2010-01-14 13:32:59 UTC (rev 5458)
@@ -184,7 +184,7 @@
<scm>
<connection>scm:svn:http://anonsvn.jboss.org/repos/weld/core/trunk/bom</connection>
<developerConnection>scm:svn:https://svn.jboss.org/repos/weld/core/trunk/bom</developerConnection>
- <url>http://fisheye.jboss.org/browse/Weld/core/bom</url>
+ <url>http://fisheye.jboss.org/browse/Weld/core/trunk/bom</url>
</scm>
</project>
Modified: core/trunk/embedded-tck-runner/pom.xml
===================================================================
--- core/trunk/embedded-tck-runner/pom.xml 2010-01-14 02:28:46 UTC (rev 5457)
+++ core/trunk/embedded-tck-runner/pom.xml 2010-01-14 13:32:59 UTC (rev 5458)
@@ -138,6 +138,11 @@
</plugins>
</build>
+ <scm>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/weld/core/trunk/embedded-tck-runner</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/weld/core/trunk/embedded-tck-runner</developerConnection>
+ <url>http://fisheye.jboss.org/browse/Weld/core/trunk/embedded-tck-runner</url>
+ </scm>
</project>
Modified: core/trunk/impl/pom.xml
===================================================================
--- core/trunk/impl/pom.xml 2010-01-14 02:28:46 UTC (rev 5457)
+++ core/trunk/impl/pom.xml 2010-01-14 13:32:59 UTC (rev 5458)
@@ -159,4 +159,11 @@
</dependencies>
</profile>
</profiles>
+
+ <scm>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/weld/core/trunk/impl</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/weld/core/trunk/impl</developerConnection>
+ <url>http://fisheye.jboss.org/browse/Weld/core/trunk/impl</url>
+ </scm>
+
</project>
Modified: core/trunk/inject-tck-runner/pom.xml
===================================================================
--- core/trunk/inject-tck-runner/pom.xml 2010-01-14 02:28:46 UTC (rev 5457)
+++ core/trunk/inject-tck-runner/pom.xml 2010-01-14 13:32:59 UTC (rev 5458)
@@ -78,4 +78,10 @@
</plugins>
</build>
+ <scm>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/weld/core/trunk/inject-tck-runner</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/weld/core/trunk/inject-tck-runner</developerConnection>
+ <url>http://fisheye.jboss.org/browse/Weld/core/trunk/inject-tck-runner</url>
+ </scm>
+
</project>
Modified: core/trunk/jboss-as/pom.xml
===================================================================
--- core/trunk/jboss-as/pom.xml 2010-01-14 02:28:46 UTC (rev 5457)
+++ core/trunk/jboss-as/pom.xml 2010-01-14 13:32:59 UTC (rev 5458)
@@ -18,13 +18,6 @@
<!-- Minimal metadata -->
<description>A script to update Weld in JBoss AS</description>
- <!-- SCM and distribution management -->
- <scm>
- <connection>scm:svn:http://anonsvn.jboss.org/repos/weld/core/trunk</connection>
- <developerConnection>scm:svn:https://svn.jboss.org/repos/weld/core/trunk</developerConnection>
- <url>http://fisheye.jboss.org/browse/Weld</url>
- </scm>
-
<properties>
<weld-deployer.version>6.0.0-SNAPSHOT</weld-deployer.version>
</properties>
@@ -132,4 +125,10 @@
</plugins>
</build>
+ <scm>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/weld/core/trunk/jboss-as</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/weld/core/trunk/jboss-as</developerConnection>
+ <url>http://fisheye.jboss.org/browse/Weld/core/trunk/jboss-as</url>
+ </scm>
+
</project>
Modified: core/trunk/jboss-tck-runner/pom.xml
===================================================================
--- core/trunk/jboss-tck-runner/pom.xml 2010-01-14 02:28:46 UTC (rev 5457)
+++ core/trunk/jboss-tck-runner/pom.xml 2010-01-14 13:32:59 UTC (rev 5458)
@@ -286,5 +286,11 @@
</build>
</profile>
</profiles>
+
+ <scm>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/weld/core/trunk/jboss-tck-runner</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/weld/core/trunk/jboss-tck-runner</developerConnection>
+ <url>http://fisheye.jboss.org/browse/Weld/core/trunk/jboss-tck-runner</url>
+ </scm>
</project>
Modified: core/trunk/osgi-bundle/pom.xml
===================================================================
--- core/trunk/osgi-bundle/pom.xml 2010-01-14 02:28:46 UTC (rev 5457)
+++ core/trunk/osgi-bundle/pom.xml 2010-01-14 13:32:59 UTC (rev 5458)
@@ -181,5 +181,11 @@
</dependency>
</dependencies>
+
+ <scm>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/weld/core/trunk/osgi-bundle</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/weld/core/trunk/osgi-bundle</developerConnection>
+ <url>http://fisheye.jboss.org/browse/Weld/core/trunk/osgi-bundle</url>
+ </scm>
</project>
Modified: core/trunk/parent/pom.xml
===================================================================
--- core/trunk/parent/pom.xml 2010-01-14 02:28:46 UTC (rev 5457)
+++ core/trunk/parent/pom.xml 2010-01-14 13:32:59 UTC (rev 5458)
@@ -170,5 +170,11 @@
</dependencies>
</dependencyManagement>
+ <scm>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/weld/core/trunk/parent</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/weld/core/trunk/parent</developerConnection>
+ <url>http://fisheye.jboss.org/browse/Weld/core/trunk/parent</url>
+ </scm>
+
</project>
Modified: core/trunk/porting-package/pom.xml
===================================================================
--- core/trunk/porting-package/pom.xml 2010-01-14 02:28:46 UTC (rev 5457)
+++ core/trunk/porting-package/pom.xml 2010-01-14 13:32:59 UTC (rev 5458)
@@ -42,5 +42,11 @@
</dependency>
</dependencies>
+
+ <scm>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/weld/core/trunk/porting-package</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/weld/core/trunk/porting-package</developerConnection>
+ <url>http://fisheye.jboss.org/browse/Weld/core/trunk/porting-package</url>
+ </scm>
</project>
Modified: core/trunk/tests/pom.xml
===================================================================
--- core/trunk/tests/pom.xml 2010-01-14 02:28:46 UTC (rev 5457)
+++ core/trunk/tests/pom.xml 2010-01-14 13:32:59 UTC (rev 5458)
@@ -270,4 +270,11 @@
</build>
</profile>
</profiles>
+
+ <scm>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/weld/core/trunk/tests</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/weld/core/trunk/tests</developerConnection>
+ <url>http://fisheye.jboss.org/browse/Weld/core/trunk/tests</url>
+ </scm>
+
</project>
16 years, 3 months
Weld SVN: r5457 - core/trunk/impl/src/main/java/org/jboss/weld/bean.
by weld-commits@lists.jboss.org
Author: swd847
Date: 2010-01-13 21:28:46 -0500 (Wed, 13 Jan 2010)
New Revision: 5457
Modified:
core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractBean.java
Log:
WELD-318
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractBean.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractBean.java 2010-01-13 20:41:04 UTC (rev 5456)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractBean.java 2010-01-14 02:28:46 UTC (rev 5457)
@@ -103,6 +103,7 @@
@Override
public void initialize(BeanDeployerEnvironment environment)
{
+ initialized = true;
if (isSpecializing())
{
preSpecialize(environment);
16 years, 3 months
Weld SVN: r5456 - in core/trunk: impl/src/main/java/org/jboss/weld/manager and 35 other directories.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-01-13 15:41:04 -0500 (Wed, 13 Jan 2010)
New Revision: 5456
Added:
core/trunk/impl/src/main/java/org/jboss/weld/servlet/BeanProvider.java
core/trunk/tests/src/main/java/org/jboss/weld/test/Utils.java
Modified:
core/trunk/impl/src/main/java/org/jboss/weld/jsf/ConversationAwareViewHandler.java
core/trunk/impl/src/main/java/org/jboss/weld/jsf/FacesUrlTransformer.java
core/trunk/impl/src/main/java/org/jboss/weld/jsf/JsfHelper.java
core/trunk/impl/src/main/java/org/jboss/weld/jsf/WeldPhaseListener.java
core/trunk/impl/src/main/java/org/jboss/weld/manager/BeanManagerImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/servlet/ConversationPropagationFilter.java
core/trunk/impl/src/main/java/org/jboss/weld/servlet/ServletLifecycle.java
core/trunk/tests/src/main/java/org/jboss/weld/test/AbstractWeldTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/ActivitiesTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/current/InjectedManagerCurrentActivityTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/current/InstanceCurrentActivityTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/current/JndiManagerCurrentActivityTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/beanManager/serializability/ManagerTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/BuiltInBeanPassivationCapableTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/ee/EEResourceProducerFieldPassivationCapableTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ApplicationScopedTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ParameterizedTypeScopedTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/SimpleDecoratorTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithAbstractMethodAndInitializerMethodTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithAbstractMethodTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithCallToItselfTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithConstructorTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithInitializerMethodTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/decoratedTypes/PartialDecoratorTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/PartialDecoratorTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/stackoverflow/StackOverFlowTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/EnterpriseBeanDefinitionTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/EnterpriseBeanTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/EnterpriseBeanLifecycleTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/proxyability/EnterpriseBeanLifecycleTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/event/EventQualifierTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/event/SimpleEventTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/examples/ExampleTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/examples/MockExampleTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/exceptions/ExceptionHandlingTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/ExtensionTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/generic/GenericBeanTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/InjectionPointTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedProducerTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/ManagerProducerTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/NullProducerTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/proxy/enterprise/EnterpriseBeanProxyTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/LookupInstanceTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/Weld256Test.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/CircularDependencyTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/resource/ResourceCircularDependencyTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/wbri279/Weld279Test.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/wbri293/ContextualReferenceTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/ScopeTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/SerializationTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/NonBdaExtensionTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/nonTransitiveResolution/TransitiveResolutionTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/environments/servlet/ServletEnvironmentTest.java
Log:
WELD-52
Modified: core/trunk/impl/src/main/java/org/jboss/weld/jsf/ConversationAwareViewHandler.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/jsf/ConversationAwareViewHandler.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/impl/src/main/java/org/jboss/weld/jsf/ConversationAwareViewHandler.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -16,7 +16,8 @@
*/
package org.jboss.weld.jsf;
-import static org.jboss.weld.jsf.JsfHelper.getModuleBeanManager;
+import static org.jboss.weld.jsf.JsfHelper.getServletContext;
+import static org.jboss.weld.servlet.BeanProvider.conversation;
import javax.faces.application.ViewHandler;
import javax.faces.application.ViewHandlerWrapper;
@@ -67,7 +68,7 @@
public String getActionURL(FacesContext context, String viewId)
{
String actionUrl = super.getActionURL(context, viewId);
- ConversationImpl conversation = getModuleBeanManager(context).getInstanceByType(ConversationImpl.class);
+ ConversationImpl conversation = conversation(getServletContext(context));
if (!conversation.isTransient())
{
return new FacesUrlTransformer(actionUrl, context).appendConversationIdIfNecessary(conversation.getUnderlyingId()).getUrl();
Modified: core/trunk/impl/src/main/java/org/jboss/weld/jsf/FacesUrlTransformer.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/jsf/FacesUrlTransformer.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/impl/src/main/java/org/jboss/weld/jsf/FacesUrlTransformer.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -15,14 +15,10 @@
* limitations under the License.
*/
package org.jboss.weld.jsf;
+import static org.jboss.weld.jsf.JsfHelper.getConversationId;
-import static org.jboss.weld.jsf.JsfHelper.getModuleBeanManager;
-
-import javax.enterprise.util.AnnotationLiteral;
import javax.faces.context.FacesContext;
-import org.jboss.weld.conversation.ConversationIdName;
-
/**
* Helper class for preparing JSF URLs which include the conversation id.
*
@@ -50,7 +46,7 @@
public FacesUrlTransformer appendConversationIdIfNecessary(String cid)
{
- String cidParamName = getModuleBeanManager(context).getInstanceByType(String.class, new AnnotationLiteral<ConversationIdName>(){});
+ String cidParamName = getConversationId(context);
int queryStringIndex = url.indexOf(QUERY_STRING_DELIMITER);
// if there is no query string or there is a query string but the cid param is absent, then append it
if (queryStringIndex < 0 || url.indexOf(cidParamName + PARAMETER_ASSIGNMENT_OPERATOR, queryStringIndex) < 0)
Modified: core/trunk/impl/src/main/java/org/jboss/weld/jsf/JsfHelper.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/jsf/JsfHelper.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/impl/src/main/java/org/jboss/weld/jsf/JsfHelper.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -21,18 +21,13 @@
import static org.jboss.weld.logging.messages.JsfMessage.FOUND_CONVERSATION_FROM_REQUEST;
import static org.jboss.weld.logging.messages.JsfMessage.IMPROPER_ENVIRONMENT;
import static org.jboss.weld.logging.messages.JsfMessage.RESUMING_CONVERSATION;
+import static org.jboss.weld.servlet.BeanProvider.conversationIdName;
-import javax.enterprise.util.AnnotationLiteral;
import javax.faces.context.FacesContext;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpSession;
-import org.jboss.weld.Container;
-import org.jboss.weld.conversation.ConversationIdName;
import org.jboss.weld.exceptions.ForbiddenStateException;
-import org.jboss.weld.manager.BeanManagerImpl;
-import org.jboss.weld.servlet.ServletHelper;
-import org.jboss.weld.util.reflection.SecureReflections;
import org.slf4j.cal10n.LocLogger;
/**
@@ -43,36 +38,8 @@
*/
public class JsfHelper
{
- private static final LocLogger log = loggerFactory().getLogger(JSF);
- /**
- * Checks if the current request is a JSF postback. The JsfApiAbstraction is
- * consulted to determine if the JSF version is compatible with JSF 2.0. If
- * so, the {@link FacesContext#isPostback()} convenience method is used
- * (which is technically an optimized and safer implementation). Otherwise,
- * the ResponseStateManager is consulted directly.
- *
- * @return true if this request is a JSF postback, false otherwise
- */
- public static boolean isPostback(FacesContext facesContext)
- {
- if (Container.instance().services().get(JsfApiAbstraction.class).isApiVersionCompatibleWith(2.0))
- {
- try
- {
- return (Boolean) SecureReflections.invoke(facesContext, "isPostback");
- }
- catch (Exception e)
- {
- // Sorry, guys ;-) --NIK
- return false;
- }
- }
- else
- {
- return facesContext.getRenderKit().getResponseStateManager().isPostback(facesContext);
- }
- }
+ private static final LocLogger log = loggerFactory().getLogger(JSF);
/**
* Gets the propagated conversation id parameter from the request
@@ -81,8 +48,7 @@
*/
public static String getConversationIdFromRequest(FacesContext facesContext)
{
- BeanManagerImpl moduleBeanManager = JsfHelper.getModuleBeanManager(facesContext);
- String cidName = moduleBeanManager.getInstanceByType(String.class, new AnnotationLiteral<ConversationIdName>(){});
+ String cidName = conversationIdName(getServletContext(facesContext));
String cid = facesContext.getExternalContext().getRequestParameterMap().get(cidName);
log.trace(FOUND_CONVERSATION_FROM_REQUEST, cid);
return cid;
@@ -118,11 +84,11 @@
}
}
- public static BeanManagerImpl getModuleBeanManager(FacesContext facesContext)
+ public static ServletContext getServletContext(FacesContext facesContext)
{
if (facesContext.getExternalContext().getContext() instanceof ServletContext)
{
- return ServletHelper.getModuleBeanManager((ServletContext) facesContext.getExternalContext().getContext());
+ return (ServletContext) facesContext.getExternalContext().getContext();
}
else
{
Modified: core/trunk/impl/src/main/java/org/jboss/weld/jsf/WeldPhaseListener.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/jsf/WeldPhaseListener.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/impl/src/main/java/org/jboss/weld/jsf/WeldPhaseListener.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -24,28 +24,28 @@
import static org.jboss.weld.jsf.JsfHelper.getConversationId;
import static org.jboss.weld.jsf.JsfHelper.getHttpSession;
-import static org.jboss.weld.jsf.JsfHelper.getModuleBeanManager;
+import static org.jboss.weld.jsf.JsfHelper.getServletContext;
import static org.jboss.weld.logging.Category.JSF;
import static org.jboss.weld.logging.LoggerFactory.loggerFactory;
import static org.jboss.weld.logging.messages.JsfMessage.CLEANING_UP_CONVERSATION;
import static org.jboss.weld.logging.messages.JsfMessage.INITIATING_CONVERSATION;
import static org.jboss.weld.logging.messages.JsfMessage.SKIPPING_CLEANING_UP_CONVERSATION;
+import static org.jboss.weld.servlet.BeanProvider.conversation;
+import static org.jboss.weld.servlet.BeanProvider.conversationManager;
+import static org.jboss.weld.servlet.BeanProvider.httpSessionManager;
import javax.faces.context.FacesContext;
import javax.faces.event.PhaseEvent;
import javax.faces.event.PhaseId;
import javax.faces.event.PhaseListener;
+import javax.servlet.ServletContext;
import javax.servlet.http.HttpSession;
import org.jboss.weld.Container;
import org.jboss.weld.context.ContextLifecycle;
import org.jboss.weld.context.ConversationContext;
import org.jboss.weld.context.SessionContext;
-import org.jboss.weld.conversation.ConversationImpl;
-import org.jboss.weld.conversation.ConversationManager;
-import org.jboss.weld.manager.BeanManagerImpl;
import org.jboss.weld.servlet.ConversationBeanStore;
-import org.jboss.weld.servlet.HttpSessionManager;
import org.slf4j.cal10n.LocLogger;
/**
@@ -123,13 +123,12 @@
*/
private void afterRenderResponse(FacesContext facesContext)
{
- BeanManagerImpl moduleBeanManager = getModuleBeanManager(facesContext);
SessionContext sessionContext = Container.instance().services().get(ContextLifecycle.class).getSessionContext();
ConversationContext conversationContext = Container.instance().services().get(ContextLifecycle.class).getConversationContext();
if (sessionContext.isActive())
{
log.trace(CLEANING_UP_CONVERSATION, "Render Response", "response complete");
- moduleBeanManager.getInstanceByType(ConversationManager.class).cleanupConversation();
+ conversationManager(getServletContext(facesContext)).cleanupConversation();
conversationContext.setActive(false);
}
else
@@ -143,12 +142,11 @@
*/
private void afterResponseComplete(FacesContext facesContext, PhaseId phaseId)
{
- BeanManagerImpl moduleBeanManager = getModuleBeanManager(facesContext);
SessionContext sessionContext = Container.instance().services().get(ContextLifecycle.class).getSessionContext();
if (sessionContext.isActive())
{
log.trace(CLEANING_UP_CONVERSATION, phaseId, "the response has been marked complete");
- moduleBeanManager.getInstanceByType(ConversationManager.class).cleanupConversation();
+ conversationManager(getServletContext(facesContext)).cleanupConversation();
}
else
{
@@ -164,11 +162,11 @@
*/
private void initiateSessionAndConversation(FacesContext facesContext)
{
+ ServletContext servletContext = getServletContext(facesContext);
HttpSession session = getHttpSession(facesContext);
- BeanManagerImpl moduleBeanManager = getModuleBeanManager(facesContext);
- moduleBeanManager.getInstanceByType(HttpSessionManager.class).setSession(session);
- moduleBeanManager.getInstanceByType(ConversationManager.class).beginOrRestoreConversation(getConversationId(facesContext));
- String cid = moduleBeanManager.getInstanceByType(ConversationImpl.class).getUnderlyingId();
+ httpSessionManager(servletContext).setSession(session);
+ conversationManager(servletContext).beginOrRestoreConversation(getConversationId(facesContext));
+ String cid = conversation(servletContext).getUnderlyingId();
ConversationContext conversationContext = Container.instance().services().get(ContextLifecycle.class).getConversationContext();
conversationContext.setBeanStore(new ConversationBeanStore(session, cid));
Modified: core/trunk/impl/src/main/java/org/jboss/weld/manager/BeanManagerImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/manager/BeanManagerImpl.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/impl/src/main/java/org/jboss/weld/manager/BeanManagerImpl.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -33,7 +33,6 @@
import static org.jboss.weld.logging.messages.BeanManagerMessage.TOO_MANY_ACTIVITIES;
import static org.jboss.weld.logging.messages.BeanManagerMessage.UNPROXYABLE_RESOLUTION;
import static org.jboss.weld.logging.messages.BeanManagerMessage.UNRESOLVABLE_ELEMENT;
-import static org.jboss.weld.logging.messages.BeanManagerMessage.UNRESOLVABLE_TYPE;
import java.io.Serializable;
import java.lang.annotation.Annotation;
@@ -872,31 +871,6 @@
return getReference(injectionPoint, resolvedBean, creationalContext);
}
- /**
- * Returns an instance by API type and binding types
- *
- * @param beanType The API type to match
- * @param bindings The binding types to match
- * @return An instance of the bean
- *
- */
- @Deprecated
- public <T> T getInstanceByType(Class<T> beanType, Annotation... bindings)
- {
- Set<Bean<?>> beans = getBeans(beanType, bindings);
- Bean<?> bean = resolve(beans);
- if (bean == null)
- {
- throw new UnsatisfiedResolutionException(UNRESOLVABLE_TYPE, beanType, Arrays.toString(bindings));
- }
- Object reference = getReference(bean, beanType, createCreationalContext(bean));
-
- @SuppressWarnings("unchecked")
- T instance = (T) reference;
-
- return instance;
- }
-
public <T> Bean<T> getBean(WeldAnnotated<T, ?> element, Annotation... bindings)
{
Bean<T> bean = (Bean<T>) resolve(getBeans(element, bindings));
Added: core/trunk/impl/src/main/java/org/jboss/weld/servlet/BeanProvider.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/servlet/BeanProvider.java (rev 0)
+++ core/trunk/impl/src/main/java/org/jboss/weld/servlet/BeanProvider.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -0,0 +1,56 @@
+package org.jboss.weld.servlet;
+
+import static org.jboss.weld.servlet.ServletHelper.getModuleBeanManager;
+
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.util.AnnotationLiteral;
+import javax.servlet.ServletContext;
+
+import org.jboss.weld.conversation.ConversationIdName;
+import org.jboss.weld.conversation.ConversationImpl;
+import org.jboss.weld.conversation.ConversationManager;
+import org.jboss.weld.manager.BeanManagerImpl;
+
+public class BeanProvider
+{
+
+ private static class ConversationIdNameLiteral extends AnnotationLiteral<ConversationIdName> implements ConversationIdName
+ {
+
+ public static final ConversationIdName INSTANCE = new ConversationIdNameLiteral();
+
+ private ConversationIdNameLiteral() {}
+
+ }
+
+ public static ConversationManager conversationManager(ServletContext servletContext)
+ {
+ BeanManagerImpl beanManager = getModuleBeanManager(servletContext);
+ Bean<?> bean = beanManager.resolve(beanManager.getBeans(ConversationManager.class));
+ return (ConversationManager) beanManager.getReference(bean, ConversationManager.class, beanManager.createCreationalContext(bean));
+ }
+
+ public static HttpSessionManager httpSessionManager(ServletContext servletContext)
+ {
+ BeanManagerImpl beanManager = getModuleBeanManager(servletContext);
+ Bean<?> bean = beanManager.resolve(beanManager.getBeans(HttpSessionManager.class));
+ return (HttpSessionManager) beanManager.getReference(bean, HttpSessionManager.class, beanManager.createCreationalContext(bean));
+ }
+
+ public static ConversationImpl conversation(ServletContext servletContext)
+ {
+ BeanManagerImpl beanManager = getModuleBeanManager(servletContext);
+ Bean<?> bean = beanManager.resolve(beanManager.getBeans(ConversationImpl.class));
+ return (ConversationImpl) beanManager.getReference(bean, ConversationImpl.class, beanManager.createCreationalContext(bean));
+ }
+
+ public static String conversationIdName(ServletContext servletContext)
+ {
+ BeanManagerImpl beanManager = getModuleBeanManager(servletContext);
+ Bean<?> bean = beanManager.resolve(beanManager.getBeans(String.class, ConversationIdNameLiteral.INSTANCE));
+ return (String) beanManager.getReference(bean, String.class, beanManager.createCreationalContext(bean));
+ }
+
+ private BeanProvider() {}
+
+}
Property changes on: core/trunk/impl/src/main/java/org/jboss/weld/servlet/BeanProvider.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Modified: core/trunk/impl/src/main/java/org/jboss/weld/servlet/ConversationPropagationFilter.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/servlet/ConversationPropagationFilter.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/impl/src/main/java/org/jboss/weld/servlet/ConversationPropagationFilter.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -16,11 +16,11 @@
*/
package org.jboss.weld.servlet;
-import static org.jboss.weld.servlet.ServletHelper.getModuleBeanManager;
+import static org.jboss.weld.servlet.BeanProvider.conversation;
+import static org.jboss.weld.servlet.BeanProvider.conversationManager;
import java.io.IOException;
-import javax.enterprise.util.AnnotationLiteral;
import javax.faces.context.FacesContext;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
@@ -33,9 +33,7 @@
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
-import org.jboss.weld.conversation.ConversationIdName;
import org.jboss.weld.conversation.ConversationImpl;
-import org.jboss.weld.conversation.ConversationManager;
import org.jboss.weld.jsf.FacesUrlTransformer;
/**
@@ -79,12 +77,11 @@
@Override
public void sendRedirect(String path) throws IOException
{
- ConversationImpl conversation = getModuleBeanManager(ctx) .getInstanceByType(ConversationImpl.class);
+ ConversationImpl conversation = conversation(ctx);
if (!conversation.isTransient())
{
- String cidParamName = getModuleBeanManager(ctx).getInstanceByType(String.class, new AnnotationLiteral<ConversationIdName>(){});
path = new FacesUrlTransformer(path, FacesContext.getCurrentInstance()).toRedirectViewId().toActionUrl().appendConversationIdIfNecessary(conversation.getUnderlyingId()).encode();
- getModuleBeanManager(ctx).getInstanceByType(ConversationManager.class).cleanupConversation();
+ conversationManager(ctx).cleanupConversation();
}
super.sendRedirect(path);
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/servlet/ServletLifecycle.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/servlet/ServletLifecycle.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/impl/src/main/java/org/jboss/weld/servlet/ServletLifecycle.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -23,7 +23,8 @@
package org.jboss.weld.servlet;
import static org.jboss.weld.logging.messages.ServletMessage.REQUEST_SCOPE_BEAN_STORE_MISSING;
-import static org.jboss.weld.servlet.ServletHelper.getModuleBeanManager;
+import static org.jboss.weld.servlet.BeanProvider.conversationManager;
+import static org.jboss.weld.servlet.BeanProvider.httpSessionManager;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
@@ -73,7 +74,7 @@
*/
public void endSession(HttpSession session)
{
- ConversationManager conversationManager = getModuleBeanManager(session.getServletContext()).getInstanceByType(ConversationManager.class);
+ ConversationManager conversationManager = conversationManager(session.getServletContext());
if (lifecycle.getSessionContext().isActive())
{
conversationManager.destroyAllConversations();
@@ -111,7 +112,7 @@
lifecycle.restoreSession(session == null ? "Inactive session" : session.getId(), sessionBeanStore);
if (session != null)
{
- getModuleBeanManager(session.getServletContext()).getInstanceByType(HttpSessionManager.class).setSession(session);
+ httpSessionManager(session.getServletContext()).setSession(session);
}
return sessionBeanStore;
}
@@ -120,7 +121,7 @@
{
BeanStore beanStore = new HttpSessionBeanStore(session);
lifecycle.restoreSession(session.getId(), beanStore);
- getModuleBeanManager(session.getServletContext()).getInstanceByType(HttpSessionManager.class).setSession(session);
+ httpSessionManager(session.getServletContext()).setSession(session);
return beanStore;
}
Modified: core/trunk/tests/src/main/java/org/jboss/weld/test/AbstractWeldTest.java
===================================================================
--- core/trunk/tests/src/main/java/org/jboss/weld/test/AbstractWeldTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/main/java/org/jboss/weld/test/AbstractWeldTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -1,28 +1,16 @@
package org.jboss.weld.test;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
import java.util.Set;
-import javax.el.ELContext;
import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.util.TypeLiteral;
import javax.servlet.ServletContext;
import org.jboss.testharness.AbstractTest;
import org.jboss.testharness.impl.runner.servlet.ServletTestRunner;
import org.jboss.weld.manager.BeanManagerImpl;
import org.jboss.weld.mock.el.EL;
-import org.jboss.weld.util.collections.EnumerationList;
import org.testng.ITestContext;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
@@ -66,134 +54,34 @@
super.afterClass();
}
- /**
- * Checks if all annotations are in a given set of annotations
- *
- * @param annotations The annotation set
- * @param annotationTypes The annotations to match
- * @return True if match, false otherwise
- */
- public boolean annotationSetMatches(Set<? extends Annotation> annotations, Class<? extends Annotation>... annotationTypes)
- {
- List<Class<? extends Annotation>> annotationTypeList = new ArrayList<Class<? extends Annotation>>();
- annotationTypeList.addAll(Arrays.asList(annotationTypes));
- for (Annotation annotation : annotations)
- {
- if (annotationTypeList.contains(annotation.annotationType()))
- {
- annotationTypeList.remove(annotation.annotationType());
- }
- else
- {
- return false;
- }
- }
- return annotationTypeList.size() == 0;
- }
-
- public boolean typeSetMatches(Set<Type> types, Type... requiredTypes)
- {
- List<Type> typeList = Arrays.asList(requiredTypes);
- return requiredTypes.length == types.size() && types.containsAll(typeList);
- }
-
- protected Iterable<URL> getResources(String name)
- {
- if (name.startsWith("/"))
- {
- name = name.substring(1);
- }
- else
- {
- name = getClass().getPackage().getName().replace(".", "/") + "/" + name;
- }
- try
- {
- return new EnumerationList<URL>(getClass().getClassLoader().getResources(name));
- }
- catch (IOException e)
- {
- throw new RuntimeException("Error loading resource from classloader" + name, e);
- }
- }
-
- protected byte[] serialize(Object instance) throws IOException
- {
- ByteArrayOutputStream bytes = new ByteArrayOutputStream();
- ObjectOutputStream out = new ObjectOutputStream(bytes);
- out.writeObject(instance);
- return bytes.toByteArray();
- }
-
- protected <T> T deserialize(byte[] bytes) throws IOException, ClassNotFoundException
- {
- ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(bytes));
- return (T) in.readObject();
- }
-
protected BeanManagerImpl getCurrentManager()
{
return BeanManagerLocator.INSTANCE.locate();
}
- public boolean isExceptionInHierarchy(Throwable exception, Class<? extends Throwable> expectedException )
- {
- while (exception != null)
- {
- if (exception.getClass().equals(expectedException))
- {
- return true;
- }
- exception = exception.getCause();
- }
- return false;
- }
-
public <T> Bean<T> getBean(Type beanType, Annotation... bindings)
{
- Set<Bean<?>> beans = getCurrentManager().getBeans(beanType, bindings);
- if (beans.size() > 1)
- {
- throw new RuntimeException("More than one bean resolved to " + beanType + " with bindings " + Arrays.asList(bindings));
- }
- if (beans.size() == 0)
- {
- throw new RuntimeException("No beans resolved to " + beanType + " with bindings " + Arrays.asList(bindings));
- }
- @SuppressWarnings("unchecked")
- Bean<T> bean = (Bean<T>) beans.iterator().next();
- return bean;
+ return Utils.getBean(getCurrentManager(), beanType, bindings);
}
- @SuppressWarnings("unchecked")
public <T> Set<Bean<T>> getBeans(Class<T> type, Annotation... bindings)
{
- return (Set) getCurrentManager().getBeans(type, bindings);
+ return Utils.getBeans(getCurrentManager(), type, bindings);
}
- @SuppressWarnings("unchecked")
- public <T> Set<Bean<T>> getBeans(TypeLiteral<T> type, Annotation... bindings)
+ public <T> T getReference(Class<T> beanType, Annotation... bindings)
{
- return (Set)getCurrentManager().getBeans(type.getType(), bindings);
+ return Utils.getReference(getCurrentManager(), beanType, bindings);
}
-
- @SuppressWarnings("unchecked")
- public <T> T createContextualInstance(Class<T> beanType, Annotation... bindings)
- {
- Bean<?> bean = getBean(beanType, bindings);
- return (T) getCurrentManager().getReference(bean, beanType, getCurrentManager().createCreationalContext(bean));
- }
public <T> T getReference(Bean<T> bean)
{
- return (T) getCurrentManager().getReference(bean, bean.getBeanClass(), getCurrentManager().createCreationalContext(bean));
+ return Utils.getReference(getCurrentManager(), bean);
}
- @SuppressWarnings("unchecked")
public <T> T evaluateValueExpression(String expression, Class<T> expectedType)
{
- ELContext elContext = EL.createELContext(getCurrentManager().getCurrent());
- return (T) EL.EXPRESSION_FACTORY.createValueExpression(elContext, expression, expectedType).getValue(elContext);
+ return Utils.evaluateValueExpression(getCurrentManager(), expression, expectedType);
}
protected String getPath(String viewId)
Added: core/trunk/tests/src/main/java/org/jboss/weld/test/Utils.java
===================================================================
--- core/trunk/tests/src/main/java/org/jboss/weld/test/Utils.java (rev 0)
+++ core/trunk/tests/src/main/java/org/jboss/weld/test/Utils.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -0,0 +1,156 @@
+package org.jboss.weld.test;
+
+import static org.jboss.weld.logging.messages.BeanManagerMessage.UNRESOLVABLE_TYPE;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Set;
+
+import javax.el.ELContext;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.util.TypeLiteral;
+
+import org.jboss.weld.exceptions.UnsatisfiedResolutionException;
+import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.mock.el.EL;
+import org.jboss.weld.util.collections.EnumerationList;
+
+
+public class Utils
+{
+
+ /**
+ * Checks if all annotations are in a given set of annotations
+ *
+ * @param annotations The annotation set
+ * @param annotationTypes The annotations to match
+ * @return True if match, false otherwise
+ */
+ public static boolean annotationSetMatches(Set<? extends Annotation> annotations, Class<? extends Annotation>... annotationTypes)
+ {
+ List<Class<? extends Annotation>> annotationTypeList = new ArrayList<Class<? extends Annotation>>();
+ annotationTypeList.addAll(Arrays.asList(annotationTypes));
+ for (Annotation annotation : annotations)
+ {
+ if (annotationTypeList.contains(annotation.annotationType()))
+ {
+ annotationTypeList.remove(annotation.annotationType());
+ }
+ else
+ {
+ return false;
+ }
+ }
+ return annotationTypeList.size() == 0;
+ }
+
+ public static boolean typeSetMatches(Set<Type> types, Type... requiredTypes)
+ {
+ List<Type> typeList = Arrays.asList(requiredTypes);
+ return requiredTypes.length == types.size() && types.containsAll(typeList);
+ }
+
+ public static Iterable<URL> getResources(Class<?> clazz, String name)
+ {
+ if (name.startsWith("/"))
+ {
+ name = name.substring(1);
+ }
+ else
+ {
+ name = clazz.getPackage().getName().replace(".", "/") + "/" + name;
+ }
+ try
+ {
+ return new EnumerationList<URL>(clazz.getClassLoader().getResources(name));
+ }
+ catch (IOException e)
+ {
+ throw new RuntimeException("Error loading resource from classloader" + name, e);
+ }
+ }
+
+ public static byte[] serialize(Object instance) throws IOException
+ {
+ ByteArrayOutputStream bytes = new ByteArrayOutputStream();
+ ObjectOutputStream out = new ObjectOutputStream(bytes);
+ out.writeObject(instance);
+ return bytes.toByteArray();
+ }
+
+ public static <T> T deserialize(byte[] bytes) throws IOException, ClassNotFoundException
+ {
+ ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(bytes));
+ return (T) in.readObject();
+ }
+
+ public static boolean isExceptionInHierarchy(Throwable exception, Class<? extends Throwable> expectedException )
+ {
+ while (exception != null)
+ {
+ if (exception.getClass().equals(expectedException))
+ {
+ return true;
+ }
+ exception = exception.getCause();
+ }
+ return false;
+ }
+
+ public static <T> Bean<T> getBean(BeanManagerImpl beanManager, Type beanType, Annotation... bindings)
+ {
+ Set<Bean<?>> beans = beanManager.getBeans(beanType, bindings);
+ Bean<?> bean = beanManager.resolve(beans);
+ if (bean == null)
+ {
+ throw new UnsatisfiedResolutionException(UNRESOLVABLE_TYPE, beanType, Arrays.toString(bindings));
+ }
+
+ @SuppressWarnings("unchecked")
+ Bean<T> typedBean = (Bean<T>) bean;
+
+ return typedBean;
+ }
+
+ @SuppressWarnings("unchecked")
+ public static <T> Set<Bean<T>> getBeans(BeanManagerImpl beanManager, Class<T> type, Annotation... bindings)
+ {
+ return (Set) beanManager.getBeans(type, bindings);
+ }
+
+ @SuppressWarnings("unchecked")
+ public static <T> Set<Bean<T>> getBeans(BeanManagerImpl beanManager, TypeLiteral<T> type, Annotation... bindings)
+ {
+ return (Set) beanManager.getBeans(type.getType(), bindings);
+ }
+
+ @SuppressWarnings("unchecked")
+ public static <T> T getReference(BeanManagerImpl beanManager, Class<T> beanType, Annotation... bindings)
+ {
+ Bean<?> bean = getBean(beanManager, beanType, bindings);
+ return (T) beanManager.getReference(bean, beanType, beanManager.createCreationalContext(bean));
+ }
+
+ @SuppressWarnings("unchecked")
+ public static <T> T getReference(BeanManagerImpl beanManager, Bean<T> bean)
+ {
+ return (T) beanManager.getReference(bean, bean.getBeanClass(), beanManager.createCreationalContext(bean));
+ }
+
+ @SuppressWarnings("unchecked")
+ public static <T> T evaluateValueExpression(BeanManagerImpl beanManager, String expression, Class<T> expectedType)
+ {
+ ELContext elContext = EL.createELContext(beanManager.getCurrent());
+ return (T) EL.EXPRESSION_FACTORY.createValueExpression(elContext, expression, expectedType).getValue(elContext);
+ }
+
+}
Property changes on: core/trunk/tests/src/main/java/org/jboss/weld/test/Utils.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/ActivitiesTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/ActivitiesTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/ActivitiesTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -271,7 +271,7 @@
}
});
- createContextualInstance(Field.class).get();
+ getReference(Field.class).get();
}
@Test
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/current/InjectedManagerCurrentActivityTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/current/InjectedManagerCurrentActivityTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/current/InjectedManagerCurrentActivityTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -60,7 +60,7 @@
assert getBeans(Cow.class).size() == 1;
WeldManager childActivity = getCurrentManager().createActivity();
childActivity.setCurrent(dummyContext.getScope());
- assert createContextualInstance(Horse.class).getManager().equals(childActivity);
+ assert getReference(Horse.class).getManager().equals(childActivity);
}
}
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/current/InstanceCurrentActivityTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/current/InstanceCurrentActivityTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/current/InstanceCurrentActivityTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -161,7 +161,7 @@
BeanManagerImpl childActivity = getCurrentManager().createActivity();
childActivity.addBean(new Daisy(childActivity));
childActivity.setCurrent(dummyContext.getScope());
- assert createContextualInstance(Field.class).get() != null;
+ assert getReference(Field.class).get() != null;
}
}
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/current/JndiManagerCurrentActivityTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/current/JndiManagerCurrentActivityTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/activities/current/JndiManagerCurrentActivityTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -62,7 +62,7 @@
assert getBeans(Cow.class).size() == 1;
WeldManager childActivity = getCurrentManager().createActivity();
childActivity.setCurrent(dummyContext.getScope());
- assert createContextualInstance(Donkey.class).getManager().equals(childActivity);
+ assert getReference(Donkey.class).getManager().equals(childActivity);
}
}
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/beanManager/serializability/ManagerTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/beanManager/serializability/ManagerTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/beanManager/serializability/ManagerTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -16,6 +16,7 @@
import org.jboss.weld.literal.DefaultLiteral;
import org.jboss.weld.manager.BeanManagerImpl;
import org.jboss.weld.test.AbstractWeldTest;
+import org.jboss.weld.test.Utils;
import org.testng.annotations.Test;
@Artifact
@@ -99,7 +100,7 @@
public void testRootManagerSerializability() throws Exception
{
String rootManagerId = getCurrentManager().getId();
- BeanManagerImpl deserializedRootManager = (BeanManagerImpl) deserialize(serialize(getCurrentManager()));
+ BeanManagerImpl deserializedRootManager = (BeanManagerImpl) Utils.deserialize(Utils.serialize(getCurrentManager()));
assert deserializedRootManager.getId().equals(rootManagerId);
assert getCurrentManager().getBeans(Foo.class).size() == 1;
assert deserializedRootManager.getBeans(Foo.class).size() == 1;
@@ -113,7 +114,7 @@
Bean<?> dummyBean = new DummyBean();
childManager.addBean(dummyBean);
String childManagerId = childManager.getId();
- BeanManagerImpl deserializedChildManager = (BeanManagerImpl) deserialize(serialize(childManager));
+ BeanManagerImpl deserializedChildManager = (BeanManagerImpl) Utils.deserialize(Utils.serialize(childManager));
assert deserializedChildManager.getId().equals(childManagerId);
assert childManager.getBeans(Dummy.class).size() == 1;
assert deserializedChildManager.getBeans(Dummy.class).size() == 1;
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/BuiltInBeanPassivationCapableTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/BuiltInBeanPassivationCapableTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/BuiltInBeanPassivationCapableTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -22,6 +22,7 @@
import org.jboss.testharness.impl.packaging.Artifact;
import org.jboss.weld.test.AbstractWeldTest;
+import org.jboss.weld.test.Utils;
import org.testng.annotations.Test;
@Artifact
@@ -31,40 +32,40 @@
@Test
public void testDefaultValidatorBean() throws Throwable
{
- Validator validator = getCurrentManager().getInstanceByType(Validator.class);
- Validator validator1 = deserialize(serialize(validator));
+ Validator validator = getReference(Validator.class);
+ Validator validator1 = Utils.deserialize(Utils.serialize(validator));
assert checkValidator(validator1);
}
@Test
public void testDefaultValidatorFactoryBean() throws Throwable
{
- ValidatorFactory validatorFactory = getCurrentManager().getInstanceByType(ValidatorFactory.class);
- ValidatorFactory validatorFactory1 = deserialize(serialize(validatorFactory));
+ ValidatorFactory validatorFactory = getReference(ValidatorFactory.class);
+ ValidatorFactory validatorFactory1 = Utils.deserialize(Utils.serialize(validatorFactory));
assert checkValidatorFactory(validatorFactory1);
}
@Test(groups="incontainer-broken")
public void testPrincipal() throws Throwable
{
- Principal principal = getCurrentManager().getInstanceByType(Principal.class);
- Principal principal1 = deserialize(serialize(principal));
+ Principal principal = getReference(Principal.class);
+ Principal principal1 = Utils.deserialize(Utils.serialize(principal));
assert checkPrincipal(principal1);
}
@Test
public void testUserTransactionBean() throws Throwable
{
- UserTransaction userTransaction = getCurrentManager().getInstanceByType(UserTransaction.class);
- UserTransaction userTransaction1 = deserialize(serialize(userTransaction));
+ UserTransaction userTransaction = getReference(UserTransaction.class);
+ UserTransaction userTransaction1 = Utils.deserialize(Utils.serialize(userTransaction));
assert checkUserTransaction(userTransaction1);
}
@Test
public void testBeanManagerBean() throws Throwable
{
- BeanManager beanManager = getCurrentManager().getInstanceByType(BeanManager.class);
- BeanManager beanManager1 = deserialize(serialize(beanManager));
+ BeanManager beanManager = getReference(BeanManager.class);
+ BeanManager beanManager1 = Utils.deserialize(Utils.serialize(beanManager));
assert checkBeanManager(beanManager1);
assert checkEquality(beanManager, beanManager1);
}
@@ -72,8 +73,8 @@
@Test
public void testInstance() throws Throwable
{
- Instance<Cow> instance = getCurrentManager().getInstanceByType(Consumer.class).getCow();
- Instance<Cow> instance1 = deserialize(serialize(instance));
+ Instance<Cow> instance = getReference(Consumer.class).getCow();
+ Instance<Cow> instance1 = Utils.deserialize(Utils.serialize(instance));
assert checkInstance(instance1);
assert checkEquality(instance, instance1);
}
@@ -81,9 +82,9 @@
@Test
public void testEvent() throws Throwable
{
- Event<Cow> event = getCurrentManager().getInstanceByType(Consumer.class).getEvent();
- CowEventObserver observer = getCurrentManager().getInstanceByType(CowEventObserver.class);
- Event<Cow> event1 = deserialize(serialize(event));
+ Event<Cow> event = getReference(Consumer.class).getEvent();
+ CowEventObserver observer = getReference(CowEventObserver.class);
+ Event<Cow> event1 = Utils.deserialize(Utils.serialize(event));
assert checkEvent(event1, observer);
assert checkEquality(event, event1);
}
@@ -92,9 +93,9 @@
public void testFieldInjectionPoint() throws Throwable
{
Dog.reset();
- getCurrentManager().getInstanceByType(FieldInjectionPointConsumer.class).ping();
+ getReference(FieldInjectionPointConsumer.class).ping();
InjectionPoint injectionPoint = Dog.getInjectionPoint();
- InjectionPoint injectionPoint1 = deserialize(serialize(injectionPoint));
+ InjectionPoint injectionPoint1 = Utils.deserialize(Utils.serialize(injectionPoint));
assert checkInjectionPoint(injectionPoint1, FieldInjectionPointConsumer.class);
assert checkEquality(injectionPoint, injectionPoint1);
}
@@ -103,9 +104,9 @@
public void testConstructorInjectionPoint() throws Throwable
{
Dog.reset();
- getCurrentManager().getInstanceByType(ConstructorInjectionPointConsumer.class).ping();
+ getReference(ConstructorInjectionPointConsumer.class).ping();
InjectionPoint injectionPoint = Dog.getInjectionPoint();
- InjectionPoint injectionPoint1 = deserialize(serialize(injectionPoint));
+ InjectionPoint injectionPoint1 = Utils.deserialize(Utils.serialize(injectionPoint));
assert checkInjectionPoint(injectionPoint1, ConstructorInjectionPointConsumer.class);
assert checkEquality(injectionPoint, injectionPoint1);
}
@@ -114,9 +115,9 @@
public void testMethodInjectionPoint() throws Throwable
{
Dog.reset();
- getCurrentManager().getInstanceByType(MethodInjectionPointConsumer.class).ping();
+ getReference(MethodInjectionPointConsumer.class).ping();
InjectionPoint injectionPoint = Dog.getInjectionPoint();
- InjectionPoint injectionPoint1 = deserialize(serialize(injectionPoint));
+ InjectionPoint injectionPoint1 = Utils.deserialize(Utils.serialize(injectionPoint));
assert checkInjectionPoint(injectionPoint1, MethodInjectionPointConsumer.class);
assert checkEquality(injectionPoint, injectionPoint1);
}
@@ -124,9 +125,9 @@
@Test
public void testAllOnBean() throws Throwable
{
- Consumer consumer = getCurrentManager().getInstanceByType(Consumer.class);
+ Consumer consumer = getReference(Consumer.class);
consumer.check();
- Consumer consumer1 = deserialize(serialize(consumer));
+ Consumer consumer1 = Utils.deserialize(Utils.serialize(consumer));
consumer1.check();
}
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/ee/EEResourceProducerFieldPassivationCapableTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/ee/EEResourceProducerFieldPassivationCapableTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/builtinBeans/ee/EEResourceProducerFieldPassivationCapableTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -18,6 +18,7 @@
import org.jboss.testharness.impl.packaging.PackagingType;
import org.jboss.testharness.impl.packaging.Resource;
import org.jboss.weld.test.AbstractWeldTest;
+import org.jboss.weld.test.Utils;
import org.testng.annotations.Test;
@Artifact
@@ -32,41 +33,41 @@
@Test
public void testResource() throws Throwable
{
- UserTransaction userTransaction = getCurrentManager().getInstanceByType(UserTransaction.class, PRODUCED);
- UserTransaction userTransaction1 = deserialize(serialize(userTransaction));
+ UserTransaction userTransaction = getReference(UserTransaction.class, PRODUCED);
+ UserTransaction userTransaction1 = Utils.deserialize(Utils.serialize(userTransaction));
assert checkUserTransaction(userTransaction1);
}
@Test
public void testEntityManager() throws Throwable
{
- EntityManager entityManager = getCurrentManager().getInstanceByType(EntityManager.class, PRODUCED);
- EntityManager entityManager1 = deserialize(serialize(entityManager));
+ EntityManager entityManager = getReference(EntityManager.class, PRODUCED);
+ EntityManager entityManager1 = Utils.deserialize(Utils.serialize(entityManager));
assert checkEntityManager(entityManager1);
}
@Test
public void testEntityManagerFactory() throws Throwable
{
- EntityManagerFactory entityManagerFactory = getCurrentManager().getInstanceByType(EntityManagerFactory.class, PRODUCED);
- EntityManagerFactory entityManagerFactory1 = deserialize(serialize(entityManagerFactory));
+ EntityManagerFactory entityManagerFactory = getReference(EntityManagerFactory.class, PRODUCED);
+ EntityManagerFactory entityManagerFactory1 = Utils.deserialize(Utils.serialize(entityManagerFactory));
assert checkEntityManagerFactory(entityManagerFactory1);
}
@Test
public void testRemoteEjb() throws Throwable
{
- HorseRemote horse = getCurrentManager().getInstanceByType(HorseRemote.class, PRODUCED);
- HorseRemote horse1 = deserialize(serialize(horse));
+ HorseRemote horse = getReference(HorseRemote.class, PRODUCED);
+ HorseRemote horse1 = Utils.deserialize(Utils.serialize(horse));
assert checkRemoteEjb(horse1);
}
@Test
public void testAllOnBean() throws Throwable
{
- EEResourceConsumer consumer = getCurrentManager().getInstanceByType(EEResourceConsumer.class);
+ EEResourceConsumer consumer = getReference(EEResourceConsumer.class);
consumer.check();
- EEResourceConsumer consumer1 = deserialize(serialize(consumer));
+ EEResourceConsumer consumer1 = Utils.deserialize(Utils.serialize(consumer));
consumer1.check();
}
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ApplicationScopedTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ApplicationScopedTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ApplicationScopedTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -14,7 +14,7 @@
public void testConcurrentInitilized() throws InterruptedException
{
final CountDownLatch latch = new CountDownLatch(10);
- final ApplicationScopedObject applictionScopedObject = getCurrentManager().getInstanceByType(ApplicationScopedObject.class);
+ final ApplicationScopedObject applictionScopedObject = getReference(ApplicationScopedObject.class);
for (int i = 0; i < 10; i++)
{
new Thread(new Runnable()
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ParameterizedTypeScopedTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ParameterizedTypeScopedTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/contexts/ParameterizedTypeScopedTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -13,7 +13,7 @@
@Test
public void testStringList()
{
- List<String> str = createContextualInstance(StringHolder.class).getStrings();
+ List<String> str = getReference(StringHolder.class).getStrings();
assert str.size() == 2;
}
}
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/SimpleDecoratorTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/SimpleDecoratorTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/SimpleDecoratorTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -17,7 +17,7 @@
@Test
public void testSimpleDecorator()
{
- SimpleBean simpleBean = getCurrentManager().getInstanceByType(SimpleBean.class);
+ SimpleBean simpleBean = getReference(SimpleBean.class);
resetDecorators();
assert simpleBean.echo1(1) == 1;
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -37,7 +37,7 @@
resetAll();
- Window window = getCurrentManager().getInstanceByType(WindowImpl.class);
+ Window window = getReference(WindowImpl.class);
window.draw();
assert WindowImpl.drawn;
assert FrameWithFieldInjectedDelegate.drawn;
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithAbstractMethodAndInitializerMethodTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithAbstractMethodAndInitializerMethodTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithAbstractMethodAndInitializerMethodTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -35,7 +35,7 @@
public void testAbstractDecoratorApplied()
{
- Window window = getCurrentManager().getInstanceByType(WindowImpl.class);
+ Window window = getReference(WindowImpl.class);
resetAll();
window.draw();
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithAbstractMethodTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithAbstractMethodTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithAbstractMethodTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -35,7 +35,7 @@
public void testAbstractDecoratorApplied()
{
- Window window = getCurrentManager().getInstanceByType(WindowImpl.class);
+ Window window = getReference(WindowImpl.class);
resetAll();
window.draw();
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithCallToItselfTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithCallToItselfTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithCallToItselfTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -35,7 +35,7 @@
public void testAbstractDecoratorApplied()
{
- Window window = getCurrentManager().getInstanceByType(WindowImpl.class);
+ Window window = getReference(WindowImpl.class);
resetAll();
window.move();
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithConstructorTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithConstructorTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithConstructorTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -37,7 +37,7 @@
resetAll();
- Window window = getCurrentManager().getInstanceByType(WindowImpl.class);
+ Window window = getReference(WindowImpl.class);
window.draw();
assert WindowImpl.drawn;
assert FrameWithConstructorInjectedDelegate.drawn;
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithInitializerMethodTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithInitializerMethodTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/abstractDecorator/SimpleAbstractDecoratorWithInitializerMethodTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -37,7 +37,7 @@
resetAll();
- Window window = getCurrentManager().getInstanceByType(WindowImpl.class);
+ Window window = getReference(WindowImpl.class);
window.draw();
assert WindowImpl.drawn;
assert FrameWithInitializerMethodInjectedDelegate.drawn;
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/decoratedTypes/PartialDecoratorTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/decoratedTypes/PartialDecoratorTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/decoratedTypes/PartialDecoratorTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -33,7 +33,7 @@
@Test
public void testDecoratorDoesNotDecorateOutsideDecoratedTypes()
{
- TestBean testBean = getCurrentManager().getInstanceByType(TestBean.class);
+ TestBean testBean = getReference(TestBean.class);
testBean.decoratedMethod();
testBean.notDecoratedMethod();
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/PartialDecoratorTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/PartialDecoratorTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/generic/PartialDecoratorTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -33,7 +33,7 @@
@Test
public void testDecoratorDoesNotDecorateOutsideDecoratedTypes()
{
- TestBean testBean = getCurrentManager().getInstanceByType(TestBean.class);
+ TestBean testBean = getReference(TestBean.class);
testBean.invoke();
assert PartialDecorator.decoratedInvoked;
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/stackoverflow/StackOverFlowTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/stackoverflow/StackOverFlowTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/decorators/stackoverflow/StackOverFlowTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -17,7 +17,7 @@
@Test(description="WELD-296")
public void test()
{
- getCurrentManager().getInstanceByType(PaymentService.class, new AnnotationLiteral<SimpleService>() {}).pay("Pete", new BigDecimal(100));
+ getReference(PaymentService.class, new AnnotationLiteral<SimpleService>() {}).pay("Pete", new BigDecimal(100));
}
}
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/EnterpriseBeanDefinitionTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/EnterpriseBeanDefinitionTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/EnterpriseBeanDefinitionTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -6,6 +6,7 @@
import org.jboss.testharness.impl.packaging.Packaging;
import org.jboss.testharness.impl.packaging.PackagingType;
import org.jboss.weld.test.AbstractWeldTest;
+import org.jboss.weld.test.Utils;
import org.testng.annotations.Test;
@Artifact
@@ -17,7 +18,7 @@
public void testSuperInterfacesAreBeanTypes()
{
Bean<?> bean = getBean(Dog.class);
- assert typeSetMatches(bean.getTypes(), Object.class, Dog.class, Animal.class);
+ assert Utils.typeSetMatches(bean.getTypes(), Object.class, Dog.class, Animal.class);
}
}
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/EnterpriseBeanTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/EnterpriseBeanTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/EnterpriseBeanTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -7,6 +7,7 @@
import org.jboss.testharness.impl.packaging.Packaging;
import org.jboss.testharness.impl.packaging.PackagingType;
import org.jboss.weld.test.AbstractWeldTest;
+import org.jboss.weld.test.Utils;
import org.testng.annotations.Test;
@Artifact
@@ -26,7 +27,7 @@
{
try
{
- getCurrentManager().getInstanceByType(Fedora.class).causeRuntimeException();
+ getReference(Fedora.class).causeRuntimeException();
}
catch (Throwable t)
{
@@ -43,11 +44,11 @@
{
try
{
- getCurrentManager().getInstanceByType(Fedora.class).causeRuntimeException();
+ getReference(Fedora.class).causeRuntimeException();
}
catch (Throwable t)
{
- if (isExceptionInHierarchy(t, BowlerHatException.class))
+ if (Utils.isExceptionInHierarchy(t, BowlerHatException.class))
{
return;
}
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/EnterpriseBeanLifecycleTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/EnterpriseBeanLifecycleTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/lifecycle/EnterpriseBeanLifecycleTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -47,7 +47,7 @@
@Test(groups = { "enterpriseBeans", "clientProxy", "lifecycle", "integration" })
public void testCreateSFSB()
{
- GrossStadt frankfurt = getCurrentManager().getInstanceByType(GrossStadt.class);
+ GrossStadt frankfurt = getReference(GrossStadt.class);
Bean<KleinStadt> stadtBean = getBean(KleinStadt.class);
assert stadtBean != null : "Expected a bean for stateful session bean Kassel";
CreationalContext<KleinStadt> creationalContext = new MockCreationalContext<KleinStadt>();
@@ -74,7 +74,7 @@
@Test(groups = { "enterpriseBeans", "clientProxy", "lifecycle", "integration" })
public void testDestroyRemovesSFSB() throws Exception
{
- GrossStadt frankfurt = getCurrentManager().getInstanceByType(GrossStadt.class);
+ GrossStadt frankfurt = getReference(GrossStadt.class);
Bean<KleinStadt> stadtBean = getBean(KleinStadt.class);
assert stadtBean != null : "Expected a bean for stateful session bean Kassel";
RequestContext requestContext = Container.instance().services().get(ContextLifecycle.class).getRequestContext();
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/proxyability/EnterpriseBeanLifecycleTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/proxyability/EnterpriseBeanLifecycleTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/proxyability/EnterpriseBeanLifecycleTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -16,7 +16,7 @@
@Test(description="WELD-290")
public void testSLSBInjectedIntoPassivatingManagedBean()
{
- SimpleBean bean = getCurrentManager().getInstanceByType(SimpleBean.class);
+ SimpleBean bean = getReference(SimpleBean.class);
assert bean.getMessage().equals("This is my message from my stateless bean");
}
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/event/EventQualifierTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/event/EventQualifierTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/event/EventQualifierTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -11,7 +11,7 @@
@Test(description="WELD-226")
public void testDefaultQualifierNotRequired()
{
- Bar bar = getCurrentManager().getInstanceByType(Bar.class);
+ Bar bar = getReference(Bar.class);
bar.fireWithNoQualifiers();
assert bar.isUnqualifiedObserved();
assert !bar.isUpdatedObserved();
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/event/SimpleEventTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/event/SimpleEventTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/event/SimpleEventTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -49,7 +49,7 @@
@Test
public void testFireEventOnEvent()
{
- App app = createContextualInstance(App.class);
+ App app = getReference(App.class);
initFlags();
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/examples/ExampleTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/examples/ExampleTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/examples/ExampleTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -10,12 +10,12 @@
@Test
public void testGameGenerator() throws Exception
{
- Game game1 = getCurrentManager().getInstanceByType(Game.class);
- Game game2 = getCurrentManager().getInstanceByType(Game.class);
+ Game game1 = getReference(Game.class);
+ Game game2 = getReference(Game.class);
assert game1!=game2;
assert game1.getNumber()!=game2.getNumber();
- Generator gen1 = getCurrentManager().getInstanceByType(Generator.class);
- Generator gen2 = getCurrentManager().getInstanceByType(Generator.class);
+ Generator gen1 = getReference(Generator.class);
+ Generator gen2 = getReference(Generator.class);
assert gen1.getRandom()!=null;
assert gen1.getRandom()==gen2.getRandom();
}
@@ -24,7 +24,7 @@
public void testSentenceTranslator() throws Exception
{
- TextTranslator tt1 = getCurrentManager().getInstanceByType(TextTranslator.class);
+ TextTranslator tt1 = getReference(TextTranslator.class);
try
{
tt1.translate("hello world");
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/examples/MockExampleTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/examples/MockExampleTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/examples/MockExampleTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -13,7 +13,7 @@
@Test
public void testMockSentenceTranslator() throws Exception
{
- TextTranslator tt2 = getCurrentManager().getInstanceByType(TextTranslator.class);
+ TextTranslator tt2 = getReference(TextTranslator.class);
assert "Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.".equals( tt2.translate("Hello world. How's tricks?") );
}
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/exceptions/ExceptionHandlingTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/exceptions/ExceptionHandlingTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/exceptions/ExceptionHandlingTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -16,7 +16,7 @@
{
try
{
- getCurrentManager().getInstanceByType(Lorry_Broken.class);
+ getReference(Lorry_Broken.class);
}
catch (Exception e)
{
@@ -33,7 +33,7 @@
{
try
{
- getCurrentManager().getInstanceByType(Ship.class, new AnnotationLiteral<Large>() {});
+ getReference(Ship.class, new AnnotationLiteral<Large>() {});
}
catch (Exception e)
{
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/ExtensionTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/ExtensionTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/ExtensionTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -19,14 +19,14 @@
public void testExtensionInjectableAsBean()
{
assert SimpleExtension.getInstance() != null;
- assert getCurrentManager().getInstanceByType(SimpleExtension.class).equals(SimpleExtension.getInstance());
+ assert getReference(SimpleExtension.class).equals(SimpleExtension.getInstance());
}
@Test(description="WELD-243")
public void testContainerEventsOnlySentToExtensionBeans()
{
- ExtensionObserver extensionObserver = getCurrentManager().getInstanceByType(ExtensionObserver.class);
- OtherObserver otherObserver = getCurrentManager().getInstanceByType(OtherObserver.class);
+ ExtensionObserver extensionObserver = getReference(ExtensionObserver.class);
+ OtherObserver otherObserver = getReference(OtherObserver.class);
assert extensionObserver.isBeforeBeanDiscovery();
assert extensionObserver.isAllBeforeBeanDiscovery();
@@ -93,7 +93,7 @@
@Test
public void testInjectionTargetWrapped()
{
- getCurrentManager().getInstanceByType(Capercaillie.class);
+ getReference(Capercaillie.class);
assert Woodland.isPostConstructCalled();
assert WoodlandExtension.isInjectCalled();
assert WoodlandExtension.isPostConstructCalled();
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/generic/GenericBeanTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/generic/GenericBeanTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/generic/GenericBeanTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -31,7 +31,7 @@
@Test
public void testGenericBean()
{
- TestBean testBean = getCurrentManager().getInstanceByType(TestBean.class);
+ TestBean testBean = getReference(TestBean.class);
assert "Hello".equals(testBean.echo("Hello"));
assert Integer.valueOf(1).equals(testBean.echo(1));
Subclass subclassInstance = new Subclass();
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/InjectionPointTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/InjectionPointTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/injectionPoint/InjectionPointTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -5,6 +5,7 @@
import org.jboss.testharness.impl.packaging.Artifact;
import org.jboss.weld.test.AbstractWeldTest;
+import org.jboss.weld.test.Utils;
import org.testng.annotations.Test;
@Artifact
@@ -14,11 +15,11 @@
@Test(description="WELD-239")
public void testCorrectInjectionPointUsed()
{
- getCurrentManager().getInstanceByType(IntConsumer.class).ping();
+ getReference(IntConsumer.class).ping();
try
{
- getCurrentManager().getInstanceByType(DoubleConsumer.class).ping();
+ getReference(DoubleConsumer.class).ping();
}
catch (IllegalProductException e)
{
@@ -29,11 +30,11 @@
@Test(description="WELD-316")
public void testFieldInjectionPointSerializability() throws Throwable
{
- getCurrentManager().getInstanceByType(StringConsumer.class).ping();
+ getReference(StringConsumer.class).ping();
InjectionPoint ip = StringGenerator.getInjectionPoint();
assert ip != null;
assert ip.getMember().getName().equals("str");
- InjectionPoint ip1 = deserialize(serialize(ip));
+ InjectionPoint ip1 = Utils.deserialize(Utils.serialize(ip));
assert ip1.getMember().getName().equals("str");
}
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedProducerTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedProducerTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/field/ParameterizedProducerTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -14,10 +14,10 @@
@Test
public void testParameterizedListInjection()
{
- List<String> strings = createContextualInstance(Target.class).getStringList();
+ List<String> strings = getReference(Target.class).getStringList();
assert strings.size() == 2;
- ParameterizedListInjection item = getCurrentManager().getInstanceByType(ParameterizedListInjection.class);
+ ParameterizedListInjection item = getReference(ParameterizedListInjection.class);
assert item.getFieldInjection().size() == 2;
assert item.getValue().size() == 2;
assert item.getSetterInjection().size() == 2;
@@ -27,10 +27,10 @@
@Test
public void testParameterizedCollectionInjection()
{
- Collection<String> strings = createContextualInstance(Target.class).getStrings();
+ Collection<String> strings = getReference(Target.class).getStrings();
assert strings.size() == 2;
- ParameterizedCollectionInjection item = getCurrentManager().getInstanceByType(ParameterizedCollectionInjection.class);
+ ParameterizedCollectionInjection item = getReference(ParameterizedCollectionInjection.class);
assert item.getFieldInjection().size() == 2;
assert item.getValue().size() == 2;
assert item.getSetterInjection().size() == 2;
@@ -40,10 +40,10 @@
@Test
public void testIntegerCollectionInjection()
{
- Collection<Integer> integers = createContextualInstance(Target.class).getIntegers();
+ Collection<Integer> integers = getReference(Target.class).getIntegers();
assert integers.size() == 4;
- IntegerCollectionInjection item = getCurrentManager().getInstanceByType(IntegerCollectionInjection.class);
+ IntegerCollectionInjection item = getReference(IntegerCollectionInjection.class);
assert item.getFieldInjection().size() == 4;
assert item.getValue().size() == 4;
assert item.getSetterInjection().size() == 4;
@@ -53,14 +53,14 @@
@Test
public void testInstanceList()
{
- ListInstance listInstance = getCurrentManager().getInstanceByType(ListInstance.class);
+ ListInstance listInstance = getReference(ListInstance.class);
assert listInstance.get().isAmbiguous();
}
@Test
public void testTypeParameterInstance()
{
- ListStringInstance listInstance = getCurrentManager().getInstanceByType(ListStringInstance.class);
+ ListStringInstance listInstance = getReference(ListStringInstance.class);
assert listInstance.get().size() == 2;
}
}
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/ManagerProducerTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/ManagerProducerTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/ManagerProducerTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -11,7 +11,7 @@
public void testInjectManagerProducer()
{
ManagerProducer.setInjectionPointInjected(false);
- getCurrentManager().getInstanceByType(IntInjection.class);
+ getReference(IntInjection.class);
assert ManagerProducer.isInjectionPointInjected();
}
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/NullProducerTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/NullProducerTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/producer/method/NullProducerTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -11,7 +11,7 @@
@Test(description="WBRI-276")
public void testProducerMethodReturnsNull()
{
- getCurrentManager().getInstanceByType(Government.class).destabilize();
+ getReference(Government.class).destabilize();
}
}
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/proxy/enterprise/EnterpriseBeanProxyTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/proxy/enterprise/EnterpriseBeanProxyTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/proxy/enterprise/EnterpriseBeanProxyTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -19,7 +19,7 @@
@Test(description="WBRI-109")
public void testNoInterfaceView() throws Exception
{
- Object mouse = getCurrentManager().getInstanceByType(MouseLocal.class);
+ Object mouse = getReference(MouseLocal.class);
assert mouse instanceof ProxyObject;
assert mouse instanceof MouseLocal;
}
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/LookupInstanceTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/LookupInstanceTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/LookupInstanceTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -18,7 +18,7 @@
@Test
public void testLookupInstance() throws Exception
{
- assert createContextualInstance(new TypeLiteral<Instance<List<?>>>(){}.getRawType(), DefaultLiteral.INSTANCE) == null;
+ assert getReference(new TypeLiteral<Instance<List<?>>>(){}.getRawType(), DefaultLiteral.INSTANCE) == null;
}
}
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/Weld256Test.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/Weld256Test.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/Weld256Test.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -11,7 +11,7 @@
@Test
public void testParameterizedInjection()
{
- LookupFoo lookupFoo = getCurrentManager().getInstanceByType(LookupFoo.class);
+ LookupFoo lookupFoo = getReference(LookupFoo.class);
assert lookupFoo.getFoo().getName().equals("foo");
assert lookupFoo.getFoobaz().getName().equals("foobase");
}
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/CircularDependencyTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/CircularDependencyTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/CircularDependencyTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -11,7 +11,7 @@
@Test
public void testCircularInjectionOnTwoSimpleDependentBeans() throws Exception
{
- getCurrentManager().getInstanceByType(Foo.class).getName();
+ getReference(Foo.class).getName();
assert Foo.success;
assert Bar.success;
}
@@ -19,13 +19,13 @@
@Test
public void testDependentProducerMethodDeclaredOnDependentBeanWhichInjectsProducedBean() throws Exception
{
- getCurrentManager().getInstanceByType(DependentSelfConsumingDependentProducer.class).ping();
+ getReference(DependentSelfConsumingDependentProducer.class).ping();
}
@Test
public void testDependentSelfConsumingProducer() throws Exception
{
- getCurrentManager().getInstanceByType(Violation.class).ping();
+ getReference(Violation.class).ping();
}
}
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/resource/ResourceCircularDependencyTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/resource/ResourceCircularDependencyTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/circular/resource/ResourceCircularDependencyTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -18,7 +18,7 @@
@Test
public void testResourceProducerField() throws Exception
{
- assert getCurrentManager().getInstanceByType(Baz.class).getFooDb().isOpen();
+ assert getReference(Baz.class).getFooDb().isOpen();
assert true;
}
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/wbri279/Weld279Test.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/wbri279/Weld279Test.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/wbri279/Weld279Test.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -31,7 +31,7 @@
@Test(description="WELD-279")
public void testLookupOfGenericTypeSubclass()
{
- assert createContextualInstance(SomeBean.class).getObjectAsString().equals(IntegerFactory.VALUE.toString());
+ assert getReference(SomeBean.class).getObjectAsString().equals(IntegerFactory.VALUE.toString());
}
}
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/wbri293/ContextualReferenceTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/wbri293/ContextualReferenceTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/resolution/wbri293/ContextualReferenceTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -30,9 +30,9 @@
{
@Test(groups = "broken")
public void testReferencesEqual() {
- Sheep sheep = getCurrentManager().getInstanceByType(Sheep.class);
+ Sheep sheep = getReference(Sheep.class);
sheep.setAge(10);
- Sheep sheep2 = getCurrentManager().getInstanceByType(Sheep.class);
+ Sheep sheep2 = getReference(Sheep.class);
assert sheep.getAge() == sheep2.getAge();
assert sheep.equals(sheep2);
}
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/ScopeTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/ScopeTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/scope/ScopeTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -36,7 +36,7 @@
assert getReference(specialTempBean).getNumber() == 10;
assert getReference(uselessTempBean).getNumber() == 11;
- TempConsumer tempConsumer = createContextualInstance(TempConsumer.class);
+ TempConsumer tempConsumer = getReference(TempConsumer.class);
tempConsumer.getSpecialTemp().setNumber(101);
tempConsumer.getUselessTemp().setNumber(102);
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/SerializationTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/SerializationTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/serialization/SerializationTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -2,6 +2,7 @@
import org.jboss.testharness.impl.packaging.Artifact;
import org.jboss.weld.test.AbstractWeldTest;
+import org.jboss.weld.test.Utils;
import org.testng.annotations.Test;
@Artifact
@@ -12,12 +13,12 @@
public void testConversationManagerSerializable()
throws Exception
{
- TestConversationManager cMgr = getCurrentManager().getInstanceByType(TestConversationManager.class);
+ TestConversationManager cMgr = getReference(TestConversationManager.class);
assert cMgr.getConversationInstance() != null;
assert cMgr.getConversationInstance().get() != null;
- Object deserialized = deserialize(serialize(cMgr));
+ Object deserialized = Utils.deserialize(Utils.serialize(cMgr));
assert deserialized instanceof TestConversationManager;
TestConversationManager deserializedCMgr = (TestConversationManager) deserialized;
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/NonBdaExtensionTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/NonBdaExtensionTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/extensions/NonBdaExtensionTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -9,6 +9,7 @@
import org.jboss.weld.mock.MockBeanDeploymentArchive;
import org.jboss.weld.mock.MockServletLifecycle;
import org.jboss.weld.mock.TestContainer;
+import org.jboss.weld.test.Utils;
import org.jboss.weld.util.serviceProvider.PackageServiceLoaderFactory;
import org.jboss.weld.util.serviceProvider.ServiceLoaderFactory;
import org.testng.annotations.Test;
@@ -61,7 +62,7 @@
BeanManagerImpl beanManager1 = container.getBeanManager();
BeanManagerImpl beanManager2 = container.getLifecycle().getBootstrap().getManager(bda2);
- Observer1 observer1 = beanManager1.getInstanceByType(Observer1.class);
+ Observer1 observer1 = Utils.getReference(beanManager1, Observer1.class);
assert observer1.isBeforeBeanDiscoveryCalled();
assert observer1.getBeforeBeanDiscoveryBeanManager().equals(beanManager1);
assert observer1.isAfterBeanDiscoveryCalled();
@@ -74,7 +75,7 @@
// Also check that the accessibility graph has been updated
assert beanManager1.getBeans(Observer2.class).size() == 1;
- Observer2 observer2 = beanManager2.getInstanceByType(Observer2.class);
+ Observer2 observer2 = Utils.getReference(beanManager2, Observer2.class);
assert observer2.isBeforeBeanDiscoveryCalled();
assert observer2.getBeforeBeanDiscoveryBeanManager().equals(beanManager2);
assert observer2.isAfterBeanDiscoveryCalled();
@@ -129,8 +130,8 @@
// Get the bean manager for bda1 and bda2
BeanManagerImpl beanManager1 = container.getBeanManager();
- CountingObserver1 observer1 = beanManager1.getInstanceByType(CountingObserver1.class);
- CountingObserver2 observer2 = beanManager1.getInstanceByType(CountingObserver2.class);
+ CountingObserver1 observer1 = Utils.getReference(beanManager1, CountingObserver1.class);
+ CountingObserver2 observer2 = Utils.getReference(beanManager1, CountingObserver2.class);
assert observer1.getBeforeBeanDiscovery() == 1;
assert observer1.getProcessFooManagedBean() == 1;
assert observer1.getProcessBarManagedBean() == 0;
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/nonTransitiveResolution/TransitiveResolutionTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/nonTransitiveResolution/TransitiveResolutionTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/deployment/structure/nonTransitiveResolution/TransitiveResolutionTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -8,6 +8,7 @@
import org.jboss.weld.mock.MockDeployment;
import org.jboss.weld.mock.MockServletLifecycle;
import org.jboss.weld.mock.TestContainer;
+import org.jboss.weld.test.Utils;
import org.testng.annotations.Test;
public class TransitiveResolutionTest
@@ -116,7 +117,7 @@
assert warBeanManager.getBeans(Foo.class).size() == 1;
assert ejbJarBeanManager.getBeans(Foo.class).size() == 1;
assert ejbJarBeanManager.getBeans(Bar.class).size() == 0;
- Bar bar = warBeanManager.getInstanceByType(Bar.class);
+ Bar bar = Utils.getReference(warBeanManager, Bar.class);
assert bar.getFoo() != null;
assert bar.getBeanManager() != null;
assert bar.getBeanManager().equals(warBeanManager);
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/environments/servlet/ServletEnvironmentTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/environments/servlet/ServletEnvironmentTest.java 2010-01-13 18:48:08 UTC (rev 5455)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/environments/servlet/ServletEnvironmentTest.java 2010-01-13 20:41:04 UTC (rev 5456)
@@ -13,6 +13,7 @@
import org.jboss.weld.manager.BeanManagerImpl;
import org.jboss.weld.mock.MockServletLifecycle;
import org.jboss.weld.mock.TestContainer;
+import org.jboss.weld.test.Utils;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
@@ -46,7 +47,7 @@
Map<Class<?>, Bean<?>> beans = new HashMap<Class<?>, Bean<?>>();
for (Bean<?> bean : manager.getBeans())
{
- if (bean instanceof RIBean)
+ if (bean instanceof RIBean<?>)
{
beans.put(((RIBean<?>) bean).getType(), bean);
}
@@ -56,11 +57,11 @@
assert beans.containsKey(SeaBass.class);
assert beans.containsKey(Sole.class);
- assert beans.get(Tuna.class) instanceof ManagedBean;
- assert beans.get(Salmon.class) instanceof ManagedBean;
- assert beans.get(SeaBass.class) instanceof ManagedBean;
- assert beans.get(Sole.class) instanceof ManagedBean;
- manager.getInstanceByType(Sole.class, new AnnotationLiteral<Whitefish>() {}).ping();
+ assert beans.get(Tuna.class) instanceof ManagedBean<?>;
+ assert beans.get(Salmon.class) instanceof ManagedBean<?>;
+ assert beans.get(SeaBass.class) instanceof ManagedBean<?>;
+ assert beans.get(Sole.class) instanceof ManagedBean<?>;
+ Utils.getReference(manager, Sole.class, new AnnotationLiteral<Whitefish>() {}).ping();
}
@Test
@@ -69,7 +70,7 @@
Map<Class<?>, Bean<?>> beans = new HashMap<Class<?>, Bean<?>>();
for (Bean<?> bean : manager.getBeans())
{
- if (bean instanceof RIBean)
+ if (bean instanceof RIBean<?>)
{
beans.put(((RIBean<?>) bean).getType(), bean);
}
@@ -77,10 +78,10 @@
assert beans.containsKey(TarantulaProducer.class);
assert beans.containsKey(Tarantula.class);
- Bean<?> bean = beans.get(TarantulaProducer.class);
+ beans.get(TarantulaProducer.class);
- assert beans.get(TarantulaProducer.class) instanceof ManagedBean;
- manager.getInstanceByType(Tarantula.class, new AnnotationLiteral<Tame>() {}).ping();
+ assert beans.get(TarantulaProducer.class) instanceof ManagedBean<?>;
+ Utils.getReference(manager, Tarantula.class, new AnnotationLiteral<Tame>() {}).ping();
}
public void testSingleEnterpriseBean()
@@ -89,14 +90,14 @@
Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
for (Bean<?> bean : beans)
{
- if (bean instanceof RIBean)
+ if (bean instanceof RIBean<?>)
{
classes.put(((RIBean<?>) bean).getType(), bean);
}
}
assert classes.containsKey(Hound.class);
- assert classes.get(Hound.class) instanceof ManagedBean;
- manager.getInstanceByType(HoundLocal.class, new AnnotationLiteral<Tame>() {}).ping();
+ assert classes.get(Hound.class) instanceof ManagedBean<?>;
+ Utils.getReference(manager, HoundLocal.class, new AnnotationLiteral<Tame>() {}).ping();
}
}
16 years, 3 months
Weld SVN: r5455 - api/trunk/cdi/src/main/resources.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-01-13 13:48:08 -0500 (Wed, 13 Jan 2010)
New Revision: 5455
Modified:
api/trunk/cdi/src/main/resources/beans.xsd
Log:
Allow elements to occur 0 times
Modified: api/trunk/cdi/src/main/resources/beans.xsd
===================================================================
--- api/trunk/cdi/src/main/resources/beans.xsd 2010-01-13 17:38:32 UTC (rev 5454)
+++ api/trunk/cdi/src/main/resources/beans.xsd 2010-01-13 18:48:08 UTC (rev 5455)
@@ -45,9 +45,9 @@
</xs:annotation>
<xs:complexType>
<xs:all>
- <xs:element ref="javaee:interceptors" />
- <xs:element ref="javaee:decorators" />
- <xs:element ref="javaee:alternatives" />
+ <xs:element ref="javaee:interceptors" minOccurs="0" />
+ <xs:element ref="javaee:decorators" minOccurs="0" />
+ <xs:element ref="javaee:alternatives" minOccurs="0" />
</xs:all>
</xs:complexType>
</xs:element>
16 years, 3 months
Weld SVN: r5454 - in core/trunk/impl/src/main/java/org/jboss/weld: util and 1 other directory.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-01-13 12:38:32 -0500 (Wed, 13 Jan 2010)
New Revision: 5454
Removed:
core/trunk/impl/src/main/java/org/jboss/weld/util/Strings.java
Modified:
core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractClassBean.java
core/trunk/impl/src/main/java/org/jboss/weld/util/Proxies.java
core/trunk/impl/src/main/java/org/jboss/weld/util/Types.java
Log:
Cleanup
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractClassBean.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractClassBean.java 2010-01-13 17:28:36 UTC (rev 5453)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractClassBean.java 2010-01-13 17:38:32 UTC (rev 5454)
@@ -29,6 +29,7 @@
import static org.jboss.weld.logging.messages.BeanMessage.USING_DEFAULT_SCOPE;
import static org.jboss.weld.logging.messages.BeanMessage.USING_SCOPE;
+import java.beans.Introspector;
import java.lang.annotation.Annotation;
import java.util.ArrayList;
import java.util.Collections;
@@ -74,7 +75,6 @@
import org.jboss.weld.serialization.spi.helpers.SerializableContextualInstance;
import org.jboss.weld.util.Beans;
import org.jboss.weld.util.Proxies;
-import org.jboss.weld.util.Strings;
import org.jboss.weld.util.Proxies.TypeInfo;
import org.jboss.weld.util.reflection.SecureReflections;
import org.slf4j.cal10n.LocLogger;
@@ -392,7 +392,7 @@
@Override
protected String getDefaultName()
{
- String name = Strings.decapitalize(getWeldAnnotated().getSimpleName());
+ String name = Introspector.decapitalize(getWeldAnnotated().getSimpleName());
return name;
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/util/Proxies.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/util/Proxies.java 2010-01-13 17:28:36 UTC (rev 5453)
+++ core/trunk/impl/src/main/java/org/jboss/weld/util/Proxies.java 2010-01-13 17:38:32 UTC (rev 5454)
@@ -33,7 +33,6 @@
import javassist.util.proxy.ProxyObject;
import org.jboss.weld.exceptions.ForbiddenArgumentException;
-import org.jboss.weld.exceptions.WeldException;
import org.jboss.weld.util.reflection.Reflections;
import org.jboss.weld.util.reflection.SecureReflections;
@@ -278,17 +277,6 @@
}
}
}
-
- /**
- * Indicates if an instance is a Javassist proxy
- *
- * @param instance The instance to examine
- * @return True if proxy, false otherwise
- */
- public static boolean isProxy(Object instance)
- {
- return instance.getClass().getName().indexOf("_$$_javassist_") > 0;
- }
public static ProxyFactory attachMethodHandler(ProxyFactory proxyFactory, MethodHandler methodHandler)
{
@@ -315,30 +303,6 @@
}
}
-
- public static void clean(Class<?> clazz)
- {
- if (!ProxyObject.class.isAssignableFrom(clazz))
- {
- throw new ForbiddenArgumentException(INSTANCE_NOT_A_PROXY, clazz);
- }
- else
- {
- // Clear the default handler
- try
- {
- SecureReflections.getDeclaredField(clazz, DEFAULT_INTERCEPTOR).set(null, null);
- }
- catch (IllegalAccessException e)
- {
- throw new WeldException(e);
- }
- catch (NoSuchFieldException e)
- {
- throw new WeldException(e);
- }
- }
- }
}
Deleted: core/trunk/impl/src/main/java/org/jboss/weld/util/Strings.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/util/Strings.java 2010-01-13 17:28:36 UTC (rev 5453)
+++ core/trunk/impl/src/main/java/org/jboss/weld/util/Strings.java 2010-01-13 17:38:32 UTC (rev 5454)
@@ -1,133 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed 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.jboss.weld.util;
-
-import java.beans.Introspector;
-import java.util.Collection;
-import java.util.Map;
-import java.util.StringTokenizer;
-import java.util.Map.Entry;
-
-
-/**
- * String utilities
- *
- * @author Pete Muir
- *
- */
-public class Strings
-{
-
- /**
- * Decapitalizes a String
- *
- * @param camelCase The String
- * @return The decapitalized result
- */
- public static String decapitalize(String camelCase)
- {
- return Introspector.decapitalize(camelCase);
- }
-
- /**
- * Split a string into parts
- *
- * @param strings The sources
- * @param delims The delimeter
- * @return The parts
- */
- public static String[] split(String strings, String delims)
- {
- if (strings == null)
- {
- return new String[0];
- }
- else
- {
- StringTokenizer tokens = new StringTokenizer(strings, delims);
- String[] result = new String[tokens.countTokens()];
- int i = 0;
- while (tokens.hasMoreTokens())
- {
- result[i++] = tokens.nextToken();
- }
- return result;
- }
- }
-
- /**
- * Returns a textual representation of a map for debug purposes
- *
- * @param header The description of the map
- * @param map The map
- * @return A textual representation
- */
- public static String mapToString(String header, Map<?, ?> map)
- {
- StringBuilder buffer = new StringBuilder();
- if (map == null)
- {
- buffer.append(header).append("null\n");
- return buffer.toString();
- }
- buffer.append(header).append("[").append(map.size()).append(" entries]\n");
- int i = 0;
- for (Entry<?, ?> entry: map.entrySet())
- {
- Object value = entry.getValue();
- buffer.append(" #").append(++i).append(": ").append(entry.getKey()).append(" -> ");
- if (value instanceof Iterable<?>)
- {
- buffer.append("\n");
- for (Object subValue : (Iterable<?>) value)
- {
- buffer.append(" ").append(subValue.toString()).append("\n");
- }
- }
- else
- {
- buffer.append(value.toString()).append("\n");
- }
- }
- return buffer.toString();
- }
-
- /**
- * Returns a textual representation of a collection for debug purposes
- *
- * @param header The description of the collection
- * @param collection The collection
- * @return A textual representation
- */
- public static String collectionToString(String header, Collection<?> collection)
- {
- StringBuilder buffer = new StringBuilder();
- if (collection == null)
- {
- buffer.append(header + "null\n");
- return buffer.toString();
- }
- buffer.append(header + "[" + collection.size() + " entries]\n");
- int i = 0;
- for (Object item : collection)
- {
- buffer.append(" #" + ++i + ": " + item.toString() + "\n");
- }
- return buffer.toString();
- }
-
-}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/util/Types.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/util/Types.java 2010-01-13 17:28:36 UTC (rev 5453)
+++ core/trunk/impl/src/main/java/org/jboss/weld/util/Types.java 2010-01-13 17:38:32 UTC (rev 5454)
@@ -34,7 +34,7 @@
*/
public static Type boxedType(Type type)
{
- if (type instanceof Class)
+ if (type instanceof Class<?>)
{
return boxedClass((Class<?>) type);
}
16 years, 3 months
Weld SVN: r5453 - core/trunk/impl/src/main/java/org/jboss/weld/util/el.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-01-13 12:28:36 -0500 (Wed, 13 Jan 2010)
New Revision: 5453
Removed:
core/trunk/impl/src/main/java/org/jboss/weld/util/el/ForwardingELContext.java
core/trunk/impl/src/main/java/org/jboss/weld/util/el/ForwardingELResolver.java
Log:
remove unused classes
Deleted: core/trunk/impl/src/main/java/org/jboss/weld/util/el/ForwardingELContext.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/util/el/ForwardingELContext.java 2010-01-13 17:19:56 UTC (rev 5452)
+++ core/trunk/impl/src/main/java/org/jboss/weld/util/el/ForwardingELContext.java 2010-01-13 17:28:36 UTC (rev 5453)
@@ -1,110 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed 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.jboss.weld.util.el;
-
-import java.util.Locale;
-
-import javax.el.ELContext;
-import javax.el.ELResolver;
-import javax.el.FunctionMapper;
-import javax.el.VariableMapper;
-
-/**
- * A forwarding class that delegates to an ELContext
- *
- * @author Pete Muir
- *
- */
-public abstract class ForwardingELContext extends ELContext
-{
-
- protected abstract ELContext delgate();
-
- @Override
- public ELResolver getELResolver()
- {
- return delgate().getELResolver();
- }
-
- @Override
- public FunctionMapper getFunctionMapper()
- {
- return delgate().getFunctionMapper();
- }
-
- @Override
- public VariableMapper getVariableMapper()
- {
- return delgate().getVariableMapper();
- }
-
- @Override
- public boolean equals(Object obj)
- {
- return this == obj || delgate().equals(obj);
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public Object getContext(Class key)
- {
- return delgate().getContext(key);
- }
-
- @Override
- public Locale getLocale()
- {
- return delgate().getLocale();
- }
-
- @Override
- public int hashCode()
- {
- return delgate().hashCode();
- }
-
- @Override
- public boolean isPropertyResolved()
- {
- return delgate().isPropertyResolved();
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public void putContext(Class key, Object contextObject)
- {
- delgate().putContext(key, contextObject);
- }
-
- @Override
- public void setLocale(Locale locale)
- {
- delgate().setLocale(locale);
- }
-
- @Override
- public void setPropertyResolved(boolean resolved)
- {
- delgate().setPropertyResolved(resolved);
- }
-
- @Override
- public String toString()
- {
- return delgate().toString();
- }
-}
Deleted: core/trunk/impl/src/main/java/org/jboss/weld/util/el/ForwardingELResolver.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/util/el/ForwardingELResolver.java 2010-01-13 17:19:56 UTC (rev 5452)
+++ core/trunk/impl/src/main/java/org/jboss/weld/util/el/ForwardingELResolver.java 2010-01-13 17:28:36 UTC (rev 5453)
@@ -1,84 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed 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.jboss.weld.util.el;
-
-import java.beans.FeatureDescriptor;
-import java.util.Iterator;
-
-import javax.el.ELContext;
-import javax.el.ELResolver;
-
-public abstract class ForwardingELResolver extends ELResolver
-{
-
- protected abstract ELResolver delegate();
-
- @Override
- public Class<?> getCommonPropertyType(ELContext context, Object base)
- {
- return delegate().getCommonPropertyType(context, base);
- }
-
- @Override
- public Iterator<FeatureDescriptor> getFeatureDescriptors(ELContext context, Object base)
- {
- return delegate().getFeatureDescriptors(context, base);
- }
-
- @Override
- public Class<?> getType(ELContext context, Object base, Object property)
- {
- return delegate().getType(context, base, property);
- }
-
- @Override
- public Object getValue(ELContext context, Object base, Object property)
- {
- return delegate().getValue(context, base, property);
- }
-
- @Override
- public boolean isReadOnly(ELContext context, Object base, Object property)
- {
- return delegate().isReadOnly(context, base, property);
- }
-
- @Override
- public void setValue(ELContext context, Object base, Object property, Object value)
- {
- delegate().setValue(context, base, property, value);
- }
-
- @Override
- public boolean equals(Object obj)
- {
- return this == obj || delegate().equals(obj);
- }
-
- @Override
- public int hashCode()
- {
- return delegate().hashCode();
- }
-
- @Override
- public String toString()
- {
- return delegate().toString();
- }
-
-}
16 years, 3 months
Weld SVN: r5452 - in core/trunk/tests/src/test: resources/org/jboss/weld/tests/extensions and 1 other directory.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-01-13 12:19:56 -0500 (Wed, 13 Jan 2010)
New Revision: 5452
Added:
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Capercaillie.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Woodland.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/WoodlandExtension.java
Modified:
core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/ExtensionTest.java
core/trunk/tests/src/test/resources/org/jboss/weld/tests/extensions/javax.enterprise.inject.spi.Extension
Log:
WELD-318
Added: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Capercaillie.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Capercaillie.java (rev 0)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Capercaillie.java 2010-01-13 17:19:56 UTC (rev 5452)
@@ -0,0 +1,11 @@
+package org.jboss.weld.tests.extensions;
+
+public class Capercaillie
+{
+
+ public Capercaillie(String name)
+ {
+ // TODO Auto-generated constructor stub
+ }
+
+}
Property changes on: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Capercaillie.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/ExtensionTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/ExtensionTest.java 2010-01-13 16:52:02 UTC (rev 5451)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/ExtensionTest.java 2010-01-13 17:19:56 UTC (rev 5452)
@@ -89,5 +89,16 @@
assert !otherObserver.isAllAfterDeploymentValidation();
}
+
+ @Test
+ public void testInjectionTargetWrapped()
+ {
+ getCurrentManager().getInstanceByType(Capercaillie.class);
+ assert Woodland.isPostConstructCalled();
+ assert WoodlandExtension.isInjectCalled();
+ assert WoodlandExtension.isPostConstructCalled();
+ assert WoodlandExtension.isPreDestroyCalled();
+ assert WoodlandExtension.isProduceCalled();
+ }
}
Added: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Woodland.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Woodland.java (rev 0)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Woodland.java 2010-01-13 17:19:56 UTC (rev 5452)
@@ -0,0 +1,30 @@
+package org.jboss.weld.tests.extensions;
+
+import javax.annotation.PostConstruct;
+import javax.enterprise.inject.Produces;
+
+public class Woodland
+{
+
+ private static boolean postConstructCalled;
+
+ @Produces
+ private Capercaillie capercaillie = new Capercaillie("bob");
+
+ @PostConstruct
+ public void postConstruct()
+ {
+ postConstructCalled = true;
+ }
+
+ public static boolean isPostConstructCalled()
+ {
+ return postConstructCalled;
+ }
+
+ public static void reset()
+ {
+ postConstructCalled = false;
+ }
+
+}
Property changes on: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/Woodland.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Added: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/WoodlandExtension.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/WoodlandExtension.java (rev 0)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/WoodlandExtension.java 2010-01-13 17:19:56 UTC (rev 5452)
@@ -0,0 +1,99 @@
+package org.jboss.weld.tests.extensions;
+
+import java.util.Set;
+
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.BeforeShutdown;
+import javax.enterprise.inject.spi.Extension;
+import javax.enterprise.inject.spi.InjectionPoint;
+import javax.enterprise.inject.spi.InjectionTarget;
+import javax.enterprise.inject.spi.ProcessInjectionTarget;
+
+public class WoodlandExtension implements Extension
+{
+
+ private static boolean injectCalled;
+ private static boolean postConstructCalled;
+ private static boolean preDestroyCalled;
+ private static boolean produceCalled;
+
+ public void cleanup(@Observes BeforeShutdown shutdown)
+ {
+ reset();
+ Woodland.reset();
+ }
+
+ public void enhanceWoodland(final @Observes ProcessInjectionTarget<Woodland> processWoodland)
+ {
+ final InjectionTarget<Woodland> it = processWoodland.getInjectionTarget();
+ processWoodland.setInjectionTarget(new InjectionTarget<Woodland>()
+ {
+
+ public void inject(Woodland instance, CreationalContext<Woodland> ctx)
+ {
+ injectCalled = true;
+ it.inject(instance, ctx);
+ }
+
+ public void postConstruct(Woodland instance)
+ {
+ postConstructCalled = true;
+ it.postConstruct(instance);
+ }
+
+ public void preDestroy(Woodland instance)
+ {
+ preDestroyCalled = true;
+ it.preDestroy(instance);
+ }
+
+ public void dispose(Woodland instance)
+ {
+ // No-op for class bean
+
+ }
+
+ public Set<InjectionPoint> getInjectionPoints()
+ {
+ return it.getInjectionPoints();
+ }
+
+ public Woodland produce(CreationalContext<Woodland> ctx)
+ {
+ produceCalled = true;
+ return it.produce(ctx);
+ }
+
+ });
+ }
+
+ public static void reset()
+ {
+ injectCalled = false;
+ postConstructCalled = false;
+ preDestroyCalled = false;
+ preDestroyCalled = false;
+ }
+
+ public static boolean isInjectCalled()
+ {
+ return injectCalled;
+ }
+
+ public static boolean isPostConstructCalled()
+ {
+ return postConstructCalled;
+ }
+
+ public static boolean isPreDestroyCalled()
+ {
+ return preDestroyCalled;
+ }
+
+ public static boolean isProduceCalled()
+ {
+ return produceCalled;
+ }
+
+}
Property changes on: core/trunk/tests/src/test/java/org/jboss/weld/tests/extensions/WoodlandExtension.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Modified: core/trunk/tests/src/test/resources/org/jboss/weld/tests/extensions/javax.enterprise.inject.spi.Extension
===================================================================
--- core/trunk/tests/src/test/resources/org/jboss/weld/tests/extensions/javax.enterprise.inject.spi.Extension 2010-01-13 16:52:02 UTC (rev 5451)
+++ core/trunk/tests/src/test/resources/org/jboss/weld/tests/extensions/javax.enterprise.inject.spi.Extension 2010-01-13 17:19:56 UTC (rev 5452)
@@ -1,2 +1,3 @@
org.jboss.weld.tests.extensions.SimpleExtension
-org.jboss.weld.tests.extensions.ExtensionObserver
\ No newline at end of file
+org.jboss.weld.tests.extensions.ExtensionObserver
+org.jboss.weld.tests.extensions.WoodlandExtension
\ No newline at end of file
16 years, 3 months
Weld SVN: r5451 - cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/addDeploymentProblem and 8 other directories.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-01-13 11:52:02 -0500 (Wed, 13 Jan 2010)
New Revision: 5451
Added:
cdi-tck/branches/1.0/impl/src/main/resources/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/addDeploymentProblem/
cdi-tck/branches/1.0/impl/src/main/resources/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/addDeploymentProblem/javax.enterprise.inject.spi.Extension
cdi-tck/branches/1.0/impl/src/main/resources/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/exceptionInAfterBeanDiscoveryObserver/
cdi-tck/branches/1.0/impl/src/main/resources/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/exceptionInAfterBeanDiscoveryObserver/javax.enterprise.inject.spi.Extension
cdi-tck/branches/1.0/impl/src/main/resources/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/exceptionInAfterBeanValidationObserver/
cdi-tck/branches/1.0/impl/src/main/resources/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/exceptionInAfterBeanValidationObserver/javax.enterprise.inject.spi.Extension
Removed:
core/trunk/impl/src/main/java/org/jboss/weld/util/collections/ConcurrentCache.java
Modified:
cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/addDefinitionError/AddDefinitionErrorTest.java
cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/addDeploymentProblem/AddDeploymentProblemTest.java
cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/addDeploymentProblem/BeanDiscoveryObserver.java
cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/exceptionInAfterBeanDiscoveryObserver/AfterBeanDiscoveryObserverExecutionFailureTest.java
cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/exceptionInAfterBeanDiscoveryObserver/BeanDiscoveryObserver.java
cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/exceptionInAfterBeanValidationObserver/AfterDeploymentValidationObserverExecutionFailureTest.java
cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/exceptionInAfterBeanValidationObserver/BeanDiscoveryObserver.java
core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AbstractContainerEvent.java
Log:
WELD-306
Modified: cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/addDefinitionError/AddDefinitionErrorTest.java
===================================================================
--- cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/addDefinitionError/AddDefinitionErrorTest.java 2010-01-13 13:55:53 UTC (rev 5450)
+++ cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/addDefinitionError/AddDefinitionErrorTest.java 2010-01-13 16:52:02 UTC (rev 5451)
@@ -29,8 +29,7 @@
@SpecVersion(spec="cdi", version="20091101")
public class AddDefinitionErrorTest extends AbstractJSR299Test
{
- @Test(groups={"jboss-as-broken", "rewrite"})
- // WBRI-312
+ @Test(groups={"rewrite"})
@SpecAssertions({
@SpecAssertion(section = "11.5.2", id = "ca"),
@SpecAssertion(section = "12.2", id = "c")
@@ -39,13 +38,5 @@
{
assert false;
}
-
- // FIXME need to communicate state of container at the time of failure
- // @Override
- // @AfterClass(alwaysRun = true, groups = "scaffold")
- // public void afterClass() throws Exception
- // {
- // super.afterClass();
- // assert BeanDiscoveryObserver.getInvocationCount() == 2 : "All AfterBeanDiscovery observer methods should have been called";
- // }
+
}
Modified: cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/addDeploymentProblem/AddDeploymentProblemTest.java
===================================================================
--- cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/addDeploymentProblem/AddDeploymentProblemTest.java 2010-01-13 13:55:53 UTC (rev 5450)
+++ cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/addDeploymentProblem/AddDeploymentProblemTest.java 2010-01-13 16:52:02 UTC (rev 5451)
@@ -23,6 +23,7 @@
import org.jboss.test.audit.annotations.SpecVersion;
import org.jboss.testharness.impl.packaging.Artifact;
import org.jboss.testharness.impl.packaging.ExpectedDeploymentException;
+import org.jboss.testharness.impl.packaging.jsr299.Extension;
import org.testng.annotations.Test;
/**
@@ -34,26 +35,16 @@
* @author Dan Allen
*/
@Artifact
+@Extension(value="javax.enterprise.inject.spi.Extension")
@ExpectedDeploymentException(DeploymentFailure.class)
@SpecVersion(spec="cdi", version="20091101")
public class AddDeploymentProblemTest extends AbstractJSR299Test
{
- @Test(groups={"rewrite", "jboss-as-broken"})
- // TODO Needs Extension stuff adding
- // WBRI-312
+ @Test(groups={"rewrite"})
@SpecAssertion(section = "11.5.3", id = "b")
public void testObserverDeploymentProblemTreatedAsDeploymentError()
{
assert false;
}
- // FIXME need to communicate state of container at the time of failure
- // @Override
- // @AfterClass(alwaysRun = true, groups = "scaffold")
- // public void afterClass() throws Exception
- // {
- // super.afterClass();
- // assert BeanDiscoveryObserver.getInvocationCount() == 2 : "All AfterDeploymentValidation observer methods should have been called";
- // }
-
}
Modified: cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/addDeploymentProblem/BeanDiscoveryObserver.java
===================================================================
--- cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/addDeploymentProblem/BeanDiscoveryObserver.java 2010-01-13 13:55:53 UTC (rev 5450)
+++ cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/addDeploymentProblem/BeanDiscoveryObserver.java 2010-01-13 16:52:02 UTC (rev 5451)
@@ -2,8 +2,9 @@
import javax.enterprise.event.Observes;
import javax.enterprise.inject.spi.AfterDeploymentValidation;
+import javax.enterprise.inject.spi.Extension;
-class BeanDiscoveryObserver
+public class BeanDiscoveryObserver implements Extension
{
private static int invocationCount = 0;
Modified: cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/exceptionInAfterBeanDiscoveryObserver/AfterBeanDiscoveryObserverExecutionFailureTest.java
===================================================================
--- cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/exceptionInAfterBeanDiscoveryObserver/AfterBeanDiscoveryObserverExecutionFailureTest.java 2010-01-13 13:55:53 UTC (rev 5450)
+++ cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/exceptionInAfterBeanDiscoveryObserver/AfterBeanDiscoveryObserverExecutionFailureTest.java 2010-01-13 16:52:02 UTC (rev 5451)
@@ -6,6 +6,7 @@
import org.jboss.test.audit.annotations.SpecVersion;
import org.jboss.testharness.impl.packaging.Artifact;
import org.jboss.testharness.impl.packaging.ExpectedDeploymentException;
+import org.jboss.testharness.impl.packaging.jsr299.Extension;
import org.testng.annotations.Test;
/**
@@ -18,11 +19,10 @@
@Artifact
@ExpectedDeploymentException(DeploymentFailure.class)
@SpecVersion(spec="cdi", version="20091101")
+@Extension(value="javax.enterprise.inject.spi.Extension")
public class AfterBeanDiscoveryObserverExecutionFailureTest extends AbstractJSR299Test
{
- @Test(groups={"jboss-as-broken", "rewrite"})
- //TODO Needs Extension stuff adding
- // WBRI-312
+ @Test(groups={"rewrite"})
@SpecAssertion(section = "11.5.2", id = "g")
public void testObserverFailureTreatedAsDefinitionError()
{
Modified: cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/exceptionInAfterBeanDiscoveryObserver/BeanDiscoveryObserver.java
===================================================================
--- cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/exceptionInAfterBeanDiscoveryObserver/BeanDiscoveryObserver.java 2010-01-13 13:55:53 UTC (rev 5450)
+++ cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/exceptionInAfterBeanDiscoveryObserver/BeanDiscoveryObserver.java 2010-01-13 16:52:02 UTC (rev 5451)
@@ -2,8 +2,9 @@
import javax.enterprise.event.Observes;
import javax.enterprise.inject.spi.AfterBeanDiscovery;
+import javax.enterprise.inject.spi.Extension;
-class BeanDiscoveryObserver
+public class BeanDiscoveryObserver implements Extension
{
public void afterBeanDiscovery(@Observes AfterBeanDiscovery event)
{
Modified: cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/exceptionInAfterBeanValidationObserver/AfterDeploymentValidationObserverExecutionFailureTest.java
===================================================================
--- cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/exceptionInAfterBeanValidationObserver/AfterDeploymentValidationObserverExecutionFailureTest.java 2010-01-13 13:55:53 UTC (rev 5450)
+++ cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/exceptionInAfterBeanValidationObserver/AfterDeploymentValidationObserverExecutionFailureTest.java 2010-01-13 16:52:02 UTC (rev 5451)
@@ -23,6 +23,7 @@
import org.jboss.test.audit.annotations.SpecVersion;
import org.jboss.testharness.impl.packaging.Artifact;
import org.jboss.testharness.impl.packaging.ExpectedDeploymentException;
+import org.jboss.testharness.impl.packaging.jsr299.Extension;
import org.testng.annotations.Test;
/**
@@ -35,14 +36,15 @@
@Artifact
@ExpectedDeploymentException(DeploymentFailure.class)
@SpecVersion(spec="cdi", version="20091101")
+@Extension(value="javax.enterprise.inject.spi.Extension")
public class AfterDeploymentValidationObserverExecutionFailureTest extends AbstractJSR299Test
{
- @Test(groups={"jboss-as-broken", "rewrite"})
- // TODO Needs Extension stuff adding
- // WBRI-312
+
+ @Test(groups={"rewrite"})
@SpecAssertion(section = "11.5.3", id = "c")
public void testObserverFailureTreatedAsDeploymentError()
{
assert false;
}
+
}
Modified: cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/exceptionInAfterBeanValidationObserver/BeanDiscoveryObserver.java
===================================================================
--- cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/exceptionInAfterBeanValidationObserver/BeanDiscoveryObserver.java 2010-01-13 13:55:53 UTC (rev 5450)
+++ cdi-tck/branches/1.0/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/exceptionInAfterBeanValidationObserver/BeanDiscoveryObserver.java 2010-01-13 16:52:02 UTC (rev 5451)
@@ -2,8 +2,9 @@
import javax.enterprise.event.Observes;
import javax.enterprise.inject.spi.AfterDeploymentValidation;
+import javax.enterprise.inject.spi.Extension;
-class BeanDiscoveryObserver
+public class BeanDiscoveryObserver implements Extension
{
public void afterDeploymentValidation(@Observes AfterDeploymentValidation event)
{
Added: cdi-tck/branches/1.0/impl/src/main/resources/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/addDeploymentProblem/javax.enterprise.inject.spi.Extension
===================================================================
--- cdi-tck/branches/1.0/impl/src/main/resources/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/addDeploymentProblem/javax.enterprise.inject.spi.Extension (rev 0)
+++ cdi-tck/branches/1.0/impl/src/main/resources/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/addDeploymentProblem/javax.enterprise.inject.spi.Extension 2010-01-13 16:52:02 UTC (rev 5451)
@@ -0,0 +1 @@
+org.jboss.jsr299.tck.tests.deployment.lifecycle.broken.addDeploymentProblem.BeanDiscoveryObserver
Added: cdi-tck/branches/1.0/impl/src/main/resources/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/exceptionInAfterBeanDiscoveryObserver/javax.enterprise.inject.spi.Extension
===================================================================
--- cdi-tck/branches/1.0/impl/src/main/resources/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/exceptionInAfterBeanDiscoveryObserver/javax.enterprise.inject.spi.Extension (rev 0)
+++ cdi-tck/branches/1.0/impl/src/main/resources/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/exceptionInAfterBeanDiscoveryObserver/javax.enterprise.inject.spi.Extension 2010-01-13 16:52:02 UTC (rev 5451)
@@ -0,0 +1 @@
+org.jboss.jsr299.tck.tests.deployment.lifecycle.broken.exceptionInAfterBeanDiscoveryObserver.BeanDiscoveryObserver
\ No newline at end of file
Added: cdi-tck/branches/1.0/impl/src/main/resources/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/exceptionInAfterBeanValidationObserver/javax.enterprise.inject.spi.Extension
===================================================================
--- cdi-tck/branches/1.0/impl/src/main/resources/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/exceptionInAfterBeanValidationObserver/javax.enterprise.inject.spi.Extension (rev 0)
+++ cdi-tck/branches/1.0/impl/src/main/resources/org/jboss/jsr299/tck/tests/deployment/lifecycle/broken/exceptionInAfterBeanValidationObserver/javax.enterprise.inject.spi.Extension 2010-01-13 16:52:02 UTC (rev 5451)
@@ -0,0 +1 @@
+org.jboss.jsr299.tck.tests.deployment.lifecycle.broken.exceptionInAfterBeanValidationObserver.BeanDiscoveryObserver
\ No newline at end of file
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AbstractContainerEvent.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AbstractContainerEvent.java 2010-01-13 13:55:53 UTC (rev 5450)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AbstractContainerEvent.java 2010-01-13 16:52:02 UTC (rev 5451)
@@ -11,6 +11,7 @@
import org.jboss.weld.bootstrap.BeanDeployment;
import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
+import org.jboss.weld.exceptions.DeploymentException;
import org.jboss.weld.manager.BeanManagerImpl;
import org.jboss.weld.util.reflection.ParameterizedTypeImpl;
@@ -58,17 +59,28 @@
protected void fire(Map<BeanDeploymentArchive, BeanDeployment> beanDeployments)
{
- // Collect all observers to remove dupes
- Set<ObserverMethod<Object>> observers = new HashSet<ObserverMethod<Object>>();
- Type eventType = new ParameterizedTypeImpl(getRawType(), getEmptyTypeArray(), null);
- for (BeanDeployment beanDeployment : beanDeployments.values())
+ try
{
- observers.addAll(beanDeployment.getBeanManager().resolveObserverMethods(eventType));
+ // Collect all observers to remove dupes
+ Set<ObserverMethod<Object>> observers = new HashSet<ObserverMethod<Object>>();
+ Type eventType = new ParameterizedTypeImpl(getRawType(), getEmptyTypeArray(), null);
+ for (BeanDeployment beanDeployment : beanDeployments.values())
+ {
+ observers.addAll(beanDeployment.getBeanManager().resolveObserverMethods(eventType));
+ }
+ for (ObserverMethod<Object> observerMethod : observers)
+ {
+ observerMethod.notify(this);
+ }
}
- for (ObserverMethod<Object> observerMethod : observers)
+ catch (Exception e)
{
- observerMethod.notify(this);
+ getErrors().add(e);
}
+ if (!getErrors().isEmpty())
+ {
+ throw new DeploymentException(getErrors());
+ }
}
protected Type getRawType()
Deleted: core/trunk/impl/src/main/java/org/jboss/weld/util/collections/ConcurrentCache.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/util/collections/ConcurrentCache.java 2010-01-13 13:55:53 UTC (rev 5450)
+++ core/trunk/impl/src/main/java/org/jboss/weld/util/collections/ConcurrentCache.java 2010-01-13 16:52:02 UTC (rev 5451)
@@ -1,189 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed 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.jboss.weld.util.collections;
-
-import java.util.Map;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Future;
-import java.util.concurrent.FutureTask;
-
-import org.jboss.weld.exceptions.ForbiddenStateException;
-
-import com.google.common.collect.ForwardingMap;
-
-/**
- * Represents a thread safe map
- *
- * @author Pete Muir
- */
-public class ConcurrentCache<K, V> extends ForwardingMap<K, Future<V>>
-{
-
- // The backing map with the value wrapped in a Future instance
- private ConcurrentHashMap<K, Future<V>> map;
-
- /**
- * Constructor
- */
- public ConcurrentCache()
- {
- map = new ConcurrentHashMap<K, Future<V>>();
- }
-
- /**
- * Gets the Future value from the map
- *
- * @param key The key to look for
- * @return The Future instance of the value
- */
-
- public <T extends V> Future<T> getFuture(K key)
- {
- @SuppressWarnings("unchecked")
- Future<T> future = (Future<T>) super.get(key);
- return future;
- }
-
- /**
- * Gets a value from the map. Blocks until it is available
- *
- * @param key The key to look for
- * @return The value
- */
- public <T extends V> T getValue(K key)
- {
- @SuppressWarnings("unchecked")
- Future<T> value = (Future<T>) map.get(key);
- if (value != null)
- {
- boolean interrupted = false;
- try
- {
- while (true)
- {
- try
- {
- return value.get();
- }
- catch (InterruptedException e)
- {
- interrupted = true;
- }
- catch (ExecutionException e)
- {
- rethrow(e);
- }
- }
- }
- finally
- {
- if (interrupted)
- {
- Thread.currentThread().interrupt();
- }
- }
- }
- else
- {
- return null;
- }
- }
-
- /**
- * Adds an item to the map if it's not already there
-
- * @param key The key to place the item under
- * @param callable The item, wrapped in a Callable instance
- * @return The item added
- */
- public <E> E putIfAbsent(K key, Callable<E> callable)
- {
- @SuppressWarnings("unchecked")
- Future<E> future = (Future<E>) map.get(key);
- Future<E> value = future;
- if (value == null)
- {
- FutureTask<E> task = new FutureTask<E>(callable);
- value = task;
- @SuppressWarnings("unchecked")
- Future<V> t = (Future<V>) task;
- map.put(key, t);
- task.run();
- }
- boolean interrupted = false;
- try
- {
- while (true)
- {
- try
- {
- return value.get();
- }
- catch (InterruptedException e)
- {
- interrupted = true;
- }
- catch (ExecutionException e)
- {
- rethrow(e);
- }
- }
- }
- finally
- {
- if (interrupted)
- {
- Thread.currentThread().interrupt();
- }
- }
- }
-
- /**
- * Gets the delegate map
- *
- * @return The backing map
- */
- @Override
- protected Map<K, Future<V>> delegate()
- {
- return map;
- }
-
- /**
- * Examines and re-throws an exception
- *
- * @param e The exception that happened during execution
- */
- protected void rethrow(ExecutionException e)
- {
- if (e.getCause() instanceof RuntimeException)
- {
- throw (RuntimeException) e.getCause();
- }
- else if (e.getCause() instanceof Error)
- {
- throw (Error) e.getCause();
- }
- else
- {
- throw new ForbiddenStateException(e.getCause());
- }
- }
-
-}
\ No newline at end of file
16 years, 3 months
Weld SVN: r5450 - in core/trunk: impl/src/main/java/org/jboss/weld/bean and 11 other directories.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-01-13 08:55:53 -0500 (Wed, 13 Jan 2010)
New Revision: 5450
Added:
core/trunk/impl/src/main/java/org/jboss/weld/injection/CurrentInjectionPoint.java
core/trunk/impl/src/main/java/org/jboss/weld/injection/DummyInjectionPoint.java
core/trunk/impl/src/main/java/org/jboss/weld/metadata/cache/QualifierModel.java
core/trunk/impl/src/main/java/org/jboss/weld/resolution/ForwardingInterceptorResolvable.java
Removed:
core/trunk/impl/src/main/java/org/jboss/weld/manager/DummyInjectionPoint.java
core/trunk/impl/src/main/java/org/jboss/weld/metadata/cache/BindingTypeModel.java
Modified:
core/trunk/impl/src/main/java/org/jboss/weld/Container.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractProducerBean.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/ManagedBean.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/AbstractFacadeBean.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/InjectionPointBean.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/InstanceImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/proxy/ClientProxyMethodHandler.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/proxy/ClientProxyProvider.java
core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/Validator.java
core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/WeldBootstrap.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldAnnotationImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldClassImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/manager/BeanManagerImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/metadata/cache/MetaAnnotationStore.java
core/trunk/impl/src/main/java/org/jboss/weld/resolution/NameBasedResolver.java
core/trunk/impl/src/main/java/org/jboss/weld/resolution/Resolvable.java
core/trunk/impl/src/main/java/org/jboss/weld/resolution/ResolvableFactory.java
core/trunk/impl/src/main/java/org/jboss/weld/resolution/ResolvableTransformer.java
core/trunk/impl/src/main/java/org/jboss/weld/resolution/ResolvableWeldClass.java
core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeBeanResolver.java
core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeDecoratorResolver.java
core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeDisposerResolver.java
core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeInterceptorResolver.java
core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeObserverResolver.java
core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeResolver.java
core/trunk/impl/src/main/java/org/jboss/weld/util/Beans.java
core/trunk/impl/src/main/java/org/jboss/weld/util/Names.java
core/trunk/tests/src/main/java/org/jboss/weld/mock/cluster/AbstractClusterTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/cluster/NaiveClusterTest.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/cluster/SwitchableContainerTest.java
Log:
WELD-262
Modified: core/trunk/impl/src/main/java/org/jboss/weld/Container.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/Container.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/Container.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -41,7 +41,7 @@
public class Container
{
- private final static Singleton<Container> instance;
+ private static Singleton<Container> instance;
static
{
@@ -95,6 +95,7 @@
this.managers.put(deploymentManager.getId(), deploymentManager);
this.beanDeploymentArchives = new ConcurrentHashMap<BeanDeploymentArchive, BeanManagerImpl>();
this.deploymentServices = deploymentServices;
+
}
/**
@@ -105,13 +106,11 @@
{
// TODO We should probably cleanup the bean managers for activities?
managers.clear();
-
for (BeanManagerImpl beanManager : beanDeploymentArchives.values())
{
beanManager.cleanup();
}
beanDeploymentArchives.clear();
-
deploymentServices.cleanup();
deploymentManager.cleanup();
LoggerFactory.cleanup();
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractProducerBean.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractProducerBean.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractProducerBean.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -58,9 +58,10 @@
import org.jboss.weld.exceptions.DefinitionException;
import org.jboss.weld.exceptions.IllegalProductException;
import org.jboss.weld.exceptions.WeldException;
+import org.jboss.weld.injection.CurrentInjectionPoint;
+import org.jboss.weld.injection.DummyInjectionPoint;
import org.jboss.weld.introspector.WeldMember;
import org.jboss.weld.manager.BeanManagerImpl;
-import org.jboss.weld.manager.DummyInjectionPoint;
import org.jboss.weld.metadata.cache.MetaAnnotationStore;
import org.jboss.weld.util.Beans;
import org.jboss.weld.util.reflection.Reflections;
@@ -254,7 +255,7 @@
{
throw new IllegalProductException(NON_SERIALIZABLE_PRODUCT_ERROR, getProducer());
}
- InjectionPoint injectionPoint = beanManager.getCurrentInjectionPoint();
+ InjectionPoint injectionPoint = Container.instance().services().get(CurrentInjectionPoint.class).peek();
if (injectionPoint == null || injectionPoint.equals(DummyInjectionPoint.INSTANCE))
{
return;
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/ManagedBean.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/ManagedBean.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/ManagedBean.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -52,6 +52,7 @@
import org.jboss.weld.exceptions.DefinitionException;
import org.jboss.weld.exceptions.DeploymentException;
import org.jboss.weld.exceptions.ForbiddenStateException;
+import org.jboss.weld.injection.CurrentInjectionPoint;
import org.jboss.weld.injection.InjectionContextImpl;
import org.jboss.weld.injection.WeldInjectionPoint;
import org.jboss.weld.introspector.WeldClass;
@@ -144,7 +145,18 @@
{
throw new ForbiddenStateException(DELEGATE_INJECTION_POINT_NOT_FOUND, decorator);
}
- return getBeanManager().replaceOrPushCurrentInjectionPoint(outerDelegateInjectionPoint);
+ CurrentInjectionPoint currentInjectionPoint = Container.instance().services().get(CurrentInjectionPoint.class);
+ if (currentInjectionPoint.peek() != null)
+ {
+ InjectionPoint originalInjectionPoint = currentInjectionPoint.pop();
+ currentInjectionPoint.push(outerDelegateInjectionPoint);
+ return originalInjectionPoint;
+ }
+ else
+ {
+ currentInjectionPoint.push(outerDelegateInjectionPoint);
+ return null;
+ }
}
/**
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/AbstractFacadeBean.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/AbstractFacadeBean.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/AbstractFacadeBean.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -23,6 +23,8 @@
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.inject.spi.InjectionPoint;
+import org.jboss.weld.Container;
+import org.jboss.weld.injection.CurrentInjectionPoint;
import org.jboss.weld.manager.BeanManagerImpl;
import org.slf4j.cal10n.LocLogger;
@@ -38,7 +40,7 @@
public T create(CreationalContext<T> creationalContext)
{
- InjectionPoint injectionPoint = this.getBeanManager().getCurrentInjectionPoint();
+ InjectionPoint injectionPoint = Container.instance().services().get(CurrentInjectionPoint.class).peek();
if (injectionPoint != null)
{
return newInstance(injectionPoint);
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/InjectionPointBean.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/InjectionPointBean.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/InjectionPointBean.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -22,6 +22,8 @@
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.inject.spi.InjectionPoint;
+import org.jboss.weld.Container;
+import org.jboss.weld.injection.CurrentInjectionPoint;
import org.jboss.weld.manager.BeanManagerImpl;
import org.jboss.weld.util.collections.Arrays2;
@@ -52,7 +54,7 @@
public InjectionPoint create(CreationalContext<InjectionPoint> creationalContext)
{
- return getBeanManager().getCurrentInjectionPoint();
+ return Container.instance().services().get(CurrentInjectionPoint.class).peek();
}
public void destroy(InjectionPoint instance, CreationalContext<InjectionPoint> creationalContext)
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/InstanceImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/InstanceImpl.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/InstanceImpl.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -34,7 +34,9 @@
import javax.enterprise.inject.spi.InjectionPoint;
import javax.enterprise.util.TypeLiteral;
+import org.jboss.weld.Container;
import org.jboss.weld.exceptions.InvalidObjectException;
+import org.jboss.weld.injection.CurrentInjectionPoint;
import org.jboss.weld.manager.BeanManagerImpl;
import org.jboss.weld.resolution.ResolvableWeldClass;
import org.jboss.weld.util.Beans;
@@ -68,14 +70,14 @@
// Push in an empty CC to ensure that we don't get the CC of whatever is injecting the bean containing the Instance injection point
try
{
- getBeanManager().pushDummyInjectionPoint();
+ Container.instance().services().get(CurrentInjectionPoint.class).pushDummy();
@SuppressWarnings("unchecked")
T instance = (T) getBeanManager().getReference(bean, getType(), getBeanManager().createCreationalContext(bean));
return instance;
}
finally
{
- getBeanManager().popDummyInjectionPoint();
+ Container.instance().services().get(CurrentInjectionPoint.class).popDummy();
}
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/proxy/ClientProxyMethodHandler.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/proxy/ClientProxyMethodHandler.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/proxy/ClientProxyMethodHandler.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -30,10 +30,10 @@
import javax.enterprise.inject.spi.Bean;
import org.jboss.weld.Container;
+import org.jboss.weld.context.CreationalContextImpl;
import org.jboss.weld.context.WeldCreationalContext;
-import org.jboss.weld.manager.BeanManagerImpl;
+import org.jboss.weld.injection.CurrentInjectionPoint;
import org.jboss.weld.serialization.spi.ContextualStore;
-import org.jboss.weld.util.reflection.Reflections;
import org.jboss.weld.util.reflection.SecureReflections;
import org.slf4j.cal10n.LocLogger;
@@ -57,8 +57,6 @@
// The bean index in the manager
private final String id;
- private final BeanManagerImpl manager;
-
private static final ThreadLocal<WeldCreationalContext<?>> currentCreationalContext = new ThreadLocal<WeldCreationalContext<?>>();
/**
@@ -67,11 +65,10 @@
* @param bean The bean to proxy
* @param beanIndex The index to the bean in the manager bean list
*/
- public ClientProxyMethodHandler(Bean<?> bean, BeanManagerImpl manager, String id)
+ public ClientProxyMethodHandler(Bean<?> bean, String id)
{
this.bean = bean;
this.id = id;
- this.manager = manager;
log.trace("Created method handler for bean " + bean + " identified as " + id);
}
@@ -128,7 +125,7 @@
boolean outer;
if (currentCreationalContext.get() == null)
{
- creationalContext = manager.createCreationalContext(bean);
+ creationalContext = new CreationalContextImpl<T>(bean);
currentCreationalContext.set(creationalContext);
outer = true;
}
@@ -139,14 +136,14 @@
}
try
{
- Context context = manager.getContext(bean.getScope());
+ Context context = Container.instance().deploymentManager().getContext(bean.getScope());
// Ensure that there is no injection point associated
- manager.pushDummyInjectionPoint();
+ Container.instance().services().get(CurrentInjectionPoint.class).pushDummy();
return context.get(bean, creationalContext);
}
finally
{
- manager.popDummyInjectionPoint();
+ Container.instance().services().get(CurrentInjectionPoint.class).popDummy();
if (outer)
{
currentCreationalContext.remove();
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/proxy/ClientProxyProvider.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/proxy/ClientProxyProvider.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/proxy/ClientProxyProvider.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -21,20 +21,20 @@
import static org.jboss.weld.logging.messages.BeanMessage.PROXY_INSTANTIATION_FAILED;
import java.io.Serializable;
-import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentMap;
import javax.enterprise.inject.spi.Bean;
import org.jboss.weld.Container;
import org.jboss.weld.exceptions.DefinitionException;
import org.jboss.weld.exceptions.WeldException;
-import org.jboss.weld.logging.messages.BeanMessage;
-import org.jboss.weld.manager.BeanManagerImpl;
import org.jboss.weld.serialization.spi.ContextualStore;
import org.jboss.weld.util.Proxies;
import org.jboss.weld.util.Proxies.TypeInfo;
-import org.jboss.weld.util.collections.ConcurrentCache;
+import com.google.common.base.Function;
+import com.google.common.collect.MapMaker;
+
/**
* A proxy pool for holding scope adaptors (client proxies)
*
@@ -44,21 +44,34 @@
*/
public class ClientProxyProvider
{
- private static final long serialVersionUID = 9029999149357529341L;
+
+ private static final Function<Bean<Object>, Object> CREATE_CLIENT_PROXY = new Function<Bean<Object>, Object> ()
+ {
+ public Object apply(Bean<Object> from)
+ {
+ String id = Container.instance().services().get(ContextualStore.class).putIfAbsent(from);
+ if (id == null)
+ {
+ throw new DefinitionException(BEAN_ID_CREATION_FAILED, from);
+ }
+ return createClientProxy(from, id);
+ }
+ };
+
/**
* A container/cache for previously created proxies
*
* @author Nicklas Karlsson
*/
- private final ConcurrentCache<Bean<? extends Object>, Object> pool;
+ private final ConcurrentMap<Bean<Object>, Object> pool;
/**
* Constructor
*/
public ClientProxyProvider()
{
- this.pool = new ConcurrentCache<Bean<? extends Object>, Object>();
+ this.pool = new MapMaker().makeComputingMap(CREATE_CLIENT_PROXY);
}
/**
@@ -74,11 +87,11 @@
* @throws InstantiationException When the proxy couldn't be created
* @throws IllegalAccessException When the proxy couldn't be created
*/
- private static <T> T createClientProxy(Bean<T> bean, BeanManagerImpl manager, String id) throws RuntimeException
+ private static <T> T createClientProxy(Bean<T> bean, String id) throws RuntimeException
{
try
{
- return Proxies.<T>createProxy(new ClientProxyMethodHandler(bean, manager, id), TypeInfo.of(bean.getTypes()).add(Serializable.class));
+ return Proxies.<T>createProxy(new ClientProxyMethodHandler(bean, id), TypeInfo.of(bean.getTypes()).add(Serializable.class));
}
catch (InstantiationException e)
{
@@ -99,23 +112,9 @@
* @param bean The bean to get a proxy to
* @return the client proxy for the bean
*/
- public <T> T getClientProxy(final BeanManagerImpl manager, final Bean<T> bean)
+ public <T> T getClientProxy(final Bean<T> bean)
{
- T instance = pool.putIfAbsent(bean, new Callable<T>()
- {
-
- public T call() throws Exception
- {
- String id = Container.instance().services().get(ContextualStore.class).putIfAbsent(bean);
- if (id == null)
- {
- throw new DefinitionException(BEAN_ID_CREATION_FAILED, bean);
- }
- return createClientProxy(bean, manager, id);
- }
-
- });
- return instance;
+ return (T) pool.get(bean);
}
/**
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/Validator.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/Validator.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/Validator.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -94,8 +94,8 @@
import org.jboss.weld.util.reflection.Reflections;
import com.google.common.base.Supplier;
-import com.google.common.collect.Multimap;
import com.google.common.collect.Multimaps;
+import com.google.common.collect.SetMultimap;
/**
* Checks a list of beans for DeploymentExceptions and their subclasses
@@ -322,7 +322,7 @@
public void validateBeanNames(BeanManagerImpl beanManager)
{
- Multimap<String, Bean<?>> namedAccessibleBeans = Multimaps.newSetMultimap(new HashMap<String, Collection<Bean<?>>>(), new Supplier<Set<Bean<?>>>()
+ SetMultimap<String, Bean<?>> namedAccessibleBeans = Multimaps.newSetMultimap(new HashMap<String, Collection<Bean<?>>>(), new Supplier<Set<Bean<?>>>()
{
public Set<Bean<?>> get()
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/WeldBootstrap.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/WeldBootstrap.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/WeldBootstrap.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -71,6 +71,7 @@
import org.jboss.weld.ejb.spi.EjbDescriptor;
import org.jboss.weld.exceptions.ForbiddenArgumentException;
import org.jboss.weld.exceptions.ForbiddenStateException;
+import org.jboss.weld.injection.CurrentInjectionPoint;
import org.jboss.weld.jsf.JsfApiAbstraction;
import org.jboss.weld.logging.messages.VersionMessage;
import org.jboss.weld.manager.BeanManagerImpl;
@@ -319,6 +320,7 @@
services.add(ContextualStore.class, new ContextualStoreImpl());
services.add(ServiceLoaderFactory.class, new DefaultServiceLoaderFactory());
services.add(JavassistCleaner.class, new JavassistCleaner());
+ services.add(CurrentInjectionPoint.class, new CurrentInjectionPoint());
return services;
}
Added: core/trunk/impl/src/main/java/org/jboss/weld/injection/CurrentInjectionPoint.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/injection/CurrentInjectionPoint.java (rev 0)
+++ core/trunk/impl/src/main/java/org/jboss/weld/injection/CurrentInjectionPoint.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -0,0 +1,79 @@
+package org.jboss.weld.injection;
+
+import java.util.Stack;
+
+import javax.enterprise.inject.spi.InjectionPoint;
+
+import org.jboss.weld.bootstrap.api.Service;
+
+public class CurrentInjectionPoint implements Service
+{
+
+ private final ThreadLocal<Stack<InjectionPoint>> currentInjectionPoint;
+
+ public CurrentInjectionPoint()
+ {
+ this.currentInjectionPoint = new ThreadLocal<Stack<InjectionPoint>>()
+ {
+ @Override
+ protected Stack<InjectionPoint> initialValue()
+ {
+ return new Stack<InjectionPoint>();
+ }
+ };
+ }
+
+ /**
+ * Replaces (or adds) the current injection point. If a current injection
+ * point exists, it will be replaced. If no current injection point exists,
+ * one will be added.
+ *
+ * @param injectionPoint the injection point to use
+ * @return the injection point added, or null if previous existed did not exist
+ */
+ public void push(InjectionPoint injectionPoint)
+ {
+ currentInjectionPoint.get().push(injectionPoint);
+ }
+
+ public InjectionPoint pop()
+ {
+ return currentInjectionPoint.get().pop();
+ }
+
+ /**
+ * The injection point being operated on for this thread
+ *
+ * @return the current injection point
+ */
+ public InjectionPoint peek()
+ {
+ if (!currentInjectionPoint.get().empty())
+ {
+ return currentInjectionPoint.get().peek();
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ public void pushDummy()
+ {
+ currentInjectionPoint.get().push(DummyInjectionPoint.INSTANCE);
+ }
+
+ public void popDummy()
+ {
+ if (!currentInjectionPoint.get().isEmpty() && DummyInjectionPoint.INSTANCE.equals(currentInjectionPoint.get().peek()))
+ {
+ currentInjectionPoint.get().pop();
+ }
+ }
+
+ public void cleanup()
+ {
+ this.currentInjectionPoint.remove();
+ }
+
+}
Property changes on: core/trunk/impl/src/main/java/org/jboss/weld/injection/CurrentInjectionPoint.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Copied: core/trunk/impl/src/main/java/org/jboss/weld/injection/DummyInjectionPoint.java (from rev 5441, core/trunk/impl/src/main/java/org/jboss/weld/manager/DummyInjectionPoint.java)
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/injection/DummyInjectionPoint.java (rev 0)
+++ core/trunk/impl/src/main/java/org/jboss/weld/injection/DummyInjectionPoint.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -0,0 +1,56 @@
+/**
+ *
+ */
+package org.jboss.weld.injection;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Member;
+import java.lang.reflect.Type;
+import java.util.Collections;
+import java.util.Set;
+
+import javax.enterprise.inject.spi.Annotated;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.InjectionPoint;
+
+public class DummyInjectionPoint implements InjectionPoint
+{
+
+ public static final DummyInjectionPoint INSTANCE = new DummyInjectionPoint();
+
+ public boolean isTransient()
+ {
+ return true;
+ }
+
+ public boolean isDelegate()
+ {
+ return false;
+ }
+
+ public Type getType()
+ {
+ return InjectionPoint.class;
+ }
+
+ public Set<Annotation> getQualifiers()
+ {
+ return Collections.emptySet();
+ }
+
+ public Member getMember()
+ {
+ return null;
+ }
+
+ public Bean<?> getBean()
+ {
+ return null;
+ }
+
+ public Annotated getAnnotated()
+ {
+ return null;
+ }
+
+}
Property changes on: core/trunk/impl/src/main/java/org/jboss/weld/injection/DummyInjectionPoint.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldAnnotationImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldAnnotationImpl.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldAnnotationImpl.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -28,7 +28,6 @@
import org.jboss.weld.introspector.WeldAnnotation;
import org.jboss.weld.introspector.WeldMethod;
import org.jboss.weld.resources.ClassTransformer;
-import org.jboss.weld.util.Names;
import org.jboss.weld.util.collections.HashSetSupplier;
import org.jboss.weld.util.reflection.HierarchyDiscovery;
import org.jboss.weld.util.reflection.SecureReflections;
@@ -129,7 +128,7 @@
@Override
public String toString()
{
- return new StringBuilder().append("class ").append(Names.classToString(getDelegate())).toString();
+ return getJavaClass().toString();
}
@Override
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldClassImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldClassImpl.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldClassImpl.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -517,7 +517,7 @@
@Override
public String toString()
{
- return new StringBuilder().append("class ").append(Names.classToString(getJavaClass())).toString();
+ return Names.toString(getJavaClass(), getAnnotations(), getActualTypeArguments());
}
public String getSimpleName()
Modified: core/trunk/impl/src/main/java/org/jboss/weld/manager/BeanManagerImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/manager/BeanManagerImpl.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/manager/BeanManagerImpl.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -48,7 +48,6 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
-import java.util.Stack;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.CopyOnWriteArraySet;
@@ -96,11 +95,13 @@
import org.jboss.weld.exceptions.InjectionException;
import org.jboss.weld.exceptions.UnproxyableResolutionException;
import org.jboss.weld.exceptions.UnsatisfiedResolutionException;
+import org.jboss.weld.injection.CurrentInjectionPoint;
import org.jboss.weld.introspector.WeldAnnotated;
import org.jboss.weld.literal.AnyLiteral;
import org.jboss.weld.manager.api.WeldManager;
import org.jboss.weld.metadata.cache.MetaAnnotationStore;
import org.jboss.weld.metadata.cache.ScopeModel;
+import org.jboss.weld.resolution.InterceptorResolvable;
import org.jboss.weld.resolution.NameBasedResolver;
import org.jboss.weld.resolution.Resolvable;
import org.jboss.weld.resolution.ResolvableFactory;
@@ -188,9 +189,9 @@
* archives
*/
private transient final TypeSafeBeanResolver<Bean<?>> beanResolver;
- private transient final TypeSafeResolver<? extends Resolvable, Decorator<?>> decoratorResolver;
- private transient final TypeSafeResolver<? extends Resolvable, Interceptor<?>> interceptorResolver;
- private transient final TypeSafeResolver<? extends Resolvable, ObserverMethod<?>> observerResolver;
+ private transient final TypeSafeResolver<Resolvable, Decorator<?>> decoratorResolver;
+ private transient final TypeSafeResolver<InterceptorResolvable, Interceptor<?>> interceptorResolver;
+ private transient final TypeSafeResolver<Resolvable, ObserverMethod<?>> observerResolver;
private transient final NameBasedResolver nameBasedResolver;
private transient final ELResolver weldELResolver;
private transient Namespace rootNamespace;
@@ -225,12 +226,6 @@
private final AtomicInteger childIds;
private final String id;
-
- /*
- * Runtime data transfer
- * *********************
- */
- private transient final ThreadLocal<Stack<InjectionPoint>> currentInjectionPoint;
/**
* Interception model
@@ -396,15 +391,6 @@
this.nameBasedResolver = new NameBasedResolver(this, createDynamicAccessibleIterable(beanTransform));
this.weldELResolver = new WeldELResolver(this);
this.childActivities = new CopyOnWriteArraySet<BeanManagerImpl>();
-
- this.currentInjectionPoint = new ThreadLocal<Stack<InjectionPoint>>()
- {
- @Override
- protected Stack<InjectionPoint> initialValue()
- {
- return new Stack<InjectionPoint>();
- }
- };
}
private <T> Set<Iterable<T>> buildAccessibleClosure(Collection<BeanManagerImpl> hierarchy, Transform<T> transform)
@@ -628,14 +614,14 @@
{
if (registerInjectionPoint)
{
- currentInjectionPoint.get().push(injectionPoint);
+ Container.instance().services().get(CurrentInjectionPoint.class).push(injectionPoint);
}
// TODO Do this properly
Set<Bean<?>> beans = getBeans(ResolvableWeldClass.of(injectionPoint.getType(), injectionPoint.getQualifiers().toArray(new Annotation[0]), this));
Set<Bean<?>> injectableBeans = new HashSet<Bean<?>>();
for (Bean<?> bean : beans)
{
- if (!(bean instanceof Decorator || bean instanceof Interceptor))
+ if (!(bean instanceof Decorator<?> || bean instanceof Interceptor<?>))
{
injectableBeans.add(bean);
}
@@ -646,7 +632,7 @@
{
if (registerInjectionPoint)
{
- currentInjectionPoint.get().pop();
+ Container.instance().services().get(CurrentInjectionPoint.class).pop();
}
}
}
@@ -790,7 +776,7 @@
{
if (creationalContext != null || getContext(bean.getScope()).get(bean) != null)
{
- return clientProxyProvider.getClientProxy(this, bean);
+ return clientProxyProvider.getClientProxy(bean);
}
else
{
@@ -845,7 +831,7 @@
{
if (registerInjectionPoint)
{
- currentInjectionPoint.get().push(injectionPoint);
+ Container.instance().services().get(CurrentInjectionPoint.class).push(injectionPoint);
}
if (getServices().get(MetaAnnotationStore.class).getScopeModel(resolvedBean.getScope()).isNormal() && !Proxies.isTypeProxyable(injectionPoint.getType()))
{
@@ -873,7 +859,7 @@
{
if (registerInjectionPoint)
{
- currentInjectionPoint.get().pop();
+ Container.instance().services().get(CurrentInjectionPoint.class).pop();
}
}
}
@@ -1084,56 +1070,7 @@
}
/**
- * The injection point being operated on for this thread
*
- * @return the current injection point
- */
- public InjectionPoint getCurrentInjectionPoint()
- {
- if (!currentInjectionPoint.get().empty())
- {
- return currentInjectionPoint.get().peek();
- }
- else
- {
- return null;
- }
- }
-
- /**
- * Replaces (or adds) the current injection point. If a current injection
- * point exists, it will be replaced. If no current injection point exists,
- * one will be added.
- *
- * @param injectionPoint the injection point to use
- * @return the injection point added, or null if non previous existed
- */
- public InjectionPoint replaceOrPushCurrentInjectionPoint(InjectionPoint injectionPoint)
- {
- InjectionPoint originalInjectionPoint = null;
- if (!currentInjectionPoint.get().empty())
- {
- originalInjectionPoint = currentInjectionPoint.get().pop();
- }
- currentInjectionPoint.get().push(injectionPoint);
- return originalInjectionPoint;
- }
-
- public void pushDummyInjectionPoint()
- {
- currentInjectionPoint.get().push(DummyInjectionPoint.INSTANCE);
- }
-
- public void popDummyInjectionPoint()
- {
- if (!currentInjectionPoint.get().isEmpty() && DummyInjectionPoint.INSTANCE.equals(currentInjectionPoint.get().peek()))
- {
- currentInjectionPoint.get().pop();
- }
- }
-
- /**
- *
* @return
*/
public Map<Contextual<?>, Contextual<?>> getSpecializedBeans()
@@ -1350,7 +1287,6 @@
public void cleanup()
{
services.cleanup();
- this.currentInjectionPoint.remove();
this.accessibleManagers.clear();
this.beanResolver.clear();
this.beans.clear();
Deleted: core/trunk/impl/src/main/java/org/jboss/weld/manager/DummyInjectionPoint.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/manager/DummyInjectionPoint.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/manager/DummyInjectionPoint.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -1,56 +0,0 @@
-/**
- *
- */
-package org.jboss.weld.manager;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Member;
-import java.lang.reflect.Type;
-import java.util.Collections;
-import java.util.Set;
-
-import javax.enterprise.inject.spi.Annotated;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.InjectionPoint;
-
-public class DummyInjectionPoint implements InjectionPoint
-{
-
- public static final DummyInjectionPoint INSTANCE = new DummyInjectionPoint();
-
- public boolean isTransient()
- {
- return true;
- }
-
- public boolean isDelegate()
- {
- return false;
- }
-
- public Type getType()
- {
- return InjectionPoint.class;
- }
-
- public Set<Annotation> getQualifiers()
- {
- return Collections.emptySet();
- }
-
- public Member getMember()
- {
- return null;
- }
-
- public Bean<?> getBean()
- {
- return null;
- }
-
- public Annotated getAnnotated()
- {
- return null;
- }
-
-}
Deleted: core/trunk/impl/src/main/java/org/jboss/weld/metadata/cache/BindingTypeModel.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/metadata/cache/BindingTypeModel.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/metadata/cache/BindingTypeModel.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -1,186 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed 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.jboss.weld.metadata.cache;
-
-import static org.jboss.weld.logging.Category.REFLECTION;
-import static org.jboss.weld.logging.LoggerFactory.loggerFactory;
-import static org.jboss.weld.logging.messages.MetadataMessage.NON_BINDING_MEMBER_TYPE;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.InvocationTargetException;
-import java.util.Set;
-
-import javax.enterprise.util.Nonbinding;
-import javax.inject.Qualifier;
-
-import org.jboss.weld.exceptions.WeldException;
-import org.jboss.weld.introspector.WeldMethod;
-import org.jboss.weld.resources.ClassTransformer;
-import org.jboss.weld.util.collections.Arrays2;
-import org.jboss.weld.util.reflection.Reflections;
-import org.slf4j.cal10n.LocLogger;
-
-/**
- *
- * Model of a binding type
- *
- * @author Pete Muir
- *
- */
-public class BindingTypeModel<T extends Annotation> extends AnnotationModel<T>
-{
- private static final LocLogger log = loggerFactory().getLogger(REFLECTION);
-
- private static final Set<Class<? extends Annotation>> META_ANNOTATIONS = Arrays2.<Class<? extends Annotation>>asSet(Qualifier.class);
-
- // The non-binding types
- private Set<WeldMethod<?, ?>> nonBindingTypes;
-
-
- /**
- * Constructor
- *
- * @param type The type
- */
- public BindingTypeModel(Class<T> type, ClassTransformer transformer)
- {
- super(type, transformer);
- }
-
- /**
- * Initializes the non-binding types and validates the members
- */
- @Override
- protected void init()
- {
- super.init();
- initNonBindingTypes();
- checkArrayAndAnnotationValuedMembers();
- }
-
- /**
- * Validates the members
- */
- private void checkArrayAndAnnotationValuedMembers()
- {
- for (WeldMethod<?, ?> annotatedMethod : getAnnotatedAnnotation().getMembers())
- {
- if ((Reflections.isArrayType(annotatedMethod.getJavaClass()) || Annotation.class.isAssignableFrom(annotatedMethod.getJavaClass())) && !nonBindingTypes.contains(annotatedMethod))
- {
- super.valid = false;
- log.debug(NON_BINDING_MEMBER_TYPE, annotatedMethod);
- }
- }
-
- }
-
- /**
- * Gets the meta-annotation type
- *
- * @return The BindingType class
- */
- @Override
- protected Set<Class<? extends Annotation>> getMetaAnnotationTypes()
- {
- return META_ANNOTATIONS;
- }
-
- /**
- * Indicates if there are non-binding types present
- *
- * @return True if present, false otherwise
- */
- public boolean hasNonBindingTypes()
- {
- return nonBindingTypes.size() > 0;
- }
-
- /**
- * Gets the non-binding types
- *
- * @return A set of non-binding types, or an empty set if there are none
- * present
- */
- public Set<WeldMethod<?, ?>> getNonBindingTypes()
- {
- return nonBindingTypes;
- }
-
- /**
- * Initializes the non-binding types
- */
- protected void initNonBindingTypes()
- {
- nonBindingTypes = getAnnotatedAnnotation().getMembers(Nonbinding.class);
- }
-
- /**
- * Comparator for checking equality
- *
- * @param instance The instance to check against
- * @param other The other binding type
- * @return True if equal, false otherwise
- */
- public boolean isEqual(Annotation instance, Annotation other)
- {
- if (instance.annotationType().equals(getRawType()) && other.annotationType().equals(getRawType()))
- {
- for (WeldMethod<?, ?> annotatedMethod : getAnnotatedAnnotation().getMembers())
- {
- if (!nonBindingTypes.contains(annotatedMethod))
- {
- try
- {
- Object thisValue = annotatedMethod.invoke(instance);
- Object thatValue = annotatedMethod.invoke(other);
- if (!thisValue.equals(thatValue))
- {
- return false;
- }
- }
- catch (IllegalArgumentException e)
- {
- throw new WeldException(e);
- }
- catch (IllegalAccessException e)
- {
- throw new WeldException(e);
- }
- catch (InvocationTargetException e)
- {
- throw new WeldException(e);
- }
-
- }
- }
- return true;
- }
- return false;
- }
-
- /**
- * Gets a string representation of the binding type model
- *
- * @return The string representation
- */
- @Override
- public String toString()
- {
- return (isValid() ? "Valid" : "Invalid") + " binding type model for " + getRawType() + " with non-binding types " + getNonBindingTypes();
- }
-
-}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/metadata/cache/MetaAnnotationStore.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/metadata/cache/MetaAnnotationStore.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/metadata/cache/MetaAnnotationStore.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -17,12 +17,14 @@
package org.jboss.weld.metadata.cache;
import java.lang.annotation.Annotation;
-import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentMap;
import org.jboss.weld.bootstrap.api.Service;
import org.jboss.weld.resources.ClassTransformer;
-import org.jboss.weld.util.collections.ConcurrentCache;
+import com.google.common.base.Function;
+import com.google.common.collect.MapMaker;
+
/**
* Metadata singleton for holding EJB metadata, scope models etc.
*
@@ -31,21 +33,103 @@
*/
public class MetaAnnotationStore implements Service
{
+
+ private static abstract class AbstractMetaAnnotationFunction<M extends AnnotationModel<Annotation>> implements Function<Class<Annotation>, M>
+ {
+
+ private final ClassTransformer classTransformer;
+ private AbstractMetaAnnotationFunction(ClassTransformer classTransformer)
+ {
+ this.classTransformer = classTransformer;
+ }
+
+ public ClassTransformer getClassTransformer()
+ {
+ return classTransformer;
+ }
+
+ }
+
+ private static class StereotypeFunction extends AbstractMetaAnnotationFunction<StereotypeModel<Annotation>>
+ {
+
+ public StereotypeFunction(ClassTransformer classTransformer)
+ {
+ super(classTransformer);
+ }
+
+ public StereotypeModel<Annotation> apply(Class<Annotation> from)
+ {
+ return new StereotypeModel<Annotation>(from, getClassTransformer());
+ }
+
+ }
+
+ private static class ScopeFunction extends AbstractMetaAnnotationFunction<ScopeModel<Annotation>>
+ {
+
+ public ScopeFunction(ClassTransformer classTransformer)
+ {
+ super(classTransformer);
+ }
+
+ public ScopeModel<Annotation> apply(Class<Annotation> from)
+ {
+ return new ScopeModel<Annotation>(from, getClassTransformer());
+ }
+
+ }
+
+ private static class QualifierFunction extends AbstractMetaAnnotationFunction<QualifierModel<Annotation>>
+ {
+
+ public QualifierFunction(ClassTransformer classTransformer)
+ {
+ super(classTransformer);
+ }
+
+ public QualifierModel<Annotation> apply(Class<Annotation> from)
+ {
+ return new QualifierModel<Annotation>(from, getClassTransformer());
+ }
+
+ }
+
+ private static class InterceptorBindingFunction extends AbstractMetaAnnotationFunction<InterceptorBindingModel<Annotation>>
+ {
+
+ public InterceptorBindingFunction(ClassTransformer classTransformer)
+ {
+ super(classTransformer);
+ }
+
+ public InterceptorBindingModel<Annotation> apply(Class<Annotation> from)
+ {
+ return new InterceptorBindingModel<Annotation>(from, getClassTransformer());
+ }
+
+ }
+
// The stereotype models
- private ConcurrentCache<Class<? extends Annotation>, StereotypeModel<?>> stereotypes = new ConcurrentCache<Class<? extends Annotation>, StereotypeModel<?>>();
+ private ConcurrentMap<Class<Annotation>, StereotypeModel<Annotation>> stereotypes;
// The scope models
- private ConcurrentCache<Class<? extends Annotation>, ScopeModel<?>> scopes = new ConcurrentCache<Class<? extends Annotation>, ScopeModel<?>>();
+ private ConcurrentMap<Class<Annotation>, ScopeModel<Annotation>> scopes;
// The binding type models
- private ConcurrentCache<Class<? extends Annotation>, BindingTypeModel<?>> bindingTypes = new ConcurrentCache<Class<? extends Annotation>, BindingTypeModel<?>>();
+ private ConcurrentMap<Class<Annotation>, QualifierModel<Annotation>> qualifiers;
// the interceptor bindings
- private ConcurrentCache<Class<? extends Annotation>, InterceptorBindingModel<?>> interceptorBindings = new ConcurrentCache<Class<? extends Annotation>, InterceptorBindingModel<?>>();
+ private ConcurrentMap<Class<Annotation>, InterceptorBindingModel<Annotation>> interceptorBindings;
private final ClassTransformer classTransformer;
public MetaAnnotationStore(ClassTransformer classTransformer)
{
+ MapMaker mapMaker = new MapMaker();
this.classTransformer = classTransformer;
+ this.stereotypes = mapMaker.makeComputingMap(new StereotypeFunction(classTransformer));
+ this.scopes = mapMaker.makeComputingMap(new ScopeFunction(classTransformer));
+ this.qualifiers = mapMaker.makeComputingMap(new QualifierFunction(classTransformer));
+ this.interceptorBindings = mapMaker.makeComputingMap(new InterceptorBindingFunction(classTransformer));
}
/**
@@ -59,14 +143,7 @@
*/
public <T extends Annotation> StereotypeModel<T> getStereotype(final Class<T> stereotype)
{
- return stereotypes.putIfAbsent(stereotype, new Callable<StereotypeModel<T>>()
- {
-
- public StereotypeModel<T> call() throws Exception
- {
- return new StereotypeModel<T>(stereotype, classTransformer);
- }
- });
+ return (StereotypeModel<T>) stereotypes.get(stereotype);
}
/**
@@ -75,20 +152,12 @@
* Adds the model if it is not present.
*
* @param <T> The type
- * @param scopeType The scope type
+ * @param scope The scope type
* @return The scope type model
*/
- public <T extends Annotation> ScopeModel<T> getScopeModel(final Class<T> scopeType)
+ public <T extends Annotation> ScopeModel<T> getScopeModel(final Class<T> scope)
{
- return scopes.putIfAbsent(scopeType, new Callable<ScopeModel<T>>()
- {
-
- public ScopeModel<T> call() throws Exception
- {
- return new ScopeModel<T>(scopeType, classTransformer);
- }
-
- });
+ return (ScopeModel<T>) scopes.get(scope);
}
/**
@@ -100,17 +169,10 @@
* @param bindingType The binding type
* @return The binding type model
*/
- public <T extends Annotation> BindingTypeModel<T> getBindingTypeModel(final Class<T> bindingType)
+ @SuppressWarnings("unchecked")
+ public <T extends Annotation> QualifierModel<T> getBindingTypeModel(final Class<T> bindingType)
{
- return bindingTypes.putIfAbsent(bindingType, new Callable<BindingTypeModel<T>>()
- {
-
- public BindingTypeModel<T> call() throws Exception
- {
- return new BindingTypeModel<T>(bindingType, classTransformer);
- }
-
- });
+ return (QualifierModel<T>) qualifiers.get(bindingType);
}
/**
@@ -123,31 +185,23 @@
{
StringBuilder buffer = new StringBuilder();
buffer.append("Metadata cache\n");
- buffer.append("Registered binding type models: " + bindingTypes.size() + "\n");
- buffer.append("Registered scope type models: " + scopes.size() + "\n");
- buffer.append("Registered stereotype models: " + stereotypes.size() + "\n");
- buffer.append("Registered interceptor binding models: " + interceptorBindings.size() + "\n");
+ buffer.append("Registered binding type models: ").append(qualifiers.size()).append("\n");
+ buffer.append("Registered scope type models: ").append(scopes.size()).append("\n");
+ buffer.append("Registered stereotype models: ").append(stereotypes.size()).append("\n");
+ buffer.append("Registered interceptor binding models: ").append(interceptorBindings.size()).append("\n");
return buffer.toString();
}
public void cleanup()
{
- this.bindingTypes.clear();
+ this.qualifiers.clear();
this.scopes.clear();
this.stereotypes.clear();
this.interceptorBindings.clear();
}
- public <T extends Annotation> InterceptorBindingModel getInterceptorBindingModel(final Class<T> interceptorBinding)
+ public <T extends Annotation> InterceptorBindingModel<T> getInterceptorBindingModel(final Class<T> interceptorBinding)
{
- return interceptorBindings.putIfAbsent(interceptorBinding, new Callable<InterceptorBindingModel<T>>()
- {
-
- public InterceptorBindingModel<T> call() throws Exception
- {
- return new InterceptorBindingModel<T>(interceptorBinding, classTransformer);
- }
-
- });
+ return (InterceptorBindingModel<T>) interceptorBindings.get(interceptorBinding);
}
}
Copied: core/trunk/impl/src/main/java/org/jboss/weld/metadata/cache/QualifierModel.java (from rev 5441, core/trunk/impl/src/main/java/org/jboss/weld/metadata/cache/BindingTypeModel.java)
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/metadata/cache/QualifierModel.java (rev 0)
+++ core/trunk/impl/src/main/java/org/jboss/weld/metadata/cache/QualifierModel.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -0,0 +1,186 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed 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.jboss.weld.metadata.cache;
+
+import static org.jboss.weld.logging.Category.REFLECTION;
+import static org.jboss.weld.logging.LoggerFactory.loggerFactory;
+import static org.jboss.weld.logging.messages.MetadataMessage.NON_BINDING_MEMBER_TYPE;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collections;
+import java.util.Set;
+
+import javax.enterprise.util.Nonbinding;
+import javax.inject.Qualifier;
+
+import org.jboss.weld.exceptions.WeldException;
+import org.jboss.weld.introspector.WeldMethod;
+import org.jboss.weld.resources.ClassTransformer;
+import org.jboss.weld.util.reflection.Reflections;
+import org.slf4j.cal10n.LocLogger;
+
+/**
+ *
+ * Model of a binding type
+ *
+ * @author Pete Muir
+ *
+ */
+public class QualifierModel<T extends Annotation> extends AnnotationModel<T>
+{
+ private static final LocLogger log = loggerFactory().getLogger(REFLECTION);
+
+ private static final Set<Class<? extends Annotation>> META_ANNOTATIONS = Collections.<Class<? extends Annotation>>singleton(Qualifier.class);
+
+ // The non-binding types
+ private Set<WeldMethod<?, ?>> nonBindingMembers;
+
+
+ /**
+ * Constructor
+ *
+ * @param type The type
+ */
+ public QualifierModel(Class<T> type, ClassTransformer transformer)
+ {
+ super(type, transformer);
+ }
+
+ /**
+ * Initializes the non-binding types and validates the members
+ */
+ @Override
+ protected void init()
+ {
+ super.init();
+ initNonBindingMembers();
+ checkArrayAndAnnotationValuedMembers();
+ }
+
+ /**
+ * Validates the members
+ */
+ private void checkArrayAndAnnotationValuedMembers()
+ {
+ for (WeldMethod<?, ?> annotatedMethod : getAnnotatedAnnotation().getMembers())
+ {
+ if ((Reflections.isArrayType(annotatedMethod.getJavaClass()) || Annotation.class.isAssignableFrom(annotatedMethod.getJavaClass())) && !nonBindingMembers.contains(annotatedMethod))
+ {
+ super.valid = false;
+ log.debug(NON_BINDING_MEMBER_TYPE, annotatedMethod);
+ }
+ }
+
+ }
+
+ /**
+ * Gets the meta-annotation type
+ *
+ * @return The BindingType class
+ */
+ @Override
+ protected Set<Class<? extends Annotation>> getMetaAnnotationTypes()
+ {
+ return META_ANNOTATIONS;
+ }
+
+ /**
+ * Indicates if there are non-binding types present
+ *
+ * @return True if present, false otherwise
+ */
+ public boolean hasNonBindingMembers()
+ {
+ return nonBindingMembers.size() > 0;
+ }
+
+ /**
+ * Gets the non-binding types
+ *
+ * @return A set of non-binding types, or an empty set if there are none
+ * present
+ */
+ public Set<WeldMethod<?, ?>> getNonBindingMembers()
+ {
+ return nonBindingMembers;
+ }
+
+ /**
+ * Initializes the non-binding types
+ */
+ protected void initNonBindingMembers()
+ {
+ nonBindingMembers = getAnnotatedAnnotation().getMembers(Nonbinding.class);
+ }
+
+ /**
+ * Comparator for checking equality
+ *
+ * @param instance The instance to check against
+ * @param other The other binding type
+ * @return True if equal, false otherwise
+ */
+ public boolean isEqual(Annotation instance, Annotation other)
+ {
+ if (instance.annotationType().equals(getRawType()) && other.annotationType().equals(getRawType()))
+ {
+ for (WeldMethod<?, ?> annotatedMethod : getAnnotatedAnnotation().getMembers())
+ {
+ if (!nonBindingMembers.contains(annotatedMethod))
+ {
+ try
+ {
+ Object thisValue = annotatedMethod.invoke(instance);
+ Object thatValue = annotatedMethod.invoke(other);
+ if (!thisValue.equals(thatValue))
+ {
+ return false;
+ }
+ }
+ catch (IllegalArgumentException e)
+ {
+ throw new WeldException(e);
+ }
+ catch (IllegalAccessException e)
+ {
+ throw new WeldException(e);
+ }
+ catch (InvocationTargetException e)
+ {
+ throw new WeldException(e);
+ }
+
+ }
+ }
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Gets a string representation of the qualifier model
+ *
+ * @return The string representation
+ */
+ @Override
+ public String toString()
+ {
+ return (isValid() ? "Valid" : "Invalid") + " qualifer model for " + getRawType() + " with non-binding members " + getNonBindingMembers();
+ }
+
+}
Property changes on: core/trunk/impl/src/main/java/org/jboss/weld/metadata/cache/QualifierModel.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Added: core/trunk/impl/src/main/java/org/jboss/weld/resolution/ForwardingInterceptorResolvable.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/resolution/ForwardingInterceptorResolvable.java (rev 0)
+++ core/trunk/impl/src/main/java/org/jboss/weld/resolution/ForwardingInterceptorResolvable.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -0,0 +1,62 @@
+package org.jboss.weld.resolution;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+import java.util.Set;
+
+import javax.enterprise.inject.spi.InterceptionType;
+
+import org.jboss.weld.bean.AbstractClassBean;
+
+public class ForwardingInterceptorResolvable implements InterceptorResolvable
+{
+
+ public InterceptionType getInterceptionType()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public <A extends Annotation> A getAnnotation(Class<A> annotationType)
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public AbstractClassBean<?> getDeclaringBean()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Class<?> getJavaClass()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Set<Annotation> getQualifiers()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Set<Type> getTypeClosure()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
+ {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean isAssignableTo(Class<?> clazz)
+ {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+}
Property changes on: core/trunk/impl/src/main/java/org/jboss/weld/resolution/ForwardingInterceptorResolvable.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Modified: core/trunk/impl/src/main/java/org/jboss/weld/resolution/NameBasedResolver.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/resolution/NameBasedResolver.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/resolution/NameBasedResolver.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -18,14 +18,16 @@
import java.util.HashSet;
import java.util.Set;
-import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentMap;
import javax.enterprise.inject.spi.Bean;
import org.jboss.weld.manager.BeanManagerImpl;
import org.jboss.weld.util.Beans;
-import org.jboss.weld.util.collections.ConcurrentCache;
+import com.google.common.base.Function;
+import com.google.common.collect.MapMaker;
+
/**
* Implementation of name based bean resolution
*
@@ -33,14 +35,36 @@
*/
public class NameBasedResolver
{
- // The resolved names
- private ConcurrentCache<String, Set<Bean<?>>> resolvedNames;
- // The beans to search
- private final Iterable<? extends Bean<?>> allBeans;
+ private static class NameToBeanSet implements Function<String, Set<Bean<?>>>
+ {
+
+ private final BeanManagerImpl beanManager;
+ private final Iterable<? extends Bean<?>> allBeans;
+
+ private NameToBeanSet(BeanManagerImpl beanManager, Iterable<? extends Bean<?>> allBeans)
+ {
+ this.beanManager = beanManager;
+ this.allBeans = allBeans;
+ }
+
+ public Set<Bean<?>> apply(String from)
+ {
+ Set<Bean<?>> matchedBeans = new HashSet<Bean<?>>();
+ for (Bean<?> bean : allBeans)
+ {
+ if ((bean.getName() == null && from == null) || (bean.getName() != null && bean.getName().equals(from)))
+ {
+ matchedBeans.add(bean);
+ }
+ }
+ return Beans.retainEnabledAlternatives(matchedBeans, beanManager.getEnabledAlternativeClasses(), beanManager.getEnabledAlternativeStereotypes());
+ }
+
+ }
- // The Bean manager
- private final BeanManagerImpl manager;
+ // The resolved names
+ private ConcurrentMap<String, Set<Bean<?>>> resolvedNames;
/**
* Constructor
@@ -48,9 +72,7 @@
*/
public NameBasedResolver(BeanManagerImpl manager, Iterable<? extends Bean<?>> allBeans)
{
- this.manager = manager;
- this.allBeans = allBeans;
- this.resolvedNames = new ConcurrentCache<String, Set<Bean<?>>>();
+ this.resolvedNames = new MapMaker().makeComputingMap(new NameToBeanSet(manager, allBeans));
}
/**
@@ -59,7 +81,7 @@
*/
public void clear()
{
- this.resolvedNames = new ConcurrentCache<String, Set<Bean<?>>>();
+ this.resolvedNames.clear();
}
/**
@@ -70,23 +92,7 @@
*/
public Set<Bean<?>> resolve(final String name)
{
- return resolvedNames.putIfAbsent(name, new Callable<Set<Bean<?>>>()
- {
-
- public Set<Bean<? extends Object>> call() throws Exception
- {
- Set<Bean<?>> matchedBeans = new HashSet<Bean<?>>();
- for (Bean<?> bean : allBeans)
- {
- if ((bean.getName() == null && name == null) || (bean.getName() != null && bean.getName().equals(name)))
- {
- matchedBeans.add(bean);
- }
- }
- return Beans.retainEnabledAlternatives(matchedBeans, manager.getEnabledAlternativeClasses(), manager.getEnabledAlternativeStereotypes());
- }
-
- });
+ return resolvedNames.get(name);
}
/**
@@ -103,9 +109,4 @@
return buffer.toString();
}
- protected BeanManagerImpl getManager()
- {
- return manager;
- }
-
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/resolution/Resolvable.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/resolution/Resolvable.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/resolution/Resolvable.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -33,7 +33,7 @@
{
/**
- * Get the bindings to use for resolution. @Current will be returned if no
+ * Get the bindings to use for resolution. @Default will be returned if no
* bindings were specified
*
* @return the bindings
Modified: core/trunk/impl/src/main/java/org/jboss/weld/resolution/ResolvableFactory.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/resolution/ResolvableFactory.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/resolution/ResolvableFactory.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -19,19 +19,19 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
import java.util.Arrays;
+import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
-import java.util.Collections;
+import javax.enterprise.inject.spi.InterceptionType;
+
import org.jboss.weld.bean.AbstractClassBean;
import org.jboss.weld.introspector.WeldAnnotated;
import org.jboss.weld.literal.DefaultLiteral;
import org.jboss.weld.util.reflection.Reflections;
-import javax.enterprise.inject.spi.InterceptionType;
-
public class ResolvableFactory
{
@@ -59,7 +59,7 @@
return new ResolvableImpl(new HashSet<Annotation>(Arrays.asList(bindings)), typeClosure, declaringBean);
}
- public static Resolvable of(InterceptionType interceptionType, Annotation... bindings)
+ public static InterceptorResolvable of(InterceptionType interceptionType, Annotation... bindings)
{
return new InterceptorResolvableImpl(new HashSet<Annotation>(Arrays.asList(bindings)), interceptionType );
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/resolution/ResolvableTransformer.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/resolution/ResolvableTransformer.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/resolution/ResolvableTransformer.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -16,9 +16,9 @@
*/
package org.jboss.weld.resolution;
-public interface ResolvableTransformer
+public interface ResolvableTransformer<R extends Resolvable>
{
- public Resolvable transform(Resolvable element);
+ public R transform(R element);
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/resolution/ResolvableWeldClass.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/resolution/ResolvableWeldClass.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/resolution/ResolvableWeldClass.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -27,7 +27,6 @@
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
-import java.util.Arrays;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
@@ -52,8 +51,6 @@
private final Set<Type> typeClosure;
private final Type[] actualTypeArguments;
- private final String _string;
-
public static <T> WeldAnnotated<T, Class<T>> of(TypeLiteral<T> typeLiteral, Annotation[] annotations, BeanManagerImpl manager)
{
return new ResolvableWeldClass<T>(typeLiteral.getType(), annotations, manager);
@@ -101,7 +98,7 @@
if (type instanceof ParameterizedType)
{
ParameterizedType parameterizedType = (ParameterizedType) type;
- if (parameterizedType.getRawType() instanceof Class)
+ if (parameterizedType.getRawType() instanceof Class<?>)
{
this.rawType = (Class<T>) parameterizedType.getRawType();
}
@@ -110,13 +107,11 @@
throw new ForbiddenArgumentException(CANNOT_EXTRACT_RAW_TYPE, type);
}
this.actualTypeArguments = ((ParameterizedType) type).getActualTypeArguments();
- this._string = rawType.toString() + "<" + Arrays.asList(actualTypeArguments).toString() + ">; binding types = " + Names.annotationsToString(getQualifiers());
}
- else if (type instanceof Class)
+ else if (type instanceof Class<?>)
{
this.rawType = (Class<T>) type;
this.actualTypeArguments = new Type[0];
- this._string = rawType.toString() +"; binding types = " + Names.annotationsToString(getQualifiers());
}
else
{
@@ -139,7 +134,7 @@
@Override
public String toString()
{
- return _string;
+ return Names.toString(getJavaClass(), getAnnotations(), getActualTypeArguments());
}
@Override
Modified: core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeBeanResolver.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeBeanResolver.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeBeanResolver.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -16,10 +16,9 @@
*/
package org.jboss.weld.resolution;
-import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
-import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentMap;
import javax.enterprise.event.Event;
import javax.enterprise.inject.Instance;
@@ -30,9 +29,11 @@
import org.jboss.weld.bean.builtin.FacadeBeanResolvableTransformer;
import org.jboss.weld.manager.BeanManagerImpl;
import org.jboss.weld.util.Beans;
-import org.jboss.weld.util.collections.ConcurrentCache;
import org.jboss.weld.util.reflection.Reflections;
+import com.google.common.base.Function;
+import com.google.common.collect.MapMaker;
+
/**
* @author pmuir
*
@@ -44,16 +45,50 @@
private static final Class<Provider<?>> PROVIDER_TYPE = new TypeLiteral<Provider<?>>() {}.getRawType();
private static final Class<Event<?>> EVENT_TYPE = new TypeLiteral<Event<?>>() {}.getRawType();
- private final Set<ResolvableTransformer> transformers;
- private final BeanManagerImpl manager;
- private final ConcurrentCache<Set<?>, Set<Bean<?>>> disambiguatedBeans;
+ private final Set<ResolvableTransformer<Resolvable>> transformers;
+ private final BeanManagerImpl beanManager;
+ private final ConcurrentMap<Set<Bean<?>>, Set<Bean<?>>> disambiguatedBeans;
+
+ public static class BeanDisambiguation implements Function<Set<Bean<?>>, Set<Bean<?>>>
+ {
+
+ private final BeanManagerImpl beanManager;
- public TypeSafeBeanResolver(BeanManagerImpl manager, Iterable<T> beans)
+ private BeanDisambiguation(BeanManagerImpl beanManager)
+ {
+ this.beanManager = beanManager;
+ }
+
+ public Set<Bean<?>> apply(Set<Bean<?>> from)
+ {
+ if (from.size() > 1)
+ {
+ boolean alternativePresent = Beans.isAlternativePresent(from);
+ Set<Bean<?>> disambiguatedBeans = new HashSet<Bean<?>>();
+
+ for (Bean<?> bean : from)
+ {
+ if (alternativePresent ? bean.isAlternative() : true && !Beans.isSpecialized(bean, from, beanManager.getSpecializedBeans()))
+ {
+ disambiguatedBeans.add(bean);
+ }
+ }
+ return disambiguatedBeans;
+ }
+ else
+ {
+ return from;
+ }
+ }
+
+ }
+
+ public TypeSafeBeanResolver(BeanManagerImpl beanManager, Iterable<T> beans)
{
super(beans);
- this.manager = manager;
- this.disambiguatedBeans = new ConcurrentCache<Set<?>, Set<Bean<?>>>();
- transformers = new HashSet<ResolvableTransformer>();
+ this.beanManager = beanManager;
+ this.disambiguatedBeans = new MapMaker().makeComputingMap(new BeanDisambiguation(beanManager));
+ transformers = new HashSet<ResolvableTransformer<Resolvable>>();
transformers.add(new FacadeBeanResolvableTransformer(EVENT_TYPE));
transformers.add(new FacadeBeanResolvableTransformer(INSTANCE_TYPE));
transformers.add(new FacadeBeanResolvableTransformer(PROVIDER_TYPE));
@@ -63,25 +98,25 @@
@Override
protected boolean matches(Resolvable resolvable, T bean)
{
- return Reflections.matches(resolvable.getTypeClosure(), bean.getTypes()) && Beans.containsAllBindings(resolvable.getQualifiers(), bean.getQualifiers(), manager);
+ return Reflections.matches(resolvable.getTypeClosure(), bean.getTypes()) && Beans.containsAllBindings(resolvable.getQualifiers(), bean.getQualifiers(), beanManager);
}
/**
* @return the manager
*/
- public BeanManagerImpl getManager()
+ protected BeanManagerImpl getBeanManager()
{
- return manager;
+ return beanManager;
}
@Override
protected Set<T> filterResult(Set<T> matched)
{
- return Beans.retainEnabledAlternatives(matched, manager.getEnabledAlternativeClasses(), manager.getEnabledAlternativeStereotypes());
+ return Beans.retainEnabledAlternatives(matched, beanManager.getEnabledAlternativeClasses(), beanManager.getEnabledAlternativeStereotypes());
}
@Override
- protected Iterable<ResolvableTransformer> getTransformers()
+ protected Iterable<ResolvableTransformer<Resolvable>> getTransformers()
{
return transformers;
}
@@ -92,38 +127,19 @@
return matched;
}
+
+ @SuppressWarnings("unchecked")
public <X> Set<Bean<? extends X>> resolve(final Set<Bean<? extends X>> beans)
{
- return disambiguatedBeans.<Set<Bean<? extends X>>>putIfAbsent(beans, new Callable<Set<Bean<? extends X>>>()
- {
-
- public Set<Bean<? extends X>> call() throws Exception
- {
- Set<Bean<? extends X>> disambiguatedBeans = beans;
- if (disambiguatedBeans.size() > 1)
- {
- boolean alternativePresent = Beans.isAlternativePresent(disambiguatedBeans);
- disambiguatedBeans = new HashSet<Bean<? extends X>>();
-
- for (Bean<? extends X> bean : beans)
- {
- if (alternativePresent ? bean.isAlternative() : true && !Beans.isSpecialized(bean, beans, manager.getSpecializedBeans()))
- {
- disambiguatedBeans.add(bean);
- }
- }
-
- }
- return disambiguatedBeans;
- }
-
- });
+ return (Set) disambiguatedBeans.get(beans);
}
- public <X> Set<Bean<? extends X>> resolve(final Collection<Bean<? extends X>> beans)
+ @Override
+ public void clear()
{
- return resolve(new HashSet<Bean<? extends X>>(beans));
+ super.clear();
+ //this.disambiguatedBeans.clear();
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeDecoratorResolver.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeDecoratorResolver.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeDecoratorResolver.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -16,15 +16,14 @@
*/
package org.jboss.weld.resolution;
+import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
-import java.util.Collections;
import javax.enterprise.inject.spi.Decorator;
-import org.jboss.weld.bean.DecoratorImpl;
import org.jboss.weld.manager.BeanManagerImpl;
import org.jboss.weld.util.Beans;
import org.jboss.weld.util.reflection.Reflections;
@@ -35,7 +34,7 @@
*/
public class TypeSafeDecoratorResolver extends TypeSafeBeanResolver<Decorator<?>>
{
-
+
public TypeSafeDecoratorResolver(BeanManagerImpl manager, Iterable<Decorator<?>> decorators)
{
super(manager, decorators);
@@ -44,7 +43,7 @@
@Override
protected boolean matches(Resolvable resolvable, Decorator<?> bean)
{
- return Reflections.matches(Collections.singleton(bean.getDelegateType()), resolvable.getTypeClosure()) && Beans.containsAllBindings(bean.getDelegateQualifiers(), resolvable.getQualifiers(), getManager()) && getManager().getEnabledDecoratorClasses().contains(bean.getBeanClass());
+ return Reflections.matches(Collections.singleton(bean.getDelegateType()), resolvable.getTypeClosure()) && Beans.containsAllBindings(bean.getDelegateQualifiers(), resolvable.getQualifiers(), getBeanManager()) && getBeanManager().getEnabledDecoratorClasses().contains(bean.getBeanClass());
}
@Override
@@ -55,7 +54,7 @@
public int compare(Decorator<?> o1, Decorator<?> o2)
{
- List<Class<?>> enabledDecorators = getManager().getEnabledDecoratorClasses();
+ List<Class<?>> enabledDecorators = getBeanManager().getEnabledDecoratorClasses();
int p1 = enabledDecorators.indexOf(((Decorator<?>) o1).getBeanClass());
int p2 = enabledDecorators.indexOf(((Decorator<?>) o2).getBeanClass());
return p1 - p2;
Modified: core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeDisposerResolver.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeDisposerResolver.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeDisposerResolver.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -60,7 +60,7 @@
}
@Override
- protected Iterable<ResolvableTransformer> getTransformers()
+ protected Iterable<ResolvableTransformer<Resolvable>> getTransformers()
{
return Collections.emptySet();
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeInterceptorResolver.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeInterceptorResolver.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeInterceptorResolver.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -32,10 +32,10 @@
/**
* @author <a href="mailto:mariusb@redhat.com">Marius Bogoevici</a>
*/
-public class TypeSafeInterceptorResolver extends TypeSafeResolver<InterceptorResolvable,Interceptor<?>>
+public class TypeSafeInterceptorResolver extends TypeSafeResolver<InterceptorResolvable, Interceptor<?>>
{
- private BeanManagerImpl manager;
+ private final BeanManagerImpl manager;
public TypeSafeInterceptorResolver(BeanManagerImpl manager, Iterable<Interceptor<?>> interceptors)
{
@@ -46,13 +46,9 @@
@Override
protected boolean matches(InterceptorResolvable resolvable, Interceptor<?> bean)
{
- return bean.intercepts(resolvable.getInterceptionType())
- && bean.getInterceptorBindings().size() > 0
- && Beans.containsAllInterceptionBindings(bean.getInterceptorBindings(), resolvable.getQualifiers(), getManager())
- && getManager().getEnabledInterceptorClasses().contains(bean.getBeanClass());
+ return bean.intercepts(resolvable.getInterceptionType()) && bean.getInterceptorBindings().size() > 0 && Beans.containsAllInterceptionBindings(bean.getInterceptorBindings(), resolvable.getQualifiers(), getManager()) && getManager().getEnabledInterceptorClasses().contains(bean.getBeanClass());
}
-
@Override
protected Set<Interceptor<?>> sortResult(Set<Interceptor<?>> matchedInterceptors)
{
@@ -79,7 +75,7 @@
}
@Override
- protected Iterable<ResolvableTransformer> getTransformers()
+ protected Iterable<ResolvableTransformer<InterceptorResolvable>> getTransformers()
{
return Collections.emptySet();
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeObserverResolver.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeObserverResolver.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeObserverResolver.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -61,7 +61,7 @@
}
@Override
- protected Iterable<ResolvableTransformer> getTransformers()
+ protected Iterable<ResolvableTransformer<Resolvable>> getTransformers()
{
return Collections.emptySet();
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeResolver.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeResolver.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeResolver.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -19,9 +19,10 @@
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
-import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentMap;
-import org.jboss.weld.util.collections.ConcurrentCache;
+import com.google.common.base.Function;
+import com.google.common.collect.MapMaker;
/**
* Implementation of type safe bean resolution
@@ -29,34 +30,31 @@
* @author Pete Muir
* @author Marius Bogoevici
*/
-public abstract class TypeSafeResolver<R extends Resolvable,T>
-{
- private static final long serialVersionUID = 1L;
+public abstract class TypeSafeResolver<R extends Resolvable, T>
+{
- private static abstract class MatchingResolvable extends ForwardingResolvable
+ private static class Key<R extends Resolvable>
{
- public static MatchingResolvable of(final Resolvable resolvable)
+ private final R resolvable;
+
+ private Key(R resolvable)
{
- return new MatchingResolvable()
- {
-
- @Override
- protected Resolvable delegate()
- {
- return resolvable;
- }
-
- };
+ this.resolvable = resolvable;
}
+ public R getResolvable()
+ {
+ return resolvable;
+ }
+
@Override
public boolean equals(Object obj)
{
if (obj instanceof Resolvable)
{
Resolvable that = (Resolvable) obj;
- return this.getTypeClosure().equals(that.getTypeClosure()) && this.getQualifiers().equals(that.getQualifiers());
+ return this.getResolvable().getTypeClosure().equals(that.getTypeClosure()) && this.getResolvable().getQualifiers().equals(that.getQualifiers());
}
else
{
@@ -64,13 +62,47 @@
}
}
+ @Override
+ public int hashCode()
+ {
+ int result = 17;
+ result = 31 * result + this.getResolvable().getTypeClosure().hashCode();
+ result = 31 * result + this.getResolvable().getQualifiers().hashCode();
+ return result;
+ }
+
+ @Override
+ public String toString()
+ {
+ return getResolvable().toString();
+ }
+
}
+ private static class ResolvableToBeanSet<R extends Resolvable, T> implements Function<Key<R>, Set<T>>
+ {
+
+
+ private final TypeSafeResolver<R, T> resolver;
+
+ private ResolvableToBeanSet(TypeSafeResolver<R, T> resolver)
+ {
+ this.resolver = resolver;
+ }
+
+ public Set<T> apply(Key<R> from)
+ {
+ return resolver.sortResult(resolver.filterResult(resolver.findMatching(from.getResolvable())));
+ }
+
+ }
+
// The resolved injection points
- private ConcurrentCache<MatchingResolvable, Set<T>> resolved;
+ private final ConcurrentMap<Key<R>, Set<T>> resolved;
+ // The beans to search
+ private final Iterable<? extends T> allBeans;
- // The beans to search
- private final Iterable<? extends T> iterable;
+
/**
* Constructor
@@ -78,9 +110,8 @@
*/
public TypeSafeResolver(Iterable<? extends T> allBeans)
{
- this.iterable = allBeans;
- this.resolved = new ConcurrentCache<MatchingResolvable, Set<T>>();
-
+ this.resolved = new MapMaker().makeComputingMap(new ResolvableToBeanSet<R, T>(this));
+ this.allBeans = allBeans;
}
/**
@@ -88,46 +119,20 @@
*/
public void clear()
{
- this.resolved = new ConcurrentCache<MatchingResolvable, Set<T>>();
+ this.resolved.clear();
}
/**
* Get the possible beans for the given element
*
- * @param key The resolving criteria
+ * @param resolvable The resolving criteria
* @return An unmodifiable set of matching beans
*/
- public Set<T> resolve(Resolvable key)
+ public Set<T> resolve(R resolvable)
{
- final MatchingResolvable resolvable = MatchingResolvable.of(transform(key));
-
- Callable<Set<T>> callable = new Callable<Set<T>>()
- {
- public Set<T> call() throws Exception
- {
- return sortResult(filterResult(findMatching(resolvable)));
- }
-
- };
- Set<T> beans = resolved.putIfAbsent(resolvable, callable);
- return Collections.unmodifiableSet(beans);
+ return Collections.unmodifiableSet(resolved.get(new Key<R>(transform(resolvable))));
}
- protected Resolvable transform(Resolvable resolvable)
- {
- for (ResolvableTransformer transformer : getTransformers())
- {
- resolvable = transformer.transform(resolvable);
- }
- return resolvable;
- }
-
- protected abstract Iterable<ResolvableTransformer> getTransformers();
-
- protected abstract Set<T> filterResult(Set<T> matched);
-
- protected abstract Set<T> sortResult(Set<T> matched);
-
/**
* Gets the matching beans for binding criteria from a list of beans
*
@@ -136,19 +141,34 @@
* @param beans The beans to filter
* @return A set of filtered beans
*/
- private Set<T> findMatching(MatchingResolvable resolvable)
+ private Set<T> findMatching(R resolvable)
{
Set<T> result = new HashSet<T>();
- for (T bean : iterable)
+ for (T bean : allBeans)
{
- if (matches((R)resolvable.delegate(), bean))
+ if (matches(resolvable, bean))
{
result.add(bean);
}
}
return result;
}
+
+ protected R transform(R resolvable)
+ {
+ for (ResolvableTransformer<R> transformer : getTransformers())
+ {
+ resolvable = transformer.transform(resolvable);
+ }
+ return resolvable;
+ }
+
+ protected abstract Iterable<ResolvableTransformer<R>> getTransformers();
+
+ protected abstract Set<T> filterResult(Set<T> matched);
+ protected abstract Set<T> sortResult(Set<T> matched);
+
protected abstract boolean matches(R resolvable, T t);
/**
Modified: core/trunk/impl/src/main/java/org/jboss/weld/util/Beans.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/util/Beans.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/util/Beans.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -90,10 +90,10 @@
import org.jboss.weld.introspector.WeldMethod;
import org.jboss.weld.introspector.WeldParameter;
import org.jboss.weld.manager.BeanManagerImpl;
-import org.jboss.weld.metadata.cache.BindingTypeModel;
import org.jboss.weld.metadata.cache.InterceptorBindingModel;
import org.jboss.weld.metadata.cache.MergedStereotypes;
import org.jboss.weld.metadata.cache.MetaAnnotationStore;
+import org.jboss.weld.metadata.cache.QualifierModel;
import org.jboss.weld.persistence.PersistenceApiAbstraction;
import org.jboss.weld.util.reflection.Reflections;
import org.slf4j.cal10n.LocLogger;
@@ -495,7 +495,7 @@
{
for (Annotation binding : bindings1)
{
- BindingTypeModel<?> bindingType = manager.getServices().get(MetaAnnotationStore.class).getBindingTypeModel(binding.annotationType());
+ QualifierModel<?> bindingType = manager.getServices().get(MetaAnnotationStore.class).getBindingTypeModel(binding.annotationType());
boolean matchFound = false;
// TODO Something wrong with annotation proxy hashcode in JDK/AnnotationLiteral hashcode, so always do a full check, don't use contains
for (Annotation otherBinding : bindings2)
@@ -619,7 +619,7 @@
* @param beans
* @return
*/
- public static <X> boolean isAlternativePresent(Set<Bean<? extends X>> beans)
+ public static boolean isAlternativePresent(Set<Bean<?>> beans)
{
for (Bean<?> bean : beans)
{
@@ -651,7 +651,7 @@
* @param specializedBeans
* @return
*/
- public static <X> boolean isSpecialized(Bean<? extends X> bean, Set<Bean<? extends X>> beans, Map<Contextual<?>, Contextual<?>> specializedBeans)
+ public static boolean isSpecialized(Bean<?> bean, Set<Bean<?>> beans, Map<Contextual<?>, Contextual<?>> specializedBeans)
{
if (specializedBeans.containsKey(bean))
{
Modified: core/trunk/impl/src/main/java/org/jboss/weld/util/Names.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/util/Names.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/impl/src/main/java/org/jboss/weld/util/Names.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -17,9 +17,6 @@
package org.jboss.weld.util;
import java.lang.annotation.Annotation;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.lang.reflect.Type;
import java.util.ArrayList;
@@ -30,8 +27,6 @@
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.jboss.weld.util.reflection.SecureReflections;
-
/**
* Utility class to produce friendly names e.g. for debugging
*
@@ -70,6 +65,18 @@
}
return result.toString();
}
+
+ public static String toString(Class<?> rawType, Set<Annotation> annotations, Type[] actualTypeArguments)
+ {
+ if (actualTypeArguments.length > 0)
+ {
+ return new StringBuilder().append(Names.annotationsToString(annotations)).append(" ").append(rawType.getName()).append("<").append(Arrays.asList(actualTypeArguments)).append(">").toString();
+ }
+ else
+ {
+ return new StringBuilder().append(Names.annotationsToString(annotations)).append(" ").append(rawType.getName()).toString();
+ }
+ }
/**
* Counts item in an iteratble
@@ -88,24 +95,6 @@
}
/**
- * Converts a list of strings to a String with given delimeter
- *
- * @param list The list
- * @param delimiter The delimeter
- * @return The string representation
- */
- private static String listToString(List<String> list, String delimiter)
- {
- StringBuilder buffer = new StringBuilder();
- for (String item : list)
- {
- buffer.append(item);
- buffer.append(delimiter);
- }
- return buffer.toString();
- }
-
- /**
* Parses a reflection modifier to a list of string
*
* @param modifier The modifier to parse
@@ -164,111 +153,6 @@
}
return modifiers;
}
-
-
-
- /**
- * Gets a string representation from a field
- *
- * @param field The field
- * @return The string representation
- */
- public static String fieldToString(Field field)
- {
- return " Field " + annotationsToString(field.getAnnotations()) + listToString(parseModifiers(field.getModifiers()), " ") + field.getName();
- }
-
- /**
- * Gets the string representation from a method
- *
- * @param method The method
- * @return The string representation
- */
- public static String methodToString(Method method)
- {
- return " Method " + method.getReturnType().getSimpleName() + " " + annotationsToString(method.getAnnotations()) + listToString(parseModifiers(method.getModifiers()), " ") + method.getName() + "(" + parametersToString(method.getParameterTypes(), method.getParameterAnnotations(), false) + ");\n";
- }
-
- /**
- * Gets a string representation from an annotation
- *
- * @param annotation The annotation
- * @return The string representation
- */
- public static String annotationToString(Annotation annotation)
- {
- return "Annotation " + annotationsToString(annotation.annotationType().getAnnotations()) + annotation.annotationType().getSimpleName();
- }
-
- /**
- * Gets a string representation from a method
- *
- * @param constructor The method
- * @return The string representation
- */
- public static String constructorToString(Constructor<?> constructor)
- {
- return " Constructor " + annotationsToString(constructor.getAnnotations()) + listToString(parseModifiers(constructor.getModifiers()), " ") + constructor.getDeclaringClass().getSimpleName() + "(" + parametersToString(constructor.getParameterTypes(), constructor.getParameterAnnotations(), true) + ");\n";
- }
-
- /**
- * Gets a string representation from a list of parameters and their
- * annotations
- *
- * @param parameterTypes The parameters
- * @param annotations The annotation map
- * @return The string representation
- */
- private static String parametersToString(Class<?>[] parameterTypes, Annotation[][] annotations, boolean constructor)
- {
- StringBuilder buffer = new StringBuilder();
- int start = constructor ? 1 : 0;
- for (int i = start; i < parameterTypes.length; i++)
- {
- if (i > start)
- {
- buffer.append(", ");
- }
- buffer.append(annotationsToString(annotations[i]) + typeToString(parameterTypes[i]));
- }
- return buffer.toString();
- }
-
- /**
- * Gets a string representation from a type
- *
- * @param clazz The type
- * @return The string representation
- */
- private static String typeToString(Class<?> clazz)
- {
- return annotationsToString(clazz.getAnnotations()) + clazz.getSimpleName();
- }
-
- /**
- * Gets a string representation from a class
- *
- * @param clazz The class
- * @return The string representation
- */
- public static String classToString(Class<?> clazz)
- {
- StringBuilder buffer = new StringBuilder();
- buffer.append("Class " + typeToString(clazz) + "\n");
- for (Field field : SecureReflections.getFields(clazz))
- {
- buffer.append(fieldToString(field));
- }
- for (Constructor<?> constructor : SecureReflections.getConstructors(clazz))
- {
- buffer.append(constructorToString(constructor));
- }
- for (Method method : SecureReflections.getMethods(clazz))
- {
- buffer.append(methodToString(method));
- }
- return buffer.toString();
- }
public static String typesToString(Set<? extends Type> types)
{
@@ -299,17 +183,15 @@
{
StringBuilder builder = new StringBuilder();
int i = 0;
- builder.append("[");
for (Annotation annotation : annotations)
{
if (i > 0)
{
- builder.append(", ");
+ builder.append(" ");
}
builder.append("@").append(annotation.annotationType().getSimpleName());
i++;
}
- builder.append("]");
return builder.toString();
}
Modified: core/trunk/tests/src/main/java/org/jboss/weld/mock/cluster/AbstractClusterTest.java
===================================================================
--- core/trunk/tests/src/main/java/org/jboss/weld/mock/cluster/AbstractClusterTest.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/tests/src/main/java/org/jboss/weld/mock/cluster/AbstractClusterTest.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -5,9 +5,11 @@
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
+import java.lang.reflect.Field;
import java.util.Collection;
-import org.jboss.weld.bootstrap.api.SingletonProvider;
+import org.jboss.weld.Container;
+import org.jboss.weld.bootstrap.api.Singleton;
import org.jboss.weld.context.ContextLifecycle;
import org.jboss.weld.context.api.BeanStore;
import org.jboss.weld.manager.BeanManagerImpl;
@@ -19,17 +21,26 @@
public class AbstractClusterTest
{
+ private Singleton<Container> singleton;
+
@BeforeClass
- public void beforeClass()
+ public void beforeClass() throws Exception
{
- SingletonProvider.reset();
- SingletonProvider.initialize(new SwitchableSingletonProvider());
+ singleton = (Singleton) getInstanceField().get(null);
+ getInstanceField().set(null, new SwitchableSingletonProvider().create(Container.class));
}
+ private static Field getInstanceField() throws Exception
+ {
+ Field field = Container.class.getDeclaredField("instance");
+ field.setAccessible(true);
+ return field;
+ }
+
@AfterClass
- public void afterClass()
+ public void afterClass() throws Exception
{
- SingletonProvider.reset();
+ getInstanceField().set(null, singleton);
}
protected TestContainer bootstrapContainer(int id, Collection<Class<?>> classes)
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/cluster/NaiveClusterTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/cluster/NaiveClusterTest.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/cluster/NaiveClusterTest.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -35,6 +35,10 @@
use(2);
Foo foo2 = (Foo) beanManager2.getReference(fooBean2, Foo.class, beanManager2.createCreationalContext(fooBean2));
assert foo2.getName().equals("container 1");
+ use(2);
+ container2.stopContainer();
+ use(1);
+ container1.stopContainer();
}
@Test
@@ -76,6 +80,10 @@
use(1);
assert stable1.getFodder().getAmount() == 11;
+ use(1);
+ container1.stopContainer();
+ use(2);
+ container2.stopContainer();
}
@Test
@@ -105,6 +113,10 @@
Stable stable2 = (Stable) beanManager2.getReference(stableBean2, Stable.class, beanManager2.createCreationalContext(stableBean2));
assert stable2.getFodder().getAmount() == stable1.getFodder().getAmount();
assert stable2.getHorse().getName() == null;
+ use(1);
+ container1.stopContainer();
+ use(2);
+ container2.stopContainer();
}
}
Modified: core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/cluster/SwitchableContainerTest.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/cluster/SwitchableContainerTest.java 2010-01-13 13:53:14 UTC (rev 5449)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/unit/cluster/SwitchableContainerTest.java 2010-01-13 13:55:53 UTC (rev 5450)
@@ -8,17 +8,16 @@
import org.jboss.weld.bootstrap.api.SingletonProvider;
import org.jboss.weld.mock.MockEELifecycle;
import org.jboss.weld.mock.TestContainer;
+import org.jboss.weld.mock.cluster.AbstractClusterTest;
import org.jboss.weld.mock.cluster.SwitchableSingletonProvider;
import org.testng.annotations.Test;
-public class SwitchableContainerTest
+public class SwitchableContainerTest extends AbstractClusterTest
{
@Test
public void test()
{
- SingletonProvider.reset();
- SingletonProvider.initialize(new SwitchableSingletonProvider());
// Bootstrap container 1
SwitchableSingletonProvider.use(1);
@@ -54,6 +53,9 @@
foo2 = (Foo) beanManager2.getReference(fooBean2, Foo.class, beanManager2.createCreationalContext(fooBean2));
assert foo2.getName().equals("container 2");
SingletonProvider.reset();
+ container1.stopContainer();
+ container2.stopContainer();
+ SingletonProvider.reset();
}
}
16 years, 3 months