Sorry,
Again...
List conditions = new ArrayList();
try {
// viceId as alias
conditions.add(new EntityExpr("viceId", EntityOperator.EQUALS,
yourMemberId ));
// Others...
EntityConditionList ecl = new EntityConditionList(conditions,
EntityOperator.AND);
List results = delegator.findByCondition("YourViewName", ecl, null, null
);
2007/8/7, Jonathon -- Improov <[EMAIL PROTECTED]>:
>
> Rodrigo,
>
> Thanks, but I think I'm completely confused by your sample. Sorry.
>
> The column alias (not field) "viceId" contains a value in Member.memberId(eg
> "1234", "5534",
> etc), and NOT "LEADER" or "VICE" or "MEMBER".
>
> "LEADER" or "VICE" or "MEMBER" appears in field Member.roleId.
>
> Jonathon
>
> Rodrigo Souza wrote:
> > 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
> >>>>>>
> >>>>>
> >>>
> >>
> >
> >
> > ------------------------------------------------------------------------
> >
> > No virus found in this incoming message.
> > Checked by AVG Free Edition.
> > Version: 7.5.476 / Virus Database: 269.11.8/940 - Release Date: 8/6/2007
> 4:53 PM
>
>