felix@2131: package de.intevation.flys.artifacts; felix@2131: felix@2131: import java.util.ArrayList; felix@2131: import java.util.List; felix@2131: felix@2131: import org.apache.log4j.Logger; felix@2131: felix@2131: import org.w3c.dom.Document; felix@2131: felix@2131: import de.intevation.artifacts.Artifact; felix@2131: import de.intevation.artifacts.ArtifactFactory; felix@2131: import de.intevation.artifacts.CallMeta; felix@2131: felix@2131: felix@2131: import de.intevation.flys.artifacts.states.DefaultState; felix@2131: felix@2131: import de.intevation.artifactdatabase.state.Facet; felix@2131: felix@2131: felix@2131: /** felix@2147: * Artifact to get hydr zones (HYKs). felix@2131: */ felix@2131: public class HYKArtifact extends StaticFLYSArtifact { felix@2131: felix@2131: /** Name of Artifact. */ felix@2131: public static final String HYK_ARTIFACT_NAME = "hyk"; felix@2131: felix@2139: /** Name of data item keeping the hyk id to load formations from. */ felix@2139: public static final String HYK_ID = "hyk_artifact.data.id"; felix@2139: felix@2131: /** Name of data item keeping the km of cs master. */ felix@2131: public static final String HYK_KM = "hyk_artifact.data.km"; felix@2131: felix@2131: /** Own logger. */ felix@2131: private static final Logger logger = felix@2131: Logger.getLogger(HYKArtifact.class); felix@2131: felix@2131: felix@2131: /** Return given name. */ felix@2131: @Override felix@2131: public String getName() { felix@2131: return HYK_ARTIFACT_NAME; felix@2131: } felix@2131: felix@2131: felix@2131: /** Store ids, do super.setup. */ felix@2131: @Override felix@2131: public void setup( felix@2131: String identifier, felix@2131: ArtifactFactory factory, felix@2131: Object context, felix@2131: CallMeta callMeta, felix@2131: Document data) felix@2131: { felix@2131: logger.info("HYKArtifact.setup"); felix@2131: felix@2741: String ids = getDatacageIDValue(data); felix@2131: felix@2139: logger.info("HYKArtifact.setup: id is " + ids); felix@2139: felix@2139: addStringData(HYK_ID, ids); felix@2139: felix@2139: super.setup(identifier, factory, context, callMeta, data); felix@2131: } felix@2131: felix@2131: felix@2131: /** Set km as Data. */ felix@2131: public void setKm(double km) { felix@2131: addStringData(HYK_KM, Double.toString(km)); felix@2131: } felix@2131: felix@2131: ingo@2701: /** Get km from state data. */ ingo@2701: public double getKm() { ingo@2701: Double km = getDataAsDouble(HYK_KM); ingo@2701: if (km == null) { ingo@2701: // XXX returning 0 is to be compatible to older versions that had an ingo@2701: // own method getDataAsDouble that returned 0 if parsing the ingo@2701: // parameter failed. felix@2131: return 0; felix@2131: } ingo@2701: else { ingo@2701: return km; ingo@2701: } felix@2131: } felix@2131: felix@2147: felix@2139: /** Get hyk-id from state data. */ felix@2139: public int getHykId() { felix@2139: return getDataAsInteger(HYK_ID); felix@2139: } felix@2139: felix@2147: felix@2131: /** Do not copy data from daddyfact. */ felix@2131: @Override felix@2131: protected void initialize( felix@2131: Artifact artifact, felix@2131: Object context, felix@2131: CallMeta callMeta) felix@2131: { felix@2131: logger.debug("HYKArtifact.initialize"); felix@2131: WINFOArtifact winfo = (WINFOArtifact) artifact; felix@2131: importData(winfo, "river"); felix@2131: felix@2131: List fs = new ArrayList(); felix@2131: felix@2131: DefaultState state = (DefaultState) getCurrentState(context); felix@2131: state.computeInit(this, hash(), context, callMeta, fs); felix@2131: if (!fs.isEmpty()) { felix@2131: logger.debug("Facets to add in HYKArtifact.initialize ."); felix@2131: facets.put(getCurrentStateId(), fs); felix@2131: } felix@2131: else { felix@2131: logger.debug("No facets to add in HYKArtifact.initialize (" felix@2131: + state.getID() + ")."); felix@2131: } felix@2131: } felix@2139: felix@2139: felix@2139: /** felix@2139: * Determines Facets initial disposition regarding activity (think of felix@2139: * selection in Client ThemeList GUI). This will be checked one time felix@2139: * when the facet enters a collections describe document. felix@2139: * felix@2139: * @param facetName name of the facet. felix@2139: * @param index index of the facet. felix@2139: * felix@2139: * @return Always 0. Hyk Data will enter plots inactive. felix@2139: */ felix@2139: @Override felix@2139: public int getInitialFacetActivity( felix@2139: String outputName, felix@2139: String facetName, felix@2139: int index) felix@2139: { felix@2139: return 0; felix@2139: } felix@2131: } felix@2131: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :