Mercurial > dive4elements > river
diff flys-client/src/main/java/de/intevation/flys/client/server/RiverServiceImpl.java @ 217:907b61e4d702
Improved the exception handling - added warnings for user authentication errors and errors that occur while fetching supported rivers.
flys-client/trunk@1659 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 08 Apr 2011 10:05:14 +0000 |
parents | 44c63e7fd0d0 |
children | 924da6695800 |
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/server/RiverServiceImpl.java Fri Apr 08 09:51:41 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/server/RiverServiceImpl.java Fri Apr 08 10:05:14 2011 +0000 @@ -18,6 +18,7 @@ import de.intevation.artifacts.httpclient.http.HttpClient; import de.intevation.artifacts.httpclient.http.HttpClientImpl; +import de.intevation.flys.client.shared.exceptions.ServerException; import de.intevation.flys.client.shared.model.DefaultRiver; import de.intevation.flys.client.shared.model.River; import de.intevation.flys.client.client.services.RiverService; @@ -36,8 +37,14 @@ /** The XPath string that points to the rivers in the resulting document.*/ public static final String XPATH_RIVERS = "/art:rivers/art:river"; + /** The error message key that is thrown if an error occured while reading + * the supported rivers from server.*/ + public static final String ERROR_NO_RIVERS_FOUND = "error_no_rivers_found"; - public River[] list(String serverUrl) { + + public River[] list(String serverUrl) + throws ServerException + { Document doc = XMLUtils.newDocument(); XMLUtils.ElementCreator ec = new XMLUtils.ElementCreator( @@ -58,6 +65,10 @@ XPathConstants.NODESET, ArtifactNamespaceContext.INSTANCE); + if (rivers == null || rivers.getLength() == 0) { + throw new ServerException(ERROR_NO_RIVERS_FOUND); + } + int count = rivers.getLength(); List<River> theRivers = new ArrayList<River>(count); @@ -77,7 +88,7 @@ System.err.println(ce.getLocalizedMessage()); } - return null; + throw new ServerException(ERROR_NO_RIVERS_FOUND); } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :