Or...
conditions.add(new EntityExpr("memberId", EntityOperator.IN, UtilMisc.toList
("LEADER","MEMBER","VICE")));
For all.
2007/8/7, Rodrigo Souza <[EMAIL PROTECTED]>:
>
> 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
> > >>>>
> > >>>
> > >>>
> > >>
> > >
> > >
> >
> >
>