Mercurial > dive4elements > river
view artifacts/src/main/java/org/dive4elements/river/artifacts/access/BedHeightAccess.java @ 8151:a709e6334c4a
IDs can be assumed to be unique.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Thu, 28 Aug 2014 18:42:20 +0200 |
parents | 868f55932fe6 |
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.access; import org.dive4elements.river.artifacts.D4EArtifact; import org.dive4elements.river.artifacts.states.SoundingsSelect; import gnu.trove.TIntArrayList; import org.apache.log4j.Logger; public class BedHeightAccess extends RangeAccess { private static final Logger logger = Logger.getLogger(BedHeightAccess.class); private int[] singleIDs; private int[] epochIDs; private String yearEpoch; private String type; private Integer heightId; private Integer time; public BedHeightAccess(D4EArtifact artifact) { super(artifact); } public Double getLowerKM() { // TODO update callers return getFrom(); } public Double getUpperKM() { // TODO update callers return getTo(); } public int[] getBedHeightSingleIDs() { if (singleIDs == null) { String data = getString("soundings"); if (data == null) { logger.warn("No 'soundings' parameter specified!"); return null; } else { logger.debug("getBedHeightSingleIDs(): data=" + data); } String[] parts = data.split(";"); TIntArrayList ids = new TIntArrayList(); for (String part: parts) { if (part.indexOf(SoundingsSelect.PREFIX_SINGLE) >= 0) { String tmp = part.replace(SoundingsSelect.PREFIX_SINGLE, ""); try { int i = Integer.parseInt(tmp); if (!ids.contains(i)) { ids.add(i); } } catch (NumberFormatException nfe) { logger.warn("Cannot parse int from string: '" + tmp + "'"); } } } singleIDs = ids.toNativeArray(); } return singleIDs; } public String getType() { if (type == null) { type = getString("type"); } return type; } public Integer getHeightId() { if (heightId == null) { heightId = getInteger("height_id"); } return heightId; } public Integer getTime() { if (time == null) { time = getInteger("time"); } return time; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :