tom@8858: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde tom@8858: * Software engineering by Intevation GmbH tom@8858: * tom@8858: * This file is Free Software under the GNU AGPL (>=v3) tom@8858: * and comes with ABSOLUTELY NO WARRANTY! Check out the tom@8858: * documentation coming with Dive4Elements River for details. tom@8858: */ tom@8858: rrenkert@5912: package org.dive4elements.river.artifacts.model.map; rrenkert@5912: rrenkert@5912: import java.io.File; rrenkert@5912: rrenkert@5912: import org.apache.log4j.Logger; rrenkert@5912: import org.dive4elements.artifactdatabase.state.DefaultFacet; rrenkert@5912: import org.dive4elements.artifacts.Artifact; rrenkert@5912: import org.dive4elements.artifacts.CallContext; rrenkert@5912: import org.dive4elements.artifacts.common.utils.Config; rrenkert@5912: import org.dive4elements.river.artifacts.D4EArtifact; rrenkert@5912: rrenkert@5912: rrenkert@5912: public class ShapeFacet rrenkert@5912: extends DefaultFacet rrenkert@5912: { teichmann@8202: private static Logger log = Logger.getLogger(ShapeFacet.class); rrenkert@5912: rrenkert@5912: private static final String BASE_DIR = rrenkert@5912: "/artifact-database/floodmap/shapefile-path/@value"; rrenkert@5912: rrenkert@5912: /** rrenkert@5912: * Defaults to ADVANCE Compute type. rrenkert@5912: * @param name Name of the facet. rrenkert@5912: * @param description maybe localized description of the facet. rrenkert@5912: */ rrenkert@5912: public ShapeFacet(String name, String description) { rrenkert@5912: super(name, description); rrenkert@5912: } rrenkert@5912: rrenkert@5912: /** rrenkert@5912: * Return computation result. rrenkert@5912: */ rrenkert@5912: @Override rrenkert@5912: public Object getData(Artifact artifact, CallContext context) { rrenkert@5912: D4EArtifact flys = (D4EArtifact)artifact; rrenkert@5912: String tmp = Config.getStringXPath(BASE_DIR); rrenkert@5912: String baseDir = Config.replaceConfigDir(tmp); rrenkert@5912: baseDir += "/" + flys.identifier(); rrenkert@5912: File shapeDir = new File(baseDir); rrenkert@5912: if (shapeDir.exists()) { rrenkert@5912: return shapeDir; rrenkert@5912: } rrenkert@5912: return null; rrenkert@5912: } rrenkert@5912: teichmann@5919: }