GWT integration: Widgetset does not contain implementation @ClientWidget ma

Hi,

While finding Vaadin a great tool, I hit a roadblock.

Environment:
Windows, JDK6, Eclipse, Vaadin 6.2.6 jar installed via Eclipse, Tomcat 6.

The problem:
I can’t integrate existing GWT components.

What I tried to so far:

  1. Integrating GWT via JAR file. Dropping the demo colorpicker-0.9.5.jar into /WebContent / WEB-INF / lib works fine (the only workable solution so far)

  2. Unzipping the same demo and importing it as pure Java scources gives me
    “Widgetset does not contain implementation for …ColorPicker. Check its @ClientWidget mapping, widgetsets GWT module descrioption file and re-compile your widgetset. Unrendered UIDL:”.

It is interesting that when I add to master gwt.xml followed by Eclipse “Compile Widgets” (Is this the right way to compile btw?) the master .gwt.xml gets updated and the ColorPickerWidgetSet is being deleted. As a sequence the console displays that only one widgetset is being found com.vaadin.terminal.gwt.DefaultWidgetSet, while in case 1. above there were two.

  1. I followed the example from “10.2 Doing to simple way in Eclipse” and Eclipse generated:
    • two classes only - VMyComponent and MyComponent
    • MyComponent was annotated as expected @ClientWidget(VMyComponent.class)
    • no component .gwt.xml was generated ? Is this requried? Or just the annotated @ClientWidget
    • Is the package structure matter?

Yet, whatever I try I hit the “Widgetset does not contain implementation for … Check its @ClientWidget mapping” ?!

I am deploying the application out of Eclipse and every time I clean tomcat tmp and work directory as well as browser cache.

It’s unclear for me. What I am doing wrong?

Many Thanks

Have you been able to find an answer … I am getting the same issue when trying to integrate some ofcgwt charting capabilities … Any pointers will help.

Thanks

In the first case (dropping a jar) Eclipse plugin takes over and compiles the widgetset automatically for you.

In the latter two cases you the automatic recompilation does not for some reason seem to work. Did you push the “Compile Vaadin widgets” button in the toolbar? It should show something like this on the console:

Also - it should generate YourOwnWidgetset.gwt.xml to com.your.package.widgetset package. The contents of the xml is as simple as:

I am getting the same error in Intellij. I am using maven2 to get the addons. Any pointers?

Hi, Peter,

I got the same error. Did you find the answer for your problem? Many thanks.

-Mike

Something that bit me pretty hard a few days ago is the fact that the widgetset compiler silently ignores classes that it can’t load. Essentially the compiler looks at all the classes in your sources directory and introspects them to look for the ClientWidget annotation. If it can’t load the class because the class depends upon some other class in a JAR in (say) WEB-INF/lib it drops that class and doesn’t consider its client side implementation for compilation. I’m not sure if you’re having the same problem, but it can be super frustrating if you are.

Even turning up the verbosity of the compiler doesn’t help. The approach I took to diagnose this was to debug Vaadin’s GWT compiler and see what it’s doing.

There’s more info in my ticket: http://dev.vaadin.com/ticket/7233#comment:1

HTH

Hello,

Change your web.xml with the one present in sampler.war.

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	<display-name>Vaadin Sampler</display-name>
	<description>Vaadin Sampler</description>

	<context-param>
		<description>Vaadin production mode</description>
		<param-name>productionMode</param-name>
		<param-value>false</param-value>
	</context-param>

	<context-param>
		<param-name>resourceCacheTime</param-name>
		<param-value>3600</param-value>
	</context-param>

	<servlet>
		<servlet-name>Sampler</servlet-name>
		<servlet-class>com.vaadin.terminal.gwt.server.ApplicationServlet</servlet-class>
		<init-param>
			<param-name>application</param-name>
			<param-value>com.vaadin.demo.sampler.SamplerApplication</param-value>
		</init-param>
		<init-param>
			<param-name>widgetset</param-name>
			<param-value>com.vaadin.demo.sampler.gwt.SamplerWidgetSet</param-value>
		</init-param>
	</servlet>

	<servlet-mapping>
		<servlet-name>Sampler</servlet-name>
		<url-pattern>/*</url-pattern>
	</servlet-mapping>

</web-app>

I am trying my hands on vaadin and would like to use gantt chat add-on in my vaading 7 project.
https://vaadin.com/directory#addon/vaadin-gantt-diagram:vaadin

since this is not compatible with vaadin 7, I decided to fix some code from the add-on to make it compatible with vaddin 7.

I checked out source code of vaadin-6.8 from repository and vaadin-gantt (add-on) from available downloads.

I changed the code a bit in vaadin-6.8 and built. I am using this customized vaadin-6.8 jar inside vaadin-gantt add-on. Now I am able to build vaadin-gantt add-on by using customized vaadin-6.8 jar. offcourse after changing an add-on a bit. I want to use this add-on inside vaadin-7 project.

compiling went through, but i am getting below message on console while displaying gantt chart


“Widgetset does not contain implementation for ru.bazon.vaadin.ganttdiagram.canvas.GanttDiagramCanvas. 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 compiled the widgetset using eclipse plugin and could see the below entry in my projects *.gwt.xml file


I would like to make use of gannt chart add-on for vaadin-7. I didn’t find any other add-on for vaadin-7 apart from this which is not compatible with 7 version. hence I decided to make to work with 7.

any pointers? I have all the entries as suggested by Joonas and Anantha

Regards,
Azhar

Hi Azhar,
Did you find the solution for this problem? I am getting the same error.
Thanks

Thanks that solved my issue.