hapifhir / hapi-hl7v2

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

ppazos opened this issue · comments

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)

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)

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