Mercurial > dive4elements > river
diff flys-client/src/main/java/de/intevation/flys/client/server/MapPrintServiceImpl.java @ 4474:bd78d2b0e309
Map print settings can now be configured via settings window.
Configurable for now are page layout (A0 or A4), caption text and
comment text.
author | Christian Lins <christian.lins@intevation.de> |
---|---|
date | Sun, 11 Nov 2012 14:44:12 +0100 |
parents | 6db783627137 |
children | f8ed8114f415 |
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/server/MapPrintServiceImpl.java Sat Nov 10 23:47:38 2012 +0100 +++ b/flys-client/src/main/java/de/intevation/flys/client/server/MapPrintServiceImpl.java Sun Nov 11 14:44:12 2012 +0100 @@ -19,6 +19,7 @@ import java.net.URLEncoder; import java.util.ArrayList; import java.util.Collections; +import java.util.Enumeration; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; @@ -124,10 +125,11 @@ MapConfig mapConfig, Double minX, Double minY, Double maxX, Double maxY, - Map<String, Object> settings + Map<String, Object> pageSpecs ) { Map<String, Object> spec = new LinkedHashMap<String, Object>(); - spec.put("layout", "A4 portrait"); + spec.put("pageSize", "A4"); + spec.put("landscape", "false"); spec.put("title", "FLYS Druck"); spec.put("srs", "EPSG:" + mapConfig.getSrid()); spec.put("dpi", Integer.valueOf(254)); @@ -135,6 +137,8 @@ spec.put("geodaetic", "true"); spec.put("outputFormat", "pdf"); + spec.putAll(pageSpecs); + String ns = ArtifactNamespaceContext.NAMESPACE_URI; List<Layer> ls = new ArrayList<Layer>(); @@ -187,7 +191,7 @@ page.put("rotation", Integer.valueOf(0)); // This may overwrite default settings above - page.putAll(settings); + page.putAll(pageSpecs); pages.add(page); spec.put("pages", pages); @@ -256,9 +260,15 @@ } // Retrieve print settings from request - Map<String, Object> settings = new HashMap<String, Object>(); - String pageTitle = req.getParameter("page-title"); - settings.put("mapTitle", pageTitle); + Map<String, Object> pageSpecs = new HashMap<String, Object>(); + Enumeration<String> paramNames = req.getParameterNames(); + while (paramNames.hasMoreElements()) { + String paramName = paramNames.nextElement(); + if (paramName.startsWith("mapfish-")) { + String paramValue = req.getParameter(paramName); + pageSpecs.put(paramName.substring(8), paramValue); + } + } String url = getURL(); @@ -325,7 +335,7 @@ mapConfig, minX, minY, maxX, maxY, - settings); + pageSpecs); if (log.isDebugEnabled()) { log.debug("Generated spec:");