On 3/30/11 3:01 PM, Alex Karasulu wrote:
On Wed, Mar 30, 2011 at 1:35 AM, Emmanuel Lecharny<[email protected]>wrote:

Hi guys,

I'm facing an interesting issue. When we parse a filter, we build a Value
which is a BinaryValue, even if the attribute is H/R. The problem is that we
have to provide a getString() method which translates this byte[] when we
want to process the Value.

I tried to get rid of the getString() method in the StringValue class and
getBytes() in BinaryValue, but I can't because of the above issue.

Now, I'm wondering if it wouldn't be better to store a StringValue() when
we parse a Filter, as a default value, excpet if the Filter is schema aware
(which is not currently the case).


Most of the time ad hoc filters are string based. However we have seen
situations where they will be binary as well. As long as we're
interchangeable there should be no problem and since the binary case is the
exception then it makes sense using string values.
It's a bit more complex than that, in fact. May be I wasn't exposing the whole issue...

You may use binary values, using \XY for non ascii values. Something like :

(userCertificate=\00\AB\3F*)

is valid. Now, we can't store that in a StringValue, because the escaped hex are converted to bytes in the filter parser.

I was wonderig if it would not be a better idea to store the value as a byte[], unless we have a schema aware Filter instance, and then use either a StringValue or a BinaryValue, accordingly to the AttributeType used.

I also have more concerns :
1) do we have to deal with a schema aware filter on the client side ?

IMO, it *may* be usefull, as it allows the user to check the filter before sending it to the server.

2) do we have to expose all the XXXNode classes to the user ? I'm not sure it's a good idea.

wdyt ?

How we do this however is important since this impacts virtually everything
in the server.
yes, but it's not a big deal, as we correctly construct schema aware filters high enough in the interceptor chain (namely in the normalization filter).

--
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com

Reply via email to