[Dive4elements-commits] [PATCH 4 of 7] Added access object for artifact containing sediment load parameters
Wald Commits
scm-commit at wald.intevation.org
Fri Nov 2 14:59:38 CET 2012
# HG changeset patch
# User Raimund Renkert <rrenkert at intevation.de>
# Date 1351864160 -3600
# Node ID 26afee1b89594628230c601b8257829c4ab9fb22
# Parent 6a65e7ef43c0052cd723cb701afaff12161f58ee
Added access object for artifact containing sediment load parameters.
diff -r 6a65e7ef43c0 -r 26afee1b8959 flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/SedimentLoadAccess.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/SedimentLoadAccess.java Fri Nov 02 14:49:20 2012 +0100
@@ -0,0 +1,103 @@
+package de.intevation.flys.artifacts.access;
+
+import gnu.trove.TIntArrayList;
+
+import org.apache.log4j.Logger;
+
+import de.intevation.flys.artifacts.FLYSArtifact;
+
+
+public class SedimentLoadAccess
+extends RiverAccess
+{
+ private static final Logger logger = Logger.getLogger(BedHeightAccess.class);
+
+ private int[] singleIDs;
+ private int[] epochIDs;
+
+ private Double lowerKM;
+ private Double upperKM;
+
+ private String time;
+ private String unit;
+
+ public SedimentLoadAccess(FLYSArtifact artifact) {
+ super(artifact);
+ }
+
+ public Double getLowerKM() {
+ if (lowerKM == null) {
+ lowerKM = getDouble("ld_from");
+ }
+
+ return lowerKM;
+ }
+
+ public Double getUpperKM() {
+ if (upperKM == null) {
+ upperKM = getDouble("ld_to");
+ }
+
+ return upperKM;
+ }
+
+ 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")) {
+ 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 :
More information about the Dive4elements-commits
mailing list