Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/GaugeOverviewInfoService.java @ 4247:5da024c2af62
Refactor GaugeOverviewInfoService and MeasurementStationInfoService
Refactor RiverInfoService out of GaugeOverviewInfoService and
MeasurementStationInfoService to share common code of both classes in a base
class.
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Wed, 24 Oct 2012 16:36:59 +0200 |
parents | 5fce1908317f |
children | b0173cdbbe51 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/GaugeOverviewInfoService.java Wed Oct 24 15:57:48 2012 +0200 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/services/GaugeOverviewInfoService.java Wed Oct 24 16:36:59 2012 +0200 @@ -22,53 +22,20 @@ /** * @author <a href="mailto:bjoern.ricks@intevation.de">Björn Ricks</a> */ -public class GaugeOverviewInfoService extends FLYSService { +public class GaugeOverviewInfoService extends RiverInfoService { private static final Logger logger = Logger.getLogger( GaugeOverviewInfoService.class); - public static final String RIVER_XPATH = "/art:river/text()"; - @Override public Document doProcess( Document data, GlobalContext globalContext, CallMeta callMeta ) { - logger.debug("GaugeOverviewInfoService.process"); - - String riverstr = XMLUtils.xpathString( - data, RIVER_XPATH, ArtifactNamespaceContext.INSTANCE); - - River river = RiverFactory.getRiver(riverstr); - - Document result = XMLUtils.newDocument(); - - if (river == null) { - logger.warn("No river with name " + riverstr + " found."); - return result; - } + Document result = super.doProcess(data, globalContext, callMeta); - XMLUtils.ElementCreator ec = new XMLUtils.ElementCreator( - result, - ArtifactNamespaceContext.NAMESPACE_URI, - ArtifactNamespaceContext.NAMESPACE_PREFIX); - - Element go = ec.create("gauge-info"); - - double[] minmax = river.determineMinMaxDistance(); - double[] minmaxq = river.determineMinMaxQ(); - - Element r = ec.create("river"); - ec.addAttr(r, "name", river.getName(), true); - ec.addAttr(r, "start", Double.toString(minmax[0]), true); - ec.addAttr(r, "end", Double.toString(minmax[1]), true); - ec.addAttr(r, "wstunit", river.getWstUnit().getName(), true); - ec.addAttr(r, "kmup", Boolean.toString(river.getKmUp()), true); - ec.addAttr(r, "minq", Double.toString(minmaxq[0]), true); - ec.addAttr(r, "maxq", Double.toString(minmaxq[1]), true); - ec.addAttr(r, "official", Long.toString(river.getOfficialNumber()), - true); + logger.debug("GaugeOverviewInfoService.process"); Element egs = ec.create("gauges"); @@ -86,12 +53,12 @@ ec.addAttr(eg, "name", gauge.getName(), true); } - String aeo = getGaugeValue(gauge.getAeo()); + String aeo = getStringValue(gauge.getAeo()); if (aeo != null) { ec.addAttr(eg, "aeo", aeo, true); } - String datum = getGaugeValue(gauge.getDatum()); + String datum = getStringValue(gauge.getDatum()); if (datum != null) { ec.addAttr(eg, "datum", datum, true); } @@ -111,10 +78,10 @@ } } MinMaxWQ minmaxwq = gauge.fetchMaxMinWQ(); - String minw = getGaugeValue(minmaxwq.getMinW()); - String maxw = getGaugeValue(minmaxwq.getMaxW()); - String minq = getGaugeValue(minmaxwq.getMinQ()); - String maxq = getGaugeValue(minmaxwq.getMaxQ()); + String minw = getStringValue(minmaxwq.getMinW()); + String maxw = getStringValue(minmaxwq.getMaxW()); + String minq = getStringValue(minmaxwq.getMinQ()); + String maxq = getStringValue(minmaxwq.getMaxQ()); if (minw != null) { ec.addAttr(eg, "minw", minw, true); @@ -129,7 +96,7 @@ ec.addAttr(eg, "maxq", maxq, true); } - String station = getGaugeValue(gauge.getStation()); + String station = getStringValue(gauge.getStation()); if (station != null) { ec.addAttr(eg, "station", station, true); } @@ -142,19 +109,8 @@ egs.appendChild(eg); } - go.appendChild(r); - go.appendChild(egs); - result.appendChild(go); + riverele.appendChild(egs); return result; } - - /** - * Returns a Double from a BigDecimal value or null if value is null - */ - private static String getGaugeValue(BigDecimal value) { - return value != null - ? Double.toString(value.doubleValue()) - : ""; - } }