Mercurial > dive4elements > river
view artifacts/src/main/java/org/dive4elements/river/artifacts/services/D4EService.java @ 8659:af415396d9ca
(issue1803) Use MD5 instead of a homegrown hashing algorithm
For creating a digest of the parametrization we should use an
algorithm that does not create collisions if there are small changes
in the parametrization so that wrong results are returned.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Thu, 02 Apr 2015 17:40:18 +0200 |
parents | 717b58b158c9 |
children | 0a5239a1e46e |
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.artifacts.services; import org.w3c.dom.Document; import org.apache.log4j.Logger; import org.dive4elements.artifacts.CallMeta; import org.dive4elements.artifacts.GlobalContext; import org.dive4elements.artifactdatabase.XMLService; import org.dive4elements.river.backend.SessionHolder; public abstract class D4EService extends XMLService { private static final Logger log = Logger.getLogger(D4EService.class); @Override public Document processXML( Document data, GlobalContext globalContext, CallMeta callMeta ) { init(); try { return doProcess(data, globalContext, callMeta); } finally { shutdown(); } } /** Override to do the meat work (called in processXML). */ protected abstract Document doProcess( Document data, GlobalContext globalContext, CallMeta callMeta); protected void init() { log.debug("init"); SessionHolder.acquire(); } /** Called when processing done, close session. */ protected void shutdown() { log.debug("shutdown"); SessionHolder.release(); } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :