Mercurial > dive4elements > river
annotate artifacts/src/main/java/org/dive4elements/river/exports/LongitudinalSectionGenerator2.java @ 8730:cb33de3434a8
(issue1754) Proper subtitle handling for Radius
This deduplicates the subtitle and zoom / radius calculation code
by moving it out of the processors. Doing this fixes cases where
the subtitle would be removed when a the according filtered facet
was removed although it should still have shown the Range for example.
Range is now also added as a subtitle for the difference diagrams.
This adds some tasty hack (with cheese) to determine wether or
not the user has set the subtitle. See the comment in
getChartSubtitlePure in LongitudinalSectionGenerator2 for details.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Thu, 30 Apr 2015 13:06:51 +0200 |
parents | 68827654ea7a |
children | bccc476e78eb |
rev | line source |
---|---|
7105
ab57b6eee71c
Add refactored LongitudinalSectionGenerator2 that inherits DiagramGenerator
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
ab57b6eee71c
Add refactored LongitudinalSectionGenerator2 that inherits DiagramGenerator
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
2 * Software engineering by Intevation GmbH |
ab57b6eee71c
Add refactored LongitudinalSectionGenerator2 that inherits DiagramGenerator
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
3 * |
ab57b6eee71c
Add refactored LongitudinalSectionGenerator2 that inherits DiagramGenerator
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
ab57b6eee71c
Add refactored LongitudinalSectionGenerator2 that inherits DiagramGenerator
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
ab57b6eee71c
Add refactored LongitudinalSectionGenerator2 that inherits DiagramGenerator
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
ab57b6eee71c
Add refactored LongitudinalSectionGenerator2 that inherits DiagramGenerator
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
7 */ |
ab57b6eee71c
Add refactored LongitudinalSectionGenerator2 that inherits DiagramGenerator
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
8 |
ab57b6eee71c
Add refactored LongitudinalSectionGenerator2 that inherits DiagramGenerator
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
9 package org.dive4elements.river.exports; |
ab57b6eee71c
Add refactored LongitudinalSectionGenerator2 that inherits DiagramGenerator
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
10 |
7157
ab109ae2acc6
Add startkm and endkm setting to longitudinal section generator 2
Andre Heinecke <aheinecke@intevation.de>
parents:
7118
diff
changeset
|
11 import org.dive4elements.river.artifacts.D4EArtifact; |
ab109ae2acc6
Add startkm and endkm setting to longitudinal section generator 2
Andre Heinecke <aheinecke@intevation.de>
parents:
7118
diff
changeset
|
12 import org.dive4elements.artifactdatabase.state.ArtifactAndFacet; |
ab109ae2acc6
Add startkm and endkm setting to longitudinal section generator 2
Andre Heinecke <aheinecke@intevation.de>
parents:
7118
diff
changeset
|
13 import org.dive4elements.river.artifacts.access.RangeAccess; |
ab109ae2acc6
Add startkm and endkm setting to longitudinal section generator 2
Andre Heinecke <aheinecke@intevation.de>
parents:
7118
diff
changeset
|
14 import org.dive4elements.river.jfree.Bounds; |
ab109ae2acc6
Add startkm and endkm setting to longitudinal section generator 2
Andre Heinecke <aheinecke@intevation.de>
parents:
7118
diff
changeset
|
15 import org.dive4elements.river.jfree.DoubleBounds; |
ab109ae2acc6
Add startkm and endkm setting to longitudinal section generator 2
Andre Heinecke <aheinecke@intevation.de>
parents:
7118
diff
changeset
|
16 import org.dive4elements.river.themes.ThemeDocument; |
8723
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
17 import org.dive4elements.river.artifacts.model.FacetTypes; |
8730
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
18 import org.dive4elements.river.artifacts.access.RiverAccess; |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
19 import org.dive4elements.river.artifacts.model.ZoomScale; |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
20 import org.dive4elements.river.artifacts.context.RiverContext; |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
21 import org.dive4elements.river.artifacts.resources.Resources; |
8723
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
22 |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
23 import org.jfree.data.Range; |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
24 |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
25 import java.util.List; |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
26 import java.util.ArrayList; |
8730
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
27 import java.util.HashSet; |
8723
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
28 |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
29 import org.apache.log4j.Logger; |
7157
ab109ae2acc6
Add startkm and endkm setting to longitudinal section generator 2
Andre Heinecke <aheinecke@intevation.de>
parents:
7118
diff
changeset
|
30 |
7105
ab57b6eee71c
Add refactored LongitudinalSectionGenerator2 that inherits DiagramGenerator
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
31 public class LongitudinalSectionGenerator2 extends DiagramGenerator |
ab57b6eee71c
Add refactored LongitudinalSectionGenerator2 that inherits DiagramGenerator
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
32 { |
8723
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
33 private static Logger log = Logger.getLogger(LongitudinalSectionGenerator2.class); |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
34 |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
35 /** Wrapper around the doOut info for postprocessing. */ |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
36 protected static class SuperBundle |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
37 { |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
38 public ArtifactAndFacet bundle; |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
39 public ThemeDocument theme; |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
40 boolean visible; |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
41 public SuperBundle(ArtifactAndFacet bundle, ThemeDocument theme, boolean visible) { |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
42 this.bundle = bundle; |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
43 this.theme = theme; |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
44 this.visible = visible; |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
45 } |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
46 }; |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
47 |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
48 protected List<SuperBundle> postOutAF; |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
49 |
7105
ab57b6eee71c
Add refactored LongitudinalSectionGenerator2 that inherits DiagramGenerator
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
50 public static final String I18N_CHART_SHORT_SUBTITLE = |
ab57b6eee71c
Add refactored LongitudinalSectionGenerator2 that inherits DiagramGenerator
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
51 "chart.longitudinal.section.shortsubtitle"; |
ab57b6eee71c
Add refactored LongitudinalSectionGenerator2 that inherits DiagramGenerator
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
52 |
ab57b6eee71c
Add refactored LongitudinalSectionGenerator2 that inherits DiagramGenerator
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
53 public static final String I18N_CHART_LOCATION_SUBTITLE = |
ab57b6eee71c
Add refactored LongitudinalSectionGenerator2 that inherits DiagramGenerator
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
54 "chart.longitudinal.section.locsubtitle"; |
ab57b6eee71c
Add refactored LongitudinalSectionGenerator2 that inherits DiagramGenerator
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
55 |
8730
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
56 public static final String I18N_CHART_DISTANCE_SUBTITLE = |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
57 "chart.longitudinal.section.subtitle"; |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
58 |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
59 public static final String I18N_SUBTITLE_RADIUS = |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
60 "chart.subtitle.radius"; |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
61 |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
62 @Override |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
63 protected String getChartSubtitlePure() { |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
64 ChartSettings chartSettings = getChartSettings(); |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
65 |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
66 String titleBeforeParts = null; |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
67 |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
68 if (subTitleParts != null && !subTitleParts.isEmpty()) { |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
69 // This is needed here to determine the initial |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
70 // subtitle before the processing happens to distinguis |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
71 // between that subtitle and a subtitle set by the user. |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
72 // |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
73 // The underlying problem is that getChartSubtitle is called |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
74 // to build the chart settings way before the facets are processed. |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
75 // So we have to figure out somehow if the user modified the title |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
76 // in the chartsettings or if it was just put there because it |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
77 // was the default. |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
78 |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
79 HashSet<String> buf = subTitleParts; |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
80 subTitleParts = null; |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
81 titleBeforeParts = getDefaultChartSubtitle(); |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
82 subTitleParts = buf; |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
83 } |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
84 |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
85 |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
86 if (chartSettings != null) { |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
87 String userTitle = getChartSubtitle(chartSettings); |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
88 if (userTitle != null && !userTitle.equals(titleBeforeParts)) { |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
89 // set by the user. use this. |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
90 log.debug("Using user subtitle: " + userTitle); |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
91 return userTitle; |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
92 } |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
93 } |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
94 log.debug("Using default subtitle: " + getDefaultChartSubtitle()); |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
95 return getDefaultChartSubtitle(); |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
96 } |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
97 |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
98 |
7105
ab57b6eee71c
Add refactored LongitudinalSectionGenerator2 that inherits DiagramGenerator
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
99 @Override |
ab57b6eee71c
Add refactored LongitudinalSectionGenerator2 that inherits DiagramGenerator
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
100 public String getDefaultChartSubtitle() { |
ab57b6eee71c
Add refactored LongitudinalSectionGenerator2 that inherits DiagramGenerator
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
101 double[] dist = getRange(); |
8730
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
102 |
7807
ad4a3980092f
Concatenate the subtitle parts and add them to the default subtitle.
Raimund Renkert <rrenkert@intevation.de>
parents:
7168
diff
changeset
|
103 String parts = ""; |
ad4a3980092f
Concatenate the subtitle parts and add them to the default subtitle.
Raimund Renkert <rrenkert@intevation.de>
parents:
7168
diff
changeset
|
104 if (subTitleParts != null && !subTitleParts.isEmpty()) { |
ad4a3980092f
Concatenate the subtitle parts and add them to the default subtitle.
Raimund Renkert <rrenkert@intevation.de>
parents:
7168
diff
changeset
|
105 for (String p : subTitleParts) { |
8730
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
106 parts += " " + p; |
7807
ad4a3980092f
Concatenate the subtitle parts and add them to the default subtitle.
Raimund Renkert <rrenkert@intevation.de>
parents:
7168
diff
changeset
|
107 } |
ad4a3980092f
Concatenate the subtitle parts and add them to the default subtitle.
Raimund Renkert <rrenkert@intevation.de>
parents:
7168
diff
changeset
|
108 } |
7105
ab57b6eee71c
Add refactored LongitudinalSectionGenerator2 that inherits DiagramGenerator
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
109 if (dist == null || dist.length != 2 || |
ab57b6eee71c
Add refactored LongitudinalSectionGenerator2 that inherits DiagramGenerator
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
110 Double.isNaN(dist[0]) || Double.isNaN(dist[1])) { |
7118
4605d6ca4ee9
Removed obsolete imports. Minor code cosmetics.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7107
diff
changeset
|
111 Object [] args = new Object[] {getRiverName()}; |
7807
ad4a3980092f
Concatenate the subtitle parts and add them to the default subtitle.
Raimund Renkert <rrenkert@intevation.de>
parents:
7168
diff
changeset
|
112 return msg(I18N_CHART_SHORT_SUBTITLE, "", args) + parts; |
7118
4605d6ca4ee9
Removed obsolete imports. Minor code cosmetics.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7107
diff
changeset
|
113 } |
4605d6ca4ee9
Removed obsolete imports. Minor code cosmetics.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7107
diff
changeset
|
114 |
4605d6ca4ee9
Removed obsolete imports. Minor code cosmetics.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7107
diff
changeset
|
115 if (Math.abs(dist[0] - dist[1]) < 1E-5) { |
4605d6ca4ee9
Removed obsolete imports. Minor code cosmetics.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
7107
diff
changeset
|
116 Object [] args = new Object[] {getRiverName(), dist[1]}; |
7807
ad4a3980092f
Concatenate the subtitle parts and add them to the default subtitle.
Raimund Renkert <rrenkert@intevation.de>
parents:
7168
diff
changeset
|
117 return msg(I18N_CHART_LOCATION_SUBTITLE, "", args) + parts; |
7105
ab57b6eee71c
Add refactored LongitudinalSectionGenerator2 that inherits DiagramGenerator
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
118 } |
8730
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
119 Object [] args = new Object[] {getRiverName(), dist[0], dist[1]}; |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
120 return msg(I18N_CHART_DISTANCE_SUBTITLE, "", args) + parts; |
7105
ab57b6eee71c
Add refactored LongitudinalSectionGenerator2 that inherits DiagramGenerator
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
121 } |
7157
ab109ae2acc6
Add startkm and endkm setting to longitudinal section generator 2
Andre Heinecke <aheinecke@intevation.de>
parents:
7118
diff
changeset
|
122 |
8723
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
123 protected void calculateRadius() { |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
124 // Fixed range in settings is preferred |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
125 Range candidate = getRangeForAxisFromSettings("X"); |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
126 Bounds dataBounds = getXBounds(0); |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
127 if (candidate == null) { |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
128 candidate = getDomainAxisRange(); // Diagram is zoomed |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
129 if (candidate != null && dataBounds == null) { |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
130 log.debug("Can't calculate the zoom without any X bounds."); |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
131 candidate = null; |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
132 } else if (candidate != null) { |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
133 // domainAxisRange is relative so we have to take |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
134 // this into account. |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
135 Bounds bounds = |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
136 calculateZoom(dataBounds, candidate); |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
137 candidate = new Range(bounds.getLower().doubleValue(), |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
138 bounds.getUpper().doubleValue()); |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
139 log.debug("Using X Range from zoom."); |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
140 } |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
141 } else { |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
142 log.debug("Using X Range from settings."); |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
143 } |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
144 |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
145 if (candidate == null) { |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
146 if (dataBounds == null) { |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
147 // Diagram is empty. |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
148 candidate = new Range(0d, 0d); |
8725
68827654ea7a
(issue1754) Fix check for empty data bounds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8723
diff
changeset
|
149 log.debug("Empty diagram using fake Range"); |
68827654ea7a
(issue1754) Fix check for empty data bounds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8723
diff
changeset
|
150 } else { |
68827654ea7a
(issue1754) Fix check for empty data bounds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8723
diff
changeset
|
151 // Diagram is not zoomed |
68827654ea7a
(issue1754) Fix check for empty data bounds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8723
diff
changeset
|
152 candidate = new Range(dataBounds.getLower().doubleValue(), |
68827654ea7a
(issue1754) Fix check for empty data bounds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8723
diff
changeset
|
153 dataBounds.getUpper().doubleValue()); |
68827654ea7a
(issue1754) Fix check for empty data bounds
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8723
diff
changeset
|
154 log.debug("Using Full X Range."); |
8723
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
155 } |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
156 } |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
157 log.debug("startkm for Radius is: " + candidate.getLowerBound() + |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
158 " endkm: " + candidate.getUpperBound()); |
8730
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
159 |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
160 // This might not be neccessary if every facet uses only the |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
161 // radius and does not do its own zoomscale calculation. |
8723
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
162 context.putContextValue("startkm", candidate.getLowerBound()); |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
163 context.putContextValue("endkm", candidate.getUpperBound()); |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
164 context.putContextValue("bounds_defined", true); |
8730
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
165 |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
166 RiverContext fc = (RiverContext)context.globalContext(); |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
167 ZoomScale scales = (ZoomScale)fc.get("zoomscale"); |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
168 RiverAccess access = new RiverAccess((D4EArtifact)getMaster()); |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
169 String river = access.getRiverName(); |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
170 |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
171 double radius = scales.getRadius(river, candidate.getLowerBound(), |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
172 candidate.getUpperBound()); |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
173 context.putContextValue("radius", radius); |
8723
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
174 } |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
175 |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
176 @Override |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
177 protected void postProcess() { |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
178 if (postOutAF == null) { |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
179 log.debug("PostProcess without bundles to process"); |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
180 return; |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
181 } |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
182 |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
183 // fake startkm and endkm for the dry run |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
184 context.putContextValue("startkm", 0d); |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
185 context.putContextValue("endkm", 42d); |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
186 for (SuperBundle superbundle: postOutAF) { |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
187 // Dry run with fake start /end |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
188 // to get the filtered facets also included |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
189 // in the x axis range. |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
190 super.doOut(superbundle.bundle, superbundle.theme, false); |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
191 } |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
192 |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
193 calculateRadius(); // This calculates the real start and end km's |
8730
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
194 |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
195 boolean haveVisibleFiltered = false; |
8723
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
196 for (SuperBundle superbundle: postOutAF) { |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
197 super.doOut(superbundle.bundle, superbundle.theme, superbundle.visible); |
8730
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
198 if (!haveVisibleFiltered) { |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
199 haveVisibleFiltered = superbundle.visible; |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
200 } |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
201 } |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
202 if (haveVisibleFiltered) { |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
203 log.debug("Adding radius subtitle."); |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
204 |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
205 addSubtitle(Resources.getMsg( |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
206 getCallContext().getMeta(), |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
207 I18N_SUBTITLE_RADIUS, |
cb33de3434a8
(issue1754) Proper subtitle handling for Radius
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8725
diff
changeset
|
208 new Object[] { "$RADIUS" })); |
8723
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
209 } |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
210 } |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
211 |
7157
ab109ae2acc6
Add startkm and endkm setting to longitudinal section generator 2
Andre Heinecke <aheinecke@intevation.de>
parents:
7118
diff
changeset
|
212 /* We override doOut here to save the startkm and endkm in the |
ab109ae2acc6
Add startkm and endkm setting to longitudinal section generator 2
Andre Heinecke <aheinecke@intevation.de>
parents:
7118
diff
changeset
|
213 * context. Some facets will deliver different data because of |
ab109ae2acc6
Add startkm and endkm setting to longitudinal section generator 2
Andre Heinecke <aheinecke@intevation.de>
parents:
7118
diff
changeset
|
214 * that setting. It is mainly used in MINFO where it causes |
ab109ae2acc6
Add startkm and endkm setting to longitudinal section generator 2
Andre Heinecke <aheinecke@intevation.de>
parents:
7118
diff
changeset
|
215 * adaptive smoothing on the data if you are zoomed out do |
ab109ae2acc6
Add startkm and endkm setting to longitudinal section generator 2
Andre Heinecke <aheinecke@intevation.de>
parents:
7118
diff
changeset
|
216 * reduce the static in the curve. */ |
ab109ae2acc6
Add startkm and endkm setting to longitudinal section generator 2
Andre Heinecke <aheinecke@intevation.de>
parents:
7118
diff
changeset
|
217 @Override |
ab109ae2acc6
Add startkm and endkm setting to longitudinal section generator 2
Andre Heinecke <aheinecke@intevation.de>
parents:
7118
diff
changeset
|
218 public void doOut( |
ab109ae2acc6
Add startkm and endkm setting to longitudinal section generator 2
Andre Heinecke <aheinecke@intevation.de>
parents:
7118
diff
changeset
|
219 ArtifactAndFacet bundle, |
ab109ae2acc6
Add startkm and endkm setting to longitudinal section generator 2
Andre Heinecke <aheinecke@intevation.de>
parents:
7118
diff
changeset
|
220 ThemeDocument theme, |
ab109ae2acc6
Add startkm and endkm setting to longitudinal section generator 2
Andre Heinecke <aheinecke@intevation.de>
parents:
7118
diff
changeset
|
221 boolean visible |
ab109ae2acc6
Add startkm and endkm setting to longitudinal section generator 2
Andre Heinecke <aheinecke@intevation.de>
parents:
7118
diff
changeset
|
222 ) { |
8723
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
223 String facetName = bundle.getFacetName(); |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
224 if (FacetTypes.IS.FILTERED(facetName)) { |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
225 // We can only process the filtered (smoothed) facets |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
226 // after we know the diagram's extend to correctly calculate |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
227 // the radius of the filter / smoothing operation. So |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
228 // we postprocess them. |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
229 |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
230 SuperBundle superbundle = new SuperBundle(bundle, theme, visible); |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
231 if (postOutAF == null) { |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
232 postOutAF = new ArrayList<SuperBundle>(); |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
233 } |
686d8876edf9
(issue1754) Fix Radius calculation for filtered (smoothed) facets
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8722
diff
changeset
|
234 postOutAF.add(superbundle); |
7877
43f18dc56c5a
Fixed subtitle handling and added flowvelocity subtitle.
Raimund Renkert <rrenkert@intevation.de>
parents:
7807
diff
changeset
|
235 return; |
43f18dc56c5a
Fixed subtitle handling and added flowvelocity subtitle.
Raimund Renkert <rrenkert@intevation.de>
parents:
7807
diff
changeset
|
236 } |
7157
ab109ae2acc6
Add startkm and endkm setting to longitudinal section generator 2
Andre Heinecke <aheinecke@intevation.de>
parents:
7118
diff
changeset
|
237 super.doOut(bundle, theme, visible); |
ab109ae2acc6
Add startkm and endkm setting to longitudinal section generator 2
Andre Heinecke <aheinecke@intevation.de>
parents:
7118
diff
changeset
|
238 } |
7105
ab57b6eee71c
Add refactored LongitudinalSectionGenerator2 that inherits DiagramGenerator
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
239 } |
ab57b6eee71c
Add refactored LongitudinalSectionGenerator2 that inherits DiagramGenerator
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
240 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |