Widgetset does not contain implementation...

Hello, I’ve been trying to fix a problem in this last week, unfortunately to no avail.

I’m trying to use this addon: https://vaadin.com/directory#addon/locationtextfield, but the actual field is not rendered, and instead I get this message:

“Widgetset does not contain implementation for org.vaadin.addons.locationtextfield.LocationTextField. Check its @ClientWidget 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. Unrendered UIDL:
-Unrendered UIDL
-org.vaadin.addons.locationtextfield.LocationTextField(NO CLIENT IMPLEMENTATION FOUND) id=PID2 width=100.0% immediate=true caption=Address: pagelength=10 filteringmode=0 totalitems=0 textChanged=true iem=LAZY iet=1000 eke=true
-variables
selected=
filter=
page=0
ltfFilter=
-options”

I’m using a ton of other addons, and they are all working correctly. I’ve tried looking at similar threads but I didn’t seem to find a solution that worked for me.

I’m using Eclipse, if this can be useful.

Thanks in advance for any help.

I have same problem.
any solution?

thanks

In case you are not familiar with Vaadin widgetsets, first read
this page
and/or
the corresponding chapter in the book
.

Make sure you have compiled your widgetset, refer to it in your web.xml and all caches are refreshed. Compile the widgetset with verbose mode enabled to see more information about what is included in it.

Thanks for prompt reply.

GWT compiler compiles fine without any warnings or errors.


Compiling widgetset com.example.finamina.widgetset.FinaminaWidgetset
Updating GWT module description file...
Jun 27, 2012 10:33:09 AM com.vaadin.terminal.gwt.widgetsetutils.ClassPathExplorer getAvailableWidgetSets
INFO: Widgetsets found from classpath:
	com.github.wolfie.refresher.RefresherApplicationWidgetset in jar:file:D:/Me/MyData/Eclipse/WorkspaceNetworking/Finamina/WebContent/WEB-INF/lib/refresher-1.1.1.jar!/
	com.vaadin.terminal.gwt.DefaultWidgetSet in jar:file:D:/Me/MyData/Eclipse/WorkspaceNetworking/Finamina/WebContent/WEB-INF/lib/vaadin-6.8.0.jar!/
	org.vaadin.addons.locationtextfield.LocationTextFieldWidgetset in jar:file:D:/Me/MyData/Eclipse/WorkspaceNetworking/Finamina/WebContent/WEB-INF/lib/locationtextfield-1.2.3.jar!/
	org.vaadin.peter.imagescaler.ImageScalerWidgetset in jar:file:D:/Me/MyData/Eclipse/WorkspaceNetworking/Finamina/WebContent/WEB-INF/lib/ImageScaler-1.0.jar!/
	com.example.finamina.widgetset.FinaminaWidgetset in file://D/Me/MyData/Eclipse/WorkspaceNetworking/Finamina/src

Jun 27, 2012 10:33:09 AM com.vaadin.terminal.gwt.widgetsetutils.ClassPathExplorer getAvailableWidgetSets
INFO: Search took 8ms
Done.
Starting GWT compiler
Jun 27, 2012 10:33:26 AM com.vaadin.terminal.gwt.widgetsetutils.ClassPathExplorer getPaintablesHavingWidgetAnnotation
INFO: Searching for paintables..
Jun 27, 2012 10:33:28 AM com.vaadin.terminal.gwt.widgetsetutils.ClassPathExplorer getPaintablesHavingWidgetAnnotation
INFO: Search took 1280ms
Widgetset compilation completed

web.xml is :


<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>Finamina</display-name>
  <context-param>
  	<description>
  	Vaadin production mode</description>
  	<param-name>productionMode</param-name>
  	<param-value>false</param-value>
  </context-param>
  <servlet>
  	<servlet-name>Finamina Application</servlet-name>
  	<servlet-class>com.vaadin.terminal.gwt.server.ApplicationServlet</servlet-class>
  	<init-param>
  		<description>
  		Vaadin application class to start</description>
  		<param-name>application</param-name>
  		<param-value>com.example.finamina.FinaminaApplication</param-value>
  	</init-param>
  	<init-param>
  		<description>
  		Application widgetset</description>
  		<param-name>widgetset</param-name>
  		<param-value>com.example.finamina.widgetset.FinaminaWidgetset</param-value>
  	</init-param>
  </servlet>
  <servlet-mapping>
  	<servlet-name>Finamina Application</servlet-name>
  	<url-pattern>/*</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>

this is FinaminaWidgetset.gwt.xml file


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 1.7.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/1.7.0/distro-source/core/src/gwt-module.dtd">
<module>
	<inherits name="com.vaadin.terminal.gwt.DefaultWidgetSet" />
	
    <!--
     Uncomment the following to compile the widgetset for one browser only.
     This can reduce the GWT compilation time significantly when debugging.
     The line should be commented out before deployment to production
     environments.
      
     Multiple browsers can be specified for GWT 1.7 as a comma separated
     list. The supported user agents at the moment of writing were:
     ie6,ie8,gecko,gecko1_8,safari,opera
     
     The value gecko1_8 is used for Firefox 3 and later and safari is used for
     webkit based browsers including Google Chrome.
    -->
    <!-- <set-property name="user.agent" value="gecko1_8"/> -->


    <inherits name="org.vaadin.peter.imagescaler.ImageScalerWidgetset" />

    <inherits name="com.github.wolfie.refresher.RefresherApplicationWidgetset" />

    <inherits name="org.vaadin.addons.locationtextfield.LocationTextFieldWidgetset" />
</module>

GWT compiler output with verbose option:



Executing compiler with parameters [C:\Program Files\Java\jre7\bin\java.exe, -Djava.awt.headless=true, -Xss8M, -Xmx512M, -XX:MaxPermSize=512M, -classpath, C:\Program Files\Java\jre7\lib\rt.jar;D:/Me/MyData/Eclipse/WorkspaceNetworking/Finamina/src;D:/Me/MyData/Eclipse/WorkspaceNetworking/Finamina/build/classes;C:/eclipse 3.72/eclipse/configuration/com.vaadin.integration.eclipse/download/gwt-dev/2.3.0/gwt-dev.jar;C:/eclipse 3.72/eclipse/configuration/com.vaadin.integration.eclipse/download/gwt-user/2.3.0/gwt-user.jar;D:/Me/MyData/Eclipse/WorkspaceNetworking/Finamina/WebContent/WEB-INF/lib/vaadin-6.8.0.jar;C:/eclipse 3.72/eclipse/configuration/com.vaadin.integration.eclipse/download/gwt-dependencies/2.3.0/validation-api-1.0.0.GA-sources.jar;C:/eclipse 3.72/eclipse/configuration/com.vaadin.integration.eclipse/download/gwt-dependencies/2.3.0/validation-api-1.0.0.GA.jar;D:/Me/MyData/Eclipse/WorkspaceNetworking/Finamina/WebContent/WEB-INF/lib/refresher-1.1.1.jar;D:/Me/MyData/Eclipse/WorkspaceNetworking/Finamina/WebContent/WEB-INF/lib/ImageScaler-1.0.jar;C:/eclipse 3.72/eclipse/configuration/com.vaadin.integration.eclipse/download/gwt-user/2.3.0/gwt-user.jar;C:/eclipse 3.72/eclipse/configuration/com.vaadin.integration.eclipse/download/gwt-dev/2.3.0/gwt-dev.jar;D:/Me/MyData/Eclipse/WorkspaceNetworking/Finamina/WebContent/WEB-INF/lib/locationtextfield-1.2.3.jar, com.vaadin.tools.WidgetsetCompiler, -out, WebContent/VAADIN/widgetsets, -localWorkers, 4, -logLevel, INFO, com.example.finamina.widgetset.FinaminaWidgetset]

Updating GWT module description file...
Jun 27, 2012 1:22:06 PM com.vaadin.terminal.gwt.widgetsetutils.ClassPathExplorer getAvailableWidgetSets
INFO: Widgetsets found from classpath:
	com.github.wolfie.refresher.RefresherApplicationWidgetset in jar:file:D:/Me/MyData/Eclipse/WorkspaceNetworking/Finamina/WebContent/WEB-INF/lib/refresher-1.1.1.jar!/
	com.vaadin.terminal.gwt.DefaultWidgetSet in jar:file:D:/Me/MyData/Eclipse/WorkspaceNetworking/Finamina/WebContent/WEB-INF/lib/vaadin-6.8.0.jar!/
	org.vaadin.addons.locationtextfield.LocationTextFieldWidgetset in jar:file:D:/Me/MyData/Eclipse/WorkspaceNetworking/Finamina/WebContent/WEB-INF/lib/locationtextfield-1.2.3.jar!/
	org.vaadin.peter.imagescaler.ImageScalerWidgetset in jar:file:D:/Me/MyData/Eclipse/WorkspaceNetworking/Finamina/WebContent/WEB-INF/lib/ImageScaler-1.0.jar!/
	com.example.finamina.widgetset.FinaminaWidgetset in file://D/Me/MyData/Eclipse/WorkspaceNetworking/Finamina/src

Jun 27, 2012 1:22:06 PM com.vaadin.terminal.gwt.widgetsetutils.ClassPathExplorer getAvailableWidgetSets
INFO: Search took 23ms
Done.
Starting GWT compiler
Compiling module com.example.finamina.widgetset.FinaminaWidgetset
   Scanning for additional dependencies: jar:file:/D:/Me/MyData/Eclipse/WorkspaceNetworking/Finamina/WebContent/WEB-INF/lib/vaadin-6.8.0.jar!/com/vaadin/terminal/gwt/client/WidgetSet.java
      Computing all possible rebind results for 'com.vaadin.terminal.gwt.client.WidgetMap'
         Rebinding com.vaadin.terminal.gwt.client.WidgetMap
            Invoking generator com.vaadin.terminal.gwt.widgetsetutils.EagerWidgetMapGenerator
               Detecting Vaadin components in classpath to generate WidgetMapImpl.java ...
Jun 27, 2012 1:22:24 PM com.vaadin.terminal.gwt.widgetsetutils.ClassPathExplorer getPaintablesHavingWidgetAnnotation
INFO: Searching for paintables..
Jun 27, 2012 1:22:26 PM com.vaadin.terminal.gwt.widgetsetutils.ClassPathExplorer getPaintablesHavingWidgetAnnotation
INFO: Search took 1741ms
               Widget set will contain implementations for following components: 
               	com.github.wolfie.refresher.Refresher
               	com.vaadin.ui.AbsoluteLayout
               	com.vaadin.ui.Accordion
               	com.vaadin.ui.Audio
               	com.vaadin.ui.Button
               	com.vaadin.ui.CheckBox
               	com.vaadin.ui.ComboBox
               	com.vaadin.ui.CssLayout
               	com.vaadin.ui.CustomComponent
               	com.vaadin.ui.CustomLayout
               	com.vaadin.ui.DateField
               	com.vaadin.ui.DragAndDropWrapper
               	com.vaadin.ui.Embedded
               	com.vaadin.ui.Form
               	com.vaadin.ui.FormLayout
               	com.vaadin.ui.GridLayout
               	com.vaadin.ui.HorizontalLayout
               	com.vaadin.ui.HorizontalSplitPanel
               	com.vaadin.ui.InlineDateField
               	com.vaadin.ui.Label
               	com.vaadin.ui.Link
               	com.vaadin.ui.ListSelect
               	com.vaadin.ui.MenuBar
               	com.vaadin.ui.NativeButton
               	com.vaadin.ui.NativeSelect
               	com.vaadin.ui.OptionGroup
               	com.vaadin.ui.OrderedLayout
               	com.vaadin.ui.Panel
               	com.vaadin.ui.PasswordField
               	com.vaadin.ui.PopupView
               	com.vaadin.ui.ProgressIndicator
               	com.vaadin.ui.RichTextArea
               	com.vaadin.ui.Select
               	com.vaadin.ui.Slider
               	com.vaadin.ui.SplitPanel
               	com.vaadin.ui.TabSheet
               	com.vaadin.ui.Table
               	com.vaadin.ui.TextArea
               	com.vaadin.ui.TextField
               	com.vaadin.ui.Tree
               	com.vaadin.ui.TreeTable
               	com.vaadin.ui.TwinColSelect
               	com.vaadin.ui.Upload
               	com.vaadin.ui.UriFragmentUtility
               	com.vaadin.ui.VerticalLayout
               	com.vaadin.ui.VerticalSplitPanel
               	com.vaadin.ui.Video
               	com.vaadin.ui.Window
               	org.vaadin.peter.imagescaler.ImageScaler
               Done. (1seconds)
   Scanning for additional dependencies: jar:file:/D:/Me/MyData/Eclipse/WorkspaceNetworking/Finamina/WebContent/WEB-INF/lib/vaadin-6.8.0.jar!/com/vaadin/terminal/gwt/client/ui/dd/VAcceptCriteria.java
      Computing all possible rebind results for 'com.vaadin.terminal.gwt.client.ui.dd.VAcceptCriterionFactory'
         Rebinding com.vaadin.terminal.gwt.client.ui.dd.VAcceptCriterionFactory
            Invoking generator com.vaadin.terminal.gwt.widgetsetutils.AcceptCriteriaFactoryGenerator
               Detecting available criteria ...
               creating mapping for com.vaadin.event.dd.acceptcriteria.SourceIsTarget
               creating mapping for com.vaadin.event.dd.acceptcriteria.Not
               creating mapping for com.vaadin.event.dd.acceptcriteria.SourceIs
               creating mapping for com.vaadin.ui.Tree.TargetInSubtree
               creating mapping for com.vaadin.event.dd.acceptcriteria.AcceptAll
               creating mapping for com.vaadin.ui.Tree.TreeDropCriterion
               creating mapping for com.vaadin.event.dd.acceptcriteria.Or
               creating mapping for com.vaadin.event.dd.acceptcriteria.And
               creating mapping for com.vaadin.ui.AbstractSelect.AcceptItem
               creating mapping for com.vaadin.ui.Table.TableDropCriterion
               creating mapping for com.vaadin.event.dd.acceptcriteria.ServerSideCriterion
               creating mapping for com.vaadin.ui.AbstractSelect.TargetItemIs
               creating mapping for com.vaadin.event.dd.acceptcriteria.ContainsDataFlavor
               creating mapping for com.vaadin.event.dd.acceptcriteria.TargetDetailIs
               Done. (0seconds)
   Compiling 6 permutations
      Compiling permutation 0...
      Process output
         Compiling
            Compiling permutation 1...
      Process output
         Compiling
            Compiling permutation 3...
      Process output
         Compiling
            Compiling permutation 2...
      Compiling permutation 4...
         Compiling
            Compiling permutation 5...
   Compile of permutations succeeded
   Linking into WebContent\VAADIN\widgetsets
      Link succeeded
   Compilation succeeded -- 82.373s

Based on the verbose output, Refresher and ImageScaler are included in the widgetset but LocationTextField is not.

My initial suspicion would be that the client side source code of LocationTextField is not on your widgetset compilation classpath. Unfortunately, you cannot modify the widgetset compilation classpath directly in Eclipse so if the sources are not in the same JAR as the classes, you either need to modify the JAR (taking care that the manifest stays as the first entry - preferably working with “jar” instead of other archive management tools) or create a separate launch configuration for running the widgetset compiler class directly with your customized classpath.

Another possibility would be missing dependencies or their client side sources for LocationTextField.

Thanks Henry for the reply.
But I dont know how to go about doing what you suggested. Please elaborate on those steps.

thanks.

Sorry, no time now to go into details.

If LocationTextField really is the only problem:

Check whether the main JAR of LocationTextField contains *.java source code files e.g. with “jar tvf locationtextfield.jar”. Then contact the author in
this thread
. It seems to be built using and for Maven so maybe the source code is not in the JAR but in a separate JAR where Maven projects can find it but the “Compile widgetset” button in the Eclipse plug-in doesn’t.