On certain files, clicking on the Referenced By tab results in a java.io.IOException.
Steps to reproduce:
1) Launch FMVis.
2) Enter RPC broker connection information. You do not need to enter MySQL connection information.
3) Select the Package file on the left.
4) Click on the Referenced By tab.
Expected Result:
Tab contents appear.
Actual Result:
java.io.IOException: Encoded integer has invalid value
at com.medsphere.resource.Resource.decodeInt(Resource.java:126)
at com.medsphere.resource.Resource.decodeString(Resource.java:136)
at com.medsphere.resource.Resource.readProperty(Resource.java:153)
at com.medsphere.resource.Resource.fromStream(Resource.java:166)
at com.medsphere.resource.Resource.fromBytes(Resource.java:172)
at com.medsphere.rpcresadapter.RPCResAdapter.readResource(RPCResAdapter.java:90)
at com.medsphere.fileman.FMQueryRefBy.execute(FMQueryRefBy.java:40)
at com.medsphere.fmvis.database.fm.FMSchemaModel.getRefBy(FMSchemaModel.java:204)
at com.medsphere.fmvis.ui.view.file.RefByFileView.loadInternal(RefByFileView.java:86)
at com.medsphere.fmvis.ui.view.file.FMFileView.load(FMFileView.java:50)
at com.medsphere.fmvis.ui.view.file.TabbedFileView$1.stateChanged(TabbedFileView.java:55)
at javax.swing.JTabbedPane.fireStateChanged(JTabbedPane.java:400)
at javax.swing.JTabbedPane$ModelListener.stateChanged(JTabbedPane.java:253)
at javax.swing.DefaultSingleSelectionModel.fireStateChanged(DefaultSingleSelectionModel.java:116)
at javax.swing.DefaultSingleSelectionModel.setSelectedIndex(DefaultSingleSelectionModel.java:50)
at javax.swing.JTabbedPane.setSelectedIndexImpl(JTabbedPane.java:599)
at javax.swing.JTabbedPane.setSelectedIndex(JTabbedPane.java:574)
at javax.swing.plaf.basic.BasicTabbedPaneUI$Handler.mousePressed(BasicTabbedPaneUI.java:3622)
at javax.swing.plaf.synth.SynthTabbedPaneUI$1.mousePressed(SynthTabbedPaneUI.java:279)
at java.awt.Component.processMouseEvent(Component.java:6260)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4235)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
The app is unresponsive after the exception.