Re: ERRest and ERXKeyFilters advice
Re: ERRest and ERXKeyFilters advice
- Subject: Re: ERRest and ERXKeyFilters advice
- From: Giles Palmer <email@hidden>
- Date: Wed, 03 Apr 2013 10:40:02 +0100
Hi
Thanks for that.
I was actually trying to see if there was a way to ensure that eo's on their own or as part of a relationship get returned in the same form by having standard filters for each type of eo.
include(String keyName, ERXKeyFilter existingFilter) is exactly what I was looking for.
So for my transaction filter with its to 1 organisation I can do:
ERXKeyFilter filter = ERXKeyFilter.filterWithAttributes();
filter.include("organisation", organisationFilter());
Where organisationFilter() is a filter determining how organisations should be filtered.
Thanks
Giles
> You shouldn't hard-code your key values. It should look more like this:
>
> ERXKeyFilter filter = ERXKeyFilter.filterWithAttributes();
> filter.exclude(MyEntity.MY_ATTRIBUTE);
> filter.exclude(MyEntity.MY_OTHER_ATTRIBUTE);
> return filter;
>
> If you want to include a to-one relationship, but none of its attributes (just type and id):
>
> ERXKeyFilter filter = ERXKeyFilter.filterWithAttributes();
> filter.include(MyEntity.MY_TO_ONE_RELATIONSHIP_OBJECT);
> return filter;
>
> If you want to include a to-one relationship, and a couple attributes:
>
> ERXKeyFilter filter = ERXKeyFilter.filterWithAttributes();
> filter.include(MyEntity.MY_TO_ONE_RELATIONSHIP_OBJECT).include(MyOtherEntity.ATTRIBUTE);
> filter.include(MyEntity.MY_TO_ONE_RELATIONSHIP_OBJECT).include(MyOtherEntity.ATTRIBUTE2);
> return filter;
>
> -G
>
> On Apr 2, 2013, at 7:55 AM, Giles Palmer <email@hidden> wrote:
>
>> Hi
>>
>> I am just starting my first ERRest app and playing with ERXKeyFilters.
>>
>> I have an OrganisationController using a filter and I remove unwanted attributes from the rest response with:
>>
>> ERXKeyFilter filter = ERXKeyFilter.filterWithAttributes();
>> filter.exclude("dateTimeStamp","autoNotify","notifyMethod","webSitePassword","website");
>>
>> This works great, however if I then have a TransactionController and a Transaction object that has a to-1 Organisation relationship how best do I also remove the unwanted Organisation attributes from the rest response? At the moment I have the below:
>>
>> ERXKeyFilter filter = ERXKeyFilter.filterWithAttributes();
>> filter.include("organisation").includeAttributes();
>> filter.exclude("organisation.dateTimeStamp","organisation.autoNotify","organisation.notifyMethod","organisation.webSitePassword","organisation.website");
>>
>>
>> but I can't help thinking there is a better way to ensure consistency about what attributes are contained in the response for various EOs when they form parts of responses that contain relationship objects. Is there a better way of achieving this?
>>
>> Thanks
>>
>> Giles
>> _______________________________________________
>> 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