Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/WaterlevelGroundDifferences.java @ 4496:d8992459b408
Add method to return the facets of an artifact
This methos should be used to get the facets of an artifact instead of accessing
the facets member variable directly.
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Wed, 14 Nov 2012 11:11:04 +0100 |
parents | e7664917dbdf |
children | 1358d0c8481c |
line wrap: on
line source
package de.intevation.flys.artifacts.states; import org.w3c.dom.Element; import org.apache.log4j.Logger; import de.intevation.artifacts.Artifact; import de.intevation.artifacts.CallContext; import de.intevation.artifacts.common.utils.XMLUtils; import de.intevation.artifactdatabase.ProtocolUtils; /** * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ public class WaterlevelGroundDifferences extends RangeState { public static final String LOWER_FIELD = "diff_from"; public static final String UPPER_FIELD = "diff_to"; public static final String DIFF_FIELD = "diff_diff"; public static final double DEFAULT_STEP = 0d; private static Logger logger = Logger.getLogger(WaterlevelGroundDifferences.class); @Override protected String getLowerField() { return LOWER_FIELD; } @Override protected String getUpperField() { return UPPER_FIELD; } @Override protected String getStepField() { return DIFF_FIELD; } @Override protected double[] getMinMax(Artifact artifact) { return new double[] { -Double.MAX_VALUE, Double.MAX_VALUE }; } @Override protected String getUIProvider() { return "waterlevel_ground_panel"; } protected double getDefaultStep() { return DEFAULT_STEP; } @Override protected Element[] createItems( XMLUtils.ElementCreator cr, Artifact artifact, String name, CallContext context) { double[] minmax = getMinMax(artifact); double minVal = Double.MIN_VALUE; double maxVal = Double.MAX_VALUE; if (minmax != null) { minVal = minmax[0]; maxVal = minmax[1]; } else { logger.warn("Could not read min/max distance values!"); } if (name.equals(LOWER_FIELD)) { Element min = createItem( cr, new String[] {"min", new Double(minVal).toString()}); return new Element[] { min }; } else if (name.equals(UPPER_FIELD)) { Element max = createItem( cr, new String[] {"max", new Double(maxVal).toString()}); return new Element[] { max }; } else { Element step = createItem( cr, new String[] {"step", String.valueOf(getDefaultStep())}); return new Element[] { step }; } } protected Element createItem(XMLUtils.ElementCreator cr, Object obj) { Element item = ProtocolUtils.createArtNode(cr, "item", null, null); Element label = ProtocolUtils.createArtNode(cr, "label", null, null); Element value = ProtocolUtils.createArtNode(cr, "value", null, null); String[] arr = (String[]) obj; label.setTextContent(arr[0]); value.setTextContent(arr[1]); item.appendChild(label); item.appendChild(value); return item; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :