Deferred binding failed for '...Presenter$MyView'

19 views
Skip to first unread message

marius andreiana

unread,
Aug 28, 2010, 9:28:37 AM8/28/10
to GWTP
Hi,

I'm trying to build a presenter widget, replicating Puzzle's
TopBarPresenter.
When the container presenter should activate though, I get the
exception below. Do you have any idea of the cause?

More information:
In the parent MailPresenter I don't do anything related to this in
onReveal(), as the view already has some default content which is
shown.The presenter widget is shown later using setContent().

In MyModule I've used
bindSingletonPresenterWidget(MailDetailPresenter.class,
MailDetailPresenter.MyView.class, MailDetailView.class);

and in parent presenter it's passed just like TopBarPresenter:
@Inject
public MailPresenter(
final EventBus eventBus,
final MyView view,
final MyProxy proxy,
final MailDetailPresenter mailDetailPresenter ) {
super(eventBus, view, proxy);

this.mailDetailPresenter = mailDetailPresenter;
}

I have not used @ContentSlot annotation at all.
I've put some debug messages in MailPresenter onBind() and onReveal,
but these don't get to be executed after super().

Exception:
java.lang.RuntimeException: Deferred binding failed for
'...presenter.MailDetailPresenter$MyView' (did you forget to inherit a
required module?)
at
com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:43)
at com.google.gwt.core.client.GWT.create(GWT.java:98)
at com.ma.mail.client.MyGinjectorImpl.create_Key$type$com$bc$mail
$client$gallery$presenter$GalleryDetailPresenter$MyView$_annotation$
$none$$(MyGinjectorImpl.java:413)
at com.ma.mail.client.MyGinjectorImpl.get_Key$type$com$bc$mail
$client$gallery$presenter$GalleryDetailPresenter$MyView$_annotation$
$none$$(MyGinjectorImpl.java:419)
at com.ma.mail.client.MyGinjectorImpl.create_Key$type$com$bc$mail
$client$gallery$presenter$GalleryDetailPresenter$_annotation$$none$$
(MyGinjectorImpl.java:84)
at com.ma.mail.client.MyGinjectorImpl.get_Key$type$com$bc$mail
$client$gallery$presenter$GalleryDetailPresenter$_annotation$$none$$
(MyGinjectorImpl.java:90)
at com.ma.mail.client.MyGinjectorImpl.create_Key$type$com$bc$mail
$client$gallery$presenter$GalleryPresenter$_annotation$$none$$
(MyGinjectorImpl.java:508)
at com.ma.mail.client.MyGinjectorImpl.get_Key$type$com$bc$mail
$client$gallery$presenter$GalleryPresenter$_annotation$$none$$
(MyGinjectorImpl.java:517)
at com.ma.mail.client.MyGinjectorImpl.access
$2(MyGinjectorImpl.java:515)
at com.ma.mail.client.MyGinjectorImpl$3.get(MyGinjectorImpl.java:
623)
at com.ma.mail.client.MyGinjectorImpl$3.get(MyGinjectorImpl.java:
1)
at
com.gwtplatform.mvp.client.StandardProvider.get(StandardProvider.java:
48)
at
com.gwtplatform.mvp.client.proxy.ProxyImpl.getPresenter(ProxyImpl.java:
57)
at
com.gwtplatform.mvp.client.proxy.ProxyPlaceAbstract.handleRequest(ProxyPlaceAbstract.java:
192)
at com.gwtplatform.mvp.client.proxy.ProxyPlaceAbstract.access
$0(ProxyPlaceAbstract.java:191)
at com.gwtplatform.mvp.client.proxy.ProxyPlaceAbstract
$1.onPlaceRequest(ProxyPlaceAbstract.java:81)
at
com.gwtplatform.mvp.client.proxy.PlaceRequestInternalEvent.dispatch(PlaceRequestInternalEvent.java:
67)
at
com.gwtplatform.mvp.client.proxy.PlaceRequestInternalEvent.dispatch(PlaceRequestInternalEvent.java:
1)
at com.google.gwt.event.shared.HandlerManager
$HandlerRegistry.fireEvent(HandlerManager.java:65)
at com.google.gwt.event.shared.HandlerManager
$HandlerRegistry.access$1(HandlerManager.java:53)
at
com.google.gwt.event.shared.HandlerManager.fireEvent(HandlerManager.java:
178)
at
com.gwtplatform.mvp.client.proxy.PlaceManagerImpl.doRevealPlace(PlaceManagerImpl.java:
216)
at
com.gwtplatform.mvp.client.proxy.PlaceManagerImpl.onValueChange(PlaceManagerImpl.java:
201)
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.HandlerManager
$HandlerRegistry.fireEvent(HandlerManager.java:65)
at com.google.gwt.event.shared.HandlerManager
$HandlerRegistry.access$1(HandlerManager.java:53)
at
com.google.gwt.event.shared.HandlerManager.fireEvent(HandlerManager.java:
178)
at
com.google.gwt.user.client.impl.HistoryImpl.fireEvent(HistoryImpl.java:
74)
at
com.google.gwt.event.logical.shared.ValueChangeEvent.fire(ValueChangeEvent.java:
43)
at
com.google.gwt.user.client.impl.HistoryImpl.fireHistoryChangedImpl(HistoryImpl.java:
81)
at
com.google.gwt.user.client.impl.HistoryImpl.newItemOnEvent(HistoryImpl.java:
128)
at sun.reflect.GeneratedMethodAccessor33.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
at
com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
at
com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:
157)
at
com.google.gwt.dev.shell.BrowserChannel.reactToMessagesWhileWaitingForReturn(BrowserChannel.java:
1714)
at
com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:
165)
at
com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:
120)
at
com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:
507)
at
com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:
264)
at
com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:
91)
at com.google.gwt.core.client.impl.Impl.apply(Impl.java)
at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:188)
at sun.reflect.GeneratedMethodAccessor30.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
at
com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
at
com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:
157)
at
com.google.gwt.dev.shell.BrowserChannel.reactToMessages(BrowserChannel.java:
1669)
at
com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:
401)
at
com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:
222)
at java.lang.Thread.run(Thread.java:636)
Caused by: com.google.gwt.core.ext.UnableToCompleteException: (see
previous log entries)
at
com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:
449)
at
com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:39)
at com.google.gwt.core.client.GWT.create(GWT.java:98)
at com.ma.mail.client.MyGinjectorImpl.create_Key$type$com$bc$mail
$client$gallery$presenter$GalleryDetailPresenter$MyView$_annotation$
$none$$(MyGinjectorImpl.java:413)
at com.ma.mail.client.MyGinjectorImpl.get_Key$type$com$bc$mail
$client$gallery$presenter$GalleryDetailPresenter$MyView$_annotation$
$none$$(MyGinjectorImpl.java:419)
at com.ma.mail.client.MyGinjectorImpl.create_Key$type$com$bc$mail
$client$gallery$presenter$GalleryDetailPresenter$_annotation$$none$$
(MyGinjectorImpl.java:84)
at com.ma.mail.client.MyGinjectorImpl.get_Key$type$com$bc$mail
$client$gallery$presenter$GalleryDetailPresenter$_annotation$$none$$
(MyGinjectorImpl.java:90)
at com.ma.mail.client.MyGinjectorImpl.create_Key$type$com$bc$mail
$client$gallery$presenter$GalleryPresenter$_annotation$$none$$
(MyGinjectorImpl.java:508)
at com.ma.mail.client.MyGinjectorImpl.get_Key$type$com$bc$mail
$client$gallery$presenter$GalleryPresenter$_annotation$$none$$
(MyGinjectorImpl.java:517)
at com.ma.mail.client.MyGinjectorImpl.access
$2(MyGinjectorImpl.java:515)
at com.ma.mail.client.MyGinjectorImpl$3.get(MyGinjectorImpl.java:
623)
at com.ma.mail.client.MyGinjectorImpl$3.get(MyGinjectorImpl.java:
1)
at
com.gwtplatform.mvp.client.StandardProvider.get(StandardProvider.java:
48)
at
com.gwtplatform.mvp.client.proxy.ProxyImpl.getPresenter(ProxyImpl.java:
57)
at
com.gwtplatform.mvp.client.proxy.ProxyPlaceAbstract.handleRequest(ProxyPlaceAbstract.java:
192)
at com.gwtplatform.mvp.client.proxy.ProxyPlaceAbstract.access
$0(ProxyPlaceAbstract.java:191)
at com.gwtplatform.mvp.client.proxy.ProxyPlaceAbstract
$1.onPlaceRequest(ProxyPlaceAbstract.java:81)
at
com.gwtplatform.mvp.client.proxy.PlaceRequestInternalEvent.dispatch(PlaceRequestInternalEvent.java:
67)
at
com.gwtplatform.mvp.client.proxy.PlaceRequestInternalEvent.dispatch(PlaceRequestInternalEvent.java:
1)
at com.google.gwt.event.shared.HandlerManager
$HandlerRegistry.fireEvent(HandlerManager.java:65)
at com.google.gwt.event.shared.HandlerManager
$HandlerRegistry.access$1(HandlerManager.java:53)
at
com.google.gwt.event.shared.HandlerManager.fireEvent(HandlerManager.java:
178)
at
com.gwtplatform.mvp.client.proxy.PlaceManagerImpl.doRevealPlace(PlaceManagerImpl.java:
216)
at
com.gwtplatform.mvp.client.proxy.PlaceManagerImpl.onValueChange(PlaceManagerImpl.java:
201)
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.HandlerManager
$HandlerRegistry.fireEvent(HandlerManager.java:65)
at com.google.gwt.event.shared.HandlerManager
$HandlerRegistry.access$1(HandlerManager.java:53)
at
com.google.gwt.event.shared.HandlerManager.fireEvent(HandlerManager.java:
178)
at
com.google.gwt.user.client.impl.HistoryImpl.fireEvent(HistoryImpl.java:
74)
at
com.google.gwt.event.logical.shared.ValueChangeEvent.fire(ValueChangeEvent.java:
43)
at
com.google.gwt.user.client.impl.HistoryImpl.fireHistoryChangedImpl(HistoryImpl.java:
81)
at
com.google.gwt.user.client.impl.HistoryImpl.newItemOnEvent(HistoryImpl.java:
128)
at sun.reflect.GeneratedMethodAccessor33.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
at
com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
at
com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:
157)
at
com.google.gwt.dev.shell.BrowserChannel.reactToMessagesWhileWaitingForReturn(BrowserChannel.java:
1714)
at
com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:
165)
at
com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:
120)
at
com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:
507)
at
com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:
264)
at
com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:
91)
at com.google.gwt.core.client.impl.Impl.apply(Impl.java)
at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:188)
at sun.reflect.GeneratedMethodAccessor30.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
at
com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
at
com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:
157)
at
com.google.gwt.dev.shell.BrowserChannel.reactToMessages(BrowserChannel.java:
1669)
at
com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:
401)
at
com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:
222)
at java.lang.Thread.run(Thread.java:636)

Thanks

Christian Goudreau

unread,
Aug 28, 2010, 9:53:47 AM8/28/10
to gwt-pl...@googlegroups.com
Yeah well, the binding are correct, those errors are almost always related to the definition of the class in questions.

Review you Presenter and View :D

Cheers,
--
Christian Goudreau

Christian Goudreau

unread,
Aug 28, 2010, 9:55:12 AM8/28/10
to gwt-pl...@googlegroups.com
Oh wait !

GalleryDetailPresenter What is this one ? Did you bind it correctly in your module AND in your Ginjector ?

Cheers,
--
Christian Goudreau

marius andreiana

unread,
Aug 28, 2010, 9:59:18 AM8/28/10
to GWTP
Let's consider that actually MailDetailPresenter. I'm trying to expose
more generic details from the larger project I work on :)

What should I look for when reviewing Presenter and View ?
I'll start cutting stuff from them until it works again, maybe I can
isolate the cause. It worked ok until I added MailDetailPresenter.

On Aug 28, 4:55 pm, Christian Goudreau <goudreau.christ...@gmail.com>
wrote:
> >> 192)
> >>    at com.gwtplatform.mvp.client.proxy.ProxyPlaceAbstract.access
> >> $0(ProxyPlaceAbstract.java:191)
> >>    at com.gwtplatform.mvp.client.proxy.ProxyPlaceAbstract
> >> $1.onPlaceRequest(ProxyPlaceAbstract.java:81)
> >>    at
>
> >> com.gwtplatform.mvp.client.proxy.PlaceRequestInternalEvent.dispatch(PlaceRe questInternalEvent.java:
> >> 67)
> >>    at
>
> >> com.gwtplatform.mvp.client.proxy.PlaceRequestInternalEvent.dispatch(PlaceRe questInternalEvent.java:
> >> 1)
> >>    at com.google.gwt.event.shared.HandlerManager
> >> $HandlerRegistry.fireEvent(HandlerManager.java:65)
>
> ...
>
> read more »

Christian Goudreau

unread,
Aug 28, 2010, 10:04:33 AM8/28/10
to gwt-pl...@googlegroups.com
Copy past me the class definitions of GaleryPresenter and View, also for your PresenterWidget, I'f there's a problem, it's in their definition.

Cheers,
--
Christian Goudreau

marius andreiana

unread,
Aug 28, 2010, 10:40:54 AM8/28/10
to GWTP
Phew, I've found it:
I was missing the @Override for a method defined in the view interface
(btw, I'm learning Java at the same time with gwt and gwtp :)

Thanks a lot for your offer to review the code, I hope it will remain
available for other future weird issues.


On Aug 28, 5:04 pm, Christian Goudreau <goudreau.christ...@gmail.com>
wrote:
> ...
>
> read more »
Reply all
Reply to author
Forward
0 new messages