Java examples for javax.naming.directory:Attributes
add LDAP Attribute Values
/**/*from w w w . j ava2 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 $ * */ //package com.java2s; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.Set; import javax.naming.NamingException; import javax.naming.directory.BasicAttribute; import javax.naming.directory.BasicAttributes; import javax.naming.directory.DirContext; public class Main { public static void addAttributeValues(DirContext ctx, String dn, String name, ArrayList<String> values) throws NamingException { BasicAttributes as = new BasicAttributes(); BasicAttribute attr = new BasicAttribute(name); for (Iterator<String> v = values.iterator(); v.hasNext();) { attr.add(v.next()); } as.put(attr); ctx.modifyAttributes(dn, DirContext.ADD_ATTRIBUTE, as); } /** * 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; } }