Hi,
I created a form. There is a repeater backed from a DB table A. Then some fields backed up by the same DB table A - for single row as a resource table A'.
I am trying to have the single row resource table to do update, insert, delete.
However, there sometimes there is null pointer exception and form does not reload when I click button to trigger the work. Sometimes, the form load with buttons not show even though I set them to show();
I don't know the reason.
Thanks,
Xiaoli
Exception when reload form.
Moderators: Jon, Steve, Ian, Dave
-
xren
- Ebase User
- Posts: 272
- Joined: Fri Dec 14, 2012 2:55 pm
- Location: Ottawa
-
Steve
- Moderator

- Posts: 423
- Joined: Fri Sep 07, 2007 3:44 pm
- Location: Sandy, UK
- Contact:
-
xren
- Ebase User
- Posts: 272
- Joined: Fri Dec 14, 2012 2:55 pm
- Location: Ottawa
Here is the script and exception log. The last line of log in the script printed ok.
importPackage(com.ebasetech.xi.api);
importPackage(com.ebasetech.xi.services);
controls.PANEL_MESSAGE.hide();
controls.PANEL_LETTER_TEMP.show();
resources.REHAB_LETTER_SEQ.fetch();
fields.LETTER_TEMP_ID.value = fields.LETTER_SEQ.value;
controls.BUTTON_ADD.hide();
controls.BUTTON_ADD_CANCEL.show();
controls.BUTTON_DELETE.hide();
log("test after new script");
-------
Mon Mar 04 10:42:30: INFO Executing Javascript script REHAB_LETTER_NEW
Mon Mar 04 10:42:30: INFO test after new script
Mon Mar 04 10:42:30: Unexpected error occurred - see server log
Mon Mar 04 10:42:30: ERROR Unexpected error occurred
java.lang.NullPointerException
at com.ebasetech.ufs.runtime.layouts.flow.FlowLayoutWriter.insertChild(FlowLayoutWriter.java:233)
at com.ebasetech.ufs.runtime.layouts.flow.FlowLayoutWriter.writeSpecificControls(FlowLayoutWriter.java:194)
at com.ebasetech.ufs.runtime.controlWriters.ContainerControlWriter.writeSpecificControls(ContainerControlWriter.java:107)
at com.ebasetech.ufs.runtime.RuntimeControl.outbound(RuntimeControl.java:767)
at com.ebasetech.ufs.runtime.layouts.horizontalBox.HorizontalBoxLayoutWriter.writeSpecificControls(HorizontalBoxLayoutWriter.java:394)
at com.ebasetech.ufs.runtime.controlWriters.ContainerControlWriter.writeSpecificControls(ContainerControlWriter.java:107)
at com.ebasetech.ufs.runtime.RuntimeControl.outbound(RuntimeControl.java:767)
at com.ebasetech.ufs.runtime.layouts.nolayout.NullLayoutWriter.writeSpecificControls(NullLayoutWriter.java:118)
at com.ebasetech.ufs.runtime.controlWriters.ContainerControlWriter.writeSpecificControls(ContainerControlWriter.java:107)
at com.ebasetech.ufs.runtime.RuntimeControl.outbound(RuntimeControl.java:767)
at com.ebasetech.ufs.runtime.layouts.verticalBox.VerticalBoxLayoutWriter.writeSpecificControls(VerticalBoxLayoutWriter.java:396)
at com.ebasetech.ufs.runtime.controlWriters.ContainerControlWriter.writeSpecificControls(ContainerControlWriter.java:107)
at com.ebasetech.ufs.runtime.RuntimeControl.outbound(RuntimeControl.java:767)
at com.ebasetech.ufs.runtime.layouts.nolayout.NullLayoutWriter.writeSpecificControls(NullLayoutWriter.java:118)
at com.ebasetech.ufs.runtime.controlWriters.ContainerControlWriter.writeSpecificControls(ContainerControlWriter.java:107)
at com.ebasetech.ufs.runtime.RuntimeControl.outbound(RuntimeControl.java:767)
at com.ebasetech.ufs.runtime.layouts.nolayout.NullLayoutWriter.writeSpecificControls(NullLayoutWriter.java:118)
at com.ebasetech.ufs.runtime.controlWriters.ContainerControlWriter.writeSpecificControls(ContainerControlWriter.java:107)
at com.ebasetech.ufs.runtime.RuntimeControl.outbound(RuntimeControl.java:767)
at com.ebasetech.ufs.runtime.Request.getAllUpdateControls(Request.java:856)
at com.ebasetech.ufs.runtime.Request.createAjaxUpdatedControlResponse(Request.java:841)
at com.ebasetech.ufs.runtime.Request._outbound(Request.java:514)
at com.ebasetech.ufs.runtime.Request.outbound(Request.java:477)
at formservlets.EbaseAjaxServlet.respond(EbaseAjaxServlet.java:212)
at formservlets.EbaseAjaxServlet.process(EbaseAjaxServlet.java:74)
at formservlets.EbaseAjaxServlet.doPost(EbaseAjaxServlet.java:41)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at formservlets.EbaseFilter.processRequest(EbaseFilter.java:190)
at formservlets.EbaseFilter.performFilter(EbaseFilter.java:142)
at formservlets.EbaseFilter.doFilter(EbaseFilter.java:94)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1812)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
importPackage(com.ebasetech.xi.api);
importPackage(com.ebasetech.xi.services);
controls.PANEL_MESSAGE.hide();
controls.PANEL_LETTER_TEMP.show();
resources.REHAB_LETTER_SEQ.fetch();
fields.LETTER_TEMP_ID.value = fields.LETTER_SEQ.value;
controls.BUTTON_ADD.hide();
controls.BUTTON_ADD_CANCEL.show();
controls.BUTTON_DELETE.hide();
log("test after new script");
-------
Mon Mar 04 10:42:30: INFO Executing Javascript script REHAB_LETTER_NEW
Mon Mar 04 10:42:30: INFO test after new script
Mon Mar 04 10:42:30: Unexpected error occurred - see server log
Mon Mar 04 10:42:30: ERROR Unexpected error occurred
java.lang.NullPointerException
at com.ebasetech.ufs.runtime.layouts.flow.FlowLayoutWriter.insertChild(FlowLayoutWriter.java:233)
at com.ebasetech.ufs.runtime.layouts.flow.FlowLayoutWriter.writeSpecificControls(FlowLayoutWriter.java:194)
at com.ebasetech.ufs.runtime.controlWriters.ContainerControlWriter.writeSpecificControls(ContainerControlWriter.java:107)
at com.ebasetech.ufs.runtime.RuntimeControl.outbound(RuntimeControl.java:767)
at com.ebasetech.ufs.runtime.layouts.horizontalBox.HorizontalBoxLayoutWriter.writeSpecificControls(HorizontalBoxLayoutWriter.java:394)
at com.ebasetech.ufs.runtime.controlWriters.ContainerControlWriter.writeSpecificControls(ContainerControlWriter.java:107)
at com.ebasetech.ufs.runtime.RuntimeControl.outbound(RuntimeControl.java:767)
at com.ebasetech.ufs.runtime.layouts.nolayout.NullLayoutWriter.writeSpecificControls(NullLayoutWriter.java:118)
at com.ebasetech.ufs.runtime.controlWriters.ContainerControlWriter.writeSpecificControls(ContainerControlWriter.java:107)
at com.ebasetech.ufs.runtime.RuntimeControl.outbound(RuntimeControl.java:767)
at com.ebasetech.ufs.runtime.layouts.verticalBox.VerticalBoxLayoutWriter.writeSpecificControls(VerticalBoxLayoutWriter.java:396)
at com.ebasetech.ufs.runtime.controlWriters.ContainerControlWriter.writeSpecificControls(ContainerControlWriter.java:107)
at com.ebasetech.ufs.runtime.RuntimeControl.outbound(RuntimeControl.java:767)
at com.ebasetech.ufs.runtime.layouts.nolayout.NullLayoutWriter.writeSpecificControls(NullLayoutWriter.java:118)
at com.ebasetech.ufs.runtime.controlWriters.ContainerControlWriter.writeSpecificControls(ContainerControlWriter.java:107)
at com.ebasetech.ufs.runtime.RuntimeControl.outbound(RuntimeControl.java:767)
at com.ebasetech.ufs.runtime.layouts.nolayout.NullLayoutWriter.writeSpecificControls(NullLayoutWriter.java:118)
at com.ebasetech.ufs.runtime.controlWriters.ContainerControlWriter.writeSpecificControls(ContainerControlWriter.java:107)
at com.ebasetech.ufs.runtime.RuntimeControl.outbound(RuntimeControl.java:767)
at com.ebasetech.ufs.runtime.Request.getAllUpdateControls(Request.java:856)
at com.ebasetech.ufs.runtime.Request.createAjaxUpdatedControlResponse(Request.java:841)
at com.ebasetech.ufs.runtime.Request._outbound(Request.java:514)
at com.ebasetech.ufs.runtime.Request.outbound(Request.java:477)
at formservlets.EbaseAjaxServlet.respond(EbaseAjaxServlet.java:212)
at formservlets.EbaseAjaxServlet.process(EbaseAjaxServlet.java:74)
at formservlets.EbaseAjaxServlet.doPost(EbaseAjaxServlet.java:41)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at formservlets.EbaseFilter.processRequest(EbaseFilter.java:190)
at formservlets.EbaseFilter.performFilter(EbaseFilter.java:142)
at formservlets.EbaseFilter.doFilter(EbaseFilter.java:94)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1812)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
0 x
-
Steve
- Moderator

- Posts: 423
- Joined: Fri Sep 07, 2007 3:44 pm
- Location: Sandy, UK
- Contact:
Hi,
Which version of Ebase are you running? We had a similar problem with vertical layouts which should be fixed in the last service pack.
I am not 100% sure what is causing your NullPointerException, but it maybe fixed now.
http://forum.ebasetech.com/forum/viewto ... =1034#1034
Steve
Which version of Ebase are you running? We had a similar problem with vertical layouts which should be fixed in the last service pack.
I am not 100% sure what is causing your NullPointerException, but it maybe fixed now.
http://forum.ebasetech.com/forum/viewto ... =1034#1034
Steve
0 x
-
xren
- Ebase User
- Posts: 272
- Joined: Fri Dec 14, 2012 2:55 pm
- Location: Ottawa
version 4.4.2.
It may related to buttons on the page and using multiple row and single row table from same DB table at the same time: multiple row for display, the single row table for insert, update, delete.
I had 4 button on the page: save, delete, new, cancel new. And after click each button, the script do the logic and control the button show or hide. It always go wrong either by nullpointer or buttons not show up as it should be.
Now I removed the 'new' button and use a field value to check weather it is a new or not new for insert or update, then it works fine.
I don't know the reason, which I still like to know. Do I need to send the exported form and script to someone?
Thanks,
Xiaoli
It may related to buttons on the page and using multiple row and single row table from same DB table at the same time: multiple row for display, the single row table for insert, update, delete.
I had 4 button on the page: save, delete, new, cancel new. And after click each button, the script do the logic and control the button show or hide. It always go wrong either by nullpointer or buttons not show up as it should be.
Now I removed the 'new' button and use a field value to check weather it is a new or not new for insert or update, then it works fine.
I don't know the reason, which I still like to know. Do I need to send the exported form and script to someone?
Thanks,
Xiaoli
0 x
-
Steve
- Moderator

- Posts: 423
- Joined: Fri Sep 07, 2007 3:44 pm
- Location: Sandy, UK
- Contact:
-
xren
- Ebase User
- Posts: 272
- Joined: Fri Dec 14, 2012 2:55 pm
- Location: Ottawa
-
Steve
- Moderator

- Posts: 423
- Joined: Fri Sep 07, 2007 3:44 pm
- Location: Sandy, UK
- Contact:
Who is online
Users browsing this forum: Bing [Bot] and 35 guests