How to use GWTP with GWT 2.5.0.rc1

822 views
Skip to first unread message

udav_pit

unread,
Aug 14, 2012, 5:56:25 AM8/14/12
to gwt-pl...@googlegroups.com
I am using GWTP-0.7, when I switch from GWT-2.4 to GWT-2.5, I get a compilation error.

Johannes Barop

unread,
Aug 14, 2012, 8:13:07 AM8/14/12
to gwt-pl...@googlegroups.com
I use GWT-P with GWT-2.5rc1 with no problem so far.
What error did you get?


Johannes

udav_pit

unread,
Aug 15, 2012, 4:21:50 AM8/15/12
to gwt-pl...@googlegroups.com
[INFO] 
[INFO] --- gwt-maven-plugin:2.5.0-rc1:compile (default) @ pms-gwt-client ---
[INFO] Compiling module ru.ipools.pms.gwt.main.Admin
[INFO]    [ERROR] An internal compiler exception occurred
[INFO] com.google.gwt.dev.jjs.InternalCompilerException: Unexpected error during visit.
[INFO] at com.google.gwt.dev.jjs.ast.JVisitor.translateException(JVisitor.java:109)
[INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:276)
[INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
[INFO] at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:116)
[INFO] at com.google.gwt.dev.jjs.ast.JDeclarationStatement.traverse(JDeclarationStatement.java:48)
[INFO] at com.google.gwt.dev.jjs.ast.JModVisitor$ListContextImmutable.traverse(JModVisitor.java:170)
[INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.acceptWithInsertRemoveImmutable(JModVisitor.java:336)
[INFO] at com.google.gwt.dev.jjs.ast.JBlock.traverse(JBlock.java:83)
[INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
[INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
[INFO] at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:137)
[INFO] at com.google.gwt.dev.jjs.ast.JVisitor.accept(JVisitor.java:133)
[INFO] at com.google.gwt.dev.jjs.ast.JMethodBody.traverse(JMethodBody.java:82)
[INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
[INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
[INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
[INFO] at com.google.gwt.dev.jjs.ast.JMethod.visitChildren(JMethod.java:426)
[INFO] at com.google.gwt.dev.jjs.ast.JMethod.traverse(JMethod.java:395)
[INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
[INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
[INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:265)
[INFO] at com.google.gwt.dev.jjs.impl.UnifyAst.mainLoop(UnifyAst.java:902)
[INFO] at com.google.gwt.dev.jjs.impl.UnifyAst.exec(UnifyAst.java:627)
[INFO] at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:604)
[INFO] at com.google.gwt.dev.jjs.JavaScriptCompiler.precompile(JavaScriptCompiler.java:33)
[INFO] at com.google.gwt.dev.Precompile.precompile(Precompile.java:278)
[INFO] at com.google.gwt.dev.Precompile.precompile(Precompile.java:229)
[INFO] at com.google.gwt.dev.Precompile.precompile(Precompile.java:141)
[INFO] at com.google.gwt.dev.Compiler.run(Compiler.java:232)
[INFO] at com.google.gwt.dev.Compiler.run(Compiler.java:198)
[INFO] at com.google.gwt.dev.Compiler$1.run(Compiler.java:170)
[INFO] at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:88)
[INFO] at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:82)
[INFO] at com.google.gwt.dev.Compiler.main(Compiler.java:177)
[INFO] Caused by: java.lang.NoSuchMethodError: com.google.gwt.uibinder.rebind.FieldWriterOfGeneratedType.<init>(Lcom/google/gwt/core/ext/typeinfo/JClassType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/gwt/uibinder/rebind/MortalLogger;)V
[INFO] at com.google.gwt.uibinder.rebind.GinFieldManager.registerFieldOfGeneratedType(GinFieldManager.java:293)
[INFO] at com.google.gwt.uibinder.rebind.UiBinderWriter.parseDocumentElement(UiBinderWriter.java:1365)
[INFO] at com.google.gwt.uibinder.rebind.UiBinderWriter.parseDocument(UiBinderWriter.java:1075)
[INFO] at com.google.gwt.uibinder.rebind.GinUiBinderGenerator.generateOnce(GinUiBinderGenerator.java:195)
[INFO] at com.google.gwt.uibinder.rebind.GinUiBinderGenerator.generate(GinUiBinderGenerator.java:146)
[INFO] at com.google.gwt.core.ext.IncrementalGenerator.generateNonIncrementally(IncrementalGenerator.java:40)
[INFO] at com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncrementally(StandardGeneratorContext.java:657)
[INFO] at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:41)
[INFO] at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(StandardRebindOracle.java:79)
[INFO] at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:276)
[INFO] at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:265)
[INFO] at com.google.gwt.dev.DistillerRebindPermutationOracle.getAllPossibleRebindAnswers(DistillerRebindPermutationOracle.java:91)
[INFO] at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.handleGwtCreate(UnifyAst.java:355)
[INFO] at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.handleMagicMethodCall(UnifyAst.java:433)
[INFO] at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.endVisit(UnifyAst.java:237)
[INFO] at com.google.gwt.dev.jjs.ast.JMethodCall.traverse(JMethodCall.java:243)
[INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:361)
[INFO] at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:273)
[INFO] ... 32 more
[INFO]       [ERROR] at AdminGinjectorImpl.java(727): GWT.create(MainPageView$Binder.class)
[INFO]          com.google.gwt.dev.jjs.ast.JMethodCall
[INFO]       [ERROR] at AdminGinjectorImpl.java(727): Object created = GWT.create(MainPageView$Binder.class)
[INFO]          com.google.gwt.dev.jjs.ast.JDeclarationStatement
[INFO]       [ERROR] at AdminGinjectorImpl.java(726): {
[INFO]   Object created = GWT.create(MainPageView$Binder.class);
[INFO]   assert created instanceof MainPageView$Binder;
[INFO]   MainPageView$Binder result = (MainPageView$Binder) created;
[INFO]   this.memberInject_Key$type$ru$ipools$pms$gwt$main$client$view$MainPageView$Binder$_annotation$$none$$(result);
[INFO]   return result;
[INFO] }
[INFO]          com.google.gwt.dev.jjs.ast.JBlock
[INFO]       [ERROR] at AdminGinjectorImpl.java(726): {
[INFO]   Object created = GWT.create(MainPageView$Binder.class);
[INFO]   assert created instanceof MainPageView$Binder;
[INFO]   MainPageView$Binder result = (MainPageView$Binder) created;
[INFO]   this.memberInject_Key$type$ru$ipools$pms$gwt$main$client$view$MainPageView$Binder$_annotation$$none$$(result);
[INFO]   return result;
[INFO] }
[INFO]          com.google.gwt.dev.jjs.ast.JMethodBody
[INFO]       [ERROR] at AdminGinjectorImpl.java(726): private MainPageView$Binder create_Key$type$ru$ipools$pms$gwt$main$client$view$MainPageView$Binder$_annotation$$none$$();

Sydney

unread,
Aug 15, 2012, 6:11:44 AM8/15/12
to gwt-pl...@googlegroups.com
Duplicate: https://groups.google.com/forum/#!msg/gwt-platform/b5t1mU-BiO8/m3Kfud3eShgJ%5B1-25%5D

I have no problem using GWT2.5, so I guess you are using something in GWTP that is not compatible with GWT2.5.

Sydney

unread,
Aug 15, 2012, 6:13:11 AM8/15/12
to gwt-pl...@googlegroups.com

jon

unread,
Aug 17, 2012, 10:04:33 AM8/17/12
to gwt-pl...@googlegroups.com
Could this be because of the GinUiBinder being supplied with GWTP is not updated for 2.5?

Christian Goudreau

unread,
Aug 21, 2012, 12:42:38 PM8/21/12
to gwt-pl...@googlegroups.com
That could be. GinUiBinder is likely to fail each time GWT gets updated.


On Fri, Aug 17, 2012 at 10:04 AM, jon <sar...@gmail.com> wrote:
Could this be because of the GinUiBinder being supplied with GWTP is not updated for 2.5?



--
Christian Goudreau

Christian Goudreau

unread,
Aug 21, 2012, 12:43:03 PM8/21/12
to gwt-pl...@googlegroups.com
And I have no problem using GWTP with GWT 2.5 :D
--
Christian Goudreau

Evgeny Smyvin

unread,
Sep 20, 2012, 9:55:05 AM9/20/12
to gwt-pl...@googlegroups.com
I have the same error.I think the problem with GinUiBinder. If i don't use it everithing is ok. How can i fix it?

Caused by: java.lang.RuntimeException: Deferred binding failed for 'ru.rbc.tvmon.web.client.view.SearchView$Binder' (did you forget to inherit a required module?)
at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:53)
at com.google.gwt.core.shared.GWT.create(GWT.java:57)
at com.google.gwt.core.client.GWT.create(GWT.java:85)
at ru.rbc.tvmon.web.client.view.SearchView.<init>(SearchView.java:140)
at ru.rbc.tvmon.web.client.gin.ClientGinjectorImpl.ru$rbc$tvmon$web$client$view$SearchView_SearchView_methodInjection(ClientGinjectorImpl.java:422)
at ru.rbc.tvmon.web.client.gin.ClientGinjectorImpl.create_Key$type$ru$rbc$tvmon$web$client$view$SearchView$_annotation$$none$$(ClientGinjectorImpl.java:426)
at ru.rbc.tvmon.web.client.gin.ClientGinjectorImpl.get_Key$type$ru$rbc$tvmon$web$client$view$SearchView$_annotation$$none$$(ClientGinjectorImpl.java:440)
at ru.rbc.tvmon.web.client.gin.ClientGinjectorImpl.create_Key$type$ru$rbc$tvmon$web$client$presenter$SearchPresenter$MyView$_annotation$$none$$(ClientGinjectorImpl.java:510)
at ru.rbc.tvmon.web.client.gin.ClientGinjectorImpl.get_Key$type$ru$rbc$tvmon$web$client$presenter$SearchPresenter$MyView$_annotation$$none$$(ClientGinjectorImpl.java:519)
at ru.rbc.tvmon.web.client.gin.ClientGinjectorImpl.create_Key$type$ru$rbc$tvmon$web$client$presenter$SearchPresenter$_annotation$$none$$(ClientGinjectorImpl.java:631)
at ru.rbc.tvmon.web.client.gin.ClientGinjectorImpl.get_Key$type$ru$rbc$tvmon$web$client$presenter$SearchPresenter$_annotation$$none$$(ClientGinjectorImpl.java:645)
at ru.rbc.tvmon.web.client.gin.ClientGinjectorImpl.access$2(ClientGinjectorImpl.java:643)
at ru.rbc.tvmon.web.client.gin.ClientGinjectorImpl$3$1.onSuccess(ClientGinjectorImpl.java:758)
at com.google.gwt.core.client.GWT.runAsync(GWT.java:255)
at ru.rbc.tvmon.web.client.gin.ClientGinjectorImpl$3.get(ClientGinjectorImpl.java:756)
at com.gwtplatform.common.client.CodeSplitProvider.get(CodeSplitProvider.java:48)
at com.gwtplatform.mvp.client.proxy.ProxyImpl.getPresenter(ProxyImpl.java:46)
at com.gwtplatform.mvp.client.proxy.ProxyPlaceAbstract.handleRequest(ProxyPlaceAbstract.java:193)
at com.gwtplatform.mvp.client.proxy.ProxyPlaceAbstract.access$0(ProxyPlaceAbstract.java:192)
at com.gwtplatform.mvp.client.proxy.ProxyPlaceAbstract$1.onPlaceRequest(ProxyPlaceAbstract.java:143)
at com.gwtplatform.mvp.client.proxy.PlaceRequestInternalEvent.dispatch(PlaceRequestInternalEvent.java:134)
at com.gwtplatform.mvp.client.proxy.PlaceRequestInternalEvent.dispatch(PlaceRequestInternalEvent.java:1)
at com.google.gwt.event.shared.GwtEvent.dispatch(GwtEvent.java:1)
at com.google.web.bindery.event.shared.EventBus.dispatchEvent(EventBus.java:40)
at com.google.web.bindery.event.shared.SimpleEventBus.doFire(SimpleEventBus.java:193)
at com.google.web.bindery.event.shared.SimpleEventBus.fireEventFromSource(SimpleEventBus.java:96)
at com.gwtplatform.mvp.client.proxy.PlaceManagerImpl.fireEvent(PlaceManagerImpl.java:146)
at com.gwtplatform.mvp.client.proxy.PlaceManagerImpl.doRevealPlace(PlaceManagerImpl.java:121)
at com.gwtplatform.mvp.client.proxy.PlaceManagerImpl.revealPlace(PlaceManagerImpl.java:339)
at ru.rbc.tvmon.web.client.TVMonPlaceManager.revealDefaultPlace(TVMonPlaceManager.java:22)
at com.gwtplatform.mvp.client.proxy.PlaceManagerImpl.onValueChange(PlaceManagerImpl.java:264)
at com.google.gwt.event.logical.shared.ValueChangeEvent.dispatch(ValueChangeEvent.java:128)
at com.google.gwt.event.logical.shared.ValueChangeEvent.dispatch(ValueChangeEvent.java:1)
at com.google.gwt.event.shared.GwtEvent.dispatch(GwtEvent.java:1)
at com.google.web.bindery.event.shared.EventBus.dispatchEvent(EventBus.java:40)
at com.google.web.bindery.event.shared.SimpleEventBus.doFire(SimpleEventBus.java:193)
at com.google.web.bindery.event.shared.SimpleEventBus.fireEvent(SimpleEventBus.java:88)
at com.google.gwt.event.shared.HandlerManager.fireEvent(HandlerManager.java:127)
at com.google.gwt.user.client.impl.HistoryImpl.fireEvent(HistoryImpl.java:80)
at com.google.gwt.event.logical.shared.ValueChangeEvent.fire(ValueChangeEvent.java:43)
at com.google.gwt.user.client.impl.HistoryImpl.fireHistoryChangedImpl(HistoryImpl.java:87)
at com.google.gwt.user.client.History.fireCurrentHistoryState(History.java:131)
at com.gwtplatform.mvp.client.proxy.PlaceManagerImpl.revealCurrentPlace(PlaceManagerImpl.java:310)
at ru.rbc.tvmon.web.client.TVMonClient.onModuleLoad(TVMonClient.java:44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:405)
at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:526)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:364)
at java.lang.Thread.run(Thread.java:722)

Caused by: java.lang.NoSuchMethodError: com.google.gwt.uibinder.rebind.FieldWriterOfGeneratedType.<init>(Lcom/google/gwt/core/ext/typeinfo/JClassType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/google/gwt/uibinder/rebind/MortalLogger;)V
	at com.google.gwt.uibinder.rebind.GinFieldManager.registerFieldOfGeneratedType(GinFieldManager.java:293)
at com.google.gwt.uibinder.rebind.UiBinderWriter.parseDocumentElement(UiBinderWriter.java:1365)
at com.google.gwt.uibinder.rebind.UiBinderWriter.parseDocument(UiBinderWriter.java:1075)
at com.google.gwt.uibinder.rebind.GinUiBinderGenerator.generateOnce(GinUiBinderGenerator.java:195)
at com.google.gwt.uibinder.rebind.GinUiBinderGenerator.generate(GinUiBinderGenerator.java:146)
at com.google.gwt.core.ext.IncrementalGenerator.generateNonIncrementally(IncrementalGenerator.java:40)
at com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncrementally(StandardGeneratorContext.java:657)
at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:41)
at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(StandardRebindOracle.java:79)
at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:276)
at com.google.gwt.dev.shell.ShellModuleSpaceHost.rebind(ShellModuleSpaceHost.java:141)
at com.google.gwt.dev.shell.ModuleSpace.rebind(ModuleSpace.java:594)

вторник, 14 августа 2012 г., 13:56:25 UTC+4 пользователь udav_pit написал:

Brandon Donnelson

unread,
Sep 20, 2012, 9:06:22 PM9/20/12
to gwt-pl...@googlegroups.com
I find when I get these errors, I've forgot to bind something. Can you ask the IDE to break on the trace and walk up the trace to see what might be throwing this? You might find a injected presenter not bound that you may be using in the view. 

Brandon

Christian Goudreau

unread,
Sep 25, 2012, 10:48:08 AM9/25/12
to gwt-pl...@googlegroups.com
You don't have to use GinUiBinder.

--
 
 



--
Christian Goudreau

Bruce Grant

unread,
Oct 30, 2012, 10:34:39 AM10/30/12
to gwt-pl...@googlegroups.com
Can the Tab Sample run without GinUiBinder? thx, Bruce.

Christian Goudreau

unread,
Oct 31, 2012, 12:53:07 PM10/31/12
to gwt-pl...@googlegroups.com
We're going to update to the final release of GWT 2.5

Using RC1 is deprecated.

Ben Ritchie

unread,
Nov 3, 2012, 12:28:40 PM11/3/12
to gwt-pl...@googlegroups.com
Great news Christian,

We've Invested a huge amount of time and money into building a GWTP app, it would be heart breaking to not be able to keep up with GWT.

To be clear, GWT 2.5 is not currently compatible with GWTP 0.7? 

Any one know of a workaround for this ?

Thanks
Ben 
CTO @ SecretStatus

On Wednesday, 31 October 2012 16:53:08 UTC, Christian Goudreau wrote:
We're going to update to the final release of GWT 2.5

Using RC1 is deprecated.

On Tue, Oct 30, 2012 at 10:34 AM, Bruce Grant <dbruc...@gmail.com> wrote:
Can the Tab Sample run without GinUiBinder? thx, Bruce.


On Tuesday, 25 September 2012 10:48:09 UTC-4, Christian Goudreau wrote:
You don't have to use GinUiBinder.

On Thu, Sep 20, 2012 at 9:06 PM, Brandon Donnelson <branfl...@gmail.com> wrote:
I find when I get these errors, I've forgot to bind something. Can you ask the IDE to break on the trace and walk up the trace to see what might be throwing this? You might find a injected presenter not bound that you may be using in the view. 

Brandon


On Thursday, September 20, 2012 6:55:05 AM UTC-7, Evgeny Smyvin wrote:
I have the same error.I think the problem with GinUiBinder. If i don't use it everithing is ok. How can i fix it?

Caused by: java.lang.RuntimeException: Deferred binding failed for 'ru.rbc.tvmon.web.client.view.SearchView$Binder' (did you forget to inherit a required module?)
at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:53)
at com.google.gwt.core.shared.GWT.create(GWT.java:57)
at com.google.gwt.core.client.GWT.create(GWT.java:85)
at ru.rbc.tvmon.web.client.view.SearchView.<init>(SearchView.java:140)
	at ru.rbc.tvmon.web.client.gin.ClientGinjectorImpl.ru $rbc$tvmon$web$client$view$SearchView_SearchView_methodInjection(ClientGinjectorImpl.java:422)

--
 
 



--
Christian Goudreau

--
 
 



--
Christian Goudreau

Bruce Grant

unread,
Nov 3, 2012, 1:28:41 PM11/3/12
to gwt-pl...@googlegroups.com
Hi Ben,

I just upgraded a project to GWTP 0.7 and GWT 2.5 and everything that was working is still working. 

I was planning on using the Tab Sample as the basis for a GWTP-based tabbed UI and that requires GinUiBinder module. The issue I has relates to the GinUiBinder module which isn't yet compatible with GWT 2.5. In my case it was early enough in the Tab design that it was more valuable to upgrade to GWT 2.5 than to use the Tab Sample/GinUiBinder.

Cheers,
BRuce.

Ben Ritchie

unread,
Nov 3, 2012, 1:33:40 PM11/3/12
to gwt-pl...@googlegroups.com
Thanks Bruce

Apologies if Ive misunderstood/over-reacted!

How does one avoid the use of the GinUiBinder? 
By removing all use of injection in dependancies? 

I fear Im too far down the Gin route to consider that now 

Im sure the guys will have it all sorted by 0.8 anyways - I guess I should give it a go and help them with their testing...

Cheers
Ben

Brandon Donnelson

unread,
Nov 3, 2012, 11:17:23 PM11/3/12
to gwt-pl...@googlegroups.com
I'm not experiencing any issues with GWTP .7 & GWT 2.5.0 GA. I have seen some issues with other latent libraries. Are you still having issues with 2.5*?

Brandon Donnelson

unread,
Nov 4, 2012, 2:00:41 PM11/4/12
to gwt-pl...@googlegroups.com
I know the feeling with the maven plugin being behind. But there are ways around that. And I've experienced the same frustration at times. I'll do better to document my setups that work with 2.5*.

I'm not seeing an issue with .7 working with 2.5.0-rc1 or rc2 and/or GA. Be sure the pom.xml copies the gwt maven plugin configuration.

I've also noticed with added executions can cause compilation issues. Try removing the executions, some are not needed b/c default actions are already taken. 

One can use gin 2.0 and be sure all of dependent libraries are up to date. It may be that there is some 2.4 dependencies that exist in another 3rd party library.

If you want, boil your project down to something that can be shared so I can take a look at replicating it. Will do our best to get any issues fixed right away. 

Brandon

Christian Goudreau

unread,
Nov 6, 2012, 1:33:06 PM11/6/12
to gwt-pl...@googlegroups.com, Brandon Donnelson
GWTP works with GWT 2.5, we have some product that has been successfully migrated. If you're using GinUiBinder though, you could end up with problems, this component is experimental and breaks every times GWT update.

Brandon could share a little bit more on his experience though. 

Nano Elefant

unread,
Nov 11, 2012, 9:58:00 AM11/11/12
to gwt-pl...@googlegroups.com
Same problem here, my project is based on the tab example. Have you found a solution? If so please be as specific as possible.
Thank you.

Christian Goudreau

unread,
Nov 12, 2012, 11:02:28 AM11/12/12
to gwt-pl...@googlegroups.com
What exactly is your problem?

Nano Elefant

unread,
Nov 15, 2012, 7:12:27 AM11/15/12
to gwt-pl...@googlegroups.com
Hi Christian,
I have the same exception as udav_pit reported at the beginning of this thread. I worked around it by downgrading to gwt 2.4 again.

Christian Goudreau

unread,
Nov 15, 2012, 10:15:48 AM11/15/12
to gwt-pl...@googlegroups.com
There was some trick behind the GWT maven plugin. But they now officially support it.

Shanmugarasa Muhunthan

unread,
Feb 24, 2013, 12:50:58 AM2/24/13
to gwt-pl...@googlegroups.com
I'm having the same issue. 

I'm using UI injection through GinUiBinder and I'm getting the exception listed on the first post. 

Christian, do you have any workaround/patch that we can use in the meantime of waiting an official release ?
Also do you suggest we invest on GinUiBinder or should we avoid using it as "GinUiBinder is likely to fail each time GWT gets updated." ?

Thanks
Shan

Brandon Donnelson

unread,
Feb 24, 2013, 2:41:15 AM2/24/13
to gwt-pl...@googlegroups.com
All the objects provided to the uibinder have to be instantiated in the view at this point by using @UiField(provided=true) and put the class in the constructor so gin instantiates it on initialization. At this point we don't have uibinder injection fire up yet. This is on the docket to integrate down the road. For the time being objects will have to be provided through the view. 

For example, see how the LinkMenu is included in the constructor. Gin will initialize it this way. 

Brandon

Shanmugarasa Muhunthan

unread,
Feb 24, 2013, 5:19:48 PM2/24/13
to gwt-pl...@googlegroups.com
Yep I tried that. If my memory is correct, there was no exception but the injected field remained Null. Maybe I was doing something wrong. Let me retry it quickly and will let you know the exact behavior.

Also does GinUiBinder is an experimental component and will remains as such or do you guys are planning to make it more reliable ?

Thanks
Shan

Brandon Donnelson

unread,
Feb 24, 2013, 5:44:35 PM2/24/13
to gwt-pl...@googlegroups.com

Sounds good. Check to see if the class is bound like this. I forget to todo this now in then too and it will cause something like this...

UiBinder injection is on the todo list and we have been discussing it now in then, but other haven't gotten to it yet as some other low hanging fruit has been picked. Although, I see this feature coming down the road.

Thanks for sharing. :)

Have a good day,
Brandon Donnelson


--
You received this message because you are subscribed to the Google Groups "GWTP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gwt-platform...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Shanmugarasa Muhunthan

unread,
Feb 24, 2013, 6:01:33 PM2/24/13
to gwt-pl...@googlegroups.com
Actually I'm getting the same exception. 

Here is my code:

public class LoginPanel extends Composite {
public interface Binder extends UiBinder<Widget, LoginPanel> { }
@Inject
public LoginPanel(Binder binder) {
initWidget(binder.createAndBindUi(this));
}
}

public class MenuPanel extends Composite {
public interface Binder extends UiBinder<Widget, MenuPanel> { }
@Inject
public MenuPanel(Binder binder) {
initWidget(binder.createAndBindUi(this));
}
}

public class LoginMenuDeck extends Composite {
     public interface Binder extends UiBinder<Widget, LoginMenuDeck> {}

    @UiField(provided = true)
    LoginPanel loginPanel;

    @UiField(provided = true)
    MenuPanel menuPanel;
    
    @UiField
    DeckPanel deckPanel;

    @Inject
public LoginMenuDeck(Binder binder, LoginPanel loginPanel, MenuPanel menuPanel) {
initWidget(binder.createAndBindUi(this));
this.loginPanel = loginPanel;
this.menuPanel = menuPanel;
}
}

public class UiModule extends AbstractPresenterModule {
@Override
protected void configure() {
// Singleton binders
   bind(LoginPanel.Binder.class).in(Singleton.class);
   bind(MenuPanel.Binder.class).in(Singleton.class);
   bind(LoginMenuDeck.Binder.class).in(Singleton.class);
}
}

in my .gwt.xml
<inherits name="com.google.gwt.uibinder.GinUiBinder" />

Let me know what I'm doing wrong ?

Thanks
Shan

Brandon Donnelson

unread,
Feb 24, 2013, 6:59:38 PM2/24/13
to gwt-pl...@googlegroups.com
I haven't configured it in that way, but...

Instead specifying Binder reference in these with bind(LoginPanel.Binder.class).in(Singleton.class); try bind(LoginPanel.class).in(Singleton.class); or if there used more than once bind(LoginPanel.class);. 

When injecting the class into constructor gin will call GWT.create so referencing the binder directly isn't needed. 

Have a good day,
Brandon Donnelson


Message has been deleted

Shanmugarasa Muhunthan

unread,
Feb 24, 2013, 8:58:12 PM2/24/13
to gwt-pl...@googlegroups.com
I tried that and this still doesn't work. I don't know what is going wrong.

Shan

Brandon Donnelson

unread,
Feb 24, 2013, 9:08:27 PM2/24/13
to gwt-pl...@googlegroups.com

Not sure this is an option but if your willing to widdle down your project to something you can share I could replicate it and help more. Ill also look more when i get back to my desk.

Shanmugarasa Muhunthan

unread,
Feb 25, 2013, 1:03:45 AM2/25/13
to gwt-pl...@googlegroups.com
Thanks Brandon,

I'll create a HelloWorld project which depicts the issue then I'll share it with you. This will also help me double check my implementation. Keep you posted...

Shan

Brandon Donnelson

unread,
Feb 25, 2013, 11:31:00 AM2/25/13
to gwt-pl...@googlegroups.com
Cool. Sounds good.

Have a good day,
Brandon Donnelson


Christian Goudreau

unread,
Feb 25, 2013, 11:35:00 AM2/25/13
to gwt-pl...@googlegroups.com
Also does GinUiBinder is an experimental component and will remains as such or do you guys are planning to make it more reliable ?
I'll be working next weekend to introduce back this feature. A note, for it to be more reliable will need to introduce extension points in code GWT classes. I'll work that out with the steering committee but it won't go out of experimental features until we have this change in GWT core. 
Christian Goudreau
Reply all
Reply to author
Forward
0 new messages