annotate flys-artifacts/src/main/java/de/intevation/flys/exports/LegendProcessor.java @ 4046:ca208b2f35a0

LegendProcessor: avoid redundant hashing. removed dead code.
author Sascha L. Teichmann <teichmann@intevation.de>
date Sat, 06 Oct 2012 10:38:41 +0200
parents 7cc05da7e35c
children 3dc26ec2558d
rev   line source
3183
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.exports;
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
2
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
3 import java.awt.geom.Line2D;
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
4 import java.util.ArrayList;
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
5 import java.util.HashMap;
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
6 import java.util.Iterator;
4021
7cc05da7e35c Add message for 'state.chart.km'
Christian Lins <christian.lins@intevation.de>
parents: 3224
diff changeset
7 import java.util.LinkedHashMap;
3183
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
8 import java.util.List;
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
9 import java.util.Map;
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
10
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
11 import org.jfree.chart.LegendItem;
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
12 import org.jfree.chart.LegendItemCollection;
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
13 import org.jfree.chart.plot.XYPlot;
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
14
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
15
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
16 /** Class to process Plots legends. */
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
17 public abstract class LegendProcessor {
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
18
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
19 /** (Empty) shape for aggregated Legend Items. */
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
20 private static final Line2D.Double SPACE = new Line2D.Double(0,0,0,0);
3189
89dc2db3a202 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3183
diff changeset
21
3183
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
22
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
23 /** Prevent instantiations. */
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
24 private LegendProcessor() {
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
25 }
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
26
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
27
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
28 /**
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
29 * Create a hash from a legenditem.
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
30 * This hash can then be used to merge legend items labels.
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
31 * @return hash for given legenditem to identify mergeables.
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
32 */
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
33 protected static String legendItemHash(LegendItem li) {
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
34 // TODO Do proper implementation. Ensure that only mergable sets are created.
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
35 // getFillPaint()
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
36 // getFillPaintTransformer()
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
37 // getLabel()
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
38 // getLine()
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
39 // getLinePaint()
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
40 // getLineStroke()
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
41 // getOutminePaint()
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
42 // getOutlineStroke()
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
43 // Shape getShape()
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
44 // String getToolTipText()
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
45 // String getURLText()
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
46 // boolean isLineVisible()
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
47 // boolean isShapeFilled()
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
48 // boolean isShapeOutlineVisible()
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
49 // boolean isShapeVisible()
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
50 String hash = li.getLinePaint().toString();
4046
ca208b2f35a0 LegendProcessor: avoid redundant hashing. removed dead code.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4021
diff changeset
51 // XXX: DEAD CODE // String label = li.getLabel();
3224
075f1ba25758 issue654
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3189
diff changeset
52 /*if (label.startsWith("W (") || label.startsWith("W(")) {
3183
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
53 hash += "-W-";
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
54 }
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
55 else if (label.startsWith("Q(") || label.startsWith("Q (")) {
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
56 hash += "-Q-";
3224
075f1ba25758 issue654
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3189
diff changeset
57 }*/
3183
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
58
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
59 // WQ.java holds example of using regex Matcher/Pattern.
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
60
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
61 return hash;
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
62 }
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
63
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
64
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
65 /**
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
66 * Create new legend entries, dependent on settings.
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
67 * @param plot The plot for which to modify the legend.
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
68 * @param threshold How many items are needed for aggregation to
4021
7cc05da7e35c Add message for 'state.chart.km'
Christian Lins <christian.lins@intevation.de>
parents: 3224
diff changeset
69 * be triggered?
3183
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
70 */
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
71 public static void aggregateLegendEntries(XYPlot plot, int threshold) {
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
72 LegendItemCollection old = plot.getLegendItems();
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
73 // Find "similar" entries if aggregation is enabled.
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
74
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
75 int maxListSize = 0;
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
76 int AGGR_THRESHOLD = threshold;
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
77
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
78 if (AGGR_THRESHOLD > old.getItemCount() || AGGR_THRESHOLD <= 0){
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
79 return;
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
80 }
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
81
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
82 HashMap<String, List<LegendItem>> entries = new LinkedHashMap<String, List<LegendItem>>();
4021
7cc05da7e35c Add message for 'state.chart.km'
Christian Lins <christian.lins@intevation.de>
parents: 3224
diff changeset
83 for (Iterator<LegendItem> i = old.iterator(); i.hasNext();) {
7cc05da7e35c Add message for 'state.chart.km'
Christian Lins <christian.lins@intevation.de>
parents: 3224
diff changeset
84 LegendItem item = i.next();
3183
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
85 String hash = legendItemHash(item);
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
86 List<LegendItem> itemList = entries.get(hash);
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
87 if (itemList == null) {
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
88 itemList = new ArrayList<LegendItem>();
4046
ca208b2f35a0 LegendProcessor: avoid redundant hashing. removed dead code.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4021
diff changeset
89 entries.put(hash, itemList);
3183
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
90 }
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
91 itemList.add(item);
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
92
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
93 if (itemList.size() > maxListSize) {
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
94 maxListSize = itemList.size();
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
95 }
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
96 }
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
97
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
98 if (maxListSize < AGGR_THRESHOLD) {
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
99 // No need to do anything.
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
100 return;
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
101 }
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
102
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
103 // Run over collected entries, merge their names and create new
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
104 // entry if needed.
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
105 LegendItemCollection newLegend = new LegendItemCollection();
4046
ca208b2f35a0 LegendProcessor: avoid redundant hashing. removed dead code.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4021
diff changeset
106 for (List<LegendItem> itemList: entries.values()) {
3183
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
107 if (itemList.size() >= AGGR_THRESHOLD) {
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
108 // Now do merging.
4046
ca208b2f35a0 LegendProcessor: avoid redundant hashing. removed dead code.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4021
diff changeset
109 // XXX: DEAD CODE // LegendItem item = itemList.get(0);
3183
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
110 // Unfortunately we cannot clone and just setDescription, as this
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
111 // method was added in JFreeChart 1.0.14 (we are at .13).
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
112
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
113 // Remove the shapes of all but the first items,
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
114 // to prevent "overfill" of legenditemblock.
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
115 for (int i = 0; i < itemList.size(); i++) {
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
116 if (i != 0) {
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
117 LegendItem litem = itemList.get(i);
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
118
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
119 // Make shape and line really small.
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
120 LegendItem merged = new LegendItem(
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
121 "," + litem.getLabel(), litem.getDescription(), litem.getToolTipText(),
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
122 litem.getURLText(), false, SPACE,
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
123 false, litem.getFillPaint(), false,
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
124 litem.getOutlinePaint(), litem.getOutlineStroke(), false,
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
125 SPACE, litem.getLineStroke(), litem.getLinePaint());
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
126 newLegend.add(merged);
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
127 }
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
128 else {
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
129 newLegend.add(itemList.get(i));
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
130 }
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
131 }
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
132 }
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
133 else {
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
134 // Do not merge entries.
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
135 for (LegendItem li: itemList) {
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
136 newLegend.add(li);
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
137 }
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
138 }
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
139 }
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
140
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
141 plot.setFixedLegendItems (newLegend);
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
142 }
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
143 }
05c84d65988a Extracted legenditemaggregation from xychartgenerator.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
144 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org