001: // $HeadURL:
002: // /cvsroot/deegree/src/org/deegree/ogcwebservices/wms/protocol/WMSProtocolFactory.java,v
003: // 1.7 2004/07/12 06:12:11 ap Exp $
004: /*---------------- FILE HEADER ------------------------------------------
005:
006: This file is part of deegree.
007: Copyright (C) 2001-2008 by:
008: EXSE, Department of Geography, University of Bonn
009: http://www.giub.uni-bonn.de/deegree/
010: lat/lon GmbH
011: http://www.lat-lon.de
012:
013: This library is free software; you can redistribute it and/or
014: modify it under the terms of the GNU Lesser General Public
015: License as published by the Free Software Foundation; either
016: version 2.1 of the License, or (at your option) any later version.
017:
018: This library is distributed in the hope that it will be useful,
019: but WITHOUT ANY WARRANTY; without even the implied warranty of
020: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
021: Lesser General Public License for more details.
022:
023: You should have received a copy of the GNU Lesser General Public
024: License along with this library; if not, write to the Free Software
025: Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
026:
027: Contact:
028:
029: Andreas Poth
030: lat/lon GmbH
031: Aennchenstr. 19
032: 53115 Bonn
033: Germany
034: E-Mail: poth@lat-lon.de
035:
036: Prof. Dr. Klaus Greve
037: Department of Geography
038: University of Bonn
039: Meckenheimer Allee 166
040: 53115 Bonn
041: Germany
042: E-Mail: greve@giub.uni-bonn.de
043:
044:
045: ---------------------------------------------------------------------------*/
046: package org.deegree.ogcwebservices.wms.operation;
047:
048: import org.deegree.ogcwebservices.AbstractOGCWebServiceRequest;
049: import org.deegree.ogcwebservices.OGCWebServiceException;
050: import org.deegree.ogcwebservices.OGCWebServiceRequest;
051: import org.deegree.ogcwebservices.wms.configuration.WMSConfigurationType;
052: import org.w3c.dom.Document;
053:
054: /**
055: * Factory that builds the different types of WMS-Requests & Responses.
056: *
057: * @author <a href="mailto:mschneider@lat-lon.de">Markus Schneider </a>
058: * @author <a href="mailto:poth@lat-lon.de">Andreas Poth </a>
059: * @author <a href="mailto:wanhoff@uni-bonn.de">Jeronimo Wanhoff </a>
060: * @version $Revision: 9345 $ $Date: 2007-12-27 08:22:25 -0800 (Thu, 27 Dec 2007) $
061: */
062: public class WMSProtocolFactory {
063:
064: /**
065: * creates an instance of a <tt>WMSGetCapabilitiesResult</tt> object
066: *
067: * @param request
068: * request that lead to the response
069: * @param exception
070: * exception if one occuered
071: * @param capabilities
072: * WMS capabilities
073: *
074: * @return <tt>WMSGetCapabilitiesResult</tt>
075: */
076: public static WMSGetCapabilitiesResult createGetCapabilitiesResponse(
077: OGCWebServiceRequest request,
078: OGCWebServiceException exception,
079: WMSConfigurationType capabilities) {
080:
081: WMSGetCapabilitiesResult res = null;
082: if (exception != null) {
083: res = new WMSGetCapabilitiesResult(request, exception);
084: } else {
085: res = new WMSGetCapabilitiesResult(request, capabilities);
086: }
087:
088: return res;
089: }
090:
091: /**
092: * creates a <tt>WFSGetMapResponse</tt> object
093: *
094: * @param request
095: * a copy of the request that leads to this response
096: * @param exception
097: * a describtion of an excetion (only if raised)
098: * @param response
099: * the response to the request
100: * @return the result
101: */
102: public static GetMapResult createGetMapResponse(
103: OGCWebServiceRequest request,
104: OGCWebServiceException exception, Object response) {
105:
106: GetMapResult res = null;
107: if (exception != null) {
108: res = new GetMapResult(request, exception);
109: } else {
110: res = new GetMapResult(request, response);
111: }
112:
113: return res;
114: }
115:
116: /**
117: * creates a <tt>WFSGetFeatureInfoResponse</tt> object
118: *
119: * @param request
120: * a copy of the request that leads to this response
121: * @param exception
122: * a describtion of an excetion (only if raised)
123: * @param featureInfo
124: * @return the result object
125: */
126: public static GetFeatureInfoResult createGetFeatureInfoResponse(
127: OGCWebServiceRequest request,
128: OGCWebServiceException exception, String featureInfo) {
129:
130: GetFeatureInfoResult res = null;
131: if (exception != null) {
132: res = new GetFeatureInfoResult(request, exception);
133: } else {
134: res = new GetFeatureInfoResult(request, featureInfo);
135: }
136:
137: return res;
138: }
139:
140: /**
141: * @param request
142: * @param legendGraphic
143: * @return the result object
144: */
145: public static GetLegendGraphicResult createGetLegendGraphicResponse(
146: OGCWebServiceRequest request, Object legendGraphic) {
147: return new GetLegendGraphicResult(request, legendGraphic);
148: }
149:
150: /**
151: * @param request
152: * @param exception
153: * @return the result object
154: */
155: public static GetLegendGraphicResult createGetLegendGraphicResponse(
156: AbstractOGCWebServiceRequest request, Document exception) {
157: return new GetLegendGraphicResult(request, exception);
158: }
159:
160: }
|