annotate artifacts/src/main/java/org/dive4elements/river/exports/process/FixDerivedProcessor.java @ 8207:de280599dd2f

Added new processor for fix derived curve.
author Raimund Renkert <rrenkert@intevation.de>
date Fri, 05 Sep 2014 16:54:45 +0200
parents
children 9f9857f6c464
rev   line source
8207
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
1 package org.dive4elements.river.exports.process;
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
2
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
3 import org.apache.log4j.Logger;
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
4 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet;
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
5 import org.dive4elements.river.artifacts.model.FacetTypes;
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
6 import org.dive4elements.river.artifacts.model.fixings.FixDerivateFacet;
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
7 import org.dive4elements.river.artifacts.model.fixings.FixFunction;
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
8 import org.dive4elements.river.exports.DiagramGenerator;
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
9 import org.dive4elements.river.jfree.JFreeUtil;
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
10 import org.dive4elements.river.jfree.StyledXYSeries;
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
11 import org.dive4elements.river.themes.ThemeDocument;
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
12
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
13
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
14 public class FixDerivedProcessor
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
15 extends DefaultProcessor
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
16 implements FacetTypes
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
17 {
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
18
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
19 private static Logger log = Logger.getLogger(FixDerivedProcessor.class);
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
20
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
21 public FixDerivedProcessor() {
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
22 }
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
23
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
24 @Override
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
25 public void doOut(
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
26 DiagramGenerator generator,
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
27 ArtifactAndFacet bundle,
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
28 ThemeDocument theme,
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
29 boolean visible
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
30 ) {
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
31 FixDerivateFacet facet = (FixDerivateFacet)bundle.getFacet();
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
32 FixFunction func = (FixFunction)facet.getData(
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
33 bundle.getArtifact(), generator.getCallContext());
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
34
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
35 if (func == null) {
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
36 log.warn("doOut: Facet does not contain FixFunction");
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
37 return;
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
38 }
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
39
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
40 double maxQ = func.getMaxQ();
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
41
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
42 if (maxQ > 0) {
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
43 StyledXYSeries series = JFreeUtil.sampleFunction2D(
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
44 func.getFunction(),
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
45 theme,
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
46 bundle.getFacetDescription(),
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
47 500, // number of samples
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
48 0.0 , // start
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
49 maxQ); // end
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
50 generator.addAxisSeries(series, axisName, visible);
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
51 }
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
52 }
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
53
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
54 @Override
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
55 public boolean canHandle(String facettype) {
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
56 return FIX_DERIVATE_CURVE.equals(facettype);
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
57 }
de280599dd2f Added new processor for fix derived curve.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
58 }

http://dive4elements.wald.intevation.org