Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixChartGenerator.java @ 5595:85fd42e308e7
merge
author | Bettina Gruenbauer <bettina@intevation.de> |
---|---|
date | Mon, 08 Apr 2013 16:24:08 +0200 |
parents | dd8a63002fb8 |
children |
line wrap: on
line source
package de.intevation.flys.exports.fixings; import de.intevation.artifacts.ArtifactNamespaceContext; import de.intevation.artifacts.CallContext; import de.intevation.artifacts.common.utils.XMLUtils; import de.intevation.flys.exports.XYChartGenerator; import java.io.OutputStream; import org.apache.log4j.Logger; import org.w3c.dom.Document; /** * Base class for FixChartGenerator. */ public abstract class FixChartGenerator extends XYChartGenerator { /** Private logger. */ private static Logger logger = Logger.getLogger(FixChartGenerator.class); public static final Double INVALID_KM = Double.valueOf(-1d); public static final String CURRENT_KM = "currentKm"; public static final String XPATH_CHART_CURRENTKM = "/art:action/art:attributes/art:currentKm/@art:km"; @Override public void init(Document request, OutputStream out, CallContext context) { super.init(request, out, context); Double currentKm = getCurrentKmFromRequest(request); if (logger.isDebugEnabled()) { logger.debug("currentKm = " + currentKm); } if (currentKm != INVALID_KM) { context.putContextValue(CURRENT_KM, currentKm); } } public static final Double getCurrentKmFromRequest(Document request) { String km = XMLUtils.xpathString( request, XPATH_CHART_CURRENTKM, ArtifactNamespaceContext.INSTANCE); if (km == null) { return INVALID_KM; } try { return Double.valueOf(km); } catch (NumberFormatException nfe) { return INVALID_KM; } } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :