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 }