hapifhir / hapi-hl7v2

277 stars 138 forks source link

Latest version of test panel listed on the website doesn't load messages #115

Open ppazos opened 7 months ago

ppazos commented 7 months ago

I'm getting exceptions when I try to load a sample message and when I try to close the panel, it doesn't close. The website also points to SourceForge, is there a newer binary available on GitHub? Thanks.

$ ./testpanel.sh 
17:46:53,554  INFO [main] Home:47 - hapi.home is set to /home/pablo/GitHub/cabolabs-mirth/hapi-testpanel-2.0.1/.
17:46:54,403  INFO [main] Controller:151 - No saved outbound connection list found
17:46:54,404  INFO [main] Controller:166 - No saved inbound connection list found
17:46:54,408  INFO [AWT-EventQueue-0] Controller:815 - Starting TestPanel Controller...
17:46:54,584  INFO [AWT-EventQueue-0] TestPanelWindow:196 - Maximizing window
17:46:54,586  WARN [AWT-EventQueue-0] TestPanelWindow:136 - Unknown type is selected: null
17:46:55,182  INFO [Thread-1] Controller:967 - Failed to check if we are running the latest version
17:47:18,667  INFO [AWT-EventQueue-0] Hl7V2MessageCollection:900 - About to set source message for collection
17:47:18,671  INFO [AWT-EventQueue-0] Hl7V2MessageCollection:277 - Found ER7 message
17:47:18,679  INFO [AWT-EventQueue-0] Hl7V2MessageBase:256 - About to parse message
17:47:18,688  INFO [AWT-EventQueue-0] VersionLogger:39 - HAPI version is: 2.1-alpha1
17:47:18,761  INFO [AWT-EventQueue-0] Hl7V2MessageBase:272 - Done parsing message
17:47:18,762  INFO [AWT-EventQueue-0] Hl7V2MessageCollection:917 - Firing message change event
17:47:18,764  INFO [AWT-EventQueue-0] Hl7V2MessageCollection:928 - Done setting source message for collection
17:47:18,967  INFO [AWT-EventQueue-0] Hl7V2MessageEditorPanel:123 - Registered syntaxKit
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at ca.uhn.hl7v2.testpanel.ui.editor.Hl7V2MessageEditorPanel.updateSendButton(Hl7V2MessageEditorPanel.java:669)
    at ca.uhn.hl7v2.testpanel.ui.editor.Hl7V2MessageEditorPanel.updateOutboundConnectionsBox(Hl7V2MessageEditorPanel.java:943)
    at ca.uhn.hl7v2.testpanel.ui.editor.Hl7V2MessageEditorPanel.initLocal(Hl7V2MessageEditorPanel.java:603)
    at ca.uhn.hl7v2.testpanel.ui.editor.Hl7V2MessageEditorPanel.<init>(Hl7V2MessageEditorPanel.java:529)
    at ca.uhn.hl7v2.testpanel.controller.Controller.setLeftSelectedItem(Controller.java:743)
    at ca.uhn.hl7v2.testpanel.controller.Controller.openMessageFile(Controller.java:506)
    at ca.uhn.hl7v2.testpanel.controller.Controller.openMessages(Controller.java:538)
    at ca.uhn.hl7v2.testpanel.ui.TestPanelWindow$16.actionPerformed(TestPanelWindow.java:506)
    at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
    at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
    at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
    at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
    at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
    at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
    at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
    at java.desktop/java.awt.Component.processMouseEvent(Component.java:6635)
    at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
    at java.desktop/java.awt.Component.processEvent(Component.java:6400)
    at java.desktop/java.awt.Container.processEvent(Container.java:2263)
    at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
    at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
    at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
    at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
    at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
17:47:55,146  INFO [AWT-EventQueue-0] Controller:292 - Saving 0 outbound connection descriptors
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javax/xml/bind/JAXB
    at ca.uhn.hl7v2.testpanel.model.conn.OutboundConnectionList.exportConfigToXml(OutboundConnectionList.java:77)
    at ca.uhn.hl7v2.testpanel.controller.Controller.close(Controller.java:293)
    at ca.uhn.hl7v2.testpanel.ui.TestPanelWindow$2.windowClosing(TestPanelWindow.java:315)
    at java.desktop/java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:357)
    at java.desktop/java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:357)
    at java.desktop/java.awt.Window.processWindowEvent(Window.java:2078)
    at java.desktop/javax.swing.JFrame.processWindowEvent(JFrame.java:298)
    at java.desktop/java.awt.Window.processEvent(Window.java:2037)
    at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
    at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXB
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:527)
    ... 29 more
17:48:45,734  INFO [AWT-EventQueue-0] Controller:292 - Saving 0 outbound connection descriptors
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javax/xml/bind/JAXB
    at ca.uhn.hl7v2.testpanel.model.conn.OutboundConnectionList.exportConfigToXml(OutboundConnectionList.java:77)
    at ca.uhn.hl7v2.testpanel.controller.Controller.close(Controller.java:293)
    at ca.uhn.hl7v2.testpanel.ui.TestPanelWindow$2.windowClosing(TestPanelWindow.java:315)
    at java.desktop/java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:357)
    at java.desktop/java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:357)
    at java.desktop/java.awt.Window.processWindowEvent(Window.java:2078)
    at java.desktop/javax.swing.JFrame.processWindowEvent(JFrame.java:298)
    at java.desktop/java.awt.Window.processEvent(Window.java:2037)
    at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
    at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
ppazos commented 7 months ago

I found a test panel dist on the last release https://github.com/hapifhir/hapi-hl7v2/releases/tag/v2.5.1

Tested it and when I try to run it, I get an exception. Looking at the last couple of lines, it seems to try to load the panel for OSX but I'm on Linux. Is there a newer Linux test panel? Thanks

$ ./testpanel.sh 
17:52:30,726  INFO [main] Home:47 - hapi.home is set to /home/pablo/GitHub/cabolabs-mirth/hapi-testpanel-2.5.1/.
17:52:31,767 ERROR [main] Prefs:485 - Failed to restore file "": jakarta.xml.bind.UnmarshalException
 - with linked exception:
[org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Premature end of file.]
jakarta.xml.bind.DataBindingException: jakarta.xml.bind.UnmarshalException
 - with linked exception:
[org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Premature end of file.]
    at jakarta.xml.bind.JAXB.unmarshal(JAXB.java:221)
    at ca.uhn.hl7v2.testpanel.controller.Prefs.initFromJavaPrefs(Prefs.java:483)
    at ca.uhn.hl7v2.testpanel.controller.Prefs.getInstance(Prefs.java:809)
    at ca.uhn.hl7v2.testpanel.model.conf.TableFileList.<init>(TableFileList.java:25)
    at ca.uhn.hl7v2.testpanel.controller.Controller.<init>(Controller.java:126)
    at ca.uhn.hl7v2.testpanel.App.main(App.java:63)
Caused by: jakarta.xml.bind.UnmarshalException
 - with linked exception:
[org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Premature end of file.]
    at jakarta.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(AbstractUnmarshallerImpl.java:290)
    at org.glassfish.jaxb.runtime.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(UnmarshallerImpl.java:539)
    at org.glassfish.jaxb.runtime.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:224)
    at org.glassfish.jaxb.runtime.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:196)
    at org.glassfish.jaxb.runtime.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:251)
    at jakarta.xml.bind.JAXB.unmarshal(JAXB.java:218)
    ... 5 more
Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Premature end of file.
    at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:204)
    at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:178)
    at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:400)
    at java.xml/com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)
    at java.xml/com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1465)
    at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:1013)
    at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
    at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
    at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534)
    at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888)
    at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824)
    at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
    at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216)
    at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635)
    at org.glassfish.jaxb.runtime.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:218)
    ... 8 more
17:52:31,783  INFO [main] Controller:151 - No saved outbound connection list found
17:52:31,794  INFO [main] Controller:166 - No saved inbound connection list found
Exception in thread "main" java.lang.UnsupportedOperationException: The APP_ABOUT action is not supported on the current platform!
    at java.desktop/java.awt.Desktop.checkActionSupport(Desktop.java:380)
    at java.desktop/java.awt.Desktop.setAboutHandler(Desktop.java:696)
    at ca.uhn.hl7v2.testpanel.OSXInitializer.run(OSXInitializer.java:52)
    at ca.uhn.hl7v2.testpanel.App.main(App.java:65)
ppazos commented 7 months ago

It seems the OSXInitializer is executed always, independently of the current platform. Is that correct?

https://github.com/hapifhir/hapi-hl7v2/blob/master/hapi-testpanel/src/main/java/ca/uhn/hl7v2/testpanel/App.java#L65

amenegotto commented 1 week ago

Same here on ubuntu, tested on versions 2.4.1 and 2.5.1.

This it's already fixed on master.

ppazos commented 1 week ago

@amenegotto is there a release planned with the fixes? I would like to use an official binary build instead of needing to build it myself.

amenegotto commented 1 week ago

@ppazos I'm not a project maintainer or developer. The last release was on November 23, maybe they are in some stabilization process.

milkshakeuk commented 1 hour ago

@jamesagnew @ohr ^^

jamesagnew commented 25 minutes ago

If anyone is willing to contribute a fix getting this to work on their platform, it would be gladly accepted.