/** Exctract specified attributes from the ldapMatchingRule */ Attributes extractAttributeIds(String[] attrIds) throws NamingException { Attributes attrs = new BasicAttributes(); String val = null; for (int i = 0; i < attrIds.length; i++) { if (attrIds[i].equals(NUMERICOID)) { val = m_ldapMatchingRule.getID(); if (val != null) { attrs.put(new BasicAttribute(NUMERICOID, val)); } } else if (attrIds[i].equals(NAME)) { val = m_ldapMatchingRule.getName(); if (val != null) { attrs.put(new BasicAttribute(NAME, val)); } } else if (attrIds[i].equals(DESC)) { val = m_ldapMatchingRule.getDescription(); if (val != null) { attrs.put(new BasicAttribute(DESC, val)); } } else if (attrIds[i].equals(SYNTAX)) { val = m_ldapMatchingRule.getSyntaxString(); if (val != null) { attrs.put(new BasicAttribute(SYNTAX, val)); } } else if (attrIds[i].equals(APPLIES)) { String[] appliesToAttrs = m_ldapMatchingRule.getAttributes(); if (appliesToAttrs != null && appliesToAttrs.length > 0) { BasicAttribute applies = new BasicAttribute(APPLIES); for (int a = 0; a < appliesToAttrs.length; a++) { applies.add(appliesToAttrs[a]); } attrs.put(applies); } } else if (attrIds[i].equals(OBSOLETE)) { if (m_ldapMatchingRule.getQualifier(OBSOLETE) != null) { attrs.put(new BasicAttribute(OBSOLETE, "true")); } } else { throw new NamingException( "Invalid schema attribute type for matching rule definition " + attrIds[i]); } } return attrs; }
public SchemaMatchingRule(Attributes attrs, SchemaManager schemaManager) throws NamingException { super(schemaManager); m_ldapMatchingRule = parseDefAttributes(attrs); m_path = ATTRDEF + "/" + m_ldapMatchingRule.getName(); }
public SchemaMatchingRule(LDAPMatchingRuleSchema ldapMatchingRule, SchemaManager schemaManager) { super(schemaManager); m_ldapMatchingRule = ldapMatchingRule; m_path = ATTRDEF + "/" + m_ldapMatchingRule.getName(); }