001 //$HeadURL: https://svn.wald.intevation.org/svn/deegree/base/branches/2.3_testing/src/org/deegree/ogcwebservices/wms/configuration/WMSDeegreeParams.java $
002 /*----------------------------------------------------------------------------
003 This file is part of deegree, http://deegree.org/
004 Copyright (C) 2001-2009 by:
005 Department of Geography, University of Bonn
006 and
007 lat/lon GmbH
008
009 This library is free software; you can redistribute it and/or modify it under
010 the terms of the GNU Lesser General Public License as published by the Free
011 Software Foundation; either version 2.1 of the License, or (at your option)
012 any later version.
013 This library is distributed in the hope that it will be useful, but WITHOUT
014 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
015 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
016 details.
017 You should have received a copy of the GNU Lesser General Public License
018 along with this library; if not, write to the Free Software Foundation, Inc.,
019 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
020
021 Contact information:
022
023 lat/lon GmbH
024 Aennchenstr. 19, 53177 Bonn
025 Germany
026 http://lat-lon.de/
027
028 Department of Geography, University of Bonn
029 Prof. Dr. Klaus Greve
030 Postfach 1147, 53001 Bonn
031 Germany
032 http://www.geographie.uni-bonn.de/deegree/
033
034 e-mail: info@deegree.org
035 ----------------------------------------------------------------------------*/
036 package org.deegree.ogcwebservices.wms.configuration;
037
038 import java.net.URL;
039 import java.util.List;
040
041 import org.deegree.enterprise.DeegreeParams;
042 import org.deegree.enterprise.Proxy;
043 import org.deegree.model.metadata.iso19115.OnlineResource;
044
045 /**
046 *
047 *
048 * @author <a href="mailto:poth@lat-lon.de">Andreas Poth</a>
049 * @author <a href="mailto:mschneider@lat-lon.de">Markus Schneider</a>
050 * @version $Revision: 18195 $
051 */
052 public class WMSDeegreeParams extends DeegreeParams {
053
054 private static final long serialVersionUID = -8725187234309726943L;
055
056 private float mapQuality = 0.95f;
057
058 private int maxLifeTime = 3600;
059
060 private int maxMapWidth = 1000;
061
062 private int maxMapHeight = 1000;
063
064 private String copyRight = "";
065
066 private URL schemaLocation = null;
067
068 private URL dtdLocation = null;
069
070 private Proxy proxy = null;
071
072 private boolean antiAliased = false;
073
074 private int featureInfoRadius = 5;
075
076 private List<String> supportedVersions;
077
078 private URL featureSchemaLocation;
079
080 private String featureSchemaNamespace;
081
082 private boolean filtersAllowed;
083
084 private String defaultPNGFormat;
085
086 /**
087 *
088 * @param cacheSize
089 * @param maxLifeTime
090 * @param requestTimeLimit
091 * @param mapQuality
092 * @param defaultOnlineResource
093 * @param maxMapWidth
094 * @param maxMapHeight
095 * @param antiAliased
096 * @param featureInfoRadius
097 * (default = 5)
098 * @param copyRight
099 * @param schemaLocation
100 * @param dtdLocation
101 * @param proxy
102 * @param supportedVersions
103 * @param featureSchemaLocation
104 * @param featureSchemaNamespace
105 * @param filtersAllowed
106 */
107 public WMSDeegreeParams( int cacheSize, int maxLifeTime, int requestTimeLimit, float mapQuality,
108 OnlineResource defaultOnlineResource, int maxMapWidth, int maxMapHeight,
109 boolean antiAliased, int featureInfoRadius, String copyRight, URL schemaLocation,
110 URL dtdLocation, Proxy proxy, List<String> supportedVersions, URL featureSchemaLocation,
111 String featureSchemaNamespace, boolean filtersAllowed ) {
112 super( defaultOnlineResource, cacheSize, requestTimeLimit );
113 this.maxLifeTime = maxLifeTime;
114 this.mapQuality = mapQuality;
115 this.maxMapHeight = maxMapHeight;
116 this.maxMapWidth = maxMapWidth;
117 this.antiAliased = antiAliased;
118 this.copyRight = copyRight;
119 this.schemaLocation = schemaLocation;
120 this.dtdLocation = dtdLocation;
121 this.proxy = proxy;
122 this.featureInfoRadius = featureInfoRadius;
123 this.supportedVersions = supportedVersions;
124 this.featureSchemaLocation = featureSchemaLocation;
125 this.featureSchemaNamespace = featureSchemaNamespace;
126 this.filtersAllowed = filtersAllowed;
127 }
128
129 /**
130 * @param cacheSize
131 * @param maxLifeTime
132 * @param requestTimeLimit
133 * @param mapQuality
134 * @param defaultOnlineResource
135 * @param maxMapWidth
136 * @param maxMapHeight
137 * @param antiAliased
138 * @param featureInfoRadius
139 * @param copyRight
140 * @param schemaLocation
141 * @param dtdLocation
142 * @param proxy
143 * @param supportedVersions
144 * @param featureSchemaLocation
145 * @param featureSchemaNamespace
146 * @param filtersAllowed
147 * @param defaultPNGFormat
148 */
149 public WMSDeegreeParams( int cacheSize, int maxLifeTime, int requestTimeLimit, float mapQuality,
150 OnlineResource defaultOnlineResource, int maxMapWidth, int maxMapHeight,
151 boolean antiAliased, int featureInfoRadius, String copyRight, URL schemaLocation,
152 URL dtdLocation, Proxy proxy, List<String> supportedVersions, URL featureSchemaLocation,
153 String featureSchemaNamespace, boolean filtersAllowed, String defaultPNGFormat ) {
154 this( cacheSize, maxLifeTime, requestTimeLimit, mapQuality, defaultOnlineResource, maxMapWidth, maxMapHeight,
155 antiAliased, featureInfoRadius, copyRight, schemaLocation, dtdLocation, proxy, supportedVersions,
156 featureSchemaLocation, featureSchemaNamespace, filtersAllowed );
157 this.defaultPNGFormat = defaultPNGFormat;
158 }
159
160 /**
161 * @return the maximum life time of the internal processes (Threads) of the deegree WMS. default is 3600 seconds.
162 * Datasources that are linked to WMS are not targeted by this value.
163 *
164 *
165 */
166 public int getMaxLifeTime() {
167 return maxLifeTime;
168 }
169
170 /**
171 * @return a copy right note to draw at the left side of the maps bottom
172 *
173 */
174 public String getCopyRight() {
175 return copyRight;
176 }
177
178 /**
179 * @return the quality of the map for none loss-less image formats. the value ranges from 0 (lowest quality) to 1
180 * (best quality)
181 * <p>
182 * Default is 0.95
183 */
184 public float getMapQuality() {
185 return mapQuality;
186 }
187
188 /**
189 * @return the maximum map height that can be requested. If the GetMap-Parameter 'HEIGHT' extends max map width an
190 * exception shall be returned to the client.
191 * <p>
192 * Default is 1000
193 */
194 public int getMaxMapHeight() {
195 return maxMapHeight;
196 }
197
198 /**
199 * @return the maximum map width that can be requested. If the GetMap-Parameter 'WIDTH' extends max map width an
200 * exception shall be returned to the client.
201 * <p>
202 * Default is 1000
203 */
204 public int getMaxMapWidth() {
205 return maxMapWidth;
206 }
207
208 /**
209 * @return the URL where the sxm schema definition of the response to an GetFeatureInfo request is located
210 */
211 public URL getSchemaLocation() {
212 return schemaLocation;
213 }
214
215 /**
216 * @return the URL where the DTD defining the OGC WMS capabilities is located
217 */
218 public URL getDTDLocation() {
219 return dtdLocation;
220 }
221
222 /**
223 * @return the proxy used with the WMS.
224 */
225 public Proxy getProxy() {
226 return proxy;
227 }
228
229 /**
230 * @return true if a map shall be rendered with antialising
231 */
232 public boolean isAntiAliased() {
233 return antiAliased;
234 }
235
236 /**
237 * @return the radius (pixel) of the area considered for a feature info request (default = 5px)
238 */
239 public int getFeatureInfoRadius() {
240 return featureInfoRadius;
241 }
242
243 /**
244 * @return the supportedVersions.
245 */
246 public List<String> getSupportedVersions() {
247 return supportedVersions;
248 }
249
250 /**
251 * @param maxMapHeight
252 * The maxMapHeight to set.
253 */
254 public void setMaxMapHeight( int maxMapHeight ) {
255 this.maxMapHeight = maxMapHeight;
256 }
257
258 /**
259 * @param maxMapWidth
260 * The maxMapWidth to set.
261 */
262 public void setMaxMapWidth( int maxMapWidth ) {
263 this.maxMapWidth = maxMapWidth;
264 }
265
266 /**
267 * @return Returns the featureSchemaLocation.
268 */
269 public URL getFeatureSchemaLocation() {
270 return featureSchemaLocation;
271 }
272
273 /**
274 * @return Returns the featureSchemaNamespace.
275 */
276 public String getFeatureSchemaNamespace() {
277 return featureSchemaNamespace;
278 }
279
280 /**
281 * @return whether filters are supported by this WMS
282 */
283 public boolean getFiltersAllowed() {
284 return filtersAllowed;
285 }
286
287 /**
288 * @return the default PNG format (; mode=8bit/; mode=24bit), or null if not specified
289 */
290 public String getDefaultPNGFormat() {
291 return defaultPNGFormat;
292 }
293
294 }