No, I'm sorry, scratch that. I'm still having the problem.
My ValueObject does indeed have a getPersonUId and setPersonUId method,
generated by xdoclet.
But my PersonCMP does not set the UId when it instantiates a value object
to return back to the calling method.
That is, my PersonCMP which is generated by XDoclet looks like this :
PersonValue getValueObject () {
PersonValue = new my.project.PersonValue();
try {
PersonValue.setName(getName());
PersonValue.setAddress(getAddress());
/** NOTE there is no setPersonUId() called here!!! WTF? ***/
}
catch ( Exception e ) {
throw new EJBException (e) ;
}
return PersonValue;
}
Could this be a bug in XDoclet ?
My source code is *very* *very* similar to XPetstore which seemed to work
thanks
Nat
On Wed, 5 Mar 2003, Nathaniel Rahav wrote:
>
> Hey,
>
> I've looked a little more closely at the generated Value Object and I see
> my problem... it exposes the primary key with the methods
>
> getPrimaryKey
> and
> setPrimaryKey
>
> but not with the field as it's named in my object ("getPersonUId()")
>
> thanx tho
>
> Nat
>
>
> ......................
> .From: "Adam" <[EMAIL PROTECTED]>
> .To: <[EMAIL PROTECTED]>
> .Subject: Re: [Xdoclet-user] Value Objects : What am I missing ?
> .Date: Tue, 4 Mar 2003 03:25:45 -0600
> .Reply-To: [EMAIL PROTECTED]
> .
> .Did you include a setXXX method for your UID field in the Bean class?
> .You
> .don't need to declare it as an @ejb.interface-method, but you do need to
> .declare it (abstract, like all the rest) for it to show up in the VO.
> .Took
> .me forever to realize that's what was missing in my VOs when i first set
> .out
> .to create read-only beans....
> ..
> .
> .----- Original Message -----
> .From: "Nathaniel Rahav" <[EMAIL PROTECTED]>
> .To: <[EMAIL PROTECTED]>
> .Sent: Tuesday, March 04, 2003 1:28 AM
> .Subject: [Xdoclet-user] Value Objects : What am I missing ?.
> ..
> .
> .
> .hello,
> .
> .I am encountering a funny situation, I dont know if I am doing something
> .wrong or if this is how the value object pattern works:
> .
> .When I call MyBeanLocal.getValueObject() I get a value object with all
> .the CMP fields populated except my UID field! Therefore I cannot do any
> .further lookups with this object because I have no UID!
> .
> .I noticed that in the generated code for MyBeanCMP, the method
> .getValueObject creates a new value object and does not set that field.
> .
> .I understand that the UID is not something that we would want to be
> .modified in the ValueObject, but, supposing we were to pass a graph of
> .CMR
> .value objects back to the client, of what use are these objects if we
> .dont
> .know their UID ?
> .
> .Surely I'm missing something ? I apologize if this question is utterly
> .ignorant, can someone please shed some light ? if the Value object does
> .not contain the UID (though the code does have accessors for this field)
> .then how does the interaction take place between the client and server to
> .acquire the UID in an alternate way, and what happens if you're dealing
> .with a collection of VO's ?
> .
> .Thanks
> .
> .Nat
>
>
-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger
for complex code. Debugging C/C++ programs can leave you feeling lost and
disoriented. TotalView can help you find your way. Available on major UNIX
and Linux platforms. Try it free. www.etnus.com
_______________________________________________
xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user