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

Add configurability of graphiz-java 's engine #3

Open
1 of 2 tasks
mikolak-net opened this issue Jan 17, 2018 · 0 comments
Open
1 of 2 tasks

Add configurability of graphiz-java 's engine #3

mikolak-net opened this issue Jan 17, 2018 · 0 comments
Labels
good first issue Good for newcomers
Milestone

Comments

@mikolak-net
Copy link
Owner

mikolak-net commented Jan 17, 2018

graphviz-java offers several implementations of Graphviz. The problem is that those implementations are quite "fragile", i.e. if the first one defined is determined to be "available" by graphviz-java, it will be used even if it causes errors down the line on a specific machine.

An example here is an old CLI version of Graphviz unable to create a specific format, or a Nashhorn version unable to initialize due to JVM bugs/peculiarities, eventually throwing an NPE or similar.

  • A stopgap is to add a config entry that is parsed into the preferred engine sequence.
  • A long-term solution would be to wrap invocations on different engines into an execution-deferral abstraction (such as Try) and provide proper fallback support.
@mikolak-net mikolak-net added the good first issue Good for newcomers label Jan 17, 2018
@mikolak-net mikolak-net added this to the v0.8 milestone Jan 22, 2018
@mikolak-net mikolak-net modified the milestones: v0.8, v0.9 Feb 11, 2018
@mikolak-net mikolak-net modified the milestones: v0.9, v1.0 Mar 15, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

1 participant