ingo@942: package de.intevation.flys.artifacts.states; ingo@942: ingo@942: import java.util.List; 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@1792: import de.intevation.flys.artifacts.model.WMSDBLayerFacet; ingo@954: import de.intevation.flys.artifacts.resources.Resources; ingo@942: import de.intevation.flys.artifacts.states.DefaultState.ComputeType; ingo@1105: import de.intevation.flys.utils.FLYSUtils; ingo@1052: import de.intevation.flys.utils.GeometryUtils; 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@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: 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@1792: String url = FLYSUtils.getUserWMSUrl(artifact.identifier()); ingo@958: ingo@1792: WMSDBLayerFacet facet = new WMSDBLayerFacet( 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@1792: String name = artifact.identifier() + "-" + FLOODMAP_RIVERAXIS; ingo@1792: ingo@1792: facet.addLayer(name); ingo@1774: facet.setExtent(GeometryUtils.getRiverBoundary(river)); ingo@1105: facet.setSrid(FLYSUtils.getRiverSrid(artifact)); ingo@1792: facet.setData("geom FROM river_axes USING UNIQUE id USING SRID 31466"); ingo@1792: facet.setFilter("river_id=1"); ingo@1816: facet.setGeometryType("LINE"); 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 :