Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/ManagedDomFacet.java @ 5622:b28a6d05e969
Add a new mechanism in mapfish print call to add arbitary data maps
Data properties are identified by starting with mapfish-data
and they are then split in info value pairs where info
can be the description of the information and value the value
of the information to be transported in the data map.
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Tue, 09 Apr 2013 19:04:32 +0200 |
parents | 58bdf95df5e4 |
children |
line wrap: on
line source
package de.intevation.flys.artifacts.model; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import de.intevation.artifacts.ArtifactNamespaceContext; /** * Use an Element (DOM) to store the information about a facet. * The intent of this facet type is to represent a facet * stored in an Collection attribute. Different facets can have different * attributes that we need to parse, but the only thing ManagedFacets need * to do, is to adjust the attributes "active" and "position". So, those * values are set directly on the Element, the other attributes aren't * touched. */ public class ManagedDomFacet extends ManagedFacet { protected Element facet; public ManagedDomFacet(Element facet) { super(null, -1, null, null, -1, -1, -1); this.facet = facet; } @Override public int getIndex() { if (this.index < 0) { String index = facet.getAttributeNS( ArtifactNamespaceContext.NAMESPACE_URI, "index"); if (index != null && index.length() > 0) { this.index = Integer.parseInt(index); } } return this.index; } @Override public String getName() { if (this.name == null || this.name.length() == 0) { String name = facet.getAttributeNS( ArtifactNamespaceContext.NAMESPACE_URI, "facet"); this.name = name; } return this.name; } @Override public String getDescription() { if (this.description == null || this.description.length() == 0) { String description = facet.getAttributeNS( ArtifactNamespaceContext.NAMESPACE_URI, "description"); this.description = description; } return this.description; } @Override public int getPosition() { if (this.position < 0) { String position = facet.getAttributeNS( ArtifactNamespaceContext.NAMESPACE_URI, "pos"); if (position != null && position.length() > 0) { this.position = Integer.parseInt(position); } } return this.position; } @Override public void setPosition(int position) { this.position = position; // TODO Evaluate whether other set/getAttributes also need // to use the NAMESPACE_PREFIX. facet.setAttributeNS( ArtifactNamespaceContext.NAMESPACE_URI, ArtifactNamespaceContext.NAMESPACE_PREFIX + ":" + "pos", String.valueOf(position)); } @Override public int getActive() { if (this.active < 0) { String active = facet.getAttributeNS( ArtifactNamespaceContext.NAMESPACE_URI, "active"); if (active != null && active.length() > 0) { this.active = Integer.parseInt(active); } } return this.active; } @Override public void setActive(int active) { this.active = active; facet.setAttributeNS( ArtifactNamespaceContext.NAMESPACE_URI, "art:active", String.valueOf(active)); } @Override public int getVisible() { if (this.visible < 0) { String visible = facet.getAttributeNS( ArtifactNamespaceContext.NAMESPACE_URI, "visible"); if (visible != null && visible.length() > 0) { this.visible = Integer.parseInt(visible); } } return this.visible; } @Override public void setVisible(int visible) { this.visible = visible; facet.setAttributeNS( ArtifactNamespaceContext.NAMESPACE_URI, "visible", String.valueOf(getVisible())); } @Override public String getArtifact() { if (this.uuid == null || this.uuid.length() == 0) { String uuid = facet.getAttributeNS( ArtifactNamespaceContext.NAMESPACE_URI, "artifact"); this.uuid = uuid; } return this.uuid; } /** * Import into document. * @param doc Document to be imported to. */ @Override public Node toXML(Document doc) { return doc.importNode(facet, true); } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :