Hi there,
I'm fairly new the seam world and currently using code base of seam 2 nightly build.
was trying to do our business validation and landed into a scenario where my home#instance
variable reference is lost upon invocation of an another seam component's method.
here's my code
Home bean
| @Name(MembershipHome.COMPONENT_NAME)
| public class MembershipHome extends EntityHome<Membership> {
|
| @In(value=MembershipValidation.COMPONENT_NAME,create=true)
| private MembershipValidation membershipValidation;
| .....
| .....
| @Override
| public String persist(){
| Membership instance = getInstance();
| membershipValidation.validate();// loosing the reference of the instance variable
after this call.
| setInstance(instance);//explicit setting of the instance works as expected, but
nasty right?
| if(!membershipValidation.isEmpty()) {
| membershipValidation.flushErrors();
| return "error";//TODO is there any standard form that Seam recommand
| }
| return super.persist();
| }
| .....
| .....
| }
|
Here's my validation class
| @Name(MembershipValidation.COMPONENT_NAME)
| public class MembershipValidation extends BaseValidator{
|
| public final static String COMPONENT_NAME ="membershipValidation";
|
| @In(MembershipHome.COMPONENT_NAME)
| private MembershipHome membershipHome;
|
| public void validate(){
| << some crazy validations>>
| }
| .....
| .....
| }
|
Now the problem I'm running to is
Prior to the "membershipValidation.validate();" method invocation, the home
object has the reference to the entity instance, but after the method invocation the
"instance" reference is lost.
Please note that explicit setting of the instance reference after this method call
(membershipValidation.validate()) works as expected; but explicit setting of the
setInstance isnt looking beautiful though :-(.
Can you suggest me what's taking me wrong?
Thanks
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4092125#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...