Operating Environment: Linux (3.13.0-74-generic, amd64) / UTF-8 / en / IN / Oracle Corporation 1.8.0_40-b26
Memory: Max=704,643,072; Total=451,936,256; Free=238,181,248; CPUs=8
Steps to reproduce:
1.Open VA using bistudio_example.xls kept here
2.Dnd date dimension(Due date) in Columns deck
3.Dnd any measure in Rows deck.
4.Right click on date dimension & select secondary year function.
6.Right click on axis of date dimension & select Add reference line option.
Keep default settings as it is & click on OK
OR
Open attached v17.0.0-1.vizx
Go to Scenario 1 sheet.
Right click on axis of date dimension & select Add reference line option.
Keep default settings as it is & click on OK
Actual result: Reference line is not displayed & NPE is displayed in View log.
Expected result: Appropriate reference line should be displayed.
Observation for scenario 1: This issue occurs only if Null values are available in data set for date dimension or measure field.
This issue occurs for Line,band,distribution & box plot reference lines.
This issue occurs for continuous dimension also if dimension contains Null values.
If continuous date dimension is placed in Filter deck & Values in range option is selected then reference line is properly displayed.
This issue also occurs if reference line is created on date parameter.
This issue occurs for merged axes & dual axes chart also.
Scenario 2:
1.Open VA using bistudio_example.xls kept here
2.Dnd date dimension(Due date) in Columns deck
3.Dnd any measure in Rows deck.
4.Right click on date dimension & select continuous option(don't select secondary year function)
5.Right click on axis of date dimension & select Trend lines->Show trend lines option.
Open attached v17.0.0-1.vizx
Go to Scenario 2 sheet.
Right click on axis of date dimension & select Trend line->Show trend lines option.
Actual result: Trend line is not displayed.
Expected result: Appropriate trend line should be displayed.
Observation for scenario 2: This scenario occurs for merged axes & dual axes chart.
This scenario only occurs if Null values are available in date dimension.
This scenario only occurs for primary continuous date dimension.
Works fine for secondary date dimension.
For Trend line scenario occurs for all types of trend lines.
Scenario 3:
1.Open VA using bistudio_example.xls kept here
2.Dnd date dimension(Due date) in Columns deck.
3.Right click on date dimension & select continuous option.
4.Dnd 2 measures in Rows deck.
5.Dnd a measure (which is not available in rows deck) in color deck.
6.Right click on axis of date dimension & select Add reference line option.
Select measure field(available in color deck) from Value field.
Click on OK.
Reference line is displayed.
7.Click on Axes deck & select Merged axes option.
OR
Open attached 17.0.0-1.vizx
1.Click on Axes deck & select Merged axes option.
Actual result: Reference line is not displayed & indexoutofbounds exception & NPE is displayed in view log.
Expected result: Reference line on measure field should be displayed.
Observation for scenario 3: This scenario occurs for merged axes & dual axes chart.
Works fine for individual axes chart.
This scenario occurs for Line,band,distribution reference line.
Broken build for all scenarios:17.0.0-1
These scenarios occurred due to fix of VA issue(#5147)
Issue does not occur for below scenario:
1.Dnd date dimension(Due date) in Columns deck.
2.Right click on date dimension & select secondary year function.
3.Dnd another date dimension in Color deck.
4.Right click on date dimension & select secondary year function.
5.Right click on axis of date dimension & select Add reference line option.
select date dimension(available in color deck) from value field & click on Ok.
Reference line is displayed properly.
java.lang.NullPointerException
at \\.\\.\\हिñçêČάй語简�?한\\.eᜥꋇꆳᡶ.a(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.eᜥꋇꆳᡶ.a(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.eᜥꋇꆳᡶ.<init>(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.tꂮꋪꀧꃿnew6.dPS(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.tꂮꋪꀧꃿnew6.c(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.tꂮꋪꀧꃿnew6.a(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.jꈎꐈꁘꉊprotected.b(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.jꈎꐈꁘꉊprotected.render(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.jꈎꐈꁘꉊprotected.display(Unknown Source)
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:665)
at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:649)
at javax.media.opengl.awt.GLJPanel$Updater.display(GLJPanel.java:1213)
at javax.media.opengl.awt.GLJPanel$8.run(GLJPanel.java:1269)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1119)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:994)
at javax.media.opengl.awt.GLJPanel$OffscreenBackend.doPaintComponent(GLJPanel.java:1777)
at javax.media.opengl.awt.GLJPanel.paintComponent(GLJPanel.java:545)
at javax.swing.JComponent.paint(JComponent.java:1056)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at \\.\\.\\हिñçêČάй語简�?한\\.Nꁡꁿꇈ᠀else.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5219)
at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:290)
at javax.swing.RepaintManager.paint(RepaintManager.java:1265)
at javax.swing.JComponent._paintImmediately(JComponent.java:5167)
at javax.swing.JComponent.paintImmediately(JComponent.java:4978)
at javax.media.opengl.awt.GLJPanel.display(GLJPanel.java:443)
at \\.\\.\\हिñçêČάй語简�?한\\.Jꅚ⠁ꑨ᠙.display(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.Iꐉ̔ꂒꋨstatic.bUf(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.cꐙ⡶ꁠꏯ8.bUf(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.cꐙ⡶ꁠꏯ8.propertyChange(Unknown Source)
at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:327)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263)
at com.aquafold.bistudio.model.l⢐0ꇺꂅ$16.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:702)
at java.awt.EventQueue$3.run(EventQueue.java:696)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:719)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:653)
at java.util.ArrayList.get(ArrayList.java:429)
at \\.\\.\\हिñçêČάй語简�?한\\.Kꊁ⠉ᝄᚤlong.f(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.Kꊁ⠉ᝄᚤlong.a(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.tꂮꋪꀧꃿnew6.rY(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.tꂮꋪꀧꃿnew6.a(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.tꂮꋪꀧꃿnew6.a(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.jꈎꐈꁘꉊprotected.b(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.jꈎꐈꁘꉊprotected.render(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.jꈎꐈꁘꉊprotected.display(Unknown Source)
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:665)
at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:649)
at javax.media.opengl.awt.GLJPanel$Updater.display(GLJPanel.java:1213)
at javax.media.opengl.awt.GLJPanel$8.run(GLJPanel.java:1269)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1119)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:994)
at javax.media.opengl.awt.GLJPanel$OffscreenBackend.doPaintComponent(GLJPanel.java:1777)
at javax.media.opengl.awt.GLJPanel.paintComponent(GLJPanel.java:545)
at javax.swing.JComponent.paint(JComponent.java:1056)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at \\.\\.\\हिñçêČάй語简�?한\\.Nꁡꁿꇈ᠀else.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5219)
at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:290)
at javax.swing.RepaintManager.paint(RepaintManager.java:1265)
at javax.swing.JComponent._paintImmediately(JComponent.java:5167)
at javax.swing.JComponent.paintImmediately(JComponent.java:4978)
at javax.media.opengl.awt.GLJPanel.display(GLJPanel.java:443)
at \\.\\.\\हिñçêČάй語简�?한\\.Jꅚ⠁ꑨ᠙.display(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.Iꐉ̔ꂒꋨstatic.bUf(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.cꐙ⡶ꁠꏯ8.bUf(Unknown Source)
at \\.\\.\\हिñçêČάй語简�?한\\.cꐙ⡶ꁠꏯ8.propertyChange(Unknown Source)
at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:327)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263)
at com.aquafold.bistudio.model.l⢐0ꇺꂅ$16.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:702)
at java.awt.EventQueue$3.run(EventQueue.java:696)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:719)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
It's possible that it could be related to Issue #5147. Prior that issue, all null continuous date values were filtered out, and thus most code do not see these null values. The fix for #5147 reintroduce the null date values because one of the predefined filters "In Range with NULL Values" gives the user this capability. So now we'll have to handle these null values.