Details
-
Bug
-
Resolution: Done
-
Major
-
1.0.1.Final
-
None
Description
I feel like the following exception message is missing some very useful information (e.g, the type of the object that could not be satisfied I don't want to have to look at the injection point in order to see what it couldn't find. Also, I have to skim over a few words before I get the information that really tells me what's going on. "Unsatisfied dependencies" should be the primary focus of the message.
WELD-001408 Injection point has unsatisfied dependencies. Injection point: field org.jboss.seam.faces.status.MessagesAdapter.context; Qualifiers: [@javax.enterprise.inject.Default()]
The message should probably look something like this, instead:
WELD-001408 Unsatisfied dependencies for type [org.jboss.seam.international.status.Messages] at injection point [field] [org.jboss.seam.faces.status.MessagesAdapter.context]. Qualifiers: [@javax.enterprise.inject.Default()]
This way, I immediately know that I have unsatisfied dependencies, and the type that cannot be resolved. From there, I can see where the type is being requested and its qualifiers.
I'd like to see the same thing done for the Ambiguous dependencies exception message:
Existing:
Injection point has ambiguous dependencies. Injection point: field
org.jboss.seam.faces.status.MessagesAdapter.context; Qualifiers: [@javax.enterprise.inject.Default()]; Possible dependencies: [org.jboss.seam.international.status.Messages1, org.jboss.seam.international.status.Messages2]
Proposed:
Ambiguous dependencies for type [org.jboss.seam.international.status.Messages] at injection point [field] [org.jboss.seam.faces.status.MessagesAdapter.context]. Qualifiers: [@javax.enterprise.inject.Default()]; Possible dependencies: [org.jboss.seam.international.status.Messages1, org.jboss.seam.international.status.Messages2]