Mercurial > dive4elements > gnv-client
diff gnv/src/main/java/de/intevation/gnv/action/WMSAction.java @ 680:ba3370dbc8c5
Parse time to live of a wms-layer from meta document and show it in html gui (issue197).
gnv/trunk@830 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 26 Mar 2010 09:22:32 +0000 |
parents | 8315b0a40329 |
children | 15ac78a91d1b |
line wrap: on
line diff
--- a/gnv/src/main/java/de/intevation/gnv/action/WMSAction.java Mon Mar 22 11:42:15 2010 +0000 +++ b/gnv/src/main/java/de/intevation/gnv/action/WMSAction.java Fri Mar 26 09:22:32 2010 +0000 @@ -1,7 +1,9 @@ package de.intevation.gnv.action; +import java.text.DateFormat; import java.util.ArrayList; import java.util.Collection; +import java.util.Date; import java.util.Iterator; import javax.servlet.http.HttpServletRequest; @@ -39,6 +41,9 @@ public static final String XPATH_LAYER_TITLE = "/art:meta/art:layer/art:title/text()"; + public static final String XPATH_LAYER_TTL = + "/art:meta/art:layer/art:ttl/text()"; + /** * the logger, used to log exceptions and additonaly information */ @@ -108,18 +113,41 @@ meta, XPATH_MAPSERVER_MAPFILE); String layer = XMLUtils.getStringXPath( meta, XPATH_LAYER_TITLE); + String tmpTTL = XMLUtils.getStringXPath( + meta, XPATH_LAYER_TTL); layer = layer != null ? layer : artifact.getId(); + String ttl = null; + if (tmpTTL != null) { + DateFormat df = DateFormat.getDateTimeInstance( + DateFormat.LONG, + DateFormat.LONG, + request.getLocale()); + + try { + long tmp = Long.parseLong(tmpTTL); + ttl = df.format(new Date(tmp)); + } + catch (NumberFormatException nfe) { + logger.error("Error while parsing time to live."); + logger.error(nfe,nfe); + + ttl = ""; + } + } + if (logger.isDebugEnabled()) { logger.debug("Mapserver path: " + mapserverPath); logger.debug("Mapfile path: " + mapfilePath); logger.debug("Layer title: " + layer); + logger.debug("Layer ttl: " + ttl); } request.setAttribute("wms", true); request.setAttribute("mapserver", mapserverPath); request.setAttribute("mapfile", mapfilePath); request.setAttribute("layer", layer); + request.setAttribute("ttl", ttl); if (mapserverPath != null && mapfilePath != null && layer != null){