Exception when adding a new iterm and saving

I am trying the Java dhtmlxConnector, more specifically the save example where a tree can be updated and saved on the server side. The client html shows the tree and has buttons for Delete, Add, and Update operations. My problem is that after Add and Update, the server code shows a NullPointerException. Any ideas?

The client code:

var tree = new dhtmlXTreeObject("treeBox","100%","100%",0);
window.dhx_globalImgPath="dhtmlxTree/codebase/imgs";
tree.enableItemEditor(true);
tree.enableDragAndDrop(true) 
tree.loadXML("treeconnector.do");
var dp = new dataProcessor("treeconnector.do");
dp.setUpdateMode("off");
dp.init(tree);


The server code (a servlet):

public class TreeConnectorServlet extends ConnectorServlet {
@Override
protected void configure() {
//obtain DB connection
Connection conn=null;
try {
conn = ConnectionManager.getConnection();
// testConection(conn);
//Initialize connector
TreeConnector c = new TreeConnector(conn, DBType.MySQL);
//configure used table and fields
//Server side code uses custom code to mark leafs|branches - data generated a lot faster ( about 5x ) than for default sample.
// c.event.attach(new TreeChildDetectionBehavior());
// c.dynamic_loading(true);
// c.render_sql(“SELECT taskId,taskName from tasks WHERE complete>49”,“taskId”,“taskName”,“”,“parentId”);
// c.event.attach(new Tree_04_ColoringBehavior());
c.render_table(“TREE_TEST”, “id”, “prop01,prop02,prop03”, “”, “parent_id”);
} catch (Throwable e) {
e.printStackTrace();
}
}

private void testConection(Connection conn) throws SQLException {
    String testTable = GridTest.TABLE;
    String sql = "select * from " + testTable;
    Statement statement = conn.createStatement();
    ResultSet resultSet = statement.executeQuery(sql);
    while (resultSet.next()) {
        System.out.println(resultSet.getObject(1));
    }
}

public void doGet(HttpServletRequest httpServletRequest,
                  HttpServletResponse httpServletResponse) throws ServletException, IOException {
    super.doGet(httpServletRequest, httpServletResponse);    //To change body of overridden methods use File | Settings | File Templates.
}

public void doPost(HttpServletRequest httpServletRequest,
                   HttpServletResponse httpServletResponse) throws ServletException, IOException {
    super.doPost(httpServletRequest, httpServletResponse);    //To change body of overridden methods use File | Settings | File Templates.
}

}

The Exception:

java.lang.NullPointerException
at com.dhtmlx.connector.DataProcessor.status_to_mode(DataProcessor.java:175)
at com.dhtmlx.connector.DataProcessor.inner_process(DataProcessor.java:213)
at com.dhtmlx.connector.DataProcessor.process(DataProcessor.java:124)
at com.dhtmlx.connector.BaseConnector.render(BaseConnector.java:292)
at com.dhtmlx.connector.BaseConnector.render_table(BaseConnector.java:210)
at TreeConnectorServlet.configure(TreeConnectorServlet.java:39)
at com.dhtmlx.connector.ConnectorServlet.doGet(ConnectorServlet.java:28)
at TreeConnectorServlet.doGet(TreeConnectorServlet.java:57)
at com.dhtmlx.connector.ConnectorServlet.doPost(ConnectorServlet.java:35)
at TreeConnectorServlet.doPost(TreeConnectorServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:619)
java.lang.NullPointerException
at com.dhtmlx.connector.DataProcessor.status_to_mode(DataProcessor.java:175)
at com.dhtmlx.connector.DataProcessor.inner_process(DataProcessor.java:213)
at com.dhtmlx.connector.DataProcessor.process(DataProcessor.java:124)
at com.dhtmlx.connector.BaseConnector.render(BaseConnector.java:292)
at com.dhtmlx.connector.BaseConnector.render_table(BaseConnector.java:210)
at TreeConnectorServlet.configure(TreeConnectorServlet.java:39)
at com.dhtmlx.connector.ConnectorServlet.doGet(ConnectorServlet.java:28)
at TreeConnectorServlet.doGet(TreeConnectorServlet.java:57)
at com.dhtmlx.connector.ConnectorServlet.doPost(ConnectorServlet.java:35)
at TreeConnectorServlet.doPost(TreeConnectorServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:619)

Hi,
exception occurs because number of fields for rendering is more than one:

c.render_table("TREE_TEST", "id", "prop01,prop02,prop03", "", "parent_id");

But tree sends from client side only one field (prop01 for your case), but can’t find prop02 and prop03, so java throws exception.
Try to use the follow:

c.render_table("TREE_TEST", "id", "prop01", "", "parent_id");

But I guess in the future I would like to send the other properties from the client. For examle, I may want to send the node type. Is there a way to send more than one parameter from the client?

Please, update dhtmlxConnector to 1.5 from here:
dhtmlx.com/x/download/regula … r_java.zip
It includes related fix.