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