Weld SVN: r4637 - core/trunk/impl/src/main/java/org/jboss/weld/bean.
by weld-commits@lists.jboss.org
Author: dan.j.allen
Date: 2009-11-03 16:47:49 -0500 (Tue, 03 Nov 2009)
New Revision: 4637
Modified:
core/trunk/impl/src/main/java/org/jboss/weld/bean/SessionBean.java
Log:
fix misspelled enterprise in log message
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/SessionBean.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/SessionBean.java 2009-11-03 21:46:40 UTC (rev 4636)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/SessionBean.java 2009-11-03 21:47:49 UTC (rev 4637)
@@ -245,11 +245,11 @@
{
if (ejbDescriptor.isStateless() && !isDependent())
{
- throw new DefinitionException("Scope " + getScope() + " is not allowed on stateless enterpise beans for " + getType() + ". Only @Dependent is allowed on stateless enterprise beans");
+ throw new DefinitionException("Scope " + getScope() + " is not allowed on stateless enterprise beans for " + getType() + ". Only @Dependent is allowed on stateless enterprise beans");
}
if (ejbDescriptor.isSingleton() && !(isDependent() || getScope().equals(ApplicationScoped.class)))
{
- throw new DefinitionException("Scope " + getScope() + " is not allowed on singleton enterpise beans for " + getType() + ". Only @Dependent or @ApplicationScoped is allowed on singleton enterprise beans");
+ throw new DefinitionException("Scope " + getScope() + " is not allowed on singleton enterprise beans for " + getType() + ". Only @Dependent or @ApplicationScoped is allowed on singleton enterprise beans");
}
}
@@ -310,8 +310,8 @@
{
throw new IllegalArgumentException("Cannot destroy session bean instance not created by the container");
}
- EnterpriseBeanInstance enterpiseBeanInstance = (EnterpriseBeanInstance) instance;
- enterpiseBeanInstance.destroy(Marker.INSTANCE, this, creationalContext);
+ EnterpriseBeanInstance enterpriseBeanInstance = (EnterpriseBeanInstance) instance;
+ enterpriseBeanInstance.destroy(Marker.INSTANCE, this, creationalContext);
creationalContext.release();
}
16 years, 5 months
Weld SVN: r4636 - doc/trunk/reference/en-US.
by weld-commits@lists.jboss.org
Author: dan.j.allen
Date: 2009-11-03 16:46:40 -0500 (Tue, 03 Nov 2009)
New Revision: 4636
Modified:
doc/trunk/reference/en-US/gettingstarted.xml
Log:
remove comment
Modified: doc/trunk/reference/en-US/gettingstarted.xml
===================================================================
--- doc/trunk/reference/en-US/gettingstarted.xml 2009-11-03 21:45:15 UTC (rev 4635)
+++ doc/trunk/reference/en-US/gettingstarted.xml 2009-11-03 21:46:40 UTC (rev 4636)
@@ -1,10 +1,6 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [ ]>
<chapter id="gettingstarted">
-<!-- TODO
-Explain use of war:inplace to use jetty
-Java SE numberguess example
--->
<title>Getting started Weld, the JSR-299 reference implementation</title>
16 years, 5 months
Weld SVN: r4635 - doc/trunk/reference/en-US.
by weld-commits@lists.jboss.org
Author: dan.j.allen
Date: 2009-11-03 16:45:15 -0500 (Tue, 03 Nov 2009)
New Revision: 4635
Modified:
doc/trunk/reference/en-US/next.xml
Log:
note about Java memory setting
Modified: doc/trunk/reference/en-US/next.xml
===================================================================
--- doc/trunk/reference/en-US/next.xml 2009-11-03 20:59:06 UTC (rev 4634)
+++ doc/trunk/reference/en-US/next.xml 2009-11-03 21:45:15 UTC (rev 4635)
@@ -52,6 +52,12 @@
Build using Maven 2
</para>
<programlisting><![CDATA[$> mvn]]></programlisting>
+ <note>
+ <para>
+ If you experience an out of memory error, try setting this environment variable:
+ <literal>MAVEN_OPTS=-Xmx1024m</literal>
+ </para>
+ </note>
</listitem>
<listitem>
<para>The PDF version of the reference guide will appear the current directory. You can find the HTML version
16 years, 5 months
Weld SVN: r4634 - in core/trunk/impl: src/main/java/org/jboss/weld/bean/builtin and 3 other directories.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-11-03 15:59:06 -0500 (Tue, 03 Nov 2009)
New Revision: 4634
Added:
core/trunk/impl/src/main/java/org/jboss/weld/messages/ServletMessage.java
core/trunk/impl/src/main/resources/org/jboss/weld/messages/servlet_en.properties
Modified:
core/trunk/impl/pom.xml
core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/AbstractBuiltInBean.java
core/trunk/impl/src/main/java/org/jboss/weld/servlet/WeldListener.java
Log:
fix and oops, log the servlet int not starting, not an exception
Modified: core/trunk/impl/pom.xml
===================================================================
--- core/trunk/impl/pom.xml 2009-11-03 20:51:13 UTC (rev 4633)
+++ core/trunk/impl/pom.xml 2009-11-03 20:59:06 UTC (rev 4634)
@@ -136,6 +136,7 @@
<enumType>org.jboss.weld.messages.JsfMessage</enumType>
<enumType>org.jboss.weld.messages.ReflectionMessage</enumType>
<enumType>org.jboss.weld.messages.UtilMessage</enumType>
+ <enumType>org.jboss.weld.messages.ServletMessage</enumType>
</enumTypes>
</configuration>
</execution>
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/AbstractBuiltInBean.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/AbstractBuiltInBean.java 2009-11-03 20:51:13 UTC (rev 4633)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/AbstractBuiltInBean.java 2009-11-03 20:59:06 UTC (rev 4634)
@@ -111,11 +111,6 @@
return true;
}
- public boolean isProxyRequired()
- {
- return true;
- }
-
@Override
public String getDescription()
{
Added: core/trunk/impl/src/main/java/org/jboss/weld/messages/ServletMessage.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/messages/ServletMessage.java (rev 0)
+++ core/trunk/impl/src/main/java/org/jboss/weld/messages/ServletMessage.java 2009-11-03 20:59:06 UTC (rev 4634)
@@ -0,0 +1,16 @@
+package org.jboss.weld.messages;
+
+import ch.qos.cal10n.BaseName;
+import ch.qos.cal10n.Locale;
+import ch.qos.cal10n.LocaleData;
+
+@BaseName("org.jboss.weld.messages.servlet")
+@LocaleData({
+ @Locale("en")
+})
+public enum ServletMessage
+{
+
+ NOT_STARTING
+
+}
Property changes on: core/trunk/impl/src/main/java/org/jboss/weld/messages/ServletMessage.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Modified: core/trunk/impl/src/main/java/org/jboss/weld/servlet/WeldListener.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/servlet/WeldListener.java 2009-11-03 20:51:13 UTC (rev 4633)
+++ core/trunk/impl/src/main/java/org/jboss/weld/servlet/WeldListener.java 2009-11-03 20:59:06 UTC (rev 4634)
@@ -22,6 +22,10 @@
*/
package org.jboss.weld.servlet;
+import static org.jboss.weld.messages.ServletMessage.NOT_STARTING;
+import static org.jboss.weld.util.log.Category.SERVLET;
+import static org.jboss.weld.util.log.LoggerFactory.loggerFactory;
+
import javax.enterprise.inject.spi.BeanManager;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
@@ -35,6 +39,7 @@
import org.jboss.weld.context.ContextLifecycle;
import org.jboss.weld.servlet.api.ServletServices;
import org.jboss.weld.servlet.api.helpers.AbstractServletListener;
+import org.slf4j.cal10n.LocLogger;
/**
* The Weld listener
@@ -49,6 +54,8 @@
public class WeldListener extends AbstractServletListener
{
+ private static final LocLogger log = loggerFactory().getLogger(SERVLET);
+
private ServletLifecycle lifecycle;
private ServletLifecycle getLifecycle()
@@ -78,15 +85,16 @@
@Override
public void contextInitialized(ServletContextEvent sce)
{
+ super.contextInitialized(sce);
if (!Container.instance().isInitialized())
{
- throw new IllegalStateException("Weld bootstrap must be complete before contextInitialized event");
+ log.warn(NOT_STARTING);
+ return;
}
if (!Container.instance().deploymentServices().contains(ServletServices.class))
{
throw new IllegalStateException("Cannot use WeldListener without ServletServices");
}
- super.contextInitialized(sce);
sce.getServletContext().setAttribute(BeanManager.class.getName(), getBeanManager(sce.getServletContext()));
}
Added: core/trunk/impl/src/main/resources/org/jboss/weld/messages/servlet_en.properties
===================================================================
--- core/trunk/impl/src/main/resources/org/jboss/weld/messages/servlet_en.properties (rev 0)
+++ core/trunk/impl/src/main/resources/org/jboss/weld/messages/servlet_en.properties 2009-11-03 20:59:06 UTC (rev 4634)
@@ -0,0 +1 @@
+NOT_STARTING=Not starting Weld/Servlet integration as Weld failed to initialize
\ No newline at end of file
Property changes on: core/trunk/impl/src/main/resources/org/jboss/weld/messages/servlet_en.properties
___________________________________________________________________
Name: svn:mime-type
+ text/plain
16 years, 5 months
Weld SVN: r4633 - cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/broken/processBeanObserverThrowsException.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-11-03 15:51:13 -0500 (Tue, 03 Nov 2009)
New Revision: 4633
Modified:
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/broken/processBeanObserverThrowsException/ThrowExceptionInProcessBeanObserverTest.java
Log:
WELD-224
Modified: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/broken/processBeanObserverThrowsException/ThrowExceptionInProcessBeanObserverTest.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/broken/processBeanObserverThrowsException/ThrowExceptionInProcessBeanObserverTest.java 2009-11-03 20:33:53 UTC (rev 4632)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/broken/processBeanObserverThrowsException/ThrowExceptionInProcessBeanObserverTest.java 2009-11-03 20:51:13 UTC (rev 4633)
@@ -33,10 +33,11 @@
@SpecVersion(spec = "cdi", version = "20091018")
public class ThrowExceptionInProcessBeanObserverTest extends AbstractJSR299Test
{
- @Test(groups = "ri-broken")
- @SpecAssertion(section="11.5.8", id="hd")
- //WELD-224
- public void testProcessBeanObserverThrowsException() {
+ @Test(groups = "jboss-as-broken")
+ @SpecAssertion(section = "11.5.8", id = "hd")
+ // WELD-224
+ public void testProcessBeanObserverThrowsException()
+ {
assert false;
}
}
16 years, 5 months
Weld SVN: r4632 - cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/broken/processBeanObserverRegistersException.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-11-03 15:33:53 -0500 (Tue, 03 Nov 2009)
New Revision: 4632
Modified:
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/broken/processBeanObserverRegistersException/AddDefinitionErrorTest.java
Log:
WELD-223
Modified: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/broken/processBeanObserverRegistersException/AddDefinitionErrorTest.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/broken/processBeanObserverRegistersException/AddDefinitionErrorTest.java 2009-11-03 20:18:23 UTC (rev 4631)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/container/event/broken/processBeanObserverRegistersException/AddDefinitionErrorTest.java 2009-11-03 20:33:53 UTC (rev 4632)
@@ -33,10 +33,11 @@
@SpecVersion(spec = "cdi", version = "20091018")
public class AddDefinitionErrorTest extends AbstractJSR299Test
{
- @Test(groups = "ri-broken")
- @SpecAssertion(section="11.5.8", id="h")
- //WELD-223
- public void testAddDefinitionError() {
+ @Test(groups = "jboss-as-broken")
+ @SpecAssertion(section = "11.5.8", id = "h")
+ // WELD-223
+ public void testAddDefinitionError()
+ {
assert false;
}
}
16 years, 5 months
Weld SVN: r4631 - in core/trunk/impl/src/main/java/org/jboss/weld: bean and 1 other directories.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-11-03 15:18:23 -0500 (Tue, 03 Nov 2009)
New Revision: 4631
Modified:
core/trunk/impl/src/main/java/org/jboss/weld/BeanManagerImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/RIBean.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/AbstractBuiltInBean.java
Log:
Add ability to require a proxy
Modified: core/trunk/impl/src/main/java/org/jboss/weld/BeanManagerImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/BeanManagerImpl.java 2009-11-03 19:41:30 UTC (rev 4630)
+++ core/trunk/impl/src/main/java/org/jboss/weld/BeanManagerImpl.java 2009-11-03 20:18:23 UTC (rev 4631)
@@ -60,6 +60,7 @@
import org.jboss.weld.bean.DecoratorImpl;
import org.jboss.weld.bean.InterceptorImpl;
import org.jboss.weld.bean.NewBean;
+import org.jboss.weld.bean.RIBean;
import org.jboss.weld.bean.SessionBean;
import org.jboss.weld.bean.builtin.AbstractBuiltInBean;
import org.jboss.weld.bean.builtin.ExtensionBean;
@@ -911,7 +912,7 @@
{
creationalContext = ((WeldCreationalContext<?>) creationalContext).getCreationalContext(bean);
}
- if (getServices().get(MetaAnnotationStore.class).getScopeModel(bean.getScope()).isNormal())
+ if (isProxyRequired(bean))
{
if (creationalContext != null || getContext(bean.getScope()).get(bean) != null)
{
@@ -927,6 +928,22 @@
return getContext(bean.getScope()).get((Contextual) bean, creationalContext);
}
}
+
+ private boolean isProxyRequired(Bean<?> bean)
+ {
+ if (getServices().get(MetaAnnotationStore.class).getScopeModel(bean.getScope()).isNormal())
+ {
+ return true;
+ }
+ else if (bean instanceof RIBean<?>)
+ {
+ return ((RIBean<?>) bean).isProxyRequired();
+ }
+ else
+ {
+ return false;
+ }
+ }
public Object getReference(Bean<?> bean, Type beanType, CreationalContext<?> creationalContext)
{
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/RIBean.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/RIBean.java 2009-11-03 19:41:30 UTC (rev 4630)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/RIBean.java 2009-11-03 20:18:23 UTC (rev 4631)
@@ -72,6 +72,11 @@
public abstract boolean isProxyable();
+ public boolean isProxyRequired()
+ {
+ return false;
+ }
+
public abstract boolean isPrimitive();
public abstract Set<WeldInjectionPoint<?, ?>> getAnnotatedInjectionPoints();
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/AbstractBuiltInBean.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/AbstractBuiltInBean.java 2009-11-03 19:41:30 UTC (rev 4630)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/AbstractBuiltInBean.java 2009-11-03 20:18:23 UTC (rev 4631)
@@ -108,9 +108,14 @@
@Override
public boolean isProxyable()
{
- return false;
+ return true;
}
+ public boolean isProxyRequired()
+ {
+ return true;
+ }
+
@Override
public String getDescription()
{
16 years, 5 months
Weld SVN: r4630 - cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/interceptors/definition/custom.
by weld-commits@lists.jboss.org
Author: marius.bogoevici
Date: 2009-11-03 14:41:30 -0500 (Tue, 03 Nov 2009)
New Revision: 4630
Modified:
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/interceptors/definition/custom/CustomInterceptorTest.java
Log:
WELD-238: Enable tests.
Modified: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/interceptors/definition/custom/CustomInterceptorTest.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/interceptors/definition/custom/CustomInterceptorTest.java 2009-11-03 19:39:16 UTC (rev 4629)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/interceptors/definition/custom/CustomInterceptorTest.java 2009-11-03 19:41:30 UTC (rev 4630)
@@ -34,7 +34,7 @@
@BeansXml("beans.xml")
public class CustomInterceptorTest extends AbstractJSR299Test
{
- @Test(groups = "ri-broken")
+ @Test
@SpecAssertion(section = "9.5", id = "fa")
// WELD-238
public void testCustomPostConstructInterceptor()
@@ -44,7 +44,7 @@
assert AfterBeanDiscoveryObserver.POST_CONSTRUCT_INTERCEPTOR.isInterceptsCalled();
}
- @Test(groups = "ri-broken")
+ @Test
@SpecAssertion(section = "9.5", id = "fb")
// WELD-238
public void testCustomPreDestroyInterceptor()
@@ -54,7 +54,7 @@
assert AfterBeanDiscoveryObserver.PRE_DESTROY_INTERCEPTOR.isInterceptsCalled();
}
- @Test(groups = "ri-broken")
+ @Test
@SpecAssertion(section = "9.5", id = "fc")
// WELD-238
public void testCustomPostActivateInterceptor()
@@ -64,7 +64,7 @@
assert AfterBeanDiscoveryObserver.POST_ACTIVATE_INTERCEPTOR.isInterceptsCalled();
}
- @Test(groups = "ri-broken")
+ @Test
@SpecAssertion(section = "9.5", id = "fd")
// WELD-238
public void testCustomPrePassivateInterceptor()
@@ -74,7 +74,7 @@
assert AfterBeanDiscoveryObserver.PRE_PASSIVATE_INTERCEPTOR.isInterceptsCalled();
}
- @Test(groups = "ri-broken")
+ @Test
@SpecAssertion(section = "9.5", id = "fe")
// WELD-238
public void testCustomAroundInvokeInterceptor()
@@ -84,7 +84,7 @@
assert AfterBeanDiscoveryObserver.AROUND_INVOKE_INTERCEPTOR.isInterceptsCalled();
}
- @Test(groups = "ri-broken")
+ @Test
@SpecAssertion(section = "9.5", id = "ff")
// WELD-238
public void testCustomAroundTimeoutInterceptor()
16 years, 5 months
Weld SVN: r4629 - core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr and 1 other directory.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-11-03 14:39:16 -0500 (Tue, 03 Nov 2009)
New Revision: 4629
Modified:
cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/alternative/metadata/AlternativeMetadataTest.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldConstructorImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldFieldImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldMethodImpl.java
Log:
WELD-200
Modified: cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/alternative/metadata/AlternativeMetadataTest.java
===================================================================
--- cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/alternative/metadata/AlternativeMetadataTest.java 2009-11-03 19:38:02 UTC (rev 4628)
+++ cdi-tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/alternative/metadata/AlternativeMetadataTest.java 2009-11-03 19:39:16 UTC (rev 4629)
@@ -48,9 +48,8 @@
@SpecVersion(spec="cdi", version="20091018")
public class AlternativeMetadataTest extends AbstractJSR299Test
{
- @Test(groups = "ri-broken")
+ @Test
@SpecAssertion(section = "11.4", id = "ha")
- // WELD-200
public void testGetBaseTypeUsedToDetermineTypeOfInjectionPoint() {
// The base type of the fruit injection point is overridden to TropicalFruit
assert GroceryWrapper.isGetBaseTypeOfFruitFieldUsed();
@@ -59,7 +58,6 @@
@Test
@SpecAssertion(section = "11.4", id = "ka")
- // WELD-201
public void testGetTypeClosureUsed() {
assert GroceryWrapper.isGetTypeClosureUsed();
// should be [Object, Grocery] instead of [Object, Shop, Grocery]
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldConstructorImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldConstructorImpl.java 2009-11-03 19:38:02 UTC (rev 4628)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldConstructorImpl.java 2009-11-03 19:39:16 UTC (rev 4629)
@@ -74,13 +74,13 @@
public static <T> WeldConstructor<T> of(Constructor<T> constructor, WeldClass<T> declaringClass, ClassTransformer classTransformer)
{
AnnotationStore annotationStore = AnnotationStore.of(constructor, classTransformer.getTypeStore());
- return new WeldConstructorImpl<T>(ensureAccessible(constructor), null, new Reflections.HierarchyDiscovery(constructor.getDeclaringClass()).getTypeClosure(), annotationStore, declaringClass, classTransformer);
+ return new WeldConstructorImpl<T>(ensureAccessible(constructor), constructor.getDeclaringClass(), constructor.getDeclaringClass(), null, new Reflections.HierarchyDiscovery(constructor.getDeclaringClass()).getTypeClosure(), annotationStore, declaringClass, classTransformer);
}
public static <T> WeldConstructor<T> of(AnnotatedConstructor<T> annotatedConstructor, WeldClass<T> declaringClass, ClassTransformer classTransformer)
{
AnnotationStore annotationStore = AnnotationStore.of(annotatedConstructor.getAnnotations(), annotatedConstructor.getAnnotations(), classTransformer.getTypeStore());
- return new WeldConstructorImpl<T>(ensureAccessible(annotatedConstructor.getJavaMember()), annotatedConstructor, annotatedConstructor.getTypeClosure(), annotationStore, declaringClass, classTransformer);
+ return new WeldConstructorImpl<T>(ensureAccessible(annotatedConstructor.getJavaMember()), annotatedConstructor.getJavaMember().getDeclaringClass(), annotatedConstructor.getBaseType(), annotatedConstructor, annotatedConstructor.getTypeClosure(), annotationStore, declaringClass, classTransformer);
}
/**
@@ -91,9 +91,9 @@
* @param constructor The constructor method
* @param declaringClass The declaring class
*/
- private WeldConstructorImpl(Constructor<T> constructor, AnnotatedConstructor<T> annotatedConstructor, Set<Type> typeClosure, AnnotationStore annotationStore, WeldClass<T> declaringClass, ClassTransformer classTransformer)
+ private WeldConstructorImpl(Constructor<T> constructor, final Class<T> rawType, final Type type, AnnotatedConstructor<T> annotatedConstructor, Set<Type> typeClosure, AnnotationStore annotationStore, WeldClass<T> declaringClass, ClassTransformer classTransformer)
{
- super(annotationStore, constructor, constructor.getDeclaringClass(), constructor.getDeclaringClass(), typeClosure, declaringClass);
+ super(annotationStore, constructor, rawType, type, typeClosure, declaringClass);
this.toString = new StringBuilder().append("constructor ").append(constructor.toString()).toString();
this.constructor = constructor;
@@ -127,24 +127,24 @@
if (constructor.getParameterAnnotations()[i].length > 0 || annotatedTypeParameters.containsKey(i))
{
Class<?> clazz = constructor.getParameterTypes()[i];
- Type type;
+ Type parameterType;
if (constructor.getGenericParameterTypes().length > gi && gi >=0)
{
- type = constructor.getGenericParameterTypes()[gi];
+ parameterType = constructor.getGenericParameterTypes()[gi];
}
else
{
- type = clazz;
+ parameterType = clazz;
}
WeldParameter<?, T> parameter = null;
if (annotatedTypeParameters.containsKey(i))
{
AnnotatedParameter<?> annotatedParameter = annotatedTypeParameters.get(i);
- parameter = WeldParameterImpl.of(annotatedParameter.getAnnotations(), clazz, type, this, i, classTransformer);
+ parameter = WeldParameterImpl.of(annotatedParameter.getAnnotations(), clazz, parameterType, this, i, classTransformer);
}
else
{
- parameter = WeldParameterImpl.of(constructor.getParameterAnnotations()[i], clazz, type, this, i, classTransformer);
+ parameter = WeldParameterImpl.of(constructor.getParameterAnnotations()[i], clazz, parameterType, this, i, classTransformer);
}
parameters.add(parameter);
@@ -157,16 +157,16 @@
else
{
Class<?> clazz = constructor.getParameterTypes()[i];
- Type type;
+ Type parameterType;
if (constructor.getGenericParameterTypes().length > gi && gi >=0)
{
- type = constructor.getGenericParameterTypes()[gi];
+ parameterType = constructor.getGenericParameterTypes()[gi];
}
else
{
- type = clazz;
+ parameterType = clazz;
}
- WeldParameter<?, T> parameter = WeldParameterImpl.of(new Annotation[0], clazz, type, this, i, classTransformer);
+ WeldParameter<?, T> parameter = WeldParameterImpl.of(new Annotation[0], clazz, parameterType, this, i, classTransformer);
parameters.add(parameter);
for (Annotation annotation : parameter.getAnnotations())
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldFieldImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldFieldImpl.java 2009-11-03 19:38:02 UTC (rev 4628)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldFieldImpl.java 2009-11-03 19:39:16 UTC (rev 4629)
@@ -51,13 +51,13 @@
public static <T, X> WeldFieldImpl<T, X> of(Field field, WeldClass<X> declaringClass, ClassTransformer classTransformer)
{
AnnotationStore annotationStore = AnnotationStore.of(field, classTransformer.getTypeStore());
- return new WeldFieldImpl<T, X>(ensureAccessible(field), new Reflections.HierarchyDiscovery(field.getGenericType()).getTypeClosure(), annotationStore, declaringClass, classTransformer);
+ return new WeldFieldImpl<T, X>(ensureAccessible(field), (Class<T>) field.getType(), field.getGenericType(), new Reflections.HierarchyDiscovery(field.getGenericType()).getTypeClosure(), annotationStore, declaringClass, classTransformer);
}
public static <T, X> WeldFieldImpl<T, X> of(AnnotatedField<? super X> annotatedField, WeldClass<X> declaringClass, ClassTransformer classTransformer)
{
AnnotationStore annotationStore = AnnotationStore.of(annotatedField.getAnnotations(), annotatedField.getAnnotations(), classTransformer.getTypeStore());
- return new WeldFieldImpl<T, X>(ensureAccessible(annotatedField.getJavaMember()), annotatedField.getTypeClosure(), annotationStore, declaringClass, classTransformer);
+ return new WeldFieldImpl<T, X>(ensureAccessible(annotatedField.getJavaMember()), (Class<T>) annotatedField.getJavaMember().getType(), annotatedField.getBaseType(), annotatedField.getTypeClosure(), annotationStore, declaringClass, classTransformer);
}
/**
@@ -69,9 +69,9 @@
* @param field The actual field
* @param declaringClass The abstraction of the declaring class
*/
- private WeldFieldImpl(Field field, Set<Type> typeClosure, AnnotationStore annotationStore, WeldClass<X> declaringClass, ClassTransformer classTransformer)
+ private WeldFieldImpl(Field field, final Class<T> rawType, final Type type, Set<Type> typeClosure, AnnotationStore annotationStore, WeldClass<X> declaringClass, ClassTransformer classTransformer)
{
- super(annotationStore, field, (Class<T>) field.getType(), field.getGenericType(), typeClosure, declaringClass);
+ super(annotationStore, field, rawType, type, typeClosure, declaringClass);
this.field = field;
this.toString = new StringBuilder().append("field ").append(declaringClass.getName()).append(".").append(field.getName()).toString();
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldMethodImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldMethodImpl.java 2009-11-03 19:38:02 UTC (rev 4628)
+++ core/trunk/impl/src/main/java/org/jboss/weld/introspector/jlr/WeldMethodImpl.java 2009-11-03 19:39:16 UTC (rev 4629)
@@ -78,13 +78,13 @@
public static <T, X> WeldMethodImpl<T, X> of(Method method, WeldClass<X> declaringClass, ClassTransformer classTransformer)
{
AnnotationStore annotationStore = AnnotationStore.of(method, classTransformer.getTypeStore());
- return new WeldMethodImpl<T, X>(ensureAccessible(method),new Reflections.HierarchyDiscovery(method.getGenericReturnType()).getTypeClosure(), null, annotationStore, declaringClass, classTransformer);
+ return new WeldMethodImpl<T, X>(ensureAccessible(method), (Class<T>) method.getReturnType(), method.getGenericReturnType(), new Reflections.HierarchyDiscovery(method.getGenericReturnType()).getTypeClosure(), null, annotationStore, declaringClass, classTransformer);
}
public static <T, X> WeldMethodImpl<T, X> of(AnnotatedMethod<T> method, WeldClass<X> declaringClass, ClassTransformer classTransformer)
{
AnnotationStore annotationStore = AnnotationStore.of(method.getAnnotations(), method.getAnnotations(), classTransformer.getTypeStore());
- return new WeldMethodImpl<T, X>(ensureAccessible(method.getJavaMember()), method.getTypeClosure(), method, annotationStore, declaringClass, classTransformer);
+ return new WeldMethodImpl<T, X>(ensureAccessible(method.getJavaMember()), (Class<T>) method.getJavaMember().getReturnType(), method.getBaseType(), method.getTypeClosure(), method, annotationStore, declaringClass, classTransformer);
}
/**
@@ -97,9 +97,9 @@
* @param declaringClass The declaring class abstraction
*/
@SuppressWarnings("unchecked")
- private WeldMethodImpl(Method method, Set<Type> typeClosure, AnnotatedMethod<T> annotatedMethod, AnnotationStore annotationStore, WeldClass<X> declaringClass, ClassTransformer classTransformer)
+ private WeldMethodImpl(Method method, final Class<T> rawType, final Type type, Set<Type> typeClosure, AnnotatedMethod<T> annotatedMethod, AnnotationStore annotationStore, WeldClass<X> declaringClass, ClassTransformer classTransformer)
{
- super(annotationStore, method, (Class<T>) method.getReturnType(), method.getGenericReturnType(), typeClosure, declaringClass);
+ super(annotationStore, method, rawType, type, typeClosure, declaringClass);
this.method = method;
this.toString = new StringBuilder().append("method ").append(method.toString()).toString();
this.parameters = new ArrayList<WeldParameter<?, X>>();
@@ -128,16 +128,16 @@
if (method.getParameterAnnotations()[i].length > 0 || annotatedTypeParameters.containsKey(i))
{
Class<? extends Object> clazz = method.getParameterTypes()[i];
- Type type = method.getGenericParameterTypes()[i];
+ Type parametertype = method.getGenericParameterTypes()[i];
WeldParameter<?, X> parameter = null;
if (annotatedTypeParameters.containsKey(i))
{
AnnotatedParameter<?> annotatedParameter = annotatedTypeParameters.get(i);
- parameter = WeldParameterImpl.of(annotatedParameter.getAnnotations(), clazz, type, this, i, classTransformer);
+ parameter = WeldParameterImpl.of(annotatedParameter.getAnnotations(), clazz, parametertype, this, i, classTransformer);
}
else
{
- parameter = WeldParameterImpl.of(method.getParameterAnnotations()[i], clazz, type, this, i, classTransformer);
+ parameter = WeldParameterImpl.of(method.getParameterAnnotations()[i], clazz, parametertype, this, i, classTransformer);
}
this.parameters.add(parameter);
for (Annotation annotation : parameter.getAnnotations())
@@ -151,8 +151,8 @@
else
{
Class<? extends Object> clazz = method.getParameterTypes()[i];
- Type type = method.getGenericParameterTypes()[i];
- WeldParameter<?, X> parameter = WeldParameterImpl.of(new Annotation[0], (Class<Object>) clazz, type, this, i, classTransformer);
+ Type parameterType = method.getGenericParameterTypes()[i];
+ WeldParameter<?, X> parameter = WeldParameterImpl.of(new Annotation[0], (Class<Object>) clazz, parameterType, this, i, classTransformer);
this.parameters.add(parameter);
}
}
16 years, 5 months
Weld SVN: r4628 - in core/trunk/impl/src/main/java/org/jboss/weld: bootstrap/events and 2 other directories.
by weld-commits@lists.jboss.org
Author: marius.bogoevici
Date: 2009-11-03 14:38:02 -0500 (Tue, 03 Nov 2009)
New Revision: 4628
Modified:
core/trunk/impl/src/main/java/org/jboss/weld/BeanManagerImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/Validator.java
core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AfterBeanDiscoveryImpl.java
core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeInterceptorResolver.java
core/trunk/impl/src/main/java/org/jboss/weld/xml/BeansXmlParser.java
Log:
WELD-238: Support Interceptors added via portable extensions.
Modified: core/trunk/impl/src/main/java/org/jboss/weld/BeanManagerImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/BeanManagerImpl.java 2009-11-03 19:11:21 UTC (rev 4627)
+++ core/trunk/impl/src/main/java/org/jboss/weld/BeanManagerImpl.java 2009-11-03 19:38:02 UTC (rev 4628)
@@ -218,7 +218,7 @@
*/
private transient final TypeSafeBeanResolver<Bean<?>> beanResolver;
private transient final TypeSafeResolver<? extends Resolvable, DecoratorImpl<?>> decoratorResolver;
- private transient final TypeSafeResolver<? extends Resolvable, InterceptorImpl<?>> interceptorResolver;
+ private transient final TypeSafeResolver<? extends Resolvable, Interceptor<?>> interceptorResolver;
private transient final TypeSafeResolver<? extends Resolvable, ObserverMethod<?>> observerResolver;
private transient final NameBasedResolver nameBasedResolver;
private transient final ELResolver weldELResolver;
@@ -236,7 +236,7 @@
private transient final List<Bean<?>> beans;
private transient final List<Bean<?>> transitiveBeans;
private transient final List<DecoratorImpl<?>> decorators;
- private transient final List<InterceptorImpl<?>> interceptors;
+ private transient final List<Interceptor<?>> interceptors;
private transient final List<String> namespaces;
private transient final List<ObserverMethod<?>> observers;
@@ -290,7 +290,7 @@
new CopyOnWriteArrayList<Bean<?>>(),
new CopyOnWriteArrayList<Bean<?>>(),
new CopyOnWriteArrayList<DecoratorImpl<?>>(),
- new CopyOnWriteArrayList<InterceptorImpl<?>>(),
+ new CopyOnWriteArrayList<Interceptor<?>>(),
new CopyOnWriteArrayList<ObserverMethod<?>>(),
new CopyOnWriteArrayList<String>(),
new ConcurrentHashMap<EjbDescriptor<?>, SessionBean<?>>(),
@@ -319,7 +319,7 @@
new CopyOnWriteArrayList<Bean<?>>(),
new CopyOnWriteArrayList<Bean<?>>(),
new CopyOnWriteArrayList<DecoratorImpl<?>>(),
- new CopyOnWriteArrayList<InterceptorImpl<?>>(),
+ new CopyOnWriteArrayList<Interceptor<?>>(),
new CopyOnWriteArrayList<ObserverMethod<?>>(),
new CopyOnWriteArrayList<String>(),
rootManager.getEnterpriseBeans(),
@@ -385,7 +385,7 @@
List<Bean<?>> beans,
List<Bean<?>> transitiveBeans,
List<DecoratorImpl<?>> decorators,
- List<InterceptorImpl<?>> interceptors,
+ List<Interceptor<?>> interceptors,
List<ObserverMethod<?>> observers,
List<String> namespaces,
Map<EjbDescriptor<?>, SessionBean<?>> enterpriseBeans,
@@ -528,10 +528,10 @@
};
- public static Transform<InterceptorImpl<?>> INTERCEPTOR_BEAN = new Transform<InterceptorImpl<?>>()
+ public static Transform<Interceptor<?>> INTERCEPTOR_BEAN = new Transform<Interceptor<?>>()
{
- public Iterable<InterceptorImpl<?>> transform(BeanManagerImpl beanManager)
+ public Iterable<Interceptor<?>> transform(BeanManagerImpl beanManager)
{
return beanManager.getInterceptors();
}
@@ -610,7 +610,7 @@
return this.<T>resolveObserverMethods(event.getClass(), bindings);
}
- public void addInterceptor(InterceptorImpl<?> bean)
+ public void addInterceptor(Interceptor<?> bean)
{
interceptors.add(bean);
getServices().get(ContextualStore.class).putIfAbsent(bean);
@@ -815,7 +815,7 @@
return Collections.unmodifiableList(decorators);
}
- public List<InterceptorImpl<?>> getInterceptors()
+ public List<Interceptor<?>> getInterceptors()
{
return Collections.unmodifiableList(interceptors);
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/Validator.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/Validator.java 2009-11-03 19:11:21 UTC (rev 4627)
+++ core/trunk/impl/src/main/java/org/jboss/weld/Validator.java 2009-11-03 19:38:02 UTC (rev 4628)
@@ -27,6 +27,7 @@
import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import java.util.Map;
import javax.enterprise.context.Dependent;
import javax.enterprise.event.Event;
@@ -266,6 +267,7 @@
validateBeans(manager.getDecorators(), new ArrayList<RIBean<?>>(), manager);
validateBeans(manager.getBeans(), new ArrayList<RIBean<?>>(), manager);
validateEnabledDecoratorClasses(manager);
+ validateEnabledInterceptorClasses(manager);
validateEnabledPolicies(manager);
validateDisposalMethods(environment);
validateBeanNames(manager);
@@ -324,6 +326,28 @@
}
}
}
+
+ private void validateEnabledInterceptorClasses(BeanManagerImpl beanManager)
+ {
+ Set<Class<?>> interceptorBeanClasses = new HashSet<Class<?>>();
+ for (Interceptor<?> interceptor : beanManager.getInterceptors())
+ {
+ interceptorBeanClasses.add(interceptor.getBeanClass());
+ }
+ for (Class<?> enabledInterceptorClass: beanManager.getEnabledInterceptorClasses())
+ {
+ if (beanManager.getEnabledInterceptorClasses().indexOf(enabledInterceptorClass)
+ < beanManager.getEnabledInterceptorClasses().lastIndexOf(enabledInterceptorClass))
+ {
+ throw new DeploymentException("Enabled interceptor class" + enabledInterceptorClass + " specified twice");
+ }
+ if (!interceptorBeanClasses.contains(enabledInterceptorClass))
+ {
+ throw new DeploymentException("Enabled interceptor class " + enabledInterceptorClass
+ + " is neither annotated with @Interceptor, nor registered through a portable extension");
+ }
+ }
+ }
private void validateEnabledDecoratorClasses(BeanManagerImpl beanManager)
{
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AfterBeanDiscoveryImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AfterBeanDiscoveryImpl.java 2009-11-03 19:11:21 UTC (rev 4627)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bootstrap/events/AfterBeanDiscoveryImpl.java 2009-11-03 19:38:02 UTC (rev 4628)
@@ -24,6 +24,8 @@
import javax.enterprise.inject.spi.AfterBeanDiscovery;
import javax.enterprise.inject.spi.Bean;
import javax.enterprise.inject.spi.ObserverMethod;
+import javax.enterprise.inject.spi.Interceptor;
+import javax.decorator.Decorator;
import org.jboss.weld.BeanManagerImpl;
import org.jboss.weld.bootstrap.BeanDeployment;
@@ -56,7 +58,14 @@
public void addBean(Bean<?> bean)
{
BeanManagerImpl beanManager = getOrCreateBeanDeployment(bean.getBeanClass()).getBeanManager();
- beanManager.addBean(bean);
+ if (bean instanceof Interceptor)
+ {
+ beanManager.addInterceptor((Interceptor<?>) bean);
+ }
+ else
+ {
+ beanManager.addBean(bean);
+ }
ProcessBeanImpl.fire(beanManager, bean);
}
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 2009-11-03 19:11:21 UTC (rev 4627)
+++ core/trunk/impl/src/main/java/org/jboss/weld/resolution/TypeSafeInterceptorResolver.java 2009-11-03 19:38:02 UTC (rev 4628)
@@ -23,6 +23,8 @@
import java.util.Set;
import java.util.TreeSet;
+import javax.enterprise.inject.spi.Interceptor;
+
import org.jboss.weld.BeanManagerImpl;
import org.jboss.weld.bean.InterceptorImpl;
import org.jboss.weld.util.Beans;
@@ -30,34 +32,34 @@
/**
* @author <a href="mailto:mariusb@redhat.com">Marius Bogoevici</a>
*/
-public class TypeSafeInterceptorResolver extends TypeSafeResolver<InterceptorResolvable,InterceptorImpl<?>>
+public class TypeSafeInterceptorResolver extends TypeSafeResolver<InterceptorResolvable,Interceptor<?>>
{
private BeanManagerImpl manager;
- public TypeSafeInterceptorResolver(BeanManagerImpl manager, Iterable<InterceptorImpl<?>> interceptors)
+ public TypeSafeInterceptorResolver(BeanManagerImpl manager, Iterable<Interceptor<?>> interceptors)
{
super(interceptors);
this.manager = manager;
}
@Override
- protected boolean matches(InterceptorResolvable resolvable, InterceptorImpl<?> bean)
+ 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.getType());
+ && getManager().getEnabledInterceptorClasses().contains(bean.getBeanClass());
}
@Override
- protected Set<InterceptorImpl<?>> sortResult(Set<InterceptorImpl<?>> matchedInterceptors)
+ protected Set<Interceptor<?>> sortResult(Set<Interceptor<?>> matchedInterceptors)
{
- Set<InterceptorImpl<?>> sortedBeans = new TreeSet<InterceptorImpl<?>>(new Comparator<InterceptorImpl<?>>()
+ Set<Interceptor<?>> sortedBeans = new TreeSet<Interceptor<?>>(new Comparator<Interceptor<?>>()
{
- public int compare(InterceptorImpl<?> o1, InterceptorImpl<?> o2)
+ public int compare(Interceptor<?> o1, Interceptor<?> o2)
{
List<Class<?>> enabledInterceptors = getManager().getEnabledInterceptorClasses();
int p1 = enabledInterceptors.indexOf(((InterceptorImpl<?>) o1).getType());
@@ -71,7 +73,7 @@
}
@Override
- protected Set<InterceptorImpl<?>> filterResult(Set<InterceptorImpl<?>> matched)
+ protected Set<Interceptor<?>> filterResult(Set<Interceptor<?>> matched)
{
return matched;
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/xml/BeansXmlParser.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/xml/BeansXmlParser.java 2009-11-03 19:11:21 UTC (rev 4627)
+++ core/trunk/impl/src/main/java/org/jboss/weld/xml/BeansXmlParser.java 2009-11-03 19:38:02 UTC (rev 4628)
@@ -283,19 +283,7 @@
try
{
Class<?> clazz = resourceLoader.classForName(className);
- if (!clazz.isAnnotationPresent(Interceptor.class))
- {
- throw new DeploymentException("Class " + clazz.getName() + " is enabled as an interceptor," +
- " but it does not have the appropriate annotation");
- }
- else if (list.contains(clazz))
- {
- throw new DeploymentException("Class " + clazz.getName() + " is listed twice as an enabled interceptor");
- }
- else
- {
- list.add(clazz);
- }
+ list.add(clazz);
}
catch (ResourceLoadingException e)
{
16 years, 5 months