001: //$HeadURL: $
002: /*---------------- FILE HEADER ------------------------------------------
003: This file is part of deegree.
004: Copyright (C) 2001-2008 by:
005: Department of Geography, University of Bonn
006: http://www.giub.uni-bonn.de/deegree/
007: lat/lon GmbH
008: http://www.lat-lon.de
009:
010: This library is free software; you can redistribute it and/or
011: modify it under the terms of the GNU Lesser General Public
012: License as published by the Free Software Foundation; either
013: version 2.1 of the License, or (at your option) any later version.
014: This library is distributed in the hope that it will be useful,
015: but WITHOUT ANY WARRANTY; without even the implied warranty of
016: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
017: Lesser General Public License for more details.
018: You should have received a copy of the GNU Lesser General Public
019: License along with this library; if not, write to the Free Software
020: Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
021: Contact:
022:
023: Andreas Poth
024: lat/lon GmbH
025: Aennchenstr. 19
026: 53177 Bonn
027: Germany
028: E-Mail: poth@lat-lon.de
029:
030: Prof. Dr. Klaus Greve
031: Department of Geography
032: University of Bonn
033: Meckenheimer Allee 166
034: 53115 Bonn
035: Germany
036: E-Mail: greve@giub.uni-bonn.de
037: ---------------------------------------------------------------------------*/
038:
039: package org.deegree.owscommon_1_1_0.operations;
040:
041: import static org.deegree.framework.xml.XMLTools.*;
042:
043: import java.util.ArrayList;
044: import java.util.List;
045:
046: import org.deegree.framework.xml.XMLFragment;
047: import org.deegree.framework.xml.XMLParsingException;
048: import org.deegree.ogcbase.CommonNamespaces;
049: import org.w3c.dom.Element;
050:
051: /**
052: * <code>GetResourceByID</code> supplies the methods for parsing the ows 1.1.0 GetResourceById xml-dom structure.
053: *
054: * @author <a href="mailto:bezema@lat-lon.de">Rutger Bezema</a>
055: *
056: * @author last edited by: $Author:$
057: *
058: * @version $Revision:$, $Date:$
059: *
060: */
061: public class GetResourceByIDDocument extends XMLFragment {
062:
063: private static final long serialVersionUID = 2061011143514168497L;
064:
065: private static final String PRE = CommonNamespaces.OWS_1_1_0PREFIX
066: + ":";
067:
068: /**
069: * @return a list of resourceID uri's or an empty list if no resourceID's were given.
070: * @throws XMLParsingException
071: * if the node could not be parsed.
072: */
073: public List<String> parseResourceIDs() throws XMLParsingException {
074: Element root = getRootElement();
075: List<String> result = new ArrayList<String>();
076: if (root != null) {
077: result = getNodesAsStringList(root, PRE + "ResourceID",
078: nsContext);
079: }
080: return result;
081: }
082:
083: /**
084: * @return a String containing an output format (mime-type) or an empty String if no output format was given.
085: * @throws XMLParsingException
086: * if the node could not be parsed.
087: */
088: public String parseOutputFormats() throws XMLParsingException {
089: Element root = getRootElement();
090: String result = new String();
091: if (root != null) {
092: result = getNodeAsString(root, PRE + "OutputFormat",
093: nsContext, "");
094: }
095: return result;
096: }
097:
098: /**
099: * @return the mandatory version string.
100: * @throws XMLParsingException
101: * if the attribute was not given.
102: */
103: public String parseVersion() throws XMLParsingException {
104: Element root = getRootElement();
105: String result = new String();
106: if (root != null) {
107: result = root.getAttribute("version");
108: if (result == null || "".equals(result.trim())) {
109: throw new XMLParsingException(
110: "The version attribute is mandatory for a resourceById (ows 1.1.0) request");
111: }
112:
113: }
114: return result;
115: }
116:
117: /**
118: * @return the mandatory service string.
119: * @throws XMLParsingException
120: * if the attribute was not given.
121: */
122: public String parseService() throws XMLParsingException {
123: Element root = getRootElement();
124: String result = new String();
125: if (root != null) {
126: result = root.getAttribute("service");
127: if (result == null || "".equals(result.trim())) {
128: throw new XMLParsingException(
129: "The service attribute is mandatory for a resourceById (ows 1.1.0) request");
130: }
131: }
132: return result;
133: }
134:
135: }
|