teichmann@5863: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde teichmann@5863: * Software engineering by Intevation GmbH teichmann@5863: * teichmann@5994: * This file is Free Software under the GNU AGPL (>=v3) teichmann@5863: * and comes with ABSOLUTELY NO WARRANTY! Check out the teichmann@5994: * documentation coming with Dive4Elements River for details. teichmann@5863: */ teichmann@5863: teichmann@5831: package org.dive4elements.river.artifacts; rrenkert@5764: rrenkert@5764: import java.util.ArrayList; rrenkert@5764: import java.util.List; rrenkert@5764: rrenkert@5764: import org.apache.log4j.Logger; rrenkert@5764: import org.w3c.dom.Document; rrenkert@5764: teichmann@5831: import org.dive4elements.artifactdatabase.state.DefaultOutput; teichmann@5831: import org.dive4elements.artifactdatabase.state.Facet; teichmann@5831: import org.dive4elements.artifactdatabase.state.FacetActivity; teichmann@5831: import org.dive4elements.artifacts.ArtifactFactory; teichmann@5831: import org.dive4elements.artifacts.Artifact; teichmann@5831: import org.dive4elements.artifacts.CallMeta; teichmann@5831: import org.dive4elements.artifacts.common.utils.XMLUtils; teichmann@5831: import org.dive4elements.river.artifacts.model.minfo.MorphologicWidthFacet; teichmann@5831: import org.dive4elements.river.artifacts.resources.Resources; teichmann@5831: import org.dive4elements.river.artifacts.states.StaticState; rrenkert@5764: rrenkert@5764: public class StaticMorphWidthArtifact rrenkert@5764: extends AbstractStaticStateArtifact rrenkert@5764: { teichmann@8202: /** The log for this class. */ teichmann@8202: private static Logger log = rrenkert@5764: Logger.getLogger(StaticMorphWidthArtifact.class); rrenkert@5764: rrenkert@5764: private static final String NAME = "morph-width"; rrenkert@5764: private static final String STATIC_FACET_NAME = "morph-width"; rrenkert@5764: rrenkert@5764: static { rrenkert@5764: // TODO: Move to configuration. rrenkert@5764: FacetActivity.Registry.getInstance() rrenkert@5764: .register(NAME, FacetActivity.INACTIVE); rrenkert@5764: } rrenkert@5764: rrenkert@5764: public static final String STATIC_STATE_NAME = rrenkert@5764: "state.morph-width.static"; rrenkert@5764: rrenkert@5764: /** rrenkert@5764: * Trivial Constructor. rrenkert@5764: */ rrenkert@5764: public StaticMorphWidthArtifact() { rrenkert@5764: } rrenkert@5764: rrenkert@5764: @Override rrenkert@5764: public String getName() { rrenkert@5764: return NAME; rrenkert@5764: } rrenkert@5764: rrenkert@5764: /** rrenkert@5764: * Gets called from factory, to set things up. rrenkert@5764: */ rrenkert@5764: @Override rrenkert@5764: public void setup( rrenkert@5764: String identifier, rrenkert@5764: ArtifactFactory factory, rrenkert@5764: Object context, rrenkert@5764: CallMeta callMeta, rrenkert@7842: Document data, rrenkert@7842: List loadFacets) rrenkert@5764: { teichmann@8202: log.debug("setup"); rrenkert@5764: teichmann@8202: if (log.isDebugEnabled()) { teichmann@8202: log.debug(XMLUtils.toString(data)); rrenkert@5764: } rrenkert@5764: rrenkert@5764: String code = getDatacageIDValue(data); rrenkert@5764: rrenkert@5764: if (code != null) { rrenkert@5764: Facet facet = new MorphologicWidthFacet( rrenkert@5764: STATIC_FACET_NAME, rrenkert@5764: Resources.getMsg( rrenkert@5764: callMeta, rrenkert@5764: "facet.morphologic.width", rrenkert@5764: "morphologische Breite")); rrenkert@5764: addStringData("width_id", code); rrenkert@5764: ArrayList facets = new ArrayList(1); rrenkert@5764: facets.add(facet); rrenkert@5764: rrenkert@5764: addFacets(STATIC_STATE_NAME, facets); rrenkert@5764: } rrenkert@7842: super.setup(identifier, factory, context, callMeta, data, loadFacets); rrenkert@5764: } rrenkert@5764: rrenkert@5764: @Override rrenkert@5764: protected void initStaticState() { rrenkert@5764: teichmann@8202: log.debug("initStaticState " + getName() + " " + identifier()); rrenkert@5764: rrenkert@5764: StaticState state = new StaticState(STATIC_STATE_NAME); rrenkert@5764: DefaultOutput output = new DefaultOutput( rrenkert@5764: "general", rrenkert@5764: "general", rrenkert@5764: "image/png", rrenkert@5764: "chart"); rrenkert@5764: rrenkert@5764: List facets = getFacets(STATIC_STATE_NAME); rrenkert@5764: output.addFacets(facets); rrenkert@5764: state.addOutput(output); rrenkert@5764: rrenkert@5764: setStaticState(state); rrenkert@5764: } rrenkert@5764: rrenkert@5764: @Override tom@8856: protected void initialize( tom@8856: Artifact artifact, tom@8856: Object context, tom@8856: CallMeta meta tom@8856: ) { rrenkert@5764: } rrenkert@5764: } rrenkert@5764: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :