I upgraded Panopticon SDK from 17.5.4 to 21.2.1. There's just a few trivial code lines to change for upgrade. When I open a dashboard I get such an exception. What are changes between these versions which could cause it? Is it possible to workaround?
Uncaught exception in thread[30]AWT-EventQueue-0: Cannot invoke "panopticon.developer.framework.table.Time.getTime()" because "<parameter1>" is null 02/29/24 10:20:04 -E- java.lang.NullPointerException: Cannot invoke "panopticon.developer.framework.table.Time.getTime()" because "<parameter1>" is null at com.panopticon.dashboards.data.wrapper.WrapperTable.getSampleIndex(WrapperTable.java:257) at com.panopticon.dashboards.common.parts.TextBoxPart.getColumnText(TextBoxPart.java:124) at com.panopticon.dashboards.common.parts.TextBoxPart.b(TextBoxPart.java:364) at com.panopticon.dashboards.common.parts.TextBoxPart.initialize(TextBoxPart.java:181) at com.panopticon.dashboards.common.parts.TextBoxPart.a(TextBoxPart.java:331) at com.panopticon.dashboards.common.parts.TextBoxPart.a(TextBoxPart.java:58) at com.panopticon.dashboards.common.parts.TextBoxPart$a.run(TextBoxPart.java:495) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741) 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) Uncaught exception in thread[30]AWT-EventQueue-0: Cannot invoke "panopticon.developer.framework.table.Time.getTime()" because "<parameter1>" is null 02/29/24 10:26:34 -E- java.lang.NullPointerException: Cannot invoke "panopticon.developer.framework.table.Time.getTime()" because "<parameter1>" is null at com.panopticon.dashboards.data.wrapper.WrapperTable.getSampleIndex(WrapperTable.java:257) at com.panopticon.dashboards.common.parts.TextBoxPart.getColumnText(TextBoxPart.java:124) at com.panopticon.dashboards.common.parts.TextBoxPart.b(TextBoxPart.java:364) at com.panopticon.dashboards.common.parts.TextBoxPart.initialize(TextBoxPart.java:181) at com.panopticon.dashboards.common.parts.TextBoxPart.a(TextBoxPart.java:331) at com.panopticon.dashboards.common.parts.TextBoxPart.a(TextBoxPart.java:58) at com.panopticon.dashboards.common.parts.TextBoxPart$a.run(TextBoxPart.java:495) at com.panopticon.dashboards.ui.UIThreadHelper.a(UIThreadHelper.java:66) at com.panopticon.dashboards.ui.UIThreadHelper.invokeLaterOnUIThread(UIThreadHelper.java:32) at com.panopticon.dashboards.common.parts.TextBoxPart.initialize(TextBoxPart.java:316) at com.panopticon.dashboards.client.DataRequestHandlerImpl$2.a(DataRequestHandlerImpl.java:65) at com.panopticon.dashboards.client.DataRequestHandlerImpl$2.send(DataRequestHandlerImpl.java:60) at panopticon.developer.framework.event.GenericBroadcaster.send(GenericBroadcaster.java:59) at com.panopticon.dashboards.client.DataRequestHandlerImpl.onInitialize(DataRequestHandlerImpl.java:857) at com.panopticon.dashboards.client.DataRequestHandlerImpl.b(DataRequestHandlerImpl.java:335) at com.panopticon.dashboards.client.DataRequestHandlerImpl.getDataAsync(DataRequestHandlerImpl.java:665) at com.panopticon.dashboards.common.parts.TextBoxPart.initialize(TextBoxPart.java:256) at com.panopticon.dashboards.client.view.DashboardView.b(DashboardView.java:646) at com.panopticon.dashboards.client.view.DashboardView.a(DashboardView.java:578) at com.panopticon.dashboards.client.view.DashboardView.e(DashboardView.java:484) at com.panopticon.dashboards.client.view.DashboardView.setDashboard(DashboardView.java:387) at com.panopticon.dashboards.client.view.WorkbookPane.c(WorkbookPane.java:235) at com.panopticon.dashboards.client.view.WorkbookPane.d(WorkbookPane.java:85) at com.panopticon.dashboards.client.view.WorkbookPane$11.stateChanged(WorkbookPane.java:121) at java.desktop/javax.swing.JTabbedPane.fireStateChanged(JTabbedPane.java:444) at java.desktop/javax.swing.JTabbedPane$ModelListener.stateChanged(JTabbedPane.java:295) at java.desktop/javax.swing.DefaultSingleSelectionModel.fireStateChanged(DefaultSingleSelectionModel.java:148) at java.desktop/javax.swing.DefaultSingleSelectionModel.setSelectedIndex(DefaultSingleSelectionModel.java:79) at java.desktop/javax.swing.JTabbedPane.setSelectedIndexImpl(JTabbedPane.java:648) at java.desktop/javax.swing.JTabbedPane.setSelectedIndex(JTabbedPane.java:623) at java.desktop/javax.swing.plaf.basic.BasicTabbedPaneUI$Handler.mousePressed(BasicTabbedPaneUI.java:4101) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6623) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389) at java.desktop/java.awt.Component.processEvent(Component.java:6391) at java.desktop/java.awt.Container.processEvent(Container.java:2266) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) at com.panopticon.dashboards.client.view.WorkbookPane$c.processMouseEvent(WorkbookPane.java:1099) at java.desktop/java.awt.Component.processEvent(Component.java:6391) at java.desktop/java.awt.Container.processEvent(Container.java:2266) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4572) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743) 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)