]
Denis Golovin updated JBIDE-509:
--------------------------------
Affects: [Documentation (Ref Guide, User Guide, etc.)]
intelligent navigation support for seam variable names
------------------------------------------------------
Key: JBIDE-509
URL:
http://jira.jboss.com/jira/browse/JBIDE-509
Project: Tools (JBoss Tools)
Issue Type: Feature Request
Components: Seam
Reporter: Max Andersen
Assigned To: Victor Rubezhny
Fix For: 2.1.0.beta1
Attachments: ctrl-g-conflict.jpg, ctrl-shift-g-action.jpg,
ctrl-shift-g-conflict.jpg, ctrl-shift-g-result.jpg
@DataModel
private List<Message> messageList;
@Factory("messageList")
public void findMessages()
{
messageList = em.createQuery("from Message msg order by msg.datetime
desc").getResultList();
}
- link from messageList to its @Factory method, and link from "messageList" to
the property.
- ctrl+G shows related locations in .java, .xhtml, components.xml, etc.
Case A: Link from the Seam Variable Name in the @Factory annotation value attribute to
its declaration (for example, @Factory("mess|ageList"), where "|" is
the current cursor position):
1.a. User moves the mouse cursor over the Seam Variable Name in the value of the @Factory
annotation within the component while Ctrl key is pressed. The variable is highlighted and
underlined in the editor. User clicks left mouse button while Ctrl-key still is pressed.
- or -
1.b. User sets the cursor into or selects the Seam Variable Name in the value of the
@Factory annotation within the component and then presses F3 key.
2. The following steps will be performed:
2.a. If return type of the selected factory method is void we have to search for the
declaration (@Out/@DataBinder) in the same component. If it is found it will be revealed
and selected in the editor
(if it is contained in super-class, the appropriate class will be openned in the editor).
2.b Else if return type of the selected factory method is not void then the factory
itself decrares the Seam variable - the factory itself to be selected.
Case B: Link from Seam Variable name used in Seam EL expression (XHTML/XML/Java Strings
in JavaEditor) to it's declaration/factory (for example, #{mess|ageList.size}, where
"|" is the current cursor position):
1.a. User moves the mouse cursor over the Seam Variable Name in the Seam EL expression
while Ctrl key is pressed. The variable is highlighted and underlined in the editor. User
clicks left mouse button while Ctrl-key still is pressed.
- or -
1.b. User sets the cursor into or selects the Seam Variable Name in the Seam EL
expression and then presses F3 key.
2. The following steps will be performed:
2.a. The @Name or @Role annotations with the same name will be found in the Seam model of
the project. If there will be at least one @Name or @Role annotation found the source file
with that annotation will be opened in the editor (or brought to front if the editor is
already openned), and the annotation found will be revealed and selected in the editor.
2.b. If not, The @Factory annotation with the same name will be found in the Seam model
of the project. If there will be at least one @Factory annotation found the source file
with that annotation will be opened in the editor (or brought to front if the editor is
already openned), and the annotation found will be revealed and selected in the editor.
2.c. If not, The @Out/@DataBinder annotation with the same name will be found in the Seam
model of the project. If there will be at least one @Out/@DataBinder annotation found the
source file with that annotation will be opened in the editor (or brought to front if the
editor is already openned), and the annotation found will be revealed and selected in the
editor.
2.d. If not, no linkage will be performed. Error message will appear in the editor's
status line
Case C: Find References of a Seam Variable (Ctrl-Shift-G).
1. User selects the Seam Variable Name in Seam EL expression (XHTML/JSP/XML files) or in
value attribute of annotations @Name/@Role/@Factory/@In/@Out/@DataBinder in component
class file or in components.xml file and then presses Ctrl-Shift-G to find the references
to variables those name equals the name of selected variable.
2. The references to selected variable will be searched through the files of Seam model
referenced projects (Seam model may contain the references to more that one project), the
@In annotation are also to be search.
3. The Search View will be openned and will show the results of search performed.
Case D: Find Declarations of a Seam Variable (Ctrl-G).
1. User selects the Seam Variable Name in Seam EL expression (XHTML/JSP/XML files) or in
value attribute of annotations @Name/@Role/@Factory/@In/@Out/@DataBinder in component
class file or in components.xml file and then presses Ctrl-G to find the declarations of
variables named as the selected variable.
2. The declarations of selected variable will be searched through the Seam model (@Name,
@Role, @Out/DataBinder annotations and components.xml files).
3. The Search View will be openned and will show the results of search performed.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: