/* (c) 2014 Open Source Geospatial Foundation - all rights reserved
* (c) 2001 - 2013 OpenPlans
* This code is licensed under the GPL 2.0 license, available at the root
* application directory.
*/
package org.geoserver.catalog.impl;
import java.io.IOException;
import org.geoserver.catalog.Catalog;
import org.geoserver.catalog.CatalogVisitor;
import org.geoserver.catalog.WMSStoreInfo;
import org.geotools.data.wms.WebMapServer;
import org.opengis.util.ProgressListener;
@SuppressWarnings("serial")
public class WMSStoreInfoImpl extends StoreInfoImpl implements WMSStoreInfo {
public static final int DEFAULT_MAX_CONNECTIONS = 6;
public static final int DEFAULT_CONNECT_TIMEOUT = 30;
public static final int DEFAULT_READ_TIMEOUT = 60;
String capabilitiesURL;
private String user;
private String password;
private int maxConnections;
private int readTimeout;
private int connectTimeout;
protected WMSStoreInfoImpl() {
}
public WMSStoreInfoImpl(Catalog catalog) {
super(catalog);
}
public String getCapabilitiesURL() {
return capabilitiesURL;
}
public void setCapabilitiesURL(String capabilitiesURL) {
this.capabilitiesURL = capabilitiesURL;
}
@Override
public String getUsername() {
return user;
}
@Override
public void setUsername(String user) {
this.user = user;
}
@Override
public String getPassword() {
return password;
}
@Override
public void setPassword(String password) {
this.password = password;
}
@Override
public int getMaxConnections() {
return maxConnections;
}
@Override
public void setMaxConnections(int maxConcurrentConnections) {
this.maxConnections = maxConcurrentConnections;
}
@Override
public int getReadTimeout() {
return readTimeout;
}
@Override
public void setReadTimeout(int timeoutSeconds) {
this.readTimeout = timeoutSeconds;
}
@Override
public int getConnectTimeout() {
return connectTimeout;
}
@Override
public void setConnectTimeout(int timeoutSeconds) {
this.connectTimeout = timeoutSeconds;
}
public void accept(CatalogVisitor visitor) {
visitor.visit(this);
}
public WebMapServer getWebMapServer(ProgressListener listener) throws IOException {
return getCatalog().getResourcePool().getWebMapServer(this);
}
@Override
public boolean isUseConnectionPooling() {
Boolean useConnectionPooling = getMetadata().get("useConnectionPooling", Boolean.class);
return useConnectionPooling == null ? Boolean.TRUE : useConnectionPooling;
}
@Override
public void setUseConnectionPooling(boolean useHttpConnectionPooling) {
getMetadata().put("useConnectionPooling", Boolean.valueOf(useHttpConnectionPooling));
}
}