rrenkert@5764: package de.intevation.flys.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: rrenkert@5764: import de.intevation.artifactdatabase.state.DefaultOutput; rrenkert@5764: import de.intevation.artifactdatabase.state.Facet; rrenkert@5764: import de.intevation.artifactdatabase.state.FacetActivity; rrenkert@5764: import de.intevation.artifacts.ArtifactFactory; rrenkert@5764: import de.intevation.artifacts.Artifact; rrenkert@5764: import de.intevation.artifacts.CallMeta; rrenkert@5764: import de.intevation.artifacts.common.utils.XMLUtils; rrenkert@5764: import de.intevation.flys.artifacts.model.minfo.MorphologicWidthFacet; rrenkert@5764: import de.intevation.flys.artifacts.resources.Resources; rrenkert@5764: import de.intevation.flys.artifacts.states.StaticState; rrenkert@5764: rrenkert@5764: public class StaticMorphWidthArtifact rrenkert@5764: extends AbstractStaticStateArtifact rrenkert@5764: { rrenkert@5764: /** The logger for this class. */ rrenkert@5764: private static Logger logger = 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@5764: Document data) rrenkert@5764: { rrenkert@5764: logger.debug("setup"); rrenkert@5764: rrenkert@5764: if (logger.isDebugEnabled()) { rrenkert@5764: logger.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@5764: super.setup(identifier, factory, context, callMeta, data); rrenkert@5764: } rrenkert@5764: rrenkert@5764: @Override rrenkert@5764: protected void initStaticState() { rrenkert@5764: rrenkert@5764: logger.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 rrenkert@5764: protected void initialize(Artifact artifact, Object context, CallMeta meta) { rrenkert@5764: } rrenkert@5764: } rrenkert@5764: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :