[webbeans-commits] Webbeans SVN: r1268 - ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event and 9 other directories.
webbeans-commits at lists.jboss.org
webbeans-commits at lists.jboss.org
Wed Jan 28 19:29:22 EST 2009
Author: pete.muir at jboss.org
Date: 2009-01-28 19:29:21 -0500 (Wed, 28 Jan 2009)
New Revision: 1268
Added:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injection/Exceptions.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/implementation/exceptions/
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/implementation/exceptions/ExceptionHandlingTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/implementation/exceptions/FooException.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/implementation/exceptions/Lorry_Broken.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/implementation/exceptions/Ship.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/implementation/exceptions/ShipProducer_Broken.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/FooException.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Lorry.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/LorryProducer_Broken.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Ship.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/ShipProducer_Broken.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/FooException.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/Lorry_Broken.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/Van_Broken.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/standard/ManagerBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injection/ConstructorInjectionPoint.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injection/FieldInjectionPoint.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injection/MethodInjectionPoint.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedConstructor.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedField.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedConstructor.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedField.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedMethod.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedFieldImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/metadata/BindingTypeModel.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/ProducerMethodLifecycleTest.java
tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/SimpleBeanLifecycleTest.java
Log:
WBRI-120
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/standard/ManagerBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/standard/ManagerBean.java 2009-01-28 23:42:07 UTC (rev 1267)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/standard/ManagerBean.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -50,4 +50,10 @@
// No-op
}
+ @Override
+ public boolean isSerializable()
+ {
+ return true;
+ }
+
}
\ No newline at end of file
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java 2009-01-28 23:42:07 UTC (rev 1267)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -18,7 +18,6 @@
package org.jboss.webbeans.event;
import java.lang.annotation.Annotation;
-import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.List;
@@ -33,7 +32,6 @@
import javax.event.Observes;
import javax.inject.DefinitionException;
import javax.inject.Disposes;
-import javax.inject.ExecutionException;
import javax.inject.Initializer;
import javax.inject.Produces;
import javax.inject.manager.Bean;
@@ -213,24 +211,9 @@
}
else
{
- observerMethod.invokeWithSpecialValue(instance, Observes.class, event, manager, null);
+ observerMethod.invokeWithSpecialValue(instance, Observes.class, event, manager, null, ObserverException.class);
}
}
- catch (ExecutionException e)
- {
- if ((e.getCause() != null) && (e.getCause() instanceof InvocationTargetException))
- {
- InvocationTargetException wrappedException = (InvocationTargetException) e.getCause();
- if ((wrappedException.getCause() != null) && (RuntimeException.class.isAssignableFrom(wrappedException.getCause().getClass())))
- {
- throw (RuntimeException) wrappedException.getCause();
- }
- else
- {
- throw new ObserverException(wrappedException.getCause().getMessage(), wrappedException.getCause());
- }
- }
- }
finally
{
if (Dependent.class.equals(observerBean.getScopeType()))
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injection/ConstructorInjectionPoint.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injection/ConstructorInjectionPoint.java 2009-01-28 23:42:07 UTC (rev 1267)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injection/ConstructorInjectionPoint.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -1,7 +1,10 @@
package org.jboss.webbeans.injection;
+import static org.jboss.webbeans.injection.Exceptions.rethrowException;
+
import java.lang.annotation.Annotation;
import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
import java.util.AbstractList;
import java.util.Iterator;
import java.util.List;
@@ -78,7 +81,27 @@
public T newInstance(ManagerImpl manager, CreationalContext<?> creationalContext)
{
- return delegate().newInstance(getParameterValues(getParameters(), null, null, manager, creationalContext));
+ try
+ {
+ return delegate().newInstance(getParameterValues(getParameters(), null, null, manager, creationalContext));
+ }
+ catch (IllegalArgumentException e)
+ {
+ rethrowException(e);
+ }
+ catch (InstantiationException e)
+ {
+ rethrowException(e);
+ }
+ catch (IllegalAccessException e)
+ {
+ rethrowException(e);
+ }
+ catch (InvocationTargetException e)
+ {
+ rethrowException(e);
+ }
+ return null;
}
@Override
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injection/Exceptions.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injection/Exceptions.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injection/Exceptions.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -0,0 +1,82 @@
+package org.jboss.webbeans.injection;
+
+import java.lang.reflect.InvocationTargetException;
+
+import javax.inject.CreationException;
+import javax.inject.ExecutionException;
+
+class Exceptions
+{
+
+ private static void rethrowException(Throwable t, Class<? extends RuntimeException> exceptionToThrow)
+ {
+ if (t instanceof RuntimeException)
+ {
+ throw (RuntimeException) t;
+ }
+ else
+ {
+ RuntimeException e;
+ try
+ {
+ e = exceptionToThrow.newInstance();
+ }
+ catch (InstantiationException e1)
+ {
+ throw new ExecutionException(e1);
+ }
+ catch (IllegalAccessException e1)
+ {
+ throw new ExecutionException(e1);
+ }
+ e.initCause(t);
+ throw e;
+ }
+ }
+
+ private static void rethrowException(Throwable t)
+ {
+ rethrowException(t, CreationException.class);
+ }
+
+ public static void rethrowException(IllegalArgumentException e)
+ {
+ rethrowException(e.getCause());
+ }
+
+ public static void rethrowException(IllegalArgumentException e, Class<? extends RuntimeException> exceptionToThrow)
+ {
+ rethrowException(e.getCause(), exceptionToThrow);
+ }
+
+ public static void rethrowException(InstantiationException e, Class<? extends RuntimeException> exceptionToThrow)
+ {
+ rethrowException(e.getCause(), exceptionToThrow);
+ }
+
+ public static void rethrowException(InstantiationException e)
+ {
+ rethrowException(e.getCause());
+ }
+
+ public static void rethrowException(IllegalAccessException e)
+ {
+ rethrowException(e.getCause());
+ }
+
+ public static void rethrowException(IllegalAccessException e, Class<? extends RuntimeException> exceptionToThrow)
+ {
+ rethrowException(e.getCause(), exceptionToThrow);
+ }
+
+ public static void rethrowException(InvocationTargetException e, Class<? extends RuntimeException> exceptionToThrow)
+ {
+ rethrowException(e.getCause(), exceptionToThrow);
+ }
+
+ public static void rethrowException(InvocationTargetException e)
+ {
+ rethrowException(e.getCause());
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injection/Exceptions.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injection/FieldInjectionPoint.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injection/FieldInjectionPoint.java 2009-01-28 23:42:07 UTC (rev 1267)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injection/FieldInjectionPoint.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -1,5 +1,7 @@
package org.jboss.webbeans.injection;
+import static org.jboss.webbeans.injection.Exceptions.rethrowException;
+
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import java.util.Set;
@@ -53,7 +55,34 @@
public void inject(Object declaringInstance, ManagerImpl manager, CreationalContext<?> creationalContext)
{
- delegate().inject(declaringInstance, manager.getInstanceToInject(this, creationalContext));
+ try
+ {
+ delegate().set(declaringInstance, manager.getInstanceToInject(this, creationalContext));
+ }
+ catch (IllegalArgumentException e)
+ {
+ rethrowException(e);
+ }
+ catch (IllegalAccessException e)
+ {
+ rethrowException(e);
+ }
}
+
+ public void inject(Object declaringInstance, Object value)
+ {
+ try
+ {
+ delegate().set(declaringInstance, value);
+ }
+ catch (IllegalArgumentException e)
+ {
+ rethrowException(e);
+ }
+ catch (IllegalAccessException e)
+ {
+ rethrowException(e);
+ }
+ }
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injection/MethodInjectionPoint.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injection/MethodInjectionPoint.java 2009-01-28 23:42:07 UTC (rev 1267)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/injection/MethodInjectionPoint.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -1,6 +1,9 @@
package org.jboss.webbeans.injection;
+import static org.jboss.webbeans.injection.Exceptions.rethrowException;
+
import java.lang.annotation.Annotation;
+import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.AbstractList;
import java.util.Iterator;
@@ -78,12 +81,44 @@
public T invoke(Object declaringInstance, ManagerImpl manager, CreationalContext<?> creationalContext)
{
- return delegate().invoke(declaringInstance, getParameterValues(getParameters(), null, null, manager, creationalContext));
+ try
+ {
+ return delegate().invoke(declaringInstance, getParameterValues(getParameters(), null, null, manager, creationalContext));
+ }
+ catch (IllegalArgumentException e)
+ {
+ rethrowException(e);
+ }
+ catch (IllegalAccessException e)
+ {
+ rethrowException(e);
+ }
+ catch (InvocationTargetException e)
+ {
+ rethrowException(e);
+ }
+ return null;
}
- public T invokeWithSpecialValue(Object declaringInstance, Class<? extends Annotation> annotatedParameter, Object parameter, ManagerImpl manager, CreationalContext<?> creationalContext)
+ public T invokeWithSpecialValue(Object declaringInstance, Class<? extends Annotation> annotatedParameter, Object parameter, ManagerImpl manager, CreationalContext<?> creationalContext, Class<? extends RuntimeException> exceptionTypeToThrow)
{
- return delegate().invoke(declaringInstance, getParameterValues(getParameters(), annotatedParameter, parameter, manager, creationalContext));
+ try
+ {
+ return delegate().invoke(declaringInstance, getParameterValues(getParameters(), annotatedParameter, parameter, manager, creationalContext));
+ }
+ catch (IllegalArgumentException e)
+ {
+ rethrowException(e, exceptionTypeToThrow);
+ }
+ catch (IllegalAccessException e)
+ {
+ rethrowException(e, exceptionTypeToThrow);
+ }
+ catch (InvocationTargetException e)
+ {
+ rethrowException(e, exceptionTypeToThrow);
+ }
+ return null;
}
@Override
@@ -110,7 +145,22 @@
public void inject(Object declaringInstance, Object value)
{
- delegate().invoke(declaringInstance, value);
+ try
+ {
+ delegate().invoke(declaringInstance, value);
+ }
+ catch (IllegalArgumentException e)
+ {
+ rethrowException(e);
+ }
+ catch (IllegalAccessException e)
+ {
+ rethrowException(e);
+ }
+ catch (InvocationTargetException e)
+ {
+ rethrowException(e);
+ }
}
/**
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedConstructor.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedConstructor.java 2009-01-28 23:42:07 UTC (rev 1267)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedConstructor.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -19,6 +19,7 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
import java.util.List;
/**
@@ -53,7 +54,7 @@
*
* @return The created instance
*/
- public T newInstance(Object... parameters);
+ public T newInstance(Object... parameters) throws IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException;
/**
* Gets the declaring class of the annotation
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedField.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedField.java 2009-01-28 23:42:07 UTC (rev 1267)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedField.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -45,19 +45,19 @@
* @param declaringInstance The instance to inject into
* @param value The value to inject
*/
- public void inject(Object declaringInstance, Object value);
+ public void set(Object declaringInstance, Object value) throws IllegalArgumentException, IllegalAccessException;
/**
* Injects into the field using the value provided by the manager
*
- * Unlike {@link #inject(Object, Manager)} the field injected into is
+ * Unlike {@link #set(Object, Manager)} the field injected into is
* discovered from the declaring instance. This is slower, but safe to use
* with proxies.
*
* @param declaringInstance The instance to inject into
* @param value The value to inject
*/
- public void injectIntoInstance(Object declaringInstance, Object value);
+ public void setOnInstance(Object declaringInstance, Object value) throws IllegalArgumentException, SecurityException, IllegalAccessException, NoSuchFieldException;
public T get(Object instance);
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java 2009-01-28 23:42:07 UTC (rev 1267)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -18,6 +18,7 @@
package org.jboss.webbeans.introspector;
import java.lang.annotation.Annotation;
+import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.HashSet;
@@ -74,7 +75,7 @@
* @param parameters The method parameters
* @return A reference to the instance
*/
- public T invoke(Object instance, Object... parameters);
+ public T invoke(Object instance, Object... parameters) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException;
/**
* Invokes the method on the class of the passed instance, not the declaring
@@ -84,7 +85,7 @@
* @param manager The Web Beans manager
* @return A reference to the instance
*/
- public T invokeOnInstance(Object instance, Object... parameters);
+ public T invokeOnInstance(Object instance, Object... parameters) throws IllegalArgumentException, SecurityException, IllegalAccessException, InvocationTargetException, NoSuchMethodException;
/**
* Gets the declaring class
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedConstructor.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedConstructor.java 2009-01-28 23:42:07 UTC (rev 1267)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedConstructor.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -18,6 +18,7 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
import java.util.List;
import java.util.Set;
@@ -42,7 +43,7 @@
return delegate().getParameters();
}
- public T newInstance(Object... parameters)
+ public T newInstance(Object... parameters) throws IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException
{
return delegate().newInstance(parameters);
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedField.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedField.java 2009-01-28 23:42:07 UTC (rev 1267)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedField.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -46,14 +46,14 @@
return delegate().getPropertyName();
}
- public void inject(Object declaringInstance, Object value)
+ public void set(Object declaringInstance, Object value) throws IllegalArgumentException, IllegalAccessException
{
- delegate().inject(declaringInstance, value);
+ delegate().set(declaringInstance, value);
}
- public void injectIntoInstance(Object declaringInstance, Object value)
+ public void setOnInstance(Object declaringInstance, Object value) throws IllegalArgumentException, SecurityException, IllegalAccessException, NoSuchFieldException
{
- delegate().injectIntoInstance(declaringInstance, value);
+ delegate().setOnInstance(declaringInstance, value);
}
public boolean isTransient()
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedMethod.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedMethod.java 2009-01-28 23:42:07 UTC (rev 1267)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/ForwardingAnnotatedMethod.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -17,12 +17,11 @@
package org.jboss.webbeans.introspector;
import java.lang.annotation.Annotation;
+import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.List;
import java.util.Set;
-import org.jboss.webbeans.ManagerImpl;
-
public abstract class ForwardingAnnotatedMethod<T> extends ForwardingAnnotatedMember<T, Method> implements AnnotatedMethod<T>
{
@@ -59,17 +58,12 @@
return delegate().getPropertyName();
}
- public T invoke(Object instance, ManagerImpl manager)
+ public T invoke(Object instance, Object... parameters) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException
{
- return delegate().invoke(instance, manager);
- }
-
- public T invoke(Object instance, Object... parameters)
- {
return delegate().invoke(instance, parameters);
}
- public T invokeOnInstance(Object instance, Object... parameters)
+ public T invokeOnInstance(Object instance, Object... parameters) throws IllegalArgumentException, SecurityException, IllegalAccessException, InvocationTargetException, NoSuchMethodException
{
return delegate().invokeOnInstance(instance, parameters);
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java 2009-01-28 23:42:07 UTC (rev 1267)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -26,8 +26,6 @@
import java.util.List;
import java.util.Set;
-import javax.inject.ExecutionException;
-
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.introspector.AnnotatedConstructor;
import org.jboss.webbeans.introspector.AnnotatedParameter;
@@ -189,31 +187,16 @@
*
* @param manager The Web Beans manager
* @return An instance
+ * @throws InvocationTargetException
+ * @throws IllegalAccessException
+ * @throws InstantiationException
+ * @throws IllegalArgumentException
*
* @see org.jboss.webbeans.introspector.AnnotatedConstructor#newInstance(ManagerImpl)
*/
- public T newInstance(Object... parameters)
+ public T newInstance(Object... parameters) throws IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException
{
- try
- {
- return getDelegate().newInstance(parameters);
- }
- catch (IllegalArgumentException e)
- {
- throw new ExecutionException("Error instantiating " + toString, e);
- }
- catch (InstantiationException e)
- {
- throw new ExecutionException("Error instantiating " + toString, e);
- }
- catch (IllegalAccessException e)
- {
- throw new ExecutionException("Error instantiating " + toString, e);
- }
- catch (InvocationTargetException e)
- {
- throw new ExecutionException("Error instantiating " + toString, e);
- }
+ return getDelegate().newInstance(parameters);
}
/**
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedFieldImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedFieldImpl.java 2009-01-28 23:42:07 UTC (rev 1267)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedFieldImpl.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -113,14 +113,14 @@
return actualTypeArguments;
}
- public void inject(Object instance, Object value)
+ public void set(Object instance, Object value) throws IllegalArgumentException, IllegalAccessException
{
- Reflections.setAndWrap(getDelegate(), instance, value);
+ field.set(instance, value);
}
- public void injectIntoInstance(Object instance, Object value)
+ public void setOnInstance(Object instance, Object value) throws IllegalArgumentException, SecurityException, IllegalAccessException, NoSuchFieldException
{
- Reflections.setAndWrap(getName(), instance, value);
+ instance.getClass().getField(getName()).set(instance, value);
}
@SuppressWarnings("unchecked")
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java 2009-01-28 23:42:07 UTC (rev 1267)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -18,6 +18,7 @@
package org.jboss.webbeans.introspector.jlr;
import java.lang.annotation.Annotation;
+import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
@@ -84,6 +85,7 @@
{
super(AnnotationStore.of(method), method);
this.method = method;
+ this.method.setAccessible(true);
this.declaringClass = declaringClass;
if (method.getGenericReturnType() instanceof ParameterizedType)
{
@@ -236,17 +238,17 @@
return getDelegate().hashCode();
}
- public T invokeOnInstance(Object instance, Object...parameters)
+ public T invokeOnInstance(Object instance, Object...parameters) throws IllegalArgumentException, SecurityException, IllegalAccessException, InvocationTargetException, NoSuchMethodException
{
@SuppressWarnings("unchecked")
- T result = (T) Reflections.invokeAndWrap(getName(), getParameterTypesAsArray(), instance, parameters);
+ T result = (T) instance.getClass().getMethod(getName(), getParameterTypesAsArray()).invoke(instance, parameters);
return result;
}
- public T invoke(Object instance, Object... parameters)
+ public T invoke(Object instance, Object... parameters) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException
{
@SuppressWarnings("unchecked")
- T result = (T) Reflections.invokeAndWrap(getDelegate(), instance, parameters);
+ T result = (T) method.invoke(instance, parameters);
return result;
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/metadata/BindingTypeModel.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/metadata/BindingTypeModel.java 2009-01-28 23:42:07 UTC (rev 1267)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/metadata/BindingTypeModel.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -18,11 +18,13 @@
package org.jboss.webbeans.metadata;
import java.lang.annotation.Annotation;
+import java.lang.reflect.InvocationTargetException;
import java.util.Set;
import javax.annotation.NonBinding;
import javax.inject.BindingType;
import javax.inject.DefinitionException;
+import javax.inject.ExecutionException;
import org.jboss.webbeans.introspector.AnnotatedMethod;
import org.jboss.webbeans.util.Reflections;
@@ -130,12 +132,28 @@
{
if (!nonBindingTypes.contains(annotatedMethod))
{
- Object thisValue = annotatedMethod.invoke(instance);
- Object thatValue = annotatedMethod.invoke(other);
- if (!thisValue.equals(thatValue))
+ try
{
- return false;
+ Object thisValue = annotatedMethod.invoke(instance);
+ Object thatValue = annotatedMethod.invoke(other);
+ if (!thisValue.equals(thatValue))
+ {
+ return false;
+ }
}
+ catch (IllegalArgumentException e)
+ {
+ throw new ExecutionException(e);
+ }
+ catch (IllegalAccessException e)
+ {
+ throw new ExecutionException(e);
+ }
+ catch (InvocationTargetException e)
+ {
+ throw new ExecutionException(e);
+ }
+
}
}
return true;
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java 2009-01-28 23:42:07 UTC (rev 1267)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/Reflections.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -436,97 +436,6 @@
}
/**
- * Invokes a method and wraps exceptions
- *
- * @param methodName The method name to find on the instance and invoke
- * @param parameterTypes The method name to find on the instance and invoke
- * @param instance The instance to invoke on
- * @param parameterValues The parameters values
- * @return The return value
- */
- public static Object invokeAndWrap(String methodName, Class<?>[] parameterTypes, Object instance, Object[] parameterValues)
- {
- try
- {
- return instance.getClass().getMethod(methodName, parameterTypes).invoke(instance, parameterValues);
- }
- catch (IllegalArgumentException e)
- {
- throw new ExecutionException("Error invoking method " + methodName + " on " + instance.getClass(), e);
- }
- catch (IllegalAccessException e)
- {
- throw new ExecutionException("Error invoking method " + methodName + " on " + instance.getClass(), e);
- }
- catch (InvocationTargetException e)
- {
- throw new ExecutionException("Error invoking method " + methodName + " on " + instance.getClass(), e);
- }
- catch (SecurityException e)
- {
- throw new ExecutionException("Error invoking method " + methodName + " on " + instance.getClass(), e);
- }
- catch (NoSuchMethodException e)
- {
- throw new ExecutionException("Error invoking method " + methodName + " on " + instance.getClass(), e);
- }
- }
-
- /**
- * Sets value of a field and wraps exceptions
- *
- * @param field The field to set on
- * @param target The instance to set on
- * @param value The value to set
- */
- public static void setAndWrap(Field field, Object target, Object value)
- {
- try
- {
- field.set(target, value);
- }
- catch (IllegalArgumentException e)
- {
- throw new ExecutionException("Error setting field " + field.getName() + " on " + field.getDeclaringClass(), e);
- }
- catch (IllegalAccessException e)
- {
- throw new ExecutionException("Error setting field " + field.getName() + " on " + field.getDeclaringClass(), e);
- }
- }
-
- /**
- * Sets value of a field and wraps exceptions
- *
- * @param field The field to set on
- * @param target The instance to set on
- * @param value The value to set
- */
- public static void setAndWrap(String fieldName, Object target, Object value)
- {
- try
- {
- target.getClass().getField(fieldName).set(target, value);
- }
- catch (IllegalArgumentException e)
- {
- throw new ExecutionException("Error setting field " + fieldName + " on " + target.getClass(), e);
- }
- catch (IllegalAccessException e)
- {
- throw new ExecutionException("Error setting field " + fieldName + " on " + target.getClass(), e);
- }
- catch (SecurityException e)
- {
- throw new ExecutionException("Error setting field " + fieldName + " on " + target.getClass(), e);
- }
- catch (NoSuchFieldException e)
- {
- throw new ExecutionException("Error setting field " + fieldName + " on " + target.getClass(), e);
- }
- }
-
- /**
* Gets value of a field and wraps exceptions
*
* @param field The field to set on
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/implementation/exceptions/ExceptionHandlingTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/implementation/exceptions/ExceptionHandlingTest.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/implementation/exceptions/ExceptionHandlingTest.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -0,0 +1,64 @@
+package org.jboss.webbeans.test.unit.implementation.exceptions;
+
+import javax.inject.CreationException;
+
+import org.jboss.webbeans.test.unit.AbstractTest;
+import org.testng.annotations.Test;
+
+public class ExceptionHandlingTest extends AbstractTest
+{
+
+ @Test(expectedExceptions=FooException.class)
+ public void testCreationExceptionWrapsRealExceptionForSimpleBean() throws Exception
+ {
+ deployBeans(Lorry_Broken.class);
+ new RunInDependentContext()
+ {
+
+ @Override
+ protected void execute() throws Exception
+ {
+ try
+ {
+ manager.getInstanceByType(Lorry_Broken.class);
+ }
+ catch (Exception e)
+ {
+ if (e instanceof CreationException)
+ {
+ throw (Exception) e.getCause();
+ }
+ }
+ }
+
+ }.run();
+ }
+
+
+ @Test(expectedExceptions=FooException.class)
+ public void testCreationExceptionWrapsRealExceptionForProducerBean() throws Exception
+ {
+ deployBeans(ShipProducer_Broken.class);
+ new RunInDependentContext()
+ {
+
+ @Override
+ protected void execute() throws Exception
+ {
+ try
+ {
+ manager.getInstanceByType(Ship.class);
+ }
+ catch (Exception e)
+ {
+ if (e instanceof CreationException)
+ {
+ throw (Exception) e.getCause();
+ }
+ }
+ }
+
+ }.run();
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/implementation/exceptions/ExceptionHandlingTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/implementation/exceptions/FooException.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/implementation/exceptions/FooException.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/implementation/exceptions/FooException.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.test.unit.implementation.exceptions;
+
+public class FooException extends Exception
+{
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/implementation/exceptions/FooException.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/implementation/exceptions/Lorry_Broken.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/implementation/exceptions/Lorry_Broken.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/implementation/exceptions/Lorry_Broken.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.test.unit.implementation.exceptions;
+
+class Lorry_Broken
+{
+
+ public Lorry_Broken() throws Exception
+ {
+ throw new FooException();
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/implementation/exceptions/Lorry_Broken.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/implementation/exceptions/Ship.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/implementation/exceptions/Ship.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/implementation/exceptions/Ship.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.test.unit.implementation.exceptions;
+
+class Ship
+{
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/implementation/exceptions/Ship.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/implementation/exceptions/ShipProducer_Broken.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/implementation/exceptions/ShipProducer_Broken.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/implementation/exceptions/ShipProducer_Broken.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.test.unit.implementation.exceptions;
+
+import javax.inject.Produces;
+
+public class ShipProducer_Broken
+{
+
+ @Produces
+ public Ship produceShip() throws FooException
+ {
+ throw new FooException();
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/unit/implementation/exceptions/ShipProducer_Broken.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/FooException.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/FooException.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/FooException.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+class FooException extends RuntimeException
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/FooException.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Lorry.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Lorry.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Lorry.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+class Lorry
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Lorry.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/LorryProducer_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/LorryProducer_Broken.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/LorryProducer_Broken.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+import javax.inject.Produces;
+
+class LorryProducer_Broken
+{
+
+ @Produces
+ public Lorry produceLorry() throws Exception
+ {
+ throw new Exception();
+ }
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/LorryProducer_Broken.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/ProducerMethodLifecycleTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/ProducerMethodLifecycleTest.java 2009-01-28 23:42:07 UTC (rev 1267)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/ProducerMethodLifecycleTest.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -2,6 +2,7 @@
import java.lang.reflect.Method;
+import javax.inject.CreationException;
import javax.inject.IllegalProductException;
import javax.inject.manager.Bean;
@@ -73,4 +74,34 @@
createProducerMethodBean(method, spiderProducer).create(new MockCreationalContext<Object>());
}
+ @Test(expectedExceptions=CreationException.class)
+ public void testCreationExceptionWrapsCheckedExceptionThrownFromCreate() throws Exception
+ {
+ deployBeans(LorryProducer_Broken.class);
+ new RunInDependentContext()
+ {
+
+ protected void execute() throws Exception
+ {
+ manager.getInstanceByType(Lorry.class);
+ }
+
+ }.run();
+ }
+
+ @Test(expectedExceptions=FooException.class)
+ public void testUncheckedExceptionThrownFromCreateNotWrapped() throws Exception
+ {
+ deployBeans(ShipProducer_Broken.class);
+ new RunInDependentContext()
+ {
+
+ protected void execute() throws Exception
+ {
+ manager.getInstanceByType(Ship.class);
+ }
+
+ }.run();
+ }
+
}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Ship.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Ship.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Ship.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+class Ship
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/Ship.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/ShipProducer_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/ShipProducer_Broken.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/ShipProducer_Broken.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.tck.unit.implementation.producer.method;
+
+import javax.inject.Produces;
+
+class ShipProducer_Broken
+{
+
+ @Produces
+ public Ship produceShip() throws FooException
+ {
+ throw new FooException();
+ }
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/producer/method/ShipProducer_Broken.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/FooException.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/FooException.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/FooException.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -0,0 +1,6 @@
+package org.jboss.webbeans.tck.unit.implementation.simple;
+
+class FooException extends RuntimeException
+{
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/FooException.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/Lorry_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/Lorry_Broken.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/Lorry_Broken.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.tck.unit.implementation.simple;
+
+class Lorry_Broken
+{
+
+ public Lorry_Broken() throws Exception
+ {
+ throw new Exception();
+ }
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/Lorry_Broken.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/SimpleBeanLifecycleTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/SimpleBeanLifecycleTest.java 2009-01-28 23:42:07 UTC (rev 1267)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/SimpleBeanLifecycleTest.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -3,6 +3,7 @@
import java.lang.annotation.Annotation;
import java.util.List;
+import javax.inject.CreationException;
import javax.inject.manager.Bean;
import org.jboss.webbeans.tck.AbstractTest;
@@ -190,5 +191,35 @@
TunaFarm tunaFarm = tunaFarmBean.create(new MockCreationalContext<TunaFarm>());
assert tunaFarm.notInjectedTuna != manager.getInstance(tunaBean);
}
+
+ @Test(expectedExceptions=CreationException.class)
+ public void testCreationExceptionWrapsCheckedExceptionThrownFromCreate() throws Exception
+ {
+ deployBeans(Lorry_Broken.class);
+ new RunInDependentContext()
+ {
+
+ protected void execute() throws Exception
+ {
+ manager.getInstanceByType(Lorry_Broken.class);
+ }
+
+ }.run();
+ }
+
+ @Test(expectedExceptions=FooException.class)
+ public void testUncheckedExceptionThrownFromCreateNotWrapped() throws Exception
+ {
+ deployBeans(Van_Broken.class);
+ new RunInDependentContext()
+ {
+
+ protected void execute() throws Exception
+ {
+ manager.getInstanceByType(Van_Broken.class);
+ }
+
+ }.run();
+ }
}
Added: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/Van_Broken.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/Van_Broken.java (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/Van_Broken.java 2009-01-29 00:29:21 UTC (rev 1268)
@@ -0,0 +1,11 @@
+package org.jboss.webbeans.tck.unit.implementation.simple;
+
+class Van_Broken
+{
+
+ public Van_Broken() throws Exception
+ {
+ throw new FooException();
+ }
+
+}
Property changes on: tck/trunk/impl/src/main/java/org/jboss/webbeans/tck/unit/implementation/simple/Van_Broken.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
More information about the weld-commits
mailing list