Mercurial > dive4elements > river
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 } |