You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by gp...@apache.org on 2013/05/21 21:02:31 UTC
svn commit: r1484905 -
/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/InjectionExceptionUtil.java
Author: gpetracek
Date: Tue May 21 19:02:31 2013
New Revision: 1484905
URL: http://svn.apache.org/r1484905
Log:
OWB-774 additional hint in case of an AmbiguousResolutionException and cleanup
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/InjectionExceptionUtil.java
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/InjectionExceptionUtil.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/InjectionExceptionUtil.java?rev=1484905&r1=1484904&r2=1484905&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/InjectionExceptionUtil.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/InjectionExceptionUtil.java Tue May 21 19:02:31 2013
@@ -28,8 +28,6 @@ import javax.enterprise.inject.Unsatisfi
import javax.enterprise.inject.UnproxyableResolutionException;
import java.util.Set;
import java.lang.annotation.Annotation;
-import java.lang.reflect.Method;
-import java.lang.reflect.Type;
public class InjectionExceptionUtil
{
@@ -46,21 +44,6 @@ public class InjectionExceptionUtil
.toString());
}
- public static void throwUnsatisfiedResolutionException(Type type, Method producerMethod, Annotation... qualifiers)
- {
- ViolationMessageBuilder violationMessage = newViolation(createProducerMethodMessage(producerMethod));
-
- violationMessage.append(" in class: ", ClassUtil.getClass(type).getName());
- violationMessage.addLine(createQualifierMessage(qualifiers));
-
- throw new UnsatisfiedResolutionException(violationMessage.toString());
- }
-
- private static String createProducerMethodMessage(Method producerMethod)
- {
- return "Producer method component of the disposal method : " + producerMethod.getName() + "is not found";
- }
-
public static void throwUnsatisfiedResolutionException(
Class type, InjectionPoint injectionPoint, Annotation... qualifiers)
{
@@ -123,9 +106,20 @@ public class InjectionExceptionUtil
private static void addBeanInfo(Set<Bean<?>> beans, ViolationMessageBuilder violationMessage)
{
+ String sourcePath;
for(Bean<?> currentBean : beans)
{
- violationMessage.addLine(currentBean.toString());
+ try
+ {
+ Class beanClass = currentBean.getBeanClass();
+ sourcePath = beanClass.getResource(beanClass.getSimpleName() + ".class").toExternalForm();
+ }
+ catch (RuntimeException e)
+ {
+ sourcePath = "unknown path";
+ }
+
+ violationMessage.addLine(currentBean.toString() + " from " + sourcePath);
}
}