ServerConfigXML.java revision 4a7f808b184baa22b7d071d69828421f4cbd79db
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync * Copyright (c) 2007 Sun Microsystems Inc. All Rights Reserved
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync * The contents of this file are subject to the terms
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync * of the Common Development and Distribution License
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync * (the License). You may not use this file except in
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync * compliance with the License.
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * You can obtain a copy of the License at
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * https://opensso.dev.java.net/public/CDDLv1.0.html or
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * See the License for the specific language governing
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * permission and limitations under the License.
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * When distributing Covered Code, include this CDDL
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync * Header Notice in each file and include the License file
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync * If applicable, add the following below the CDDL Header,
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync * with the fields enclosed by brackets [] replaced by
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync * your own identifying information:
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * "Portions Copyrighted [year] [name of copyright owner]"
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync * $Id: ServerConfigXML.java,v 1.3 2009/08/24 21:04:20 veiming Exp $
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync * Portions Copyrighted 2011-2016 ForgeRock AS.
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync * Server Configuration XML object.
9562e2d410460d8fae06fa24297f172fee1d1995vboxsyncpublic class ServerConfigXML implements Serializable {
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * Creates an object representing server configuration XML.
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync * @param xml the server configuration XML.
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync * @throws Exception if the XML is invalid.
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync defaultServerGroup = new ServerGroup(XMLUtils.getNamedChildNode(root,
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync DSConfigMgr.SERVERGROUP, DSConfigMgr.NAME, DSConfigMgr.DEFAULT));
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync smsServerGroup = new ServerGroup(XMLUtils.getNamedChildNode(root,
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync DSConfigMgr.SERVERGROUP, DSConfigMgr.NAME, "sms"));
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * Returns the default server group.
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * @return the default server group.
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync * Returns the SMS server group.
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync * @return the SMS server group.
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * Returns the XML representation of this object.
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * @return the XML representation of this object.
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync buff.append("<").append(DSConfigMgr.ROOT).append(">\n");
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync buff.append(defaultServerGroup.toXML(DSConfigMgr.DEFAULT));
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync buff.append("</").append( DSConfigMgr.ROOT).append(">\n");
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync * Server Group Object.
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync public List<ServerObject> hosts = new ArrayList<>();
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync public List<DirUserObject> dsUsers = new ArrayList<>();
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * Constructs a Server Group object.
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync * @param node XML node for Server Group blob.
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync if (n.getNodeName().equalsIgnoreCase(DSConfigMgr.SERVER)) {
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync } else if (n.getNodeName().equals(DSConfigMgr.USER)) {
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync } else if (n.getNodeName().equals(DSConfigMgr.BASE_DN)) {
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync dsBaseDN = ((Text)n.getFirstChild()).getNodeValue();
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync * Adds a host to the group.
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * @param name Server name.
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * @param host Host name.
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * @param port Port number.
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * @param type Connection type i.e. Simple/SSL.
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync public void addHost(String name, String host, String port, String type)
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync for (Iterator i = hosts.iterator(); i.hasNext(); ) {
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync "exception.serverconfig.xml.server.name.exist", param);
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync "exception.serverconfig.xml.port.number.no.integer", param);
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * Returns the XML representation of this object.
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * @param groupName Server Group Name.
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * @return the XML representation of this object.
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync for (Iterator i = hosts.iterator(); i.hasNext(); ) {
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync for (Iterator i = dsUsers.iterator(); i.hasNext(); ) {
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync buff.append("<").append(DSConfigMgr.BASE_DN).append(">");
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync buff.append("</").append(DSConfigMgr.BASE_DN).append(">\n");
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync buff.append("</").append(DSConfigMgr.SERVERGROUP).append(">\n");
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync * Server object.
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync public static class ServerObject implements Serializable {
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync * Constructs a Server object.
ac153c99053f1edf42b00bf3a13475923bc4fcf1vboxsync * Constructs a Server object.
ac153c99053f1edf42b00bf3a13475923bc4fcf1vboxsync * @param node XML node for directory user blob.
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * Returns the XML representation of this object.
ac153c99053f1edf42b00bf3a13475923bc4fcf1vboxsync * @return the XML representation of this object.
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync * Directory User object.
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync public class DirUserObject implements Serializable {
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * Constructs a directory User object.
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * @param node XML node for directory user blob.
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync if (n.getNodeName().equalsIgnoreCase(DSConfigMgr.AUTH_ID)) {
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync password = ((Text)n.getFirstChild()).getNodeValue();
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync * Returns the XML representation of this object.
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync * @return the XML representation of this object.
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync buff.append("<").append(DSConfigMgr.AUTH_ID).append(">");
9562e2d410460d8fae06fa24297f172fee1d1995vboxsync buff.append("</").append(DSConfigMgr.AUTH_ID).append(">\n");
6728a36898fd2be125a28e84d2115d19aa4923edvboxsync buff.append("<").append(DSConfigMgr.AUTH_PASSWD).append(">");