view flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/SedimentLoadAccess.java @ 5462:f2371f3aaf03

Show top level folder icons only if node has no factory If you have an empty folder the folder icon is still shown. This makes it possible to add functional "Top Level" entries in the Datacage
author Andre Heinecke <aheinecke@intevation.de>
date Tue, 26 Mar 2013 18:29:13 +0100
parents a3dc382bc1ca
children
line wrap: on
line source
package de.intevation.flys.artifacts.access;

import gnu.trove.TIntArrayList;

import org.apache.log4j.Logger;

import de.intevation.artifacts.CallContext;

import de.intevation.flys.artifacts.FLYSArtifact;


public class SedimentLoadAccess
extends      RangeAccess
{
    private static final Logger logger = Logger.getLogger(BedHeightAccess.class);

    private int[] singleIDs;
    private int[] epochIDs;

    private String time;
    private String unit;

    public SedimentLoadAccess(FLYSArtifact artifact, CallContext context) {
        super(artifact, context);
    }

    public Double getLowerKM() {
        // TODO update callers
        return getFrom();
    }

    public Double getUpperKM() {
        // TODO update callers
        return getTo();
    }

    public String getYearEpoch() {
        if (time == null) {
            time =  getString("ye_select");
        }
        return time;
    }

    public int[] getPeriod() {
        if (getYearEpoch().equals("year") ) {
            Integer start = getInteger("start");
            Integer end = getInteger("end");
            if (start == null || end == null) {
                logger.warn("No 'start' or 'end' parameter specified!");
                return null;
            }

            return new int[]{start.intValue(), end.intValue()};
        }
        return null;
    }

    public int[][] getEpochs() {
        if (getYearEpoch().equals("epoch") ||
            getYearEpoch().equals("off_epoch")
        ) {
            String data = getString("epochs");

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

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

            int[][] list = new int[parts.length][];

            for (int i = 0; i < parts.length; i++) {
                String[] values = parts[i].split(",");
                TIntArrayList ints = new TIntArrayList();
                try {
                    ints.add(Integer.parseInt(values[0]));
                    ints.add(Integer.parseInt(values[1]));
                    list[i] = ints.toNativeArray();
                }
                catch (NumberFormatException nfe) {
                    logger.warn("Cannot parse int from string: '" + values + "'");
                }
            }
            return list;
        }

        return null;
    }

    public String getUnit () {
        if (unit == null) {
            unit = getString("unit");
        }
        return unit;
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org