Re: ERRest - problem with baseQualifier not being applied
Re: ERRest - problem with baseQualifier not being applied
- Subject: Re: ERRest - problem with baseQualifier not being applied
- From: Elizabeth Lynch <email@hidden>
- Date: Sat, 23 Jul 2011 19:07:30 +0100
Hi
Just to reassure people…
NSURL *requestURL = [NSURL URLWithString:[[endpoint stringByAppendingString:requestPath] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]];
(the method is a standard string method).
The results I get are those I'd expect to see if the query was applied on it's own: but it's not being combind with the base qualifier. ie it's returning all records where parent is 1669, but not restricted to the set for the base runId.
Liz
On 23 Jul 2011, at 18:24, Pascal Robert wrote:
>
> Le 2011-07-23 à 12:17, Elizabeth Lynch a écrit :
>
>> My ERREST application has progressed nicely, feeding an iPhone app, and I have a couple more very similar projects to work on over summer.
>>
>> However, I am experiencing a problem with my baseQualifier not being applied. Code sample:
>>
>> public class CategoryController extends ERXRouteController {
>> ...
>> public static EOQualifier baseQualifier() {
>> return new EOKeyValueQualifier(Category.RUN_ID_KEY, EOQualifier.QualifierOperatorEqual, runId());
>> }
>> ...
>> public WOActionResults indexAction() {
>> NSLog.debug.appendln("indexAction reached " + baseQualifier());
>>
>> ERXRestFetchSpecification<Category> fetchSpec = new ERXRestFetchSpecification<Category>(Category.ENTITY_NAME, null, baseQualifier(), queryFilter(), null, 25);
>> return response(fetchSpec, showFilter());
>> }
>>
>> Query sent:
>>
>> /ra/category.json?qualifier=parent='1669'
>
> I don't think you can put two = in a single parameter. The correct format is:
>
> ?qualifier=someAttr='SomeValue'
>
> so it would be:
>
> ?qualifier= parent='1669'
>
> See:
>
> <Capture d’écran 2011-07-23 à 13.24.08.png>
>> Output:
>>
>> 14004 [WorkerThread15] DEBUG NSLog - indexAction reached (runId = '20110723:11:50')
>>
>>
>> queryFilter() has the line:
>>
>> filter.exclude(new ERXKey<String>("runId"));
>>
>> but removing that line has no effect.
>>
>>
>> The values returned include all Category objects; however, I expected to see only those matching the baseQualifier AND the URL specified qualifier; is this correct? How do I achieve this result?
>>
>> Liz
>>
>> _______________________________________________
>> 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