[webbeans-commits] Webbeans SVN: r3032 - /.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-07-08 05:28:07 -0400 (Wed, 08 Jul 2009)
New Revision: 3032
Added:
webbeans-jboss-tck-runner/
Log:
15 years, 2 months
[webbeans-commits] Webbeans SVN: r3029 - /.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-07-08 05:27:47 -0400 (Wed, 08 Jul 2009)
New Revision: 3029
Added:
webbeans-build-aggregator/
Log:
15 years, 2 months
[webbeans-commits] Webbeans SVN: r3026 - tck/trunk/impl/src/main/resources.
by webbeans-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2009-07-07 23:30:28 -0400 (Tue, 07 Jul 2009)
New Revision: 3026
Modified:
tck/trunk/impl/src/main/resources/tck-audit.xml
Log:
updated section 4 assertions to latest version of spec
Modified: tck/trunk/impl/src/main/resources/tck-audit.xml
===================================================================
--- tck/trunk/impl/src/main/resources/tck-audit.xml 2009-07-07 22:13:04 UTC (rev 3025)
+++ tck/trunk/impl/src/main/resources/tck-audit.xml 2009-07-08 03:30:28 UTC (rev 3026)
@@ -1408,55 +1408,11 @@
<assertion id="bd">
<text>For class X which is extended _indirectly_ by the bean class of a _managed_ bean Y, if X is annotated with a _scope type_ Z then Y inherits the annotation if and only if Z declares the |@Inherited| meta-annotation and neither Y nor any intermediate class that is a subclass of X and a superclass of Y declares a scope type.</text>
</assertion>
-
- <assertion id="ca">
- <text>For class X which is extended _directly_ by the bean class of a _managed_ bean Y, if X is annotated with a _deployment type_ Z then Y inherits the annotation if and only if Z declares the |@Inherited| meta-annotation and Y does not declare a deployment type.</text>
+
+ <assertion id="hhh">
+ <text>A scope type explicitly declared by X and inherited by Y from X takes precedence over default scopes of stereotypes declared or inherited by Y.</text>
</assertion>
-
- <assertion id="cb">
- <text>For class X which is extended _directly_ by the bean class of a _managed_ bean Y, if X is annotated with a _deployment type_ Z then Y inherits the annotation if and only if Z declares the |@Inherited| meta-annotation and Y does not declare a deployment type.</text>
- </assertion>
-
- <assertion id="cc">
- <text>For class X which is extended _indirectly_ by the bean class of a _managed_ bean Y, if X is annotated with a _deployment type_ Z then Y inherits the annotation if and only if Z declares the |@Inherited| meta-annotation and neither Y nor any intermediate class that is a subclass of X and a superclass of Y declares a deployment type.</text>
- </assertion>
-
- <assertion id="cd">
- <text>For class X which is extended _indirectly_ by the bean class of a _managed_ bean Y, if X is annotated with a _deployment type_ Z then Y inherits the annotation if and only if Z declares the |@Inherited| meta-annotation and neither Y nor any intermediate class that is a subclass of X and a superclass of Y declares a deployment type.</text>
- </assertion>
-
- <assertion id="daa">
- <text>For class X which is extended _directly_ by the bean class of a _managed_ bean Y, the _scope types_ explicitly declared by and inherited from the class X take precedence over default _scopes_ declared by stereotypes.</text>
- </assertion>
-
- <assertion id="dab">
- <text>For class X which is extended _directly_ by the bean class of a _managed_ bean Y, the _deployment types_ explicitly declared by and inherited from the class X take precedence over deployment _deployment types_ declared by stereotypes.</text>
- </assertion>
-
- <assertion id="dba">
- <text>For class X which is extended _directly_ by the bean class of a _managed_ bean Y, the _scope types_ explicitly declared by and inherited from the class X take precedence over default _scopes_ declared by stereotypes.</text>
- </assertion>
-
- <assertion id="dbb">
- <text>For class X which is extended _directly_ by the bean class of a _managed_ bean Y, the _deployment types_ explicitly declared by and inherited from the class X take precedence over default _deployment types_ declared by stereotypes.</text>
- </assertion>
-
- <assertion id="dca">
- <text>For class X which is extended _indirectly_ by the bean class of a _managed_ bean Y, the _scope types_ explicitly declared by and inherited from the class X take precedence over default _scopes_ declared by stereotypes.</text>
- </assertion>
-
- <assertion id="dcb">
- <text>For class X which is extended _indirectly_ by the bean class of a _managed_ bean Y, the _deployment types_ explicitly declared by and inherited from the class X take precedence over default _deployment_ types declared by stereotypes.</text>
- </assertion>
-
- <assertion id="dda">
- <text>For class X which is extended _indirectly_ by the bean class of a _managed_ bean Y, the _scope types_ explicitly declared by and inherited from the class X take precedence over default _scopes_ declared by stereotypes.</text>
- </assertion>
-
- <assertion id="ddb">
- <text>For class X which is extended _indirectly_ by the bean class of a _managed_ bean Y, the _deployment types_ explicitly declared by and inherited from the class X take precedence over _deployment types_ declared by stereotypes.</text>
- </assertion>
-
+
<assertion id="i" testable="false">
<text>For annotations defined by the bean specification, all built-in _scope types_ are declared |@Inherited|</text>
<note>sigtest</note>
@@ -1472,11 +1428,6 @@
<note>sigtest</note>
</assertion>
- <assertion id="l" testable="false">
- <text>For annotations defined by the bean specification, _the built-in deployment type is not declared |@Inherited|_</text>
- <note>sigtest</note>
- </assertion>
-
<assertion id="m" testable="false">
<text>The |@Named| annotation is not declared |@Inherited| and bean EL names are not inherited unless specialization is used</text>
<note>sigtest</note>
@@ -1539,7 +1490,7 @@
</assertion>
<assertion id="db">
- <text>For class X which is extended _directly_ by the bean class of a _managed_ bean Y, if X declares a _non-static disposal method_ x() then Y does not inherit this method unless Y is explicitly declared to specialize X</text>
+ <text>For class X which is extended _directly_ by the bean class of a _managed_ bean Y, if X declares a _non-static disposer method_ x() then Y does not inherit this method unless Y is explicitly declared to specialize X</text>
</assertion>
<assertion id="dc">
@@ -1551,7 +1502,7 @@
</assertion>
<assertion id="de">
- <text>For class X which is extended _directly_ by the bean class of a _session_ bean Y, if X declares a _non-static disposal method_ x() then Y does not inherit this method unless Y is explicitly declared to specialize X</text>
+ <text>For class X which is extended _directly_ by the bean class of a _session_ bean Y, if X declares a _non-static disposer method_ x() then Y does not inherit this method unless Y is explicitly declared to specialize X</text>
</assertion>
<assertion id="df">
@@ -1563,7 +1514,7 @@
</assertion>
<assertion id="dh">
- <text>For class X which is extended _indirectly_ by the bean class of a _managed_ bean Y, if X declares a _non-static disposal method_ x() then Y does not inherit this method unless Y is explicitly declared to specialize X</text>
+ <text>For class X which is extended _indirectly_ by the bean class of a _managed_ bean Y, if X declares a _non-static disposer method_ x() then Y does not inherit this method unless Y is explicitly declared to specialize X</text>
</assertion>
<assertion id="di">
@@ -1575,7 +1526,7 @@
</assertion>
<assertion id="dk">
- <text>For class X which is extended _indirectly_ by the bean class of a _session_ bean Y, if X declares a _non-static disposal method_ x() then Y does not inherit this method unless Y is explicitly declared to specialize X</text>
+ <text>For class X which is extended _indirectly_ by the bean class of a _session_ bean Y, if X declares a _non-static disposer method_ x() then Y does not inherit this method unless Y is explicitly declared to specialize X</text>
</assertion>
<assertion id="dl">
@@ -1598,12 +1549,30 @@
<text>For class X which is extended _indirectly_ by the bean class of a _session_ bean Y, if X declares a _non-static producer field_ x then Y does not inherit this field unless Y is explicitly declared to specialize X.</text>
</assertion>
+ <assertion id="f">
+ <text>If X is a generic type, and an injection point declared by X is inherited by Y, and the declared type of the injection point contains type variables declared by X, the type of the injection point inherited in Y is the declared type, after substitution of actual type arguments declared by Y or any intermediate class that is a subclass of X and a superclass of Y.</text>
+ </assertion>
+
+ <assertion id="g">
+ <text>If X is a generic type, and a producer method declared by X is inherited by Y, and the declared type of the producer method contains type variables declared by X, the type of the producer method inherited in Y is the declared type, after substitution of actual type arguments declared by Y or any intermediate class that is a subclass of X and a superclass of Y.</text>
+ </assertion>
+
+ <assertion id="h">
+ <text>If X is a generic type, and a producer field declared by X is inherited by Y, and the declared type of the producer field contains type variables declared by X, the type of the producer field inherited in Y is the declared type, after substitution of actual type arguments declared by Y or any intermediate class that is a subclass of X and a superclass of Y.</text>
+ </assertion>
+
+ <assertion id="i">
+ <text>If X is a generic type, and a disposer method declared by X is inherited by Y, and the declared type of the disposed parameter contains type variables declared by X, the type of the disposed parameter inherited in Y is the declared type, after substitution of actual type arguments declared by Y or any intermediate class that is a subclass of X and a superclass of Y.</text>
+ </assertion>
+
+ <assertion id="j">
+ <text>If X is a generic type, and an observer method declared by X is inherited by Y, and the declared type of the event parameter contains type variables declared by X, the type of the event parameter inherited in Y is the declared type, after substitution of actual type arguments declared by Y or any intermediate class that is a subclass of X and a superclass of Y.</text>
+ </assertion>
</section>
<section id="4.3" title="Specialization">
-
- <assertion id="a">
- <text>If two beans both support a certain bean type, and share at least one binding, then they are both eligible for injection to any injection point with that declared type and binding. The container will choose the bean with the highest priority enabled deployment type.</text>
+ <assertion id="a" testable="false">
+ <text>If two beans both support a certain bean type, and share at least one binding, then they are both eligible for injection to any injection point with that declared type and binding.</text>
</assertion>
<assertion id="b">
@@ -1637,23 +1606,26 @@
<text>If X declares a name explicitly, using @Named, the container automatically detects the problem and treats it as a definition error, as defined in Section 12.4, "Problems detected automatically by the container".</text>
</assertion>
+ <assertion id="m">
+ <text>X must have all the bean types of Y. If X does not support some bean type of Y, the container automatically detects the problem and treats it as a definition error, as defined in Section 12.4, "Problems detected automatically by the container".</text>
+ </assertion>
</section>
<section id="4.3.2" title="Most specialized enabled bean for a bean">
<assertion id="a">
- <text>Non-static producer methods, producer fields, disposal methods and observer methods of a bean are invoked upon an instance of the most specialized enabled bean that specializes the bean, as defined by Section 5.4.6, "Invocation of producer or disposal methods", Section 5.4.7, "Access to producer field values" and Section 5.4.8, "Invocation of observer methods".</text>
+ <text>Non-static producer methods, producer fields, disposal methods and observer methods of a bean are invoked upon an instance of the most specialized enabled bean that specializes the bean, as defined by Section 5.6.6, "Invocation of producer or disposal methods", Section 5.6.7, "Access to producer field values" and Section 5.6.8, "Invocation of observer methods".</text>
</assertion>
</section>
- <section id="4.3.3" title="Inconsistent specialization">
- <assertion id="aa">
- <text>If, in a particular deployment, either some enabled bean X specializes another enabled bean Y and the deployment type of X does not have a higher precedence than the deployment type of Y, the container automatically detects inconsistent specialization and treats it as a deployment problem, as defined in Section 12.4, "Problems detected automatically by the container".</text>
- </assertion>
+ <section id="4.3.3" title="Inconsistent specialization">
+ <assertion id="c">
+ <text>If, for an enabled bean X that directly specializes a second bean Y, there is another enabled bean that directly specializes Y, we say that inconsistent specialization exists. The container automatically detects inconsistent specialization and treats it as a deployment problem, as defined in Section 12.4, "Problems detected automatically by the container".</text>
+ </assertion>
- <assertion id="ba">
- <text>If, in a particular deployment, more than one enabled bean directly specializes the same bean, the container automatically detects inconsistent specialization and treats it as a deployment problem, as defined in Section 12.4, "Problems detected automatically by the container".</text>
- </assertion>
+ <assertion id="d">
+ <text>If, for an enabled bean X that directly specializes a second bean Y, there is an injection point that matches Y and not X, according to the typesafe resolution algorithm defined in Section 5.3 "Typesafe resolution", we say that inconsistent specialization exists. The container automatically detects inconsistent specialization and treats it as a deployment problem, as defined in Section 12.4, "Problems detected automatically by the container".</text>
+ </assertion>
</section>
<section id="5" title="Lookup, dependency injection and EL resolution">
15 years, 2 months
[webbeans-commits] Webbeans SVN: r3025 - ri/trunk/impl/src/main/java/org/jboss/webbeans/event.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-07-07 18:13:04 -0400 (Tue, 07 Jul 2009)
New Revision: 3025
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/event/ObserverFactory.java
Log:
Reinstate observer method checks
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/event/ObserverFactory.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/event/ObserverFactory.java 2009-07-07 21:54:54 UTC (rev 3024)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/event/ObserverFactory.java 2009-07-07 22:13:04 UTC (rev 3025)
@@ -51,6 +51,7 @@
{
result = new ObserverMethodImpl<X, T>(method, declaringBean, manager);
}
+ result.initialize();
return result;
}
}
15 years, 2 months
[webbeans-commits] Webbeans SVN: r3024 - ri/trunk/impl/src/main/java/org/jboss/webbeans/util and 1 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-07-07 17:54:54 -0400 (Tue, 07 Jul 2009)
New Revision: 3024
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/dependency/resolution/IntegerProducer.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/dependency/resolution/Small.java
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/util/Beans.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/util/Reflections.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/util/Types.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/dependency/resolution/DependencyResolutionTest.java
Log:
Test and fix for WBRI-287
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java 2009-07-07 21:51:03 UTC (rev 3023)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java 2009-07-07 21:54:54 UTC (rev 3024)
@@ -874,7 +874,8 @@
public Object getReference(Bean<?> bean, Type beanType, CreationalContext<?> creationalContext)
{
- if (!bean.getTypes().contains(beanType))
+
+ if (!Beans.isTypePresent(bean, beanType))
{
throw new IllegalArgumentException("The given beanType is not a type " + beanType +" of the bean " + bean );
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/util/Beans.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/util/Beans.java 2009-07-07 21:51:03 UTC (rev 3023)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/util/Beans.java 2009-07-07 21:54:54 UTC (rev 3024)
@@ -17,6 +17,7 @@
package org.jboss.webbeans.util;
import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -186,4 +187,16 @@
}
}
+ public static boolean isTypePresent(Bean<?> bean, Type type)
+ {
+ type = Types.boxedType(type);
+ for (Type beanType : bean.getTypes())
+ {
+ if (Types.boxedType(beanType).equals(type))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/util/Reflections.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/util/Reflections.java 2009-07-07 21:51:03 UTC (rev 3023)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/util/Reflections.java 2009-07-07 21:54:54 UTC (rev 3024)
@@ -579,7 +579,7 @@
*/
public static boolean isAssignableFrom(Class<?> rawType1, Type[] actualTypeArguments1, Class<?> rawType2, Type[] actualTypeArguments2)
{
- return Types.boxedType(rawType1).isAssignableFrom(Types.boxedType(rawType2)) && Arrays.equals(actualTypeArguments1, actualTypeArguments2);
+ return Types.boxedClass(rawType1).isAssignableFrom(Types.boxedClass(rawType2)) && Arrays.equals(actualTypeArguments1, actualTypeArguments2);
}
public static boolean isAssignableFrom(Type type1, Set<? extends Type> types2)
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/util/Types.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/util/Types.java 2009-07-07 21:51:03 UTC (rev 3023)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/util/Types.java 2009-07-07 21:54:54 UTC (rev 3024)
@@ -16,6 +16,8 @@
*/
package org.jboss.webbeans.util;
+import java.lang.reflect.Type;
+
/**
* Utility class for Types
*
@@ -30,55 +32,59 @@
* @param type The type
* @return The boxed type
*/
- public static Class<?> boxedType(Class<?> type)
+ public static Type boxedType(Type type)
{
- if (type.isPrimitive())
+ if (type instanceof Class)
{
- if (type.equals(Boolean.TYPE))
- {
- return Boolean.class;
- }
- else if (type.equals(Character.TYPE))
- {
- return Character.class;
- }
- else if (type.equals(Byte.TYPE))
- {
- return Byte.class;
- }
- else if (type.equals(Short.TYPE))
- {
- return Short.class;
- }
- else if (type.equals(Integer.TYPE))
- {
- return Integer.class;
- }
- else if (type.equals(Long.TYPE))
- {
- return Long.class;
- }
- else if (type.equals(Float.TYPE))
- {
- return Float.class;
- }
- else if (type.equals(Double.TYPE))
- {
- return Double.class;
- }
- else if (type.equals(Void.TYPE))
- {
- return Void.class;
- }
- else
- {
- throw new IllegalStateException("Could not get boxed type for unknown type " + type);
- }
+ return boxedClass((Class<?>) type);
}
else
{
return type;
}
}
+
+ public static Class<?> boxedClass(Class<?> type)
+ {
+ if (type.equals(Boolean.TYPE))
+ {
+ return Boolean.class;
+ }
+ else if (type.equals(Character.TYPE))
+ {
+ return Character.class;
+ }
+ else if (type.equals(Byte.TYPE))
+ {
+ return Byte.class;
+ }
+ else if (type.equals(Short.TYPE))
+ {
+ return Short.class;
+ }
+ else if (type.equals(Integer.TYPE))
+ {
+ return Integer.class;
+ }
+ else if (type.equals(Long.TYPE))
+ {
+ return Long.class;
+ }
+ else if (type.equals(Float.TYPE))
+ {
+ return Float.class;
+ }
+ else if (type.equals(Double.TYPE))
+ {
+ return Double.class;
+ }
+ else if (type.equals(Void.TYPE))
+ {
+ return Void.class;
+ }
+ return type;
+ }
+
+
}
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/dependency/resolution/DependencyResolutionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/dependency/resolution/DependencyResolutionTest.java 2009-07-07 21:51:03 UTC (rev 3023)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/dependency/resolution/DependencyResolutionTest.java 2009-07-07 21:54:54 UTC (rev 3024)
@@ -8,6 +8,7 @@
import java.util.Set;
import javax.enterprise.context.RequestScoped;
+import javax.enterprise.inject.AnnotationLiteral;
import javax.enterprise.inject.spi.Annotated;
import javax.enterprise.inject.spi.Bean;
import javax.enterprise.inject.spi.InjectionPoint;
@@ -151,4 +152,12 @@
MockInjectionPoint injectionPoint = new MockInjectionPoint(bean, Mustard.class, injectedField, bindings);
getCurrentManager().getInjectableReference(injectionPoint, null);
}
+
+ @Test
+ @SpecAssertion(section="5.1.3", id="aa")
+ public void testTypeBoxing()
+ {
+ assert getInstanceByType(Integer.class, new AnnotationLiteral<Small>() {}).equals(IntegerProducer.VALUE);
+ }
+
}
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/dependency/resolution/IntegerProducer.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/dependency/resolution/IntegerProducer.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/dependency/resolution/IntegerProducer.java 2009-07-07 21:54:54 UTC (rev 3024)
@@ -0,0 +1,36 @@
+/*
+ * 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.jsr299.tck.tests.lookup.dependency.resolution;
+
+import javax.enterprise.inject.Produces;
+
+/**
+ * @author pmuir
+ *
+ */
+public class IntegerProducer
+{
+
+ public static final int VALUE = 5;
+
+ @Produces @Small
+ public int produce()
+ {
+ return VALUE;
+ }
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/dependency/resolution/IntegerProducer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/dependency/resolution/Small.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/dependency/resolution/Small.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/dependency/resolution/Small.java 2009-07-07 21:54:54 UTC (rev 3024)
@@ -0,0 +1,22 @@
+package org.jboss.jsr299.tck.tests.lookup.dependency.resolution;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.enterprise.inject.BindingType;
+
+@Target( { TYPE, METHOD, PARAMETER, FIELD })
+@Retention(RUNTIME)
+@Documented
+@BindingType
+@interface Small
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/dependency/resolution/Small.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
15 years, 2 months
[webbeans-commits] Webbeans SVN: r3023 - in ri/trunk: spi/src/main/java/org/jboss/webbeans/bootstrap/spi and 4 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-07-07 17:51:03 -0400 (Tue, 07 Jul 2009)
New Revision: 3023
Removed:
ri/trunk/spi/src/main/java/org/jboss/webbeans/ejb/spi/EJBModule.java
ri/trunk/tests/src/main/java/org/jboss/webbeans/mock/MockEjbModule.java
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java
ri/trunk/spi/src/main/java/org/jboss/webbeans/bootstrap/spi/BeanDeploymentArchive.java
ri/trunk/spi/src/main/java/org/jboss/webbeans/bootstrap/spi/Deployment.java
ri/trunk/tests/src/main/java/org/jboss/webbeans/mock/MockBeanDeploymentArchive.java
ri/trunk/tests/src/main/java/org/jboss/webbeans/mock/MockDeployment.java
ri/trunk/tests/src/main/java/org/jboss/webbeans/test/harness/AbstractStandaloneContainersImpl.java
ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/environments/servlet/ServletEnvironmentTest.java
Log:
Merge EjbModule -> BeanDeploymentArchive
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java 2009-07-07 21:25:05 UTC (rev 3022)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bootstrap/WebBeansBootstrap.java 2009-07-07 21:51:03 UTC (rev 3023)
@@ -23,8 +23,8 @@
import javax.enterprise.inject.spi.BeforeShutdown;
import javax.enterprise.inject.spi.Extension;
-import org.jboss.webbeans.ContextualIdStore;
import org.jboss.webbeans.BeanManagerImpl;
+import org.jboss.webbeans.ContextualIdStore;
import org.jboss.webbeans.CurrentManager;
import org.jboss.webbeans.DefinitionException;
import org.jboss.webbeans.DeploymentException;
@@ -53,7 +53,6 @@
import org.jboss.webbeans.conversation.ServletConversationManager;
import org.jboss.webbeans.ejb.EJBApiAbstraction;
import org.jboss.webbeans.ejb.EjbDescriptorCache;
-import org.jboss.webbeans.ejb.spi.EJBModule;
import org.jboss.webbeans.ejb.spi.EjbDescriptor;
import org.jboss.webbeans.ejb.spi.EjbServices;
import org.jboss.webbeans.jsf.JsfApiAbstraction;
@@ -120,13 +119,9 @@
{
beansXmlUrls.add(url);
}
- if (beanDeploymentArchive instanceof EJBModule)
+ for (EjbDescriptor<?> ejbDescriptor : beanDeploymentArchive.getEjbs())
{
- EJBModule ejbModule = (EJBModule) beanDeploymentArchive;
- for (EjbDescriptor<?> ejbDescriptor : ejbModule.getEjbs())
- {
- ejbDescriptors.add(ejbDescriptor);
- }
+ ejbDescriptors.add(ejbDescriptor);
}
for (BeanDeploymentArchive archive : beanDeploymentArchive.getBeanDeploymentArchives())
{
Modified: ri/trunk/spi/src/main/java/org/jboss/webbeans/bootstrap/spi/BeanDeploymentArchive.java
===================================================================
--- ri/trunk/spi/src/main/java/org/jboss/webbeans/bootstrap/spi/BeanDeploymentArchive.java 2009-07-07 21:25:05 UTC (rev 3022)
+++ ri/trunk/spi/src/main/java/org/jboss/webbeans/bootstrap/spi/BeanDeploymentArchive.java 2009-07-07 21:51:03 UTC (rev 3023)
@@ -19,7 +19,7 @@
import java.net.URL;
import java.util.List;
-import org.jboss.webbeans.ejb.spi.EJBModule;
+import org.jboss.webbeans.ejb.spi.EjbDescriptor;
/**
* Represents a CDI bean deployment archive.
@@ -39,7 +39,6 @@
* container could define a deployment archive with container specific metadata
* to be a bean deployment archive).
*
- * @see EJBModule
* @see Deployment
*
* @author Pete Muir
@@ -80,4 +79,12 @@
*/
public Iterable<URL> getBeansXml();
+ /**
+ * Get all the EJBs in the deployment archive
+ *
+ * @return an iteration of the EJBs, or empty if no EJBs are present or if
+ * this is not an EJB archive
+ */
+ public Iterable<EjbDescriptor<?>> getEjbs();
+
}
Modified: ri/trunk/spi/src/main/java/org/jboss/webbeans/bootstrap/spi/Deployment.java
===================================================================
--- ri/trunk/spi/src/main/java/org/jboss/webbeans/bootstrap/spi/Deployment.java 2009-07-07 21:25:05 UTC (rev 3022)
+++ ri/trunk/spi/src/main/java/org/jboss/webbeans/bootstrap/spi/Deployment.java 2009-07-07 21:51:03 UTC (rev 3023)
@@ -19,7 +19,6 @@
import java.util.List;
import org.jboss.webbeans.bootstrap.api.Service;
-import org.jboss.webbeans.ejb.spi.EJBModule;
/**
* Represents a deployment of a CDI application.
@@ -45,7 +44,6 @@
* TODO Java SE structure
*
* @see BeanDeploymentArchive
- * @see EJBModule
*
* @author Pete Muir
*
Deleted: ri/trunk/spi/src/main/java/org/jboss/webbeans/ejb/spi/EJBModule.java
===================================================================
--- ri/trunk/spi/src/main/java/org/jboss/webbeans/ejb/spi/EJBModule.java 2009-07-07 21:25:05 UTC (rev 3022)
+++ ri/trunk/spi/src/main/java/org/jboss/webbeans/ejb/spi/EJBModule.java 2009-07-07 21:51:03 UTC (rev 3023)
@@ -1,46 +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.ejb.spi;
-
-import org.jboss.webbeans.bootstrap.spi.BeanDeploymentArchive;
-import org.jboss.webbeans.bootstrap.spi.Deployment;
-
-/**
- * Represents an EJB bean deployment archive.
- *
- * If a bean deployment archive is identified as an EJB bean deployment, an
- * instance of {@link EJBModule} should be returned instead of
- * {@link BeanDeploymentArchive}; the Java EE container is responsible for
- * identifying EJB bean deployment archives.
- *
- * @see BeanDeploymentArchive
- * @see Deployment
- *
- * @author Pete Muir
- *
- */
-public interface EJBModule extends BeanDeploymentArchive
-{
-
- /**
- * Get all the EJBs in the deployment archive
- *
- * @return an iteration of the EJBs, or empty if no EJBs are present
- */
- public Iterable<EjbDescriptor<?>> getEjbs();
-
-}
Modified: ri/trunk/tests/src/main/java/org/jboss/webbeans/mock/MockBeanDeploymentArchive.java
===================================================================
--- ri/trunk/tests/src/main/java/org/jboss/webbeans/mock/MockBeanDeploymentArchive.java 2009-07-07 21:25:05 UTC (rev 3022)
+++ ri/trunk/tests/src/main/java/org/jboss/webbeans/mock/MockBeanDeploymentArchive.java 2009-07-07 21:51:03 UTC (rev 3023)
@@ -17,11 +17,19 @@
package org.jboss.webbeans.mock;
import java.net.URL;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
+import java.util.Set;
+import javax.ejb.MessageDriven;
+import javax.ejb.Singleton;
+import javax.ejb.Stateful;
+import javax.ejb.Stateless;
+
import org.jboss.webbeans.bootstrap.spi.BeanDeploymentArchive;
+import org.jboss.webbeans.ejb.spi.EjbDescriptor;
/**
* @author pmuir
@@ -45,11 +53,6 @@
return webBeansXmlFiles;
}
- public void setBeanClasses(Iterable<Class<?>> webBeanClasses)
- {
- this.beanClasses = webBeanClasses;
- }
-
public void setWebBeansXmlFiles(Iterable<URL> webBeansXmlFiles)
{
this.webBeansXmlFiles = webBeansXmlFiles;
@@ -59,5 +62,35 @@
{
return Collections.emptyList();
}
+
+ private List<EjbDescriptor<?>> ejbs;
+ public void setBeanClasses(Iterable<Class<?>> beanClasses)
+ {
+ this.beanClasses = beanClasses;
+ ejbs = new ArrayList<EjbDescriptor<?>>();
+ for (Class<?> ejbClass : discoverEjbs(getBeanClasses()))
+ {
+ ejbs.add(MockEjbDescriptor.of(ejbClass));
+ }
+ }
+
+ public Iterable<EjbDescriptor<?>> getEjbs()
+ {
+ return ejbs;
+ }
+
+ protected static Iterable<Class<?>> discoverEjbs(Iterable<Class<?>> webBeanClasses)
+ {
+ Set<Class<?>> ejbs = new HashSet<Class<?>>();
+ for (Class<?> clazz : webBeanClasses)
+ {
+ if (clazz.isAnnotationPresent(Stateless.class) || clazz.isAnnotationPresent(Stateful.class) || clazz.isAnnotationPresent(MessageDriven.class) || clazz.isAnnotationPresent(Singleton.class))
+ {
+ ejbs.add(clazz);
+ }
+ }
+ return ejbs;
+ }
+
}
Modified: ri/trunk/tests/src/main/java/org/jboss/webbeans/mock/MockDeployment.java
===================================================================
--- ri/trunk/tests/src/main/java/org/jboss/webbeans/mock/MockDeployment.java 2009-07-07 21:25:05 UTC (rev 3022)
+++ ri/trunk/tests/src/main/java/org/jboss/webbeans/mock/MockDeployment.java 2009-07-07 21:51:03 UTC (rev 3023)
@@ -25,15 +25,15 @@
public class MockDeployment implements Deployment
{
- private MockEjbModule ejbModule;
+ private MockBeanDeploymentArchive archive;
private List<BeanDeploymentArchive> beanDeploymentArchives;
public MockDeployment()
{
- this.ejbModule = new MockEjbModule();
+ this.archive = new MockBeanDeploymentArchive();
this.beanDeploymentArchives = new ArrayList<BeanDeploymentArchive>();
- this.beanDeploymentArchives.add(ejbModule);
+ this.beanDeploymentArchives.add(archive);
}
public List<BeanDeploymentArchive> getBeanDeploymentArchives()
@@ -43,12 +43,12 @@
public BeanDeploymentArchive loadBeanDeploymentArchive(Class<?> beanClass)
{
- return ejbModule;
+ return archive;
}
- public MockEjbModule getEjbModule()
+ public MockBeanDeploymentArchive getArchive()
{
- return ejbModule;
+ return archive;
}
}
Deleted: ri/trunk/tests/src/main/java/org/jboss/webbeans/mock/MockEjbModule.java
===================================================================
--- ri/trunk/tests/src/main/java/org/jboss/webbeans/mock/MockEjbModule.java 2009-07-07 21:25:05 UTC (rev 3022)
+++ ri/trunk/tests/src/main/java/org/jboss/webbeans/mock/MockEjbModule.java 2009-07-07 21:51:03 UTC (rev 3023)
@@ -1,70 +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.mock;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import javax.ejb.MessageDriven;
-import javax.ejb.Singleton;
-import javax.ejb.Stateful;
-import javax.ejb.Stateless;
-
-import org.jboss.webbeans.ejb.spi.EJBModule;
-import org.jboss.webbeans.ejb.spi.EjbDescriptor;
-
-/**
- * @author pmuir
- *
- */
-public class MockEjbModule extends MockBeanDeploymentArchive implements EJBModule
-{
-
- private List<EjbDescriptor<?>> ejbs;
-
- @Override
- public void setBeanClasses(Iterable<Class<?>> webBeanClasses)
- {
- super.setBeanClasses(webBeanClasses);
- ejbs = new ArrayList<EjbDescriptor<?>>();
- for (Class<?> ejbClass : discoverEjbs(getBeanClasses()))
- {
- ejbs.add(MockEjbDescriptor.of(ejbClass));
- }
- }
-
- public Iterable<EjbDescriptor<?>> getEjbs()
- {
- return ejbs;
- }
-
- protected static Iterable<Class<?>> discoverEjbs(Iterable<Class<?>> webBeanClasses)
- {
- Set<Class<?>> ejbs = new HashSet<Class<?>>();
- for (Class<?> clazz : webBeanClasses)
- {
- if (clazz.isAnnotationPresent(Stateless.class) || clazz.isAnnotationPresent(Stateful.class) || clazz.isAnnotationPresent(MessageDriven.class) || clazz.isAnnotationPresent(Singleton.class))
- {
- ejbs.add(clazz);
- }
- }
- return ejbs;
- }
-
-}
Modified: ri/trunk/tests/src/main/java/org/jboss/webbeans/test/harness/AbstractStandaloneContainersImpl.java
===================================================================
--- ri/trunk/tests/src/main/java/org/jboss/webbeans/test/harness/AbstractStandaloneContainersImpl.java 2009-07-07 21:25:05 UTC (rev 3022)
+++ ri/trunk/tests/src/main/java/org/jboss/webbeans/test/harness/AbstractStandaloneContainersImpl.java 2009-07-07 21:51:03 UTC (rev 3023)
@@ -20,7 +20,7 @@
lifecycle.initialize();
try
{
- MockBeanDeploymentArchive archive = lifecycle.getDeployment().getEjbModule();
+ MockBeanDeploymentArchive archive = lifecycle.getDeployment().getArchive();
archive.setBeanClasses(classes);
if (beansXml != null)
{
Modified: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/environments/servlet/ServletEnvironmentTest.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/environments/servlet/ServletEnvironmentTest.java 2009-07-07 21:25:05 UTC (rev 3022)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/environments/servlet/ServletEnvironmentTest.java 2009-07-07 21:51:03 UTC (rev 3023)
@@ -28,7 +28,7 @@
{
lifecycle = new MockServletLifecycle();
lifecycle.initialize();
- MockBeanDeploymentArchive archive = lifecycle.getDeployment().getEjbModule();
+ MockBeanDeploymentArchive archive = lifecycle.getDeployment().getArchive();
archive.setBeanClasses(Arrays.asList(Animal.class, DeadlyAnimal.class, DeadlySpider.class, DeadlyAnimal.class, Hound.class, HoundLocal.class, Salmon.class, ScottishFish.class, SeaBass.class, Sole.class, Spider.class, Tarantula.class, TarantulaProducer.class, Tuna.class));
lifecycle.beginApplication();
lifecycle.beginSession();
15 years, 2 months