Mercurial > dive4elements > river
view flys-client/src/main/java/de/intevation/flys/client/server/MapOutputServiceImpl.java @ 3814:8083f6384023
merged flys-artifacts/pre2.6-2012-01-04
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Fri, 28 Sep 2012 12:14:56 +0200 |
parents | 28eb4dfe2cbf |
children | f7b3d5833f3b |
line wrap: on
line source
package de.intevation.flys.client.server; import java.io.InputStream; import java.io.IOException; import org.w3c.dom.Document; import org.apache.log4j.Logger; import com.google.gwt.user.server.rpc.RemoteServiceServlet; import de.intevation.artifacts.common.utils.ClientProtocolUtils; import de.intevation.artifacts.common.utils.XMLUtils; import de.intevation.artifacts.httpclient.http.HttpClient; import de.intevation.artifacts.httpclient.http.HttpClientImpl; import de.intevation.artifacts.httpclient.exceptions.ConnectionException; import de.intevation.flys.client.shared.exceptions.ServerException; import de.intevation.flys.client.shared.model.Collection; import de.intevation.flys.client.shared.model.MapConfig; import de.intevation.flys.client.client.services.MapOutputService; public class MapOutputServiceImpl extends RemoteServiceServlet implements MapOutputService { private static final Logger logger = Logger.getLogger(MapOutputServiceImpl.class); public static final String ERROR_NO_MAP_CONFIG = "error_no_map_config"; public MapConfig doOut(Collection collection) throws ServerException { logger.info("MapOutputServiceImpl.doOut"); String url = getServletContext().getInitParameter("server-url"); String uuid = collection.identifier(); try { Document request = ClientProtocolUtils.newOutCollectionDocument( uuid, "floodmap", "floodmap"); HttpClient client = new HttpClientImpl(url); InputStream is = client.collectionOut(request, uuid, "floodmap"); Document response = XMLUtils.parseDocument(is); return MapHelper.parseConfig(response); } catch (ConnectionException e) { logger.error(e, e); } catch (IOException ioe) { logger.error(ioe, ioe); } throw new ServerException(ERROR_NO_MAP_CONFIG); } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :