Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixChartGenerator.java @ 3417:ed9689fbcd26
FixA: Prevent NPE when exporting parameters.
flys-artifacts/trunk@5070 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Thu, 19 Jul 2012 15:25:46 +0000 |
parents | 3732e1bab0aa |
children | cbe2febe30cc |
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; public abstract class FixChartGenerator extends XYChartGenerator { 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); } context.putContextValue(CURRENT_KM, currentKm); } public static 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 :