]
Alexey Kazakov updated JBIDE-9347:
----------------------------------
Summary: Show All Assignable Beans dialog (was: Show All Resolved Beans dialog)
Description:
*Let's see what we have right now.*
If there is an ambiguous injection point and user Ctrl+Click on it then we show two
hyperlinks. One of thous hyperlinks is *Show All Eligible Beans...* that is not quite
accurate, btw. The the other one is *Open @Inject Bean <Type>* which opens a random
bean from all the resolved beans. If we have more than one eligible bean than we try to
resolve them. If we still have a few "resolved" beans then we mark an injection
as ambiguous and our OpenOn dialog uses a random bean from this resolved set.
!OldAmbiguous.png!
*How it should work*
First at all let's rename "Show All *Eligible* Beans..." to "Show All
*Assignable* Beans..." since we show all the assignable beans (beans which match the
type and the qualifiers) but not eligible (assignable & enabled). For instance a set
of assignable beans includes decorators and interceptors.
If there is the only one bean is to injected then JBT will suggest to open this bean. But
if there are many assignable beans (even if they can be resolved to the only one) then JBT
will suggest to show all the assignable beans:
!final2.png!
Where *Show All Assignable Beans...* opens a dialog with all the beans which match the
injection type and qualifiers:
!final1.png!
The beans should be filtered by name. Also it's possible to hide unavailable beans
(shown by default). Show/hide menu is shown by default but can be hidden in dialog
settings:
!show-hide.png!
!filter.png!
was:
*Let's see what we have right now.*
If there is an ambiguous injection point and user Ctrl+Click on it then we show two
hyperlinks. One of thous hyperlinks is *Show All Eligible Beans...* that is not quite
accurate, btw. The the other one is *Open @Inject Bean <Type>* which opens a random
bean from all the resolved beans. If we have more than one eligible bean than we try to
resolve them. If we still have a few "resolved" beans then we mark an injection
as ambiguous and our OpenOn dialog uses a random bean from this resolved set.
!OldAmbiguous.png!
*What I suggest to change.*
First at all let's rename "Show All *Eligible* Beans..." to "Show All
*Assignable* Beans..." since we show all the assignable beans (beans which match the
type and the qualifiers) but not eligible (assignable & enabled). For instance a set
of assignable beans includes decorators and interceptors.
Then, in case of an ambiguous injection, I think we should suggest to show two sets of
beans: *resolved* and *assignable* instead of *random bean from the resolved set* and
*assignable*. It will look like the following dialog:
!Ambiguous.png!
Where *Show All Resolved Beans...* opens a dialog with all the beans which match the
injection (if such a set had the only resolved bean then the injection wouldn't be
ambiguous):
!Resolved.png!
And *Show All Assignable Beans...* which shows all the assignable beans (right now we have
that dialog by "Show All Eligible Beans..." label):
!Assignable.png!
I'm not sure that *resolved* is good term for the dialog *Show All Resolved Beans...*
since actually this is a list of beans that we got trying to resolve the eligible beans
and failed to resolve it to the only bean. Any ideas how we can name such a set?
Show All Assignable Beans dialog
--------------------------------
Key: JBIDE-9347
URL:
https://issues.jboss.org/browse/JBIDE-9347
Project: Tools (JBoss Tools)
Issue Type: Feature Request
Components: CDI
Reporter: Alexey Kazakov
Assignee: Viacheslav Kabanovich
Labels: new_and_noteworthy
Fix For: 3.3.0.M4
Attachments: 2011-08-17 11.15.bmml, 2011-08-17 11.15.bmml, 2011-08-17 11.15.bmml,
2011-08-17 11.15.bmml, 2011-08-17 11.15.bmml, 2011-08-17 11.15.bmml, 2011-08-17
11.15.bmml, 2011-08-17 11.15.png, Ambiguous.png, Assignable.png, filter.png, final1.png,
final2.png, OldAmbiguous.png, Resolved.png, show-hide.png, ShowAssignibleBorderless.avi,
ShowAssignibleModal.avi, TheOnlyOne.png
*Let's see what we have right now.*
If there is an ambiguous injection point and user Ctrl+Click on it then we show two
hyperlinks. One of thous hyperlinks is *Show All Eligible Beans...* that is not quite
accurate, btw. The the other one is *Open @Inject Bean <Type>* which opens a random
bean from all the resolved beans. If we have more than one eligible bean than we try to
resolve them. If we still have a few "resolved" beans then we mark an injection
as ambiguous and our OpenOn dialog uses a random bean from this resolved set.
!OldAmbiguous.png!
*How it should work*
First at all let's rename "Show All *Eligible* Beans..." to "Show All
*Assignable* Beans..." since we show all the assignable beans (beans which match the
type and the qualifiers) but not eligible (assignable & enabled). For instance a set
of assignable beans includes decorators and interceptors.
If there is the only one bean is to injected then JBT will suggest to open this bean. But
if there are many assignable beans (even if they can be resolved to the only one) then JBT
will suggest to show all the assignable beans:
!final2.png!
Where *Show All Assignable Beans...* opens a dialog with all the beans which match the
injection type and qualifiers:
!final1.png!
The beans should be filtered by name. Also it's possible to hide unavailable beans
(shown by default). Show/hide menu is shown by default but can be hidden in dialog
settings:
!show-hide.png!
!filter.png!
--
This message is automatically generated by JIRA.
For more information on JIRA, see: