[webbeans-commits] Webbeans SVN: r3684 - ri/trunk/embedded-tck-runner.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-09-16 14:32:33 -0400 (Wed, 16 Sep 2009)
New Revision: 3684
Modified:
ri/trunk/embedded-tck-runner/
ri/trunk/embedded-tck-runner/pom.xml
Log:
import jboss-as-component-matrix
Property changes on: ri/trunk/embedded-tck-runner
___________________________________________________________________
Name: svn:ignore
+ .settings
.project
.classpath
target
bin
Modified: ri/trunk/embedded-tck-runner/pom.xml
===================================================================
--- ri/trunk/embedded-tck-runner/pom.xml 2009-09-16 18:28:42 UTC (rev 3683)
+++ ri/trunk/embedded-tck-runner/pom.xml 2009-09-16 18:32:33 UTC (rev 3684)
@@ -46,6 +46,18 @@
</dependencies>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-component-matrix</artifactId>
+ <version>5.2.0-SNAPSHOT</version>
+ <scope>import</scope>
+ <type>pom</type>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
<build>
<plugins>
<plugin>
16 years, 7 months
[webbeans-commits] Webbeans SVN: r3683 - in ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder: spi and 1 other directory.
by webbeans-commits@lists.jboss.org
Author: kabir.khan(a)jboss.com
Date: 2009-09-16 14:28:42 -0400 (Wed, 16 Sep 2009)
New Revision: 3683
Modified:
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderImpl.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/ManagedBeanBuilder.java
Log:
Decorators should not be registered in the bean manager, and should be available in bean deployer environment before producer methods are created
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderImpl.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderImpl.java 2009-09-16 17:02:12 UTC (rev 3682)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderImpl.java 2009-09-16 18:28:42 UTC (rev 3683)
@@ -22,7 +22,9 @@
package org.jboss.webbeans.bean.builder;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.HashSet;
+import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
@@ -68,26 +70,30 @@
*/
public class BeanBuilderImpl<T> implements SimpleBeanBuilder<T>, EnterpriseBeanBuilder<T>, DecoratorBeanBuilder<T>, InternalObserverMethodBuilder<T>
{
+ private final BeanManagerImpl beanManager;
+
+ private final BeanDeployerEnvironment beanDeployerEnvironment;
+
private final AnnotatedType<T> type;
private final EjbDescriptor<T> ejbDescriptor;
private final boolean decorator;
+ private final boolean delayInitialization;
+
private Bean<T> mainBean;
+ private Bean<T> newBean;
+
+ private Set<Bean<?>> producers;
+
private Set<Bean<?>> beans;
private Set<ObserverMethod<T, ?>> observerMethods;
- private final BeanManagerImpl beanManager;
-
- private final BeanDeployerEnvironment beanDeployerEnvironment;
-
private final List<Throwable> definitionErrors = new ArrayList<Throwable>();
- private final boolean delayInitialization;
-
private BeanBuilderImpl(BeanManager beanManager, BeanDeployerEnvironment beanDeployerEnvironment, AnnotatedType<T> type, EjbDescriptor<T> ejbDescriptor, boolean decorator, boolean delayInitialization)
{
if (beanManager != beanManager)
@@ -135,6 +141,19 @@
return beans;
}
+ public Bean<T> getNewBean()
+ {
+ return newBean;
+ }
+
+ public Set<Bean<?>> getProducerBeans()
+ {
+ if (producers == null)
+ return Collections.emptySet();
+
+ return producers;
+ }
+
private void createBeans()
{
if (decorator)
@@ -162,7 +181,7 @@
private Set<Bean<?>> createSimpleBeans(WBClass<T> clazz)
{
- beans = new HashSet<Bean<?>>();
+ beans = new LinkedHashSet<Bean<?>>();
ManagedBean<T> bean = ManagedBean.of(clazz, beanManager);
mainBean = bean;
@@ -177,6 +196,8 @@
NewManagedBean<T> newBean = NewManagedBean.of(clazz, beanManager);
beanDeployerEnvironment.addBean(newBean);
beans.add(newBean);
+ this.newBean = newBean;
+
if (!delayInitialization)
newBean.initialize(beanDeployerEnvironment);
@@ -185,7 +206,7 @@
private Set<Bean<?>> createEnterpriseBeans(InternalEjbDescriptor<T> ejbDescriptor)
{
- beans = new HashSet<Bean<?>>();
+ beans = new LinkedHashSet<Bean<?>>();
SessionBean<T> bean = SessionBean.of(ejbDescriptor, beanManager);
mainBean = bean;
@@ -199,6 +220,8 @@
NewSessionBean<T> newBean = NewSessionBean.of(ejbDescriptor, beanManager);
beanDeployerEnvironment.addBean(newBean);
beans.add(newBean);
+ this.newBean = newBean;
+
if (!delayInitialization)
newBean.initialize(beanDeployerEnvironment);
@@ -226,25 +249,32 @@
*/
protected void createSubBeans(Set<Bean<?>> beans, AbstractClassBean<T> bean)
{
- createProducerMethods(beans, bean, bean.getAnnotatedItem());
+ //Register the disposal methods before the producer methods
+ createDisposalMethods(bean, bean.getAnnotatedItem());
+
+ producers = createProducerMethods(beans, bean, bean.getAnnotatedItem());
if (beanManager.isBeanEnabled(bean))
{
observerMethods = createObserverMethods(bean, bean.getAnnotatedItem());
}
createProducerFields(beans, bean, bean.getAnnotatedItem());
- createDisposalMethods(beans, bean, bean.getAnnotatedItem());
}
- protected void createProducerMethods(Set<Bean<?>> beans, AbstractClassBean<?> declaringBean, WBClass<?> annotatedClass)
+ protected Set<Bean<?>> createProducerMethods(Set<Bean<?>> beans, AbstractClassBean<?> declaringBean, WBClass<?> annotatedClass)
{
+ Set<Bean<?>> producers = null;
for (WBMethod<?, ?> method : annotatedClass.getDeclaredWBAnnotatedMethods(Produces.class))
{
+ if (producers == null)
+ producers = new HashSet<Bean<?>>();
+
createProducerMethod(beans, declaringBean, method);
}
+ return producers;
}
- protected void createDisposalMethods(Set<Bean<?>> beans, AbstractClassBean<?> declaringBean, WBClass<?> annotatedClass)
+ protected void createDisposalMethods(AbstractClassBean<?> declaringBean, WBClass<?> annotatedClass)
{
for (WBMethod<?, ?> method : annotatedClass.getWBDeclaredMethodsWithAnnotatedParameters(Disposes.class))
{
@@ -252,7 +282,6 @@
beanDeployerEnvironment.addBean(disposalBean);
//Do not delay initialization of decorator beans, they get initialized right away in the original impl
disposalBean.initialize(beanDeployerEnvironment);
- beans.add(disposalBean);
}
}
@@ -284,9 +313,11 @@
public Set<ObserverMethod<T, ?>> createObserverMethods(RIBean<T> declaringBean, WBClass<T> annotatedClass)
{
- Set<ObserverMethod<T, ?>> methods = new HashSet<ObserverMethod<T, ?>>();
+ Set<ObserverMethod<T, ?>> methods = null;
for (WBMethod<?, T> method : annotatedClass.getWBDeclaredMethodsWithAnnotatedParameters(Observes.class))
{
+ if (methods == null)
+ methods = new HashSet<ObserverMethod<T, ?>>();
methods.add(createObserverMethod(declaringBean, method));
}
return methods;
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/ManagedBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/ManagedBeanBuilder.java 2009-09-16 17:02:12 UTC (rev 3682)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/ManagedBeanBuilder.java 2009-09-16 18:28:42 UTC (rev 3683)
@@ -34,5 +34,12 @@
public interface ManagedBeanBuilder<T>
{
Set<Bean<?>> getBeans();
+
+ Bean<T> getBean();
+
+ Bean<T> getNewBean();
+
+ Set<Bean<?>> getProducerBeans();
+
Set<ObserverMethod<T, ?>> getObserverMethods();
}
16 years, 7 months
[webbeans-commits] Webbeans SVN: r3682 - /.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-09-16 13:02:12 -0400 (Wed, 16 Sep 2009)
New Revision: 3682
Removed:
webbeans-embedded-tck-runner/
Log:
oops
16 years, 7 months
[webbeans-commits] Webbeans SVN: r3681 - in ri/trunk: embedded-tck-runner and 9 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-09-16 13:00:53 -0400 (Wed, 16 Sep 2009)
New Revision: 3681
Added:
ri/trunk/embedded-tck-runner/
ri/trunk/embedded-tck-runner/pom.xml
ri/trunk/embedded-tck-runner/src/
ri/trunk/embedded-tck-runner/src/main/
ri/trunk/embedded-tck-runner/src/main/java/
ri/trunk/embedded-tck-runner/src/main/resources/
ri/trunk/embedded-tck-runner/src/main/resources/META-INF/
ri/trunk/embedded-tck-runner/src/main/resources/META-INF/jboss-test-harness.properties
ri/trunk/embedded-tck-runner/src/test/
ri/trunk/embedded-tck-runner/src/test/debug-resources/
ri/trunk/embedded-tck-runner/src/test/debug-resources/META-INF/
ri/trunk/embedded-tck-runner/src/test/debug-resources/META-INF/jboss-test-harness.properties
ri/trunk/embedded-tck-runner/src/test/resources/
ri/trunk/embedded-tck-runner/src/test/resources/jndi.properties
ri/trunk/embedded-tck-runner/src/test/resources/log4j.xml
Modified:
ri/trunk/version-matrix/pom.xml
Log:
add embedded-tck-runner
Added: ri/trunk/embedded-tck-runner/pom.xml
===================================================================
--- ri/trunk/embedded-tck-runner/pom.xml (rev 0)
+++ ri/trunk/embedded-tck-runner/pom.xml 2009-09-16 17:00:53 UTC (rev 3681)
@@ -0,0 +1,131 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <artifactId>webbeans-parent</artifactId>
+ <groupId>org.jboss.webbeans</groupId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.jboss.webbeans</groupId>
+ <artifactId>webbeans-embedded-tck-runner</artifactId>
+ <name>CDI TCK runner for JBoss Emebedded</name>
+ <description>Aggregates dependencies and run's the CDI TCK on JBoss Embedded</description>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.jboss.webbeans</groupId>
+ <artifactId>jsr299-api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.webbeans</groupId>
+ <artifactId>webbeans-core</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.webbeans</groupId>
+ <artifactId>webbeans-porting-package</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.testng</groupId>
+ <artifactId>testng</artifactId>
+ <classifier>jdk15</classifier>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.test-harness</groupId>
+ <artifactId>jboss-test-harness-jboss-embedded</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.jsr299.tck</groupId>
+ <artifactId>jsr299-tck-impl</artifactId>
+ </dependency>
+
+
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>copy</id>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+ <configuration>
+ <stripVersion>true</stripVersion>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.jboss.jsr299.tck</groupId>
+ <artifactId>jsr299-tck-impl</artifactId>
+ <type>xml</type>
+ <classifier>suite</classifier>
+ <overWrite>true</overWrite>
+ </artifactItem>
+ </artifactItems>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <suiteXmlFiles>
+ <suiteXmlFile>${project.build.directory}/dependency/jsr299-tck-impl-suite.xml</suiteXmlFile>
+ </suiteXmlFiles>
+ <argLine>-Xmx256m</argLine>
+ <forkMode>once</forkMode>
+ <systemProperties>
+ <property>
+ <name>org.jboss.testharness.standalone</name>
+ <value>false</value>
+ </property>
+ <property>
+ <name>org.jboss.testharness.container.extraConfigurationDir</name>
+ <value>../jboss-as</value>
+ </property>
+ <property>
+ <name>org.jboss.testharness.container.forceRestart</name>
+ <value>true</value>
+ </property>
+ <property>
+ <name>org.jboss.testharness.runIntegrationTests</name>
+ <value>true</value>
+ </property>
+ <property>
+ <name>org.jboss.testharness.outputDirectory</name>
+ <value>target</value>
+ </property>
+ </systemProperties>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-report-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>generate-test-report</id>
+ <phase>test</phase>
+ <goals>
+ <goal>report-only</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <outputDirectory>${project.build.directory}/surefire-reports</outputDirectory>
+ <outputName>test-report</outputName>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+
+
+</project>
Added: ri/trunk/embedded-tck-runner/src/main/resources/META-INF/jboss-test-harness.properties
===================================================================
--- ri/trunk/embedded-tck-runner/src/main/resources/META-INF/jboss-test-harness.properties (rev 0)
+++ ri/trunk/embedded-tck-runner/src/main/resources/META-INF/jboss-test-harness.properties 2009-09-16 17:00:53 UTC (rev 3681)
@@ -0,0 +1,2 @@
+org.jboss.testharness.api.TestLauncher=org.jboss.testharness.impl.runner.local.LocalTestLauncher
+
Added: ri/trunk/embedded-tck-runner/src/test/debug-resources/META-INF/jboss-test-harness.properties
===================================================================
--- ri/trunk/embedded-tck-runner/src/test/debug-resources/META-INF/jboss-test-harness.properties (rev 0)
+++ ri/trunk/embedded-tck-runner/src/test/debug-resources/META-INF/jboss-test-harness.properties 2009-09-16 17:00:53 UTC (rev 3681)
@@ -0,0 +1,6 @@
+# Configuration for running incontainer tests from your IDE
+# Alter the path webbeans accordingly (relative from the tck/impl dir)
+org.jboss.testharness.standalone=false
+org.jboss.testharness.container.extraConfigurationDir=../../webbeans/jboss-as
+org.jboss.testharness.container.forceRestart=false
+org.jboss.testharness.runIntegrationTests=true
\ No newline at end of file
Added: ri/trunk/embedded-tck-runner/src/test/resources/jndi.properties
===================================================================
--- ri/trunk/embedded-tck-runner/src/test/resources/jndi.properties (rev 0)
+++ ri/trunk/embedded-tck-runner/src/test/resources/jndi.properties 2009-09-16 17:00:53 UTC (rev 3681)
@@ -0,0 +1,4 @@
+#jboss JNDI properties
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
\ No newline at end of file
Added: ri/trunk/embedded-tck-runner/src/test/resources/log4j.xml
===================================================================
--- ri/trunk/embedded-tck-runner/src/test/resources/log4j.xml (rev 0)
+++ ri/trunk/embedded-tck-runner/src/test/resources/log4j.xml 2009-09-16 17:00:53 UTC (rev 3681)
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+ <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+ <param name="Target" value="System.out"/>
+ <layout class="org.apache.log4j.PatternLayout">
+ <!-- The default pattern: Date Priority [Category] Message\n -->
+ <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{2}] %m%n"/>
+ </layout>
+ <filter class="org.apache.log4j.varia.StringMatchFilter">
+ <param name="AcceptOnMatch" value="false" />
+ <param name="StringToMatch" value="Failure while notifying an observer of event [a]" />
+ </filter>
+ <filter class="org.apache.log4j.varia.StringMatchFilter">
+ <param name="AcceptOnMatch" value="false" />
+ <param name="StringToMatch" value="Error destroying Request scoped unnamed simple bean org.jboss.jsr299.tck.tests.implementation.simple.lifecycle.Cod" />
+ </filter>
+ </appender>
+
+ <!-- ############### Embedded EJB3 ################# -->
+ <category name="org.jboss">
+ <priority value="ERROR"/>
+ </category>
+
+ <category name="org.jboss.test">
+ <priority value="ERROR"/>
+ </category>
+
+ <category name="com.arjuna">
+ <priority value="ERROR"/>
+ </category>
+
+ <!-- ############### Hibernate logging ################# -->
+
+ <category name="org.hibernate">
+ <priority value="ERROR"/>
+ </category>
+
+ <!--
+ <category name="org.hibernate.SQL">
+ <priority value="TRACE"/>
+ </category>
+
+ <category name="org.hibernate.type">
+ <priority value="TRACE"/>
+ </category>
+
+ <category name="org.hibernate.loader">
+ <priority value="TRACE"/>
+ </category>
+ <category name="org.hibernate.cache">
+ <priority value="TRACE"/>
+ </category>
+ -->
+
+ <!-- ############### Web Beans logging ################### -->
+
+ <category name="org.jboss.webbeans">
+ <priority value="WARN"/>
+ </category>
+
+ <category name="org.jboss.webbeans.tck">
+ <priority value="INFO"/>
+ </category>
+
+ <category name="org.jboss.testharness">
+ <priority value="INFO"/>
+ </category>
+
+ <root>
+ <priority value="INFO"/>
+ <appender-ref ref="CONSOLE"/>
+ </root>
+
+</log4j:configuration>
Modified: ri/trunk/version-matrix/pom.xml
===================================================================
--- ri/trunk/version-matrix/pom.xml 2009-09-16 16:45:29 UTC (rev 3680)
+++ ri/trunk/version-matrix/pom.xml 2009-09-16 17:00:53 UTC (rev 3681)
@@ -339,6 +339,12 @@
<dependency>
<groupId>org.jboss.test-harness</groupId>
+ <artifactId>jboss-test-harness-jboss-embedded</artifactId>
+ <version>${jboss.test.harness.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.test-harness</groupId>
<artifactId>jboss-test-harness-tomcat</artifactId>
<version>${jboss.test.harness.version}</version>
</dependency>
16 years, 7 months
[webbeans-commits] Webbeans SVN: r3680 - in webbeans-embedded-tck-runner: src and 7 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-09-16 12:45:29 -0400 (Wed, 16 Sep 2009)
New Revision: 3680
Added:
webbeans-embedded-tck-runner/pom.xml
webbeans-embedded-tck-runner/src/
webbeans-embedded-tck-runner/src/main/
webbeans-embedded-tck-runner/src/main/java/
webbeans-embedded-tck-runner/src/main/resources/
webbeans-embedded-tck-runner/src/main/resources/META-INF/
webbeans-embedded-tck-runner/src/main/resources/META-INF/jboss-test-harness.properties
webbeans-embedded-tck-runner/src/test/
webbeans-embedded-tck-runner/src/test/debug-resources/
webbeans-embedded-tck-runner/src/test/debug-resources/META-INF/
webbeans-embedded-tck-runner/src/test/debug-resources/META-INF/jboss-test-harness.properties
webbeans-embedded-tck-runner/src/test/resources/
webbeans-embedded-tck-runner/src/test/resources/jndi.properties
webbeans-embedded-tck-runner/src/test/resources/log4j.xml
Modified:
webbeans-embedded-tck-runner/
Log:
initial work
Property changes on: webbeans-embedded-tck-runner
___________________________________________________________________
Name: svn:ignore
+ target
.settings
.project
.classpath
Added: webbeans-embedded-tck-runner/pom.xml
===================================================================
--- webbeans-embedded-tck-runner/pom.xml (rev 0)
+++ webbeans-embedded-tck-runner/pom.xml 2009-09-16 16:45:29 UTC (rev 3680)
@@ -0,0 +1,131 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <artifactId>webbeans-parent</artifactId>
+ <groupId>org.jboss.webbeans</groupId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.jboss.webbeans</groupId>
+ <artifactId>webbeans-embedded-tck-runner</artifactId>
+ <name>CDI TCK runner for JBoss Emebedded</name>
+ <description>Aggregates dependencies and run's the CDI TCK on JBoss Embedded</description>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>org.jboss.webbeans</groupId>
+ <artifactId>jsr299-api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.webbeans</groupId>
+ <artifactId>webbeans-core</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.webbeans</groupId>
+ <artifactId>webbeans-porting-package</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.testng</groupId>
+ <artifactId>testng</artifactId>
+ <classifier>jdk15</classifier>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.test-harness</groupId>
+ <artifactId>jboss-test-harness-jboss-embedded</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.jsr299.tck</groupId>
+ <artifactId>jsr299-tck-impl</artifactId>
+ </dependency>
+
+
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>copy</id>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+ <configuration>
+ <stripVersion>true</stripVersion>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.jboss.jsr299.tck</groupId>
+ <artifactId>jsr299-tck-impl</artifactId>
+ <type>xml</type>
+ <classifier>suite</classifier>
+ <overWrite>true</overWrite>
+ </artifactItem>
+ </artifactItems>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <suiteXmlFiles>
+ <suiteXmlFile>${project.build.directory}/dependency/jsr299-tck-impl-suite.xml</suiteXmlFile>
+ </suiteXmlFiles>
+ <argLine>-Xmx256m</argLine>
+ <forkMode>once</forkMode>
+ <systemProperties>
+ <property>
+ <name>org.jboss.testharness.standalone</name>
+ <value>false</value>
+ </property>
+ <property>
+ <name>org.jboss.testharness.container.extraConfigurationDir</name>
+ <value>../jboss-as</value>
+ </property>
+ <property>
+ <name>org.jboss.testharness.container.forceRestart</name>
+ <value>true</value>
+ </property>
+ <property>
+ <name>org.jboss.testharness.runIntegrationTests</name>
+ <value>true</value>
+ </property>
+ <property>
+ <name>org.jboss.testharness.outputDirectory</name>
+ <value>target</value>
+ </property>
+ </systemProperties>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-report-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>generate-test-report</id>
+ <phase>test</phase>
+ <goals>
+ <goal>report-only</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <outputDirectory>${project.build.directory}/surefire-reports</outputDirectory>
+ <outputName>test-report</outputName>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+
+
+</project>
Property changes on: webbeans-embedded-tck-runner/pom.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: webbeans-embedded-tck-runner/src/main/resources/META-INF/jboss-test-harness.properties
===================================================================
--- webbeans-embedded-tck-runner/src/main/resources/META-INF/jboss-test-harness.properties (rev 0)
+++ webbeans-embedded-tck-runner/src/main/resources/META-INF/jboss-test-harness.properties 2009-09-16 16:45:29 UTC (rev 3680)
@@ -0,0 +1,2 @@
+org.jboss.testharness.api.TestLauncher=org.jboss.testharness.impl.runner.local.LocalTestLauncher
+
Property changes on: webbeans-embedded-tck-runner/src/main/resources/META-INF/jboss-test-harness.properties
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: webbeans-embedded-tck-runner/src/test/debug-resources/META-INF/jboss-test-harness.properties
===================================================================
--- webbeans-embedded-tck-runner/src/test/debug-resources/META-INF/jboss-test-harness.properties (rev 0)
+++ webbeans-embedded-tck-runner/src/test/debug-resources/META-INF/jboss-test-harness.properties 2009-09-16 16:45:29 UTC (rev 3680)
@@ -0,0 +1,6 @@
+# Configuration for running incontainer tests from your IDE
+# Alter the path webbeans accordingly (relative from the tck/impl dir)
+org.jboss.testharness.standalone=false
+org.jboss.testharness.container.extraConfigurationDir=../../webbeans/jboss-as
+org.jboss.testharness.container.forceRestart=false
+org.jboss.testharness.runIntegrationTests=true
\ No newline at end of file
Property changes on: webbeans-embedded-tck-runner/src/test/debug-resources/META-INF/jboss-test-harness.properties
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: webbeans-embedded-tck-runner/src/test/resources/jndi.properties
===================================================================
--- webbeans-embedded-tck-runner/src/test/resources/jndi.properties (rev 0)
+++ webbeans-embedded-tck-runner/src/test/resources/jndi.properties 2009-09-16 16:45:29 UTC (rev 3680)
@@ -0,0 +1,4 @@
+#jboss JNDI properties
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.provider.url=jnp://localhost:1099
+java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
\ No newline at end of file
Property changes on: webbeans-embedded-tck-runner/src/test/resources/jndi.properties
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: webbeans-embedded-tck-runner/src/test/resources/log4j.xml
===================================================================
--- webbeans-embedded-tck-runner/src/test/resources/log4j.xml (rev 0)
+++ webbeans-embedded-tck-runner/src/test/resources/log4j.xml 2009-09-16 16:45:29 UTC (rev 3680)
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+ <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+ <param name="Target" value="System.out"/>
+ <layout class="org.apache.log4j.PatternLayout">
+ <!-- The default pattern: Date Priority [Category] Message\n -->
+ <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{2}] %m%n"/>
+ </layout>
+ <filter class="org.apache.log4j.varia.StringMatchFilter">
+ <param name="AcceptOnMatch" value="false" />
+ <param name="StringToMatch" value="Failure while notifying an observer of event [a]" />
+ </filter>
+ <filter class="org.apache.log4j.varia.StringMatchFilter">
+ <param name="AcceptOnMatch" value="false" />
+ <param name="StringToMatch" value="Error destroying Request scoped unnamed simple bean org.jboss.jsr299.tck.tests.implementation.simple.lifecycle.Cod" />
+ </filter>
+ </appender>
+
+ <!-- ############### Embedded EJB3 ################# -->
+ <category name="org.jboss">
+ <priority value="ERROR"/>
+ </category>
+
+ <category name="org.jboss.test">
+ <priority value="ERROR"/>
+ </category>
+
+ <category name="com.arjuna">
+ <priority value="ERROR"/>
+ </category>
+
+ <!-- ############### Hibernate logging ################# -->
+
+ <category name="org.hibernate">
+ <priority value="ERROR"/>
+ </category>
+
+ <!--
+ <category name="org.hibernate.SQL">
+ <priority value="TRACE"/>
+ </category>
+
+ <category name="org.hibernate.type">
+ <priority value="TRACE"/>
+ </category>
+
+ <category name="org.hibernate.loader">
+ <priority value="TRACE"/>
+ </category>
+ <category name="org.hibernate.cache">
+ <priority value="TRACE"/>
+ </category>
+ -->
+
+ <!-- ############### Web Beans logging ################### -->
+
+ <category name="org.jboss.webbeans">
+ <priority value="WARN"/>
+ </category>
+
+ <category name="org.jboss.webbeans.tck">
+ <priority value="INFO"/>
+ </category>
+
+ <category name="org.jboss.testharness">
+ <priority value="INFO"/>
+ </category>
+
+ <root>
+ <priority value="INFO"/>
+ <appender-ref ref="CONSOLE"/>
+ </root>
+
+</log4j:configuration>
Property changes on: webbeans-embedded-tck-runner/src/test/resources/log4j.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
16 years, 7 months
[webbeans-commits] Webbeans SVN: r3679 - ri/trunk/impl/src/main/java/org/jboss/webbeans/jsp.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-09-16 12:43:24 -0400 (Wed, 16 Sep 2009)
New Revision: 3679
Removed:
ri/trunk/impl/src/main/java/org/jboss/webbeans/jsp/JspInitialization.java
Log:
cleanup
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/jsp/JspInitialization.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/jsp/JspInitialization.java 2009-09-16 16:42:58 UTC (rev 3678)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/jsp/JspInitialization.java 2009-09-16 16:43:24 UTC (rev 3679)
@@ -1,50 +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.webbeans.jsp;
-
-import javax.servlet.ServletContext;
-import javax.servlet.jsp.JspApplicationContext;
-import javax.servlet.jsp.JspFactory;
-
-import org.jboss.webbeans.servlet.ServletHelper;
-
-/**
- * @author pmuir
- *
- */
-public class JspInitialization
-{
-
- public void init(ServletContext context)
- {
- // JSP 2.1 specific check
- if (JspFactory.getDefaultFactory() == null || JspFactory.getDefaultFactory().getJspApplicationContext(context) == null)
- {
- return;
- }
-
- // get JspApplicationContext.
- JspApplicationContext jspAppContext = JspFactory.getDefaultFactory().getJspApplicationContext(context);
-
- // register compositeELResolver with JSP
- jspAppContext.addELResolver(ServletHelper.getModuleBeanManager(context).getELResolver());
-
- // DOesn't really achieve much :-(
- //jspAppContext.addELContextListener(new WebBeansELContextListener());
- }
-
-}
16 years, 7 months
[webbeans-commits] Webbeans SVN: r3678 - in ri/trunk/tests/src: test/resources/META-INF and 1 other directory.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-09-16 12:42:58 -0400 (Wed, 16 Sep 2009)
New Revision: 3678
Added:
ri/trunk/tests/src/test/resources/META-INF/jboss-test-harness.properties
Modified:
ri/trunk/tests/src/main/resources/META-INF/jboss-test-harness.properties
Log:
move test launcher out of main classpath
Modified: ri/trunk/tests/src/main/resources/META-INF/jboss-test-harness.properties
===================================================================
--- ri/trunk/tests/src/main/resources/META-INF/jboss-test-harness.properties 2009-09-16 15:52:22 UTC (rev 3677)
+++ ri/trunk/tests/src/main/resources/META-INF/jboss-test-harness.properties 2009-09-16 16:42:58 UTC (rev 3678)
@@ -1,2 +1 @@
org.jboss.testharness.spi.StandaloneContainers=org.jboss.webbeans.test.harness.StandaloneContainersImpl
-org.jboss.testharness.api.TestLauncher=org.jboss.testharness.impl.runner.servlet.ServletTestLauncher
Added: ri/trunk/tests/src/test/resources/META-INF/jboss-test-harness.properties
===================================================================
--- ri/trunk/tests/src/test/resources/META-INF/jboss-test-harness.properties (rev 0)
+++ ri/trunk/tests/src/test/resources/META-INF/jboss-test-harness.properties 2009-09-16 16:42:58 UTC (rev 3678)
@@ -0,0 +1 @@
+corg.jboss.testharness.api.TestLauncher=org.jboss.testharness.impl.runner.servlet.ServletTestLauncher
Property changes on: ri/trunk/tests/src/test/resources/META-INF/jboss-test-harness.properties
___________________________________________________________________
Name: svn:mime-type
+ text/plain
16 years, 7 months
[webbeans-commits] Webbeans SVN: r3677 - in ri/branches/kabir-builder: impl/src/main/java/org/jboss/webbeans/resolution and 9 other directories.
by webbeans-commits@lists.jboss.org
Author: kabir.khan(a)jboss.com
Date: 2009-09-16 11:52:22 -0400 (Wed, 16 Sep 2009)
New Revision: 3677
Modified:
ri/branches/kabir-builder/
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/resolution/ForwardingResolvable.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/el/ForwardingELContext.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/el/ForwardingELResolver.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/el/ForwardingExpressionFactory.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/el/ForwardingMethodExpression.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/el/ForwardingValueExpression.java
ri/branches/kabir-builder/jboss-as/build.xml
ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/bootstrap/api/helpers/ForwardingBootstrap.java
ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/bootstrap/api/helpers/ForwardingLifecycle.java
ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/bootstrap/spi/helpers/ForwardingBeanDeploymentArchive.java
ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/context/api/helpers/ForwardingBeanStore.java
ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/ejb/spi/helpers/ForwardingEjbDescriptor.java
ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/ejb/spi/helpers/ForwardingEjbServices.java
ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/injection/spi/helpers/ForwardingJpaInjectionServices.java
ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/resources/spi/helpers/ForwardingResourceLoader.java
ri/branches/kabir-builder/tests/src/main/java/org/jboss/webbeans/mock/MockEjbDescriptor.java
Log:
Merged revisions 3670,3674 via svnmerge from
https://svn.jboss.org/repos/webbeans/ri/trunk
.......
r3670 | pete.muir(a)jboss.org | 2009-09-15 16:33:16 +0100 (Tue, 15 Sep 2009) | 1 line
Fix equals
.......
r3674 | pete.muir(a)jboss.org | 2009-09-15 23:42:39 +0100 (Tue, 15 Sep 2009) | 1 line
new name for assembled deployer artifact
.......
Property changes on: ri/branches/kabir-builder
___________________________________________________________________
Name: svnmerge-integrated
- /ri/trunk:1-3669
+ /ri/trunk:1-3676
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/resolution/ForwardingResolvable.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/resolution/ForwardingResolvable.java 2009-09-16 15:30:35 UTC (rev 3676)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/resolution/ForwardingResolvable.java 2009-09-16 15:52:22 UTC (rev 3677)
@@ -65,7 +65,7 @@
@Override
public boolean equals(Object obj)
{
- return delegate().equals(obj);
+ return this == obj || delegate().equals(obj);
}
@Override
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/el/ForwardingELContext.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/el/ForwardingELContext.java 2009-09-16 15:30:35 UTC (rev 3676)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/el/ForwardingELContext.java 2009-09-16 15:52:22 UTC (rev 3677)
@@ -55,7 +55,7 @@
@Override
public boolean equals(Object obj)
{
- return delgate().equals(obj);
+ return this == obj || delgate().equals(obj);
}
@SuppressWarnings("unchecked")
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/el/ForwardingELResolver.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/el/ForwardingELResolver.java 2009-09-16 15:30:35 UTC (rev 3676)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/el/ForwardingELResolver.java 2009-09-16 15:52:22 UTC (rev 3677)
@@ -66,7 +66,7 @@
@Override
public boolean equals(Object obj)
{
- return delegate().equals(obj);
+ return this == obj || delegate().equals(obj);
}
@Override
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/el/ForwardingExpressionFactory.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/el/ForwardingExpressionFactory.java 2009-09-16 15:30:35 UTC (rev 3676)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/el/ForwardingExpressionFactory.java 2009-09-16 15:52:22 UTC (rev 3677)
@@ -58,7 +58,7 @@
@Override
public boolean equals(Object obj)
{
- return delegate().equals(obj);
+ return this == obj || delegate().equals(obj);
}
@Override
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/el/ForwardingMethodExpression.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/el/ForwardingMethodExpression.java 2009-09-16 15:30:35 UTC (rev 3676)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/el/ForwardingMethodExpression.java 2009-09-16 15:52:22 UTC (rev 3677)
@@ -55,11 +55,10 @@
return delegate().isLiteralText();
}
-
@Override
public boolean equals(Object obj)
{
- return delegate().equals(obj);
+ return this == obj || delegate().equals(obj);
}
@Override
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/el/ForwardingValueExpression.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/el/ForwardingValueExpression.java 2009-09-16 15:30:35 UTC (rev 3676)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/el/ForwardingValueExpression.java 2009-09-16 15:52:22 UTC (rev 3677)
@@ -77,7 +77,7 @@
@Override
public boolean equals(Object obj)
{
- return delegate().equals(obj);
+ return this == obj || delegate().equals(obj);
}
@Override
Modified: ri/branches/kabir-builder/jboss-as/build.xml
===================================================================
--- ri/branches/kabir-builder/jboss-as/build.xml 2009-09-16 15:30:35 UTC (rev 3676)
+++ ri/branches/kabir-builder/jboss-as/build.xml 2009-09-16 15:52:22 UTC (rev 3677)
@@ -23,7 +23,7 @@
<delete dir="target" failonerror="false" />
<artifact:dependencies filesetId="webbeans.deployer.fileset" versionsId="webbeans.deployer.versions">
- <dependency groupId="org.jboss.webbeans.integration" artifactId="webbeans-jboss-int-deployer" version="${webbeans-deployer.version}" type="zip" />
+ <dependency groupId="org.jboss.webbeans.integration" artifactId="webbeans-jboss-int-deployer-assembly" version="${webbeans-deployer.version}" type="zip" />
<dependency groupId="org.jboss.webbeans" artifactId="webbeans-core" version="${webbeans.version}" />
<remoteRepository id="repository.jboss.org" url="http://repository.jboss.org/maven2" />
<remoteRepository id="snapshots.jboss.org" url="http://snapshots.jboss.org/maven2" />
@@ -38,7 +38,7 @@
</chainedmapper>
</copy>
- <unzip dest="target" src="target/dependency/lib/webbeans-jboss-int-deployer.zip" />
+ <unzip dest="target" src="target/dependency/lib/webbeans-jboss-int-deployer-assembly.zip" />
<copy todir="target/webbeans.deployer/lib-int/" overwrite="true">
<fileset dir="target/dependency/lib">
Modified: ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/bootstrap/api/helpers/ForwardingBootstrap.java
===================================================================
--- ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/bootstrap/api/helpers/ForwardingBootstrap.java 2009-09-16 15:30:35 UTC (rev 3676)
+++ ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/bootstrap/api/helpers/ForwardingBootstrap.java 2009-09-16 15:52:22 UTC (rev 3677)
@@ -63,7 +63,7 @@
@Override
public boolean equals(Object obj)
{
- return delegate().equals(obj);
+ return this == obj ||delegate().equals(obj);
}
public Bootstrap deployBeans()
Modified: ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/bootstrap/api/helpers/ForwardingLifecycle.java
===================================================================
--- ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/bootstrap/api/helpers/ForwardingLifecycle.java 2009-09-16 15:30:35 UTC (rev 3676)
+++ ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/bootstrap/api/helpers/ForwardingLifecycle.java 2009-09-16 15:52:22 UTC (rev 3677)
@@ -105,7 +105,7 @@
@Override
public boolean equals(Object obj)
{
- return delegate().equals(obj);
+ return this == obj || delegate().equals(obj);
}
}
Modified: ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/bootstrap/spi/helpers/ForwardingBeanDeploymentArchive.java
===================================================================
--- ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/bootstrap/spi/helpers/ForwardingBeanDeploymentArchive.java 2009-09-16 15:30:35 UTC (rev 3676)
+++ ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/bootstrap/spi/helpers/ForwardingBeanDeploymentArchive.java 2009-09-16 15:52:22 UTC (rev 3677)
@@ -60,7 +60,7 @@
@Override
public boolean equals(Object obj)
{
- return delegate().equals(obj);
+ return this == obj || delegate().equals(obj);
}
@Override
Modified: ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/context/api/helpers/ForwardingBeanStore.java
===================================================================
--- ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/context/api/helpers/ForwardingBeanStore.java 2009-09-16 15:30:35 UTC (rev 3676)
+++ ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/context/api/helpers/ForwardingBeanStore.java 2009-09-16 15:52:22 UTC (rev 3677)
@@ -47,7 +47,7 @@
@Override
public boolean equals(Object obj)
{
- return delegate().equals(obj);
+ return this == obj || delegate().equals(obj);
}
}
Modified: ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/ejb/spi/helpers/ForwardingEjbDescriptor.java
===================================================================
--- ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/ejb/spi/helpers/ForwardingEjbDescriptor.java 2009-09-16 15:30:35 UTC (rev 3676)
+++ ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/ejb/spi/helpers/ForwardingEjbDescriptor.java 2009-09-16 15:52:22 UTC (rev 3677)
@@ -65,7 +65,7 @@
@Override
public boolean equals(Object obj)
{
- return delegate().equals(obj);
+ return this == obj || delegate().equals(obj);
}
@Override
Modified: ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/ejb/spi/helpers/ForwardingEjbServices.java
===================================================================
--- ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/ejb/spi/helpers/ForwardingEjbServices.java 2009-09-16 15:30:35 UTC (rev 3676)
+++ ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/ejb/spi/helpers/ForwardingEjbServices.java 2009-09-16 15:52:22 UTC (rev 3677)
@@ -43,7 +43,7 @@
@Override
public boolean equals(Object obj)
{
- return delegate().equals(obj);
+ return this == obj || delegate().equals(obj);
}
@Override
Modified: ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/injection/spi/helpers/ForwardingJpaInjectionServices.java
===================================================================
--- ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/injection/spi/helpers/ForwardingJpaInjectionServices.java 2009-09-16 15:30:35 UTC (rev 3676)
+++ ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/injection/spi/helpers/ForwardingJpaInjectionServices.java 2009-09-16 15:52:22 UTC (rev 3677)
@@ -62,7 +62,7 @@
@Override
public boolean equals(Object obj)
{
- return delegate().equals(obj);
+ return this == obj || delegate().equals(obj);
}
}
Modified: ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/resources/spi/helpers/ForwardingResourceLoader.java
===================================================================
--- ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/resources/spi/helpers/ForwardingResourceLoader.java 2009-09-16 15:30:35 UTC (rev 3676)
+++ ri/branches/kabir-builder/spi/src/main/java/org/jboss/webbeans/resources/spi/helpers/ForwardingResourceLoader.java 2009-09-16 15:52:22 UTC (rev 3677)
@@ -38,7 +38,7 @@
@Override
public boolean equals(Object obj)
{
- return delegate().equals(obj);
+ return this == obj || delegate().equals(obj);
}
@Override
Modified: ri/branches/kabir-builder/tests/src/main/java/org/jboss/webbeans/mock/MockEjbDescriptor.java
===================================================================
--- ri/branches/kabir-builder/tests/src/main/java/org/jboss/webbeans/mock/MockEjbDescriptor.java 2009-09-16 15:30:35 UTC (rev 3676)
+++ ri/branches/kabir-builder/tests/src/main/java/org/jboss/webbeans/mock/MockEjbDescriptor.java 2009-09-16 15:52:22 UTC (rev 3677)
@@ -178,24 +178,24 @@
return builder.toString();
}
- @Override
- public boolean equals(Object other)
- {
- if (other instanceof EjbDescriptor)
- {
- EjbDescriptor<T> that = (EjbDescriptor<T>) other;
- return this.getBeanClass().equals(that.getBeanClass());
- }
- else
- {
- return false;
- }
- }
-
- @Override
- public int hashCode()
- {
- return getEjbName().hashCode();
- }
+// @Override
+// public boolean equals(Object other)
+// {
+// if (other instanceof EjbDescriptor)
+// {
+// EjbDescriptor<T> that = (EjbDescriptor<T>) other;
+// return this.getBeanClass().equals(that.getBeanClass());
+// }
+// else
+// {
+// return false;
+// }
+// }
+//
+// @Override
+// public int hashCode()
+// {
+// return getEjbName().hashCode();
+// }
}
16 years, 7 months
[webbeans-commits] Webbeans SVN: r3676 - in ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans: bean/builder/spi and 3 other directories.
by webbeans-commits@lists.jboss.org
Author: kabir.khan(a)jboss.com
Date: 2009-09-16 11:30:35 -0400 (Wed, 16 Sep 2009)
New Revision: 3676
Added:
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/ManagedBeanBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DecoratorDeploymentItem.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DeploymentSorterAction.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/SimpleDeploymentItem.java
Removed:
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/WBClassDeploymentItem.java
Modified:
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderFactoryImpl.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderImpl.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/InternalBeanBuilderFactory.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/InternalObserverMethodBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/BeanBuilderFactory.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/DecoratorBeanBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/EnterpriseBeanBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/SimpleBeanBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/AbstractBeanDeployer.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployer.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/ExtensionBeanDeployer.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DeploymentItem.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/EjbDeploymentItem.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/Sorter.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/Beans.java
Log:
Start plugging in the new sorter, most tests are passing
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderFactoryImpl.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderFactoryImpl.java 2009-09-16 11:47:21 UTC (rev 3675)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderFactoryImpl.java 2009-09-16 15:30:35 UTC (rev 3676)
@@ -27,12 +27,14 @@
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
+import javax.enterprise.inject.spi.AnnotatedType;
import javax.enterprise.inject.spi.BeanManager;
import org.jboss.webbeans.bean.builder.spi.DecoratorBeanBuilder;
import org.jboss.webbeans.bean.builder.spi.EnterpriseBeanBuilder;
import org.jboss.webbeans.bean.builder.spi.SimpleBeanBuilder;
import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
+import org.jboss.webbeans.ejb.spi.EjbDescriptor;
/**
*
@@ -72,43 +74,42 @@
}
}
- public SimpleBeanBuilder getSimpleBeanBuilder(BeanManager beanManager)
+ public <T> SimpleBeanBuilder<T> getSimpleBeanBuilder(BeanManager beanManager, AnnotatedType<T> annotatedType)
{
- return getBeanBuilderImpl(beanManager, false);
+ return getBeanBuilderImpl(beanManager, false, annotatedType, null, false);
}
- public EnterpriseBeanBuilder getEnterpriseBeanBuilder(BeanManager beanManager)
+ public <T> EnterpriseBeanBuilder<T> getEnterpriseBeanBuilder(BeanManager beanManager, EjbDescriptor<T> ejbDescriptor)
{
- return getBeanBuilderImpl(beanManager, false);
+ return getBeanBuilderImpl(beanManager, false, null, ejbDescriptor, false);
}
- public DecoratorBeanBuilder getDecoratorBeanBuilder(BeanManager beanManager)
+ public <T> DecoratorBeanBuilder<T> getDecoratorBeanBuilder(BeanManager beanManager, AnnotatedType<T> annotatedType)
{
- return getBeanBuilderImpl(beanManager, false);
+ return getBeanBuilderImpl(beanManager, false, annotatedType, null, true);
}
- public SimpleBeanBuilder getInternalSimpleBeanBuilder(BeanManager beanManager)
+ public <T> SimpleBeanBuilder<T> getInternalSimpleBeanBuilder(BeanManager beanManager, AnnotatedType<T> annotatedType)
{
- return getBeanBuilderImpl(beanManager, true);
+ return getBeanBuilderImpl(beanManager, true, annotatedType, null, false);
}
- public EnterpriseBeanBuilder getInternalEnterpriseBeanBuilder(BeanManager beanManager)
+ public <T> EnterpriseBeanBuilder<T> getInternalEnterpriseBeanBuilder(BeanManager beanManager, EjbDescriptor<T> ejbDescriptor)
{
- return getBeanBuilderImpl(beanManager, true);
+ return getBeanBuilderImpl(beanManager, true, null, ejbDescriptor, false);
}
- public DecoratorBeanBuilder getInternalDecoratorBeanBuilder(BeanManager beanManager)
+ public <T> DecoratorBeanBuilder<T> getInternalDecoratorBeanBuilder(BeanManager beanManager, AnnotatedType<T> annotatedType)
{
- return getBeanBuilderImpl(beanManager, true);
+ return getBeanBuilderImpl(beanManager, true, annotatedType, null, false);
}
- @Override
- public InternalObserverMethodBuilder getInternalObserverMethodBuilder(BeanManager beanManager)
+ public <T> InternalObserverMethodBuilder<T> getInternalObserverMethodBuilder(BeanManager beanManager, AnnotatedType<T> annotatedType)
{
- return getBeanBuilderImpl(beanManager, true);
+ return getBeanBuilderImpl(beanManager, true, annotatedType, null, false);
}
- private BeanBuilderImpl getBeanBuilderImpl(BeanManager beanManager, boolean delayInitialization)
+ private <T> BeanBuilderImpl<T> getBeanBuilderImpl(BeanManager beanManager, boolean delayInitialization, AnnotatedType<T> annotatedType, EjbDescriptor<T> ejbDescriptor, boolean decorator)
{
lock.readLock().lock();
try
@@ -122,11 +123,11 @@
if (environment == null)
throw new IllegalStateException("BeanManager registered but no longer valid " + beanManager);
- return new BeanBuilderImpl(beanManager, environment, delayInitialization);
+ return BeanBuilderImpl.initialiseBuilder(beanManager, environment, annotatedType, ejbDescriptor, decorator, delayInitialization);
}
finally
{
lock.readLock().unlock();
}
- }
+ }
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderImpl.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderImpl.java 2009-09-16 11:47:21 UTC (rev 3675)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderImpl.java 2009-09-16 15:30:35 UTC (rev 3676)
@@ -66,8 +66,20 @@
* @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
* @version $Revision: 1.1 $
*/
-public class BeanBuilderImpl implements SimpleBeanBuilder, EnterpriseBeanBuilder, DecoratorBeanBuilder, InternalObserverMethodBuilder
+public class BeanBuilderImpl<T> implements SimpleBeanBuilder<T>, EnterpriseBeanBuilder<T>, DecoratorBeanBuilder<T>, InternalObserverMethodBuilder<T>
{
+ private final AnnotatedType<T> type;
+
+ private final EjbDescriptor<T> ejbDescriptor;
+
+ private final boolean decorator;
+
+ private Bean<T> mainBean;
+
+ private Set<Bean<?>> beans;
+
+ private Set<ObserverMethod<T, ?>> observerMethods;
+
private final BeanManagerImpl beanManager;
private final BeanDeployerEnvironment beanDeployerEnvironment;
@@ -76,7 +88,7 @@
private final boolean delayInitialization;
- public BeanBuilderImpl(BeanManager beanManager, BeanDeployerEnvironment beanDeployerEnvironment, boolean delayInitialization)
+ private BeanBuilderImpl(BeanManager beanManager, BeanDeployerEnvironment beanDeployerEnvironment, AnnotatedType<T> type, EjbDescriptor<T> ejbDescriptor, boolean decorator, boolean delayInitialization)
{
if (beanManager != beanManager)
throw new IllegalStateException("beanManager is not an instance of " + BeanManagerImpl.class.getName());
@@ -84,27 +96,75 @@
this.beanDeployerEnvironment = beanDeployerEnvironment;
this.delayInitialization = delayInitialization;
+ this.decorator = decorator;
+ this.type = type;
+ this.ejbDescriptor = ejbDescriptor;
}
- public <T> Set<Bean<?>> createSimpleBeans(AnnotatedType<T> type)
+ static <T> BeanBuilderImpl<T> initialiseBuilder(BeanManager beanManager, BeanDeployerEnvironment beanDeployerEnvironment, AnnotatedType<T> type, EjbDescriptor<T> ejbDescriptor, boolean decorator, boolean delayInitialization)
{
+ if (type == null && ejbDescriptor == null)
+ throw new IllegalArgumentException("Need a type or an ejbDescriptor");
+ if (type != null && ejbDescriptor != null)
+ throw new IllegalArgumentException("Cannot pass in both type and ejbDescriptor");
+ if (beanManager == null)
+ throw new IllegalArgumentException("Null bean manager");
+ if (beanDeployerEnvironment == null)
+ throw new IllegalArgumentException("Null bean deployer environment");
+ if (ejbDescriptor != null && decorator)
+ throw new IllegalArgumentException("Cannot create a decorator from an ejb");
+
+ BeanBuilderImpl<T> builder = new BeanBuilderImpl<T>(beanManager, beanDeployerEnvironment, type, ejbDescriptor, decorator, delayInitialization);
+ builder.createBeans();
+
+ return builder;
+ }
+
+ public Set<ObserverMethod<T, ?>> getObserverMethods()
+ {
+ return observerMethods;
+ }
+
+ public Bean<T> getBean()
+ {
+ return mainBean;
+ }
+
+ public Set<Bean<?>> getBeans()
+ {
+ return beans;
+ }
+
+ private void createBeans()
+ {
+ if (decorator)
+ createDecorator(type);
+ else if (ejbDescriptor != null)
+ createBeans(ejbDescriptor);
+ else if (type != null)
+ createBeans(type);
+ }
+
+ private Set<Bean<?>> createBeans(AnnotatedType<T> type)
+ {
return createSimpleBeans(getWBClass(type));
}
- public <T> Set<Bean<?>> createEnterpriseBeans(EjbDescriptor<T> descriptor)
+ private Set<Bean<?>> createBeans(EjbDescriptor<T> descriptor)
{
return createEnterpriseBeans(getEjbDescriptor(descriptor));
}
- public <T> Set<Bean<?>> createDecorator(AnnotatedType<T> type)
+ private Bean<T> createDecorator(AnnotatedType<T> type)
{
return createDecorator(getWBClass(type));
}
- private <T> Set<Bean<?>> createSimpleBeans(WBClass<T> clazz)
+ private Set<Bean<?>> createSimpleBeans(WBClass<T> clazz)
{
- Set<Bean<?>> beans = new HashSet<Bean<?>>();
+ beans = new HashSet<Bean<?>>();
ManagedBean<T> bean = ManagedBean.of(clazz, beanManager);
+ mainBean = bean;
beanDeployerEnvironment.addBean(bean);
beans.add(bean);
@@ -123,10 +183,12 @@
return beans;
}
- private <T> Set<Bean<?>> createEnterpriseBeans(InternalEjbDescriptor<T> ejbDescriptor)
+ private Set<Bean<?>> createEnterpriseBeans(InternalEjbDescriptor<T> ejbDescriptor)
{
- Set<Bean<?>> beans = new HashSet<Bean<?>>();
+ beans = new HashSet<Bean<?>>();
SessionBean<T> bean = SessionBean.of(ejbDescriptor, beanManager);
+ mainBean = bean;
+
beanDeployerEnvironment.addBean(bean);
beans.add(bean);
if (!delayInitialization)
@@ -143,16 +205,16 @@
return beans;
}
- private <T> Set<Bean<?>> createDecorator(WBClass<T> annotatedClass)
+ private Bean<T> createDecorator(WBClass<T> annotatedClass)
{
- DecoratorImpl<?> bean = DecoratorImpl.of(annotatedClass, beanManager);
+ DecoratorImpl<T> bean = DecoratorImpl.of(annotatedClass, beanManager);
+ mainBean = bean;
+
beanDeployerEnvironment.addBean(bean);
if (!delayInitialization)
bean.initialize(beanDeployerEnvironment);
- HashSet<Bean<?>> beans = new HashSet<Bean<?>>();
- beans.add(bean);
- return beans;
+ return bean;
}
/**
@@ -162,14 +224,15 @@
* The class bean
*
*/
- protected <T> void createSubBeans(Set<Bean<?>> beans, AbstractClassBean<T> bean)
+ protected void createSubBeans(Set<Bean<?>> beans, AbstractClassBean<T> bean)
{
createProducerMethods(beans, bean, bean.getAnnotatedItem());
- createProducerFields(beans, bean, bean.getAnnotatedItem());
if (beanManager.isBeanEnabled(bean))
{
- createObserverMethods(bean, bean.getAnnotatedItem());
+ observerMethods = createObserverMethods(bean, bean.getAnnotatedItem());
}
+
+ createProducerFields(beans, bean, bean.getAnnotatedItem());
createDisposalMethods(beans, bean, bean.getAnnotatedItem());
}
@@ -219,15 +282,17 @@
bean.initialize(beanDeployerEnvironment);
}
- public <X> void createObserverMethods(RIBean<X> declaringBean, WBClass<X> annotatedClass)
+ public Set<ObserverMethod<T, ?>> createObserverMethods(RIBean<T> declaringBean, WBClass<T> annotatedClass)
{
- for (WBMethod<?, X> method : annotatedClass.getWBDeclaredMethodsWithAnnotatedParameters(Observes.class))
+ Set<ObserverMethod<T, ?>> methods = new HashSet<ObserverMethod<T, ?>>();
+ for (WBMethod<?, T> method : annotatedClass.getWBDeclaredMethodsWithAnnotatedParameters(Observes.class))
{
- createObserverMethod(declaringBean, method);
+ methods.add(createObserverMethod(declaringBean, method));
}
+ return methods;
}
- protected <X, T> void createObserverMethod(RIBean<X> declaringBean, WBMethod<T, X> method)
+ protected <X, T> ObserverMethodImpl<X, T> createObserverMethod(RIBean<X> declaringBean, WBMethod<T, X> method)
{
ObserverMethodImpl<X, T> observer = ObserverFactory.create(method, declaringBean, beanManager);
ProcessObserverMethod<?, ?> event = createProcessObserverMethodEvent(observer, method);
@@ -235,6 +300,7 @@
beanDeployerEnvironment.addObserver(observer);
if (!delayInitialization)
observer.initialize();
+ return observer;
}
private <X, T> ProcessObserverMethod<X, T> createProcessObserverMethodEvent(ObserverMethod<X, T> observer, AnnotatedMethod<X> method)
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/InternalBeanBuilderFactory.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/InternalBeanBuilderFactory.java 2009-09-16 11:47:21 UTC (rev 3675)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/InternalBeanBuilderFactory.java 2009-09-16 15:30:35 UTC (rev 3676)
@@ -21,6 +21,7 @@
*/
package org.jboss.webbeans.bean.builder;
+import javax.enterprise.inject.spi.AnnotatedType;
import javax.enterprise.inject.spi.BeanManager;
import org.jboss.webbeans.bean.builder.spi.BeanBuilderFactory;
@@ -28,6 +29,7 @@
import org.jboss.webbeans.bean.builder.spi.EnterpriseBeanBuilder;
import org.jboss.webbeans.bean.builder.spi.SimpleBeanBuilder;
import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
+import org.jboss.webbeans.ejb.spi.EjbDescriptor;
/**
*
@@ -42,13 +44,13 @@
return (InternalBeanBuilderFactory)BeanBuilderFactory.getInstance();
}
- public abstract SimpleBeanBuilder getInternalSimpleBeanBuilder(BeanManager beanManager);
+ public abstract <T> SimpleBeanBuilder<T> getInternalSimpleBeanBuilder(BeanManager beanManager, AnnotatedType<T> annotatedType);
- public abstract EnterpriseBeanBuilder getInternalEnterpriseBeanBuilder(BeanManager beanManager);
+ public abstract <T> EnterpriseBeanBuilder<T> getInternalEnterpriseBeanBuilder(BeanManager beanManager, EjbDescriptor<T> ejbDescriptor);
- public abstract DecoratorBeanBuilder getInternalDecoratorBeanBuilder(BeanManager beanManager);
+ public abstract <T> DecoratorBeanBuilder<T> getInternalDecoratorBeanBuilder(BeanManager beanManager, AnnotatedType<T> annotatedType);
- public abstract InternalObserverMethodBuilder getInternalObserverMethodBuilder(BeanManager beanManager);
+ public abstract <T> InternalObserverMethodBuilder<T> getInternalObserverMethodBuilder(BeanManager beanManager, AnnotatedType<T> annotatedType);
public abstract void registerBeanManager(BeanManager manager, BeanDeployerEnvironment environment);
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/InternalObserverMethodBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/InternalObserverMethodBuilder.java 2009-09-16 11:47:21 UTC (rev 3675)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/InternalObserverMethodBuilder.java 2009-09-16 15:30:35 UTC (rev 3676)
@@ -21,6 +21,10 @@
*/
package org.jboss.webbeans.bean.builder;
+import java.util.Set;
+
+import javax.enterprise.inject.spi.ObserverMethod;
+
import org.jboss.webbeans.bean.RIBean;
import org.jboss.webbeans.introspector.WBClass;
@@ -29,7 +33,7 @@
* @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
* @version $Revision: 1.1 $
*/
-public interface InternalObserverMethodBuilder
+public interface InternalObserverMethodBuilder<T>
{
- <X> void createObserverMethods(RIBean<X> declaringBean, WBClass<X> annotatedClass);
+ Set<ObserverMethod<T, ?>> createObserverMethods(RIBean<T> declaringBean, WBClass<T> annotatedClass);
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/BeanBuilderFactory.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/BeanBuilderFactory.java 2009-09-16 11:47:21 UTC (rev 3675)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/BeanBuilderFactory.java 2009-09-16 15:30:35 UTC (rev 3676)
@@ -21,9 +21,12 @@
*/
package org.jboss.webbeans.bean.builder.spi;
+import javax.enterprise.inject.spi.AnnotatedType;
import javax.enterprise.inject.spi.BeanManager;
+import org.jboss.webbeans.ejb.spi.EjbDescriptor;
+
/**
*
* @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
@@ -51,9 +54,9 @@
return INSTANCE;
}
- public abstract SimpleBeanBuilder getSimpleBeanBuilder(BeanManager beanManager);
+ public abstract <T> SimpleBeanBuilder<T> getSimpleBeanBuilder(BeanManager beanManager, AnnotatedType<T> type);
- public abstract EnterpriseBeanBuilder getEnterpriseBeanBuilder(BeanManager beanManager);
+ public abstract <T> EnterpriseBeanBuilder<T> getEnterpriseBeanBuilder(BeanManager beanManager, EjbDescriptor<T> type);
- public abstract DecoratorBeanBuilder getDecoratorBeanBuilder(BeanManager beanManager);
+ public abstract <T> DecoratorBeanBuilder<T> getDecoratorBeanBuilder(BeanManager beanManager, AnnotatedType<T> type);
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/DecoratorBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/DecoratorBeanBuilder.java 2009-09-16 11:47:21 UTC (rev 3675)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/DecoratorBeanBuilder.java 2009-09-16 15:30:35 UTC (rev 3676)
@@ -21,9 +21,6 @@
*/
package org.jboss.webbeans.bean.builder.spi;
-import java.util.Set;
-
-import javax.enterprise.inject.spi.AnnotatedType;
import javax.enterprise.inject.spi.Bean;
/**
@@ -31,7 +28,7 @@
* @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
* @version $Revision: 1.1 $
*/
-public interface DecoratorBeanBuilder
+public interface DecoratorBeanBuilder<T>
{
- <T> Set<Bean<?>> createDecorator(AnnotatedType<T> type);
+ Bean<T> getBean();
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/EnterpriseBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/EnterpriseBeanBuilder.java 2009-09-16 11:47:21 UTC (rev 3675)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/EnterpriseBeanBuilder.java 2009-09-16 15:30:35 UTC (rev 3676)
@@ -21,18 +21,12 @@
*/
package org.jboss.webbeans.bean.builder.spi;
-import java.util.Set;
-import javax.enterprise.inject.spi.Bean;
-
-import org.jboss.webbeans.ejb.spi.EjbDescriptor;
-
/**
*
* @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
* @version $Revision: 1.1 $
*/
-public interface EnterpriseBeanBuilder
+public interface EnterpriseBeanBuilder<T> extends ManagedBeanBuilder<T>
{
- <T> Set<Bean<?>> createEnterpriseBeans(EjbDescriptor<T> descriptor);
}
Added: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/ManagedBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/ManagedBeanBuilder.java (rev 0)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/ManagedBeanBuilder.java 2009-09-16 15:30:35 UTC (rev 3676)
@@ -0,0 +1,38 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.webbeans.bean.builder.spi;
+
+import java.util.Set;
+
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.ObserverMethod;
+
+/**
+ *
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public interface ManagedBeanBuilder<T>
+{
+ Set<Bean<?>> getBeans();
+ Set<ObserverMethod<T, ?>> getObserverMethods();
+}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/SimpleBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/SimpleBeanBuilder.java 2009-09-16 11:47:21 UTC (rev 3675)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/spi/SimpleBeanBuilder.java 2009-09-16 15:30:35 UTC (rev 3676)
@@ -21,17 +21,12 @@
*/
package org.jboss.webbeans.bean.builder.spi;
-import java.util.Set;
-import javax.enterprise.inject.spi.AnnotatedType;
-import javax.enterprise.inject.spi.Bean;
-
/**
*
* @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
* @version $Revision: 1.1 $
*/
-public interface SimpleBeanBuilder
+public interface SimpleBeanBuilder<T> extends ManagedBeanBuilder<T>
{
- <T> Set<Bean<?>> createSimpleBeans(AnnotatedType<T> type);
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/AbstractBeanDeployer.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/AbstractBeanDeployer.java 2009-09-16 11:47:21 UTC (rev 3675)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/AbstractBeanDeployer.java 2009-09-16 15:30:35 UTC (rev 3676)
@@ -100,21 +100,18 @@
protected <T> void createSimpleBean(WBClass<T> annotatedClass)
{
- SimpleBeanBuilder builder = beanBuilderFactory.getInternalSimpleBeanBuilder(manager);
- builder.createSimpleBeans(annotatedClass);
+ SimpleBeanBuilder<T> builder = beanBuilderFactory.getInternalSimpleBeanBuilder(manager, annotatedClass);
}
protected <T> void createDecorator(WBClass<T> annotatedClass)
{
- DecoratorBeanBuilder builder = beanBuilderFactory.getInternalDecoratorBeanBuilder(manager);
- builder.createDecorator(annotatedClass);
+ DecoratorBeanBuilder<T> builder = beanBuilderFactory.getInternalDecoratorBeanBuilder(manager, annotatedClass);
}
protected <T> void createEnterpriseBean(InternalEjbDescriptor<T> ejbDescriptor)
{
// TODO Don't create enterprise bean if it has no local interfaces!
- EnterpriseBeanBuilder builder = beanBuilderFactory.getInternalEnterpriseBeanBuilder(manager);
- builder.createEnterpriseBeans(ejbDescriptor);
+ EnterpriseBeanBuilder<T> builder = beanBuilderFactory.getInternalEnterpriseBeanBuilder(manager, ejbDescriptor);
}
/**
@@ -165,5 +162,4 @@
{
return environment;
}
-
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployer.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployer.java 2009-09-16 11:47:21 UTC (rev 3675)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployer.java 2009-09-16 15:30:35 UTC (rev 3676)
@@ -17,18 +17,45 @@
package org.jboss.webbeans.bootstrap;
import java.util.HashSet;
+import java.util.List;
import java.util.Set;
-import javax.decorator.Decorator;
import javax.enterprise.inject.spi.AnnotatedType;
-import javax.interceptor.Interceptor;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.ObserverMethod;
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.Container;
+import org.jboss.webbeans.bean.builtin.AbstractBuiltInBean;
+import org.jboss.webbeans.bean.builtin.DefaultValidatorBean;
+import org.jboss.webbeans.bean.builtin.DefaultValidatorFactoryBean;
+import org.jboss.webbeans.bean.builtin.InjectionPointBean;
+import org.jboss.webbeans.bean.builtin.ManagerBean;
+import org.jboss.webbeans.bean.builtin.PrincipalBean;
+import org.jboss.webbeans.bean.builtin.UserTransactionBean;
+import org.jboss.webbeans.bean.builtin.facade.EventBean;
+import org.jboss.webbeans.bean.builtin.facade.InstanceBean;
+import org.jboss.webbeans.bootstrap.api.Environments;
+import org.jboss.webbeans.builder.sorter.DecoratorDeploymentItem;
+import org.jboss.webbeans.builder.sorter.DeploymentItem;
+import org.jboss.webbeans.builder.sorter.DeploymentSorterAction;
+import org.jboss.webbeans.builder.sorter.EjbDeploymentItem;
+import org.jboss.webbeans.builder.sorter.SimpleDeploymentItem;
+import org.jboss.webbeans.builder.sorter.Sorter;
+import org.jboss.webbeans.conversation.ConversationImpl;
+import org.jboss.webbeans.conversation.JavaSEConversationTerminator;
+import org.jboss.webbeans.conversation.NumericConversationIdGenerator;
+import org.jboss.webbeans.conversation.ServletConversationManager;
import org.jboss.webbeans.ejb.EjbDescriptors;
-import org.jboss.webbeans.ejb.InternalEjbDescriptor;
+import org.jboss.webbeans.event.ObserverMethodImpl;
import org.jboss.webbeans.introspector.WBClass;
+import org.jboss.webbeans.log.LogProvider;
+import org.jboss.webbeans.log.Logging;
import org.jboss.webbeans.resources.ClassTransformer;
+import org.jboss.webbeans.security.spi.SecurityServices;
+import org.jboss.webbeans.servlet.HttpSessionManager;
+import org.jboss.webbeans.transaction.spi.TransactionServices;
+import org.jboss.webbeans.validation.spi.ValidationServices;
/**
* @author pmuir
@@ -36,6 +63,7 @@
*/
public class BeanDeployer extends AbstractBeanDeployer
{
+ private static final LogProvider log = Logging.getLogProvider(BeanDeployer.class);
private final BeanManagerImpl deploymentManager;
@@ -99,27 +127,117 @@
public AbstractBeanDeployer createBeans()
{
- for (WBClass<?> clazz : classes)
+// for (WBClass<?> clazz : classes)
+// {
+// boolean managedBeanOrDecorator = !getEnvironment().getEjbDescriptors().contains(clazz.getJavaClass()) && isTypeManagedBeanOrDecorator(clazz);
+// if (managedBeanOrDecorator && clazz.isAnnotationPresent(Decorator.class))
+// {
+// createDecorator(clazz);
+// }
+// else if (managedBeanOrDecorator && clazz.isAnnotationPresent(Interceptor.class))
+// {
+// //createInterceptor(clazz);
+// }
+// else if (managedBeanOrDecorator && !clazz.isAbstract())
+// {
+// createSimpleBean(clazz);
+// }
+// }
+// for (InternalEjbDescriptor<?> ejbDescriptor : getEnvironment().getEjbDescriptors())
+// {
+// createEnterpriseBean(ejbDescriptor);
+// }
+ return this;
+ }
+
+ @Override
+ public AbstractBeanDeployer deploy()
+ {
+ Sorter sorter = Sorter.createSorter(getManager(), classes, getEnvironment().getEjbDescriptors());
+ List<DeploymentItem<?>> sortedItems = sorter.sort();
+
+ addBuiltInBeans();
+
+ DeploymentItemDeployerAction deployerAction = new DeploymentItemDeployerAction();
+ Set<ObserverMethod<?, ?>> observers = new HashSet<ObserverMethod<?, ?>>();
+ for (DeploymentItem<?> item : sortedItems)
{
- boolean managedBeanOrDecorator = !getEnvironment().getEjbDescriptors().contains(clazz.getJavaClass()) && isTypeManagedBeanOrDecorator(clazz);
- if (managedBeanOrDecorator && clazz.isAnnotationPresent(Decorator.class))
+ item.executeAction(deployerAction);
+ observers.addAll(item.getObserverMethods(getManager(), getEnvironment()));
+ }
+
+ for (ObserverMethod<?, ?> observer : observers)
+ {
+ log.debug("Observer : " + observer);
+ if (observer instanceof ObserverMethodImpl<?, ?>)
{
- createDecorator(clazz);
+ ((ObserverMethodImpl<?, ?>)observer).initialize();
}
- else if (managedBeanOrDecorator && clazz.isAnnotationPresent(Interceptor.class))
- {
- //createInterceptor(clazz);
- }
- else if (managedBeanOrDecorator && !clazz.isAbstract())
- {
- createSimpleBean(clazz);
- }
+ getManager().addObserver(observer);
}
- for (InternalEjbDescriptor<?> ejbDescriptor : getEnvironment().getEjbDescriptors())
+ return this;
+ }
+
+ private void addBuiltInBeans()
+ {
+ addBuiltinBean(new ManagerBean(getManager()));
+ addBuiltinBean(new InjectionPointBean(getManager()));
+ addBuiltinBean(new EventBean(getManager()));
+ addBuiltinBean(new InstanceBean(getManager()));
+ if (getManager().getServices().contains(TransactionServices.class))
{
- createEnterpriseBean(ejbDescriptor);
+ addBuiltinBean(new UserTransactionBean(getManager()));
}
- return this;
+ if (getManager().getServices().contains(SecurityServices.class))
+ {
+ addBuiltinBean(new PrincipalBean(getManager()));
+ }
+ if (getManager().getServices().contains(ValidationServices.class))
+ {
+ addBuiltinBean(new DefaultValidatorBean(getManager()));
+ addBuiltinBean(new DefaultValidatorFactoryBean(getManager()));
+ }
}
+
+ private void addBuiltinBean(AbstractBuiltInBean<?> bean)
+ {
+ getEnvironment().addBean(bean);
+ getManager().addBean(bean);
+ }
+
+ private class DeploymentItemDeployerAction implements DeploymentSorterAction
+ {
+ public Object execute(EjbDeploymentItem<?> deploymentItem)
+ {
+ return deployBean(deploymentItem);
+ }
+ public Object execute(SimpleDeploymentItem<?> deploymentItem)
+ {
+ return deployBean(deploymentItem);
+ }
+
+ public Object execute(DecoratorDeploymentItem<?> deploymentItem)
+ {
+ Set<Bean<?>> beans = deploymentItem.getBeans(getManager(), getEnvironment());
+ if (beans.size() != 1)
+ throw new IllegalStateException("Expected exactly one bean: " + beans);
+
+ Bean<?> bean = beans.iterator().next();
+ getManager().addBean(bean);
+ log.debug("Decorator: " + bean);
+ return null;
+ }
+
+ private Object deployBean(DeploymentItem<?> deploymentItem)
+ {
+ Set<Bean<?>> beans = deploymentItem.getBeans(getManager(), getEnvironment());
+ for (Bean<?> bean : beans)
+ {
+ getManager().addBean(bean);
+ log.debug("Bean: " + bean);
+ }
+ return null;
+ }
+ }
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/ExtensionBeanDeployer.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/ExtensionBeanDeployer.java 2009-09-16 11:47:21 UTC (rev 3675)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/ExtensionBeanDeployer.java 2009-09-16 15:30:35 UTC (rev 3676)
@@ -56,7 +56,7 @@
bean.initialize(getEnvironment());
getEnvironment().addBean(bean);
- InternalObserverMethodBuilder observerMethodBuilder = getBeanBuilderFactory().getInternalObserverMethodBuilder(getManager());
+ InternalObserverMethodBuilder<Extension> observerMethodBuilder = getBeanBuilderFactory().getInternalObserverMethodBuilder(getManager(), clazz);
observerMethodBuilder.createObserverMethods(bean, clazz);
}
return this;
Added: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DecoratorDeploymentItem.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DecoratorDeploymentItem.java (rev 0)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DecoratorDeploymentItem.java 2009-09-16 15:30:35 UTC (rev 3676)
@@ -0,0 +1,75 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.webbeans.builder.sorter;
+
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.ObserverMethod;
+
+import org.jboss.webbeans.BeanManagerImpl;
+import org.jboss.webbeans.bean.builder.spi.BeanBuilderFactory;
+import org.jboss.webbeans.bean.builder.spi.DecoratorBeanBuilder;
+import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
+import org.jboss.webbeans.introspector.WBClass;
+
+/**
+ *
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class DecoratorDeploymentItem<T> extends DeploymentItem<T>
+{
+ DecoratorDeploymentItem(Set<DeploymentItem<?>> allItems, WBClass<T> clazz)
+ {
+ super(allItems, clazz);
+ }
+
+ @Override
+ DeploymentItem<T> getSuperClassDependency()
+ {
+ return null;
+ }
+
+ @Override
+ public void initialiseBeans(BeanManagerImpl manager, BeanDeployerEnvironment environment)
+ {
+ DecoratorBeanBuilder<T> builder = BeanBuilderFactory.getInstance().getDecoratorBeanBuilder(manager, getWBClass());
+ setValues(createSet(builder.getBean()), (Set<ObserverMethod<T, ?>>)null);
+ }
+
+ private Set<Bean<?>> createSet(Bean<T> bean)
+ {
+ @SuppressWarnings("unchecked")
+ Set<Bean<?>> beans = new HashSet();
+ beans.add(bean);
+ return beans;
+ }
+
+ @Override
+ public void executeAction(DeploymentSorterAction action)
+ {
+ action.execute(this);
+ }
+}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DeploymentItem.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DeploymentItem.java 2009-09-16 11:47:21 UTC (rev 3675)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DeploymentItem.java 2009-09-16 15:30:35 UTC (rev 3676)
@@ -27,7 +27,11 @@
import java.util.Set;
import javax.enterprise.inject.Specializes;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.ObserverMethod;
+import org.jboss.webbeans.BeanManagerImpl;
+import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
import org.jboss.webbeans.introspector.WBClass;
/**
@@ -43,15 +47,18 @@
private List<DeploymentItem<?>> dependencies = Collections.emptyList();
- private WBClass<?> clazz;
+ private WBClass<T> clazz;
private volatile int hashCode;
// Cached string representation
private String toString;
-
- DeploymentItem(Set<DeploymentItem<?>> allItems, WBClass<?> clazz)
+ Set<Bean<?>> beans;
+
+ Set<ObserverMethod<T, ?>> observers;
+
+ DeploymentItem(Set<DeploymentItem<?>> allItems, WBClass<T> clazz)
{
this.allItems = allItems;
this.clazz = clazz;
@@ -77,21 +84,20 @@
dependencies.add(dependency);
}
- public abstract T getUnderlyingItem();
- DeploymentItem<T> findDeploymentItem(DeploymentItem<T> item)
+ <X> DeploymentItem<X> findDeploymentItem(DeploymentItem<X> item)
{
for (DeploymentItem<?> candidate : allItems)
{
if (candidate.equals(item))
- return (DeploymentItem<T>)candidate;
+ return (DeploymentItem<X>)candidate;
}
return null;
}
- abstract DeploymentItem<T> getSuperClassDependency();
+ abstract DeploymentItem<? super T> getSuperClassDependency();
- public WBClass<?> getWBClass()
+ public WBClass<T> getWBClass()
{
return clazz;
}
@@ -138,4 +144,37 @@
toString = "WBClassDeploymentItem{" + clazz.toString() + "}";
return toString;
}
+
+ abstract void initialiseBeans(BeanManagerImpl manager, BeanDeployerEnvironment environment);
+
+ public abstract void executeAction(DeploymentSorterAction action);
+
+ void setValues(Set<Bean<?>> beans, Set<ObserverMethod<T, ?>> observers)
+ {
+ if (beans == null)
+ throw new IllegalArgumentException("Null beans");
+
+ this.beans = beans;
+ if (observers == null)
+ this.observers = Collections.emptySet();
+ else
+ this.observers = observers;
+ }
+
+ public Set<Bean<?>> getBeans(BeanManagerImpl manager, BeanDeployerEnvironment environment)
+ {
+ if (beans == null)
+ initialiseBeans(manager, environment);
+
+ return beans;
+ }
+
+ public Set<ObserverMethod<T, ?>> getObserverMethods(BeanManagerImpl manager, BeanDeployerEnvironment environment)
+ {
+ if (beans == null)
+ initialiseBeans(manager, environment);
+
+ return observers;
+ }
}
+
Added: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DeploymentSorterAction.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DeploymentSorterAction.java (rev 0)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/DeploymentSorterAction.java 2009-09-16 15:30:35 UTC (rev 3676)
@@ -0,0 +1,36 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.webbeans.builder.sorter;
+
+/**
+ *
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public interface DeploymentSorterAction
+{
+ Object execute(EjbDeploymentItem<?> deploymentItem);
+
+ Object execute(SimpleDeploymentItem<?> deploymentItem);
+
+ Object execute(DecoratorDeploymentItem<?> deploymentItem);
+}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/EjbDeploymentItem.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/EjbDeploymentItem.java 2009-09-16 11:47:21 UTC (rev 3675)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/EjbDeploymentItem.java 2009-09-16 15:30:35 UTC (rev 3676)
@@ -21,9 +21,17 @@
*/
package org.jboss.webbeans.builder.sorter;
+import java.util.Collections;
import java.util.Set;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.ObserverMethod;
+
+import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.DefinitionException;
+import org.jboss.webbeans.bean.builder.spi.BeanBuilderFactory;
+import org.jboss.webbeans.bean.builder.spi.EnterpriseBeanBuilder;
+import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
import org.jboss.webbeans.ejb.EjbDescriptors;
import org.jboss.webbeans.ejb.InternalEjbDescriptor;
import org.jboss.webbeans.introspector.WBClass;
@@ -33,41 +41,53 @@
* @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
* @version $Revision: 1.1 $
*/
-class EjbDeploymentItem extends DeploymentItem<InternalEjbDescriptor<?>>
+public class EjbDeploymentItem<T> extends DeploymentItem<T>
{
- private InternalEjbDescriptor<?> ejbDescriptor;
+ private InternalEjbDescriptor<T> ejbDescriptor;
private EjbDescriptors allDescriptors;
- EjbDeploymentItem(Set<DeploymentItem<?>> allItems, EjbDescriptors allDescriptors, WBClass<?> clazz, InternalEjbDescriptor<?> ejbDescriptor)
+ private Set<Bean<?>> beans;
+ private ObserverMethod<T, ?> observerMethods;
+
+ EjbDeploymentItem(Set<DeploymentItem<?>> allItems, EjbDescriptors allDescriptors, WBClass<T> clazz, InternalEjbDescriptor<T> ejbDescriptor)
{
super(allItems, clazz);
this.ejbDescriptor = ejbDescriptor;
this.allDescriptors = allDescriptors;
}
- public InternalEjbDescriptor<?> getUnderlyingItem()
+ DeploymentItem<? super T> getSuperClassDependency()
{
- return ejbDescriptor;
- }
-
- DeploymentItem<InternalEjbDescriptor<?>> getSuperClassDependency()
- {
//This needs revisiting
Class<?> superClass = getWBClass().getWBSuperclass().getJavaClass();
for (InternalEjbDescriptor<?> ejb : allDescriptors)
{
if (ejb.getBeanClass().equals(superClass))
{
- DeploymentItem<InternalEjbDescriptor<?>> item = new EjbDeploymentItem(null, null, getWBClass().getWBSuperclass(), ejb);
- DeploymentItem<?> found = findDeploymentItem(item);
+ @SuppressWarnings("unchecked")
+ DeploymentItem<? super T> item = new EjbDeploymentItem(null, null, getWBClass().getWBSuperclass(), ejb);
+ DeploymentItem<? super T> found = findDeploymentItem(item);
if (found == null || found instanceof EjbDeploymentItem == false)
{
throw new DefinitionException(toString() + " annotation defined specializing EJB must have EJB superclass " + ejbDescriptor.getEjbName() + "(" + ejbDescriptor.getBeanClass() + ")");
}
- return (EjbDeploymentItem)found;
+ return found;
}
}
throw new DefinitionException(toString() + " does not specialize an EJB " + ejbDescriptor.getEjbName() + "(" + ejbDescriptor.getBeanClass() + ")");
}
+
+ @Override
+ public void initialiseBeans(BeanManagerImpl manager, BeanDeployerEnvironment environment)
+ {
+ EnterpriseBeanBuilder<T> builder = BeanBuilderFactory.getInstance().getEnterpriseBeanBuilder(manager, ejbDescriptor);
+ setValues(builder.getBeans(), builder.getObserverMethods());
+ }
+
+ @Override
+ public void executeAction(DeploymentSorterAction action)
+ {
+ action.execute(this);
+ }
}
Copied: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/SimpleDeploymentItem.java (from rev 3670, ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/WBClassDeploymentItem.java)
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/SimpleDeploymentItem.java (rev 0)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/SimpleDeploymentItem.java 2009-09-16 15:30:35 UTC (rev 3676)
@@ -0,0 +1,69 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file in the
+* distribution for a full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.webbeans.builder.sorter;
+
+import java.util.Set;
+
+import org.jboss.webbeans.BeanManagerImpl;
+import org.jboss.webbeans.DefinitionException;
+import org.jboss.webbeans.bean.builder.spi.BeanBuilderFactory;
+import org.jboss.webbeans.bean.builder.spi.SimpleBeanBuilder;
+import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
+import org.jboss.webbeans.introspector.WBClass;
+
+/**
+ *
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class SimpleDeploymentItem<T> extends DeploymentItem<T>
+{
+ SimpleDeploymentItem(Set<DeploymentItem<?>> allItems, WBClass<T> clazz)
+ {
+ super(allItems, clazz);
+ }
+
+ DeploymentItem<? super T> getSuperClassDependency()
+ {
+ DeploymentItem<? super T> item = new SimpleDeploymentItem(null, getWBClass().getWBSuperclass());
+ DeploymentItem<? super T> found = findDeploymentItem(item);
+ if (found == null || found instanceof SimpleDeploymentItem == false)
+ {
+ throw new DefinitionException("Simple bean must specialize a simple bean " + getWBClass());
+ }
+
+ return found;
+ }
+
+ @Override
+ public void initialiseBeans(BeanManagerImpl manager, BeanDeployerEnvironment environment)
+ {
+ SimpleBeanBuilder<T> builder = BeanBuilderFactory.getInstance().getSimpleBeanBuilder(manager, getWBClass());
+ setValues(builder.getBeans(), builder.getObserverMethods());
+ }
+
+ @Override
+ public void executeAction(DeploymentSorterAction action)
+ {
+ action.execute(this);
+ }
+}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/Sorter.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/Sorter.java 2009-09-16 11:47:21 UTC (rev 3675)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/Sorter.java 2009-09-16 15:30:35 UTC (rev 3676)
@@ -96,16 +96,18 @@
{
for (WBClass<?> clazz : classes)
{
- WBClassDeploymentItem item = new WBClassDeploymentItem(Collections.unmodifiableSet(unsortedItems), clazz);
boolean managedBeanOrDecorator = !ejbDescriptors.contains(clazz.getJavaClass()) && isTypeManagedBeanOrDecorator(clazz);
- if (managedBeanOrDecorator && clazz.isAnnotationPresent(Decorator.class))
+ if (managedBeanOrDecorator)
{
- decoratorItems.add(item);
+ if (clazz.isAnnotationPresent(Decorator.class))
+ {
+ decoratorItems.add(new DecoratorDeploymentItem(Collections.unmodifiableSet(unsortedItems), clazz));
+ }
+ else if (!clazz.isAbstract())
+ {
+ unsortedItems.add(new SimpleDeploymentItem(Collections.unmodifiableSet(unsortedItems), clazz));
+ }
}
- else
- {
- unsortedItems.add(item);
- }
}
for (InternalEjbDescriptor<?> ejb : ejbDescriptors)
{
Deleted: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/WBClassDeploymentItem.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/WBClassDeploymentItem.java 2009-09-16 11:47:21 UTC (rev 3675)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/builder/sorter/WBClassDeploymentItem.java 2009-09-16 15:30:35 UTC (rev 3676)
@@ -1,57 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source.
-* Copyright 2006, Red Hat Middleware LLC, and individual contributors
-* as indicated by the @author tags. See the copyright.txt file in the
-* distribution for a full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.webbeans.builder.sorter;
-
-import java.util.Set;
-
-import org.jboss.webbeans.DefinitionException;
-import org.jboss.webbeans.introspector.WBClass;
-
-/**
- *
- * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
- * @version $Revision: 1.1 $
- */
-class WBClassDeploymentItem extends DeploymentItem<WBClass<?>>
-{
- WBClassDeploymentItem(Set<DeploymentItem<?>> allItems, WBClass<?> clazz)
- {
- super(allItems, clazz);
- }
-
- public WBClass<?> getUnderlyingItem()
- {
- return getWBClass();
- }
-
- DeploymentItem<WBClass<?>> getSuperClassDependency()
- {
- DeploymentItem<WBClass<?>> item = new WBClassDeploymentItem(null, getWBClass().getWBSuperclass());
- DeploymentItem<WBClass<?>> found = findDeploymentItem(item);
- if (found == null || found instanceof WBClassDeploymentItem == false)
- {
- throw new DefinitionException("Simple bean must specialize a simple bean " + getWBClass());
- }
-
- return found;
- }
-}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/Beans.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/Beans.java 2009-09-16 11:47:21 UTC (rev 3675)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/Beans.java 2009-09-16 15:30:35 UTC (rev 3676)
@@ -477,7 +477,7 @@
constructor = ConstructorInjectionPoint.of(declaringBean, type.getNoArgsWBConstructor());
log.trace("Exactly one constructor (" + constructor + ") defined, using it as the bean constructor for " + type);
}
-
+
if (constructor == null)
{
throw new DefinitionException("Cannot determine constructor to use for " + type);
16 years, 7 months
[webbeans-commits] Webbeans SVN: r3675 - /.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-09-16 07:47:21 -0400 (Wed, 16 Sep 2009)
New Revision: 3675
Added:
webbeans-embedded-tck-runner/
Log:
16 years, 7 months