Malcolm, I'm using 2.3 beta, but you're right.
In my page file, I had a DirectLink component with a parameter of type Person, then had the listener set up to catch an int. It was foreachPerson.value and should have been person.personID. Thanks so much. Joe Meade [EMAIL PROTECTED] -----Original Message----- From: Malcolm Edgar [mailto:[EMAIL PROTECTED]] Sent: Wednesday, February 12, 2003 3:30 PM To: Meade, Joseph L; [EMAIL PROTECTED] Subject: RE: [Tapestry-developer] Could not find an adaptor for class X Hi Joseph, sounds like you are using a T2.4 alpha, as adaptor are used in this release. My understanding is that any persistent properties need to implement java.io.Serializable. Your Person object should implement this interface. regards Malcolm >From: "Meade, Joseph L" <[EMAIL PROTECTED]> >To: "Tapestry-Developer (E-mail)" ><[EMAIL PROTECTED]> >Subject: RE: [Tapestry-developer] Could not find an adaptor for class X >Date: Wed, 12 Feb 2003 09:01:05 -0500 > > >Here are PersonList.java and Person.java: > >//PersonList.java > >import net.sf.tapestry.IRequestCycle; >import net.sf.tapestry.html.BasePage; >import java.util.List; >import java.util.Vector; > >public class PersonList extends BasePage >{ > private List personList = new Vector(); > private Person jondough; > private SQL sql = new SQL(); > > > public List getPersonList() > { > if(personList.size() == 0) > personList = sql.getPersonList(); > return personList; > } > public void setPersonList(List personList) > { > this.personList = personList; > } > public Person getJondough() > { > return jondough; > } > public void setJondough(Person jondough) > { > this.jondough = jondough; > } > > > > /** > * Receives the click on a personID, setting the personID and > * Person attributes. > */ > public void selectPerson(IRequestCycle cycle) > { > Object[] parameters = cycle.getServiceParameters(); > int personID = ((Integer)parameters[0]).intValue(); > > Person jonDough; > > jonDough = sql.getPerson(personID); > > if(jonDough == null) // this should never happen > cycle.setPage("NewPerson"); > > else // A valid person, go to forms. > { > Visit visit = (Visit) getVisit(); > visit.setPerson(jonDough); > cycle.setPage("Forms"); > } > } > > public PersonList() > { > > } > > public static void main(String[] args) > { > PersonList pl = new PersonList(); > List l = pl.getPersonList(); > System.out.println(l); > } > >} > >//EOF > >//Person.java: > >public class Person >{ > //attributes > private int personID; > private String address; > > //accessors > public int getPersonID() > { > return personID; > } > public void setPersonID(int personID) > { > this.personID = personID; > } > public String getAddress() > { > return address; > } > public void setAddress(String address) > { > this.address = address; > } > > > //helpers > public void showPerson() > { > System.out.println("PersonID:\t" + getPersonID()); > System.out.println("Address:\t" + getAddress()); > } > > //constructors > public Person(int personID, String address) > { > setPersonID(personID); > setAddress(address); > } > > public Person(int personID) > { > this(personID, null); > } > > public Person() > { > this(555); > } > > public static void main(String[] args) > { > Person joeDemo = new Person(); > joeDemo.showPerson(); > } > >} >//EOF > >Thanks for taking a look! > >Joe Meade >[EMAIL PROTECTED] > > >-----Original Message----- >From: Adam Greene [mailto:[EMAIL PROTECTED]] >Sent: Wednesday, February 12, 2003 8:09 AM >To: Meade, Joseph L; [EMAIL PROTECTED] >Subject: Re: [Tapestry-developer] Could not find an adaptor for class X > > >Send an email with your .java file, the problem is in there. >----- Original Message ----- >From: "Meade, Joseph L" <[EMAIL PROTECTED]> >To: <[EMAIL PROTECTED]> >Sent: Tuesday, February 11, 2003 5:37 PM >Subject: [Tapestry-developer] Could not find an adaptor for class X > > >I'm working very hard to wrap my brain around Tapestry concepts and syntax, >but need some help with this one. > >I keep getting an exception with the text "Could not find an adaptor for >class Person". > >On a PersonList page, I've got a Foreach component that has as its source a >List of Person objects. I then need to access attributes of each object. >It's really straightforward and not unlike some of the tutorials. > >Here's the clip from the PersonList.page file: ><component id="e" type="Foreach"> > <binding name="source" expression="personList"/> > <binding name="value" expression="jondough"/> ></component> ><component id="insertPersonID" type="Insert"> > <binding name="value" expression="jondough.personID"/> ></component> ><component id="insertAddress" type="Insert"> > <binding name="value" expression="jondough.address"/> ></component> > >What is an adaptor? The Person class is in the same directory as the >PersonList class. I've been working on this one all day. Thanks in >advance >for your help! > > >Joe Meade >[EMAIL PROTECTED] > > > >------------------------------------------------------- >This SF.NET email is sponsored by: >SourceForge Enterprise Edition + IBM + LinuxWorld =omething 2 See! >http://www.vasoftware.com >_______________________________________________ >Tapestry-developer mailing list >[EMAIL PROTECTED] >https://lists.sourceforge.net/lists/listinfo/tapestry-developer > > > > >------------------------------------------------------- >This SF.NET email is sponsored by: >SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! >http://www.vasoftware.com >_______________________________________________ >Tapestry-developer mailing list >[EMAIL PROTECTED] >https://lists.sourceforge.net/lists/listinfo/tapestry-developer _________________________________________________________________ Hotmail now available on Australian mobile phones. Go to http://ninemsn.com.au/mobilecentral/hotmail_mobile.asp ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Tapestry-developer mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/tapestry-developer
