Yes, that fixed the problem but just to help debug this issue at a later stage, adding the public void testMe(String test); creates the same problem also. It behaves as if I can't change the implementation of User. Please observe that User extends the acegi UserDetails interface. I am not sure if that contributes to the problem.
Thanks for your help Petros Howard Lewis Ship wrote: > > Not sure why the presense of the overrideMe() method would change things. > > When Tapestry instantiates a bean (such as a User, here) it always > finds the constructor with the *most* parameters. Here it is trying > to instantiate a User instance by injecting a User instance (into your > copy-constructor). > > This has come up in other contexts. What's needed in an annotation to > tell Tapestry which constructor to use, when it has a choice. > > In any case, you can handle this by contributing a > ApplicationStateContribution for type User to the > ApplicationStateManager service. > > This contribution defines the strategy and creator for an Application > State Object. The only built in strategy is named "session", and the > ApplicationStateCreator interface has a single method: create(). > Thus: > > public void > contributeApplicationStateManager(MappedConfiguration<Class,ApplicationStateContribution> > configuration) > { > ApplicationStateCreator creator = new ApplicatonStateCreator() { > public Object create() { return new User(); } }; > configuration.add(User.class, new > ApplicationStateContribution("session", creator)); > } > > On Wed, Mar 26, 2008 at 4:00 PM, petros <[EMAIL PROTECTED]> wrote: >> >> I have a LayoutCmpnt.java with the following annotation and everything >> works >> fine >> @ApplicationState >> private User currentPrincipal; >> >> When I add the method overrideMe(User user) to the User POJO I am >> getting >> the following exception. Removing the overrideMe(User user) fixes the >> problem. Any ideas as to what I am doing wrong ? >> >> Caused by: org.apache.tapestry.ioc.internal.util.TapestryException: >> Error >> invoking constructor com.cypoz.ebooking.ui.model.user.User(User) (at >> User.java:34) (for service 'ApplicationStateManager'): No service >> implements >> the interface com.cypoz.ebooking.ui.model.user.User. [at >> classpath:com/cypoz/ebooking/ui/components/LayoutCmpnt.tml, line 17, >> column >> 37] >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> public class User implements org.acegisecurity.userdetails.UserDetails >> { >> private Long id = new Long(0); >> private String username = ""; // required >> private String firstName = ""; // required >> private String lastName = ""; // required >> private Set<Role> roles = new HashSet<Role>(); >> private ContactDetails contactDetails = new ContactDetails(); >> private Address address = new Address(); >> private String password = ""; >> private boolean enabled = true; >> >> public User(){...} >> public User(User user){...} >> public void overrideMe(User user){...} >> public ContactDetails getContactDetails(){...} >> public void setContactDetails(ContactDetails contactDetails){...} >> public Address getAddress(){...} >> public void setAddress(Address addressDetails){...} >> public Long getId(){...} >> public Set<Role> getRoles(){...} >> public void addRole(Role role){...} >> public User(String username){...} >> public String getUsername(){...} >> public String getFirstName(){...} >> public String getLastName(){...} >> public String getFullName(){...} >> public void setId(Long id){...} >> public void setUsername(String username){...} >> public void setFirstName(String firstName){...} >> public void setLastName(String lastName){...} >> public void setRoles(Set<Role> roleDetails){...} >> public List<Role> getRolesAsList(){...} >> public void setRolesAsList(List<Role> rolesAsList){...} >> public boolean equals(Object o){...} >> public int hashCode(){...} >> public String toString(){...} >> public GrantedAuthority[] getAuthorities(){...} >> public List<String> getRoleNames(){...} >> public String getRoleNamesAsOneString(){...} >> public String getPassword(){...} >> public void setPassword(String password){...} >> public boolean isAccountNonExpired() {...} >> public boolean isAccountNonLocked() {...} >> public boolean isCredentialsNonExpired() {...} >> public boolean isEnabled() {...} >> public void setEnabled(boolean enabled){...} >> } >> >> >> -- >> View this message in context: >> http://www.nabble.com/ApplicationStateManager-exception-tp16318510p16318510.html >> Sent from the Tapestry - User mailing list archive at Nabble.com. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > > > -- > Howard M. Lewis Ship > > Creator Apache Tapestry and Apache HiveMind > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- View this message in context: http://www.nabble.com/ApplicationStateManager-exception-tp16318510p16319546.html Sent from the Tapestry - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]