Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/map/WMSLayerFacet.java @ 4357:11cf29eb002c
FacetTypes: New type: exreme_wq_curve_base (for the Stuetz-Q-Poits).
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Fri, 02 Nov 2012 11:58:11 +0100 |
parents | 9fac337192c9 |
children |
line wrap: on
line source
package de.intevation.flys.artifacts.model.map; import com.vividsolutions.jts.geom.Envelope; import de.intevation.artifactdatabase.state.DefaultFacet; import de.intevation.artifactdatabase.state.Facet; import de.intevation.artifacts.Artifact; import de.intevation.artifacts.ArtifactNamespaceContext; import de.intevation.artifacts.CallContext; import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator; import de.intevation.flys.artifacts.states.DefaultState.ComputeType; import de.intevation.flys.utils.GeometryUtils; import java.util.ArrayList; import java.util.List; import org.apache.log4j.Logger; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; public class WMSLayerFacet extends DefaultFacet { protected ComputeType type; protected List<String> layers; protected String stateId; protected String hash; protected String url; protected Envelope extent; protected Envelope originalExtent; protected String srid; private static final Logger logger = Logger.getLogger(WMSLayerFacet.class); public WMSLayerFacet() { } public WMSLayerFacet(int index, String name, String description) { this(index, name, description, ComputeType.FEED, null, null); } public WMSLayerFacet( int index, String name, String description, ComputeType type, String stateId, String hash ) { super(index, name, description); this.layers = new ArrayList<String>(); this.type = type; this.stateId = stateId; this.hash = hash; } public WMSLayerFacet( int index, String name, String description, ComputeType type, String stateId, String hash, String url ) { this(index, name, description, type, stateId, hash); this.url = url; } public void addLayer(String name) { if (name != null && name.length() > 0) { layers.add(name); } } public List<String> getLayers() { return layers; } public void removeLayer(String layer) { if (layers != null) { layers.remove(layer); } } public void setExtent(Envelope extent) { if (extent != null) { this.extent = extent; } else { logger.debug("setExtent(): extent is null"); } } public Envelope getExtent() { return extent; } public void setOriginalExtent(Envelope originalExtent) { this.originalExtent = originalExtent; } public Envelope getOriginalExtent() { return originalExtent; } public void setSrid(String srid) { if (srid != null) { this.srid = srid; } } public String getSrid() { return srid; } @Override public Object getData(Artifact artifact, CallContext context) { return null; } @Override public Node toXML(Document doc) { ElementCreator ec = new ElementCreator( doc, ArtifactNamespaceContext.NAMESPACE_URI, ArtifactNamespaceContext.NAMESPACE_PREFIX); Element facet = ec.create("facet"); ec.addAttr(facet, "description", description, true); ec.addAttr(facet, "index", String.valueOf(index), true); ec.addAttr(facet, "name", name, true); ec.addAttr(facet, "url", url, true); ec.addAttr(facet, "layers", layers.get(0), true); ec.addAttr(facet, "srid", srid != null ? srid : "", true); ec.addAttr(facet, "extent", originalExtent != null ? GeometryUtils.jtsBoundsToOLBounds(originalExtent) : "", true); ec.addAttr(facet, "queryable", String.valueOf(isQueryable()), true); return facet; } public boolean isQueryable() { return false; } @Override public Facet deepCopy() { WMSLayerFacet copy = new WMSLayerFacet(); copy.set(this); copy.type = type; copy.layers = new ArrayList<String>(layers); copy.stateId = stateId; copy.hash = hash; copy.url = url; copy.extent = extent; copy.srid = srid; return copy; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :