001 //$HeadURL: https://svn.wald.intevation.org/svn/deegree/base/branches/2.3_testing/src/org/deegree/ogcwebservices/wms/configuration/LocalWCSDataSource.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.awt.Color;
039 import java.net.URL;
040
041 import org.deegree.datatypes.QualifiedName;
042 import org.deegree.model.spatialschema.Geometry;
043 import org.deegree.ogcwebservices.OGCWebService;
044 import org.deegree.ogcwebservices.wcs.WCService;
045 import org.deegree.ogcwebservices.wcs.configuration.WCSConfiguration;
046 import org.deegree.ogcwebservices.wcs.getcoverage.GetCoverage;
047 import org.deegree.ogcwebservices.wms.capabilities.ScaleHint;
048
049 /**
050 * Data source description for a LOCALWCS datasource
051 *
052 * @author <a href="mailto:poth@lat-lon.de">Andreas Poth </a>
053 * @version $Revision: 18195 $, $Date: 2009-06-18 17:55:39 +0200 (Do, 18. Jun 2009) $
054 */
055 public class LocalWCSDataSource extends AbstractDataSource {
056
057 private GetCoverage getCoverage = null;
058
059 private Color[] transparentColors = null;
060
061 /**
062 * Creates a new DataSource object.
063 *
064 * @param querable
065 * @param failOnException
066 *
067 * @param name
068 * name of the featuretype to access
069 * @param type
070 * type of the data source (REMOTEWCS, LOCALWCS)
071 * @param ows
072 * <tt>OGCWebService</tt> instance for accessing the data source
073 * @param capabilitiesURL
074 * @param scaleHint
075 * @param validArea
076 * @param getCoverage
077 * filter condition
078 * @param transparentColors
079 * @param reqTimeLimit
080 */
081 public LocalWCSDataSource( boolean querable, boolean failOnException, QualifiedName name, int type,
082 OGCWebService ows, URL capabilitiesURL, ScaleHint scaleHint, Geometry validArea,
083 GetCoverage getCoverage, Color[] transparentColors, int reqTimeLimit ) {
084 super( querable, failOnException, name, type, ows, capabilitiesURL, scaleHint, validArea, null, reqTimeLimit, null );
085 this.getCoverage = getCoverage;
086 this.transparentColors = transparentColors;
087 }
088
089 /**
090 * returns an instance of a <tt>WCSGetCoverageRequest</tt> encapsulating the filter conditions
091 * against a remote WCS. The request object contains: VERSION, LAYER, FORMAT,
092 * VENDORSPECIFICPARAMETERS
093 *
094 * @return filter conditions
095 *
096 */
097 public GetCoverage getGetCoverageRequest() {
098 return getCoverage;
099 }
100
101 /**
102 * @return an array of colors that shall be treated as transparent
103 */
104 public Color[] getTransparentColors() {
105 return transparentColors;
106 }
107
108 /**
109 * @return an instance of the <tt>OGCWebService</tt> that represents the datasource. Notice:
110 * if more than one layer uses data that are offered by the same OWS the deegree WMS
111 * shall just use one instance for accessing the OWS
112 *
113 */
114 @Override
115 public OGCWebService getOGCWebService() {
116 return new WCService( (WCSConfiguration) ows.getCapabilities() );
117 }
118 }