annotate artifacts/src/main/java/org/dive4elements/river/artifacts/bundu/bezugswst/BunduWstWQFixing.java @ 9277:2323d005f9a5

compile error fix
author gernotbelger
date Fri, 20 Jul 2018 10:39:02 +0200
parents 3141f0e7314e
children 82c67b859aa7
rev   line source
9276
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
2 * Software engineering by Intevation GmbH
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
3 *
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
6 * documentation coming with Dive4Elements River for details.
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
7 */
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
8 package org.dive4elements.river.artifacts.bundu.bezugswst;
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
9
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
10 import org.apache.log4j.Logger;
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
11 import org.dive4elements.artifacts.Artifact;
9277
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
12 import org.dive4elements.artifacts.CallContext;
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
13 import org.dive4elements.artifacts.common.utils.XMLUtils;
9276
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
14 import org.dive4elements.river.artifacts.D4EArtifact;
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
15 import org.dive4elements.river.artifacts.model.RangeWithValues;
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
16 import org.dive4elements.river.artifacts.states.WQAdapted;
9277
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
17 import org.w3c.dom.Element;
9276
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
18
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
19 /**
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
20 * State to input W/Q data for fixings
9277
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
21 *
9276
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
22 * @author <a href="mailto:aheinecke@intevation.de">Andre Heinecke</a>
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
23 */
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
24 public class BunduWstWQFixing extends WQAdapted {
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
25
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
26 /** The log used in this state. */
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
27 private static Logger log = Logger.getLogger(BunduWstWQFixing.class);
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
28
9277
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
29 @Override
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
30 protected String getUIProvider() {
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
31 return "bundu_wst_wq_panel";
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
32 }
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
33
9276
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
34 /** Simple sanity check if values are positive numbers **/
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
35 @Override
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
36 public boolean validate(final Artifact artifact) throws IllegalArgumentException {
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
37 log.debug("BunduWstWQFixing.validate");
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
38
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
39 final RangeWithValues[] rwvs = extractInput(getData((D4EArtifact) artifact, "wq_values"));
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
40
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
41 if (rwvs == null) {
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
42 throw new IllegalArgumentException("error_missing_wq_data");
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
43 }
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
44
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
45 for (final RangeWithValues rwv : rwvs) {
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
46 final double[] values = rwv.getValues();
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
47 for (final double val : values) {
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
48 if (val <= 0) {
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
49 throw new IllegalArgumentException("error_validate_positive");
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
50 }
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
51 }
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
52 }
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
53
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
54 return true;
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
55 }
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
56
9277
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
57 // adding bezugsjahr and dauer to client
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
58
9276
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
59 @Override
9277
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
60 protected Element[] createItems(final XMLUtils.ElementCreator ec, final Artifact artifact, final String name, final CallContext context) {
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
61
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
62 final Element[] defaultElements = super.createItems(ec, artifact, name, context);
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
63
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
64 final BunduAccess access = new BunduAccess((D4EArtifact) artifact);
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
65
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
66 final int bezugsjahr = access.getBezugsJahr();
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
67 final int qSeriesLength = access.getQSeriesLength();
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
68 final String[] keys = new String[] { "ignore_q_series_length", "ignore_bezugsjahr" };
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
69 final String[] values = new String[] { String.valueOf(qSeriesLength), String.valueOf(bezugsjahr) };
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
70
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
71 return FixationChoice.appendElements(ec, defaultElements, keys, values);
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
72
9276
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
73 }
9277
2323d005f9a5 compile error fix
gernotbelger
parents: 9276
diff changeset
74
9276
3141f0e7314e clone for bundu.ws.wq
gernotbelger
parents:
diff changeset
75 }

http://dive4elements.wald.intevation.org