org.integratedmodelling.engine.geospace.coverage.vector.WFSCoverage Maven / Gradle / Ivy
The newest version!
/*******************************************************************************
* Copyright (C) 2007, 2014:
*
* - Ferdinando Villa - integratedmodelling.org - any
* other authors listed in @author annotations
*
* All rights reserved. This file is part of the k.LAB software suite, meant to enable
* modular, collaborative, integrated development of interoperable data and model
* components. For details, see http://integratedmodelling.org.
*
* This program is free software; you can redistribute it and/or modify it under the terms
* of the Affero General Public License Version 3 or any later version.
*
* This program is distributed in the hope that it will be useful, but without any
* warranty; without even the implied warranty of merchantability or fitness for a
* particular purpose. See the Affero General Public License for more details.
*
* You should have received a copy of the Affero General Public License along with this
* program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite
* 330, Boston, MA 02111-1307, USA. The license is also available at:
* https://www.gnu.org/licenses/agpl.html
*******************************************************************************/
package org.integratedmodelling.engine.geospace.coverage.vector;
import java.io.IOException;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
import org.geotools.data.DataStore;
import org.geotools.data.DataStoreFinder;
import org.geotools.data.wfs.WFSDataStoreFactory;
import org.integratedmodelling.common.utils.NetUtilities;
import org.integratedmodelling.common.vocabulary.KlabUrn;
import org.integratedmodelling.exceptions.KlabException;
import org.integratedmodelling.exceptions.KlabIOException;
public class WFSCoverage extends AbstractVectorCoverage {
public static final int TIMEOUT = 100000;
public static final int BUFFER_SIZE = 512;
DataStore store = null;
public WFSCoverage(URL service, String id, String valueField, String filter, String authentication)
throws KlabException {
super(service, id, valueField, filter, authentication);
}
@Override
protected DataStore getDataStore() throws KlabException {
if (store == null) {
Integer wfsTimeout = TIMEOUT;
Integer wfsBufsize = BUFFER_SIZE;
// if we don't do this, it will take the first layer in WFS
coverageId = layerName;
Map