comparison 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
comparison
equal deleted inserted replaced
8206:436512d9bd94 8207:de280599dd2f
1 package org.dive4elements.river.exports.process;
2
3 import org.apache.log4j.Logger;
4 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet;
5 import org.dive4elements.river.artifacts.model.FacetTypes;
6 import org.dive4elements.river.artifacts.model.fixings.FixDerivateFacet;
7 import org.dive4elements.river.artifacts.model.fixings.FixFunction;
8 import org.dive4elements.river.exports.DiagramGenerator;
9 import org.dive4elements.river.jfree.JFreeUtil;
10 import org.dive4elements.river.jfree.StyledXYSeries;
11 import org.dive4elements.river.themes.ThemeDocument;
12
13
14 public class FixDerivedProcessor
15 extends DefaultProcessor
16 implements FacetTypes
17 {
18
19 private static Logger log = Logger.getLogger(FixDerivedProcessor.class);
20
21 public FixDerivedProcessor() {
22 }
23
24 @Override
25 public void doOut(
26 DiagramGenerator generator,
27 ArtifactAndFacet bundle,
28 ThemeDocument theme,
29 boolean visible
30 ) {
31 FixDerivateFacet facet = (FixDerivateFacet)bundle.getFacet();
32 FixFunction func = (FixFunction)facet.getData(
33 bundle.getArtifact(), generator.getCallContext());
34
35 if (func == null) {
36 log.warn("doOut: Facet does not contain FixFunction");
37 return;
38 }
39
40 double maxQ = func.getMaxQ();
41
42 if (maxQ > 0) {
43 StyledXYSeries series = JFreeUtil.sampleFunction2D(
44 func.getFunction(),
45 theme,
46 bundle.getFacetDescription(),
47 500, // number of samples
48 0.0 , // start
49 maxQ); // end
50 generator.addAxisSeries(series, axisName, visible);
51 }
52 }
53
54 @Override
55 public boolean canHandle(String facettype) {
56 return FIX_DERIVATE_CURVE.equals(facettype);
57 }
58 }

http://dive4elements.wald.intevation.org