extValues.put(item.getIntAttrName(), connObj.getAttributeByName(item.getExtAttrName()));
}
// search for user/role by attribute(s) specified in the policy
NodeCond searchCond = null;
for (String schema : altSearchSchemas) {
Attribute value = extValues.get(schema);
AttributeCond.Type type;
String expression = null;
if (value == null || value.getValue() == null || value.getValue().isEmpty()
|| (value.getValue().size() == 1 && value.getValue().get(0) == null)) {
type = AttributeCond.Type.ISNULL;
} else {
type = AttributeCond.Type.EQ;
expression = value.getValue().size() > 1
? value.getValue().toString()
: value.getValue().get(0).toString();
}
NodeCond nodeCond;
// users: just id or username can be selected to be used
// roles: just id or name can be selected to be used
if ("id".equalsIgnoreCase(schema) || "username".equalsIgnoreCase(schema)
|| "name".equalsIgnoreCase(schema)) {