Touchkit/Grid Not Rendering

Hi I just switched from Vaadin 7.3.10 to 7.4.0.rc1. The only change I made to my configuration is to set the new Vaadin version in my Maven pom and recompile widgetset. No errors during Widgetset compilation. For some reason Grid not displaying. Tried to reduce to simplest possible usecase with the code straight out of the book of vaadin where a grid is created, 2 columns and 3 rows added, then setting the grid as the content of the UI class. No errors/exception just blank browser. Grid is only widget that does not display, is there any additional config changes needed between 7.3 and 7.4? Thanks

Ok using Chrome debugger I see the stack trace below. If I comment out all references to the grid the error doesn’t occur. As mentioned in the title, this is a touchkit app so I am compiling the widgetset using a minimalist gwt.xml that inherits “com.vaadin.DefaultWidgetSet” and “com.vaadin.addon.touchkit.gwt.TouchKitWidgetSet” and a WidgetLoaderFactory generator for “com.vaadin.client.metadata.ConnectorBundleLoader” that extends TouchKitBundleLoaderFactory (based on Vornitologist demo) and added the GridConnector.



SEVERE: Exception caught: undefinedcom.google.gwt.event.shared.UmbrellaException: Exception caught: undefined
at Unknown.fillInStackTrace(com.mytest.MyWidgetset-0.js)
at Unknown.Throwable_1(com.mytest.MyWidgetset-0.js)
at Unknown.Exception_1(com.mytest.MyWidgetset-0.js)
at Unknown.RuntimeException_1(com.mytest.MyWidgetset-0.js)
at Unknown.UmbrellaException(com.mytest.MyWidgetset-0.js)
at Unknown.UmbrellaException_0(com.mytest.MyWidgetset-0.js)
at Unknown.fireEvent_0(com.mytest.MyWidgetset-0.js)
at Unknown.fireEvent_7(com.mytest.MyWidgetset-0.js)
at Unknown.sendStateChangeEvents(com.mytest.MyWidgetset-0.js)
at Unknown.execute_33(com.mytest.MyWidgetset-0.js)
at Unknown.runWhenDependenciesLoaded(com.mytest.MyWidgetset-0.js)
at Unknown.handleUIDLMessage(com.mytest.MyWidgetset-0.js)
at Unknown.handleReceivedJSONMessage(com.mytest.MyWidgetset-0.js)
at Unknown.handleWhenCSSLoaded(com.mytest.MyWidgetset-0.js)
at Unknown.handleJSONText(com.mytest.MyWidgetset-0.js)
at Unknown.start_1(com.mytest.MyWidgetset-0.js)
at Unknown.execute_32(com.mytest.MyWidgetset-0.js)
at Unknown.$executeScheduled(com.mytest.MyWidgetset-0.js)
at Unknown.runScheduledTasks(com.mytest.MyWidgetset-0.js)
at Unknown.flushPostEventPumpCommands(com.mytest.MyWidgetset-0.js)
at Unknown.execute_4(com.mytest.MyWidgetset-0.js)
at Unknown.execute_3(com.mytest.MyWidgetset-0.js)
at Unknown.apply_0(com.mytest.MyWidgetset-0.js)
at Unknown.entry0(com.mytest.MyWidgetset-0.js)
at Unknown.anonymous(com.mytest.MyWidgetset-0.js)
at Unknown.callback(com.mytest.MyWidgetset-0.js)
Caused by: java.lang.ClassCastException
at Unknown.fillInStackTrace(com.mytest.MyWidgetset-0.js)
at Unknown.Throwable(com.mytest.MyWidgetset-0.js)
at Unknown.Exception(com.mytest.MyWidgetset-0.js)
at Unknown.RuntimeException(com.mytest.MyWidgetset-0.js)
at Unknown.ClassCastException(com.mytest.MyWidgetset-0.js)
at Unknown.dynamicCast(com.mytest.MyWidgetset-0.js)
at Unknown.addColumnFromStateChangeEvent(com.mytest.MyWidgetset-0.js)
at Unknown.onStateChanged_11(com.mytest.MyWidgetset-0.js)
at Unknown.dispatch_76(com.mytest.MyWidgetset-0.js)
at Unknown.dispatch_75(com.mytest.MyWidgetset-0.js)
at Unknown.dispatch(com.mytest.MyWidgetset-0.js)
at Unknown.dispatchEvent_1(com.mytest.MyWidgetset-0.js)
at Unknown.doFire(com.mytest.MyWidgetset-0.js)
at Unknown.fireEvent_1(com.mytest.MyWidgetset-0.js)
at Unknown.fireEvent_0(com.mytest.MyWidgetset-0.js)
at Unknown.fireEvent_7(com.mytest.MyWidgetset-0.js)
at Unknown.sendStateChangeEvents(com.mytest.MyWidgetset-0.js)
at Unknown.execute_33(com.mytest.MyWidgetset-0.js)
at Unknown.runWhenDependenciesLoaded(com.mytest.MyWidgetset-0.js)
at Unknown.handleUIDLMessage(com.mytest.MyWidgetset-0.js)
at Unknown.handleReceivedJSONMessage(com.mytest.MyWidgetset-0.js)
at Unknown.handleWhenCSSLoaded(com.mytest.MyWidgetset-0.js)
at Unknown.handleJSONText(com.mytest.MyWidgetset-0.js)
at Unknown.start_1(com.mytest.MyWidgetset-0.js)
at Unknown.execute_32(com.mytest.MyWidgetset-0.js)
at Unknown.$executeScheduled(com.mytest.MyWidgetset-0.js)
at Unknown.runScheduledTasks(com.mytest.MyWidgetset-0.js)
at Unknown.flushPostEventPumpCommands(com.mytest.MyWidgetset-0.js)
at Unknown.execute_4(com.mytest.MyWidgetset-0.js)
at Unknown.execute_3(com.mytest.MyWidgetset-0.js)
at Unknown.apply_0(com.mytest.MyWidgetset-0.js)
at Unknown.entry0(com.mytest.MyWidgetset-0.js)
at Unknown.anonymous(com.mytest.MyWidgetset-0.js)
at Unknown.callback(com.mytest.MyWidgetset-0.js)
com.mytest.MyWidgetset-0.js:21498 error_0com.mytest.MyWidgetset-0.js:21521 publishcom.mytest.MyWidgetset-0.js:22246 log_9com.mytest.MyWidgetset-0.js:22231 log_8com.mytest.MyWidgetset-0.js:109960 log_12com.mytest.MyWidgetset-0.js:53996 error_2com.mytest.MyWidgetset-0.js:48602 sendStateChangeEventscom.mytest.MyWidgetset-0.js:48378 execute_33com.mytest.MyWidgetset-0.js:46644 runWhenDependenciesLoadedcom.mytest.MyWidgetset-0.js:47687 handleUIDLMessagecom.mytest.MyWidgetset-0.js:47620 handleReceivedJSONMessagecom.mytest.MyWidgetset-0.js:47702 handleWhenCSSLoadedcom.mytest.MyWidgetset-0.js:47598 handleJSONTextcom.mytest.MyWidgetset-0.js:48048 start_1com.mytest.MyWidgetset-0.js:46953 execute_32com.mytest.MyWidgetset-0.js:6301 $executeScheduledcom.mytest.MyWidgetset-0.js:6065 runScheduledTaskscom.mytest.MyWidgetset-0.js:6154 flushPostEventPumpCommandscom.mytest.MyWidgetset-0.js:6259 execute_4com.mytest.MyWidgetset-0.js:6043 execute_3com.mytest.MyWidgetset-0.js:5639 apply_0com.mytest.MyWidgetset-0.js:5688 entry0com.mytest.MyWidgetset-0.js:5669 (anonymous function)com.mytest.MyWidgetset-0.js:6083 callback

Despite getting no responses, want to share my findings in case someone having the same problem finds this in a search. In my TouchKit app I am using the optimized widget set technique outlined in the Book of Vaadin chapter 20.10. “Building an Optimized Widget Set”. I added the GridConnector to the optimized subset to compile. But the compiled javascript had a reference to an unknown connector which is a child of the Grid which it couldn’t resolve at runtime causing a runtime error and the grid not to render. So I removed the optimized widgetset logic and just compiled with all the connectors and now the grid renders but it has no styling. Going to open a new topic in the components forum for this.

Maybe too late comment, but I’ve found that if you like to use optimized widget you must add these connectors.

    usedConnectors.add(GridConnector.class.getName());
    usedConnectors.add(RpcDataSourceConnector.class.getName());
    usedConnectors.add(TextRendererConnector.class.getName());
    usedConnectors.add(ButtonRendererConnector.class.getName());
    usedConnectors.add(NumberRendererConnector.class.getName());
    usedConnectors.add(UnsafeHtmlRendererConnector.class.getName());
    usedConnectors.add(ClickableRendererConnector.class.getName());
    usedConnectors.add(DetailComponentManagerConnector.class.getName());
    usedConnectors.add(MultiSelectionModelConnector.class.getName());
    usedConnectors.add(NoSelectionModelConnector.class.getName());
    usedConnectors.add(SingleSelectionModelConnector.class.getName());