Be sure your post includes:
1. Isomorphic SmartClient/SmartGWT Framework (v8.3p_2013-06-11/Enterprise Deployment 2013-06-11)
2. IE 9
3. client-side
4.
5.
6. The application is simply trying to read the response data as a RecordList and store it in a member variable:
Part of the call chain for "getDataAsRecordList()" includes an assert statement in IDManager.validateID(), trying to validate that the ID attribute of the response "data" element is a valid identifier. Unfortunately, the "data" attribute of the DSResponse doesn't have an "ID" attribute, and the assert statement doesn't check for null.
The error only shows up in Dev Mode, as "assert" statements are compiled out in production mode.
As an aside, I'm also having trouble showing the Dev Console. SC.showConsole() opens a new browser window, but the contents are an error message for "400-Bad Request". This may not be caused by the new build; this may be a result of me slogging through things to figure out the cause for the NullPointerException.
1. Isomorphic SmartClient/SmartGWT Framework (v8.3p_2013-06-11/Enterprise Deployment 2013-06-11)
2. IE 9
3. client-side
4.
5.
Code:
12:50:00.317 [ERROR] [compass] Uncaught exception escaped java.lang.NullPointerException: null at com.smartgwt.client.util.IDManager.validateID(IDManager.java:29) at com.smartgwt.client.util.IDManager.registerID(IDManager.java:78) at com.smartgwt.client.core.BaseClass.registerID(BaseClass.java:63) at com.smartgwt.client.core.BaseClass.internalSetID(BaseClass.java:72) at com.smartgwt.client.core.BaseClass.<init>(BaseClass.java:47) at com.smartgwt.client.data.RecordList.<init>(RecordList.java:68) at com.smartgwt.client.data.DSResponse.getDataAsRecordList(DSResponse.java:423) at com.x.MyPage$1.execute(MyPage.java:48) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103) at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172) at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:337) at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:218) at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136) at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561) at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:269) at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91) at com.google.gwt.core.client.impl.Impl.apply(Impl.java) at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:213) at sun.reflect.GeneratedMethodAccessor41.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103) at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172) at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:292) at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:546) at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363) at java.lang.Thread.run(Thread.java:662)
6. The application is simply trying to read the response data as a RecordList and store it in a member variable:
Code:
DataSource.get("statusDS").fetchData(null, new DSCallback() { @Override public void execute(DSResponse response, Object rawData, DSRequest request) { MyPage.statusList= response.getDataAsRecordList(); } });
Code:
private static void validateID(String id, boolean skipUniqueJSIdentifierCheck) { assert id.matches("[a-zA-Z_$][0-9a-zA-Z_$]*") : "Invalid ID : " + id + ". Valid ID's must meet the following pattern [a-zA-Z_$][0-9a-zA-Z_$]*"; ... }
As an aside, I'm also having trouble showing the Dev Console. SC.showConsole() opens a new browser window, but the contents are an error message for "400-Bad Request". This may not be caused by the new build; this may be a result of me slogging through things to figure out the cause for the NullPointerException.
Comment