Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/EnterMultipleLocationsState.java @ 4902:e1566938d04c
Added new functions to datacage templating language.
* get minimum of location/distance:
dc:fromValue($ld_mode, $ld_locations, $ld_from)
- returns -Double.MAX_VALUE if no min exists.
* get maximum of location/distance:
dc:toValue($ld_mode, $ld_locations, $ld_to)
- returns Double.MAX_VALUE if no max exists.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Tue, 29 Jan 2013 17:11:26 +0100 |
parents | 8e66293c5369 |
children |
line wrap: on
line source
package de.intevation.flys.artifacts.states; import org.apache.log4j.Logger; import org.w3c.dom.Element; import de.intevation.artifacts.Artifact; import de.intevation.artifacts.CallContext; import de.intevation.artifacts.common.utils.StringUtils; import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator; import de.intevation.flys.artifacts.WINFOArtifact; /** * Get me doubles (km). */ public class EnterMultipleLocationsState extends EnterLocationState { /** The logger for this class. */ private static Logger logger = Logger.getLogger(EnterMultipleLocationsState.class); @Override protected String getUIProvider() { logger.debug("multi location panel"); return "multi_location_panel"; } /** Deal with multiple double values. */ @Override protected String getLabelFor( CallContext cc, String name, String value, String type ) { String[] vals = value.split(" "); for (int i = 0; i < vals.length; i++) { vals[i] = super.getLabelFor(cc, name, vals[i], type); } return StringUtils.join(" ", vals); } /** * This method creates a list of items. These items represent the amount of * input data that is possible for this state. * * @param cr The ElementCreator. * @param name The name of the amount of data. * * @return a list of items. */ @Override protected Element[] createItems( ElementCreator cr, Artifact artifact, String name, CallContext context ) { if (name.equals("reference_endpoint")) { Element[] elements = new Element[1]; WINFOArtifact winfo = (WINFOArtifact) artifact; Double km = winfo.getReferenceStartKm(); elements[0] = createItem( cr, new String[] {"start_km", km.toString()}); return elements; } return null; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :