You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Alan Chandler <al...@chandlerfamily.org.uk> on 2005/09/30 23:13:13 UTC

Where do I look for the error?

I am puzzled.  Just coded up a new bit of my application and put on debug in 
the PageAttached method of the new page class.

But before it hits this, I get a 500 status error which lists (top few lines) 
the root cause as being,..

java.lang.AbstractMethodError: 
$Create_0.pageAttached(Lorg/apache/tapestry/event/PageEvent;)V
        at 
org.apache.tapestry.AbstractPage.firePageAttached(AbstractPage.java:426)
        at org.apache.tapestry.AbstractPage.attach(AbstractPage.java:251)
        at 
org.apache.tapestry.engine.RequestCycle.loadPage(RequestCycle.java:286)
        at 
org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:248)
        at 
org.apache.tapestry.engine.RequestCycle.activate(RequestCycle.java:609)
        at org.apache.tapestry.engine.PageService.service(PageService.java:67)

How do I find out what is wrong?

MY class looks so ..

package uk.org.chandlerfamily.tapestry.famtree;

import org.apache.tapestry.html.BasePage;

import org.apache.tapestry.event.*;
import org.apache.tapestry.annotations.*;
import org.apache.tapestry.IPage;

import com.ibatis.sqlmap.client.*;


import java.sql.SQLException;

import uk.org.chandlerfamily.sqlmap.famtree.PersonSummary;
import uk.org.chandlerfamily.sqlmap.famtree.Date;
import uk.org.chandlerfamily.tapestry.famtree.Edit;


public abstract class Create extends BasePage implements PageAttachListener {

	public abstract void setButtonClicked(int buttonClicked);
	public abstract int getButtonClicked();
	
	public abstract int getPersonId();
	public abstract void setPersonId(int personId);
	
	public abstract PersonSummary getThisPerson();
	public abstract void setThisPerson(PersonSummary thisPerson);
	
	public void PageAttached (PageEvent event) {
		PersonSummary aPerson = new PersonSummary();
		// This should be the default fields for a new person
		aPerson.setForename("");
		aPerson.setSurname("");
		aPerson.setDOB(new Date(0,0,0)); //Sets date to mean completely unknown
		aPerson.setMale(true);
		setThisPerson(aPerson);
	}
	@InjectPage("Edit")
	public abstract Edit getEditPage();
	
	public IPage handleForm () {
		if (getButtonClicked() == 1) {
			SqlMapClient map=DataMap.getSqlMapInstance();
			try{
			map.insert("createPerson",getThisPerson());
			} catch (SQLException e) {
				throw new RuntimeException ("SQLException in Detail: "+ e );
			}		
			Edit edit = getEditPage();
			edit.setPersonId(getThisPerson().getId());
			return edit;
		} else 
			return null;
	
	}

}



-- 
Alan Chandler
http://www.chandlerfamily.org.uk

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


Re: Where do I look for the error?

Posted by Howard Lewis Ship <hl...@gmail.com>.
Case counts; PageAttached() is wrong, should be pageAttached().

There's an outstanding bug that Tapestry's unimplemented abstract
method check is broken.

On 9/30/05, Alan Chandler <al...@chandlerfamily.org.uk> wrote:
> I am puzzled.  Just coded up a new bit of my application and put on debug in
> the PageAttached method of the new page class.
>
> But before it hits this, I get a 500 status error which lists (top few lines)
> the root cause as being,..
>
> java.lang.AbstractMethodError:
> $Create_0.pageAttached(Lorg/apache/tapestry/event/PageEvent;)V
>         at
> org.apache.tapestry.AbstractPage.firePageAttached(AbstractPage.java:426)
>         at org.apache.tapestry.AbstractPage.attach(AbstractPage.java:251)
>         at
> org.apache.tapestry.engine.RequestCycle.loadPage(RequestCycle.java:286)
>         at
> org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:248)
>         at
> org.apache.tapestry.engine.RequestCycle.activate(RequestCycle.java:609)
>         at org.apache.tapestry.engine.PageService.service(PageService.java:67)
>
> How do I find out what is wrong?
>
> MY class looks so ..
>
> package uk.org.chandlerfamily.tapestry.famtree;
>
> import org.apache.tapestry.html.BasePage;
>
> import org.apache.tapestry.event.*;
> import org.apache.tapestry.annotations.*;
> import org.apache.tapestry.IPage;
>
> import com.ibatis.sqlmap.client.*;
>
>
> import java.sql.SQLException;
>
> import uk.org.chandlerfamily.sqlmap.famtree.PersonSummary;
> import uk.org.chandlerfamily.sqlmap.famtree.Date;
> import uk.org.chandlerfamily.tapestry.famtree.Edit;
>
>
> public abstract class Create extends BasePage implements PageAttachListener {
>
>         public abstract void setButtonClicked(int buttonClicked);
>         public abstract int getButtonClicked();
>
>         public abstract int getPersonId();
>         public abstract void setPersonId(int personId);
>
>         public abstract PersonSummary getThisPerson();
>         public abstract void setThisPerson(PersonSummary thisPerson);
>
>         public void PageAttached (PageEvent event) {
>                 PersonSummary aPerson = new PersonSummary();
>                 // This should be the default fields for a new person
>                 aPerson.setForename("");
>                 aPerson.setSurname("");
>                 aPerson.setDOB(new Date(0,0,0)); //Sets date to mean completely unknown
>                 aPerson.setMale(true);
>                 setThisPerson(aPerson);
>         }
>         @InjectPage("Edit")
>         public abstract Edit getEditPage();
>
>         public IPage handleForm () {
>                 if (getButtonClicked() == 1) {
>                         SqlMapClient map=DataMap.getSqlMapInstance();
>                         try{
>                         map.insert("createPerson",getThisPerson());
>                         } catch (SQLException e) {
>                                 throw new RuntimeException ("SQLException in Detail: "+ e );
>                         }
>                         Edit edit = getEditPage();
>                         edit.setPersonId(getThisPerson().getId());
>                         return edit;
>                 } else
>                         return null;
>
>         }
>
> }
>
>
>
> --
> Alan Chandler
> http://www.chandlerfamily.org.uk
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
>
>


--
Howard M. Lewis Ship
Independent J2EE / Open-Source Java Consultant
Creator, Jakarta Tapestry
Creator, Jakarta HiveMind

Professional Tapestry training, mentoring, support
and project work.  http://howardlewisship.com

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