Use case: I want to see the "declaration" of an XML schema type referenced by an
BPEL element. For example, I have a BPEL variable
<variable name="CancelVehicleOut" messageType="vres:CancelVehicleOut"/>
I want to quickly go to the definition (not sure which is proper for XML
'declaration' or 'definition') of the type vres:CancelVehicleOut.
Today I must manually do the following;
1) look for the namespace that matches the namespace alias: namespace:
2) Look for import that matches this namespace:
3) Find and open the file that the import refers to.
4) Find the defintion/declaration I am looking for in that file.
All of this could be accomplished much more easily if I had a "Go To
Declaration" action available on the Variable node in navigator, for instance.
I think there is no doubt that this feature is needed and useful. The only
debate is how full featured it should be and how fundamental it should be in the
XML development story as a whole.
One possibility is that we trailblaze usage of this feature in BPEL editor and
later promote an improved version to XML infrastructure.
Created attachment 39857 [details]
Small project to reproduce the problem with
Sorry, wrong issue for the attachement, meant to attach to
Need to think about propogating this feature to other editors (WSDL, XSLT, XSD etc).
Fix shold provide a context menu item, which takes checks if current BPEL entity is ReferenceCntainer and if so, creates
a Go to->xxx submenu item for each contained reference.
Please also take into consideration content of 90266. This is about the same just makes the picture complete.
"Go To Reference" feature description..
"Go To Reference" feature is aimed to help user to navigate over complex process definition. Such processes typically
contains lot of bpel, schema and wsdl elements, linked together with use of XML references.
This feature should be available via submenu in context menu for BPEL nodes. So, it will be accessible from diagram,
navigator and source views.
For any BPEL element which contains references to other BPEL/WSDL/Schema elements(see complete list below) new context
menu item "Go to referenced ...>" should be added. This submenu should be filled with the list of names of other
elements, referenced by current element.
When user clicks on this menu item, IDE should respond with following:
-If referenced item is a BPEL entity and have corresponding diagram element, put selection on this element and scroll
Design view to show it. If this element DOES NOT have diagram element, switch to source view and put cursor on the
-If referenced item is a WSDL or Schema elements, open default view for this type of document and put cursor on the
Names for menu item can be generated by using an entity class name, like "PartnerLink" plus entity name(where possible),
so result should look like(for example)
Go to referenced ...>
List of referenced elements by owner(based on BPEL spec):
CompensateScope : Target
Reply : Variable, Message Exchange
Reply : Variable, Message Exchange
Cast : Type
OnMessage : PartnerLink, Port, Operation, Message Exchange, Variable
Invoke: InputVariable, Output Variable,
To: Variable, Partner Link, Property, Part
From: Variable, Partner Link, Property, Part
Catch : Fault Message Type, Fault Element
Target : Link
FromPart : Variable, Part
Throw : Fault Variable
CorrelationSet : Property(s)
OnEvent: PartnerLink, Port, Operation, Message Exchange, MessageType
ToPart : FromVaribale, FromPart
PartnerLink: PartnerRole, MyRole, PartnerLinkType
Variable: MessageType, Type, Element
Implementation-wise, this feature should be based on "ReferenceCollection" interface, provided by some BPEL entity types.
Partialy fixed. Go To Reference action unavailable for BPEL sources. Separate issue created for this case
Tested and verified using SOADev build and was able to see in the navigator window 'Go to Reference' for variables and for
Receive/Reply - go to source, go to reference
Assign - go to source, go to mapper
Foreach - go to source
Scope - go to source
variables - go to reference/go to type source
partner links - go to reference/ go to source