Re: limiting a fetch in a D2W list page
Re: limiting a fetch in a D2W list page
- Subject: Re: limiting a fetch in a D2W list page
- From: Theodore Petrosky <email@hidden>
- Date: Sun, 13 May 2012 21:24:11 -0700 (PDT)
two things.
first I need to learn some java. is there a way to do this better?
private EOQualifier qualifierFromSender(ERD2WQueryPage sender) {
EOQualifier q = sender.qualifier();
NSLog.out.appendln("* sender.entityName() " + sender.entityName());
Person sessionPerson = ((Session) sender.session()).user();
if (sender.entityName().equals("MeetingChecklist")) {
q = ERXQ.and(ERXQ.equals(MeetingChecklist.PERSON_KEY, sessionPerson));
}
if (sender.entityName().equals("KickOffBrief")) {
q = ERXQ.and(ERXQ.equals(KickOffBrief.PERSON_KEY, sessionPerson));
}
if (sender.entityName().equals("CreativeBrief")) {
q = ERXQ.and(ERXQ.equals(CreativeBrief.PERSON_KEY, sessionPerson));
}
return q;
}
it works, but it is ugly.
I have these three 'if' statements. Each of the entities has a person key. Is there a way to do something like:
q = ERXQ.and(ERXQ.equals(sender.entityName().PERSON_KEY, sessionPerson));
obviously this will fail as there is no way for the compiler to know that sender.entityName() has a key called PERSON_KEY. I know it works, but I am trying to learn new stuff.
and 'b',
you said:
>
> Interesting. I thought that worked. Try setting the
> auxiliaryQualifier instead of the qualifier on your database
> datasource. Does that help?
>
I am hunting but I don't understand the 'auxiliaryQualifier' reference.
--- On Sat, 5/12/12, Ramsey Gurley <email@hidden> wrote:
> From: Ramsey Gurley <email@hidden>
> Subject: Re: limiting a fetch in a D2W list page
> To: "Theodore Petrosky" <email@hidden>
> Cc: "email@hidden Development" <email@hidden>
> Date: Saturday, May 12, 2012, 12:25 PM
> On May 12, 2012, at 6:24 AM, Theodore
> Petrosky wrote:
>
> > The documentation at D2W+Flow+Control seems to say that
> I can create a 'delegate' copying what is there and create a
> rule that ties my entity to it.
> >
> > as there is no additional qualifier in:
> >
> > private EOQualifier qualifierFromSender(ERD2WQueryPage
> sender) {
> > EOQualifier q = sender.qualifier();
> > // q = ... create
> your OR qualifier here
> >
>
> > NSLog.out.appendln("
> *in the delegate "
> + q );
> >
> > return q;
> > }
> >
> > I only get the NSLog message when I enter the advanced
> search area. I assumed with a delegate assigned to the
> entity, that whenever I viewed the entity, the delegate
> would fire. It doesn't fire if I just click the "Find"
> button (so the delegate is not used). I have to stop
> assuming.
>
> Interesting. I thought that worked. Try setting the
> auxiliaryQualifier instead of the qualifier on your database
> datasource. Does that help?
>
> >
> > also interesting 'ERDDelayedObjectCreationAssignment'
> doesn't exist as a class to choose in the RuleModeler.
>
> Copy paste :)
>
> >
> > Lastly, how can I get the session method user() to
> compare to?
>
> sender.session().valueForKey("user")?
>
> >
> > What am I missing?
> >
> > Ted
> >
> > --- On Fri, 5/11/12, Ramsey Gurley <email@hidden>
> wrote:
> >
> >> From: Ramsey Gurley <email@hidden>
> >> Subject: Re: limiting a fetch in a D2W list page
> >> To: "Theodore Petrosky" <email@hidden>
> >> Cc: email@hidden
> >> Date: Friday, May 11, 2012, 4:14 PM
> >> http://wiki.wocommunity.org/display/WO/D2W+Flow+Control
> >>
> >> See ERDQueryDataSourceDelegateInterface for Query
> pages. I
> >> don't think that works for the QueryAll page, but
> you could
> >> possibly use an editing context delegate in that
> case.
> >>
> >> Ramsey
> >>
> >>
> >> On May 11, 2012, at 1:00 PM, Theodore Petrosky
> wrote:
> >>
> >>> my d2w app has a session user. when a user
> selects a
> >> tab, my MainNavigationController fires a method to
> create
> >> the list page.
> >>>
> >>> the method creates an EODatabaseDataSource and
> then a
> >> fetch spec that limits the result to rows that were
> created
> >> by THIS user.
> >>>
> >>> ERXFetchSpecification<KickOffBrief> fs =
> new
> >>
> ERXFetchSpecification<KickOffBrief>(KickOffBrief.ENTITY_NAME,
> >> ERXQ.equals(KickOffBrief.IS_FILED_KEY,
> >>
> false).and(KickOffBrief.PERSON.eq(session().user())),
> >> null);
> >>>
> >>> How can I add the user qualification to the D2W
> created
> >> search query? Or when I am on a QueryKickOffBrief
> page, how
> >> do I add the
> and(KickOffBrief.PERSON.eq(session().user())
> >> qualifier to the resultant page?
> >>>
> >>> Ted
> >>>
> >>>
> >>>
> _______________________________________________
> >>> Do not post admin requests to the list. They
> will be
> >> ignored.
> >>> Webobjects-dev mailing list
> (email@hidden)
> >>> Help/Unsubscribe/Update your Subscription:
> >>>
> >>> This email sent to email@hidden
> >>
> >>
> >
> > _______________________________________________
> > Do not post admin requests to the list. They will be
> ignored.
> > Webobjects-dev mailing list (email@hidden)
> > Help/Unsubscribe/Update your Subscription:
> >
> > This email sent to email@hidden
>
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden