RFR: JDK-8324950: IGV: save the state to a file [v9]
Tobias Holenstein
tholenstein at openjdk.org
Mon Apr 8 10:52:45 UTC 2024
> The current workflow in IGV is the following:
> 1) import an XML file with graphs or send via network
> 2) open or more graphs in a tab
> 3) extract a set of nodes to be displayed in the tab
> 4) close IGV and start from 1) again
>
> The idea of this RFE is to save the important **states** of IGV to a workspace directory:
> - imported graphs (_graphs.xml_)
> - opened graph tabs + extracted nodes (_state.igv_)
>
>
> ### Saving the state of IGV
> - For IGV to save the state it needs a workspace, which can be passed in 3 different ways:
> 1) Using a global variable : `IGV_WORKSPACE=path/to/igv_workspace ./igv.sh`
> 2) Passed as an argument : `./igv.sh path/to/igv_workspace `
> 3) With default location `IdealGraphVisualizer/workspace` : `./igv.sh`
>
> Open IGV with the following example workspace (unzipped) [igv_workspace.zip](https://github.com/openjdk/jdk/files/14311092/igv_workspace.zip) should look something like this:
> ![workspace](https://github.com/openjdk/jdk/assets/71546117/58da409d-fb02-4b21-8914-1cae9752b17f)
>
>
> ### Workspace
> A workspace is a directory where IGV saves imported graphs as _graphs.xml_ and opened graph tabs to _state.igv_. A workspace is loaded when IGV is opened. The current workspace is saved when IGV is closed or when the workspace is changed to a different directory. When changing a directory the state of the new workspace is loaded.
> - Click here to select a different workspace directory
> ![path](https://github.com/openjdk/jdk/assets/71546117/cff50c4d-fbc1-4112-916d-00f9ce14b27d)
>
> - Imports an XML file (group and graphs) into the current workspace
> ![import XML](https://github.com/openjdk/jdk/assets/71546117/a92ae702-e599-4459-960d-849365dbaa1d)
>
> - saves the state of the current workspace
> ![save_workspace](https://github.com/openjdk/jdk/assets/71546117/16759da6-367b-47ce-997b-f176b0cbfc0f)
> - imported graphs (_graphs.xml_)
> - opened graph tabs + extracted nodes (_state.igv_)
>
>
> - Export the selected groups to a separate XML file
> ![save_selected](https://github.com/openjdk/jdk/assets/71546117/20cc347c-7ff5-4181-8539-4ed585d5a0bc)
>
> - Delete the selected groups and graphs
> ![delete_selected](https://github.com/openjdk/jdk/assets/71546117/1cb14b43-9b1a-4073-8964-075fc070a0b0)
>
> - Clear the workspace and delete all groups and graphs
> ![clear_workspace](https://github.com/openjdk/jdk/assets/71546117/b40b1805-3f39-4d49-9bc2-0d538976cf25)
>
>
>
> ---------
> ### Progress
> - [ ] Change must be properly reviewed (1 review required, with at least 1 [Reviewer](https://openjd...
Tobias Holenstein has updated the pull request incrementally with one additional commit since the last revision:
Update RemoveAction.java
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/17630/files
- new: https://git.openjdk.org/jdk/pull/17630/files/2377ead6..1c880edf
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=17630&range=08
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=17630&range=07-08
Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/17630.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/17630/head:pull/17630
PR: https://git.openjdk.org/jdk/pull/17630
More information about the hotspot-compiler-dev
mailing list