/*************************************************** * * cismet GmbH, Saarbruecken, Germany * * ... and it just works. * ****************************************************/ package de.cismet.cismap.commons.raster.wms; import de.cismet.cismap.commons.LayerInfoProvider; import de.cismet.cismap.commons.interaction.CismapBroker; import de.cismet.cismap.commons.wms.capabilities.Layer; import de.cismet.cismap.commons.wms.capabilities.Style; /** * DOCUMENT ME! * * @author thorsten.hell@cismet.de * @version $Revision$, $Date$ */ public class WMSLayer implements LayerInfoProvider { //~ Instance fields -------------------------------------------------------- private boolean enabled; private Style selectedStyle; private boolean querySelected; private Layer ogcCapabilitiesLayer; private WMSServiceLayer parentServiceLayer = null; private String name; private String styleName; //~ Constructors ----------------------------------------------------------- /** * Creates a new instance of WMSLayer. * * @param ogcCapabilitiesLayer DOCUMENT ME! * @param selectedStyle DOCUMENT ME! */ public WMSLayer(final Layer ogcCapabilitiesLayer, final Style selectedStyle) { this.ogcCapabilitiesLayer = ogcCapabilitiesLayer; this.selectedStyle = selectedStyle; enabled = true; querySelected = false; this.selectedStyle = selectedStyle; } /** * Creates a new instance of WMSLayer. * * @param name ogcCapabilitiesLayer DOCUMENT ME! * @param styleName DOCUMENT ME! * @param enabled DOCUMENT ME! * @param querySelected DOCUMENT ME! */ public WMSLayer(final String name, final String styleName, final boolean enabled, final boolean querySelected) { this.name = name; this.styleName = styleName; this.enabled = enabled; this.querySelected = querySelected; } //~ Methods ---------------------------------------------------------------- @Override public String toString() { if (ogcCapabilitiesLayer != null) { return ogcCapabilitiesLayer.getTitle(); } else { return name; } } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ public boolean isEnabled() { return enabled; } /** * DOCUMENT ME! * * @param enabled DOCUMENT ME! */ public void setEnabled(final boolean enabled) { this.enabled = enabled; if (!enabled) { if (parentServiceLayer != null) { parentServiceLayer.disableWhenChildrenDisabled(); } } } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ public Style getSelectedStyle() { return selectedStyle; } /** * DOCUMENT ME! * * @param selectedStyle DOCUMENT ME! */ public void setSelectedStyle(final Style selectedStyle) { this.selectedStyle = selectedStyle; } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ public boolean isQuerySelected() { return querySelected; } /** * DOCUMENT ME! * * @param querySelected DOCUMENT ME! */ public void setQuerySelected(final boolean querySelected) { this.querySelected = querySelected; } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ public Layer getOgcCapabilitiesLayer() { return ogcCapabilitiesLayer; } /** * DOCUMENT ME! * * @param ogcCapabilitiesLayer DOCUMENT ME! */ public void setOgcCapabilitiesLayer(final Layer ogcCapabilitiesLayer) { this.ogcCapabilitiesLayer = ogcCapabilitiesLayer; } /** * DOCUMENT ME! * * @param srs DOCUMENT ME! * * @return DOCUMENT ME! */ public boolean isSrsSupported(final String srs) { return ogcCapabilitiesLayer.isSrsSupported(srs); } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ public WMSServiceLayer getParentServiceLayer() { return parentServiceLayer; } /** * DOCUMENT ME! * * @param parentServiceLayer DOCUMENT ME! */ public void setParentServiceLayer(final WMSServiceLayer parentServiceLayer) { this.parentServiceLayer = parentServiceLayer; } @Override public String getLayerURI() { return ogcCapabilitiesLayer.getName(); } @Override public String getServerURI() { return parentServiceLayer.getCapabilitiesUrl(); } @Override public boolean isLayerQuerySelected() { return isQuerySelected(); } @Override public void setLayerQuerySelected(final boolean selected) { setQuerySelected(selected); } @Override public boolean isQueryable() { if (isDummy()) { return querySelected; } else { return getOgcCapabilitiesLayer().isQueryable(); } } @Override public Layer getLayerInformation() { return null; } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ public boolean isDummy() { return ogcCapabilitiesLayer == null; } /** * DOCUMENT ME! * * @return the styleName */ public String getStyleName() { return styleName; } /** * DOCUMENT ME! * * @param styleName the styleName to set */ public void setStyleName(final String styleName) { this.styleName = styleName; } }