Skip to content
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

Deprecate JavaFXSmartGraph #30

Open
dimanyfantakis opened this issue Oct 15, 2023 · 0 comments
Open

Deprecate JavaFXSmartGraph #30

dimanyfantakis opened this issue Oct 15, 2023 · 0 comments
Assignees
Labels
priority:high High priority status:help wanted Extra attention is needed type:enhancement New feature must be added

Comments

@dimanyfantakis
Copy link
Collaborator

Description

The library we are currently using for visualizing our diagrams, is very limited and hard to extend. The diagrams we visualize in the integrated canvas of our front-end, don't look like UML diagrams, but rather a very simplistic graph representation of our model.
This makes sense since the library we are currently using is designed to render simplistic graphs and was extended to support different UML elements for our needs.

Scope

Some research needs to be made on what is the best approach to take when developing our own library.
Preferably, the library should not be embedded inside our tool but rather be an external library that we will use in a similar way to what we are doing now. This will make it easier to extend our current code rather than removing the old dependency and changing all API usages.
A first step would be to replace all calls to JavaFXSmartGraph classes by implementing an Adapter.

Material

Approach

Option One.

Represent our diagrams using DOT and then use a Graphviz reader library to render the diagram.

Pros

  • Easy to implement
  • Already existing Java reader libraries for Graphviz.

Cons

  • Dependency towards Graphviz.
  • We can probably achieve the same by having a dependency towards PlantUML and then visualize the diagram by calling PlantUML using the command line.

Option Two.

The second option would be to implement a library that uses the SVG format.

Pros

  • A lot more flexibility/options.
  • Can be visualized within our tool using JavaFX.
  • We can supposedly generate an SVG from our existing PlantUML diagram.

Cons

  • More complex to implement.
@dimanyfantakis dimanyfantakis added type:enhancement New feature must be added status:help wanted Extra attention is needed priority:high High priority labels Oct 15, 2023
@dimanyfantakis dimanyfantakis self-assigned this Oct 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority:high High priority status:help wanted Extra attention is needed type:enhancement New feature must be added
Projects
None yet
Development

No branches or pull requests

1 participant