Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSFixpointsArtifact.java @ 3649:33bfc01410fb
Merged revisions 5375,5379,5382 via svnmerge from
file:///home/clients/bsh/bsh-generischer-viewer/Material/SVN/flys-artifacts/trunk
........
r5375 | ingo | 2012-09-07 11:26:45 +0200 (Fr, 07 Sep 2012) | 1 line
Tagged 'flys-artifacts' as 2.9
........
r5379 | rrenkert | 2012-09-07 13:58:41 +0200 (Fr, 07 Sep 2012) | 4 lines
Issue 791.
Add start km to data to compare reference and target km in next state.
........
r5382 | rrenkert | 2012-09-07 14:03:48 +0200 (Fr, 07 Sep 2012) | 3 lines
Set data for characteristic diameter for use in parameter matrix UI.
........
flys-artifacts/tags/2.9@5388 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 07 Sep 2012 13:12:08 +0000 |
parents | b24920235944 |
children | 2fdbe78a8fc2 |
line wrap: on
line source
package de.intevation.flys.artifacts; import java.util.List; import org.w3c.dom.Document; import org.apache.log4j.Logger; import com.vividsolutions.jts.geom.Envelope; import de.intevation.artifacts.ArtifactFactory; import de.intevation.artifacts.CallMeta; import de.intevation.artifactdatabase.state.DefaultOutput; import de.intevation.artifactdatabase.state.Facet; import de.intevation.artifactdatabase.state.State; import de.intevation.flys.model.River; import de.intevation.flys.model.Fixpoint; import de.intevation.flys.artifacts.model.FacetTypes; import de.intevation.flys.artifacts.model.RiverFactory; import de.intevation.flys.utils.FLYSUtils; import de.intevation.flys.utils.GeometryUtils; public class WMSFixpointsArtifact extends WMSDBArtifact { public static final String NAME = "fixpoints"; private static final Logger logger = Logger.getLogger(WMSFixpointsArtifact.class); @Override public void setup( String identifier, ArtifactFactory factory, Object context, CallMeta callMeta, Document data) { logger.debug("WMSFixpointsArtifact.setup"); super.setup(identifier, factory, context, callMeta, data); } @Override public String getName() { return NAME; } @Override public State getCurrentState(Object cc) { State s = new FixpointsState(this); List<Facet> fs = facets.get(getCurrentStateId()); DefaultOutput o = new DefaultOutput( "floodmap", "floodmap", "image/png", fs, "map"); s.getOutputs().add(o); return s; } public static class FixpointsState extends WMSDBState implements FacetTypes { private static final Logger logger = Logger.getLogger(FixpointsState.class); protected int riverId; public FixpointsState(WMSDBArtifact artifact) { super(artifact); riverId = 0; } @Override protected String getFacetType() { return FLOODMAP_FIXPOINTS; } @Override protected String getUrl() { return FLYSUtils.getUserWMSUrl(artifact.identifier()); } @Override protected String getSrid() { River river = RiverFactory.getRiver(getRiverId()); return FLYSUtils.getRiverSrid(river.getName()); } @Override protected Envelope getExtent() { List<Fixpoint> fixpoints = Fixpoint.getFixpoints(getRiverId()); Envelope max = null; for (Fixpoint f: fixpoints) { Envelope env = f.getGeom().getEnvelopeInternal(); if (max == null) { max = env; continue; } max.expandToInclude(env); } return max != null ? GeometryUtils.transform(max, getSrid()) : max; } @Override protected String getFilter() { return "river_id=" + String.valueOf(getRiverId()); } @Override protected String getDataString() { String srid = getSrid(); if (FLYSUtils.isUsingOracle()) { return "geom FROM fixpoints USING SRID " + srid; } else { return "geom FROM fixpoints USING UNIQUE id USING SRID " + srid; } } @Override protected String getGeometryType() { return "POINT"; } } // end of WMSKmState } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :