Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/MiddleBedHeight.java @ 5200:42bb6ff78d1b 2.9.11
Directly set the connectionInitSqls on the datasource
Somehow the factory fails to set the connectionInitSqls if
we add it to the dbcpProperties. So we now set it directly
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Fri, 08 Mar 2013 11:48:33 +0100 |
parents | a3dc382bc1ca |
children |
line wrap: on
line source
package de.intevation.flys.artifacts.states; import java.util.ArrayList; import java.util.List; import org.apache.log4j.Logger; import de.intevation.artifacts.CallContext; import de.intevation.artifactdatabase.state.Facet; import de.intevation.flys.artifacts.FLYSArtifact; import de.intevation.flys.artifacts.access.BedHeightAccess; import de.intevation.flys.artifacts.model.CalculationResult; import de.intevation.flys.artifacts.model.DataFacet; import de.intevation.flys.artifacts.model.FacetTypes; import de.intevation.flys.artifacts.model.MiddleBedHeightData; import de.intevation.flys.artifacts.model.MiddleBedHeightFacet; import de.intevation.flys.artifacts.model.MiddleBedHeightCalculation; /** State in which Middle Bed Heights are generated. */ public class MiddleBedHeight extends DefaultState implements FacetTypes { /** Private logger. */ private static final Logger logger = Logger.getLogger(MiddleBedHeight.class); @Override public Object computeAdvance( FLYSArtifact artifact, String hash, CallContext context, List<Facet> facets, Object old ) { logger.debug("MiddleBedHeight.computeAdvance"); List<Facet> newFacets = new ArrayList<Facet>(); BedHeightAccess access = new BedHeightAccess(artifact, context); CalculationResult res = old instanceof CalculationResult ? (CalculationResult) old : new MiddleBedHeightCalculation().calculate(access); if (facets == null || res == null) { return res; } MiddleBedHeightData[] data = (MiddleBedHeightData[]) res.getData(); logger.debug("Calculated " + data.length + " MiddleBedHeightData objects"); String id = getID(); int idx = 0; for (MiddleBedHeightData d: data) { if (d.getStartYear() == d.getEndYear()) { newFacets.add(new MiddleBedHeightFacet( idx, MIDDLE_BED_HEIGHT_SINGLE, d.getSoundingName(context), ComputeType.ADVANCE, id, hash )); } else { newFacets.add(new MiddleBedHeightFacet( idx, MIDDLE_BED_HEIGHT_EPOCH, d.getSoundingName(context), ComputeType.ADVANCE, id, hash )); } idx++; } Facet csv = new DataFacet( CSV, "CSV data", ComputeType.ADVANCE, hash, id); // TODO ADD PDF FACET newFacets.add(csv); logger.debug("Created " + newFacets.size() + " new Facets."); facets.addAll(newFacets); return res; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :