annotate artifacts/src/main/java/org/dive4elements/river/artifacts/services/SedimentLoadInfoService.java @ 8856:5e38e2924c07 3.2.x

Fix code style.
author Tom Gottfried <tom@intevation.de>
date Thu, 18 Jan 2018 20:12:01 +0100
parents ef0ec2498dd0
children 0a5239a1e46e
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: 5868
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: 5868
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: 4736
diff changeset
9 package org.dive4elements.river.artifacts.services;
4297
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
10
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
11 import java.util.Calendar;
8124
2c21fd1ade39 (issue 1448) Use new data model for sedimentloadinfo
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8024
diff changeset
12 import java.util.Collection;
8229
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
13 import java.util.Iterator;
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
14 import java.util.Date;
4297
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
15
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
16 import org.apache.log4j.Logger;
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
17 import org.w3c.dom.Document;
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
18 import org.w3c.dom.Element;
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
19
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4736
diff changeset
20 import org.dive4elements.artifacts.ArtifactNamespaceContext;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4736
diff changeset
21 import org.dive4elements.artifacts.CallMeta;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4736
diff changeset
22 import org.dive4elements.artifacts.GlobalContext;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4736
diff changeset
23 import org.dive4elements.artifacts.common.utils.XMLUtils;
8124
2c21fd1ade39 (issue 1448) Use new data model for sedimentloadinfo
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8024
diff changeset
24 import org.dive4elements.river.artifacts.model.minfo.SedimentLoadDataFactory;
2c21fd1ade39 (issue 1448) Use new data model for sedimentloadinfo
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8024
diff changeset
25 import org.dive4elements.river.artifacts.model.minfo.SedimentLoadData;
2c21fd1ade39 (issue 1448) Use new data model for sedimentloadinfo
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8024
diff changeset
26 import org.dive4elements.river.artifacts.model.minfo.SedimentLoadData.Load;
4297
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
27
6726
b68798973da2 Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
28 /** Service delivering info about sediment loads. */
4297
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
29 public class SedimentLoadInfoService
5868
35b2d86c3fb5 River artifacts: Renamed FLYSService to D4EService.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
30 extends D4EService
4297
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
31 {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8124
diff changeset
32 /** The log used in this service. */
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8768
diff changeset
33 private static Logger log = Logger.getLogger(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8768
diff changeset
34 SedimentLoadInfoService.class);
4297
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
35
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
36 public static final String RIVER_XPATH = "/art:river/text()";
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
37 public static final String TYPE_XPATH = "/art:river/art:type/text()";
8229
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
38 public static final String SQ_TI_XPATH = "/art:river/art:sq_ti_id/text()";
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8768
diff changeset
39 public static final String FROM_XPATH =
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8768
diff changeset
40 "/art:river/art:location/art:from/text()";
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8768
diff changeset
41 public static final String TO_XPATH =
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8768
diff changeset
42 "/art:river/art:location/art:to/text()";
4297
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
43
6726
b68798973da2 Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
44 /**
b68798973da2 Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
45 * Create document with sedimentload infos,
b68798973da2 Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
46 * constrained by contents in data.
b68798973da2 Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
47 */
4297
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
48 @Override
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
49 protected Document doProcess(
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
50 Document data,
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
51 GlobalContext globalContext,
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
52 CallMeta callMeta) {
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
53 String river = XMLUtils.xpathString(
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
54 data,
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
55 RIVER_XPATH,
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
56 ArtifactNamespaceContext.INSTANCE);
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
57 String type = XMLUtils.xpathString(
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
58 data,
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
59 TYPE_XPATH,
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
60 ArtifactNamespaceContext.INSTANCE);
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
61 String from = XMLUtils.xpathString(
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
62 data,
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
63 FROM_XPATH,
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
64 ArtifactNamespaceContext.INSTANCE);
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
65 String to = XMLUtils.xpathString(
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
66 data,
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
67 TO_XPATH,
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
68 ArtifactNamespaceContext.INSTANCE);
8229
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
69 String sq_ti_id = XMLUtils.xpathString(
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
70 data,
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
71 SQ_TI_XPATH,
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
72 ArtifactNamespaceContext.INSTANCE);
6726
b68798973da2 Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
73 double fromD, toD;
4297
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
74 try {
6726
b68798973da2 Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
75 fromD = Double.parseDouble(from);
b68798973da2 Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
76 toD = Double.parseDouble(to);
4297
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
77 }
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
78 catch (NumberFormatException nfe) {
8202
e4606eae8ea5 sed src/**/*.java 's/logger/log/g'
Sascha L. Teichmann <teichmann@intevation.de>
parents: 8124
diff changeset
79 log.warn("Invalid locations. Cannot return sediment loads.");
4297
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
80 return XMLUtils.newDocument();
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
81 }
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
82
8124
2c21fd1ade39 (issue 1448) Use new data model for sedimentloadinfo
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8024
diff changeset
83 /* This call initializes the sedimentloaddata for the river. Might be
2c21fd1ade39 (issue 1448) Use new data model for sedimentloadinfo
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8024
diff changeset
84 * expensive but has to be done anyway for the calculation later on. */
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8768
diff changeset
85 SedimentLoadData allLoadData =
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8768
diff changeset
86 SedimentLoadDataFactory.INSTANCE.getSedimentLoadData(river);
8124
2c21fd1ade39 (issue 1448) Use new data model for sedimentloadinfo
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8024
diff changeset
87
8229
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
88 log.debug("Requested type: " + type + " with sq_ti_id: " + sq_ti_id);
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
89 Collection <Load> loads;
8715
b5cff23bf308 (issue1448) There is no more need for off_epoch infos
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8711
diff changeset
90 if (type.equals("sq_time_intervals")) {
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8768
diff changeset
91 loads = allLoadData
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8768
diff changeset
92 .findDistinctSQTimeIntervalNonEpochLoadsWithValue(fromD, toD);
8229
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
93
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
94 for (Iterator<Load> it = loads.iterator(); it.hasNext();) {
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
95 /* Skip loads without time interval for this info type. */
8711
02162b60cf9c (issue1448) Also filter epoch values in sq_time_interval mode
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8242
diff changeset
96 Load cur = it.next();
02162b60cf9c (issue1448) Also filter epoch values in sq_time_interval mode
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8242
diff changeset
97 if (cur.getSQRelationTimeIntervalId() == null) {
02162b60cf9c (issue1448) Also filter epoch values in sq_time_interval mode
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8242
diff changeset
98 it.remove();
8229
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
99 }
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
100 }
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
101 } else {
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
102 if (!sq_ti_id.isEmpty()) {
8239
b207eeb66edd (issue1448) Objectify sq_time_interval id.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8229
diff changeset
103 Integer id = Integer.parseInt(sq_ti_id);
8768
ef0ec2498dd0 issue1841 Only include loads where value != NaN in info service
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8750
diff changeset
104 loads = allLoadData.findLoadsWithValue(fromD, toD, id);
8229
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
105 } else {
8768
ef0ec2498dd0 issue1841 Only include loads where value != NaN in info service
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8750
diff changeset
106 loads = allLoadData.findLoadsWithValue(fromD, toD);
8229
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
107 }
8242
f8ea1a7ecde6 (issue1448) Fix info service for epoch / periods and off epoch
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8239
diff changeset
108 for (Iterator<Load> it = loads.iterator(); it.hasNext();) {
f8ea1a7ecde6 (issue1448) Fix info service for epoch / periods and off epoch
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8239
diff changeset
109 /* Skip epochs . */
f8ea1a7ecde6 (issue1448) Fix info service for epoch / periods and off epoch
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8239
diff changeset
110 if (it.next().isEpoch()) {
f8ea1a7ecde6 (issue1448) Fix info service for epoch / periods and off epoch
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8239
diff changeset
111 it.remove();
f8ea1a7ecde6 (issue1448) Fix info service for epoch / periods and off epoch
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8239
diff changeset
112 }
f8ea1a7ecde6 (issue1448) Fix info service for epoch / periods and off epoch
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8239
diff changeset
113 }
8229
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
114 }
8124
2c21fd1ade39 (issue 1448) Use new data model for sedimentloadinfo
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8024
diff changeset
115
4297
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
116 return buildDocument(loads);
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
117 }
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
118
8124
2c21fd1ade39 (issue 1448) Use new data model for sedimentloadinfo
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8024
diff changeset
119 protected Document buildDocument(Collection<Load> loads) {
4297
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
120 Document result = XMLUtils.newDocument();
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
121 Element all = result.createElement("sedimentloads");
8124
2c21fd1ade39 (issue 1448) Use new data model for sedimentloadinfo
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8024
diff changeset
122 for (Load load : loads) {
2c21fd1ade39 (issue 1448) Use new data model for sedimentloadinfo
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8024
diff changeset
123 Element ele = result.createElement("sedimentload");
2c21fd1ade39 (issue 1448) Use new data model for sedimentloadinfo
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8024
diff changeset
124 ele.setAttribute("description", load.getDescription());
2c21fd1ade39 (issue 1448) Use new data model for sedimentloadinfo
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8024
diff changeset
125 if (load.isEpoch()) {
4297
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
126 Calendar calendarS = Calendar.getInstance();
8124
2c21fd1ade39 (issue 1448) Use new data model for sedimentloadinfo
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8024
diff changeset
127 calendarS.setTime(load.getStartTime());
4297
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
128 Calendar calendarE = Calendar.getInstance();
8124
2c21fd1ade39 (issue 1448) Use new data model for sedimentloadinfo
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8024
diff changeset
129 calendarE.setTime(load.getStopTime());
2c21fd1ade39 (issue 1448) Use new data model for sedimentloadinfo
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8024
diff changeset
130 ele.setAttribute(
4297
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
131 "date",
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
132 calendarS.get(Calendar.YEAR) +
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
133 " - " +
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
134 calendarE.get(Calendar.YEAR));
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
135 }
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
136 else {
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
137 Calendar calendar = Calendar.getInstance();
8124
2c21fd1ade39 (issue 1448) Use new data model for sedimentloadinfo
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8024
diff changeset
138 calendar.setTime(load.getStartTime());
2c21fd1ade39 (issue 1448) Use new data model for sedimentloadinfo
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8024
diff changeset
139 ele.setAttribute(
4736
b195fede1c3b Remove trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4297
diff changeset
140 "date",
4297
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
141 String.valueOf(calendar.get(Calendar.YEAR)));
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
142 }
8229
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
143 /* SQ Time interval */
8239
b207eeb66edd (issue1448) Objectify sq_time_interval id.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8229
diff changeset
144 if (load.getSQRelationTimeIntervalId() != null) {
8856
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8768
diff changeset
145 ele.setAttribute(
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8768
diff changeset
146 "sq_ti_id",
5e38e2924c07 Fix code style.
Tom Gottfried <tom@intevation.de>
parents: 8768
diff changeset
147 String.valueOf(load.getSQRelationTimeIntervalId()));
8229
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
148 Date start = load.getSQStartTime();
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
149 Date stop = load.getSQStopTime();
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
150 if (start != null && stop != null) {
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
151 Calendar calendarS = Calendar.getInstance();
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
152 calendarS.setTime(start);
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
153 Calendar calendarE = Calendar.getInstance();
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
154 calendarE.setTime(stop);
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
155 ele.setAttribute(
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
156 "sq_date",
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
157 calendarS.get(Calendar.YEAR) +
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
158 " - " +
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
159 calendarE.get(Calendar.YEAR));
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
160 } else if (start != null) {
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
161 Calendar calendar = Calendar.getInstance();
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
162 calendar.setTime(start);
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
163 ele.setAttribute(
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
164 "sq_date",
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
165 String.valueOf(calendar.get(Calendar.YEAR)));
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
166 } else {
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
167 log.warn("Load: " + load.getSQRelationTimeIntervalId() +
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
168 " has no beginning.");
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
169 }
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
170 }
0bf888783683 (issue1448) Extend SL info service to handle sq_time_intervals
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8202
diff changeset
171
8124
2c21fd1ade39 (issue 1448) Use new data model for sedimentloadinfo
Andre Heinecke <andre.heinecke@intevation.de>
parents: 8024
diff changeset
172 all.appendChild(ele);
4297
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
173 }
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
174 result.appendChild(all);
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
175 return result;
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
176 }
6d44914b2dd4 Added serverside service for sediment load info.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
177 }
6726
b68798973da2 Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5994
diff changeset
178 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org