comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/RiverAxisState.java @ 1190:f514894ec2fd

merged flys-artifacts/2.5
author Thomas Arendsen Hein <thomas@intevation.de>
date Fri, 28 Sep 2012 12:14:17 +0200
parents fbe18ad4caff
children 092e1e5020bc
comparison
equal deleted inserted replaced
917:b48c36076e17 1190:f514894ec2fd
1 package de.intevation.flys.artifacts.states;
2
3 import java.util.List;
4 import java.util.Map;
5
6 import org.apache.log4j.Logger;
7
8 import de.intevation.artifacts.CallContext;
9 import de.intevation.artifacts.CallMeta;
10
11 import de.intevation.artifactdatabase.state.Facet;
12
13 import de.intevation.flys.artifacts.FLYSArtifact;
14 import de.intevation.flys.artifacts.context.FLYSContext;
15 import de.intevation.flys.artifacts.model.WMSLayerFacet;
16 import de.intevation.flys.artifacts.resources.Resources;
17 import de.intevation.flys.artifacts.states.DefaultState.ComputeType;
18 import de.intevation.flys.utils.FLYSUtils;
19 import de.intevation.flys.utils.GeometryUtils;
20
21
22 public class RiverAxisState extends OutputState {
23
24 public static final String I18N_DESCRIPTION = "floodmap.riveraxis";
25
26 public static final String WMS_LAYER_NAME = "riveraxis";
27
28
29
30 private static final Logger logger = Logger.getLogger(RiverAxisState.class);
31
32
33 @Override
34 public Object computeInit(
35 FLYSArtifact artifact,
36 String hash,
37 Object context,
38 CallMeta meta,
39 List<Facet> facets
40 ) {
41 logger.debug("RiverAxisState.computeInit()");
42
43 FLYSContext flysContext = null;
44
45 if (context instanceof FLYSContext) {
46 flysContext = (FLYSContext) context;
47 }
48 else {
49 flysContext = (FLYSContext) ((CallContext) context).globalContext();
50 }
51
52 Map<String, String> wms = (Map<String, String>)
53 flysContext.get(FLYSContext.RIVER_WMS);
54
55 String river = artifact.getDataAsString("river");
56
57 if(river == null || river.length() == 0) {
58 logger.warn("No river found in the current parameterization.");
59 return null;
60 }
61
62 String url = wms.get(river);
63
64 // TODO Add config for background layer
65 WMSLayerFacet facet = new WMSLayerFacet(
66 0,
67 FLOODMAP_RIVERAXIS,
68 Resources.getMsg(meta, I18N_DESCRIPTION, I18N_DESCRIPTION),
69 ComputeType.INIT,
70 getID(), hash,
71 url);
72
73 facet.addLayer(WMS_LAYER_NAME);
74 facet.setExtent(GeometryUtils.getRiverBounds(river));
75 facet.setSrid(FLYSUtils.getRiverSrid(artifact));
76
77 facets.add(facet);
78
79 return null;
80 }
81 }
82 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org