[webbeans-commits] Webbeans SVN: r3857 - ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/builtin/facade.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-10-05 13:50:49 -0400 (Mon, 05 Oct 2009)
New Revision: 3857
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/builtin/facade/InstanceImpl.java
Log:
Add a readResolve method
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/builtin/facade/InstanceImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/builtin/facade/InstanceImpl.java 2009-10-05 17:49:57 UTC (rev 3856)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/builtin/facade/InstanceImpl.java 2009-10-05 17:50:49 UTC (rev 3857)
@@ -46,14 +46,14 @@
private static final long serialVersionUID = -376721889693284887L;
private static final Annotation[] EMPTY_BINDINGS = new Annotation[0];
- private final Set<Bean<?>> beans;
+ private transient final Set<Bean<?>> beans;
public static <I> Instance<I> of(Type type, BeanManagerImpl manager, Set<Annotation> annotations)
{
return new InstanceImpl<I>(type, manager, annotations);
}
- private InstanceImpl(Type type, BeanManagerImpl manager, Set<Annotation> bindings)
+ private InstanceImpl(Type type, BeanManagerImpl manager, Set<? extends Annotation> bindings)
{
super(type, manager, bindings);
this.beans = getManager().getBeans(getType(), bindings.toArray(EMPTY_BINDINGS));
@@ -136,6 +136,11 @@
subtype,
this.getManager(),
new HashSet<Annotation>(Arrays.asList(mergeInBindings(bindings))));
- }
+ }
+
+ protected Object readResolve()
+ {
+ return new InstanceImpl<T>(getType(), getManager(), getBindings());
+ }
}
15 years, 4 months
[webbeans-commits] Webbeans SVN: r3856 - ri/trunk/impl/src/main/java/org/jboss/webbeans/resolution.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-10-05 13:49:57 -0400 (Mon, 05 Oct 2009)
New Revision: 3856
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/resolution/TypeSafeInterceptorResolver.java
Log:
minor
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/resolution/TypeSafeInterceptorResolver.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/resolution/TypeSafeInterceptorResolver.java 2009-10-05 17:49:19 UTC (rev 3855)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/resolution/TypeSafeInterceptorResolver.java 2009-10-05 17:49:57 UTC (rev 3856)
@@ -17,14 +17,16 @@
package org.jboss.webbeans.resolution;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Set;
+import java.util.TreeSet;
+
+import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.bean.InterceptorImpl;
-import org.jboss.webbeans.bean.DecoratorImpl;
-import org.jboss.webbeans.BeanManagerImpl;
-import org.jboss.webbeans.util.Reflections;
import org.jboss.webbeans.util.Beans;
-import java.util.*;
-
/**
* @author <a href="mailto:mariusb@redhat.com">Marius Bogoevici</a>
*/
@@ -68,14 +70,16 @@
return sortedBeans;
}
+ @Override
protected Set<InterceptorImpl<?>> filterResult(Set<InterceptorImpl<?>> matched)
{
return matched;
}
+ @Override
protected Iterable<ResolvableTransformer> getTransformers()
{
- return Collections.EMPTY_SET;
+ return Collections.emptySet();
}
public BeanManagerImpl getManager()
15 years, 4 months
[webbeans-commits] Webbeans SVN: r3855 - in tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests: lookup/dynamic/builtin and 1 other directory.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-10-05 13:49:19 -0400 (Mon, 05 Oct 2009)
New Revision: 3855
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/dynamic/builtin/Field.java
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/producer/ProducerTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/dynamic/builtin/BuiltinInstanceTest.java
Log:
Fix a test and change designations
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/producer/ProducerTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/producer/ProducerTest.java 2009-10-05 15:05:54 UTC (rev 3854)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/extensions/producer/ProducerTest.java 2009-10-05 17:49:19 UTC (rev 3855)
@@ -47,7 +47,7 @@
assert Cat.isInitializerCalled();
}
- @Test(groups = "broken")
+ @Test(groups = "ri-broken")
@SpecAssertions({
@SpecAssertion(section = "11.2", id = "c")
})
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/dynamic/builtin/BuiltinInstanceTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/dynamic/builtin/BuiltinInstanceTest.java 2009-10-05 15:05:54 UTC (rev 3854)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/dynamic/builtin/BuiltinInstanceTest.java 2009-10-05 17:49:19 UTC (rev 3855)
@@ -64,10 +64,15 @@
assert farm.getCow() != null;
}
- @Test(groups = "broken")
+ @Test(groups = "ri-broken")
@SpecAssertion(section = "5.7.2", id = "g")
- public void testInstanceIsPassivationCapable() {
- Bean<Instance> instance = getBeans(Instance.class).iterator().next();
- // assert instance.isSerializable();
+ public void testInstanceIsPassivationCapable() throws Exception
+ {
+ Field field = getInstanceByType(Field.class);
+ Object object = deserialize(serialize(field));
+ assert field.getInstance().get() instanceof Cow;
+ assert object instanceof Field;
+ Field field2 = (Field) object;
+ assert field2.getInstance().get() instanceof Cow;
}
}
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/dynamic/builtin/Field.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/dynamic/builtin/Field.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/dynamic/builtin/Field.java 2009-10-05 17:49:19 UTC (rev 3855)
@@ -0,0 +1,18 @@
+package org.jboss.jsr299.tck.tests.lookup.dynamic.builtin;
+
+import java.io.Serializable;
+
+import javax.enterprise.inject.Instance;
+import javax.inject.Inject;
+
+public class Field implements Serializable
+{
+
+ @Inject private Instance<Cow> instance;
+
+ public Instance<Cow> getInstance()
+ {
+ return instance;
+ }
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/dynamic/builtin/Field.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
15 years, 4 months
[webbeans-commits] Webbeans SVN: r3854 - in ri/trunk: tests/src/test/java/org/jboss/webbeans/test/unit/interceptor/simple and 1 other directory.
by webbeans-commits@lists.jboss.org
Author: marius.bogoevici
Date: 2009-10-05 11:05:54 -0400 (Mon, 05 Oct 2009)
New Revision: 3854
Added:
ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/interceptor/simple/SimpleBeanWithStereotype.java
ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/interceptor/simple/SimpleInterceptorStereotype.java
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/InterceptorImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ManagedBean.java
ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/interceptor/simple/SimpleInterceptorTest.java
Log:
Implement intercept() on Interceptor, correct handling of meta-annotations (on both classes and interceptors), adding support for stereotypes + test.
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/InterceptorImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/InterceptorImpl.java 2009-10-05 14:27:13 UTC (rev 3853)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/InterceptorImpl.java 2009-10-05 15:05:54 UTC (rev 3854)
@@ -19,6 +19,7 @@
import org.jboss.interceptor.model.InterceptorClassMetadata;
import org.jboss.interceptor.registry.InterceptorClassMetadataRegistry;
+import org.jboss.interceptor.proxy.DirectClassInterceptionHandler;
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.introspector.WBClass;
import org.jboss.webbeans.metadata.cache.MetaAnnotationStore;
@@ -43,16 +44,7 @@
{
super(type, new StringBuilder().append(Interceptor.class.getSimpleName()).append(BEAN_ID_SEPARATOR).append(type.getName()).toString(), manager);
this.interceptorClassMetadata = InterceptorClassMetadataRegistry.getRegistry().getInterceptorClassMetadata(type.getJavaClass());
- this.interceptorBindingTypes = new HashSet<Annotation>();
- for (Annotation annotation: getAnnotatedItem().getAnnotations())
- {
- if (manager.isInterceptorBindingType(annotation.annotationType()))
- {
- interceptorBindingTypes.add(annotation);
- interceptorBindingTypes.addAll(getManager().getServices().get(MetaAnnotationStore.class).getInterceptorBindingModel(annotation.annotationType()).getInheritedInterceptionBindingTypes());
- }
- }
-
+ this.interceptorBindingTypes = flattenInterceptorBindings(manager, getAnnotatedItem().getAnnotations());
}
public static <T> InterceptorImpl<T> of(WBClass<T> type, BeanManagerImpl manager)
@@ -69,7 +61,7 @@
{
try
{
- return ctx.proceed();
+ return new DirectClassInterceptionHandler(instance, getType()).invoke(ctx.getTarget(), org.jboss.interceptor.model.InterceptionType.valueOf(type.name()), ctx);
} catch (Exception e)
{
throw new RuntimeException(e);
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ManagedBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ManagedBean.java 2009-10-05 14:27:13 UTC (rev 3853)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/ManagedBean.java 2009-10-05 15:05:54 UTC (rev 3854)
@@ -28,6 +28,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
+import java.util.HashSet;
import org.jboss.interceptor.model.InterceptionModelBuilder;
import org.jboss.interceptor.proxy.DirectClassInterceptionHandler;
@@ -226,14 +227,10 @@
{
InterceptionModelBuilder<Class<?>, Interceptor> builder = InterceptionModelBuilder.newBuilderFor(getType(), (Class) Interceptor.class);
- List<Annotation> classBindingAnnotations = new ArrayList<Annotation>();
-
- for (Annotation annotation : getType().getAnnotations())
+ Set<Annotation> classBindingAnnotations = flattenInterceptorBindings(manager, annotatedItem.getAnnotations());
+ for (Class<? extends Annotation> annotation: getStereotypes())
{
- if (manager.isInterceptorBindingType(annotation.annotationType()))
- {
- classBindingAnnotations.add(annotation);
- }
+ classBindingAnnotations.addAll(flattenInterceptorBindings(manager, manager.getStereotypeDefinition(annotation)));
}
builder.interceptPostConstruct().with(manager.resolveInterceptors(InterceptionType.POST_CONSTRUCT, classBindingAnnotations.toArray(new Annotation[0])).toArray(new Interceptor<?>[]{}));
@@ -243,14 +240,7 @@
for (WBMethod<?, ?> method : businessMethods)
{
List<Annotation> methodBindingAnnotations = new ArrayList<Annotation>(classBindingAnnotations);
- for (Annotation annotation : method.getAnnotations())
- {
- if (manager.isInterceptorBindingType(annotation.annotationType()))
- {
- methodBindingAnnotations.add(annotation);
- methodBindingAnnotations.addAll(manager.getServices().get(MetaAnnotationStore.class).getInterceptorBindingModel(annotation.annotationType()).getInheritedInterceptionBindingTypes());
- }
- }
+ methodBindingAnnotations.addAll(flattenInterceptorBindings(manager, method.getAnnotations()));
List<Interceptor<?>> methodBoundInterceptors = manager.resolveInterceptors(InterceptionType.AROUND_INVOKE, methodBindingAnnotations.toArray(new Annotation[]{}));
builder.interceptAroundInvoke(((AnnotatedMethod)method).getJavaMember()).with(methodBoundInterceptors.toArray(new Interceptor[]{}));
}
@@ -446,4 +436,24 @@
return instance;
}
+ /**
+ * Extracts the complete set of interception bindings from a given set of annotations.
+ *
+ * @param manager
+ * @param annotations
+ * @return
+ */
+ protected static Set<Annotation> flattenInterceptorBindings(BeanManagerImpl manager, Set<Annotation> annotations)
+ {
+ Set<Annotation> foundInterceptionBindingTypes = new HashSet<Annotation>();
+ for (Annotation annotation: annotations)
+ {
+ if (manager.isInterceptorBindingType(annotation.annotationType()))
+ {
+ foundInterceptionBindingTypes.add(annotation);
+ foundInterceptionBindingTypes.addAll(manager.getServices().get(MetaAnnotationStore.class).getInterceptorBindingModel(annotation.annotationType()).getInheritedInterceptionBindingTypes());
+ }
+ }
+ return foundInterceptionBindingTypes;
+ }
}
Copied: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/interceptor/simple/SimpleBeanWithStereotype.java (from rev 3846, ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/interceptor/simple/SimpleBeanImpl.java)
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/interceptor/simple/SimpleBeanWithStereotype.java (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/interceptor/simple/SimpleBeanWithStereotype.java 2009-10-05 15:05:54 UTC (rev 3854)
@@ -0,0 +1,45 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, Red Hat, Inc. and/or its affiliates, and individual
+ * contributors by the @authors tag. See the copyright.txt in the
+ * distribution for a full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.jboss.webbeans.test.unit.interceptor.simple;
+
+import javax.annotation.PostConstruct;
+
+/**
+ * @author <a href="mailto:mariusb@redhat.com">Marius Bogoevici</a>
+ */
+@SimpleInterceptorStereotype
+public class SimpleBeanWithStereotype
+{
+
+ public static boolean businessMethodInvoked = false;
+
+ public static boolean postConstructCalled = false;
+
+ public String doSomething()
+ {
+ businessMethodInvoked = true;
+ return "Hello!";
+ }
+
+ @PostConstruct
+ public void doPostConstruct()
+ {
+ postConstructCalled = true;
+ }
+
+}
\ No newline at end of file
Added: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/interceptor/simple/SimpleInterceptorStereotype.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/interceptor/simple/SimpleInterceptorStereotype.java (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/interceptor/simple/SimpleInterceptorStereotype.java 2009-10-05 15:05:54 UTC (rev 3854)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2009, Red Hat, Inc. and/or its affiliates, and individual
+ * contributors by the @authors tag. See the copyright.txt in the
+ * distribution for a full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.jboss.webbeans.test.unit.interceptor.simple;
+
+import javax.enterprise.inject.stereotype.Stereotype;
+import static java.lang.annotation.ElementType.TYPE;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import java.lang.annotation.Target;
+
+/**
+ * @author <a href="mailto:mariusb@redhat.com">Marius Bogoevici</a>
+ */
+@Stereotype
+@SecondaryInterceptionBinding
+@Target(TYPE)
+@Retention(RUNTIME)
+public @interface SimpleInterceptorStereotype
+{
+}
Modified: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/interceptor/simple/SimpleInterceptorTest.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/interceptor/simple/SimpleInterceptorTest.java 2009-10-05 14:27:13 UTC (rev 3853)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/interceptor/simple/SimpleInterceptorTest.java 2009-10-05 15:05:54 UTC (rev 3854)
@@ -61,6 +61,22 @@
assert !SimpleInterceptor.preDestroyCalled;
assert TwoBindingsInterceptor.aroundInvokeCalled;
assert SimpleBeanImpl.postConstructCalled;
+ }
+ @Test
+ public void testSimpleInterceptorWithStereotype()
+ {
+ Bean bean = getCurrentManager().getBeans(SimpleBeanWithStereotype.class).iterator().next();
+ CreationalContext creationalContext = getCurrentManager().createCreationalContext(bean);
+ SimpleBeanWithStereotype simpleBean = (SimpleBeanWithStereotype)bean.create(creationalContext);
+ String result = simpleBean.doSomething();
+ assert "Hello!".equals(result);
+ bean.destroy(simpleBean, creationalContext);
+ assert SimpleInterceptor.aroundInvokeCalled;
+ assert SimpleInterceptor.postConstructCalled;
+ assert SimpleInterceptor.preDestroyCalled;
+ assert TwoBindingsInterceptor.aroundInvokeCalled;
+ assert SimpleBeanWithStereotype.postConstructCalled;
+
}
}
15 years, 4 months
[webbeans-commits] Webbeans SVN: r3853 - ri/trunk/tests.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-10-05 10:27:13 -0400 (Mon, 05 Oct 2009)
New Revision: 3853
Modified:
ri/trunk/tests/pom.xml
Log:
fix tests
Modified: ri/trunk/tests/pom.xml
===================================================================
--- ri/trunk/tests/pom.xml 2009-10-05 12:55:53 UTC (rev 3852)
+++ ri/trunk/tests/pom.xml 2009-10-05 14:27:13 UTC (rev 3853)
@@ -59,6 +59,10 @@
<artifactId>webbeans-spi</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.jboss.interceptors</groupId>
+ <artifactId>interceptors</artifactId>
+ </dependency>
<dependency>
<groupId>org.jboss.ejb3</groupId>
15 years, 4 months
[webbeans-commits] Webbeans SVN: r3852 - in ri/trunk: parent and 1 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-10-05 08:55:53 -0400 (Mon, 05 Oct 2009)
New Revision: 3852
Modified:
ri/trunk/impl/pom.xml
ri/trunk/parent/
ri/trunk/version-matrix/
Log:
make interceptors optional, ignores
Modified: ri/trunk/impl/pom.xml
===================================================================
--- ri/trunk/impl/pom.xml 2009-10-05 12:23:04 UTC (rev 3851)
+++ ri/trunk/impl/pom.xml 2009-10-05 12:55:53 UTC (rev 3852)
@@ -118,6 +118,7 @@
<dependency>
<groupId>org.jboss.interceptors</groupId>
<artifactId>interceptors</artifactId>
+ <optional>true</optional>
</dependency>
<dependency>
Property changes on: ri/trunk/parent
___________________________________________________________________
Name: svn:ignore
- .classpath
.project
.settings
target
+
target
.settings
.project
.classpath
bin
Property changes on: ri/trunk/version-matrix
___________________________________________________________________
Name: svn:ignore
- target
.settings
.project
.classpath
+
target
.settings
.project
.classpath
bin
15 years, 4 months
[webbeans-commits] Webbeans SVN: r3851 - ri/trunk.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-10-05 08:23:04 -0400 (Mon, 05 Oct 2009)
New Revision: 3851
Modified:
ri/trunk/atinject-trunk.patch
Log:
remove tck modifications
Modified: ri/trunk/atinject-trunk.patch
===================================================================
--- ri/trunk/atinject-trunk.patch 2009-10-05 12:18:55 UTC (rev 3850)
+++ ri/trunk/atinject-trunk.patch 2009-10-05 12:23:04 UTC (rev 3851)
@@ -14,76 +14,6 @@
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="output" path="build/classes"/>
+</classpath>
-Index: tck/org/atinject/tck/auto/Convertible.java
-===================================================================
---- tck/org/atinject/tck/auto/Convertible.java (revision 46)
-+++ tck/org/atinject/tck/auto/Convertible.java (working copy)
-@@ -16,20 +16,21 @@
-
- package org.atinject.tck.auto;
-
-+import javax.inject.Inject;
-+import javax.inject.Named;
-+import javax.inject.Provider;
-+
- import junit.framework.TestCase;
-+
- import org.atinject.tck.auto.accessories.Cupholder;
-+import org.atinject.tck.auto.accessories.RoundThing;
- import org.atinject.tck.auto.accessories.SpareTire;
--import org.atinject.tck.auto.accessories.RoundThing;
-
--import javax.inject.Inject;
--import javax.inject.Named;
--import javax.inject.Provider;
--
- public class Convertible implements Car {
-
- @Inject @Drivers Seat driversSeatA;
- @Inject @Drivers Seat driversSeatB;
-- @Inject SpareTire spareTire;
-+ @Inject @Named("spare") Tire spareTire;
- @Inject Cupholder cupholder;
- @Inject Provider<Engine> engineProvider;
-
-@@ -177,7 +178,7 @@
-
- private final Convertible car = localConvertible.get();
- private final Cupholder cupholder = car.cupholder;
-- private final SpareTire spareTire = car.spareTire;
-+ private final Tire spareTire = car.spareTire;
- private final Tire plainTire = car.fieldPlainTire;
- private final Engine engine = car.engineProvider.get();
-
-@@ -430,7 +431,7 @@
-
- public void testOverriddingMixedWithPackagePrivate2() {
- assertTrue(spareTire.packagePrivateMethod2Injected);
-- assertTrue(((Tire) spareTire).packagePrivateMethod2Injected);
-+ assertTrue((spareTire).packagePrivateMethod2Injected);
- assertFalse(((RoundThing) spareTire).packagePrivateMethod2Injected);
-
- assertTrue(plainTire.packagePrivateMethod2Injected);
-@@ -438,8 +439,8 @@
- }
-
- public void testOverriddingMixedWithPackagePrivate3() {
-- assertFalse(spareTire.packagePrivateMethod3Injected);
-- assertTrue(((Tire) spareTire).packagePrivateMethod3Injected);
-+ assertFalse(((SpareTire) spareTire).packagePrivateMethod3Injected);
-+ assertTrue((spareTire).packagePrivateMethod3Injected);
- assertFalse(((RoundThing) spareTire).packagePrivateMethod3Injected);
-
- assertTrue(plainTire.packagePrivateMethod3Injected);
-@@ -550,7 +551,7 @@
-
- private final Convertible car = localConvertible.get();
- private final Engine engine = car.engineProvider.get();
-- private final SpareTire spareTire = car.spareTire;
-+ private final Tire spareTire = car.spareTire;
-
- public void testSupertypePrivateMethodInjected() {
- assertTrue(spareTire.superPrivateMethodInjected);
Index: .project
===================================================================
--- .project (revision 0)
15 years, 4 months
[webbeans-commits] Webbeans SVN: r3850 - in ri/trunk/impl/src/main/java/org/jboss/webbeans: context and 1 other directory.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-10-05 08:18:55 -0400 (Mon, 05 Oct 2009)
New Revision: 3850
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/context/AbstractContext.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/context/AbstractMapContext.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/context/AbstractThreadLocalMapContext.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/context/DependentContext.java
Log:
explicit cleanup of threadlocals
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java 2009-10-05 10:42:37 UTC (rev 3849)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java 2009-10-05 12:18:55 UTC (rev 3850)
@@ -1429,6 +1429,7 @@
public void cleanup()
{
services.cleanup();
+ this.currentInjectionPoint.remove();
}
public InterceptorRegistry<Class<?>, Interceptor> getManagedBeanInterceptorRegistry()
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/context/AbstractContext.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/context/AbstractContext.java 2009-10-05 10:42:37 UTC (rev 3849)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/context/AbstractContext.java 2009-10-05 12:18:55 UTC (rev 3850)
@@ -86,6 +86,9 @@
this.active.set(Boolean.valueOf(active));
}
- public abstract void cleanup();
+ public void cleanup()
+ {
+ this.active.remove();
+ }
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/context/AbstractMapContext.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/context/AbstractMapContext.java 2009-10-05 10:42:37 UTC (rev 3849)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/context/AbstractMapContext.java 2009-10-05 12:18:55 UTC (rev 3850)
@@ -174,6 +174,7 @@
@Override
public void cleanup()
{
+ super.cleanup();
if (getBeanStore() != null)
{
getBeanStore().clear();
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/context/AbstractThreadLocalMapContext.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/context/AbstractThreadLocalMapContext.java 2009-10-05 10:42:37 UTC (rev 3849)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/context/AbstractThreadLocalMapContext.java 2009-10-05 12:18:55 UTC (rev 3850)
@@ -62,4 +62,11 @@
return true;
}
+ @Override
+ public void cleanup()
+ {
+ super.cleanup();
+ beanStore.remove();
+ }
+
}
\ No newline at end of file
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/context/DependentContext.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/context/DependentContext.java 2009-10-05 10:42:37 UTC (rev 3849)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/context/DependentContext.java 2009-10-05 12:18:55 UTC (rev 3850)
@@ -91,7 +91,4 @@
return true;
}
- @Override
- public void cleanup() {}
-
}
15 years, 4 months
[webbeans-commits] Webbeans SVN: r3849 - tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/definition.
by webbeans-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2009-10-05 06:42:37 -0400 (Mon, 05 Oct 2009)
New Revision: 3849
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/definition/MockEnterpriseBeanLocal.java
Log:
add local interface
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/definition/MockEnterpriseBeanLocal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/definition/MockEnterpriseBeanLocal.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/definition/MockEnterpriseBeanLocal.java 2009-10-05 10:42:37 UTC (rev 3849)
@@ -0,0 +1,9 @@
+package org.jboss.jsr299.tck.tests.implementation.simple.definition;
+
+import javax.ejb.Local;
+
+@Local
+interface MockEnterpriseBeanLocal
+{
+
+}
15 years, 4 months
[webbeans-commits] Webbeans SVN: r3848 - in tck/trunk/impl/src/main: java/org/jboss/jsr299/tck/tests/implementation/enterprise/remove and 7 other directories.
by webbeans-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2009-10-05 06:41:03 -0400 (Mon, 05 Oct 2009)
New Revision: 3848
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/enterprise/definition/EnterpriseBeanDefinitionTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/enterprise/remove/EnterpriseBeanRemoveMethodTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/definition/MockEnterpriseBean.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/lifecycle/SimpleBeanLifecycleTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/simple/SimpleBeanSpecializationTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/simple/broken/extendejb/SpecializingBeanExtendsEnterpriseBeanTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/simple/broken/noextend1/SpecializingBeanImplementsInterfaceOnly.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/simple/broken/noextend2/SpecializingBeanExtendsNothingTest.java
tck/trunk/impl/src/main/resources/tck-audit-cdi.xml
Log:
assertion groupings for 3.1.4
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/enterprise/definition/EnterpriseBeanDefinitionTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/enterprise/definition/EnterpriseBeanDefinitionTest.java 2009-10-05 08:02:32 UTC (rev 3847)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/enterprise/definition/EnterpriseBeanDefinitionTest.java 2009-10-05 10:41:03 UTC (rev 3848)
@@ -122,7 +122,7 @@
@Test(groups = "enterpriseBeans")
@SpecAssertion(section = "3.2.3", id = "be")
- public void testBeanWithBindings()
+ public void testBeanWithQualifiers()
{
Annotation tame = new AnnotationLiteral<Tame>(){};
Bean<ApeLocal> apeBean = getBeans(ApeLocal.class, tame).iterator().next();
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/enterprise/remove/EnterpriseBeanRemoveMethodTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/enterprise/remove/EnterpriseBeanRemoveMethodTest.java 2009-10-05 08:02:32 UTC (rev 3847)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/enterprise/remove/EnterpriseBeanRemoveMethodTest.java 2009-10-05 10:41:03 UTC (rev 3848)
@@ -6,7 +6,6 @@
import org.jboss.jsr299.tck.AbstractJSR299Test;
import org.jboss.test.audit.annotations.SpecAssertion;
-import org.jboss.test.audit.annotations.SpecAssertions;
import org.jboss.test.audit.annotations.SpecVersion;
import org.jboss.testharness.impl.packaging.Artifact;
import org.jboss.testharness.impl.packaging.IntegrationTest;
@@ -28,11 +27,13 @@
@SpecAssertion(section = "3.2.1", id = "a")
public void testApplicationMayCallAnyRemoveMethodOnDependentScopedSessionEnterpriseBeans() throws Exception
{
- DependentSessionInterface sessionBean = getInstanceByType(DependentSessionInterface.class);
- sessionBean.remove();
Bean<?> bean = getCurrentManager().getBeans(StateKeeper.class).iterator().next();
StateKeeper stateKeeper = (StateKeeper)
- getCurrentManager().getReference(bean,StateKeeper.class, getCurrentManager().createCreationalContext(bean));
+ getCurrentManager().getReference(bean,StateKeeper.class, getCurrentManager().createCreationalContext(bean));
+ stateKeeper.setRemoveCalled(false);
+
+ DependentSessionInterface sessionBean = getInstanceByType(DependentSessionInterface.class);
+ sessionBean.remove();
assert stateKeeper.isRemoveCalled();
}
@@ -47,10 +48,7 @@
}
@Test(groups = { "enterpriseBeans", "removeMethod", "lifecycle" }, expectedExceptions = UnsupportedOperationException.class)
- @SpecAssertions({
- @SpecAssertion(section = "3.2.1", id = "b"),
- @SpecAssertion(section = "3.2.1", id = "c")
- })
+ @SpecAssertion(section = "3.2.1", id = "b")
public void testApplicationCannotCallRemoveMethodOnNonDependentScopedSessionEnterpriseBean()
{
SessionScopedSessionInterface sessionBean = getInstanceByType(SessionScopedSessionInterface.class);
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/definition/MockEnterpriseBean.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/definition/MockEnterpriseBean.java 2009-10-05 08:02:32 UTC (rev 3847)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/definition/MockEnterpriseBean.java 2009-10-05 10:41:03 UTC (rev 3848)
@@ -1,8 +1,9 @@
package org.jboss.jsr299.tck.tests.implementation.simple.definition;
-import javax.ejb.EnterpriseBean;
+import javax.ejb.Stateless;
-class MockEnterpriseBean implements EnterpriseBean
+@Stateless
+class MockEnterpriseBean implements MockEnterpriseBeanLocal
{
/**
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/lifecycle/SimpleBeanLifecycleTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/lifecycle/SimpleBeanLifecycleTest.java 2009-10-05 08:02:32 UTC (rev 3847)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/lifecycle/SimpleBeanLifecycleTest.java 2009-10-05 10:41:03 UTC (rev 3848)
@@ -76,7 +76,7 @@
@Test
@SpecAssertion(section = "3.7.2", id = "b")
- public void testBindingTypeAnnotatedConstructor()
+ public void testQualifierTypeAnnotatedConstructor()
{
getInstanceByType(Duck.class);
assert Duck.constructedCorrectly;
@@ -84,7 +84,7 @@
@Test(groups = { "specialization" })
@SpecAssertions({
- @SpecAssertion(section = "3.1.4", id = "aa")
+ @SpecAssertion(section = "3.1.4", id = "ac")
})
public void testSpecializedBeanExtendsManagedBean()
{
@@ -107,8 +107,6 @@
assert specializedBean != null;
assert specializedBean == getCurrentManager().getMostSpecializedBean(bean);
assert specializedBean.getBeanClass().getSuperclass().equals(Lion.class);
-
- //assert getInstanceByType(Lion.class, TAME_LITERAL) instanceof MountainLion;
}
@Test(groups = "beanLifecycle")
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/simple/SimpleBeanSpecializationTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/simple/SimpleBeanSpecializationTest.java 2009-10-05 08:02:32 UTC (rev 3847)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/simple/SimpleBeanSpecializationTest.java 2009-10-05 10:41:03 UTC (rev 3848)
@@ -33,7 +33,7 @@
@SpecAssertion(section = "4.3.1", id = "j"),
@SpecAssertion(section = "3.1.4", id = "aa")
})
- public void testSpecializingBeanHasBindingsOfSpecializedAndSpecializingBean()
+ public void testSpecializingBeanHasQualifiersOfSpecializedAndSpecializingBean()
{
assert getBeans(LazyFarmer.class, LANDOWNER_LITERAL).size() == 1;
Bean<?> bean = getBeans(LazyFarmer.class, LANDOWNER_LITERAL).iterator().next();
@@ -45,7 +45,7 @@
@Test
@SpecAssertions( {
@SpecAssertion(section = "4.3.1", id = "k"),
- @SpecAssertion(section = "3.1.4", id = "aa")
+ @SpecAssertion(section = "3.1.4", id = "ab")
})
public void testSpecializingBeanHasNameOfSpecializedBean()
{
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/simple/broken/extendejb/SpecializingBeanExtendsEnterpriseBeanTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/simple/broken/extendejb/SpecializingBeanExtendsEnterpriseBeanTest.java 2009-10-05 08:02:32 UTC (rev 3847)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/simple/broken/extendejb/SpecializingBeanExtendsEnterpriseBeanTest.java 2009-10-05 10:41:03 UTC (rev 3848)
@@ -18,7 +18,7 @@
public class SpecializingBeanExtendsEnterpriseBeanTest extends AbstractJSR299Test
{
@Test(groups = { "specialization" })
- @SpecAssertion(section = "3.1.4", id = "aa")
+ @SpecAssertion(section = "3.1.4", id = "dc")
public void testSpecializingClassDirectlyExtendsEnterpriseBean()
{
assert false;
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/simple/broken/noextend1/SpecializingBeanImplementsInterfaceOnly.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/simple/broken/noextend1/SpecializingBeanImplementsInterfaceOnly.java 2009-10-05 08:02:32 UTC (rev 3847)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/simple/broken/noextend1/SpecializingBeanImplementsInterfaceOnly.java 2009-10-05 10:41:03 UTC (rev 3848)
@@ -15,7 +15,7 @@
public class SpecializingBeanImplementsInterfaceOnly extends AbstractJSR299Test
{
@Test(groups = { "specialization" })
- @SpecAssertion(section = "3.1.4", id = "da")
+ @SpecAssertion(section = "3.1.4", id = "dd")
public void testSpecializingClassImplementsInterfaceAndExtendsNothing()
{
assert false;
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/simple/broken/noextend2/SpecializingBeanExtendsNothingTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/simple/broken/noextend2/SpecializingBeanExtendsNothingTest.java 2009-10-05 08:02:32 UTC (rev 3847)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/inheritance/specialization/simple/broken/noextend2/SpecializingBeanExtendsNothingTest.java 2009-10-05 10:41:03 UTC (rev 3848)
@@ -15,7 +15,7 @@
public class SpecializingBeanExtendsNothingTest extends AbstractJSR299Test
{
@Test(groups = { "specialization" })
- @SpecAssertion(section = "3.1.4", id = "da")
+ @SpecAssertion(section = "3.1.4", id = "db")
public void testSpecializingClassDirectlyExtendsNothing()
{
assert false;
Modified: tck/trunk/impl/src/main/resources/tck-audit-cdi.xml
===================================================================
--- tck/trunk/impl/src/main/resources/tck-audit-cdi.xml 2009-10-05 08:02:32 UTC (rev 3847)
+++ tck/trunk/impl/src/main/resources/tck-audit-cdi.xml 2009-10-05 10:41:03 UTC (rev 3848)
@@ -637,14 +637,42 @@
</assertion>
</section>
- <section id="3.1.4" title="Specializing a managed bean">
- <assertion id="aa">
- <text>If a bean class of a managed bean X is annotated @Specializes, then the bean class of X must directly extend the bean class of another managed bean Y. Then X directly specializes Y, as defined in Section 4.3, "Specialization".</text>
- </assertion>
-
- <assertion id="da">
- <text>If the bean class of X does not directly extend the bean class of another managed bean, 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 id="3.1.4" title="Specializing a managed bean">
+ <group>
+ <text>If a bean class of a managed bean X is annotated @Specializes, then the bean class of X must directly extend the bean class of another managed bean Y. Then X directly specializes Y, as defined in Section 4.3, "Specialization".</text>
+
+ <assertion id="aa">
+ <text>Test that a specializing bean has all its own qualifiers and the qualifiers of the specialized bean.</text>
+ </assertion>
+
+ <assertion id="ab">
+ <text>Test that a specializing bean has the name of the specialized bean.</text>
+ </assertion>
+
+ <assertion id="ac">
+ <text>Test a specialized bean extending a managed bean.</text>
+ </assertion>
+ </group>
+
+ <group>
+ <text>If the bean class of X does not directly extend the bean class of another managed bean, 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 id="da">
+ <text>Test a specializing bean extending a non simple bean.</text>
+ </assertion>
+
+ <assertion id="db">
+ <text>Test a specializing bean extending nothing.</text>
+ </assertion>
+
+ <assertion id="dc">
+ <text>Test a specializing bean directly extending an enterprise bean class.</text>
+ </assertion>
+
+ <assertion id="dd">
+ <text>Test a specializing bean implementing an interface and extending nothing.</text>
+ </assertion>
+ </group>
</section>
<section id="3.1.5" title="Default name for a managed bean">
@@ -701,13 +729,9 @@
</assertion>
<assertion id="b">
- <text>If a session bean is a stateful session bean, and the scope is not |@Dependent|, the application may not directly call any EJB remove method of any instance of the session bean</text>
+ <text>If a session bean is a stateful session bean, and the scope is not |@Dependent|, the application may not directly call any EJB remove method of any instance of the session bean. If the application directly calls an EJB remove method of an instance of a session bean that is a stateful session bean and declares any scope other than |@Dependent|, an |UnsupportedOperationException| is thrown</text>
</assertion>
- <assertion id="c">
- <text>If the application directly calls an EJB remove method of an instance of a session bean that is a stateful session bean and declares any scope other than |@Dependent|, an |UnsupportedOperationException| is thrown</text>
- </assertion>
-
<assertion id="da">
<text>If the application directly calls an EJB remove method of an instance of a session bean that is a stateful session bean and has scope |@Dependent| then no parameters are passed to the method by the container.</text>
</assertion>
15 years, 4 months