comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation6.java @ 2219:4b6e9b377a84

Fetch parameters for 'historical discharge curve' calculation; call Calculation6 with those information and check input parameters. flys-artifacts/trunk@3858 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 01 Feb 2012 13:33:58 +0000
parents ebbb18ed78c4
children 4db19a88bddb
comparison
equal deleted inserted replaced
2218:39933df6d0fe 2219:4b6e9b377a84
1 package de.intevation.flys.artifacts.model; 1 package de.intevation.flys.artifacts.model;
2 2
3 import org.apache.log4j.Logger; 3 import org.apache.log4j.Logger;
4
5 import de.intevation.flys.model.Gauge;
4 6
5 7
6 /** 8 /**
7 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> 9 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
8 */ 10 */
9 public class Calculation6 extends Calculation { 11 public class Calculation6 extends Calculation {
10 12
11 private static final Logger logger = Logger.getLogger(Calculation6.class); 13 private static final Logger logger = Logger.getLogger(Calculation6.class);
12 14
15 private int mode;
16 private int[] timerange;
17 private double[] values;
13 18
14 public Calculation6() { 19
20 public static final int MODE_W = 0;
21 public static final int MODE_Q = 1;
22
23
24 public Calculation6(int mode, int[] timerange, double[] values) {
25 this.mode = mode;
26 this.timerange = timerange;
27 this.values = values;
15 } 28 }
16 29
17 30
18 public CalculationResult calculate() { 31 public CalculationResult calculate(Gauge gauge) {
32 if (!checkParameters() || gauge == null) {
33 logger.warn("Parameters not valid for calculation.");
34
35 return null;
36 }
37
38 if (logger.isDebugEnabled()) {
39 debug();
40 }
41
19 logger.warn("TODO: IMPLEMENT ME"); 42 logger.warn("TODO: IMPLEMENT ME");
43
20 return null; 44 return null;
45 }
46
47
48 protected boolean checkParameters() {
49 if (!(mode == MODE_W || mode == MODE_Q)) {
50 logger.warn("Invalid mode '" + mode + "' for calculation.");
51 return false;
52 }
53
54 if (timerange == null || timerange.length < 2) {
55 logger.warn("Invalid timerange for calculation.");
56 return false;
57 }
58
59 if (values == null || values.length == 0) {
60 logger.warn("No values for W or Q specified.");
61 return false;
62 }
63
64 return true;
65 }
66
67
68 /**
69 * Writes the parameters used for this calculation to logger.
70 */
71 public void debug() {
72 StringBuilder sb = new StringBuilder();
73 for (double value: values) {
74 sb.append(String.valueOf(value) + " ");
75 }
76
77 logger.debug("========== Calculation6 ==========");
78 logger.debug(" Mode: " + mode);
79 logger.debug(" Timerange: " + timerange[0] + " - " + timerange[1]);
80 logger.debug(" Input values: " + sb.toString());
81 logger.debug("==================================");
21 } 82 }
22 } 83 }
23 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : 84 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org