Weld SVN: r5234 - in archetypes/trunk/jsf: jee/src/main/resources/archetype-resources and 4 other directories.
by weld-commits@lists.jboss.org
Author: dan.j.allen
Date: 2009-12-08 17:19:27 -0500 (Tue, 08 Dec 2009)
New Revision: 5234
Modified:
archetypes/trunk/jsf/jee-minimal/pom.xml
archetypes/trunk/jsf/jee-minimal/src/main/resources/archetype-resources/pom.xml
archetypes/trunk/jsf/jee/pom.xml
archetypes/trunk/jsf/jee/src/main/resources/archetype-resources/pom.xml
archetypes/trunk/jsf/servlet-minimal/pom.xml
archetypes/trunk/jsf/servlet-minimal/src/main/resources/archetype-resources/pom.xml
Log:
Cleanup comments and descriptions
Bean validation is provided by Java EE 6, exclude impl
Modified: archetypes/trunk/jsf/jee/pom.xml
===================================================================
--- archetypes/trunk/jsf/jee/pom.xml 2009-12-08 21:42:30 UTC (rev 5233)
+++ archetypes/trunk/jsf/jee/pom.xml 2009-12-08 22:19:27 UTC (rev 5234)
@@ -10,8 +10,8 @@
<groupId>org.jboss.weld.archetypes</groupId>
<artifactId>weld-jsf-jee</artifactId>
- <description>JSF 2.0 and Weld 1.0 on Jave EE 6 containers like JBoss 6.0</description>
- <name>Weld JEE6 Archetype</name>
+ <description>A full Java EE 6 project => JSF 2.0, CDI 1.0, EJB 3.1, JPA 2.0; uses Weld for build dependency management</description>
+ <name>Java EE 6 Archetype</name>
<packaging>maven-archetype</packaging>
Modified: archetypes/trunk/jsf/jee/src/main/resources/archetype-resources/pom.xml
===================================================================
--- archetypes/trunk/jsf/jee/src/main/resources/archetype-resources/pom.xml 2009-12-08 21:42:30 UTC (rev 5233)
+++ archetypes/trunk/jsf/jee/src/main/resources/archetype-resources/pom.xml 2009-12-08 22:19:27 UTC (rev 5234)
@@ -10,8 +10,8 @@
<properties>
<!--
- eliminates [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is
- platform dependent!
+ Explicitly declaring the source encoding eliminates the following message:
+ [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
-->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!--
@@ -36,42 +36,41 @@
</dependencies>
</dependencyManagement>
<dependencies>
- <!-- Common to JEE and Servlet containers -->
+ <!-- CDI (JSR-299) -->
<dependency>
<groupId>javax.enterprise</groupId>
<artifactId>cdi-api</artifactId>
<scope>provided</scope>
</dependency>
+ <!-- Common annotations (e.g., @PostConstruct) -->
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>jsr250-api</artifactId>
<scope>provided</scope>
</dependency>
+ <!-- Bean Validation (JSR-303) -->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<scope>provided</scope>
</dependency>
- <!-- Provided on JBoss AS, not necessarily Java EE 6. Useful to give you extra built in constraints! -->
+ <!-- Bean Validation Implementation -->
+ <!-- In case one is not provided by your container, but it is required by Java EE 6! -->
+ <!--
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.0.0.GA</version>
- <!-- <scope>runtime</scope>-->
+ <scope>runtime</scope>
</dependency>
- <!-- JSF 2.0 -->
+ -->
+ <!-- JSF -->
<dependency>
<groupId>javax.faces</groupId>
<artifactId>jsf-api</artifactId>
<scope>provided</scope>
</dependency>
- <!-- Optional, but pretty useful. -->
- <!--<dependency>-->
- <!-- <groupId>javax.servlet</groupId>-->
- <!-- <artifactId>jstl</artifactId>-->
- <!--</dependency>-->
-
<!-- Optional, but highly recommended. -->
<dependency>
<groupId>org.testng</groupId>
@@ -96,8 +95,6 @@
</exclusions>
</dependency>
-
-
<!--
Experimental Dependencies. Still working through these. If these are incorrect, please change and notify
someone at weld-dev(a)lists.jboss.org They will be finalized soon.
@@ -164,12 +161,14 @@
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<wtpversion>2.0</wtpversion>
- <!-- <downloadSources>true</downloadSources>-->
- <!-- <downloadJavadocs>true</downloadJavadocs>-->
+ <!--
+ <downloadSources>true</downloadSources>
+ <downloadJavadocs>true</downloadJavadocs>
+ -->
</configuration>
</plugin>
- <!-- Configure the JBoss Maven deploy plugin -->
+ <!-- Configure the JBoss AS Maven deploy plugin -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jboss-maven-plugin</artifactId>
Modified: archetypes/trunk/jsf/jee-minimal/pom.xml
===================================================================
--- archetypes/trunk/jsf/jee-minimal/pom.xml 2009-12-08 21:42:30 UTC (rev 5233)
+++ archetypes/trunk/jsf/jee-minimal/pom.xml 2009-12-08 22:19:27 UTC (rev 5234)
@@ -10,8 +10,8 @@
<groupId>org.jboss.weld.archetypes</groupId>
<artifactId>weld-jsf-jee-minimal</artifactId>
- <description>JSF 2.0 and Weld 1.0 on Jave EE 6 containers like JBoss 6.0. Does not include persistence. </description>
- <name>Weld JEE6 Minimal Archteype</name>
+ <description>A minimal Java EE 6 project => JSF 2.0 and CDI 1.0, no persistence; uses Weld for build dependency management</description>
+ <name>Minimal Java EE 6 Archteype</name>
<packaging>maven-archetype</packaging>
Modified: archetypes/trunk/jsf/jee-minimal/src/main/resources/archetype-resources/pom.xml
===================================================================
--- archetypes/trunk/jsf/jee-minimal/src/main/resources/archetype-resources/pom.xml 2009-12-08 21:42:30 UTC (rev 5233)
+++ archetypes/trunk/jsf/jee-minimal/src/main/resources/archetype-resources/pom.xml 2009-12-08 22:19:27 UTC (rev 5234)
@@ -10,8 +10,8 @@
<properties>
<!--
- eliminates [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is
- platform dependent!
+ Explicitly declaring the source encoding eliminates the following message:
+ [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
-->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- To set the jboss.home environment variable the Maven way, set the jboss.home property in an active profile in the Maven 2 settings.xml file -->
@@ -34,46 +34,41 @@
</dependencies>
</dependencyManagement>
<dependencies>
- <!-- Common to JEE and Servlet containers -->
+ <!-- CDI (JSR-299) -->
<dependency>
<groupId>javax.enterprise</groupId>
<artifactId>cdi-api</artifactId>
<scope>provided</scope>
</dependency>
+ <!-- Common annotations (e.g., @PostConstruct) -->
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>jsr250-api</artifactId>
<scope>provided</scope>
</dependency>
- <!-- Bean Validation API (JSR 303) -->
+ <!-- Bean Validation (JSR-303) -->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<scope>provided</scope>
</dependency>
- <!-- Bean Validation Implementation -->
- <!-- Provided on JBoss AS, not necessarily Java EE 6. Useful to give you extra built in constraints! -->
+ <!-- Bean Validation Implementation -->
+ <!-- In case one is not provided by your container, but it is required by Java EE 6! -->
+ <!--
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.0.0.GA</version>
-<!-- <scope>runtime</scope>-->
+ <scope>runtime</scope>
</dependency>
- <!-- JSF 2.0 -->
+ -->
+ <!-- JSF -->
<dependency>
<groupId>javax.faces</groupId>
<artifactId>jsf-api</artifactId>
<scope>provided</scope>
</dependency>
- <!-- Optional, but pretty useful. -->
- <!--
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>jstl</artifactId>
- </dependency>
- -->
-
<!-- Optional, but highly recommended. -->
<dependency>
<groupId>org.testng</groupId>
@@ -118,12 +113,14 @@
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<wtpversion>2.0</wtpversion>
-<!-- <downloadSources>true</downloadSources>-->
-<!-- <downloadJavadocs>true</downloadJavadocs>-->
+ <!--
+ <downloadSources>true</downloadSources>
+ <downloadJavadocs>true</downloadJavadocs>
+ -->
</configuration>
</plugin>
- <!-- Configure the JBoss Maven deploy plugin -->
+ <!-- Configure the JBoss AS Maven deploy plugin -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jboss-maven-plugin</artifactId>
@@ -134,4 +131,4 @@
</plugin>
</plugins>
</build>
-</project>
\ No newline at end of file
+</project>
Modified: archetypes/trunk/jsf/servlet-minimal/pom.xml
===================================================================
--- archetypes/trunk/jsf/servlet-minimal/pom.xml 2009-12-08 21:42:30 UTC (rev 5233)
+++ archetypes/trunk/jsf/servlet-minimal/pom.xml 2009-12-08 22:19:27 UTC (rev 5234)
@@ -11,8 +11,8 @@
<groupId>org.jboss.weld.archetypes</groupId>
<artifactId>weld-jsf-servlet-minimal</artifactId>
- <name>Servlet/JSF Archetype for Weld</name>
- <description>JSF 2.0 and Weld 1.0 on Servlet Containers such as Tomcat 6 and Jetty 6</description>
+ <name>Weld JSF/Servlet Archetype</name>
+ <description>A JSF 2.0 and CDI 1.0 project for Servlet Containers such as Tomcat 6 and Jetty 6</description>
<packaging>maven-archetype</packaging>
Modified: archetypes/trunk/jsf/servlet-minimal/src/main/resources/archetype-resources/pom.xml
===================================================================
--- archetypes/trunk/jsf/servlet-minimal/src/main/resources/archetype-resources/pom.xml 2009-12-08 21:42:30 UTC (rev 5233)
+++ archetypes/trunk/jsf/servlet-minimal/src/main/resources/archetype-resources/pom.xml 2009-12-08 22:19:27 UTC (rev 5234)
@@ -10,8 +10,8 @@
<properties>
<!--
- eliminates [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is
- platform dependent!
+ Explicitly declaring the source encoding eliminates the following message:
+ [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
-->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- The version of Weld extensions in use -->
@@ -171,4 +171,4 @@
</plugin>
</plugins>
</build>
-</project>
\ No newline at end of file
+</project>
15 years, 3 months
Weld SVN: r5233 - archetypes/trunk.
by weld-commits@lists.jboss.org
Author: dan.j.allen
Date: 2009-12-08 16:42:30 -0500 (Tue, 08 Dec 2009)
New Revision: 5233
Modified:
archetypes/trunk/pom.xml
Log:
add self
Modified: archetypes/trunk/pom.xml
===================================================================
--- archetypes/trunk/pom.xml 2009-12-08 21:27:34 UTC (rev 5232)
+++ archetypes/trunk/pom.xml 2009-12-08 21:42:30 UTC (rev 5233)
@@ -38,7 +38,7 @@
<developer>
<name>Steven Boscarine</name>
<roles>
- <role>Archetypes lead</role>
+ <role>Weld archetypes lead</role>
</roles>
<email>steven.boscarine(a)childrens.harvard.edu</email>
<organization>Children's Hospital Boston: Informatics Program</organization>
@@ -48,12 +48,18 @@
<developer>
<name>Pete Muir</name>
<roles>
- <role>Project lead</role>
+ <role>Weld project lead</role>
</roles>
<email>pete.muir(a)jboss.org</email>
- <organization>JBoss, a division of Red Hat</organization>
+ <organization>JBoss, by Red Hat</organization>
<url>http://in.relation.to/Bloggers/Pete</url>
</developer>
+ <developer>
+ <name>Dan Allen</name>
+ <email>dan.j.allen(a)gmail.com</email>
+ <organization>JBoss, by Red Hat</organization>
+ <url>http://in.relation.to/Bloggers/Dan</url>
+ </developer>
</developers>
<modules>
15 years, 3 months
Weld SVN: r5230 - build/trunk/dist.
by weld-commits@lists.jboss.org
Author: dan.j.allen
Date: 2009-12-08 16:02:06 -0500 (Tue, 08 Dec 2009)
New Revision: 5230
Modified:
build/trunk/dist/readme.txt
Log:
lifecycle as one word
Modified: build/trunk/dist/readme.txt
===================================================================
--- build/trunk/dist/readme.txt 2009-12-08 17:53:20 UTC (rev 5229)
+++ build/trunk/dist/readme.txt 2009-12-08 21:02:06 UTC (rev 5230)
@@ -6,7 +6,7 @@
Weld is the reference implementation of JSR-299: Java Contents and Dependency
Injection for the Java EE platform (CDI). JSR-299 is the new Java standard for
- dependency injection and contextual life cycle management.
+ dependency injection and contextual lifecycle management.
Status
=======
15 years, 3 months
Weld SVN: r5229 - in core/trunk: impl/src/main/java/org/jboss/weld/bean and 5 other directories.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-12-08 12:53:20 -0500 (Tue, 08 Dec 2009)
New Revision: 5229
Added:
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/proxyability/
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/MyStatelessBean.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/proxyability/MyStatelessBeanLocal.java
core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/proxyability/SimpleBean.java
Modified:
core/trunk/impl/src/main/java/org/jboss/weld/Validator.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractProducerBean.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/DisposalMethod.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/ManagedBean.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/RIBean.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/SessionBean.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/AbstractBuiltInBean.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/ExtensionBean.java
core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/ee/EEResourceProducerField.java
core/trunk/impl/src/main/java/org/jboss/weld/util/Beans.java
Log:
WELD-290
Modified: core/trunk/impl/src/main/java/org/jboss/weld/Validator.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/Validator.java 2009-12-08 16:01:25 UTC (rev 5228)
+++ core/trunk/impl/src/main/java/org/jboss/weld/Validator.java 2009-12-08 17:53:20 UTC (rev 5229)
@@ -272,7 +272,7 @@
public void validateInjectionPointPassivationCapable(InjectionPoint ij, Bean<?> resolvedBean, BeanManagerImpl beanManager)
{
- if (!ij.isTransient() && !Beans.isPassivationCapableBean(resolvedBean))
+ if (!ij.isTransient() && !Beans.isPassivationCapableDependency(resolvedBean))
{
if (resolvedBean.getScope().equals(Dependent.class) && resolvedBean instanceof AbstractProducerBean<?, ?,?>)
{
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 2009-12-08 16:01:25 UTC (rev 5228)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/AbstractProducerBean.java 2009-12-08 17:53:20 UTC (rev 5229)
@@ -53,6 +53,7 @@
import javax.inject.Scope;
import org.jboss.weld.BeanManagerImpl;
+import org.jboss.weld.Container;
import org.jboss.weld.DefinitionException;
import org.jboss.weld.IllegalProductException;
import org.jboss.weld.WeldException;
@@ -77,7 +78,8 @@
private static final LocLogger log = loggerFactory().getLogger(BEAN);
private Producer<T> producer;
- private boolean passivationCapable;
+ private boolean passivationCapableBean;
+ private boolean passivationCapableDependency;
/**
* Constructor
@@ -170,12 +172,24 @@
{
if (getAnnotatedItem().isFinal() && !Serializable.class.isAssignableFrom(getAnnotatedItem().getJavaClass()))
{
- this.passivationCapable = false;
+ this.passivationCapableBean = false;
}
else
{
- this.passivationCapable = true;
+ this.passivationCapableBean = true;
}
+ if (Container.instance().deploymentServices().get(MetaAnnotationStore.class).getScopeModel(getScope()).isNormal())
+ {
+ this.passivationCapableDependency = true;
+ }
+ else if (getScope().equals(Dependent.class) && passivationCapableBean)
+ {
+ this.passivationCapableDependency = true;
+ }
+ else
+ {
+ this.passivationCapableDependency = false;
+ }
}
@Override
@@ -185,12 +199,18 @@
}
@Override
- public boolean isPassivationCapable()
+ public boolean isPassivationCapableBean()
{
- return passivationCapable;
+ return passivationCapableBean;
}
@Override
+ public boolean isPassivationCapableDependency()
+ {
+ return passivationCapableDependency;
+ }
+
+ @Override
public Set<InjectionPoint> getInjectionPoints()
{
return getProducer().getInjectionPoints();
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/DisposalMethod.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/DisposalMethod.java 2009-12-08 16:01:25 UTC (rev 5228)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/DisposalMethod.java 2009-12-08 17:53:20 UTC (rev 5229)
@@ -148,11 +148,18 @@
}
@Override
- public boolean isPassivationCapable()
+ public boolean isPassivationCapableBean()
{
// Not relevant
return false;
}
+
+ @Override
+ public boolean isPassivationCapableDependency()
+ {
+ // Not relevant
+ return false;
+ }
@Override
public boolean isProxyable()
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 2009-12-08 16:01:25 UTC (rev 5228)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/ManagedBean.java 2009-12-08 17:53:20 UTC (rev 5229)
@@ -34,6 +34,7 @@
import java.util.List;
import java.util.Set;
+import javax.enterprise.context.Dependent;
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.event.Observes;
import javax.enterprise.inject.Disposes;
@@ -48,6 +49,7 @@
import org.jboss.interceptor.registry.InterceptorRegistry;
import org.jboss.interceptor.util.InterceptionUtils;
import org.jboss.weld.BeanManagerImpl;
+import org.jboss.weld.Container;
import org.jboss.weld.DefinitionException;
import org.jboss.weld.DeploymentException;
import org.jboss.weld.ForbiddenStateException;
@@ -93,7 +95,8 @@
private ManagedBean<?> specializedBean;
- private boolean passivationCapable;
+ private boolean passivationCapableBean;
+ private boolean passivationCapableDependency;
/**
* Creates a simple, annotation defined Web Bean
@@ -277,35 +280,35 @@
public void initializeAfterBeanDiscovery()
{
super.initializeAfterBeanDiscovery();
- if (this.passivationCapable && this.hasDecorators())
+ if (this.passivationCapableBean && this.hasDecorators())
{
for (Decorator<?> decorator : this.getDecorators())
{
if (!(PassivationCapable.class.isAssignableFrom(decorator.getClass())) || !Reflections.isSerializable(decorator.getBeanClass()))
{
- this.passivationCapable = false;
+ this.passivationCapableBean = false;
break;
}
}
}
- if (this.passivationCapable && hasCdiBoundInterceptors())
+ if (this.passivationCapableBean && hasCdiBoundInterceptors())
{
for (SerializableContextual<Interceptor<?>, ?> interceptor : getManager().getCdiInterceptorsRegistry().getInterceptionModel(getType()).getAllInterceptors())
{
if (!(PassivationCapable.class.isAssignableFrom(interceptor.get().getClass())) || !Reflections.isSerializable(interceptor.get().getBeanClass()))
{
- this.passivationCapable = false;
+ this.passivationCapableBean = false;
break;
}
}
}
- if (this.passivationCapable && hasDirectlyDefinedInterceptors())
+ if (this.passivationCapableBean && hasDirectlyDefinedInterceptors())
{
for (Class<?> interceptorClass : getManager().getClassDeclaredInterceptorsRegistry().getInterceptionModel(getType()).getAllInterceptors())
{
if (!Reflections.isSerializable(interceptorClass))
{
- this.passivationCapable = false;
+ this.passivationCapableBean = false;
break;
}
}
@@ -314,14 +317,32 @@
private void initPassivationCapable()
{
- this.passivationCapable = Reflections.isSerializable(getAnnotatedItem().getJavaClass());
+ this.passivationCapableBean = Reflections.isSerializable(getAnnotatedItem().getJavaClass());
+ if (Container.instance().deploymentServices().get(MetaAnnotationStore.class).getScopeModel(getScope()).isNormal())
+ {
+ this.passivationCapableDependency = true;
+ }
+ else if (getScope().equals(Dependent.class) && passivationCapableBean)
+ {
+ this.passivationCapableDependency = true;
+ }
+ else
+ {
+ this.passivationCapableDependency = false;
+ }
}
@Override
- public boolean isPassivationCapable()
+ public boolean isPassivationCapableBean()
{
- return passivationCapable;
+ return passivationCapableBean;
}
+
+ @Override
+ public boolean isPassivationCapableDependency()
+ {
+ return passivationCapableDependency;
+ }
private void initEEInjectionPoints()
{
@@ -349,7 +370,7 @@
throw new DefinitionException(BEAN_MUST_BE_DEPENDENT, type);
}
boolean passivating = manager.getServices().get(MetaAnnotationStore.class).getScopeModel(scopeType).isPassivating();
- if (passivating && !isPassivationCapable())
+ if (passivating && !isPassivationCapableBean())
{
throw new DefinitionException(PASSIVATING_BEAN_NEEDS_SERIALIZABLE_IMPL, this);
}
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-12-08 16:01:25 UTC (rev 5228)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/RIBean.java 2009-12-08 17:53:20 UTC (rev 5229)
@@ -25,7 +25,6 @@
import org.jboss.weld.BeanManagerImpl;
import org.jboss.weld.bootstrap.BeanDeployerEnvironment;
-import org.jboss.weld.bootstrap.api.Environment;
import org.jboss.weld.injection.WeldInjectionPoint;
/**
@@ -91,7 +90,9 @@
public abstract boolean isProxyable();
- public abstract boolean isPassivationCapable();
+ public abstract boolean isPassivationCapableBean();
+
+ public abstract boolean isPassivationCapableDependency();
public boolean isProxyRequired()
{
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-12-08 16:01:25 UTC (rev 5228)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/SessionBean.java 2009-12-08 17:53:20 UTC (rev 5229)
@@ -357,10 +357,16 @@
}
@Override
- public boolean isPassivationCapable()
+ public boolean isPassivationCapableBean()
{
return getEjbDescriptor().isStateful();
}
+
+ @Override
+ public boolean isPassivationCapableDependency()
+ {
+ return true;
+ }
public InternalEjbDescriptor<T> getEjbDescriptor()
{
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-12-08 16:01:25 UTC (rev 5228)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/AbstractBuiltInBean.java 2009-12-08 17:53:20 UTC (rev 5229)
@@ -112,12 +112,18 @@
}
@Override
- public boolean isPassivationCapable()
+ public boolean isPassivationCapableBean()
{
return true;
}
@Override
+ public boolean isPassivationCapableDependency()
+ {
+ return true;
+ }
+
+ @Override
public String getDescription()
{
return "Built-in bean " + getClass().getSimpleName();
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/ExtensionBean.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/ExtensionBean.java 2009-12-08 16:01:25 UTC (rev 5228)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/ExtensionBean.java 2009-12-08 17:53:20 UTC (rev 5229)
@@ -68,7 +68,7 @@
}
@Override
- public boolean isPassivationCapable()
+ public boolean isPassivationCapableBean()
{
return passivationCapable;
}
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/ee/EEResourceProducerField.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/ee/EEResourceProducerField.java 2009-12-08 16:01:25 UTC (rev 5228)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/ee/EEResourceProducerField.java 2009-12-08 17:53:20 UTC (rev 5229)
@@ -176,7 +176,7 @@
}
@Override
- public boolean isPassivationCapable()
+ public boolean isPassivationCapableBean()
{
return true;
}
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 2009-12-08 16:01:25 UTC (rev 5228)
+++ core/trunk/impl/src/main/java/org/jboss/weld/util/Beans.java 2009-12-08 17:53:20 UTC (rev 5229)
@@ -52,6 +52,7 @@
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.decorator.Decorator;
+import javax.enterprise.context.Dependent;
import javax.enterprise.context.spi.Contextual;
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.event.Observes;
@@ -143,13 +144,43 @@
{
if (bean instanceof RIBean<?>)
{
- return ((RIBean<?>) bean).isPassivationCapable();
+ return ((RIBean<?>) bean).isPassivationCapableBean();
}
else
{
return Reflections.isSerializable(bean.getBeanClass());
}
}
+
+ /**
+ * Tests if a bean is capable of having its state temporarily stored to
+ * secondary storage
+ *
+ * @param bean The bean to inspect
+ * @return True if the bean is passivation capable
+ */
+ public static boolean isPassivationCapableDependency(Bean<?> bean)
+ {
+ if (bean instanceof RIBean<?>)
+ {
+ return ((RIBean<?>) bean).isPassivationCapableDependency();
+ }
+ else
+ {
+ if (Container.instance().deploymentServices().get(MetaAnnotationStore.class).getScopeModel(bean.getScope()).isNormal())
+ {
+ return true;
+ }
+ else if (bean.getScope().equals(Dependent.class) && isPassivationCapableBean(bean))
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ }
/**
* Indicates if a bean is proxyable
Added: 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 (rev 0)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/proxyability/EnterpriseBeanLifecycleTest.java 2009-12-08 17:53:20 UTC (rev 5229)
@@ -0,0 +1,24 @@
+package org.jboss.weld.tests.enterprise.proxyability;
+
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.jboss.testharness.impl.packaging.IntegrationTest;
+import org.jboss.testharness.impl.packaging.Packaging;
+import org.jboss.testharness.impl.packaging.PackagingType;
+import org.jboss.weld.test.AbstractWeldTest;
+import org.testng.annotations.Test;
+
+@Artifact
+(a)Packaging(PackagingType.EAR)
+@IntegrationTest
+public class EnterpriseBeanLifecycleTest extends AbstractWeldTest
+{
+
+ @Test(description="WELD-290")
+ public void testSLSBInjectedIntoPassivatingManagedBean()
+ {
+ SimpleBean bean = getCurrentManager().getInstanceByType(SimpleBean.class);
+ assert bean.getMessage().equals("This is my message from my stateless bean");
+
+ }
+
+}
Property changes on: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/proxyability/EnterpriseBeanLifecycleTest.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/proxyability/MyStatelessBean.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/proxyability/MyStatelessBean.java (rev 0)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/proxyability/MyStatelessBean.java 2009-12-08 17:53:20 UTC (rev 5229)
@@ -0,0 +1,18 @@
+package org.jboss.weld.tests.enterprise.proxyability;
+
+import java.io.Serializable;
+
+import javax.ejb.Stateless;
+
+/**
+ * Session Bean implementation class MyStatelessBean
+ */
+@Stateless
+public class MyStatelessBean implements MyStatelessBeanLocal, Serializable
+{
+
+ public String getText()
+ {
+ return "This is my message from my stateless bean";
+ }
+}
Property changes on: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/proxyability/MyStatelessBean.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/proxyability/MyStatelessBeanLocal.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/proxyability/MyStatelessBeanLocal.java (rev 0)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/proxyability/MyStatelessBeanLocal.java 2009-12-08 17:53:20 UTC (rev 5229)
@@ -0,0 +1,10 @@
+package org.jboss.weld.tests.enterprise.proxyability;
+
+import javax.ejb.Local;
+
+@Local
+public interface MyStatelessBeanLocal
+{
+
+ String getText();
+}
Property changes on: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/proxyability/MyStatelessBeanLocal.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/proxyability/SimpleBean.java
===================================================================
--- core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/proxyability/SimpleBean.java (rev 0)
+++ core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/proxyability/SimpleBean.java 2009-12-08 17:53:20 UTC (rev 5229)
@@ -0,0 +1,20 @@
+package org.jboss.weld.tests.enterprise.proxyability;
+
+import java.io.Serializable;
+
+import javax.enterprise.context.SessionScoped;
+import javax.inject.Inject;
+
+@SessionScoped
+public class SimpleBean implements Serializable
+{
+
+ @Inject
+ private MyStatelessBeanLocal myStatelessBean;
+
+ public String getMessage()
+ {
+ return myStatelessBean.getText();
+ }
+
+}
Property changes on: core/trunk/tests/src/test/java/org/jboss/weld/tests/enterprise/proxyability/SimpleBean.java
___________________________________________________________________
Name: svn:eol-style
+ native
15 years, 3 months
Weld SVN: r5227 - core/trunk/impl/src/main/java/org/jboss/weld/bean.
by weld-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-12-08 08:29:07 -0500 (Tue, 08 Dec 2009)
New Revision: 5227
Modified:
core/trunk/impl/src/main/java/org/jboss/weld/bean/DecoratorImpl.java
Log:
minor
Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/DecoratorImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/DecoratorImpl.java 2009-12-08 12:12:59 UTC (rev 5226)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/DecoratorImpl.java 2009-12-08 13:29:07 UTC (rev 5227)
@@ -16,6 +16,7 @@
*/
package org.jboss.weld.bean;
+import static org.jboss.weld.logging.messages.BeanMessage.ABSTRACT_METHOD_MUST_MATCH_DECORATED_TYPE;
import static org.jboss.weld.logging.messages.BeanMessage.DECORATED_TYPE_PARAMETERIZED_DELEGATE_NOT;
import static org.jboss.weld.logging.messages.BeanMessage.DELEGATE_MUST_SUPPORT_EVERY_DECORATED_TYPE;
import static org.jboss.weld.logging.messages.BeanMessage.DELEGATE_ON_NON_INITIALIZER_METHOD;
@@ -23,12 +24,7 @@
import static org.jboss.weld.logging.messages.BeanMessage.NO_DELEGATE_FOR_DECORATOR;
import static org.jboss.weld.logging.messages.BeanMessage.TOO_MANY_DELEGATES_FOR_DECORATOR;
import static org.jboss.weld.logging.messages.BeanMessage.UNABLE_TO_PROCESS;
-import static org.jboss.weld.logging.messages.BeanMessage.ABSTRACT_METHOD_MUST_MATCH_DECORATED_TYPE;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.AnnotatedMethod;
-import javax.enterprise.inject.spi.Decorator;
-import javax.inject.Inject;
import java.io.Serializable;
import java.lang.annotation.Annotation;
import java.lang.reflect.ParameterizedType;
@@ -39,6 +35,12 @@
import java.util.Set;
import javassist.util.proxy.ProxyObject;
+
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.AnnotatedMethod;
+import javax.enterprise.inject.spi.Decorator;
+import javax.inject.Inject;
+
import org.jboss.weld.BeanManagerImpl;
import org.jboss.weld.DefinitionException;
import org.jboss.weld.ForbiddenStateException;
@@ -178,7 +180,7 @@
{
for (Type decoratedType : getDecoratedTypes())
{
- if (decoratedType instanceof Class)
+ if (decoratedType instanceof Class<?>)
{
if (!((Class<?>) decoratedType).isAssignableFrom(delegateInjectionPoint.getJavaClass()))
{
@@ -197,7 +199,7 @@
throw new DefinitionException(DELEGATE_TYPE_PARAMETER_MISMATCH, decoratedType, this );
}
Type rawType = ((ParameterizedType) decoratedType).getRawType();
- if (rawType instanceof Class && !((Class<?>) rawType).isAssignableFrom(delegateInjectionPoint.getJavaClass()))
+ if (rawType instanceof Class<?> && !((Class<?>) rawType).isAssignableFrom(delegateInjectionPoint.getJavaClass()))
{
throw new DefinitionException(DELEGATE_MUST_SUPPORT_EVERY_DECORATED_TYPE, decoratedType, this );
}
15 years, 3 months
Weld SVN: r5226 - java-se/trunk/src/main/java/org/jboss/weld/environment/se/events.
by weld-commits@lists.jboss.org
Author: peteroyle
Date: 2009-12-08 07:12:59 -0500 (Tue, 08 Dec 2009)
New Revision: 5226
Removed:
java-se/trunk/src/main/java/org/jboss/weld/environment/se/events/Shutdown.java
Log:
WELDX-57: Removed proprietary shutdown event, replaced with standard BeforeShutdown. Also added shutdown() to Weld, and set Weld.class up as a managed bean for use when observing the ContainerInitialized event.
Deleted: java-se/trunk/src/main/java/org/jboss/weld/environment/se/events/Shutdown.java
===================================================================
--- java-se/trunk/src/main/java/org/jboss/weld/environment/se/events/Shutdown.java 2009-12-08 12:12:49 UTC (rev 5225)
+++ java-se/trunk/src/main/java/org/jboss/weld/environment/se/events/Shutdown.java 2009-12-08 12:12:59 UTC (rev 5226)
@@ -1,35 +0,0 @@
-/**
- * JBoss, Home of Professional Open Source
- * Copyright 2009, Red Hat, Inc. and/or its affiliates, 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.environment.se.events;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-import javax.inject.Qualifier;
-
-
-/**
- * Fired by weld SE before shutting down. Applications and modules should
- * release resources cleanly in response to this event.
- *
- * @author Peter Royle
- */
-@Qualifier
-(a)Retention(RetentionPolicy.RUNTIME)
-@Target( { ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD, ElementType.TYPE })
-public @interface Shutdown {}
15 years, 3 months
Weld SVN: r5225 - java-se/trunk/src/main/java/org/jboss/weld/environment/se.
by weld-commits@lists.jboss.org
Author: peteroyle
Date: 2009-12-08 07:12:49 -0500 (Tue, 08 Dec 2009)
New Revision: 5225
Modified:
java-se/trunk/src/main/java/org/jboss/weld/environment/se/ShutdownManager.java
Log:
WELDX-57: Removed proprietary shutdown event, replaced with standard BeforeShutdown. Also added shutdown() to Weld, and set Weld.class up as a managed bean for use when observing the ContainerInitialized event.
Modified: java-se/trunk/src/main/java/org/jboss/weld/environment/se/ShutdownManager.java
===================================================================
--- java-se/trunk/src/main/java/org/jboss/weld/environment/se/ShutdownManager.java 2009-12-08 12:12:39 UTC (rev 5224)
+++ java-se/trunk/src/main/java/org/jboss/weld/environment/se/ShutdownManager.java 2009-12-08 12:12:49 UTC (rev 5225)
@@ -17,11 +17,7 @@
package org.jboss.weld.environment.se;
import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.event.Observes;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.inject.Inject;
import org.jboss.weld.bootstrap.api.Bootstrap;
-import org.jboss.weld.environment.se.events.Shutdown;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -30,21 +26,15 @@
{
private static Logger log = LoggerFactory.getLogger(ShutdownManager.class);
-
- @Inject
- private BeanManager manager;
private boolean hasShutdownBeenCalled = false;
private Bootstrap bootstrap;
/**
- * The observer of the optional shutdown request which will in turn fire the
- * Shutdown event.
- *
- * @param shutdownRequest
+ * Shutdown Weld SE gracefully.
*/
- public void shutdown(@Observes @Shutdown BeanManager shutdownRequest)
+ public void shutdown()
{
synchronized (this)
{
@@ -57,21 +47,12 @@
else
{
log.debug("Skipping spurious call to shutdown");
- log.trace("Spurious call to shutdown located at: ",
+ log.trace("Spurious call to shutdown from: ",
Thread.currentThread().getStackTrace());
}
}
}
- /**
- * Shutdown Weld SE gracefully (call this as an alternative to firing the
- * "@Shutdown Manager" event.
- */
- public void shutdown()
- {
- shutdown(manager);
- }
-
public void setBootstrap(Bootstrap bootstrap)
{
this.bootstrap = bootstrap;
15 years, 3 months
Weld SVN: r5224 - java-se/trunk/src/main/java/org/jboss/weld/environment/se.
by weld-commits@lists.jboss.org
Author: peteroyle
Date: 2009-12-08 07:12:39 -0500 (Tue, 08 Dec 2009)
New Revision: 5224
Modified:
java-se/trunk/src/main/java/org/jboss/weld/environment/se/Weld.java
Log:
WELDX-57: Removed proprietary shutdown event, replaced with standard BeforeShutdown. Also added shutdown() to Weld, and set Weld.class up as a managed bean for use when observing the ContainerInitialized event.
Modified: java-se/trunk/src/main/java/org/jboss/weld/environment/se/Weld.java
===================================================================
--- java-se/trunk/src/main/java/org/jboss/weld/environment/se/Weld.java 2009-12-08 12:12:29 UTC (rev 5223)
+++ java-se/trunk/src/main/java/org/jboss/weld/environment/se/Weld.java 2009-12-08 12:12:39 UTC (rev 5224)
@@ -16,6 +16,9 @@
*/
package org.jboss.weld.environment.se;
+import javax.annotation.PostConstruct;
+import javax.inject.Inject;
+import javax.jws.soap.InitParam;
import org.jboss.weld.bootstrap.api.Bootstrap;
import org.jboss.weld.bootstrap.api.Environments;
import org.jboss.weld.bootstrap.spi.BeanDeploymentArchive;
@@ -64,6 +67,7 @@
* Boots Weld and creates and returns a WeldContainer instance, through which
* beans and events can be accesed.
*/
+ @PostConstruct
public WeldContainer initialize()
{
15 years, 3 months