Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/exports/sq/SQRelationGenerator.java @ 3464:0b9b2a0c4e64
Point labels can have a background color now.
flys-artifacts/trunk@5132 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Christian Lins <christian.lins@intevation.de> |
---|---|
date | Thu, 26 Jul 2012 10:02:07 +0000 |
parents | 41a7b171bd59 |
children | 3dc26ec2558d |
rev | line source |
---|---|
3077
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.exports.sq; |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
2 |
3109
63ef889eea2b
SQ: Directly sample our Function objects instead of Function2D from JFreeChart.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3105
diff
changeset
|
3 import de.intevation.artifactdatabase.state.ArtifactAndFacet; |
63ef889eea2b
SQ: Directly sample our Function objects instead of Function2D from JFreeChart.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3105
diff
changeset
|
4 import de.intevation.artifactdatabase.state.Facet; |
63ef889eea2b
SQ: Directly sample our Function objects instead of Function2D from JFreeChart.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3105
diff
changeset
|
5 |
63ef889eea2b
SQ: Directly sample our Function objects instead of Function2D from JFreeChart.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3105
diff
changeset
|
6 import de.intevation.flys.artifacts.model.FacetTypes; |
63ef889eea2b
SQ: Directly sample our Function objects instead of Function2D from JFreeChart.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3105
diff
changeset
|
7 |
63ef889eea2b
SQ: Directly sample our Function objects instead of Function2D from JFreeChart.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3105
diff
changeset
|
8 import de.intevation.flys.artifacts.model.sq.SQ; |
63ef889eea2b
SQ: Directly sample our Function objects instead of Function2D from JFreeChart.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3105
diff
changeset
|
9 import de.intevation.flys.artifacts.model.sq.SQFunction; |
63ef889eea2b
SQ: Directly sample our Function objects instead of Function2D from JFreeChart.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3105
diff
changeset
|
10 |
63ef889eea2b
SQ: Directly sample our Function objects instead of Function2D from JFreeChart.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3105
diff
changeset
|
11 import de.intevation.flys.exports.XYChartGenerator; |
63ef889eea2b
SQ: Directly sample our Function objects instead of Function2D from JFreeChart.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3105
diff
changeset
|
12 |
63ef889eea2b
SQ: Directly sample our Function objects instead of Function2D from JFreeChart.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3105
diff
changeset
|
13 import de.intevation.flys.jfree.JFreeUtil; |
63ef889eea2b
SQ: Directly sample our Function objects instead of Function2D from JFreeChart.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3105
diff
changeset
|
14 import de.intevation.flys.jfree.StyledXYSeries; |
63ef889eea2b
SQ: Directly sample our Function objects instead of Function2D from JFreeChart.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3105
diff
changeset
|
15 |
3077
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
16 import org.apache.log4j.Logger; |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
17 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
18 import org.jfree.chart.axis.LogarithmicAxis; |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
19 import org.jfree.chart.axis.NumberAxis; |
3109
63ef889eea2b
SQ: Directly sample our Function objects instead of Function2D from JFreeChart.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3105
diff
changeset
|
20 |
3079
8ad8a227d983
Added model classes for SQ calculation; generate fake results and improved the SQRelationGenerator which now draws the outliers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3077
diff
changeset
|
21 import org.jfree.data.xy.XYSeries; |
3077
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
22 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
23 import org.w3c.dom.Document; |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
24 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
25 /** |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
26 * An OutGenerator that generates charts for MINFO sq relation. |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
27 * |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
28 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
29 */ |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
30 public class SQRelationGenerator |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
31 extends XYChartGenerator |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
32 implements FacetTypes |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
33 { |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
34 public enum YAXIS { |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
35 S(0); |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
36 protected int idx; |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
37 private YAXIS(int c) { |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
38 idx = c; |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
39 } |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
40 } |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
41 |
3115
5482a8a48a3f
I18N of SQ relation charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3109
diff
changeset
|
42 |
5482a8a48a3f
I18N of SQ relation charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3109
diff
changeset
|
43 public static final String I18N_XAXIS_LABEL = |
5482a8a48a3f
I18N of SQ relation charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3109
diff
changeset
|
44 "chart.sq_relation.xaxis.label"; |
5482a8a48a3f
I18N of SQ relation charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3109
diff
changeset
|
45 |
5482a8a48a3f
I18N of SQ relation charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3109
diff
changeset
|
46 public static final String I18N_YAXIS_LABEL = |
5482a8a48a3f
I18N of SQ relation charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3109
diff
changeset
|
47 "chart.sq_relation.yaxis.label"; |
5482a8a48a3f
I18N of SQ relation charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3109
diff
changeset
|
48 |
5482a8a48a3f
I18N of SQ relation charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3109
diff
changeset
|
49 |
3077
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
50 /** The logger that is used in this generator. */ |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
51 private static Logger logger = Logger.getLogger(SQRelationGenerator.class); |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
52 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
53 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
54 @Override |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
55 protected YAxisWalker getYAxisWalker() { |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
56 return new YAxisWalker() { |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
57 @Override |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
58 public int length() { |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
59 return YAXIS.values().length; |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
60 } |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
61 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
62 @Override |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
63 public String getId(int idx) { |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
64 YAXIS[] yaxes = YAXIS.values(); |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
65 return yaxes[idx].toString(); |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
66 } |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
67 }; |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
68 } |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
69 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
70 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
71 @Override |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
72 public String getDefaultChartTitle() { |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
73 return "TODO: CHART TITLE"; |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
74 } |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
75 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
76 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
77 @Override |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
78 protected String getDefaultXAxisLabel() { |
3115
5482a8a48a3f
I18N of SQ relation charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3109
diff
changeset
|
79 return msg(I18N_XAXIS_LABEL, I18N_XAXIS_LABEL); |
3077
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
80 } |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
81 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
82 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
83 @Override |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
84 protected String getDefaultYAxisLabel(int index) { |
3115
5482a8a48a3f
I18N of SQ relation charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3109
diff
changeset
|
85 return msg(I18N_YAXIS_LABEL, I18N_YAXIS_LABEL); |
3077
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
86 } |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
87 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
88 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
89 @Override |
3079
8ad8a227d983
Added model classes for SQ calculation; generate fake results and improved the SQRelationGenerator which now draws the outliers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3077
diff
changeset
|
90 protected NumberAxis createXAxis(String label) { |
8ad8a227d983
Added model classes for SQ calculation; generate fake results and improved the SQRelationGenerator which now draws the outliers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3077
diff
changeset
|
91 return new LogarithmicAxis(label); |
8ad8a227d983
Added model classes for SQ calculation; generate fake results and improved the SQRelationGenerator which now draws the outliers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3077
diff
changeset
|
92 } |
8ad8a227d983
Added model classes for SQ calculation; generate fake results and improved the SQRelationGenerator which now draws the outliers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3077
diff
changeset
|
93 |
8ad8a227d983
Added model classes for SQ calculation; generate fake results and improved the SQRelationGenerator which now draws the outliers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3077
diff
changeset
|
94 |
8ad8a227d983
Added model classes for SQ calculation; generate fake results and improved the SQRelationGenerator which now draws the outliers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3077
diff
changeset
|
95 @Override |
3077
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
96 protected NumberAxis createYAxis(int index) { |
3115
5482a8a48a3f
I18N of SQ relation charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3109
diff
changeset
|
97 return new LogarithmicAxis(getDefaultYAxisLabel(index)); |
3077
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
98 } |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
99 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
100 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
101 @Override |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
102 public void doOut( |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
103 ArtifactAndFacet artifactAndFacet, |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
104 Document attr, |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
105 boolean visible |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
106 ) { |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
107 logger.debug("doOut"); |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
108 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
109 Facet facet = artifactAndFacet.getFacet(); |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
110 String name = facet != null ? facet.getName() : null; |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
111 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
112 if (name == null || name.length() == 0) { |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
113 logger.warn("Invalid facet with no name given!"); |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
114 return; |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
115 } |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
116 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
117 if (IS.SQ_CURVE(name)) { |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
118 doSQCurveOut(artifactAndFacet, attr, visible); |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
119 } |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
120 else if (IS.SQ_MEASUREMENT(name)) { |
3099
ef0dd585b5e0
Display measurements in SQ relation charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3079
diff
changeset
|
121 doSQOut(artifactAndFacet, attr, visible); |
3077
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
122 } |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
123 else if (IS.SQ_OUTLIER(name)) { |
3099
ef0dd585b5e0
Display measurements in SQ relation charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3079
diff
changeset
|
124 doSQOut(artifactAndFacet, attr, visible); |
3077
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
125 } |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
126 } |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
127 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
128 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
129 protected void doSQCurveOut( |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
130 ArtifactAndFacet artifactAndFacet, |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
131 Document attr, |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
132 boolean visible |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
133 ) { |
3120
e52a3b62fc20
Fixed broken naming of curves in SQ relation charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3119
diff
changeset
|
134 String desc = artifactAndFacet.getFacetDescription(); |
e52a3b62fc20
Fixed broken naming of curves in SQ relation charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3119
diff
changeset
|
135 logger.debug("doSQCurveOut: " + desc); |
3105
9592b7d76633
Generate fake data for SQ curves; Implemented the Facet and Generator stuff.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3099
diff
changeset
|
136 |
9592b7d76633
Generate fake data for SQ curves; Implemented the Facet and Generator stuff.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3099
diff
changeset
|
137 Facet f = artifactAndFacet.getFacet(); |
9592b7d76633
Generate fake data for SQ curves; Implemented the Facet and Generator stuff.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3099
diff
changeset
|
138 SQFunction func = (SQFunction) artifactAndFacet.getData(context); |
9592b7d76633
Generate fake data for SQ curves; Implemented the Facet and Generator stuff.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3099
diff
changeset
|
139 |
3310
8af1111af180
SQ relation: More fixes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3120
diff
changeset
|
140 if (func == null) { |
8af1111af180
SQ relation: More fixes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3120
diff
changeset
|
141 return; |
8af1111af180
SQ relation: More fixes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3120
diff
changeset
|
142 } |
8af1111af180
SQ relation: More fixes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3120
diff
changeset
|
143 |
3105
9592b7d76633
Generate fake data for SQ curves; Implemented the Facet and Generator stuff.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3099
diff
changeset
|
144 XYSeries series = JFreeUtil.sampleFunction2D( |
3109
63ef889eea2b
SQ: Directly sample our Function objects instead of Function2D from JFreeChart.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3105
diff
changeset
|
145 func.getFunction(), |
3105
9592b7d76633
Generate fake data for SQ curves; Implemented the Facet and Generator stuff.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3099
diff
changeset
|
146 attr, |
3120
e52a3b62fc20
Fixed broken naming of curves in SQ relation charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3119
diff
changeset
|
147 desc, |
3310
8af1111af180
SQ relation: More fixes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3120
diff
changeset
|
148 500, |
3311
53ad37c8abe3
SQ relation: More fixes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3310
diff
changeset
|
149 Math.max(func.getMinQ(), 0.01), |
53ad37c8abe3
SQ relation: More fixes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3310
diff
changeset
|
150 Math.max(func.getMaxQ(), 0.02)); |
3105
9592b7d76633
Generate fake data for SQ curves; Implemented the Facet and Generator stuff.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3099
diff
changeset
|
151 |
3119
238803b2cb8b
Create a compound index for SQOutlierFacets based on result index and iteration number.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3115
diff
changeset
|
152 if (logger.isDebugEnabled()) { |
3120
e52a3b62fc20
Fixed broken naming of curves in SQ relation charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3119
diff
changeset
|
153 logger.debug("Series '" + desc + "' has " |
3119
238803b2cb8b
Create a compound index for SQOutlierFacets based on result index and iteration number.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3115
diff
changeset
|
154 + series.getItemCount() + " items."); |
238803b2cb8b
Create a compound index for SQOutlierFacets based on result index and iteration number.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3115
diff
changeset
|
155 |
238803b2cb8b
Create a compound index for SQOutlierFacets based on result index and iteration number.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3115
diff
changeset
|
156 logger.debug(" -> min x = " + series.getMinX()); |
238803b2cb8b
Create a compound index for SQOutlierFacets based on result index and iteration number.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3115
diff
changeset
|
157 logger.debug(" -> max x = " + series.getMaxX()); |
238803b2cb8b
Create a compound index for SQOutlierFacets based on result index and iteration number.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3115
diff
changeset
|
158 logger.debug(" -> min y = " + series.getMinY()); |
238803b2cb8b
Create a compound index for SQOutlierFacets based on result index and iteration number.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3115
diff
changeset
|
159 logger.debug(" -> max y = " + series.getMaxY()); |
238803b2cb8b
Create a compound index for SQOutlierFacets based on result index and iteration number.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3115
diff
changeset
|
160 } |
238803b2cb8b
Create a compound index for SQOutlierFacets based on result index and iteration number.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3115
diff
changeset
|
161 |
3105
9592b7d76633
Generate fake data for SQ curves; Implemented the Facet and Generator stuff.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3099
diff
changeset
|
162 addAxisSeries(series, YAXIS.S.idx, visible); |
3077
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
163 } |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
164 |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
165 |
3099
ef0dd585b5e0
Display measurements in SQ relation charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3079
diff
changeset
|
166 protected void doSQOut( |
3077
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
167 ArtifactAndFacet artifactAndFacet, |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
168 Document attr, |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
169 boolean visible |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
170 ) { |
3120
e52a3b62fc20
Fixed broken naming of curves in SQ relation charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3119
diff
changeset
|
171 String desc = artifactAndFacet.getFacetDescription(); |
e52a3b62fc20
Fixed broken naming of curves in SQ relation charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3119
diff
changeset
|
172 logger.debug("doSQOut: " + desc); |
3079
8ad8a227d983
Added model classes for SQ calculation; generate fake results and improved the SQRelationGenerator which now draws the outliers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3077
diff
changeset
|
173 |
8ad8a227d983
Added model classes for SQ calculation; generate fake results and improved the SQRelationGenerator which now draws the outliers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3077
diff
changeset
|
174 Facet f = artifactAndFacet.getFacet(); |
8ad8a227d983
Added model classes for SQ calculation; generate fake results and improved the SQRelationGenerator which now draws the outliers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3077
diff
changeset
|
175 SQ[] sqs = (SQ[]) artifactAndFacet.getData(context); |
3310
8af1111af180
SQ relation: More fixes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3120
diff
changeset
|
176 if (sqs == null) { |
8af1111af180
SQ relation: More fixes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3120
diff
changeset
|
177 logger.debug("No SQs found for facet"); |
8af1111af180
SQ relation: More fixes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3120
diff
changeset
|
178 return; |
8af1111af180
SQ relation: More fixes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3120
diff
changeset
|
179 } |
3120
e52a3b62fc20
Fixed broken naming of curves in SQ relation charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3119
diff
changeset
|
180 XYSeries series = new StyledXYSeries(desc, attr); |
3079
8ad8a227d983
Added model classes for SQ calculation; generate fake results and improved the SQRelationGenerator which now draws the outliers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3077
diff
changeset
|
181 |
8ad8a227d983
Added model classes for SQ calculation; generate fake results and improved the SQRelationGenerator which now draws the outliers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3077
diff
changeset
|
182 for (SQ sq: sqs) { |
3312
41a7b171bd59
SQ relation: Suppress data points with values <= 0 because they kill JFreeChart's log/log diagrams.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3311
diff
changeset
|
183 double q = sq.getQ(); |
41a7b171bd59
SQ relation: Suppress data points with values <= 0 because they kill JFreeChart's log/log diagrams.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3311
diff
changeset
|
184 double s = sq.getS(); |
41a7b171bd59
SQ relation: Suppress data points with values <= 0 because they kill JFreeChart's log/log diagrams.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3311
diff
changeset
|
185 if (s > 0d && q > 0d) { |
41a7b171bd59
SQ relation: Suppress data points with values <= 0 because they kill JFreeChart's log/log diagrams.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3311
diff
changeset
|
186 series.add(q, s, false); |
41a7b171bd59
SQ relation: Suppress data points with values <= 0 because they kill JFreeChart's log/log diagrams.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3311
diff
changeset
|
187 } |
3079
8ad8a227d983
Added model classes for SQ calculation; generate fake results and improved the SQRelationGenerator which now draws the outliers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3077
diff
changeset
|
188 } |
8ad8a227d983
Added model classes for SQ calculation; generate fake results and improved the SQRelationGenerator which now draws the outliers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3077
diff
changeset
|
189 |
3119
238803b2cb8b
Create a compound index for SQOutlierFacets based on result index and iteration number.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3115
diff
changeset
|
190 if (logger.isDebugEnabled()) { |
3120
e52a3b62fc20
Fixed broken naming of curves in SQ relation charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3119
diff
changeset
|
191 logger.debug("Series '" + desc + "' has " |
3119
238803b2cb8b
Create a compound index for SQOutlierFacets based on result index and iteration number.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3115
diff
changeset
|
192 + series.getItemCount() + " items."); |
238803b2cb8b
Create a compound index for SQOutlierFacets based on result index and iteration number.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3115
diff
changeset
|
193 |
238803b2cb8b
Create a compound index for SQOutlierFacets based on result index and iteration number.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3115
diff
changeset
|
194 logger.debug(" -> min x = " + series.getMinX()); |
238803b2cb8b
Create a compound index for SQOutlierFacets based on result index and iteration number.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3115
diff
changeset
|
195 logger.debug(" -> max x = " + series.getMaxX()); |
238803b2cb8b
Create a compound index for SQOutlierFacets based on result index and iteration number.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3115
diff
changeset
|
196 logger.debug(" -> min y = " + series.getMinY()); |
238803b2cb8b
Create a compound index for SQOutlierFacets based on result index and iteration number.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3115
diff
changeset
|
197 logger.debug(" -> max y = " + series.getMaxY()); |
238803b2cb8b
Create a compound index for SQOutlierFacets based on result index and iteration number.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3115
diff
changeset
|
198 } |
238803b2cb8b
Create a compound index for SQOutlierFacets based on result index and iteration number.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3115
diff
changeset
|
199 |
3079
8ad8a227d983
Added model classes for SQ calculation; generate fake results and improved the SQRelationGenerator which now draws the outliers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
3077
diff
changeset
|
200 addAxisSeries(series, YAXIS.S.idx, visible); |
3077
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
201 } |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
202 } |
5c87d4ca1bd3
Added chart and export generator stubs for SQ relation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
203 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |