annotate artifacts/src/main/java/org/dive4elements/river/exports/AxisSection.java @ 9123:1cc7653ca84f

Cleanup of ChartGenerator and ChartGenerator2 code. Put some of the copy/pasted code into a common abstraction.
author gernotbelger
date Tue, 05 Jun 2018 19:21:16 +0200
parents 6dfc3a1fc70d
children
rev   line source
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
6 * documentation coming with Dive4Elements River for details.
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 2064
diff changeset
9 package org.dive4elements.river.exports;
1986
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12 import org.w3c.dom.Document;
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 import org.w3c.dom.Element;
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14 import org.w3c.dom.Node;
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 2064
diff changeset
16 import org.dive4elements.artifactdatabase.state.Attribute;
1986
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19 /**
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21 */
2058
f97cf2e350c9 Some refactoring done: all Sections subclass TypeSection now to be able to use the convinience methods for string, integer, double and boolean attributes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2053
diff changeset
22 public class AxisSection extends TypeSection {
1986
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23
7597
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
24 public static final String IDENTIFIER_ATTR = "id";
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
25 public static final String LABEL_ATTR = "label";
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
26 public static final String SUGGESTED_LABEL_ATTR = "suggested-label";
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
27 public static final String FONTSIZE_ATTR = "font-size";
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
28 public static final String FIXATION_ATTR = "fixation";
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
29 public static final String UPPERRANGE_ATTR = "upper";
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
30 public static final String LOWERRANGE_ATTR = "lower";
8455
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
31 public static final String UPPERRANGE_TIME_ATTR = "upper-time";
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
32 public static final String LOWERRANGE_TIME_ATTR = "lower-time";
1991
0bd7c3cf0af1 Added axis sections into charts Settings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1986
diff changeset
33
0bd7c3cf0af1 Added axis sections into charts Settings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1986
diff changeset
34
0bd7c3cf0af1 Added axis sections into charts Settings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1986
diff changeset
35 public AxisSection() {
0bd7c3cf0af1 Added axis sections into charts Settings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1986
diff changeset
36 super("axis");
0bd7c3cf0af1 Added axis sections into charts Settings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1986
diff changeset
37 }
0bd7c3cf0af1 Added axis sections into charts Settings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1986
diff changeset
38
0bd7c3cf0af1 Added axis sections into charts Settings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1986
diff changeset
39
0bd7c3cf0af1 Added axis sections into charts Settings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1986
diff changeset
40 public void setIdentifier(String identifier) {
2058
f97cf2e350c9 Some refactoring done: all Sections subclass TypeSection now to be able to use the convinience methods for string, integer, double and boolean attributes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2053
diff changeset
41 setStringValue(IDENTIFIER_ATTR, identifier);
1991
0bd7c3cf0af1 Added axis sections into charts Settings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1986
diff changeset
42 }
0bd7c3cf0af1 Added axis sections into charts Settings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1986
diff changeset
43
0bd7c3cf0af1 Added axis sections into charts Settings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1986
diff changeset
44
2050
c4e0e433f825 Use axes ranges specified in ChartSettings for zooming in charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1992
diff changeset
45 public String getIdentifier() {
2058
f97cf2e350c9 Some refactoring done: all Sections subclass TypeSection now to be able to use the convinience methods for string, integer, double and boolean attributes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2053
diff changeset
46 return getStringValue(IDENTIFIER_ATTR);
2050
c4e0e433f825 Use axes ranges specified in ChartSettings for zooming in charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1992
diff changeset
47 }
c4e0e433f825 Use axes ranges specified in ChartSettings for zooming in charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1992
diff changeset
48
c4e0e433f825 Use axes ranges specified in ChartSettings for zooming in charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1992
diff changeset
49
1991
0bd7c3cf0af1 Added axis sections into charts Settings.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1986
diff changeset
50 public void setLabel(String label) {
2058
f97cf2e350c9 Some refactoring done: all Sections subclass TypeSection now to be able to use the convinience methods for string, integer, double and boolean attributes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2053
diff changeset
51 setStringValue(LABEL_ATTR, label);
1986
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52 }
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54
2051
4ba5036109d2 Make use of user defined axes labels during chart creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2050
diff changeset
55 public String getLabel() {
2058
f97cf2e350c9 Some refactoring done: all Sections subclass TypeSection now to be able to use the convinience methods for string, integer, double and boolean attributes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2053
diff changeset
56 return getStringValue(LABEL_ATTR);
2051
4ba5036109d2 Make use of user defined axes labels during chart creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2050
diff changeset
57 }
4ba5036109d2 Make use of user defined axes labels during chart creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2050
diff changeset
58
4ba5036109d2 Make use of user defined axes labels during chart creation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2050
diff changeset
59
7597
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
60 public void setSuggestedLabel(String label) {
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
61 setStringValue(SUGGESTED_LABEL_ATTR, label);
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
62 }
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
63
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
64
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
65 public String getSuggestedLabel() {
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
66 return getStringValue(SUGGESTED_LABEL_ATTR);
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
67 }
fca46ce8e4f5 (issue1225) Implement Magic labels.
Andre Heinecke <aheinecke@intevation.de>
parents: 5994
diff changeset
68
1992
e1c9f28e2675 Added more attributes to ChartSettings AxisSection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1991
diff changeset
69 public void setFontSize(int fontSize) {
e1c9f28e2675 Added more attributes to ChartSettings AxisSection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1991
diff changeset
70 if (fontSize <= 0) {
e1c9f28e2675 Added more attributes to ChartSettings AxisSection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1991
diff changeset
71 return;
e1c9f28e2675 Added more attributes to ChartSettings AxisSection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1991
diff changeset
72 }
e1c9f28e2675 Added more attributes to ChartSettings AxisSection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1991
diff changeset
73
2058
f97cf2e350c9 Some refactoring done: all Sections subclass TypeSection now to be able to use the convinience methods for string, integer, double and boolean attributes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2053
diff changeset
74 setIntegerValue(FONTSIZE_ATTR, fontSize);
1992
e1c9f28e2675 Added more attributes to ChartSettings AxisSection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1991
diff changeset
75 }
e1c9f28e2675 Added more attributes to ChartSettings AxisSection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1991
diff changeset
76
e1c9f28e2675 Added more attributes to ChartSettings AxisSection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1991
diff changeset
77
2053
f9a972d375ba Use the user defined font size to set Y axes label fonts sizes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2051
diff changeset
78 public Integer getFontSize() {
2058
f97cf2e350c9 Some refactoring done: all Sections subclass TypeSection now to be able to use the convinience methods for string, integer, double and boolean attributes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2053
diff changeset
79 return getIntegerValue(FONTSIZE_ATTR);
2053
f9a972d375ba Use the user defined font size to set Y axes label fonts sizes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2051
diff changeset
80 }
f9a972d375ba Use the user defined font size to set Y axes label fonts sizes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2051
diff changeset
81
f9a972d375ba Use the user defined font size to set Y axes label fonts sizes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2051
diff changeset
82
1992
e1c9f28e2675 Added more attributes to ChartSettings AxisSection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1991
diff changeset
83 public void setFixed(boolean fixed) {
2058
f97cf2e350c9 Some refactoring done: all Sections subclass TypeSection now to be able to use the convinience methods for string, integer, double and boolean attributes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2053
diff changeset
84 setBooleanValue(FIXATION_ATTR, fixed);
1992
e1c9f28e2675 Added more attributes to ChartSettings AxisSection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1991
diff changeset
85 }
e1c9f28e2675 Added more attributes to ChartSettings AxisSection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1991
diff changeset
86
e1c9f28e2675 Added more attributes to ChartSettings AxisSection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1991
diff changeset
87
9123
1cc7653ca84f Cleanup of ChartGenerator and ChartGenerator2 code. Put some of the copy/pasted code into a common abstraction.
gernotbelger
parents: 8455
diff changeset
88 public boolean isFixed() {
1cc7653ca84f Cleanup of ChartGenerator and ChartGenerator2 code. Put some of the copy/pasted code into a common abstraction.
gernotbelger
parents: 8455
diff changeset
89 return getBooleanValue(FIXATION_ATTR, false);
2050
c4e0e433f825 Use axes ranges specified in ChartSettings for zooming in charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1992
diff changeset
90 }
c4e0e433f825 Use axes ranges specified in ChartSettings for zooming in charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1992
diff changeset
91
c4e0e433f825 Use axes ranges specified in ChartSettings for zooming in charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1992
diff changeset
92
1992
e1c9f28e2675 Added more attributes to ChartSettings AxisSection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1991
diff changeset
93 public void setUpperRange(double upperRange) {
2058
f97cf2e350c9 Some refactoring done: all Sections subclass TypeSection now to be able to use the convinience methods for string, integer, double and boolean attributes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2053
diff changeset
94 setDoubleValue(UPPERRANGE_ATTR, upperRange);
1992
e1c9f28e2675 Added more attributes to ChartSettings AxisSection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1991
diff changeset
95 }
e1c9f28e2675 Added more attributes to ChartSettings AxisSection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1991
diff changeset
96
e1c9f28e2675 Added more attributes to ChartSettings AxisSection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1991
diff changeset
97
2050
c4e0e433f825 Use axes ranges specified in ChartSettings for zooming in charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1992
diff changeset
98 public Double getUpperRange() {
2058
f97cf2e350c9 Some refactoring done: all Sections subclass TypeSection now to be able to use the convinience methods for string, integer, double and boolean attributes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2053
diff changeset
99 return getDoubleValue(UPPERRANGE_ATTR);
2050
c4e0e433f825 Use axes ranges specified in ChartSettings for zooming in charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1992
diff changeset
100 }
c4e0e433f825 Use axes ranges specified in ChartSettings for zooming in charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1992
diff changeset
101
c4e0e433f825 Use axes ranges specified in ChartSettings for zooming in charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1992
diff changeset
102
1992
e1c9f28e2675 Added more attributes to ChartSettings AxisSection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1991
diff changeset
103 public void setLowerRange(double lowerRange) {
2058
f97cf2e350c9 Some refactoring done: all Sections subclass TypeSection now to be able to use the convinience methods for string, integer, double and boolean attributes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2053
diff changeset
104 setDoubleValue(LOWERRANGE_ATTR, lowerRange);
1992
e1c9f28e2675 Added more attributes to ChartSettings AxisSection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1991
diff changeset
105 }
e1c9f28e2675 Added more attributes to ChartSettings AxisSection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1991
diff changeset
106
e1c9f28e2675 Added more attributes to ChartSettings AxisSection.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1991
diff changeset
107
2050
c4e0e433f825 Use axes ranges specified in ChartSettings for zooming in charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1992
diff changeset
108 public Double getLowerRange() {
2058
f97cf2e350c9 Some refactoring done: all Sections subclass TypeSection now to be able to use the convinience methods for string, integer, double and boolean attributes.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 2053
diff changeset
109 return getDoubleValue(LOWERRANGE_ATTR);
2050
c4e0e433f825 Use axes ranges specified in ChartSettings for zooming in charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1992
diff changeset
110 }
c4e0e433f825 Use axes ranges specified in ChartSettings for zooming in charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1992
diff changeset
111
8455
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
112 public void setUpperTimeRange(long upperRange) {
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
113 setStringValue(UPPERRANGE_TIME_ATTR, Long.toString(upperRange));
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
114 }
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
115
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
116 /* return the upper time rang limit as a long value that can be converted
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
117 * to a date. If none is set null is returned. */
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
118 public Long getUpperTimeRange() {
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
119 try {
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
120 return Long.valueOf(getStringValue(UPPERRANGE_TIME_ATTR));
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
121 } catch (NumberFormatException e) {
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
122 return null;
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
123 }
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
124 }
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
125
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
126 public void setLowerTimeRange(long lowerRange) {
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
127 setStringValue(LOWERRANGE_TIME_ATTR, Long.toString(lowerRange));
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
128 }
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
129
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
130 /* See getUpperTimeRange */
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
131 public Long getLowerTimeRange() {
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
132 try {
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
133 return Long.valueOf(getStringValue(LOWERRANGE_TIME_ATTR));
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
134 } catch (NumberFormatException e) {
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
135 return null;
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
136 }
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
137 }
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
138
6dfc3a1fc70d (issue1764) Set upper-time and lower-time for time series axes
Andre Heinecke <andre.heinecke@intevation.de>
parents: 7597
diff changeset
139
2050
c4e0e433f825 Use axes ranges specified in ChartSettings for zooming in charts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1992
diff changeset
140
1986
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
141 @Override
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
142 public void toXML(Node parent) {
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
143 Document owner = parent.getOwnerDocument();
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
144 Element axis = owner.createElement("axis");
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
145
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
146 parent.appendChild(axis);
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
147
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
148 for (String key: getKeys()) {
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
149 Attribute attr = getAttribute(key);
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
150 attr.toXML(axis);
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
151 }
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
152 }
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
153 }
3632150dbe0b Implemented a ChartSettings with relevant Sections and Attributes for charts (NOTE: Work still in progress).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
154 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org