view artifacts/src/main/java/org/dive4elements/river/artifacts/access/BedHeightAccess.java @ 7373:793dfb2f4b7b

Removed obsolete imports.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 17 Oct 2013 12:14:10 +0200
parents 9d3e44ab25f2
children 868f55932fe6
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 String getYearEpoch() {
        if (yearEpoch == null) {
            yearEpoch =  getString("ye_select");
        }
        return yearEpoch;
    }


    public int[] getBedHeightEpochIDs() {
        if (epochIDs == null) {
            String data = getString("soundings");

            if (data == null) {
                logger.warn("No 'soundings' parameter specified!");
                return null;
            }

            String[] parts = data.split(";");

            TIntArrayList ids = new TIntArrayList();

            for (String part: parts) {
                if (part.indexOf(SoundingsSelect.PREFIX_EPOCH) >= 0) {
                    String tmp = part.replace(SoundingsSelect.PREFIX_EPOCH, "");

                    try {
                        ids.add(Integer.parseInt(tmp));
                    }
                    catch (NumberFormatException nfe) {
                        logger.warn("Cannot parse int from string: '" + tmp + "'");
                    }
                }
            }

            epochIDs = ids.toNativeArray();
        }

        return epochIDs;
    }

    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 :

http://dive4elements.wald.intevation.org