I'm trying to find some program which will convert all the ACSN2 SBGN-ML map files to GraphML, for ultimate loading into NetworkX.
With structured, standards-compliant, MLs, it should be pretty simple . . .
Nope.
java -jar ~/.m2/repository/fr/eisbm/ySBGN/1.0/ySBGN-1.0.jar
** (java:21946): WARNING **: 18:00:01.109: AT-SPI: Could not obtain desktop path or name
** (java:21946): WARNING **: 18:00:01.639: atk-bridge: get_device_events_reply: unknown signature
** (java:21946): WARNING **: 18:00:01.639: atk-bridge: get_device_events_reply: unknown signature
** (java:21946): WARNING **: 18:00:01.639: atk-bridge: GetRegisteredEvents returned message with unknown signature
** (java:21946): WARNING **: 18:00:01.665: AT-SPI: Could not obtain desktop path or name
** (java:21946): WARNING **: 18:00:01.732: AT-SPI: Could not obtain desktop path or name
** (java:21946): WARNING **: 18:00:01.732: AT-SPI: Could not obtain desktop path or name
Convert button clicked, launch script
Apr 12, 2022 6:01:02 PM com.sun.xml.bind.v2.runtime.reflect.opt.Injector <clinit>
SEVERE: null
java.security.PrivilegedActionException: java.lang.NoSuchMethodException: sun.misc.Unsafe.defineClass(java.lang.String,[B,int,int,java.lang.ClassLoader,java.security.ProtectionDomain)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:573)
at com.sun.xml.bind.v2.runtime.reflect.opt.Injector.<clinit>(Injector.java:197)
at com.sun.xml.bind.v2.runtime.reflect.opt.AccessorInjector.prepare(AccessorInjector.java:81)
at com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.get(OptimizedAccessorFactory.java:179)
at com.sun.xml.bind.v2.runtime.reflect.Accessor$FieldReflection.optimize(Accessor.java:285)
at com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.<init>(SingleElementNodeProperty.java:94)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
at com.sun.xml.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:128)
at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:181)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:514)
at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:168)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:514)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:331)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:139)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1156)
at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:165)
at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:289)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:186)
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:146)
at javax.xml.bind.ContextFinder.find(ContextFinder.java:350)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:446)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:409)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:313)
at fr.eisbm.GRAPHML2SBGNML.Utils.readFromFile(Utils.java:37)
at fr.eisbm.GRAPHML2SBGNML.SBGNML2GraphML.parseSBGNFile(SBGNML2GraphML.java:34)
at fr.eisbm.GRAPHML2SBGNML.SBGNML2GraphML.convert(SBGNML2GraphML.java:23)
at fr.eisbm.GRAPHML2SBGNML.App$2.call(App.java:204)
at fr.eisbm.GRAPHML2SBGNML.App$2.call(App.java:196)
at javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.NoSuchMethodException: sun.misc.Unsafe.defineClass(java.lang.String,[B,int,int,java.lang.ClassLoader,java.security.ProtectionDomain)
at java.base/java.lang.Class.getMethod(Class.java:2227)
at com.sun.xml.bind.v2.runtime.reflect.opt.Injector$3.run(Injector.java:201)
at com.sun.xml.bind.v2.runtime.reflect.opt.Injector$3.run(Injector.java:197)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:569)
... 38 more
> java --version
openjdk 17.0.2 2022-01-18
OpenJDK Runtime Environment (build 17.0.2+8-suse-4.1-x8664)
OpenJDK 64-Bit Server VM (build 17.0.2+8-suse-4.1-x8664, mixed mode)
It also fails with openjdk 11, etc., etc.
I'm running on OpenSUSE Tumbleweed, with openjfx 11.0.14-2.1 installed.
The jar in the repo wouldn't work, so I built with maven.
That createsySBGN-1.0.jar, despite the master branch I'm working on being 4 commits newer than . . .
commit 1c46b27 (tag: 1.1.2)
(maybe the pom hasn't been fully updated with a newer version number, or the tags aren't meant to match the jar version?)
It wouldn't build (or run??? . . . I can't recall . . . so many issues whenever I try to get any Java program to work right), with out this:
diff --git a/pom.xml b/pom.xml
index 5f7d553..c7e4ee8 100755
--- a/pom.xml
+++ b/pom.xml
@@ -116,6 +116,18 @@
<mainClass>HelloFX</mainClass>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.jvnet.jaxb2.maven2</groupId>
+ <artifactId>maven-jaxb2-plugin</artifactId>
+ <version>0.14.0</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.glassfish.jaxb</groupId>
+ <artifactId>jaxb-runtime</artifactId>
+ <version>2.3.1</version>
+ </dependency>
+ </dependencies>
+ </plugin>
</plugins>
</build>
<version>1.0</version>
(which I found on the internet, as a fix for the error I was getting before)
Any idea how to get this to work? I've even gone so far as to try a Docker image with an old Java 8 in it. Of course I got the usual "DISPLAY not found", because it is an X11 application. I haven't gone so far as to fire up, say, and old Ubuntu VM with older stuff in it.
Does this really need to be a GUI application? It could easily be a CLI, with one; maybe two CL arguments.
I'm trying to find some program which will convert all the ACSN2 SBGN-ML map files to GraphML, for ultimate loading into NetworkX.
With structured, standards-compliant, MLs, it should be pretty simple . . .
Nope.
It also fails with openjdk 11, etc., etc.
I'm running on OpenSUSE Tumbleweed, with openjfx 11.0.14-2.1 installed.
The jar in the repo wouldn't work, so I built with maven.
That creates
ySBGN-1.0.jar, despite the master branch I'm working on being 4 commits newer than . . .commit 1c46b27 (tag: 1.1.2)
(maybe the pom hasn't been fully updated with a newer version number, or the tags aren't meant to match the jar version?)
It wouldn't build (or run??? . . . I can't recall . . . so many issues whenever I try to get any Java program to work right), with out this:
(which I found on the internet, as a fix for the error I was getting before)
Any idea how to get this to work? I've even gone so far as to try a Docker image with an old Java 8 in it. Of course I got the usual "DISPLAY not found", because it is an X11 application. I haven't gone so far as to fire up, say, and old Ubuntu VM with older stuff in it.
Does this really need to be a GUI application? It could easily be a CLI, with one; maybe two CL arguments.