[ 
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)

Reply via email to