I created a FilterBuilder and used setFieldDataSource to define the available fields.  If I set an initial criteria and then serialize the criteria with getCriteria and print it out after drawing the FilterBuilder, it works fine.  If I serialize the criteria and print it from the button callback, later, it throws an exception.
Here's the test code:
	"A" prints fine.  When I click the button, "B" does not print and I get an exception:
	I can save if there aren't any clauses in the filter (i.e. it is empty or there is one clause partially filled in).  I tried adding a DataSource with setDataSource as well, but I couldn't get any operators to appear (I tried setting operators for each field type).
I encounter this on Firefox 3.6.15 with SmartGWT 2.4 timestamped from January something, which is probably when I downloaded it. I also tried the nightly snapshot (through maven) but I got a stack trace when loading the module:
	I couldn't find any examples of fieldDataSource + serialization, so I'm not confident I got the configuration correct.  Is there anything obvious I'm doing wrong?  I'm pretty stumped at the moment.
Thanks!
					Here's the test code:
Code:
	
	final FilterBuilder testFilter = new FilterBuilder();
final DataSource fieldDataSource = new DataSource() {
	{
		setClientOnly(true);
		setFields(new DataSourceTextField("name", "Name"),
				new DataSourceTextField("title", "Title"),
				new DataSourceTextField("type", "Type"));
		DataClass sourceData[] = new DataClass[] {
			new DataClass()	
		};
		sourceData[0].setAttribute("name", "test1");
		sourceData[0].setAttribute("title", "<b>Test</b>");
		sourceData[0].setAttribute("type", FieldType.FLOAT);
		setTestData(sourceData);
	}
};
testFilter.setFieldDataSource(fieldDataSource);
testFilter.setCriteria(new AdvancedCriteria(OperatorId.AND, new AdvancedCriteria[] {  
		new AdvancedCriteria("test1", OperatorId.EQUALS, "1.3")  
}));
IButton testButton = new IButton("test");
testButton.addClickHandler(new ClickHandler() {
	public void onClick(ClickEvent event) {
		//JSONEncoder settings = new JSONEncoder();
        //settings.setDateFormat(JSONDateFormat.DATE_CONSTRUCTOR);
		//GWT.log("B: " + JSON.encode(testFilter.getCriteria().getJsObj(), settings));
		GWT.log("B: " + JSON.encode(testFilter.getCriteria().getJsObj()));
	}
});
VLayout everything = new VLayout();
everything.addMember(testFilter);
everything.addMember(testButton);
everything.draw();
GWT.log("A: " + JSON.encode(testFilter.getCriteria().getJsObj()));
Code:
	
	00:03:24.693 [ERROR] Uncaught exception escaped
com.google.gwt.event.shared.UmbrellaException: One or more exceptions caught, see full set in UmbrellaException#getCauses
at com.google.gwt.event.shared.SimpleEventBus.doFire(SimpleEventBus.java:214)
at com.google.gwt.event.shared.SimpleEventBus.fireEvent(SimpleEventBus.java:103)
at com.google.gwt.event.shared.HandlerManager.fireEvent(HandlerManager.java:101)
at com.smartgwt.client.widgets.BaseWidget.fireEvent(BaseWidget.java:66)
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:157)
at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:326)
at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:207)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:129)
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:214)
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:157)
at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:281)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:531)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:352)
at java.lang.Thread.run(Thread.java:680) Caused by: com.google.gwt.core.client.JavaScriptException: (TypeError): this.getDataSource() is undefined  fileName: http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_DataBinding.js  lineNumber: 2916  stack: isc_FilterClause_getCriterion()
@http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_DataBinding.js:2916 isc_FilterBuilder_getCriteria()
@http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_DataBinding.js:2977 ()
@http://127.0.0.1:8888:29 
@:0 ([object GWTJavaObject],1048775,[object GWTJavaObject])
@http://127.0.0.1:8888/smartgwttest2/hosted.html?smartgwttest2:56 ([object Object],(void 0))
@http://127.0.0.1:8888:171 ((function () {var param = {};var event = __gwt_makeJavaInvoke(1)(null, 1376375, param);__gwt_makeJavaInvoke(1)(selfJ, 1048775, event);var ret = __gwt_makeJavaInvoke(0)(event, 1245190);return !ret;}),[object Object],[object Object])
@http://127.0.0.1:8888:66 
@:0 (null,106,(function () {var param = {};var event = __gwt_makeJavaInvoke(1)(null, 1376375, param);__gwt_makeJavaInvoke(1)(selfJ, 1048775, event);var ret = __gwt_makeJavaInvoke(0)(event, 1245190);return !ret;}),[object Object],[object Object])
@http://127.0.0.1:8888/smartgwttest2/hosted.html?smartgwttest2:56 ([object Object],(void 0))
@http://127.0.0.1:8888:10 ([object Object],(void 0))
@http://127.0.0.1:8888:13 isc_StatefulCanvas_handleActivate([object Object],(void 0))
@http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_Foundation.js:296 isc_StatefulCanvas_handleClick([object Object],(void 0))
@http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_Foundation.js:298 isc_c_EventHandler_bubbleEvent([object Object],"click")
@http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_Core.js:1497 isc_c_EventHandler_handleClick([object Object])
@http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_Core.js:1345 isc_c_EventHandler__handleMouseUp([object MouseEvent],(void 0))
@http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_Core.js:1332 isc_c_EventHandler_handleMouseUp([object MouseEvent])
@http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_Core.js:1323 isc_c_EventHandler_dispatch(isc_c_EventHandler_handleMouseUp,[object MouseEvent])
@http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_Core.js:1560 anonymous([object MouseEvent])
@http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_Core.js:38 
at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:237)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:129)
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.smartgwt.client.widgets.form.FilterBuilder.getCriteria(FilterBuilder.java)
at com.ir.smartgwttest2.client.GridBigFilterSample$2.onClick(GridBigFilterSample.java:48)
at com.smartgwt.client.widgets.events.ClickEvent.dispatch(ClickEvent.java:98)
at com.smartgwt.client.widgets.events.ClickEvent.dispatch(ClickEvent.java:1)
at com.google.gwt.event.shared.SimpleEventBus.doFire(SimpleEventBus.java:204)
at com.google.gwt.event.shared.SimpleEventBus.fireEvent(SimpleEventBus.java:103)
at com.google.gwt.event.shared.HandlerManager.fireEvent(HandlerManager.java:101)
at com.smartgwt.client.widgets.BaseWidget.fireEvent(BaseWidget.java:66)
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:157)
at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:326)
at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:207)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:129)
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:214)
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:157)
at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:281)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:531)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:352)
at java.lang.Thread.run(Thread.java:680)
I encounter this on Firefox 3.6.15 with SmartGWT 2.4 timestamped from January something, which is probably when I downloaded it. I also tried the nightly snapshot (through maven) but I got a stack trace when loading the module:
Code:
	
	00:00:28.318 [ERROR] Unable to load module entry point class com.ir.smartgwttest2.client.GridBigFilterSample (see associated exception for details)
com.google.gwt.core.client.JavaScriptException: (TypeError): isc.Canvas.$816 is undefined  fileName: http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_Forms.js  lineNumber: 740  stack: isc_c_DynamicForm__getTopRowCellStart()
@http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_Forms.js:740 isc_DynamicForm_getInnerHTML((void 0))
@http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_Forms.js:461 isc_Canvas__getInnerHTML()
@http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_Core.js:1932 isc_Canvas__updateParentHTML()
@http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_Core.js:2055 isc_Canvas_draw((void 0),(void 0),(void 0),(void 0),(void 0),(void 0),(void 0),(void 0))
@http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_Core.js:1957 isc_c_Class_invokeSuper([object Object],"draw",(void 0),(void 0),(void 0),(void 0))
@http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_Core.js:279 isc_DynamicForm_draw()
@http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_Forms.js:410 isc_Layout_layoutChildren("initial draw")
@http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_Foundation.js:436 isc_Layout_drawChildren()
@http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_Foundation.js:338 isc_Canvas_draw()
@http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_Core.js:1957 isc_c_Class_invokeSuper(null,"draw")
@http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_Core.js:279 isc_c_Class_Super("draw",[object Object])
@http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_Core.js:271 isc_FilterBuilder_draw()
@http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_DataBinding.js:2972 isc_Layout_layoutChildren("initial draw")
@http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_Foundation.js:436 isc_Layout_drawChildren()
@http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_Foundation.js:338 isc_Canvas_draw()
@http://127.0.0.1:8888/smartgwttest2/sc/modules/ISC_Core.js:1957 ()
@http://127.0.0.1:8888:32 connect("http://127.0.0.1:8888/smartgwttest2.html?gwt.codesvr=127.0.0.1:9997","0it8vTZSmj&q2Qfd","127.0.0.1:9997","smartgwttest2","2.1")
@:0 ((void 0),"smartgwttest2","http://127.0.0.1:8888/smartgwttest2/",0)
@http://127.0.0.1:8888/smartgwttest2/hosted.html?smartgwttest2:281 B()
@http://127.0.0.1:8888/smartgwttest2/smartgwttest2.nocache.js:2 (21)
@http://127.0.0.1:8888/smartgwttest2/smartgwttest2.nocache.js:15  
at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:237) 
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:129) 
at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561) 
at com.google.gwt.dev.shell.ModuleSpace.invokeNativeVoid(ModuleSpace.java:289) 
at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeVoid(JavaScriptHost.java:107) 
at com.smartgwt.client.widgets.BaseWidget.draw(BaseWidget.java) 
at com.ir.smartgwttest2.client.GridBigFilterSample.onModuleLoad(GridBigFilterSample.java:54) 
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.ModuleSpace.onLoad(ModuleSpace.java:396) 
at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:183) 
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:510) 
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:352) 
at java.lang.Thread.run(Thread.java:680)
Thanks!
Comment