# HG changeset patch # User Raimund Renkert # Date 1325773794 0 # Node ID 007a8f5ed9f1447ca8a207cc8e133a6377949725 # Parent aa9cc91c8193e7bd57f4a08fd03ce7cd3a86f567 Implemented new module "new map". flys-artifacts/trunk@3598 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r aa9cc91c8193 -r 007a8f5ed9f1 flys-artifacts/ChangeLog --- a/flys-artifacts/ChangeLog Thu Jan 05 14:15:07 2012 +0000 +++ b/flys-artifacts/ChangeLog Thu Jan 05 14:29:54 2012 +0000 @@ -1,3 +1,26 @@ +2011-12-09 Raimund Renkert + + Implemented new module "new map". + + * src/main/java/de/intevation/flys/artifacts/MapArtifact.java: + New. Artifact for the new module, extends RiverAxisArtifact and + contains the MapState class. + + * src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java, + src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java: + Added empty constructor to embedded state classes to allow instantiation + of MapState that extends the RiverAxisState. + + * src/main/java/de/intevation/flys/exports/MapGenerator.java: + Do not generate an initialExtent element if the initial extent is + empty. + + * doc/conf/artifacts/map.xml: + New. Describes the state for the new module. + + * doc/conf/conf.xml: + Added new config file. + 2012-01-05 Ingo Weinzierl flys/issue444 (error_no_export_found bei "W bei ungleichwertigem Abfluss") diff -r aa9cc91c8193 -r 007a8f5ed9f1 flys-artifacts/doc/conf/artifacts/map.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-artifacts/doc/conf/artifacts/map.xml Thu Jan 05 14:29:54 2012 +0000 @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r aa9cc91c8193 -r 007a8f5ed9f1 flys-artifacts/doc/conf/conf.xml --- a/flys-artifacts/doc/conf/conf.xml Thu Jan 05 14:15:07 2012 +0000 +++ b/flys-artifacts/doc/conf/conf.xml Thu Jan 05 14:29:54 2012 +0000 @@ -17,6 +17,9 @@ de.intevation.artifactdatabase.DefaultArtifactFactory + de.intevation.artifactdatabase.DefaultArtifactFactory de.intevation.artifactdatabase.DefaultArtifactFactory @@ -119,6 +122,7 @@ + diff -r aa9cc91c8193 -r 007a8f5ed9f1 flys-artifacts/src/main/java/de/intevation/flys/artifacts/MapArtifact.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/MapArtifact.java Thu Jan 05 14:29:54 2012 +0000 @@ -0,0 +1,137 @@ +package de.intevation.flys.artifacts; + +import org.apache.log4j.Logger; + +import java.util.List; + +import org.w3c.dom.Document; + +import de.intevation.artifacts.ArtifactFactory; +import de.intevation.artifacts.CallMeta; +import de.intevation.artifacts.CallContext; + +import de.intevation.artifactdatabase.state.DefaultOutput; +import de.intevation.artifactdatabase.state.Facet; +import de.intevation.artifactdatabase.state.State; + +import de.intevation.flys.artifacts.model.WMSDBLayerFacet; + +import de.intevation.flys.model.River; + +import de.intevation.flys.artifacts.model.FacetTypes; +import de.intevation.flys.artifacts.model.RiverFactory; +import de.intevation.flys.artifacts.resources.Resources; +import de.intevation.flys.utils.FLYSUtils; +import de.intevation.flys.utils.GeometryUtils; + + +public class MapArtifact extends RiverAxisArtifact { + + private static final Logger logger = + Logger.getLogger(MapArtifact.class); + + @Override + public void setup( + String identifier, + ArtifactFactory factory, + Object context, + CallMeta callmeta, + Document data) + { + logger.debug("MapArtifact.setup"); + this.identifier = identifier; + } + + @Override + public State getCurrentState(Object cc) { + logger.debug("MapArtifact.getCurrentState"); + + State state = new MapState(this); + List fs = facets.get(getCurrentStateId()); + + DefaultOutput o = new DefaultOutput( + "floodmap", + "floodmap", + "image/png", + fs, + "map"); + + state.getOutputs().add(o); + + return state; + } + + + @Override + public String getCurrentStateId() { + return "state.map.new"; + } + + + public static class MapState extends RiverAxisState { + + public MapState() { + } + + public MapState(MapArtifact artifact) { + super(artifact); + this.id = "state.map.new"; + } + + @Override + public Object computeInit( + FLYSArtifact artifact, + String hash, + Object context, + CallMeta meta, + List facets) + { + return null; + } + + @Override + public Object computeFeed( + FLYSArtifact artifact, + String hash, + CallContext context, + List facets, + Object old) + { + logger.debug("MapState.computeFeed"); + + String type = getFacetType(); + + WMSDBLayerFacet facet = new WMSDBLayerFacet( + 0, + type, + getTitle(context.getMeta()), + ComputeType.FEED, + getID(), hash, + getUrl()); + + String name = type + "-" + artifact.identifier(); + + facet.addLayer(name); + facet.setExtent(getExtent()); + facet.setSrid(getSrid()); + facet.setData(getDataString()); + facet.setFilter(getFilter()); + facet.setGeometryType(getGeometryType()); + facet.setConnection(getConnection()); + facet.setConnectionType(getConnectionType()); + facet.setLabelItem(getLabelItem()); + + facets.add(facet); + + return null; + } + + @Override + public int getRiverId() { + River r = FLYSUtils.getRiver(artifact); + int riverId = r.getId(); + + return riverId; + } + } +} diff -r aa9cc91c8193 -r 007a8f5ed9f1 flys-artifacts/src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java Thu Jan 05 14:15:07 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/RiverAxisArtifact.java Thu Jan 05 14:29:54 2012 +0000 @@ -81,6 +81,8 @@ protected Geometry geom; protected int riverId; + public RiverAxisState(){} + public RiverAxisState(WMSDBArtifact artifact) { super(artifact); riverId = 0; diff -r aa9cc91c8193 -r 007a8f5ed9f1 flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java Thu Jan 05 14:15:07 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSDBArtifact.java Thu Jan 05 14:29:54 2012 +0000 @@ -105,6 +105,8 @@ protected WMSDBArtifact artifact; + public WMSDBState() {} + public WMSDBState(WMSDBArtifact artifact) { this.artifact = artifact; } diff -r aa9cc91c8193 -r 007a8f5ed9f1 flys-artifacts/src/main/java/de/intevation/flys/exports/MapGenerator.java --- a/flys-artifacts/src/main/java/de/intevation/flys/exports/MapGenerator.java Thu Jan 05 14:15:07 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/MapGenerator.java Thu Jan 05 14:29:54 2012 +0000 @@ -270,11 +270,14 @@ Element maxExtent = c.create("maxExtent"); maxExtent.setTextContent(mE); - String iE = GeometryUtils.jtsBoundsToOLBounds(this.initialExtent); - logger.debug("BUILD INITIAL EXTENT OF: " + this.initialExtent); - logger.debug("BUILD INITIAL EXTENT: " + iE); - Element initExtent = c.create("initialExtent"); - initExtent.setTextContent(iE); + if(this.initialExtent != null) { + String iE = GeometryUtils.jtsBoundsToOLBounds(this.initialExtent); + logger.debug("BUILD INITIAL EXTENT OF: " + this.initialExtent); + logger.debug("BUILD INITIAL EXTENT: " + iE); + Element initExtent = c.create("initialExtent"); + initExtent.setTextContent(iE); + parent.appendChild(initExtent); + } Element srid = c.create("srid"); srid.setTextContent(this.srid); @@ -283,7 +286,6 @@ // TODO resolutation parent.appendChild(maxExtent); - parent.appendChild(initExtent); parent.appendChild(srid); }