One sample:

List conditions = new ArrayList();
try {
    // List home destque promo
    conditions.add(new EntityExpr("viceId", EntityOperator.EQUALS,
"LEADER"));
   // Others...

   EntityConditionList ecl = new EntityConditionList(conditions,
EntityOperator.AND);
   List results  = delegator.findByCondition("YourViewName", ecl, null,
UtilMisc.toList("viceId"));

.......

2007/8/7, Jonathon -- Improov <[EMAIL PROTECTED]>:
> David,
>
> Yeah, I would've thought that too, definitions should model only static
structure.
>
> Given my first example, I would like to do a query like "find a Group that
has all 3 kinds of
> members (LEADER, VICE, MEMBER)".
>
> Or even more complex: "find a Group where a/the leader's name is like
Blah, a/the vice's name is
> like Bleh, and a/the member's name is like Bluh".
>
> I've having difficulty putting that into a view-entity and generating a
resultant ListIterator
> with GenericDelegator.
>
> Help? Thanks!
>
> Jonathon
>
> David E Jones wrote:
> >
> > In general entity and view entity definitions are meant to model
> > structure, not query constraints. Just add your desired constraints to
> > the EntityCondition passed into the findByCondition call (or Map for
> > findByAnd or whatever).
> >
> > -David
> >
> >
> > Jonathon -- Improov wrote:
> >> Hi Rodrigo,
> >>
> >> Are you absolutely sure that works?
> >>
> >> First, your suggestion throws an exception. Note that there is no such
> >> field as Member.leaderId.
> >>
> >> Second, do take a look at SqlJdbcUtil.java method makeFromClause().
> >> That's where you'll see the joins being made. You'll also see that
> >> this isn't possible:
> >>
> >> "... <table1> JOIN <table2> ON (<table1>.partyId = <table2>.partyId
> >> AND <table2>.roleId = 'LEADER') ..."
> >>
> >> What is possible is only:
> >>
> >> "... <table1> JOIN <table2> ON (<table1>.partyId = <table2>.partyId)
..."
> >>
> >> So, to answer my own question, the OFBiz Entity framework doesn't seem
> >> to handle what I requested for.
> >>
> >> Perhaps I'm not understanding your suggestion? Would you mind
> >> indicating whether you are sure the suggestion works or whether it's a
> >> mere guess? Thanks.
> >>
> >> If you are sure it works, I'll spend more time trying your suggestion.
> >> But from first impressions, you may have missed something because it
> >> throws an error.
> >>
> >> Jonathon
> >>
> >> Rodrigo Souza wrote:
> >>> Add to your code:
> >>>
> >>> <key-map field-name="roleId" rel-field-name="leaderId"/>
> >>>
> >>> i.e
> >>>
> >>>>    <view-link entity-alias="GP" rel-entity-alias="LD"
> >>>> rel-optional="true">
> >>>>      <!-- Where LD.roleId is "LEADER" -->
> >>>         <key-map field-name=roleId" rel-field-name="leaderId"/>
> >>>>    </view-link>
> >>>
> >>>
> >>> 2007/8/6, Jonathon -- Improov <[EMAIL PROTECTED]>:
> >>>> In view-entity(s), is it possible to have conditionals in <relation>?
> >>>>
> >>>> For eg, an entity Group can have 3 types of members: "LEADER",
> >>>> "VICE" and "MEMBER".
> >>>>
> >>>> I've included my thoughts in the crude example below (please ignore
> >>>> syntax errors).
> >>>>
> >>>> <entity entity-name="Group">
> >>>>    <field name="groupId"/>
> >>>> </entity>
> >>>>
> >>>> <entity entity-name="Member">
> >>>>    <field name="memberId"/>
> >>>>    <field name="groupId"/>
> >>>>    <field name="roleId"/>
> >>>>    <relation rel-entity-name="Group">
> >>>>      <key-map field-name="groupId"/>
> >>>>    </relation>
> >>>> </entity>
> >>>>
> >>>> <view-entity entity-name="GroupAndMember">
> >>>>    <member-entity entity-alias="GP" entity-name="Group"/>
> >>>>    <member-entity entity-alias="LD" entity-name="Member"/>
> >>>>    <member-entity entity-alias="VC" entity-name="Member"/>
> >>>>    <member-entity entity-alias="MB" entity-name="Member"/>
> >>>>    <alias-all entity-alias="GP"/>
> >>>>    <alias entity-alias="LD" name="leaderId" field-name="memberId"/>
> >>>>    <alias entity-alias="VC" name="viceId" field-name="memberId"/>
> >>>>    <alias entity-alias="MB" name="memberId" field-name="memberId"/>
> >>>>    <view-link entity-alias="GP" rel-entity-alias="LD"
> >>>> rel-optional="true">
> >>>>      <!-- Where LD.roleId is "LEADER" -->
> >>>>    </view-link>
> >>>>    <view-link entity-alias="GP" rel-entity-alias="VC"
> >>>> rel-optional="true">
> >>>>      <!-- Where VC.roleId is "VICE" -->
> >>>>    </view-link>
> >>>>    <view-link entity-alias="GP" rel-entity-alias="MB"
> >>>> rel-optional="true">
> >>>>      <!-- Where MB.roleId is "MEMBER" -->
> >>>>    </view-link>
> >>>> </entity>
> >>>>
> >>>> I know that I can simply use different entities for leader, vice and
> >>>> member (eg Leader, Vice and
> >>>> Member). But that would be a little awkward, since all the 3
> >>>> entities will have exactly the same
> >>>> fields (just different roleIds).
> >>>>
> >>>> Is the above possible in OFBiz's Entity framework?
> >>>>
> >>>> Jonathon
> >>>>
> >>>
> >>>
> >>
> >
> >
>
>

Reply via email to