ingo@942: package de.intevation.flys.artifacts.states; ingo@942: ingo@942: import java.util.List; ingo@958: import java.util.Map; ingo@942: ingo@942: import org.apache.log4j.Logger; ingo@942: ingo@958: import de.intevation.artifacts.CallContext; ingo@942: import de.intevation.artifacts.CallMeta; ingo@942: ingo@942: import de.intevation.artifactdatabase.state.Facet; ingo@942: ingo@942: import de.intevation.flys.artifacts.FLYSArtifact; ingo@958: import de.intevation.flys.artifacts.context.FLYSContext; ingo@942: import de.intevation.flys.artifacts.model.WMSLayerFacet; ingo@954: import de.intevation.flys.artifacts.resources.Resources; ingo@942: import de.intevation.flys.artifacts.states.DefaultState.ComputeType; ingo@942: ingo@942: ingo@942: public class RiverAxisState extends OutputState { ingo@942: ingo@954: public static final String I18N_DESCRIPTION = "floodmap.riveraxis"; ingo@954: ingo@958: public static final String WMS_LAYER_NAME = "riveraxis"; ingo@958: ingo@954: ingo@942: private static final Logger logger = Logger.getLogger(RiverAxisState.class); ingo@942: ingo@958: ingo@942: @Override ingo@942: public Object computeInit( ingo@942: FLYSArtifact artifact, ingo@942: String hash, ingo@958: Object context, ingo@942: CallMeta meta, ingo@942: List facets ingo@942: ) { ingo@942: logger.debug("RiverAxisState.computeInit()"); ingo@942: ingo@958: FLYSContext flysContext = null; ingo@958: ingo@958: if (context instanceof FLYSContext) { ingo@958: flysContext = (FLYSContext) context; ingo@958: } ingo@958: else { ingo@958: flysContext = (FLYSContext) ((CallContext) context).globalContext(); ingo@958: } ingo@958: ingo@958: Map wms = (Map) ingo@958: flysContext.get(FLYSContext.RIVER_WMS); ingo@958: ingo@958: String river = artifact.getDataAsString("river"); ingo@958: ingo@958: if(river == null || river.length() == 0) { ingo@958: logger.warn("No river found in the current parameterization."); ingo@958: return null; ingo@958: } ingo@958: ingo@958: String url = wms.get(river); ingo@958: ingo@954: // TODO Add config for background layer ingo@942: WMSLayerFacet facet = new WMSLayerFacet( ingo@942: 0, ingo@942: FLOODMAP_RIVERAXIS, ingo@954: Resources.getMsg(meta, I18N_DESCRIPTION, I18N_DESCRIPTION), ingo@942: ComputeType.INIT, ingo@942: getID(), hash, ingo@958: url); ingo@942: ingo@958: facet.addLayer(WMS_LAYER_NAME); ingo@942: ingo@954: // TODO determine extent based on the given geometry ingo@954: facet.setExtent("6.5 49.1 7.0 49.7"); ingo@954: ingo@942: facets.add(facet); ingo@942: ingo@942: return null; ingo@942: } ingo@942: } ingo@942: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :