This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 88921 - Go To Declaration/Definition action for XML reference usage
Summary: Go To Declaration/Definition action for XML reference usage
Status: VERIFIED FIXED
Alias: None
Product: soa
Classification: Unclassified
Component: BPEL (show other bugs)
Version: 6.x
Hardware: All All
: P1 blocker (vote)
Assignee: Alexey Anjeleevich
URL: http://xdesign-tools.czech.sun.com:80...
Keywords:
Depends on: 90266
Blocks:
  Show dependency tree
 
Reported: 2006-11-08 12:50 UTC by Michael Frisino
Modified: 2008-07-22 23:38 UTC (History)
4 users (show)

See Also:
Issue Type: ENHANCEMENT
Exception Reporter:


Attachments
Small project to reproduce the problem with (10.42 KB, application/octet-stream)
2007-03-23 10:03 UTC, _ moser
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Frisino 2006-11-08 12:50:06 UTC
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

  <variables>
    <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:
e.g. xmlns:ares="http://www.sun.com/javaone/05/AirlineReservationService"

2) Look for import that matches this namespace:
  <import namespace="http://www.sun.com/javaone/05/VehicleReservationService"
location="VehicleReservationService.wsdl"
importType="http://schemas.xmlsoap.org/wsdl/"/>

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.
Comment 1 Sergey Lunegov 2007-02-05 12:20:19 UTC
Future release
Comment 2 _ moser 2007-03-23 10:03:36 UTC
Created attachment 39857 [details]
Small project to reproduce the problem with
Comment 3 _ moser 2007-03-23 10:06:06 UTC
Sorry, wrong issue for the attachement, meant to attach to
http://www.netbeans.org/issues/show_bug.cgi?id=88856
Comment 4 Sergey Lunegov 2008-04-30 15:17:07 UTC
Need to think about propogating this feature to other editors (WSDL, XSLT, XSD etc).
Comment 5 Alexey Yarmolenko 2008-05-08 13:42:01 UTC
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.
Comment 6 Sergey Lunegov 2008-05-08 13:50:23 UTC
Please also take into consideration content of 90266. This is about the same just makes the picture complete.
Comment 7 Sergey Lunegov 2008-05-13 11:56:07 UTC
"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
referenced element.

-If referenced item is a WSDL or Schema elements, open default view for this type of document and put cursor on the
referenced element

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 ...>
   PartnerLink "TravelReservationService"
   Variable "messageIn"
   Operation "cancelAirline"


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,

Correlation: Set

Validate: 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.

Comment 8 Alexey Anjeleevich 2008-07-08 11:21:33 UTC
Partialy fixed. Go To Reference action unavailable for BPEL sources. Separate issue created for this case
http://www.netbeans.org/issues/show_bug.cgi?id=139230
Comment 9 ggenipudi 2008-07-22 23:38:11 UTC
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