thanks again.

----- Original Message -----
From: "Thomas Mahler" <[EMAIL PROTECTED]>
To: "OJB Users List" <[EMAIL PROTECTED]>
Sent: Tuesday, June 03, 2003 6:19 PM
Subject: Re: Extent. How to?


> Hi again Alen,
>
> try this:
>      <class-descriptor class="ValidatorForm">
>         <extent-class class-ref="za.co.alen.jfaq.User" />
>      </class-descriptor>
>
>      <class-descriptor
>        class="za.co.alen.jfaq.User"
>        table="User"
>        <extent-class class-ref="za.co.alen.jfaq.RegisterForm" />
>        <extent-class class-ref="za.co.alen.jfaq.LgonForm" />
>      >
>        <!-- field mappings -->
>        ...
>      </class-descriptor>
>
>      <class-descriptor
>        class="za.co.alen.jfaq.RegisterForm"
>        table="User"
>      >
>        <!-- same field mappings as for User class + possibly some more -->
>        ...
>      </class-descriptor>
>
>      <class-descriptor
>        class="za.co.alen.jfaq.LogonForm"
>        table="User"
>      >
>        <!-- same field mappings as for User class + possibly some
ore  -->
>        ...
>      </class-descriptor>
>
> You should also have a look at the repository_junit.xml, it contains *a
> lot* of inheritance examples!
>
> cheers,
> Thomas
>
>
>
> Alen Ribic wrote:
> > Ok I'm back again on this one.
> > Lets try this again.
> >
> > My objective:
> >
> > Using Struts, I will need to create form bean for each Struts form.
> >
> > So, for example, I will create RegisterForm and LogonForm classes.
> > As you can se now, these two classes will have similarities in their
> > getter/setter methods.
> >
> > Hence I would like to Create a single User class that all these similar
form
> > beans can inherit.
> >
> > public class RegisterForm extends User {
> >     // inherits necessary setters/getters from User class
> >     public ... validate(...) { // override superclasses version
> >     }
> > }
> >
> > public class LogonForm extends User {
> >     // inherits necessary setters/getters from User class
> >     public ... validate(...) { // override superclasses version
> >     }
> > }
> >
> > Now I want my form beans also to inherit ValidatorForm class.
> >
> > So, I add extends on User class as follows: (don't really think this one
is
> > cool, but anyway, it works :) )
> >
> > public class User extends ValidatorForm {
> >     // setter/getter properties
> > }
> >
> > As far as Struts side of things, this seems to be working fine so far.
> >
> > Only reason I make use of form classes here that inherit my User class
is
> > because of validation requirements specific to each individual form.
(needed
> > in my Struts config) Now there is no way I'm rewriting my User specific
> > setter/getter properties for each of my forms, e.g. RegisterForm,
LogonForm.
> > Both of these form beans will contain common setter/getter properties
which
> > need to map to the same table called User.
> >
> > Again, if I need to specify for each form bean (RegisterForm, LogonForm)
a
> > separate class descriptor with it's own, SAME, fields, it would just
suck a
> > bit.
> >
> > Hope this time I come roght. :)
> >
> > I really appreciate your help.
> > --Alen
> >
> >
> >
> > ----- Original Message -----
> > From: "Thomas Mahler" <[EMAIL PROTECTED]>
> > To: "OJB Users List" <[EMAIL PROTECTED]>
> > Sent: Tuesday, June 03, 2003 11:43 AM
> > Subject: Re: Extent. How to?
> >
> >
> >
> >>Hi again Alen.
> >>
> >>I think you should define the extent the other way round.
> >>That is: RegisterForm is the abstract base class and User is the
> >>concrete class defining all the persistent attributes.
> >>
> >>    <class-descriptor class="za.co.alen.struts.RegisterForm">
> >>       <extent-class class-ref="za.co.alen.jfaq.User" />
> >>    </class-descriptor>
> >>
> >>    <class-descriptor
> >>      class="za.co.alen.jfaq.User"
> >>      table="User"
> >>    >
> >>      <!-- field mappings -->
> >>      ...
> >>    </class-descriptor>
> >>
> >>cheers,
> >>Thomas
> >>
> >>Alen Ribic wrote:
> >>
> >>>Thanks Raymond for your reply.
> >>>
> >>>This is the thing. I am very lost.
> >>>The User class descriptor in repository contains all my filed mappings
> >
> > to my
> >
> >>>User table in db.
> >>>Now za.co.alen.struts.RegisterForm class mapping is a very good
> >
> > question.
> >
> >>>What would the za.co.alen.struts.RegisterForm class mapping contain? I
> >
> > don't
> >
> >>>need any RegisterForm class specific fields at all.
> >>>I just need to indicate to OJB that it needs to something like cast
> >>>RegisterForm instance to User and hence would need to map that to User
> >
> > class
> >
> >>>/ table mapping. (Remember that the instance I get is of
> >>>za.co.alen.struts.RegisterForm)
> >>>RegisterForm class does not have any real meaning for persistence
> >
> > besides
> >
> >>>the inherited fields from User bean.
> >>>It basically just contains overridden validate(...) method used for
> >>>server-side validation in my struts components.
> >>>
> >>>I hope this is making sense. :-)
> >>>
> >>>--Alen
> >>>
> >>>
> >>>
> >>>----- Original Message -----
> >>>From: "Raymond Barlow" <[EMAIL PROTECTED]>
> >>>To: "OJB Users List" <[EMAIL PROTECTED]>
> >>>Sent: Tuesday, June 03, 2003 10:45 AM
> >>>Subject: Re: Extent. How to?
> >>>
> >>>
> >>>
> >>>
> >>>>Hi Alen
> >>>>
> >>>>I hate to ask the obvious, but you never know :)
> >>>>Have you created a mapping for za.co.alen.struts.RegisterForm in your
> >>>>repository_user.xml file??
> >>>>
> >>>>Regards,
> >>>>Raymond Barlow
> >>>>
> >>>>Alen Ribic wrote:
> >>>>
> >>>>
> >>>>
> >>>>>Hi again
> >>>>>
> >>>>>I have sent an email already and got a good reply, but now I have an
> >>>
> >>>issue
> >>>
> >>>
> >>>>>with mapping side.
> >>>>>
> >>>>>I have got classes as follows:
> >>>>>
> >>>>>// JavaBean
> >>>>>public class User extends ValidatorForm {}
> >>>>>
> >>>>>// Struts form bean
> >>>>>public class RegisterForm extends User {}
> >>>>>
> >>>>>Now I just need OJB to recognize RegisteForm class as a User.
> >>>>>
> >>>>>usr = request.getAttribute("registerForm"); // returns RegisteForm
> >>>
> >>>instance
> >>>
> >>>
> >>>>>broker.store(usr);
> >>>>>
> >>>>>So now, OJB on store(...) should look at mapping for User class to
User
> >>>>>table.
> >>>>>
> >>>>><class-descriptor
> >>>>>    class="za.co.alen.jfaq.User"
> >>>>>    table="User"
> >>>>> >
> >>>>>    <extent-class class-ref="za.co.alen.struts.RegisterForm" />
> >>>>>    <!-- field mappings -->
> >>>>>    ...
> >>>>> </class-descriptor>
> >>>>>
> >>>>>I presume that now I need a <class-descriptor/> for the RegisterForm
> >>>
> >>>class.
> >>>
> >>>
> >>>>>Is this correct?
> >>>>>I looked at the Article example but I just can't get my one to work.
> >>>>>
> >>>>>My app still says that OJB cannot recognize RegisterForm class in
> >>>>>repository.
> >>>>>
> >>>>>What am I doing wrong and how can I go about doing this correctly.
> >>>>>
> >>>>>Thanks
> >>>>>
> >>>>>--Alen
> >>>>>
> >>>>>
> >>>>>
> >>>>>---------------------------------------------------------------------
> >>>>>To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>>>>For additional commands, e-mail: [EMAIL PROTECTED]
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>>
> >>>>---------------------------------------------------------------------
> >>>>To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>>>For additional commands, e-mail: [EMAIL PROTECTED]
> >>>>
> >>>
> >>>
> >>>
> >>>---------------------------------------------------------------------
> >>>To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>>For additional commands, e-mail: [EMAIL PROTECTED]
> >>>
> >>>
> >>
> >>
> >>---------------------------------------------------------------------
> >>To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to