Mercurial > dive4elements > river
diff gwt-client/src/main/java/org/dive4elements/river/client/server/DynamicMainValuesTimeRangeDeterminationServiceImpl.java @ 9412:0fb76f2d4e5b
bundu wst time range globalErrorMsg to client - no error thrown
author | gernotbelger |
---|---|
date | Thu, 16 Aug 2018 11:40:28 +0200 |
parents | bc9a45d2b1fa |
children |
line wrap: on
line diff
--- a/gwt-client/src/main/java/org/dive4elements/river/client/server/DynamicMainValuesTimeRangeDeterminationServiceImpl.java Thu Aug 16 10:04:54 2018 +0200 +++ b/gwt-client/src/main/java/org/dive4elements/river/client/server/DynamicMainValuesTimeRangeDeterminationServiceImpl.java Thu Aug 16 11:40:28 2018 +0200 @@ -20,7 +20,8 @@ import org.dive4elements.river.client.client.services.DynamicMainValuesTimeRangeDeterminationService; import org.dive4elements.river.client.shared.exceptions.ServerException; import org.dive4elements.river.client.shared.model.GaugeInfoObject; -import org.dive4elements.river.client.shared.model.GaugeInfoObjectImpl; +import org.dive4elements.river.client.shared.model.GaugeInfoResult; +import org.dive4elements.river.client.shared.model.GaugeInfoResultImpl; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NamedNodeMap; @@ -36,19 +37,14 @@ private static final String XPATH_ROOT = "dynamic-mainvalues-input"; private String globalErrorMsg = null; - private GaugeInfoObject[] callService(final String serviceName, final Document input, final String locale) throws ServerException { + private GaugeInfoResult callService(final String serviceName, final Document input, final String locale) throws ServerException { final String url = getServletContext().getInitParameter("server-url"); final HttpClient client = new HttpClientImpl(url, locale); try { final Document result = client.callService(url, serviceName, input); - final GaugeInfoObject[] objects = extractDates(result); - if (!this.globalErrorMsg.equals("")) - throw new ServerException(this.globalErrorMsg); - // log.debug("Extract wq info objects now."); - return objects; - + return extractDates(result); } catch (final ConnectionException ce) { // log.error(ce, ce); @@ -57,9 +53,10 @@ throw new ServerException("error_no_wqinput_found"); } - private GaugeInfoObject[] extractDates(final Document result) throws ServerException { + private GaugeInfoResult extractDates(final Document result) throws ServerException { final List<GaugeInfoObject> results = new ArrayList<GaugeInfoObject>(); final NodeList list = result.getChildNodes(); + final List<GaugeInfoObject> gauges = new ArrayList<GaugeInfoObject>(); if (list != null && list.getLength() == 1) { // log.warn("No wq info found."); @@ -74,13 +71,16 @@ final NamedNodeMap map = node.getAttributes(); final String gaugeName = getStringFromMap("name", map); final String error = getStringFromMap("error-message", map); - final GaugeInfoObject gi = new GaugeInfoObjectImpl(gaugeName, error, getDateFromMap("date-from", map), getDateFromMap("date-to", map)); - results.add(gi); + final GaugeInfoObject gi = new GaugeInfoObject(gaugeName, error, getDateFromMap("date-from", map), getDateFromMap("date-to", map)); + // results.add(gi); + gauges.add(gi); } } } - return results.toArray(new GaugeInfoObject[results.size()]); + + return new GaugeInfoResultImpl(this.globalErrorMsg, gauges.toArray(new GaugeInfoObject[gauges.size()])); + } private Date getDateFromMap(final String attrName, final NamedNodeMap map) { @@ -98,7 +98,7 @@ } @Override - public GaugeInfoObject[] getGaugeInfo(final String locale, final String river, final String[] gauges, final int startYear, final int endYear) + public GaugeInfoResult getGaugeInfo(final String locale, final String river, final String[] gauges, final int startYear, final int endYear) throws ServerException { final Document input = createInput(river, gauges, startYear, endYear);