1

I have a UI that is a dashboard with a few widgets. The data is coming from a backing bean using primefaces 5.2, server running jboss 8.0.4.

Portion of the xhtml file looks like this where data gets loaded into a widget:

<p:commandButton title="View Details" icon="ui-icon-extlink" 
                                                oncomplete="undockView();        );"
                                                action="#{dashboardBean.displayInlineViewPanel(widget)}"

                                                align="right" 
                                                rendered="#{!dashboardBean.renderInlineViewPanelCheck(widget)}"
                                                style="height:16px; width:16px" 
                                                styleClass="ui-panel-titlebar-icon  ui-corner-all ui-state-default" />  

Also backing bean is sessionscoped and has the below methods:

  public void displayInlineViewPanel(DashboardWidgetInfo widget) {
    setInlineViewDetails(true);
    setInlineViewDetailsWidget(widget);
    inlineViewDetailsName = widget.getViewDetailsOverlayPanelName();
    setInlineViewDetailsHeader(widget.getTitle());
}

Data for the widget comes from another backing bean that is request scoped.

performanceMonitorBean is also a backing bean for a specific widget. This bean is requestScoped.

When I launch the details of a widget and switch back to another widget to view its details, I see the below exception on the server:

2015-08-06 14:08:33,038 SEVERE [javax.enterprise.resource.webcontainer.jsf.context] (default task-29) java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1955)
at com.sun.faces.renderkit.ServerSideStateHelper.getState(ServerSideStateHelper.java:313)
at com.sun.faces.renderkit.ServerSideStateHelper.isStateless(ServerSideStateHelper.java:515)
at com.sun.faces.renderkit.ResponseStateManagerImpl.isStateless(ResponseStateManagerImpl.java:168)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.restoreView(FaceletViewHandlingStrategy.java:544)
at com.sun.faces.application.view.MultiViewHandler.restoreView(MultiViewHandler.java:150)
at javax.faces.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:353)
at 

Also, after this, I dont see the wdiget updated with the new data. It points to the data from the onld widget.

I am not sure what could be wrong but after upgrading to primefaces 5.2, Im seeing this error. Any help is appreciated.

0 Answers0