[webbeans-commits] Webbeans SVN: r2786 - in ri/trunk: impl/src/main/java/org/jboss/webbeans/bean and 5 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-06-08 11:29:47 -0400 (Mon, 08 Jun 2009)
New Revision: 2786
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanValidator.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/ManagerImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethodBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/ResolvableAnnotatedClass.java
ri/trunk/spi/src/main/java/org/jboss/webbeans/manager/api/WebBeansManager.java
ri/trunk/tests/src/main/java/org/jboss/webbeans/test/AbstractWebBeansTest.java
ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/implementation/enterprise/lifecycle/EnterpriseBeanLifecycleTest.java
ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/xml/parser/XmlParserImplTest.java
Log:
start to clean up the mess
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanValidator.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanValidator.java 2009-06-08 14:29:48 UTC (rev 2785)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanValidator.java 2009-06-08 15:29:47 UTC (rev 2786)
@@ -105,7 +105,7 @@
checkFacadeInjectionPoint(injectionPoint, Any.class, Event.class);
Annotation[] bindings = injectionPoint.getBindings().toArray(new Annotation[0]);
AnnotatedItem<?, ?> annotatedItem = ResolvableAnnotatedClass.of(injectionPoint.getType(), bindings);
- Set<?> resolvedBeans = manager.resolveByType(annotatedItem, injectionPoint, bindings);
+ Set<?> resolvedBeans = manager.getBeans(injectionPoint);
if (resolvedBeans.isEmpty())
{
throw new UnsatisfiedResolutionException("The injection point " + injectionPoint + " with binding types " + Names.annotationsToString(injectionPoint.getBindings()) + " in " + bean + " has unsatisfied dependencies with binding types ");
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/ManagerImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/ManagerImpl.java 2009-06-08 14:29:48 UTC (rev 2785)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/ManagerImpl.java 2009-06-08 15:29:47 UTC (rev 2786)
@@ -373,11 +373,15 @@
public <T> Set<DisposalMethodBean<T>> resolveDisposalBeans(Class<T> apiType, Annotation... bindings)
{
// Correct?
- Set<Bean<T>> beans = getBeans(apiType, bindings);
+ Set<Bean<?>> beans = getBeans(apiType, bindings);
Set<DisposalMethodBean<T>> disposalBeans = new HashSet<DisposalMethodBean<T>>();
- for (Bean<T> bean : beans)
+ for (Bean<?> bean : beans)
+ {
if (bean instanceof DisposalMethodBean)
+ {
disposalBeans.add((DisposalMethodBean<T>) bean);
+ }
+ }
return disposalBeans;
}
@@ -455,16 +459,13 @@
{
return (Set) resolveByType(ResolvableAnnotatedClass.of(beanType, bindings), bindings);
}
-
- @Deprecated
- public <T> Set<Bean<T>> getBeans(Class<T> beanType, Annotation... bindings)
+
+ public Set<Bean<?>> getBeans(AnnotatedItem<?, ?> element, Annotation... bindings)
{
- return resolveByType(ResolvableAnnotatedClass.of(beanType, bindings), bindings);
+ return (Set) resolveByType(element, bindings);
}
-
- @Deprecated
- public <T> Set<Bean<T>> resolveByType(AnnotatedItem<T, ?> element, InjectionPoint injectionPoint, Annotation... bindings)
+ public Set<Bean<?>> getBeans(InjectionPoint injectionPoint)
{
boolean registerInjectionPoint = !injectionPoint.getType().equals(InjectionPoint.class);
try
@@ -473,7 +474,8 @@
{
currentInjectionPoint.get().push(injectionPoint);
}
- return resolveByType(element, bindings);
+ // TODO Do this properly
+ return getBeans(ResolvableAnnotatedClass.of(injectionPoint.getType(), injectionPoint.getBindings().toArray(new Annotation[0])));
}
finally
{
@@ -513,7 +515,7 @@
throw new IllegalArgumentException("Cannot resolve a type parameterized with a type parameter " + element);
}
}
- if (bindings.length > element.getMetaAnnotations(BindingType.class).size())
+ if (bindings != null && bindings.length > element.getMetaAnnotations(BindingType.class).size())
{
throw new DuplicateBindingTypeException("Duplicate bindings (" + Arrays.asList(bindings) + ") type passed " + element.toString());
}
@@ -767,19 +769,6 @@
return getInstance(bean,true);
}
-
- @Deprecated
- public Object getInstanceToInject(InjectionPoint injectionPoint)
- {
- return this.getInjectableReference(injectionPoint, null);
- }
-
- @Deprecated
- public void injectNonContextualInstance(Object instance)
- {
- nonContextualInjector.inject(instance);
- }
-
@SuppressWarnings("unchecked")
public Object getInjectableReference(InjectionPoint injectionPoint, CreationalContext<?> creationalContext)
{
@@ -916,15 +905,6 @@
return bean;
}
-
- /**
- * Resolves a set of beans based on their name
- *
- * @param The name to match
- * @return The set of matching beans
- *
- * @see javax.enterprise.inject.spi.BeanManager#getBeans(java.lang.String)
- */
public Set<Bean<?>> getBeans(String name)
{
return resolver.get(name);
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethodBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethodBean.java 2009-06-08 14:29:48 UTC (rev 2785)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethodBean.java 2009-06-08 15:29:47 UTC (rev 2786)
@@ -191,7 +191,8 @@
for (InjectionPoint injectionPoint : disposalInjectionPoints)
{
- Object injectionObject = getManager().getInstanceToInject(injectionPoint);
+ // TODO this seems very wrong, we should be passing a creational context here
+ Object injectionObject = getManager().getInjectableReference(injectionPoint, null);
parameters.add(injectionObject);
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/ResolvableAnnotatedClass.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/ResolvableAnnotatedClass.java 2009-06-08 14:29:48 UTC (rev 2785)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/injection/resolution/ResolvableAnnotatedClass.java 2009-06-08 15:29:47 UTC (rev 2786)
@@ -27,7 +27,10 @@
import java.util.Set;
import javax.enterprise.inject.TypeLiteral;
+import javax.enterprise.inject.spi.InjectionPoint;
+import org.jboss.webbeans.injection.AnnotatedInjectionPoint;
+import org.jboss.webbeans.introspector.AnnotatedItem;
import org.jboss.webbeans.introspector.AnnotationStore;
import org.jboss.webbeans.introspector.jlr.AbstractAnnotatedItem;
import org.jboss.webbeans.util.Names;
@@ -41,17 +44,17 @@
private final String _string;
- public static <T> ResolvableAnnotatedClass<T> of(TypeLiteral<T> typeLiteral, Annotation[] annotations)
+ public static <T> AnnotatedItem<T, Class<T>> of(TypeLiteral<T> typeLiteral, Annotation[] annotations)
{
return new ResolvableAnnotatedClass<T>(typeLiteral.getRawType(), typeLiteral.getType(), annotations);
}
- public static <T> ResolvableAnnotatedClass<T> of(Class<T> clazz, Annotation[] annotations)
+ public static <T> AnnotatedItem<T, Class<T>> of(Class<T> clazz, Annotation[] annotations)
{
return new ResolvableAnnotatedClass<T>(clazz, clazz, annotations);
}
- public static <T> ResolvableAnnotatedClass<T> of(Type type, Annotation[] annotations)
+ public static <T> AnnotatedItem<T, Class<T>> of(Type type, Annotation[] annotations)
{
if (type instanceof Class)
{
@@ -67,8 +70,23 @@
}
}
- public static <T> ResolvableAnnotatedClass<T> of(Member member, Annotation[] annotations)
+
+ public static <T> AnnotatedItem<T, Class<T>> of(InjectionPoint injectionPoint)
{
+ if (injectionPoint instanceof AnnotatedInjectionPoint)
+ {
+ @SuppressWarnings("unchecked")
+ AnnotatedItem<T, Class<T>> ip = (AnnotatedItem<T, Class<T>>) injectionPoint;
+ return ip;
+ }
+ else
+ {
+ return of(injectionPoint.getType(), injectionPoint.getAnnotations());
+ }
+ }
+
+ public static <T> AnnotatedItem<T, Class<T>> of(Member member, Annotation[] annotations)
+ {
if (member instanceof Field)
{
return new ResolvableAnnotatedClass<T>((Class<T>) ((Field) member).getType(), ((Field) member).getGenericType(), annotations);
Modified: ri/trunk/spi/src/main/java/org/jboss/webbeans/manager/api/WebBeansManager.java
===================================================================
--- ri/trunk/spi/src/main/java/org/jboss/webbeans/manager/api/WebBeansManager.java 2009-06-08 14:29:48 UTC (rev 2785)
+++ ri/trunk/spi/src/main/java/org/jboss/webbeans/manager/api/WebBeansManager.java 2009-06-08 15:29:47 UTC (rev 2786)
@@ -31,14 +31,6 @@
public interface WebBeansManager extends BeanManager, Serializable
{
- /**
- * Perform JSR-299 dependency injection into a non-contextual instance
- *
- * @param instance
- * the instance to inject
- */
- public void injectNonContextualInstance(Object instance);
-
public void shutdown();
}
Modified: ri/trunk/tests/src/main/java/org/jboss/webbeans/test/AbstractWebBeansTest.java
===================================================================
--- ri/trunk/tests/src/main/java/org/jboss/webbeans/test/AbstractWebBeansTest.java 2009-06-08 14:29:48 UTC (rev 2785)
+++ ri/trunk/tests/src/main/java/org/jboss/webbeans/test/AbstractWebBeansTest.java 2009-06-08 15:29:47 UTC (rev 2786)
@@ -6,12 +6,15 @@
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
import java.net.URL;
import java.util.Arrays;
import java.util.List;
+import java.util.Set;
import javax.enterprise.inject.deployment.Production;
import javax.enterprise.inject.deployment.Standard;
+import javax.enterprise.inject.spi.Bean;
import org.jboss.testharness.AbstractTest;
import org.jboss.webbeans.CurrentManager;
@@ -151,4 +154,20 @@
return false;
}
+ public <T> Bean<T> getBean(Type beanType, Annotation... bindings)
+ {
+ Set<Bean<?>> beans = getCurrentManager().getBeans(beanType, bindings);
+ if (beans.size() > 1)
+ {
+ throw new RuntimeException("More than one bean resolved to " + beanType + " with bindings " + Arrays.asList(bindings));
+ }
+ if (beans.size() == 0)
+ {
+ throw new RuntimeException("No beans resolved to " + beanType + " with bindings " + Arrays.asList(bindings));
+ }
+ @SuppressWarnings("deprecated")
+ Bean<T> bean = (Bean<T>) beans.iterator().next();
+ return bean;
+ }
+
}
Modified: ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/implementation/enterprise/lifecycle/EnterpriseBeanLifecycleTest.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/implementation/enterprise/lifecycle/EnterpriseBeanLifecycleTest.java 2009-06-08 14:29:48 UTC (rev 2785)
+++ ri/trunk/tests/src/test/java/org/jboss/jsr299/tck/tests/implementation/enterprise/lifecycle/EnterpriseBeanLifecycleTest.java 2009-06-08 15:29:47 UTC (rev 2786)
@@ -47,7 +47,7 @@
public void testCreateSFSB()
{
GrossStadt frankfurt = getCurrentManager().getInstanceByType(GrossStadt.class);
- Bean<KleinStadt> stadtBean = getCurrentManager().getBeans(KleinStadt.class).iterator().next();
+ Bean<KleinStadt> stadtBean = getBean(KleinStadt.class);
assert stadtBean != null : "Expected a bean for stateful session bean Kassel";
CreationalContext<KleinStadt> creationalContext = new MockCreationalContext<KleinStadt>();
KleinStadt stadtInstance = stadtBean.create(creationalContext);
@@ -75,7 +75,7 @@
public void testDestroyRemovesSFSB() throws Exception
{
GrossStadt frankfurt = getCurrentManager().getInstanceByType(GrossStadt.class);
- Bean<KleinStadt> stadtBean = getCurrentManager().getBeans(KleinStadt.class).iterator().next();
+ Bean<KleinStadt> stadtBean = getBean(KleinStadt.class);
assert stadtBean != null : "Expected a bean for stateful session bean Kassel";
Context requestContext = getCurrentManager().getContext(RequestScoped.class);
CreationalContext<KleinStadt> creationalContext = new MockCreationalContext<KleinStadt>();
Modified: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/xml/parser/XmlParserImplTest.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/xml/parser/XmlParserImplTest.java 2009-06-08 14:29:48 UTC (rev 2785)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/xml/parser/XmlParserImplTest.java 2009-06-08 15:29:47 UTC (rev 2786)
@@ -66,10 +66,10 @@
ManagerImpl manager = parserEnv.getManager();
- Set<Bean<Order>> beansSet = manager.getBeans(Order.class);
+ Set<Bean<?>> beansSet = manager.getBeans(Order.class);
List<Class<? extends Annotation>> dTypes = manager.getEnabledDeploymentTypes();
dTypes.size();
- for(Bean<Order> bean : beansSet)
+ for(Bean<?> bean : beansSet)
{
Class<? extends Annotation> deploymentType = bean.getDeploymentType();
System.out.println("after parsing: " + deploymentType);
14 years, 10 months
[webbeans-commits] Webbeans SVN: r2785 - ri/trunk/impl/src/main/java/org/jboss/webbeans.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-06-08 10:29:48 -0400 (Mon, 08 Jun 2009)
New Revision: 2785
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/ManagerImpl.java
Log:
Add @Deprecated
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/ManagerImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/ManagerImpl.java 2009-06-08 14:07:08 UTC (rev 2784)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/ManagerImpl.java 2009-06-08 14:29:48 UTC (rev 2785)
@@ -381,16 +381,6 @@
return disposalBeans;
}
- /**
- * Resolves observers for given event and bindings
- *
- * @param event The event to match
- * @param bindings The binding types to match
- * @return The set of matching observers
- *
- * @see javax.enterprise.inject.spi.BeanManager#resolveObservers(java.lang.Object,
- * java.lang.annotation.Annotation[])
- */
public <T> Set<Observer<T>> resolveObservers(T event, Annotation... bindings)
{
Class<?> clazz = event.getClass();
@@ -463,15 +453,17 @@
public Set<Bean<?>> getBeans(Type beanType, Annotation... bindings)
{
- return (Set<Bean<?>>)(Set)resolveByType(ResolvableAnnotatedClass.of(beanType, bindings), bindings);
+ return (Set) resolveByType(ResolvableAnnotatedClass.of(beanType, bindings), bindings);
}
+ @Deprecated
public <T> Set<Bean<T>> getBeans(Class<T> beanType, Annotation... bindings)
{
return resolveByType(ResolvableAnnotatedClass.of(beanType, bindings), bindings);
}
+ @Deprecated
public <T> Set<Bean<T>> resolveByType(AnnotatedItem<T, ?> element, InjectionPoint injectionPoint, Annotation... bindings)
{
boolean registerInjectionPoint = !injectionPoint.getType().equals(InjectionPoint.class);
@@ -500,6 +492,7 @@
* @param bindings The binding types to match
* @return The set of matching beans
*/
+ @Deprecated
public <T> Set<Bean<T>> resolveByType(AnnotatedItem<T, ?> element, Annotation... bindings)
{
for (Annotation annotation : element.getAnnotationsAsSet())
@@ -719,19 +712,13 @@
return activeContexts.iterator().next();
}
- /**
- * Returns an instance of a bean
- *
- * @param bean The bean to instantiate
- * @return An instance of the bean
- *
- * @see javax.enterprise.inject.spi.BeanManager#getInstance(javax.inject.manager.Bean)
- */
+ @Deprecated
public <T> T getInstance(Bean<T> bean)
{
return getInstance(bean, true);
}
+ @Deprecated
public <T> T getInstance(Bean<T> bean, boolean create)
{
if (create)
@@ -744,15 +731,8 @@
}
}
- /**
- * Returns an instance of a bean
- *
- * @param bean The bean to instantiate
- * @return An instance of the bean
- *
- * @see javax.enterprise.inject.spi.BeanManager#getInstance(javax.inject.manager.Bean)
- */
@SuppressWarnings("unchecked")
+ @Deprecated
private <T> T getInstance(Bean<T> bean, CreationalContextImpl<?> creationalContext)
{
if (specializedBeans.containsKey(bean))
@@ -788,11 +768,13 @@
}
+ @Deprecated
public Object getInstanceToInject(InjectionPoint injectionPoint)
{
return this.getInjectableReference(injectionPoint, null);
}
+ @Deprecated
public void injectNonContextualInstance(Object instance)
{
nonContextualInjector.inject(instance);
@@ -849,6 +831,7 @@
*
* @see javax.enterprise.inject.spi.BeanManager#getInstanceByName(java.lang.String)
*/
+ @Deprecated
public Object getInstanceByName(String name)
{
Set<Bean<?>> beans = getBeans(name);
@@ -876,6 +859,7 @@
* @see javax.enterprise.inject.spi.BeanManager#getInstanceByType(java.lang.Class,
* java.lang.annotation.Annotation[])
*/
+ @Deprecated
public <T> T getInstanceByType(Class<T> type, Annotation... bindings)
{
return getInstanceByType(ResolvableAnnotatedClass.of(type, bindings), bindings);
@@ -891,6 +875,7 @@
* @see javax.enterprise.inject.spi.BeanManager#getInstanceByType(javax.enterprise.inject.TypeLiteral,
* java.lang.annotation.Annotation[])
*/
+ @Deprecated
public <T> T getInstanceByType(TypeLiteral<T> type, Annotation... bindings)
{
return getInstanceByType(ResolvableAnnotatedClass.of(type, bindings), bindings);
@@ -904,11 +889,13 @@
* @param bindings The binding types to match
* @return An instance of the bean
*/
+ @Deprecated
public <T> T getInstanceByType(AnnotatedItem<T, ?> element, Annotation... bindings)
{
return getInstance(getBeanByType(element, bindings));
}
+ @Deprecated
public <T> Bean<T> getBeanByType(AnnotatedItem<T, ?> element, Annotation... bindings)
{
Set<Bean<T>> beans = resolveByType(element, bindings);
@@ -1171,22 +1158,22 @@
public <T> InjectionTarget<T> createInjectionTarget(Class<T> type)
{
- throw new RuntimeException("Not yet implemented");
+ throw new UnsupportedOperationException("Not yet implemented");
}
public <T> InjectionTarget<T> createInjectionTarget(AnnotatedType<T> type)
{
- throw new RuntimeException("Not yet implemented");
+ throw new UnsupportedOperationException("Not yet implemented");
}
public <T> ManagedBean<T> createManagedBean(Class<T> type)
{
- throw new RuntimeException("Not yet implemented");
+ throw new UnsupportedOperationException("Not yet implemented");
}
public <T> ManagedBean<T> createManagedBean(AnnotatedType<T> type)
{
- throw new RuntimeException("Not yet implemented");
+ throw new UnsupportedOperationException("Not yet implemented");
}
@@ -1287,11 +1274,7 @@
sortedBeans.addAll(beans);
return sortedBeans.last();
}
-
- /**
- * Return the webbeans el resolver, as part of the BeanManager contract
- * @see javax.enterprise.inject.spi.BeanManager#getELResolver()
- */
+
public ELResolver getELResolver()
{
return new WebBeansELResolver();
14 years, 10 months
[webbeans-commits] Webbeans SVN: r2784 - tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/clientProxy.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-06-08 10:07:08 -0400 (Mon, 08 Jun 2009)
New Revision: 2784
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/clientProxy/ClientProxyTest.java
Log:
Bad import
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/clientProxy/ClientProxyTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/clientProxy/ClientProxyTest.java 2009-06-08 13:12:37 UTC (rev 2783)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/lookup/clientProxy/ClientProxyTest.java 2009-06-08 14:07:08 UTC (rev 2784)
@@ -9,8 +9,6 @@
import org.jboss.testharness.impl.packaging.Artifact;
import org.testng.annotations.Test;
-import sun.reflect.ReflectionFactory.GetReflectionFactoryAction;
-
/**
*
* Spec version: PRD2
14 years, 10 months
[webbeans-commits] Webbeans SVN: r2783 - in examples/trunk: numberguess/src/main/java/org/jboss/webbeans/examples/numberguess and 1 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-06-08 09:12:37 -0400 (Mon, 08 Jun 2009)
New Revision: 2783
Modified:
examples/trunk/jsf2/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java
examples/trunk/numberguess/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java
examples/trunk/servlet-numberguess/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java
Log:
WBRI-245
Modified: examples/trunk/jsf2/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java
===================================================================
--- examples/trunk/jsf2/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java 2009-06-08 13:02:42 UTC (rev 2782)
+++ examples/trunk/jsf2/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java 2009-06-08 13:12:37 UTC (rev 2783)
@@ -94,6 +94,13 @@
public void validateNumberRange(FacesContext context, UIComponent toValidate, Object value)
{
+ if (remainingGuesses <= 0)
+ {
+ FacesMessage message = new FacesMessage("No guesses left!");
+ context.addMessage(toValidate.getClientId(context), message);
+ ((UIInput)toValidate).setValid(false);
+ return;
+ }
int input = (Integer) value;
if (input < smallest || input > biggest)
Modified: examples/trunk/numberguess/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java
===================================================================
--- examples/trunk/numberguess/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java 2009-06-08 13:02:42 UTC (rev 2782)
+++ examples/trunk/numberguess/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java 2009-06-08 13:12:37 UTC (rev 2783)
@@ -64,7 +64,7 @@
return remainingGuesses;
}
- public String check() throws InterruptedException
+ public String check()
{
if (guess>number)
{
@@ -94,6 +94,13 @@
public void validateNumberRange(FacesContext context, UIComponent toValidate, Object value)
{
+ if (remainingGuesses <= 0)
+ {
+ FacesMessage message = new FacesMessage("No guesses left!");
+ context.addMessage(toValidate.getClientId(context), message);
+ ((UIInput)toValidate).setValid(false);
+ return;
+ }
int input = (Integer) value;
if (input < smallest || input > biggest)
Modified: examples/trunk/servlet-numberguess/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java
===================================================================
--- examples/trunk/servlet-numberguess/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java 2009-06-08 13:02:42 UTC (rev 2782)
+++ examples/trunk/servlet-numberguess/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java 2009-06-08 13:12:37 UTC (rev 2783)
@@ -93,6 +93,13 @@
public void validateNumberRange(FacesContext context, UIComponent toValidate, Object value)
{
+ if (remainingGuesses <= 0)
+ {
+ FacesMessage message = new FacesMessage("No guesses left!");
+ context.addMessage(toValidate.getClientId(context), message);
+ ((UIInput)toValidate).setValid(false);
+ return;
+ }
int input = (Integer) value;
if (input < smallest || input > biggest)
14 years, 10 months
[webbeans-commits] Webbeans SVN: r2782 - in examples/trunk: translator and 1 other directory.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-06-08 09:02:42 -0400 (Mon, 08 Jun 2009)
New Revision: 2782
Removed:
examples/trunk/translator/target/
Modified:
examples/trunk/readme.txt
Log:
minor
Modified: examples/trunk/readme.txt
===================================================================
--- examples/trunk/readme.txt 2009-06-08 13:02:25 UTC (rev 2781)
+++ examples/trunk/readme.txt 2009-06-08 13:02:42 UTC (rev 2782)
@@ -12,4 +12,4 @@
server supports Web Beans.
The examples and RI are explained in detail in the reference guide, including
-how to add Web Beans support to JBoss 5.
+how to add Web Beans support to JBoss 5, and how to deploy the examples to Tomcat
14 years, 10 months
[webbeans-commits] Webbeans SVN: r2781 - in examples/trunk: numberguess/src/main/java/org/jboss/webbeans/examples/numberguess and 3 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-06-08 09:02:25 -0400 (Mon, 08 Jun 2009)
New Revision: 2781
Modified:
examples/trunk/jsf2/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java
examples/trunk/numberguess/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java
examples/trunk/servlet-numberguess/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java
examples/trunk/wicket/gae/src/main/java/org/jboss/webbeans/examples/wicket/Game.java
examples/trunk/wicket/numberguess/src/main/java/org/jboss/webbeans/examples/wicket/Game.java
Log:
update to new api
Modified: examples/trunk/jsf2/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java
===================================================================
--- examples/trunk/jsf2/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java 2009-06-08 12:59:51 UTC (rev 2780)
+++ examples/trunk/jsf2/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java 2009-06-08 13:02:25 UTC (rev 2781)
@@ -5,14 +5,13 @@
import javax.annotation.PostConstruct;
import javax.enterprise.context.SessionScoped;
-import javax.enterprise.inject.AnnotationLiteral;
-import javax.enterprise.inject.Current;
+import javax.enterprise.inject.Instance;
import javax.enterprise.inject.Named;
-import javax.enterprise.inject.spi.BeanManager;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.component.UIInput;
import javax.faces.context.FacesContext;
+import javax.inject.Obtains;
@Named
@SessionScoped
@@ -29,7 +28,7 @@
private int biggest;
private int remainingGuesses;
- @Current BeanManager manager;
+ @Obtains @Random Instance<Integer> randomNumber;
public Game()
{
@@ -90,7 +89,7 @@
this.guess = 0;
this.remainingGuesses = 10;
this.biggest = maxNumber;
- this.number = manager.getInstanceByType(Integer.class, new AnnotationLiteral<Random>(){});
+ this.number = randomNumber.get();
}
public void validateNumberRange(FacesContext context, UIComponent toValidate, Object value)
Modified: examples/trunk/numberguess/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java
===================================================================
--- examples/trunk/numberguess/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java 2009-06-08 12:59:51 UTC (rev 2780)
+++ examples/trunk/numberguess/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java 2009-06-08 13:02:25 UTC (rev 2781)
@@ -5,14 +5,13 @@
import javax.annotation.PostConstruct;
import javax.enterprise.context.SessionScoped;
-import javax.enterprise.inject.AnnotationLiteral;
-import javax.enterprise.inject.Current;
+import javax.enterprise.inject.Instance;
import javax.enterprise.inject.Named;
-import javax.enterprise.inject.spi.BeanManager;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.component.UIInput;
import javax.faces.context.FacesContext;
+import javax.inject.Obtains;
@Named
@SessionScoped
@@ -29,7 +28,7 @@
private int biggest;
private int remainingGuesses;
- @Current BeanManager manager;
+ @Obtains @Random Instance<Integer> randomNumber;
public Game()
{
@@ -90,7 +89,7 @@
this.guess = 0;
this.remainingGuesses = 10;
this.biggest = maxNumber;
- this.number = manager.getInstanceByType(Integer.class, new AnnotationLiteral<Random>(){});
+ this.number = randomNumber.get();
}
public void validateNumberRange(FacesContext context, UIComponent toValidate, Object value)
Modified: examples/trunk/servlet-numberguess/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java
===================================================================
--- examples/trunk/servlet-numberguess/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java 2009-06-08 12:59:51 UTC (rev 2780)
+++ examples/trunk/servlet-numberguess/src/main/java/org/jboss/webbeans/examples/numberguess/Game.java 2009-06-08 13:02:25 UTC (rev 2781)
@@ -6,13 +6,12 @@
import javax.annotation.Named;
import javax.annotation.PostConstruct;
import javax.context.SessionScoped;
+import javax.enterprise.inject.Instance;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.component.UIInput;
import javax.faces.context.FacesContext;
-import javax.inject.AnnotationLiteral;
-import javax.inject.Current;
-import javax.inject.manager.Manager;
+import javax.inject.Obtains;
import javax.naming.NamingException;
@Named
@@ -30,7 +29,7 @@
private int biggest;
private int remainingGuesses;
- @Current Manager manager;
+ @Obtains @Random Instance<Integer> randomNumber;
public Game() throws NamingException {}
@@ -89,7 +88,7 @@
this.guess = 0;
this.remainingGuesses = 10;
this.biggest = maxNumber;
- this.number = manager.getInstanceByType(Integer.class, new AnnotationLiteral<Random>(){});
+ this.number = randomNumber.get();;
}
public void validateNumberRange(FacesContext context, UIComponent toValidate, Object value)
Modified: examples/trunk/wicket/gae/src/main/java/org/jboss/webbeans/examples/wicket/Game.java
===================================================================
--- examples/trunk/wicket/gae/src/main/java/org/jboss/webbeans/examples/wicket/Game.java 2009-06-08 12:59:51 UTC (rev 2780)
+++ examples/trunk/wicket/gae/src/main/java/org/jboss/webbeans/examples/wicket/Game.java 2009-06-08 13:02:25 UTC (rev 2781)
@@ -6,9 +6,8 @@
import javax.annotation.Named;
import javax.annotation.PostConstruct;
import javax.context.SessionScoped;
-import javax.inject.AnnotationLiteral;
-import javax.inject.Current;
-import javax.inject.manager.Manager;
+import javax.inject.Instance;
+import javax.inject.Obtains;
@Named
@SessionScoped
@@ -25,7 +24,7 @@
private int biggest;
private int remainingGuesses;
- @Current Manager manager;
+ @Obtains @Random Instance<Integer> randomNumber;
public int getNumber()
{
@@ -79,7 +78,7 @@
this.guess = 0;
this.remainingGuesses = 10;
this.biggest = maxNumber;
- this.number = manager.getInstanceByType(Integer.class, new AnnotationLiteral<Random>(){});
+ this.number = randomNumber.get();
}
Modified: examples/trunk/wicket/numberguess/src/main/java/org/jboss/webbeans/examples/wicket/Game.java
===================================================================
--- examples/trunk/wicket/numberguess/src/main/java/org/jboss/webbeans/examples/wicket/Game.java 2009-06-08 12:59:51 UTC (rev 2780)
+++ examples/trunk/wicket/numberguess/src/main/java/org/jboss/webbeans/examples/wicket/Game.java 2009-06-08 13:02:25 UTC (rev 2781)
@@ -5,10 +5,9 @@
import javax.annotation.PostConstruct;
import javax.enterprise.context.SessionScoped;
-import javax.enterprise.inject.AnnotationLiteral;
-import javax.enterprise.inject.Current;
+import javax.enterprise.inject.Instance;
import javax.enterprise.inject.Named;
-import javax.enterprise.inject.spi.BeanManager;
+import javax.inject.Obtains;
import javax.naming.NamingException;
@Named
@@ -26,7 +25,7 @@
private int biggest;
private int remainingGuesses;
- @Current BeanManager manager;
+ @Obtains @Random Instance<Integer> randomNumber;
public Game() throws NamingException {}
@@ -82,7 +81,7 @@
this.guess = 0;
this.remainingGuesses = 10;
this.biggest = maxNumber;
- this.number = manager.getInstanceByType(Integer.class, new AnnotationLiteral<Random>(){});
+ this.number = randomNumber.get();
}
14 years, 10 months
[webbeans-commits] Webbeans SVN: r2780 - in ri/trunk/impl/src/main/java/org/jboss/webbeans: bean/standard and 1 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-06-08 08:59:51 -0400 (Mon, 08 Jun 2009)
New Revision: 2780
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/FacadeImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/InstanceImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/AbstractFacadeBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/EventBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/event/EventImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/event/EventManager.java
Log:
implement serializable for all facades
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/FacadeImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/FacadeImpl.java 2009-06-08 12:14:12 UTC (rev 2779)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/FacadeImpl.java 2009-06-08 12:59:51 UTC (rev 2780)
@@ -16,8 +16,11 @@
*/
package org.jboss.webbeans;
+import java.io.Serializable;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
+import java.util.Arrays;
+import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
@@ -32,20 +35,21 @@
*
* @param <T>
*/
-public abstract class FacadeImpl<T>
+public abstract class FacadeImpl<T> implements Serializable
{
+ private static final long serialVersionUID = 8710258788495459128L;
+
private static final Annotation[] EMPTY_BINDINGS = new Annotation[0];
// The binding types the helper operates on
- protected final Set<? extends Annotation> bindings;
+ private final Set<? extends Annotation> bindings;
// The Web Beans manager
private final ManagerImpl manager;
// The type of the operation
- protected final Type type;
+ private final Type type;
/**
- * Constructor
*
* @param type The event type
* @param manager The Web Beans manager
@@ -92,5 +96,22 @@
{
return manager.getCurrent();
}
+
+ protected static Set<Annotation> removeBindings(Set<Annotation> bindings, Annotation...remove)
+ {
+ Set<Annotation> a = new HashSet<Annotation>(bindings);
+ a.removeAll(Arrays.asList(remove));
+ return a;
+ }
+
+ protected Set<? extends Annotation> getBindings()
+ {
+ return Collections.unmodifiableSet(bindings);
+ }
+
+ protected Type getType()
+ {
+ return type;
+ }
}
\ No newline at end of file
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/InstanceImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/InstanceImpl.java 2009-06-08 12:14:12 UTC (rev 2779)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/InstanceImpl.java 2009-06-08 12:59:51 UTC (rev 2780)
@@ -35,8 +35,9 @@
*/
public class InstanceImpl<T> extends FacadeImpl<T> implements Instance<T>
{
-
+ private static final long serialVersionUID = -376721889693284887L;
+
public static <I> Instance<I> of(Type type, ManagerImpl manager, Set<Annotation> annotations)
{
return new InstanceImpl<I>(type, manager, annotations);
@@ -66,7 +67,7 @@
public T get(Annotation... bindings)
{
Annotation[] annotations = mergeInBindings(bindings);
- return getManager().getInstanceByType(ResolvableAnnotatedClass.<T>of(type, annotations), annotations);
+ return getManager().getInstanceByType(ResolvableAnnotatedClass.<T>of(getType(), annotations), annotations);
}
/**
@@ -77,13 +78,12 @@
@Override
public String toString()
{
- return "Obtainable instance for type " + type + " and binding types " + bindings;
+ return "Obtainable instance for type " + getType() + " and binding types " + getBindings();
}
public Iterator<T> iterator()
{
- // TODO Auto-generated method stub
- return null;
+ throw new UnsupportedOperationException("Not yet implemented");
}
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/AbstractFacadeBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/AbstractFacadeBean.java 2009-06-08 12:14:12 UTC (rev 2779)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/AbstractFacadeBean.java 2009-06-08 12:59:51 UTC (rev 2780)
@@ -97,6 +97,12 @@
{
// TODO Auto-generated method stub
}
+
+ @Override
+ public boolean isSerializable()
+ {
+ return true;
+ }
/**
* Gets a set of annotation classes to ignore
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/EventBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/EventBean.java 2009-06-08 12:14:12 UTC (rev 2779)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/EventBean.java 2009-06-08 12:59:51 UTC (rev 2780)
@@ -87,10 +87,4 @@
return "Built-in implicit javax.event.Event bean";
}
- @Override
- public boolean isSerializable()
- {
- return true;
- }
-
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/event/EventImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/event/EventImpl.java 2009-06-08 12:14:12 UTC (rev 2779)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/event/EventImpl.java 2009-06-08 12:59:51 UTC (rev 2780)
@@ -16,7 +16,6 @@
*/
package org.jboss.webbeans.event;
-import java.io.Serializable;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
import java.util.Set;
@@ -37,11 +36,11 @@
* @param <T> The type of event being wrapped
* @see javax.event.Event
*/
-public class EventImpl<T> extends FacadeImpl<T> implements Event<T>, Serializable
+public class EventImpl<T> extends FacadeImpl<T> implements Event<T>
{
- private static final long serialVersionUID = 8130060821283091287L;
-
+ private static final long serialVersionUID = 656782657242515455L;
+
public static <E> Event<E> of(Type eventType, ManagerImpl manager, Set<Annotation> bindings)
{
return new EventImpl<E>(eventType, manager, bindings);
@@ -57,8 +56,7 @@
*/
public EventImpl(Type eventType, ManagerImpl manager, Set<Annotation> bindings)
{
- super(eventType, manager, bindings);
- this.bindings.remove(new AnyLiteral());
+ super(eventType, manager, removeBindings(bindings, new AnyLiteral()));
}
/**
@@ -88,8 +86,8 @@
{
StringBuilder buffer = new StringBuilder();
buffer.append("Observable Event:\n");
- buffer.append(" Event Type: " + type.toString() + "\n");
- buffer.append(Strings.collectionToString(" Event Bindings: ", bindings));
+ buffer.append(" Event Type: " + getType().toString() + "\n");
+ buffer.append(Strings.collectionToString(" Event Bindings: ", getBindings()));
return buffer.toString();
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/event/EventManager.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/event/EventManager.java 2009-06-08 12:14:12 UTC (rev 2779)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/event/EventManager.java 2009-06-08 12:59:51 UTC (rev 2780)
@@ -19,8 +19,6 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
-import java.lang.reflect.TypeVariable;
-import java.lang.reflect.WildcardType;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
@@ -31,7 +29,6 @@
import org.jboss.webbeans.context.DependentContext;
import org.jboss.webbeans.log.Log;
import org.jboss.webbeans.log.Logging;
-import org.jboss.webbeans.util.Reflections;
import org.jboss.webbeans.util.Reflections.HierarchyDiscovery;
/**
14 years, 10 months
[webbeans-commits] Webbeans SVN: r2779 - examples/trunk.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-06-08 08:14:12 -0400 (Mon, 08 Jun 2009)
New Revision: 2779
Modified:
examples/trunk/build.xml
Log:
WBRI-246
Modified: examples/trunk/build.xml
===================================================================
--- examples/trunk/build.xml 2009-06-08 12:13:53 UTC (rev 2778)
+++ examples/trunk/build.xml 2009-06-08 12:14:12 UTC (rev 2779)
@@ -83,9 +83,13 @@
</target>
<target name="tomcat.undeploy">
+ <delete file="${tomcat.home}/webapps/${example.name}.war" failonerror="false" />
+ </target>
+
+ <target name="tomcat.unexplode">
<delete dir="${tomcat.home}/webapps/${example.name}" failonerror="false" />
- <delete file="${tomcat.home}/webapps/${example.name}" failonerror="false" />
</target>
+
<macrodef name="maven">
<attribute name="target" />
14 years, 10 months
[webbeans-commits] Webbeans SVN: r2778 - doc/trunk/reference/en-US.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-06-08 08:13:53 -0400 (Mon, 08 Jun 2009)
New Revision: 2778
Modified:
doc/trunk/reference/en-US/gettingstarted.xml
Log:
WBRI-246
Modified: doc/trunk/reference/en-US/gettingstarted.xml
===================================================================
--- doc/trunk/reference/en-US/gettingstarted.xml 2009-06-08 11:54:12 UTC (rev 2777)
+++ doc/trunk/reference/en-US/gettingstarted.xml 2009-06-08 12:13:53 UTC (rev 2778)
@@ -223,11 +223,16 @@
</listitem>
<listitem>
<para>
- <literal>ant tomcat.undeploy</literal> - remove the example from the server
+ <literal>ant tomcat.undeploy</literal> - remove the example (in compressed jar format) from the server
</para>
</listitem>
<listitem>
<para>
+ <literal>ant tomcat.unexplode</literal> - remove the example (in exploded format) from the server
+ </para>
+ </listitem>
+ <listitem>
+ <para>
<literal>ant tomcat.clean</literal> - clean the example
</para>
</listitem>
14 years, 10 months
[webbeans-commits] Webbeans SVN: r2777 - in ri/trunk: tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method and 1 other directory.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-06-08 07:54:12 -0400 (Mon, 08 Jun 2009)
New Revision: 2777
Added:
ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/Car.java
ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/CarFactory.java
ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/Government.java
ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/NullProducerTest.java
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java
Log:
WBRI-276
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java 2009-06-08 11:25:31 UTC (rev 2776)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java 2009-06-08 11:54:12 UTC (rev 2777)
@@ -221,7 +221,7 @@
{
if (injectionPoint.getMember() instanceof Field)
{
- if (!Reflections.isTransient(injectionPoint.getMember()) && !Reflections.isSerializable(instance.getClass()))
+ if (!Reflections.isTransient(injectionPoint.getMember()) && instance != null && !Reflections.isSerializable(instance.getClass()))
{
throw new IllegalProductException("Dependent scoped producers cannot produce non-serializable instances for injection into non-transient fields of passivating beans\n\nProducer: " + this.toString() + "\nInjection Point: " + injectionPoint.toString());
}
Added: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/Car.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/Car.java (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/Car.java 2009-06-08 11:54:12 UTC (rev 2777)
@@ -0,0 +1,8 @@
+package org.jboss.webbeans.test.unit.implementation.producer.method;
+
+import java.io.Serializable;
+
+public class Car implements Serializable
+{
+
+}
Property changes on: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/Car.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/CarFactory.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/CarFactory.java (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/CarFactory.java 2009-06-08 11:54:12 UTC (rev 2777)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.test.unit.implementation.producer.method;
+
+import javax.enterprise.inject.Produces;
+
+public class CarFactory
+{
+
+ @Produces @Important
+ public Car produceGovernmentCar()
+ {
+ return null;
+ }
+
+}
Property changes on: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/CarFactory.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/Government.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/Government.java (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/Government.java 2009-06-08 11:54:12 UTC (rev 2777)
@@ -0,0 +1,19 @@
+package org.jboss.webbeans.test.unit.implementation.producer.method;
+
+import java.io.Serializable;
+
+import javax.enterprise.context.SessionScoped;
+
+@SessionScoped
+public class Government implements Serializable
+{
+
+ @Important Car governmentCar;
+
+ public void destabilize()
+ {
+
+ }
+
+
+}
Property changes on: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/Government.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/NullProducerTest.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/NullProducerTest.java (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/NullProducerTest.java 2009-06-08 11:54:12 UTC (rev 2777)
@@ -0,0 +1,17 @@
+package org.jboss.webbeans.test.unit.implementation.producer.method;
+
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.jboss.webbeans.test.AbstractWebBeansTest;
+import org.testng.annotations.Test;
+
+@Artifact
+public class NullProducerTest extends AbstractWebBeansTest
+{
+
+ @Test(description="WBRI-276")
+ public void testProduerMethodReturnsNull()
+ {
+ getCurrentManager().getInstanceByType(Government.class).destabilize();
+ }
+
+}
Property changes on: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/producer/method/NullProducerTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
14 years, 10 months