Mercurial > dive4elements > river
view gwt-client/src/main/java/org/dive4elements/river/client/server/MapOutputServiceImpl.java @ 6135:804e50149d6a
Print the complete collection in parseCollection
This can be extremly helpful as it allows you to debug the full
state of a collection
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Fri, 31 May 2013 15:19:32 +0200 |
parents | ea9eef426962 |
children | 238fc722f87a |
line wrap: on
line source
/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde * Software engineering by Intevation GmbH * * This file is Free Software under the GNU AGPL (>=v3) * and comes with ABSOLUTELY NO WARRANTY! Check out the * documentation coming with Dive4Elements River for details. */ package org.dive4elements.river.client.server; import java.io.InputStream; import java.io.IOException; import java.util.Map; import org.w3c.dom.Document; import org.apache.log4j.Logger; import com.google.gwt.user.server.rpc.RemoteServiceServlet; import org.dive4elements.artifacts.common.utils.ClientProtocolUtils; import org.dive4elements.artifacts.common.utils.XMLUtils; import org.dive4elements.artifacts.httpclient.http.HttpClient; import org.dive4elements.artifacts.httpclient.http.HttpClientImpl; import org.dive4elements.artifacts.httpclient.exceptions.ConnectionException; import org.dive4elements.river.client.shared.exceptions.ServerException; import org.dive4elements.river.client.shared.model.Collection; import org.dive4elements.river.client.shared.model.MapConfig; import org.dive4elements.river.client.shared.model.OutputMode; import org.dive4elements.river.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 static final String ERROR_NO_MAP_OUTPUT_TYPE = "error_no_map_output_type"; public MapConfig doOut(Collection collection) throws ServerException { logger.info("MapOutputServiceImpl.doOut"); String url = getServletContext().getInitParameter("server-url"); String uuid = collection.identifier(); Map<String, OutputMode> modes = collection.getOutputModes(); String requestMode = ""; if (modes.containsKey("floodmap")) { requestMode = "floodmap"; } else if (modes.containsKey("map")) { requestMode = "map"; } else { throw new ServerException(ERROR_NO_MAP_OUTPUT_TYPE); } try { Document request = ClientProtocolUtils.newOutCollectionDocument( uuid, requestMode, requestMode); HttpClient client = new HttpClientImpl(url); InputStream is = client.collectionOut(request, uuid, requestMode); 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 :