[ https://issues.apache.org/jira/browse/TOBAGO-2019?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tobias Herbert updated TOBAGO-2019: ----------------------------------- Status: Patch Available (was: Open) > NPE tobago-core-2.4.1 NPE Sorter.java > -------------------------------------- > > Key: TOBAGO-2019 > URL: https://issues.apache.org/jira/browse/TOBAGO-2019 > Project: MyFaces Tobago > Issue Type: Bug > Components: Core > Affects Versions: 2.4.1 > Environment: jboss 6 > Reporter: Tobias Herbert > Priority: Critical > Attachments: Sorter.java > > > Hello Tobago maintainer, > during migration of an existing project I have a problem with an NPE in > Sorter.java > line 153. > With the below fix, the application seems to be ok... > Patch proposal: > diff --git > a/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Sorter.java > b/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Sorter.java > index f2f0451832..2a37f2c343 100644 > --- > a/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Sorter.java > +++ > b/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Sorter.java > @@ -150,6 +150,7 @@ public class Sorter { > // memorize selected rows > List<Object> selectedDataRows = null; > + if ( (sheetState !=null) && ( sheetState.getSelectedRows() !=null)) { > if (sheetState.getSelectedRows().size() > 0) { > selectedDataRows = new > ArrayList<Object>(sheetState.getSelectedRows().size()); > Object dataRow; > @@ -162,6 +163,7 @@ public class Sorter { > selectedDataRows.add(dataRow); > } > } > + } > // do sorting > if (value instanceof List) { > > NPE: > ------------------------------------------------------------------------ > 019-11-22 16:44:41,837 ERROR > [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/vvgebuehren].[FacesServlet]] > (http-0.0.0.0:9593-2) (/) JBWEB000236: Servlet.service() for servlet > FacesServlet threw exception: java.lang.NullPointerException > at > org.apache.myfaces.tobago.component.Sorter.perform(Sorter.java:153) > [tobago-core-2.4.1.jar:2.4.1] > at > org.apache.myfaces.tobago.internal.component.AbstractUISheet.sort(AbstractUISheet.java:477) > [tobago-core-2.4.1.jar:2.4.1] > at > org.apache.myfaces.tobago.internal.component.AbstractUISheet.processEvent(AbstractUISheet.java:458) > [tobago-core-2.4.1.jar:2.4.1] > at > javax.faces.component.UIComponent$EventListenerWrapper.processEvent(UIComponent.java:1627) > [myfaces-api-2.2.12.jar:2.2.12] > at javax.faces.event.SystemEvent.processListener(SystemEvent.java:40) > [myfaces-api-2.2.12.jar:2.2.12] > at > javax.faces.event.ComponentSystemEvent.processListener(ComponentSystemEvent.java:51) > [myfaces-api-2.2.12.jar:2.2.12] > at > org.apache.myfaces.application.ApplicationImpl._traverseListenerList(ApplicationImpl.java:2595) > [myfaces-impl-2.2.12.jar:2.2.12] > at > org.apache.myfaces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:595) > [myfaces-impl-2.2.12.jar:2.2.12] > at > javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:590) > [myfaces-api-2.2.12.jar:2.2.12] > at javax.faces.component.UIData.encodeBegin(UIData.java:1751) > [myfaces-api-2.2.12.jar:2.2.12] > at > org.apache.myfaces.tobago.internal.component.AbstractUIData.encodeBegin(AbstractUIData.java:128) > [tobago-core-2.4.1.jar:2.4.1] > at > org.apache.myfaces.tobago.internal.component.AbstractUISheet.encodeBegin(AbstractUISheet.java:120) > [tobago-core-2.4.1.jar:2.4.1] > at > org.apache.myfaces.tobago.renderkit.util.RenderUtils.encode(RenderUtils.java:114) > [tobago-theme-standard-2.4.1.jar:2.4.1] > at > org.apache.myfaces.tobago.renderkit.util.RenderUtils.encode(RenderUtils.java:98) > [tobago-theme-standard-2.4.1.jar:2.4.1] > at > org.apache.myfaces.tobago.renderkit.util.RenderUtils.encodeChildren(RenderUtils.java:93) > [tobago-theme-standard-2.4.1.jar:2.4.1] > at > org.apache.myfaces.tobago.renderkit.html.standard.standard.tag.GridLayoutRenderer.encodeChildren(GridLayoutRenderer.java:43) > [tobag > o-theme-standard-2.4.1.jar:2.4.1] > at > org.apache.myfaces.tobago.renderkit.AbstractRendererBaseWrapper.encodeChildren(AbstractRendererBaseWrapper.java:100) > [tobago-core-2 > .4.1.jar:2.4.1] > at > javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:644) > [myfaces-api-2.2.12.jar:2.2.12] > at > org.apache.myfaces.tobago.internal.component.AbstractUIPanel.encodeChildren(AbstractUIPanel.java:51) > [tobago-core-2.4.1.jar:2.4.1] > at > org.apache.myfaces.tobago.renderkit.util.RenderUtils.encode(RenderUtils.java:116) > [tobago-theme-standard-2.4.1.jar:2.4.1] > at > org.apache.myfaces.tobago.renderkit.util.RenderUtils.encode(RenderUtils.java:119) > [tobago-theme-standard-2.4.1.jar:2.4.1] > at > org.apache.myfaces.tobago.renderkit.util.RenderUtils.encode(RenderUtils.java:98) > [tobago-theme-standard-2.4.1.jar:2.4.1] > at > org.apache.myfaces.tobago.renderkit.util.RenderUtils.encodeChildren(RenderUtils.java:93) > [tobago-theme-standard-2.4.1.jar:2.4.1] > at > org.apache.myfaces.tobago.renderkit.html.standard.standard.tag.GridLayoutRenderer.encodeChildren(GridLayoutRenderer.java:43) > [tobago-theme-standard-2.4.1.jar:2.4.1] > at > org.apache.myfaces.tobago.renderkit.AbstractRendererBaseWrapper.encodeChildren(AbstractRendererBaseWrapper.java:100) > [tobago-core-2.4.1.jar:2.4.1] > at > javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:644) > [myfaces-api-2.2.12.jar:2.2.12] > > > Greetings > Tobias > > -- This message was sent by Atlassian Jira (v8.3.4#803005)