ingo@2215: package de.intevation.flys.artifacts.model; ingo@2215: ingo@2215: import org.apache.log4j.Logger; ingo@2215: ingo@2219: import de.intevation.flys.model.Gauge; ingo@2219: ingo@2215: ingo@2215: /** ingo@2215: * @author Ingo Weinzierl ingo@2215: */ ingo@2215: public class Calculation6 extends Calculation { ingo@2215: ingo@2215: private static final Logger logger = Logger.getLogger(Calculation6.class); ingo@2215: ingo@2219: private int mode; ingo@2219: private int[] timerange; ingo@2219: private double[] values; ingo@2215: ingo@2219: ingo@2219: public static final int MODE_W = 0; ingo@2219: public static final int MODE_Q = 1; ingo@2219: ingo@2219: ingo@2219: public Calculation6(int mode, int[] timerange, double[] values) { ingo@2219: this.mode = mode; ingo@2219: this.timerange = timerange; ingo@2219: this.values = values; ingo@2215: } ingo@2215: ingo@2215: ingo@2219: public CalculationResult calculate(Gauge gauge) { ingo@2219: if (!checkParameters() || gauge == null) { ingo@2219: logger.warn("Parameters not valid for calculation."); ingo@2219: ingo@2219: return null; ingo@2219: } ingo@2219: ingo@2219: if (logger.isDebugEnabled()) { ingo@2219: debug(); ingo@2219: } ingo@2219: ingo@2215: logger.warn("TODO: IMPLEMENT ME"); ingo@2219: ingo@2215: return null; ingo@2215: } ingo@2219: ingo@2219: ingo@2219: protected boolean checkParameters() { ingo@2219: if (!(mode == MODE_W || mode == MODE_Q)) { ingo@2219: logger.warn("Invalid mode '" + mode + "' for calculation."); ingo@2219: return false; ingo@2219: } ingo@2219: ingo@2219: if (timerange == null || timerange.length < 2) { ingo@2219: logger.warn("Invalid timerange for calculation."); ingo@2219: return false; ingo@2219: } ingo@2219: ingo@2219: if (values == null || values.length == 0) { ingo@2219: logger.warn("No values for W or Q specified."); ingo@2219: return false; ingo@2219: } ingo@2219: ingo@2219: return true; ingo@2219: } ingo@2219: ingo@2219: ingo@2219: /** ingo@2219: * Writes the parameters used for this calculation to logger. ingo@2219: */ ingo@2219: public void debug() { ingo@2219: StringBuilder sb = new StringBuilder(); ingo@2219: for (double value: values) { ingo@2219: sb.append(String.valueOf(value) + " "); ingo@2219: } ingo@2219: ingo@2219: logger.debug("========== Calculation6 =========="); ingo@2219: logger.debug(" Mode: " + mode); ingo@2219: logger.debug(" Timerange: " + timerange[0] + " - " + timerange[1]); ingo@2219: logger.debug(" Input values: " + sb.toString()); ingo@2219: logger.debug("=================================="); ingo@2219: } ingo@2215: } ingo@2215: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :