Migrating Custom Widgetsets from Vaadin 6 to 7

Hi there,

For a couple of weeks now we’ve been trying to update our current maven based project from version 6.8.10 to Vaadin 7.0.6. Unfortunately there are some major problems with the Client Side Widget Sets that we need to use in our application. We followed the Wiki tutorial on https://vaadin.com/wiki/-/wiki/Main/Migrating+from+Vaadin+6+to+Vaadin+7 but get stuck whenever we want to compile the widget sets. Here’s what a Maven Install is telling us:



[INFO]
    [ERROR]
 Errors in 'gen/com/vaadin/client/metadata/ConnectorBundleLoaderImpl.java'
[INFO]
       [ERROR]
 Line 860: Rebind result 'vistree.client.ui.VAdvTree' cannot be abstract
[INFO]
    Computing all possible rebind results for 'com.vaadin.client.ui.dd.VAcceptCriterionFactory'
[INFO]
       Rebinding com.vaadin.client.ui.dd.VAcceptCriterionFactory
[INFO]
          Invoking generator com.vaadin.server.widgetsetutils.AcceptCriteriaFactoryGenerator
[INFO]
             Detecting available criteria ...
[INFO]
             creating mapping for com.vaadin.event.dd.acceptcriteria.SourceIsTarget
[INFO]
             creating mapping for com.vaadin.ui.AbstractSelect.TargetItemIs
[INFO]
             creating mapping for com.vaadin.ui.Table.TableDropCriterion
[INFO]
             creating mapping for com.vaadin.event.dd.acceptcriteria.TargetDetailIs
[INFO]
             creating mapping for com.vaadin.event.dd.acceptcriteria.ServerSideCriterion
[INFO]
             creating mapping for com.vaadin.event.dd.acceptcriteria.Or
[INFO]
             creating mapping for com.vaadin.event.dd.acceptcriteria.Not
[INFO]
             creating mapping for com.vaadin.ui.AbstractSelect.AcceptItem
[INFO]
             creating mapping for com.vaadin.event.dd.acceptcriteria.ContainsDataFlavor
[INFO]
             creating mapping for com.vaadin.ui.Tree.TargetInSubtree
[INFO]
             creating mapping for com.vaadin.event.dd.acceptcriteria.SourceIs
[INFO]
             creating mapping for com.vaadin.event.dd.acceptcriteria.AcceptAll
[INFO]
             creating mapping for com.vaadin.event.dd.acceptcriteria.And
[INFO]
             creating mapping for com.vaadin.ui.Tree.TreeDropCriterion
[INFO]
             Done. (0seconds)
[INFO]
 ------------------------------------------------------------------------
[INFO]
 BUILD FAILURE
[INFO]
 ------------------------------------------------------------------------
[INFO]
 Total time: 1:09.319s
[INFO]
 Finished at: Tue Jun 11 12:37:55 CEST 2013
[INFO]
 Final Memory: 23M/81M
[INFO]
 ------------------------------------------------------------------------
[ERROR]
 Failed to execute goal com.vaadin:vaadin-maven-plugin:7.0.7:compile (default) on project admin: Command [[
[ERROR]
 /bin/sh -c /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java -Xmx512M -Xss1024k -classpath /...
[ERROR]
 ]] failed with status 1
[ERROR]
 -> [Help 1]

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.vaadin:vaadin-maven-plugin:7.0.7:compile (default) on project admin: Command [[
]
] failed with status 1
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
	at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
	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 org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.codehaus.mojo.gwt.shell.ForkedProcessExecutionException: Command [[

]] failed with status 1
	at org.codehaus.mojo.gwt.shell.AbstractGwtShellMojo$JavaCommand.execute(AbstractGwtShellMojo.java:485)
	at org.codehaus.mojo.gwt.shell.CompileMojo.compile(CompileMojo.java:366)
	at org.codehaus.mojo.gwt.shell.CompileMojo.doExecute(CompileMojo.java:281)
	at org.codehaus.mojo.gwt.shell.AbstractGwtShellMojo.execute(AbstractGwtShellMojo.java:172)
	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
	... 19 more
[ERROR]
 
[ERROR]
 
[ERROR]
 For more information about the errors and possible solutions, please read the following articles:
[ERROR]
 [Help 1]
 http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

Further investigation showed that in this post:

https://vaadin.com/old-forum/-/message_boards/view_message/3187622

someone is experiencing similar troubles, but no solution was found.
So I just wanted to ask, if somebody has either experienced something alike or if there are some hints/things we could try for solving this major issue, because without our widgetsets we would be unable to upgrade to Vaadin 7…

regards and thanks in advance for any help

The error message “Rebind result ‘vistree.client.ui.VAdvTree’ cannot be abstract” seems to point to the direction of the problem. You (or an add-on you are using) are using GWT.create() to instantiate the abstract class and there is no rebinding of it to a concrete class in your widgetset for some/all permutation(s).

From the GWT forum: