You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by co...@apache.org on 2010/10/26 20:48:52 UTC

svn commit: r1027680 - in /openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans: container/ResolutionUtil.java util/InjectionExceptionUtils.java

Author: covener
Date: Tue Oct 26 18:48:52 2010
New Revision: 1027680

URL: http://svn.apache.org/viewvc?rev=1027680&view=rev
Log:
[OWB-485] provide details of the offending injection point 
(along with the >1 candidates) when creating an AmbiguousResolutionException.


Modified:
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/ResolutionUtil.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/InjectionExceptionUtils.java

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/ResolutionUtil.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/ResolutionUtil.java?rev=1027680&r1=1027679&r2=1027680&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/ResolutionUtil.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/ResolutionUtil.java Tue Oct 26 18:48:52 2010
@@ -98,7 +98,7 @@ public final class ResolutionUtil
 
         if (resolvedSet.size() > 1)
         {
-            throwAmbiguousResolutionException(resolvedSet, type, qualifiers);
+            throwAmbiguousResolutionException(resolvedSet, type, injectionPoint, qualifiers);
         }
 
         Bean<?> bean = resolvedSet.iterator().next();

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/InjectionExceptionUtils.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/InjectionExceptionUtils.java?rev=1027680&r1=1027679&r2=1027680&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/InjectionExceptionUtils.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/InjectionExceptionUtils.java Tue Oct 26 18:48:52 2010
@@ -100,10 +100,10 @@ public class InjectionExceptionUtils
 
     public static void throwAmbiguousResolutionException(Set<Bean<?>> beans)
     {
-        throwAmbiguousResolutionException(beans, null);
+        throwAmbiguousResolutionException(beans, null, null);
     }
 
-    public static void throwAmbiguousResolutionException(Set<Bean<?>> beans, Class type, Annotation... qualifiers)
+    public static void throwAmbiguousResolutionException(Set<Bean<?>> beans, Class type, InjectionPoint injectionPoint, Annotation... qualifiers)
     {
         String qualifierMessage = createQualifierMessage(qualifiers);
 
@@ -113,6 +113,10 @@ public class InjectionExceptionUtils
         {
             violationMessage = newViolation("There is more than one api type with : ",
                     ClassUtil.getClass(type).getName(), " with qualifiers : ", qualifierMessage);
+            if (injectionPoint != null)
+            {
+                violationMessage.addLine("for injection into ", injectionPoint.toString());
+            }
         }
         else
         {