Migration Question from 6.8.0 to 7 alpha3

Hi, I’ve been workin on a gwt widget in Vaadin 6.8.0 that basically is a HTML5 Canvas with WebGL context and works fine.
I need to pass large objects from the server to the client and also the other way around(previously by UIDL with String arrays), so I think that new comunication in Vaadin 7 (by RPC in my case) will be a nicer/cleaner way to do the job and save time.
Following your migration guide i came across the following error in runtime:

Widgetset does not contain implementation for com.example.myproject.widgetset.MyprojectWidgetset . 
Check its component connector's @Connect mapping, widgetsets GWT module description file and re-compile your widgetset. 
In case you have downloaded a vaadin add-on package, you might want to refer to add-on instructions.

I would like to know where is the problem the client side has the @Connect annotation and extends AbstractComponentConnector

Thanks in advance,
Nelson Ferreira

Is the name of the component “MyprojectWidgetset” (referenced by )? Looks a bit strange, maybe the parameter of the @Connect annotation is incorrect.

Turning on the verbose option for widgetset compilation (if you do it with the Eclipse plug-in) and looking at its output might provide additional clues to what is happening here.

No, I posted that as an example the name it’s “WebGL3DEngine”. The compilation doesn’t give any errors or warnings.

Another question, does @Connector class has to be the previous “VWebGL3DEngine” (client side) or it can just be a new class created just for the connection propose?

Thanks for your time,
Nelson Ferreira

I ran in to similar problem.
I cleared it by including the inhertis tag for the compoenent in the application “widgetset.get.xml” file.

<inherits name="path to your gwt component xml file (eg: component.gwt.xml)" />

hope it helps.

-Deepak

You should use a separate connector class and widget class - then you can use the appropriate superclasses (e.g. AbstractComponentConnector and some GWT widget class).

Check the tutorials on
this page
(under Custom Widgets) for further examples and explanations if you haven’t already.

I tryed that but i still have the same error.

Thanks anyway.

Well, after trying all options i’ve come to the conclusion that must be the gwt-g3d library i use in the client side to enable WebGL support that in the previous version I only needed add : <inherits name='gwt.g3d.g3d'/> to the gwt.xml and now in this version most likely doesn’t work.
As i’ve the source code to the gwt-g3d library i’ll try to change it so it works on this version.
If don’t get rid of the problem i go back to 6.8.0.

Thanks everyone for the tips.

In that case, this is probably because GWT was upgraded to 2.5 (now bundled with Vaadin 7 alpha 3) from 2.4 (in earlier Vaadin 7 alphas) / 2.3 (in Vaadin 6.8).

After some days around this i solved the problem by reorganizing the code and simply separate the UI from the model part (repeating the model classes in the client side)

Thanks for the help.

The GWT compiler cannot access classes that are outside the client side packages (identified in the GWT module, by default a “client” package under the location of the widgetset). Any shared classes should be placed in client side packages and used by the server from there if you want to avoid duplication.