List of usage examples for javax.naming.directory ModificationItem getModificationOp
public int getModificationOp()
From source file:com.springsource.insight.plugin.ldap.TestLdapContext.java
public void modifyAttributes(Name name, ModificationItem[] mods) throws NamingException { for (ModificationItem item : mods) { BasicAttributes attrs = new BasicAttributes(); attrs.put(item.getAttribute());//from w w w. ja v a2 s . co m modifyAttributes(name, item.getModificationOp(), attrs); } }
From source file:ca.tnt.ldaputils.impl.LdapEntry.java
/** * Please note, the preferred method is to call setXXXX() where XXXX is the * attribute name, followed by save().// w w w .j av a2s . c o m * <p/> * This sets a batch attribute. This means that it will be added to a queue * for changing LDAP. You can modify the same attribute multiple times, * assuming LDAP supports multivalued attributes for that attribute. You are * then required to call modifyBatchAttributes(), which will actually do the * operations requested. * <p/> * You should call this one or more times per attribute, followed by * modifyBatchAttributes(). * <p/> * Each time you call this method, for the same attribute, you should * specify the same operation, otherwise you will get an * IllegalArgumentException, with an appropriate error message. * * @param operation one of ADD_ATTRIBUTE, REPLACE_ATTRIBUTE, * REMOVE_ATTRIBUTE * @param attribute the name of the attribute * @param value the value of the attribute * * @see #ADD_ATTRIBUTE ADD_ATTRIBUTE * @see #REPLACE_ATTRIBUTE REPLACE_ATTRIBUTE * @see #REMOVE_ATTRIBUTE REMOVE_ATTRIBUTE */ public void modifyBatchAttribute(final int operation, final String attribute, final Object value) { final Attribute newAttribute; ModificationItem modItem; final int mod_op; switch (operation) { case ADD_ATTRIBUTE: mod_op = DirContext.ADD_ATTRIBUTE; break; case REPLACE_ATTRIBUTE: mod_op = DirContext.REPLACE_ATTRIBUTE; break; case REMOVE_ATTRIBUTE: mod_op = DirContext.REMOVE_ATTRIBUTE; break; default: mod_op = DirContext.ADD_ATTRIBUTE; } modItem = (ModificationItem) modificationItems.get(attribute); if (modItem == null) { // first time we are doing something with this attribute newAttribute = new BasicAttribute(attribute, value); modItem = new ModificationItem(mod_op, newAttribute); } else { // we will add it to the attribute values for this attribute if (modItem.getModificationOp() != mod_op) { // make sure they aren't changing their mind on which op throw new IllegalArgumentException( "error, operation does not match previous batch items for this attribute"); } modItem.getAttribute().add(value); } modified = true; modificationItems.put(attribute, modItem); }
From source file:org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.java
/** * Converts modification items./* ww w . j a va2 s .c om*/ * * @param modificationItems * an array of modification items * @return * an array of converted modifications * @throws LdapInvalidAttributeValueException */ private Modification[] convertModificationItems(ModificationItem[] modificationItems) throws LdapInvalidAttributeValueException { if (modificationItems != null) { List<Modification> modifications = new ArrayList<>(); for (ModificationItem modificationItem : modificationItems) { Modification modification = new DefaultModification(); modification.setAttribute(AttributeUtils.toApiAttribute(modificationItem.getAttribute())); modification.setOperation(convertModificationOperation(modificationItem.getModificationOp())); modifications.add(modification); } return modifications.toArray(new Modification[0]); } else { return null; } }