Mercurial > dive4elements > river
view artifacts/src/main/java/org/dive4elements/river/artifacts/states/EnterMultipleLocationsState.java @ 6266:c297a61115d0
issue1267: Sort the list of FastCrossSections before binarySearching it.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Tue, 11 Jun 2013 11:59:25 +0200 |
parents | af13ceeba52a |
children | e4606eae8ea5 |
line wrap: on
line source
/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde * Software engineering by Intevation GmbH * * This file is Free Software under the GNU AGPL (>=v3) * and comes with ABSOLUTELY NO WARRANTY! Check out the * documentation coming with Dive4Elements River for details. */ package org.dive4elements.river.artifacts.states; import org.apache.log4j.Logger; import org.w3c.dom.Element; import org.dive4elements.artifacts.Artifact; import org.dive4elements.artifacts.CallContext; import org.dive4elements.artifacts.common.utils.StringUtils; import org.dive4elements.artifacts.common.utils.XMLUtils.ElementCreator; import org.dive4elements.river.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 :