comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/MapArtifact.java @ 2082:007a8f5ed9f1

Implemented new module "new map". flys-artifacts/trunk@3598 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Raimund Renkert <raimund.renkert@intevation.de>
date Thu, 05 Jan 2012 14:29:54 +0000
parents
children 0da8874bd378
comparison
equal deleted inserted replaced
2081:aa9cc91c8193 2082:007a8f5ed9f1
1 package de.intevation.flys.artifacts;
2
3 import org.apache.log4j.Logger;
4
5 import java.util.List;
6
7 import org.w3c.dom.Document;
8
9 import de.intevation.artifacts.ArtifactFactory;
10 import de.intevation.artifacts.CallMeta;
11 import de.intevation.artifacts.CallContext;
12
13 import de.intevation.artifactdatabase.state.DefaultOutput;
14 import de.intevation.artifactdatabase.state.Facet;
15 import de.intevation.artifactdatabase.state.State;
16
17 import de.intevation.flys.artifacts.model.WMSDBLayerFacet;
18
19 import de.intevation.flys.model.River;
20
21 import de.intevation.flys.artifacts.model.FacetTypes;
22 import de.intevation.flys.artifacts.model.RiverFactory;
23 import de.intevation.flys.artifacts.resources.Resources;
24 import de.intevation.flys.utils.FLYSUtils;
25 import de.intevation.flys.utils.GeometryUtils;
26
27
28 public class MapArtifact extends RiverAxisArtifact {
29
30 private static final Logger logger =
31 Logger.getLogger(MapArtifact.class);
32
33 @Override
34 public void setup(
35 String identifier,
36 ArtifactFactory factory,
37 Object context,
38 CallMeta callmeta,
39 Document data)
40 {
41 logger.debug("MapArtifact.setup");
42 this.identifier = identifier;
43 }
44
45 @Override
46 public State getCurrentState(Object cc) {
47 logger.debug("MapArtifact.getCurrentState");
48
49 State state = new MapState(this);
50 List<Facet> fs = facets.get(getCurrentStateId());
51
52 DefaultOutput o = new DefaultOutput(
53 "floodmap",
54 "floodmap",
55 "image/png",
56 fs,
57 "map");
58
59 state.getOutputs().add(o);
60
61 return state;
62 }
63
64
65 @Override
66 public String getCurrentStateId() {
67 return "state.map.new";
68 }
69
70
71 public static class MapState extends RiverAxisState {
72
73 public MapState() {
74 }
75
76 public MapState(MapArtifact artifact) {
77 super(artifact);
78 this.id = "state.map.new";
79 }
80
81 @Override
82 public Object computeInit(
83 FLYSArtifact artifact,
84 String hash,
85 Object context,
86 CallMeta meta,
87 List<Facet> facets)
88 {
89 return null;
90 }
91
92 @Override
93 public Object computeFeed(
94 FLYSArtifact artifact,
95 String hash,
96 CallContext context,
97 List<Facet> facets,
98 Object old)
99 {
100 logger.debug("MapState.computeFeed");
101
102 String type = getFacetType();
103
104 WMSDBLayerFacet facet = new WMSDBLayerFacet(
105 0,
106 type,
107 getTitle(context.getMeta()),
108 ComputeType.FEED,
109 getID(), hash,
110 getUrl());
111
112 String name = type + "-" + artifact.identifier();
113
114 facet.addLayer(name);
115 facet.setExtent(getExtent());
116 facet.setSrid(getSrid());
117 facet.setData(getDataString());
118 facet.setFilter(getFilter());
119 facet.setGeometryType(getGeometryType());
120 facet.setConnection(getConnection());
121 facet.setConnectionType(getConnectionType());
122 facet.setLabelItem(getLabelItem());
123
124 facets.add(facet);
125
126 return null;
127 }
128
129 @Override
130 public int getRiverId() {
131 River r = FLYSUtils.getRiver(artifact);
132 int riverId = r.getId();
133
134 return riverId;
135 }
136 }
137 }

http://dive4elements.wald.intevation.org