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