You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Robert Breidecker <rb...@yahoo.com> on 2006/09/13 16:43:14 UTC

No Implementation Error

I am running Tapestry 4.0.2.

When I try to add an abstract method to an abstract
base page class, I get a
org.apache.hivemind.ApplicationRuntimeException in the
my Home page that extends the base page.

Error at context:/WEB-INF/Home.page, line 7, column
81: Method 'public abstract void
com.myapp.tapestry.BasePage.getRequest(org.apache.tapestry.web.WebRequest)'
(declared in class com.myapp.tapestry.BasePage) has no
implementation in class
com.myapp.project.pricemanagement.tapestry.pages.Home
(or enhanced subclass $Home_0).

The code in my base page class looks like this:
@InjectObject("infrastructure:request")
public abstract WebRequest getRequest();

Shouldn't I be able to do this?  

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: No Implementation Error

Posted by Robert Breidecker <rb...@yahoo.com>.
Thanks Martin.  That was the problem.

--- Martin Strand <ma...@entcap.se> wrote:

> I think you've got two methods mixed up.
> 
> This part looks ok
> > @InjectObject("infrastructure:request")
> > public abstract WebRequest getRequest();
> 
> But the method causing a problem is
> > 81: Method 'public abstract void
> >
>
com.myapp.tapestry.BasePage.getRequest(org.apache.tapestry.web.WebRequest)'
> that is, you've got another method declared
> somewhere:
> 
> public abstract void getRequest(WebRequest
> webrequest);
> 
> It looks like a setter with the wrong name. You
> don't need setters if you inject with annotations,
> just remove that method and it should work fine.
> 
> Martin
> 
> 
> On Wed, 13 Sep 2006 16:43:14 +0200, Robert
> Breidecker <rb...@yahoo.com> wrote:
> 
> > I am running Tapestry 4.0.2.
> >
> > When I try to add an abstract method to an
> abstract
> > base page class, I get a
> > org.apache.hivemind.ApplicationRuntimeException in
> the
> > my Home page that extends the base page.
> >
> > Error at context:/WEB-INF/Home.page, line 7,
> column
> > 81: Method 'public abstract void
> >
>
com.myapp.tapestry.BasePage.getRequest(org.apache.tapestry.web.WebRequest)'
> > (declared in class com.myapp.tapestry.BasePage)
> has no
> > implementation in class
> >
>
com.myapp.project.pricemanagement.tapestry.pages.Home
> > (or enhanced subclass $Home_0).
> >
> > The code in my base page class looks like this:
> > @InjectObject("infrastructure:request")
> > public abstract WebRequest getRequest();
> >
> > Shouldn't I be able to do this?
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Tired of spam?  Yahoo! Mail has the best spam
> protection around
> > http://mail.yahoo.com
> >
> >
>
---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail:
> users-help@tapestry.apache.org
> >
> >
> 
> 
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail:
> users-help@tapestry.apache.org
> 
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: No Implementation Error

Posted by Martin Strand <ma...@entcap.se>.
I think you've got two methods mixed up.

This part looks ok
> @InjectObject("infrastructure:request")
> public abstract WebRequest getRequest();

But the method causing a problem is
> 81: Method 'public abstract void
> com.myapp.tapestry.BasePage.getRequest(org.apache.tapestry.web.WebRequest)'
that is, you've got another method declared somewhere:

public abstract void getRequest(WebRequest webrequest);

It looks like a setter with the wrong name. You don't need setters if you inject with annotations, just remove that method and it should work fine.

Martin


On Wed, 13 Sep 2006 16:43:14 +0200, Robert Breidecker <rb...@yahoo.com> wrote:

> I am running Tapestry 4.0.2.
>
> When I try to add an abstract method to an abstract
> base page class, I get a
> org.apache.hivemind.ApplicationRuntimeException in the
> my Home page that extends the base page.
>
> Error at context:/WEB-INF/Home.page, line 7, column
> 81: Method 'public abstract void
> com.myapp.tapestry.BasePage.getRequest(org.apache.tapestry.web.WebRequest)'
> (declared in class com.myapp.tapestry.BasePage) has no
> implementation in class
> com.myapp.project.pricemanagement.tapestry.pages.Home
> (or enhanced subclass $Home_0).
>
> The code in my base page class looks like this:
> @InjectObject("infrastructure:request")
> public abstract WebRequest getRequest();
>
> Shouldn't I be able to do this?
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org