Routing problem between some nodes [message #1731423] |
Thu, 05 May 2016 03:00  |
Eclipse User |
|
|
|
Hello,
I have a question about routing.
I use xText (with defined grammar, see below) as a text editor and Sirius as a graphic editor definition odesign (see attachment).
I have several nodes, which are defined in the same way (in grammar in odesign), but between some edge can be done and with certain do not.
It acts very rarely. Once the edge is successful, one not.
I tried to insert a breakpoint in the instance te edges (class Transition) and I found that for the elements between which may create edge method is called eSet(int featureID, Object newValue) and set the individual parameters (from and to), and the edge is displayed.
The elements between which the edges can not create too method is called eSet(int featureID, Object newValue) and set the individual parameters (from and to), but then the method is called eUnset(int featureID) posed by calling TransactionImpl.commit() line 417 and then TransactionImpl.doRollback() line 570 and edge do not see (or do not make changes in xtext).
Do you know where he might be the problem? Why method is called eUnset? The problem is in the model (grammar) or odesign?
The edge can be done between the StartProcess and EndProcess, but the other elements (eg. between StartProcess and Operation or BusinessFunction) can not.
Thanks so much for any advice.
Martin
Part of the grammar:
Process: 'Process' name=EString
elements += ProcessElement*
;
ProcessElement:
StartProcess | BusinessFunction | EndProcess
;
StartProcess:
{StartProcess} 'Start' name=EString
'code' code=EString
('description' description=EString)?
'component' component=EString
'type' type=ElementType
(transitions=Transition)?
;
EndProcess:
{EndProcess} 'End' name=EString
'code' code=EString
('description' description=EString)?
'component' component=EString
'type' type=ElementType
'version' version=EString
;
Operation:
{Operation} 'Operation' name=EString
'code' code=EString
('description' description=EString)?
'component' component=EString
'type' type=ElementType
(transitions=Transition)?
;
BusinessFunction:
{BusinessFunction} 'Function' name=EString
'code' code=EString
('description' description=EString)?
'component' component=EString
'type' type=ElementType
(transitions=Transition)?
;
[Updated on: Thu, 05 May 2016 03:04] by Moderator
|
|
|
|
|
|
|
Re: Routing problem between some nodes [message #1732091 is a reply to message #1732028] |
Thu, 12 May 2016 09:48  |
Eclipse User |
|
|
|
Hi Martin,
It's maybe a bug but I can't reproduce it!
Attached you can find a simple example to try to reproduce your problem.
If you succeed to reproduce your problem with this example you will be
able to create a bug.
What I did to try to reproduce your problem:
- Open the representation named new Diagram (the specification about
this representation have a Edge Mapping with center and end Label Style
defined and a Routing Style set to Manhattan)
- Unckek in properties view, tab Rulers&Grid the property "Snap to Grid'
- Use tool named "CreateRef" between 2 nodes. Edge created! Test successful.
Regards,
--
Julien - Obeo
Need training or professional services for Sirius?
http://www.obeodesigner.com/sirius
|
|
|
Powered by
FUDForum. Page generated in 0.07803 seconds