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 17:22:25 +0100 (Do, 27 Dez 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( OGCWebServiceRequest request,
077 OGCWebServiceException exception,
078 WMSConfigurationType capabilities ) {
079
080 WMSGetCapabilitiesResult res = null;
081 if ( exception != null ) {
082 res = new WMSGetCapabilitiesResult( request, exception );
083 } else {
084 res = new WMSGetCapabilitiesResult( request, capabilities );
085 }
086
087 return res;
088 }
089
090 /**
091 * creates a <tt>WFSGetMapResponse</tt> object
092 *
093 * @param request
094 * a copy of the request that leads to this response
095 * @param exception
096 * a describtion of an excetion (only if raised)
097 * @param response
098 * the response to the request
099 * @return the result
100 */
101 public static GetMapResult createGetMapResponse( OGCWebServiceRequest request, OGCWebServiceException exception,
102 Object response ) {
103
104 GetMapResult res = null;
105 if ( exception != null ) {
106 res = new GetMapResult( request, exception );
107 } else {
108 res = new GetMapResult( request, response );
109 }
110
111 return res;
112 }
113
114 /**
115 * creates a <tt>WFSGetFeatureInfoResponse</tt> object
116 *
117 * @param request
118 * a copy of the request that leads to this response
119 * @param exception
120 * a describtion of an excetion (only if raised)
121 * @param featureInfo
122 * @return the result object
123 */
124 public static GetFeatureInfoResult createGetFeatureInfoResponse( OGCWebServiceRequest request,
125 OGCWebServiceException exception,
126 String featureInfo ) {
127
128 GetFeatureInfoResult res = null;
129 if ( exception != null ) {
130 res = new GetFeatureInfoResult( request, exception );
131 } else {
132 res = new GetFeatureInfoResult( request, featureInfo );
133 }
134
135 return res;
136 }
137
138 /**
139 * @param request
140 * @param legendGraphic
141 * @return the result object
142 */
143 public static GetLegendGraphicResult createGetLegendGraphicResponse( OGCWebServiceRequest request,
144 Object legendGraphic ) {
145 return new GetLegendGraphicResult( request, legendGraphic );
146 }
147
148 /**
149 * @param request
150 * @param exception
151 * @return the result object
152 */
153 public static GetLegendGraphicResult createGetLegendGraphicResponse( AbstractOGCWebServiceRequest request,
154 Document exception ) {
155 return new GetLegendGraphicResult( request, exception );
156 }
157
158 }