comparison artifacts/src/main/java/org/dive4elements/river/artifacts/services/DischargeInfoService.java @ 5916:d6bf8353e0fc

Historical discharge curves: Do not add calculation relevant curve into list of available curves.
author Sascha L. Teichmann <teichmann@intevation.de>
date Tue, 07 May 2013 19:07:08 +0200
parents b8adee716970
children af13ceeba52a
comparison
equal deleted inserted replaced
5915:4fafe8d147b2 5916:d6bf8353e0fc
48 public Document doProcess( 48 public Document doProcess(
49 Document data, 49 Document data,
50 GlobalContext globalContext, 50 GlobalContext globalContext,
51 CallMeta callMeta 51 CallMeta callMeta
52 ) { 52 ) {
53 logger.debug("DischargeInfoService.process"); 53 if (logger.isDebugEnabled()) {
54 logger.debug(XMLUtils.toString(data)); 54 logger.debug("DischargeInfoService.process");
55 logger.debug(XMLUtils.toString(data));
56 }
55 57
56 String gaugeNumber = XMLUtils.xpathString( 58 String gaugeNumber = XMLUtils.xpathString(
57 data, GAUGE_XPATH, ArtifactNamespaceContext.INSTANCE); 59 data, GAUGE_XPATH, ArtifactNamespaceContext.INSTANCE);
58 60
59 if(gaugeNumber == null || 61 if (gaugeNumber == null ||
60 (gaugeNumber = gaugeNumber.trim()).length() == 0) { 62 (gaugeNumber = gaugeNumber.trim()).length() == 0) {
61 logger.warn("No gauge specified. Cannot return discharge info."); 63 logger.warn("No gauge specified. Cannot return discharge info.");
62 return XMLUtils.newDocument(); 64 return XMLUtils.newDocument();
63 } 65 }
64 66
72 logger.warn("Invalid gauge number. Cannot return discharg info."); 74 logger.warn("Invalid gauge number. Cannot return discharg info.");
73 return XMLUtils.newDocument(); 75 return XMLUtils.newDocument();
74 } 76 }
75 77
76 Gauge gauge = Gauge.getGaugeByOfficialNumber(gn); 78 Gauge gauge = Gauge.getGaugeByOfficialNumber(gn);
79 if (gauge == null) {
80 logger.warn("No such gauge found.");
81 return XMLUtils.newDocument();
82 }
77 83
78 logger.debug("Found gauge: " + gauge.getName()); 84 logger.debug("Found gauge: " + gauge.getName());
79 85
80 return buildDocument(gauge); 86 return buildDocument(gauge);
81 } 87 }
84 protected Document buildDocument(Gauge gauge) { 90 protected Document buildDocument(Gauge gauge) {
85 Document result = XMLUtils.newDocument(); 91 Document result = XMLUtils.newDocument();
86 92
87 List<DischargeTable> tables = gauge.getDischargeTables(); 93 List<DischargeTable> tables = gauge.getDischargeTables();
88 Collections.sort(tables); 94 Collections.sort(tables);
95
96 logger.debug("# of tables:" + tables.size());
89 97
90 Element all = result.createElement("discharges"); 98 Element all = result.createElement("discharges");
91 for (DischargeTable dt: tables) { 99 for (DischargeTable dt: tables) {
92 if (dt.getKind() == DischargeTables.MASTER) { 100 if (dt.getKind() == DischargeTables.MASTER) {
93 continue; 101 continue;

http://dive4elements.wald.intevation.org