When we create an Ava, it may be schema aware (or not). In both case, we have to be able to return the user provided value (UPValue) and the normalized value (normValue). For instance, in cn=TEST, the upValue is TEST and the normValue is test.
Currently, we store those two things in two Value<?> fields, which is really wrong, because :
- if the Ava is schema aware, one single Value<?> will hold both the upValue and normValue, no matter what
- if the Ava is not schema aware, there is no way we can make a difference between the upValue and normValue.
The direct consequence, beside the fact that we are holding one more Value<?> than necessary in the object, is that we can't really propagate easily the schemaManager to the Value<?> instance, if we first create an Ava without schema nad inject the schema later.