p:dataExporter in dialog problem primefaces 6.2

UI Components for JSF
Post Reply
saberair
Posts: 5
Joined: 17 Jul 2019, 11:12

17 Jul 2019, 11:36

Hello,

I'm doing the migration of my application from primefaces 3.5 with java 1.6 and glassfish 3.1 to primefaces 6.2 with java 1.8 and glassfish 5.
I get a problem with <p:dataExporter> component witch is in a <p:dialog> ( with primefaces 3.5 was OK)

This is the code part :
<p:dialog id="BrDlg" widgetVar="brDlg" header="Business Rules Check Report" modal="false" closable="true" style="white-space:normal;">
<p:panel styleClass="noBackground"
header="#{msgs.br_CheckReport_msgInformation}"
style="overflow:auto; max-height: 200px; max-width: 1500px; white-space: normal;">
<p:dataTable var="hd" value="#{brcMB.summaryHeader}"
id="expHeaderTable">
<p:column>
<h:outputText value="#{hd.msg}" />
</p:column>
</p:dataTable>
<br />
<br />
</p:panel>

<p:panel styleClass="noBackground"
header="#{msgs.business_component_log_template_summary_header}"
style="overflow: auto;max-height:210px">
<ui:include src="/br/common/log/BRLogSummary.xhtml">
<ui:param name="managedBean" value="#{brcMB}" />
</ui:include>
<br />
<br />
</p:panel>

<p:panel styleClass="noBackground"
header="#{msgs.business_component_log_template_report_header}"
style="max-width: 1400px; max-height:400px;white-space: normal; overflow:auto;">

<p:dataTable var="report" lazy="true" value="#{brcMB.reportLazyModel}"
rowStyleClass="#{report.level eq 'Error' ? Common.impExp_rowOnError : report.level eq 'Warning' ? Common.impExp_rowFiltered : report.level eq 'Failed' ? Common.impExp_rowFailed : null}"
paginator="true" rows="10" paginatorAlwaysVisible="false"
paginatorPosition="top" deferred="true" deferredMode="visible"
paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
rowsPerPageTemplate="10,20,30,50,100" selectionMode="single"
selection="#{brcMB.selectedReport}" id="reportTable"
sortBy="#{report.level}" rendered="true">

<p:column headerText="#{msgs.br_log_report_type}"
rendered="#{br.reportType_rendered}" sortBy="#{report.ftType}"
filterBy="#{report.ftType}" filterMatchMode="contains">
<h:outputText value="#{report.ftType}" />
<f:facet name="header">
<h:outputText value="#{msgs.br_log_report_type}" />
</f:facet>
</p:column>

<p:column headerText="UUID" rendered="#{br.report_uuid_rendered}"
sortBy="#{report.ftId}" filterBy="#{report.ftId}"
filterMatchMode="contains">
<h:outputText value="#{report.ftId}" />
<f:facet name="header">
<h:outputText value="UUID" />
</f:facet>
</p:column>

<p:column headerText="#{msgs.br_log_report_identification}"
rendered="#{br.reportId_rendered}"
sortBy="#{report.ftIdentification}"
filterBy="#{report.ftIdentification}" filterMatchMode="contains">
<h:outputText value="#{report.ftIdentification}" />
<f:facet name="header">
<h:outputText value="#{msgs.br_log_report_identification}" />
</f:facet>
</p:column>

<p:column headerText="#{msgs.br_log_report_id}"
rendered="#{br.reportIdentification_rendered}" sortBy="#{report.id}"
filterBy="#{report.id}" filterMatchMode="contains">
<h:outputText value="#{report.id}" />
<f:facet name="header">
<h:outputText value="#{msgs.br_log_report_id}" />
</f:facet>

</p:column>

<p:column headerText="#{msgs.br_log_report_br_type}"
rendered="#{br.reportBrType_rendered}" sortBy="#{report.type}"
filterBy="#{report.type}" filterMatchMode="contains">
<h:outputText value="#{report.type}" />
<f:facet name="header">
<h:outputText value="#{msgs.br_log_report_br_type}" />
</f:facet>
</p:column>

<p:column headerText="#{msgs.br_log_report_category}"
rendered="#{reportCategory_rendered}" sortBy="#{report.category}"
filterBy="#{report.category}" filterMatchMode="contains">
<h:outputText value="#{report.category}" />
<f:facet name="header">
<h:outputText value="#{msgs.br_log_report_category}" />
</f:facet>
</p:column>

<p:column headerText="#{msgs.br_log_report_name}"
rendered="#{br.reportName_rendered}" sortBy="#{report.name}"
filterBy="#{report.name}" filterMatchMode="contains">
<h:outputText value="#{report.name}" />
<f:facet name="header">
<h:outputText value="#{msgs.br_log_report_name}" />
</f:facet>
</p:column>

<p:column headerText="#{msgs.br_log_report_message}"
rendered="#{br.reportLevel_rendered}" sortBy="#{report.message}"
filterBy="#{report.message}" filterMatchMode="contains">
<h:outputText value="#{report.message}" />
<f:facet name="header">
<h:outputText value="#{msgs.br_log_report_message}" />
</f:facet>
</p:column>

<p:column headerText="#{msgs.br_log_report_level}"
rendered="#{br.reportMsg_rendered}" sortBy="#{report.level}"
filterBy="#{report.level}" filterMatchMode="contains">
<h:outputText value="#{report.level}" />
<f:facet name="header">
<h:outputText value="#{msgs.br_log_report_level}" />
</f:facet>
</p:column>
</p:dataTable>
<br />
<h:panelGrid columns="2"
style="max-width: 1500px; white-space: normal;">
<p:panel header="#{msgs.export_all_data}" styleClass="centered">
<h:commandLink>
<p:graphicImage value="/resources/images/icons/excel.png" />
<p:dataExporter type="xls" target="reportTable" fileName="BusinessRules_Report" />
</h:commandLink>

<h:commandLink>
<p:graphicImage value="/resources/images/icons/pdf.png" />
<p:dataExporter type="pdf" target="reportTable" fileName="BusinessRules_Report"
encoding="iso-8859-1" />
</h:commandLink>

<h:commandLink>
<p:graphicImage value="/resources/images/icons/csv.png" />
<p:dataExporter type="csv" target="reportTable" fileName="BusinessRules_Report" />
</h:commandLink>

<h:commandLink>
<p:graphicImage value="/resources/images/icons/xml.png" />
<p:dataExporter type="xml" target="reportTable" fileName="BusinessRules_Report" />
</h:commandLink>
<h:commandLink>
<p:graphicImage value="/resources/images/icons/text-html.png" />
<p:dataExporter type="html" target="reportTable" fileName="BusinessRules_Report" />
</h:commandLink>
</p:panel>
<p:panel header="#{msgs.export_page_data}" styleClass="centered">
<h:commandLink>
<p:graphicImage value="/resources/images/icons/excel.png" />
<p:dataExporter type="xls" target="reportTable" fileName="BusinessRules_Report"
pageOnly="true" />
</h:commandLink>

<h:commandLink>
<p:graphicImage value="/resources/images/icons/pdf.png" />
<p:dataExporter type="pdf" target="reportTable" fileName="BusinessRules_Report"
pageOnly="true" encoding="iso-8859-1" />
</h:commandLink>

<h:commandLink>
<p:graphicImage value="/resources/images/icons/csv.png" />
<p:dataExporter type="csv" target="reportTable" fileName="BusinessRules_Report"
pageOnly="true" />
</h:commandLink>

<h:commandLink>
<p:graphicImage value="/resources/images/icons/xml.png" />
<p:dataExporter type="xml" target="reportTable" fileName="BusinessRules_Report"
pageOnly="true" />
</h:commandLink>

<h:commandLink>
<p:graphicImage value="/resources/images/icons/text-html.png" />
<p:dataExporter type="html" target="reportTable" fileName="BusinessRules_Report"
pageOnly="true" />
</h:commandLink>
</p:panel>
</h:panelGrid>
</p:panel>
<br />
<br />
<p:commandButton id="brOK" value="OK" process="@none" partialSubmit="true" onclick="brDlg.hide()" />
</p:dialog>


I got that in the log file :

Servlet.service() for servlet Faces Servlet threw exception
java.lang.NullPointerException
at com.sun.el.parser.AstValue.setValue(AstValue.java:247)
at com.sun.el.ValueExpressionImpl.setValue(ValueExpressionImpl.java:294)
at org.apache.myfaces.view.facelets.el.ContextAwareTagValueExpression.setValue(ContextAwareTagValueExpression.java:146)
at javax.faces.component.UIInput.updateModel(UIInput.java:429)
at javax.faces.component.UIInput.processUpdates(UIInput.java:347)
at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1506)
at org.primefaces.component.dialog.Dialog.processUpdates(Dialog.java:432)
at javax.faces.component.UIForm.processUpdates(UIForm.java:264)
at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1506)
at org.primefaces.extensions.component.layout.Layout.processUpdates(Layout.java:255)
at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1506)
at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1506)
at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1506)
at javax.faces.component.UIViewRoot._processUpdatesDefault(UIViewRoot.java:1777)
at javax.faces.component.UIViewRoot.access$700(UIViewRoot.java:81)
at javax.faces.component.UIViewRoot$UpdateModelPhaseProcessor.process(UIViewRoot.java:1915)
at javax.faces.component.UIViewRoot._process(UIViewRoot.java:1738)
at javax.faces.component.UIViewRoot.processUpdates(UIViewRoot.java:989)
at org.apache.myfaces.lifecycle.UpdateModelValuesExecutor.execute(UpdateModelValuesExecutor.java:38)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:195)
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:142)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:204)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1580)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:338)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:81)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:81)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:652)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:591)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:371)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:238)
at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:463)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:168)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:180)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:242)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:539)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:593)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:573)
at java.lang.Thread.run(Thread.java:748)
]]

Any Idea Please ?

kukeltje
Expert Member
Posts: 9605
Joined: 17 Jun 2010, 13:34
Location: Netherlands

18 Jul 2019, 01:06

Please format your code, reduce code, but also make it complete and runnable. And there is NOTHING related to a datatable or exporter in your stacktrace...

saberair
Posts: 5
Joined: 17 Jul 2019, 11:12

18 Jul 2019, 10:04

Thank you for your answer.
This is a reduced code:

<p:dialog id="BrDlg" widgetVar="brDlg" header="Business Rules Check Report" modal="false" closable="true" style="white-space:normal;">
<p:panel styleClass="noBackground"
header="#{msgs.business_component_log_template_report_header}"
style="max-width: 1400px; max-height:400px;white-space: normal; overflow:auto;">

<p:dataTable var="report" lazy="true" value="#{brcMB.reportLazyModel}"
rowStyleClass="#{report.level eq 'Error' ? Common.impExp_rowOnError : report.level eq 'Warning' ? Common.impExp_rowFiltered : report.level eq 'Failed' ? Common.impExp_rowFailed : null}"
paginator="true" rows="10" paginatorAlwaysVisible="false"
paginatorPosition="top" deferred="true" deferredMode="visible"
paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
rowsPerPageTemplate="10,20,30,50,100" selectionMode="single"
selection="#{brcMB.selectedReport}" id="reportTable"
sortBy="#{report.level}" rendered="true">

<p:column headerText="#{msgs.br_log_report_type}"
rendered="#{br.reportType_rendered}" sortBy="#{report.ftType}"
filterBy="#{report.ftType}" filterMatchMode="contains">
<h:outputText value="#{report.ftType}" />
<f:facet name="header">
<h:outputText value="#{msgs.br_log_report_type}" />
</f:facet>
</p:column>

</p:dataTable>
<br />
<h:panelGrid columns="2"
style="max-width: 1500px; white-space: normal;">
<p:panel header="#{msgs.export_all_data}" styleClass="centered">

<h:commandLink>
<p:graphicImage value="/resources/images/icons/excel.png" />
<p:dataExporter type="xls" target="reportTable" fileName="BusinessRules_Report" />
</h:commandLink>

</p:panel>
</h:panelGrid>
</p:panel>
</p:dialog>

=> The exception appears once I click on the dataExporter button

Post Reply

Return to “PrimeFaces”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 20 guests