Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/ManualPointsArtifact.java @ 2175:3f90f4d37c8d
Render manual points in longitudinal sections.
flys-artifacts/trunk@3770 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Thu, 26 Jan 2012 13:12:19 +0000 |
parents | 9317863e867b |
children | e2124ca11adb |
line wrap: on
line source
package de.intevation.flys.artifacts; import java.util.ArrayList; import java.util.List; import org.apache.log4j.Logger; import org.w3c.dom.Document; import de.intevation.artifactdatabase.state.Facet; import de.intevation.artifacts.Artifact; import de.intevation.artifacts.ArtifactFactory; import de.intevation.artifacts.CallMeta; import de.intevation.flys.artifacts.model.FacetTypes; import de.intevation.flys.artifacts.states.DefaultState; /** * Artifact to store user-added points. */ public class ManualPointsArtifact extends StaticFLYSArtifact implements FacetTypes { /** The logger for this class. */ private static Logger logger = Logger.getLogger(ManualPointsArtifact.class); /** The name of the artifact. */ public static final String ARTIFACT_NAME = "manualpoints"; /** Name of data item where points are stored (jsonized). */ public static final String POINT_DATA = "manualpoints.data"; /** * Trivial Constructor. */ public ManualPointsArtifact() { logger.debug("ManualPointsArtifact.ManualPointsartifact()"); } /** * Gets called from factory, to set things up. */ @Override public void setup( String identifier, ArtifactFactory factory, Object context, CallMeta callMeta, Document data) { logger.debug("ManualPointsArtifact.setup"); super.setup(identifier, factory, context, callMeta, data); initialize(null, context, callMeta); } /** Return the name of this artifact. */ public String getName() { return ARTIFACT_NAME; } /** Access state data storing the jsonstring with points. */ public String getPointsData() { // TODO probably revive and deliver NamedDoubles. return getDataAsString(POINT_DATA); } /** Setup state and facet. */ @Override protected void initialize(Artifact artifact, Object context, CallMeta meta) { logger.debug("ManualPointsArtifact.initialize"); List<Facet> fs = new ArrayList<Facet>(); addStringData(POINT_DATA, "[]"); DefaultState state = (DefaultState) getCurrentState(context); state.computeInit(this, hash(), context, meta, fs); if (!fs.isEmpty()) { logger.debug("Facets to add in ManualPointsArtifact.initialize ."); facets.put(getCurrentStateId(), fs); } else { logger.debug("No facets to add in ManualPointsArtifact.initialize (" + state.getID() + ")."); } } /** * Determines Facets initial disposition regarding activity (think of * selection in Client ThemeList GUI). This will be checked one time * when the facet enters a collections describe document. * * @param facetName name of the facet. * @param index index of the facet. * @return 0 if not active */ @Override public int getInitialFacetActivity( String outputName, String facetName, int index) { return 1; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :