<< Back to previous view

[QB-407] Getting NPE when setting report.generic
Created: 08/Dec/08  Updated: 06/Jun/09

Status: Resolved
Project: QuickBuild
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Critical
Reporter: Lubos Pochman Assigned To: Steve Luo
Resolution: Fixed Votes: 0
Remaining Estimate: Unknown Time Spent: Unknown
Original Estimate: Unknown


 Description   
When configuring report.generic and leave Report Category Setting text box empty, I get NPE:

WicketMessage: Method onFormSubmitted of interface org.apache.wicket.markup.html.form.IFormSubmitListener targeted at component [MarkupContainer [Component id = form, page = com.pmease.quickbuild.web.page.administration.plugin.PluginSettingEdit, path = 10:form.PluginSettingEdit$3, isVisible = true, isVersioned = true]] threw an exception

Root cause:

java.lang.NullPointerException
at org.dom4j.DocumentHelper.getEncoding(DocumentHelper.java:292)
at org.dom4j.DocumentHelper.parseText(DocumentHelper.java:273)
at com.pmease.quickbuild.plugin.report.core.ReportHelper.fromXML(ReportHelper.java:52)
at com.pmease.quickbuild.plugin.report.core.settings.ReportPluginSetting.getReportCategory(ReportPluginSetting.java:47)
at com.pmease.quickbuild.plugin.report.core.AbstractReportPlugin.constructCategory(AbstractReportPlugin.java:83)
at com.pmease.quickbuild.plugin.report.core.AbstractReportPlugin.settingDefinitionChanged(AbstractReportPlugin.java:76)
at com.pmease.quickbuild.pluginsupport.AbstractPlugin.saveSettingDefinition(AbstractPlugin.java:231)
at com.pmease.quickbuild.web.page.administration.plugin.PluginSettingEdit$3.onSubmit(PluginSettingEdit.java:56)
at org.apache.wicket.markup.html.form.Form.delegateSubmit(Form.java:1328)
at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:776)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:183)
at org.apache.wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents(ListenerInterfaceRequestTarget.java:73)
at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:91)
at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1166)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1243)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1331)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:363)
at org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:145)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:616)
at com.pmease.quickbuild.web.UIServlet.service(UIServlet.java:50)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:59)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:288)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
at org.mortbay.jetty.servlet.ServletHandler.dispatch(ServletHandler.java:677)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
at org.mortbay.http.HttpServer.service(HttpServer.java:909)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:820)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

Complete stack:

org.apache.wicket.WicketRuntimeException: Method onFormSubmitted of interface org.apache.wicket.markup.html.form.IFormSubmitListener targeted at component [MarkupContainer [Component id = form, page = com.pmease.quickbuild.web.page.administration.plugin.PluginSettingEdit, path = 10:form.PluginSettingEdit$3, isVisible = true, isVersioned = true]] threw an exception
at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:194)
at org.apache.wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents(ListenerInterfaceRequestTarget.java:73)
at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:91)
at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1166)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1243)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1331)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:363)

java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:183)
at org.apache.wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents(ListenerInterfaceRequestTarget.java:73)
at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:91)
at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1166)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1243)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1331)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:363)

 Comments   
Comment by Lubos Pochman [ 08/Dec/08 02:23 PM ]
Same happens when I start a build and then click on Build tab.

This is because generic report setting is empty, but I am not sure how to set it and we should have a default value in the setting so the user has some basic setting.

Note. This wasn't happening in M2.
Generated at Mon Oct 06 22:42:42 UTC 2025 using JIRA 189.