/** * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * * Copyright (c) 2005 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: NamingRequestParser.java,v 1.4 2008/06/25 05:41:40 qcheng Exp $ * */ package com.iplanet.services.naming.share; import org.w3c.dom.Document; import org.w3c.dom.Element; import com.sun.identity.shared.debug.Debug; import com.sun.identity.shared.xml.XMLUtils; class NamingRequestParser { /** * Document to be parsed */ private Document document; static Debug debug = Debug.getInstance("amNaming"); /** * Class constructor with NamingRequest * in Document format. * @param xmlDoc A DOM representing NamingRequest class. */ public NamingRequestParser(Document xmlDoc) { document = xmlDoc; } /** * Class constructor with NamingRequest * in String format. * @param xmlString A string representing NamingRequest class. */ public NamingRequestParser(String xmlString) { document = XMLUtils.toDOMDocument(xmlString, debug); } /** * Parses the naming request xml document. Please see file NamingRequest.dtd * for the corresponding DTD of the request. * * @return a NamingRequest object. */ public NamingRequest parseXML() { if (document == null) { return null; } // get naming request element Element elem = document.getDocumentElement(); NamingRequest namingRequest = new NamingRequest(); // set naming request attributes String temp = elem.getAttribute("vers"); if (temp != null) { namingRequest.setRequestVersion(temp); } temp = elem.getAttribute("reqid"); if (temp != null) { namingRequest.setRequestID(temp); } temp = elem.getAttribute("sessid"); if ((temp != null) && ((temp.trim()).length() != 0)) { namingRequest.setSessionId(temp); } else { namingRequest.setSessionId(null); } temp = elem.getAttribute("preferredNamingURL"); if ((temp != null) && ((temp.trim()).length() != 0)) { namingRequest.setPreferredNamingURL(temp); } else { namingRequest.setPreferredNamingURL(null); } return namingRequest; } }