Hi Ramsey,

Am 05.12.2011 um 22:11 schrieb Ramsey Gurley:

> On Dec 5, 2011, at 1:37 PM, Fabian Peters wrote:
> 
>> Hi Ramsey,
>> 
>> Am 05.12.2011 um 21:22 schrieb Ramsey Gurley:
>> 
>>> setAuxiliaryQualifier()?
>> 
>> Well, can the auxiliary qualifier be set in a centralized manner? I didn't 
>> find any hint how to do that.
> 
> That depends on how you are arriving at your list.  If you're landing there 
> after an ERD2WQueryPage, you can substitute your own datasource class with a 
> ERDQueryDataSourceDelegateInterface:
> 
> http://wiki.objectstyle.org/confluence/display/WO/D2W+Flow+Control

Interestingly, my EC delegate does what its supposed to do in this case. I 
guess here it's the EC that does the fetching, not the datasource but I really 
haven't looked into it.

> If you are embedding the page yourself with ERXD2WList, then you bind it 
> directly with the datasource binding.  
> 
> If you are getting there using an ERD2WDirectAction method, you would need to 
> override the prepareListPage method in your direct action subclass to provide 
> it there.

This is what I settled on for now. For some reason, prepareListPage is 
protected, so I just overrode dynamicPageForActionNamed and called 
myOwnPrepareListPage.

> If you're coming in from a QueryAll page, you might have a bit more work to 
> do as I believe the QueryAll page uses the aux qualifier already.
> 
> If you're creating your DisplayGroup in the woo file, I don't know. I've 
> never done that before :-)
> 
>> 
>> Right now I've subclassed EODatabaseDataSource and am adding the qualifier 
>> to the fetch spec in the constructor after calling super. When instantiating 
>> my subclass directly it works as expected. But I cannot seem to convince my 
>> application to use my subclass instead of EODatabaseDataSource:
>> 
>>       ERXPatcher.setClassForName(ELEODatabaseDataSource.class, 
>> "EODatabaseDataSource");
>>       EODataSource ds = new EODatabaseDataSource(ERXEC.newEditingContext(), 
>> "Product");
>>       System.out.println("Application.Application: " + 
>> ds.getClass().getCanonicalName());
>> 
>> Gives:
>> 
>>       Application.Application: com.webobjects.eoaccess.EODatabaseDataSource
>> 
>> I haven't used ERXPatcher for quite some time - are there any preconditions 
>> for it to work?
> 
> That only works if the class is instantiated using 
> _NSUtilities.classWithName(), which is not the case with EODatabaseDataSource 
> objects.  You need to create the datasource yourself if you subclass which 
> leaves you in pretty much the same place as using the aux qualifier.

I see, thanks a lot for your help, much appreciated!

cheers, Fabian


> Ramsey
> 
>> 
>> cheers, Fabian
>> 
>>> Ramsey
>>> 
>>> On Dec 5, 2011, at 11:27 AM, Fabian Peters wrote:
>>> 
>>>> Hi all,
>>>> 
>>>> I'm happily using an EC delegate in a multi-tenant app to add restricting 
>>>> qualifiers in editingContextShouldFetchObjects. Now I'd like to make more 
>>>> use of D2W and am looking for an equivalent when dealing with 
>>>> EODataBaseDataSource. I've looked at EODatabaseContext.Delegate's 
>>>> databaseContextShouldSelectObjects, but the documentation says "The 
>>>> delegate should not modify fetchSpec's qualifier or fetch order".
>>>> 
>>>> If there's no other way I guess I could subclass EODataBaseDataSource and 
>>>> use ERXPatcher.setClassForName(), but that seems rather drastic?
>>>> 
>>>> Fabian _______________________________________________
>>>> Do not post admin requests to the list. They will be ignored.
>>>> Webobjects-dev mailing list      ([email protected])
>>>> Help/Unsubscribe/Update your Subscription:
>>>> http://lists.apple.com/mailman/options/webobjects-dev/rgurley%40smarthealth.com
>>>> 
>>>> This email sent to [email protected]
>>> 
>> 
> 

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to