comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java @ 1792:49ad801076e4

Enabled the MapGenerator to create WMS layers with database datastore - riveraxis is the first layer that is no longer fetched from static WMS service but from user specific one. flys-artifacts/trunk@3115 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Fri, 28 Oct 2011 13:48:02 +0000
parents 092e1e5020bc
children 5364b86a0880
comparison
equal deleted inserted replaced
1791:e0e5a5b51a40 1792:49ad801076e4
1 package de.intevation.flys.artifacts.states; 1 package de.intevation.flys.artifacts.states;
2 2
3 import java.util.List; 3 import java.util.List;
4 import java.util.Map;
5 4
6 import org.apache.log4j.Logger; 5 import org.apache.log4j.Logger;
7 6
8 import de.intevation.artifacts.CallContext; 7 import de.intevation.artifacts.CallContext;
9 import de.intevation.artifacts.CallMeta; 8 import de.intevation.artifacts.CallMeta;
10 9
11 import de.intevation.artifactdatabase.state.Facet; 10 import de.intevation.artifactdatabase.state.Facet;
12 11
13 import de.intevation.flys.artifacts.FLYSArtifact; 12 import de.intevation.flys.artifacts.FLYSArtifact;
14 import de.intevation.flys.artifacts.context.FLYSContext; 13 import de.intevation.flys.artifacts.context.FLYSContext;
15 import de.intevation.flys.artifacts.model.WMSLayerFacet; 14 import de.intevation.flys.artifacts.model.WMSDBLayerFacet;
16 import de.intevation.flys.artifacts.resources.Resources; 15 import de.intevation.flys.artifacts.resources.Resources;
17 import de.intevation.flys.artifacts.states.DefaultState.ComputeType; 16 import de.intevation.flys.artifacts.states.DefaultState.ComputeType;
18 import de.intevation.flys.utils.FLYSUtils; 17 import de.intevation.flys.utils.FLYSUtils;
19 import de.intevation.flys.utils.GeometryUtils; 18 import de.intevation.flys.utils.GeometryUtils;
20 19
21 20
22 public class RiverAxisState extends OutputState { 21 public class RiverAxisState extends OutputState {
23 22
24 public static final String I18N_DESCRIPTION = "floodmap.riveraxis"; 23 public static final String I18N_DESCRIPTION = "floodmap.riveraxis";
25
26 public static final String WMS_LAYER_NAME = "riveraxis";
27
28 24
29 25
30 private static final Logger logger = Logger.getLogger(RiverAxisState.class); 26 private static final Logger logger = Logger.getLogger(RiverAxisState.class);
31 27
32 28
47 } 43 }
48 else { 44 else {
49 flysContext = (FLYSContext) ((CallContext) context).globalContext(); 45 flysContext = (FLYSContext) ((CallContext) context).globalContext();
50 } 46 }
51 47
52 Map<String, String> wms = (Map<String, String>)
53 flysContext.get(FLYSContext.RIVER_WMS);
54
55 String river = artifact.getDataAsString("river"); 48 String river = artifact.getDataAsString("river");
56 49
57 if(river == null || river.length() == 0) { 50 if(river == null || river.length() == 0) {
58 logger.warn("No river found in the current parameterization."); 51 logger.warn("No river found in the current parameterization.");
59 return null; 52 return null;
60 } 53 }
61 54
62 String url = wms.get(river); 55 String url = FLYSUtils.getUserWMSUrl(artifact.identifier());
63 56
64 // TODO Add config for background layer 57 WMSDBLayerFacet facet = new WMSDBLayerFacet(
65 WMSLayerFacet facet = new WMSLayerFacet(
66 0, 58 0,
67 FLOODMAP_RIVERAXIS, 59 FLOODMAP_RIVERAXIS,
68 Resources.getMsg(meta, I18N_DESCRIPTION, I18N_DESCRIPTION), 60 Resources.getMsg(meta, I18N_DESCRIPTION, I18N_DESCRIPTION),
69 ComputeType.INIT, 61 ComputeType.INIT,
70 getID(), hash, 62 getID(), hash,
71 url); 63 url);
72 64
73 facet.addLayer(WMS_LAYER_NAME); 65 String name = artifact.identifier() + "-" + FLOODMAP_RIVERAXIS;
66
67 facet.addLayer(name);
74 facet.setExtent(GeometryUtils.getRiverBoundary(river)); 68 facet.setExtent(GeometryUtils.getRiverBoundary(river));
75 facet.setSrid(FLYSUtils.getRiverSrid(artifact)); 69 facet.setSrid(FLYSUtils.getRiverSrid(artifact));
70 facet.setData("geom FROM river_axes USING UNIQUE id USING SRID 31466");
71 facet.setFilter("river_id=1");
76 72
77 facets.add(facet); 73 facets.add(facet);
78 74
79 return null; 75 return null;
80 } 76 }

http://dive4elements.wald.intevation.org