Re: Auto-inspect result sets of 1
Re: Auto-inspect result sets of 1
- Subject: Re: Auto-inspect result sets of 1
- From: David Avendasora <email@hidden>
- Date: Mon, 11 Oct 2010 16:28:16 -0400
Hey Ramsey,
I'm using the branch delegate in other places where the user is given a choice of what the next page should be, but I thought that since I'm figuring it out on-the-fly during the request that nextPageDelegate was the way to go. I've revised my NPD and here's what it looks like now:
public WOComponent nextPage(WOComponent sender) {
WOComponent nextPage;
if (((ERD2WQueryPage) sender).queryDataSource()
.fetchObjects()
.count() == 1) {
InspectPageInterface ipi = D2W.factory().inspectPageForEntityNamed(Student.ENTITY_NAME, sender.session());
((ERD2WInspectPage) ipi).setObject((Student) ((ERD2WQueryPage) sender).queryDataSource().fetchObjects().lastObject());
nextPage = (WOComponent) ipi;
} else {
nextPage = ((ERD2WQueryPage) sender).nextPage();
}
return nextPage;
}
Dave
On Oct 11, 2010, at 9:55 AM, Ramsey Gurley wrote:
> Looks good to me Dave. I think any "better" way than something that works will be a matter of opinion (^_^) Personally I like branch delegates, but in this case, the next page delegate is only called by the queryAction. So you know the call to next page comes from the find button.
>
> Ramsey
>
> On Oct 11, 2010, at 6:57 AM, David Avendasora wrote:
>
>> Okay, after a nights sleep, I got it working, but how I did it seems hackish (shocking, I know). Is the nextPage() method below from my delegate the best way to do this?
>>
>> public WOComponent nextPage(WOComponent sender) {
>> WOComponent nextPage;
>> if (((ERD2WQueryPage) sender).queryDataSource()
>> .fetchObjects()
>> .count() == 1) {
>> InspectPageInterface ipi = D2W.factory()
>> .inspectPageForEntityNamed(Student.ENTITY_NAME,
>> sender.session());
>> ((ERD2WInspectPage) ipi).setObject((EOEnterpriseObject) ((ERD2WQueryPage) sender).queryDataSource()
>> .fetchObjects()
>> .lastObject());
>> nextPage = (WOComponent) ipi;
>> } else {
>> ListPageInterface lpi = D2W.factory()
>> .listPageForEntityNamed(Student.ENTITY_NAME,
>> sender.session());
>> ((ERD2WListPage) lpi).setDataSource(((ERD2WQueryPage) sender).queryDataSource());
>> nextPage = (WOComponent) lpi;
>>
>> }
>> return nextPage;
>> }
>>
>> On Oct 10, 2010, at 8:39 PM, David Avendasora wrote:
>>
>>> Hi All,
>>>
>>> When a user performs a query, if the results contain exactly one object I want to return an Inspect page for that object instead of a List page.
>>>
>>> I assume I'm going to want to implement a NextPageDelegate, but I'm not sure how to do that. I've looked around but I can't seem to find a good example. Does anyone have an example NextPageDelegate that I can use as a starting point?
>>>
>>> I promise to create a Wiki page documenting how to do this for future mes.
>>>
>>> Thanks!
>>>
>>> Dave _______________________________________________
>>> 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