Java examples for javax.naming.directory:Attributes
Modifies a LDAP attribute.
/**//from www .j a v a 2 s.c o m * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * * Copyright (c) 2009 Sun Microsystems Inc. All Rights Reserved * * The contents of this file are subject to the terms * of the Common Development and Distribution License * (the License). You may not use this file except in * compliance with the License. * * You can obtain a copy of the License at * https://opensso.dev.java.net/public/CDDLv1.0.html or * opensso/legal/CDDLv1.0.txt * See the License for the specific language governing * permission and limitations under the License. * * When distributing Covered Code, include this CDDL * Header Notice in each file and include the License file * at opensso/legal/CDDLv1.0.txt. * If applicable, add the following below the CDDL Header, * with the fields enclosed by brackets [] replaced by * your own identifying information: * "Portions Copyrighted [year] [name of copyright owner]" * * $Id: LDAPUtils.java,v 1.2 2009-08-24 11:37:44 hubertlvg Exp $ * */ import java.util.ArrayList; import java.util.HashMap; import java.util.Hashtable; import java.util.Iterator; import java.util.Map; import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; import javax.naming.Context; import javax.naming.NameNotFoundException; import javax.naming.NamingEnumeration; import javax.naming.NamingException; import javax.naming.directory.Attribute; import javax.naming.directory.Attributes; import javax.naming.directory.BasicAttribute; import javax.naming.directory.BasicAttributes; import javax.naming.directory.DirContext; import javax.naming.directory.InitialDirContext; import javax.naming.directory.SearchControls; import javax.naming.directory.SearchResult; public class Main{ /** * Modifies an attribute. * * @param ctx * @param dn * @param name * @param value * @throws BackendException */ public static void modifyAttribute(DirContext ctx, String dn, String name, String value) throws BackendException { try { ctx.modifyAttributes(dn, DirContext.REPLACE_ATTRIBUTE, new BasicAttributes(name, value)); } catch (NamingException e) { throw new BackendException(e.getMessage()); } } /** * Modifies multiple attributes. * * @param ctx * @param dn * @param map * @return status of modify attempt */ public static boolean modifyAttributes(DirContext ctx, String dn, HashMap map) throws NamingException { boolean modifyStatus = false; BasicAttributes bas = new BasicAttributes(); Set keys = map.keySet(); Iterator i = keys.iterator(); Object keyName = null; while (i.hasNext()) { keyName = i.next(); bas.put((String) keyName, (String) map.get(keyName)); } ctx.modifyAttributes(dn, DirContext.REPLACE_ATTRIBUTE, bas); modifyStatus = true; return modifyStatus; } }