New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
layered: Added model order cycle breaker. #759
layered: Added model order cycle breaker. #759
Conversation
Signed-off-by: Soeren Domroes <sdo@informatik.uni-kiel.de>
b0b4bb6
to
9813a92
Compare
@uruuru Any idea why elkjs is not working? Something seems to use Java 11 instead of Java 8. |
correct exception, fixed copy-paste bug. Signed-off-by: Soeren Domroes <sdo@informatik.uni-kiel.de>
…OrderCycleBreaker
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using this strategy in a model with layer constraints causes an NPE. One could either ignore these layer constraints and only use the model order or use it additionally to the model order (which might be the better solution).
What happens if the constraints are added programatically, for instance, for hierarchical ports? What is the model index of a hierarchical port's dummy node in the first place? Did you check with hierarchical graphs?
Could you please also check if there are unit tests where you'd have to manually add this strategy? Or are existing tests succeeding?
...eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/ModelOrderCycleBreaker.java
Outdated
Show resolved
Hide resolved
...eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/ModelOrderCycleBreaker.java
Outdated
Show resolved
Hide resolved
...eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/p1cycles/ModelOrderCycleBreaker.java
Outdated
Show resolved
Hide resolved
Also removes author tag and check for self loops. Signed-off-by: Soeren Domroes <sdo@informatik.uni-kiel.de>
Signed-off-by: Soeren Domroes <sdo@informatik.uni-kiel.de>
Signed-off-by: Soeren Domroes <sdo@informatik.uni-kiel.de>
Signed-off-by: Soeren Domroes <sdo@informatik.uni-kiel.de>
Signed-off-by: Soeren Domroes <sdo@informatik.uni-kiel.de>
Somehow the Solved by handling saving the transitive dependencies and using them instead. |
transitive. Signed-off-by: Soeren Domroes <sdo@informatik.uni-kiel.de>
Signed-off-by: Soeren Domroes <sdo@informatik.uni-kiel.de>
sdo/modelOrderCycleBreaker Conflicts: plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/graph/transform/ElkGraphImporter.java plugins/org.eclipse.elk.alg.layered/src/org/eclipse/elk/alg/layered/intermediate/preserveorder/ModelOrderNodeComparator.java Signed-off-by: Soeren Domroes <sdo@informatik.uni-kiel.de>
Checked everything, programmatic constraints are handled now.
I added this cycle breaker to the |
Added a cycle breaker that reverses edges going against the model order.
Edges should always go from low model order to high model order.
Signed-off-by: Soeren Domroes sdo@informatik.uni-kiel.de