ingo@942: package de.intevation.flys.artifacts.model; ingo@942: ingo@942: import java.util.ArrayList; ingo@942: import java.util.List; ingo@942: ingo@942: import org.apache.log4j.Logger; ingo@942: ingo@943: import org.w3c.dom.Document; ingo@943: import org.w3c.dom.Element; ingo@943: import org.w3c.dom.Node; ingo@943: ingo@942: import de.intevation.artifacts.Artifact; ingo@943: import de.intevation.artifacts.ArtifactNamespaceContext; ingo@942: import de.intevation.artifacts.CallContext; ingo@942: ingo@943: import de.intevation.artifacts.common.utils.XMLUtils; ingo@943: import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator; ingo@943: ingo@942: import de.intevation.artifactdatabase.state.DefaultFacet; ingo@942: ingo@942: import de.intevation.flys.artifacts.states.DefaultState.ComputeType; ingo@942: ingo@942: ingo@942: public class WMSLayerFacet extends DefaultFacet { ingo@942: ingo@942: protected ComputeType type; ingo@942: protected List layers; ingo@942: protected String stateId; ingo@942: protected String hash; ingo@942: protected String url; ingo@953: protected String extent; ingo@1052: protected String srid; ingo@942: ingo@942: ingo@942: private static final Logger logger = Logger.getLogger(WMSLayerFacet.class); ingo@942: ingo@942: ingo@942: public WMSLayerFacet(int index, String name, String description) { ingo@942: this(index, name, description, ComputeType.FEED, null, null); ingo@942: } ingo@942: ingo@942: ingo@942: public WMSLayerFacet( ingo@942: int index, ingo@942: String name, ingo@942: String description, ingo@942: ComputeType type, ingo@942: String stateId, ingo@942: String hash ingo@942: ingo@942: ) { ingo@942: super(index, name, description); ingo@942: this.layers = new ArrayList(); ingo@942: this.type = type; ingo@942: this.stateId = stateId; ingo@942: this.hash = hash; ingo@942: } ingo@942: ingo@942: ingo@942: public WMSLayerFacet( ingo@942: int index, ingo@942: String name, ingo@942: String description, ingo@942: ComputeType type, ingo@942: String stateId, ingo@942: String hash, ingo@942: String url ingo@942: ) { ingo@942: this(index, name, description, type, stateId, hash); ingo@942: this.url = url; ingo@942: } ingo@942: ingo@942: ingo@942: public void addLayer(String name) { ingo@942: if (name != null && name.length() > 0) { ingo@942: layers.add(name); ingo@942: } ingo@942: } ingo@942: ingo@942: ingo@953: public void setExtent(String extent) { ingo@953: if (extent != null) { ingo@953: this.extent = extent; ingo@953: } ingo@953: } ingo@953: ingo@953: ingo@1052: public void setSrid(String srid) { ingo@1052: if (srid != null) { ingo@1052: this.srid = srid; ingo@1052: } ingo@1052: } ingo@1052: ingo@1052: ingo@942: public Object getData(Artifact artifact, CallContext context) { ingo@942: return null; ingo@942: } ingo@943: ingo@943: ingo@943: @Override ingo@943: public Node toXML(Document doc) { ingo@943: ElementCreator ec = new ElementCreator( ingo@943: doc, ingo@943: ArtifactNamespaceContext.NAMESPACE_URI, ingo@943: ArtifactNamespaceContext.NAMESPACE_PREFIX); ingo@943: ingo@943: Element facet = ec.create("facet"); ingo@943: ec.addAttr(facet, "description", description, true); ingo@943: ec.addAttr(facet, "index", String.valueOf(index), true); ingo@943: ec.addAttr(facet, "name", name, true); ingo@943: ec.addAttr(facet, "url", url, true); ingo@943: ec.addAttr(facet, "layers", layers.get(0), true); ingo@953: ec.addAttr(facet, "extent", extent != null ? extent : "", true); ingo@1052: ec.addAttr(facet, "srid", srid != null ? srid : "", true); ingo@943: ingo@943: return facet; ingo@943: } ingo@942: } ingo@943: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :