| | |
| | | import org.forgerock.opendj.ldap.AttributeDescription; |
| | | import org.forgerock.opendj.ldap.ByteString; |
| | | import org.forgerock.opendj.ldap.DN; |
| | | import org.forgerock.opendj.ldap.LinkedAttribute; |
| | | import org.forgerock.opendj.ldap.schema.AttributeType; |
| | | import org.forgerock.opendj.ldap.schema.ObjectClass; |
| | | import org.forgerock.opendj.ldap.schema.ObjectClassType; |
| | |
| | | protected void setValues(CustomSearchResult sr, String attrName) |
| | | { |
| | | List<Object> values = getValues(attrName); |
| | | List<ByteString> valuesToSet = new ArrayList<>(); |
| | | final LinkedAttribute attr = new LinkedAttribute(attrName); |
| | | for (Object value : values) |
| | | { |
| | | if (value instanceof ObjectClassValue) |
| | |
| | | ObjectClassValue ocValue = (ObjectClassValue)value; |
| | | if (ocValue.getStructural() != null) |
| | | { |
| | | valuesToSet.add(ByteString.valueOfUtf8(ocValue.getStructural())); |
| | | attr.add(ocValue.getStructural()); |
| | | } |
| | | SortedSet<String> auxiliaries = ocValue.getAuxiliary(); |
| | | for (String auxiliary : auxiliaries) |
| | | { |
| | | valuesToSet.add(ByteString.valueOfUtf8(auxiliary)); |
| | | attr.add(auxiliary); |
| | | } |
| | | } |
| | | else if (value instanceof byte[]) |
| | | { |
| | | valuesToSet.add(ByteString.wrap((byte[]) value)); |
| | | attr.add((byte[]) value); |
| | | } |
| | | else if (value instanceof BinaryValue) |
| | | { |
| | | try |
| | | { |
| | | valuesToSet.add(ByteString.wrap(((BinaryValue) value).getBytes())); |
| | | attr.add(((BinaryValue) value).getBytes()); |
| | | } |
| | | catch (ParseException pe) |
| | | { |
| | |
| | | String s = String.valueOf(value); |
| | | if (s.trim().length() > 0) |
| | | { |
| | | valuesToSet.add(ByteString.valueOfUtf8(s)); |
| | | attr.add(s); |
| | | } |
| | | } |
| | | } |
| | | if (!valuesToSet.isEmpty()) |
| | | if (!attr.isEmpty()) |
| | | { |
| | | sr.set(attrName, valuesToSet); |
| | | sr.set(attr); |
| | | } |
| | | } |
| | | |