annotate artifacts/src/main/java/org/dive4elements/river/exports/process/ShearStressProcessor.java @ 8472:3f505fba522f

(issue1772) Use 0.001km tolarance instead of 0.1 to find matching km. There is no sense to use a define here. I will not write static final double NULLPOINTNULLNULLONE=0.001 if i just want to use that value and not any other value which may make sense in some other place. Using hardcoded values can have its merits and makes the code easier to read.
author Andre Heinecke <andre.heinecke@intevation.de>
date Tue, 18 Nov 2014 15:24:40 +0100
parents e4606eae8ea5
children 1cc7653ca84f 0a5239a1e46e
rev   line source
7165
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
1 /* Copyright (C) 2013 by Bundesanstalt für Gewässerkunde
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
2 * Software engineering by Intevation GmbH
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
3 *
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
6 * documentation coming with Dive4Elements River for details.
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
7 */
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
8
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
9 package org.dive4elements.river.exports.process;
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
10
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
11 import org.apache.log4j.Logger;
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
12 import org.jfree.data.xy.XYSeries;
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
13
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
14 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet;
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
15 import org.dive4elements.artifacts.CallContext;
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
16 import org.dive4elements.river.artifacts.model.FacetTypes;
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
17 import org.dive4elements.river.exports.DiagramGenerator;
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
18 import org.dive4elements.river.exports.StyledSeriesBuilder;
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
19 import org.dive4elements.river.jfree.StyledXYSeries;
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
20 import org.dive4elements.river.themes.ThemeDocument;
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
21
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
22 import org.dive4elements.river.artifacts.model.FlowVelocityData;
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
23
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
24 public class ShearStressProcessor extends DefaultProcessor {
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
25
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7608
diff changeset
26 private final static Logger log =
7165
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
27 Logger.getLogger(ShearStressProcessor.class);
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
28
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
29 public static final String I18N_AXIS_LABEL =
7608
974ec4eba152 (issue1611) Correct i18n property for axis label
Andre Heinecke <aheinecke@intevation.de>
parents: 7170
diff changeset
30 "chart.flow_velocity.section.yaxis.second.label";
7165
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
31 public static final String I18N_AXIS_LABEL_DEFAULT =
7608
974ec4eba152 (issue1611) Correct i18n property for axis label
Andre Heinecke <aheinecke@intevation.de>
parents: 7170
diff changeset
32 "Schubspannung 1.3 Pau [N]";
7165
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
33
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
34 @Override
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
35 public void doOut(
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
36 DiagramGenerator generator,
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
37 ArtifactAndFacet bundle,
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
38 ThemeDocument theme,
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
39 boolean visible) {
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
40 CallContext context = generator.getCallContext();
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
41 XYSeries series = new StyledXYSeries(bundle.getFacetDescription(),
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
42 theme);
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
43 String facetName = bundle.getFacetName();
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
44 FlowVelocityData data = (FlowVelocityData) bundle.getData(context);
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
45
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
46 StyledSeriesBuilder.addPoints(series, data.getTauPoints(), true);
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
47
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
48 generator.addAxisSeries(series, axisName, visible);
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
49 }
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
50
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
51 @Override
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
52 public boolean canHandle(String facettype) {
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
53 return facettype.equals(FacetTypes.FLOW_VELOCITY_TAU) ||
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
54 facettype.equals(FacetTypes.FLOW_VELOCITY_TAU_FILTERED);
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
55 }
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
56
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
57 @Override
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
58 public String getAxisLabel(DiagramGenerator generator) {
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
59 return generator.msg(
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
60 I18N_AXIS_LABEL,
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
61 I18N_AXIS_LABEL_DEFAULT);
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
62 }
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
63 }
6e42f0ff0329 Add ShearStress Processor
Andre Heinecke <aheinecke@intevation.de>
parents:
diff changeset
64

http://dive4elements.wald.intevation.org