Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/WMSFloodmapsArtifact.java @ 2683:f5af3adb3b95
Improved datacage configuration for floodmaps and maps and modified the WMS layer artifacts to support names for layers.
flys-artifacts/trunk@4383 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Thu, 10 May 2012 11:14:17 +0000 |
parents | b23c956c5aa2 |
children | 0ca00d547f35 |
comparison
equal
deleted
inserted
replaced
2682:0795c296f718 | 2683:f5af3adb3b95 |
---|---|
76 { | 76 { |
77 private static final Logger logger = | 77 private static final Logger logger = |
78 Logger.getLogger(FloodmapsState.class); | 78 Logger.getLogger(FloodmapsState.class); |
79 | 79 |
80 protected int riverId; | 80 protected int riverId; |
81 protected String floodmapName; | |
82 | 81 |
83 public FloodmapsState(WMSDBArtifact artifact) { | 82 public FloodmapsState(WMSDBArtifact artifact) { |
84 super(artifact); | 83 super(artifact); |
85 riverId = 0; | 84 riverId = 0; |
86 floodmapName = null; | |
87 } | |
88 | |
89 public int getRiverId() { | |
90 if (riverId == 0) { | |
91 String ids = artifact.getDataAsString("ids"); | |
92 | |
93 try { | |
94 String[] parts = ids.split("_"); | |
95 riverId = Integer.valueOf(parts[0]); | |
96 } | |
97 catch (NumberFormatException nfe) { | |
98 logger.error("Cannot parse river id from '" + ids + "'"); | |
99 } | |
100 } | |
101 | |
102 return riverId; | |
103 } | |
104 | |
105 public String getFloodmapName() { | |
106 if (floodmapName == null) { | |
107 String ids = artifact.getDataAsString("ids"); | |
108 | |
109 String parts[] = ids.split("_"); | |
110 floodmapName = parts[1]; | |
111 } | |
112 | |
113 return floodmapName; | |
114 } | 85 } |
115 | 86 |
116 @Override | 87 @Override |
117 protected String getFacetType() { | 88 protected String getFacetType() { |
118 return FLOODMAP_FLOODMAPS; | 89 return FLOODMAP_FLOODMAPS; |
119 } | |
120 | |
121 @Override | |
122 protected String getTitle(CallMeta meta) { | |
123 return Resources.getMsg( | |
124 meta, | |
125 FLOODMAP_FLOODMAPS, | |
126 FLOODMAP_FLOODMAPS); | |
127 } | 90 } |
128 | 91 |
129 @Override | 92 @Override |
130 protected String getUrl() { | 93 protected String getUrl() { |
131 return FLYSUtils.getUserWMSUrl(artifact.identifier()); | 94 return FLYSUtils.getUserWMSUrl(artifact.identifier()); |
138 } | 101 } |
139 | 102 |
140 @Override | 103 @Override |
141 protected Envelope getExtent() { | 104 protected Envelope getExtent() { |
142 List<Floodmaps> floodmaps = | 105 List<Floodmaps> floodmaps = |
143 Floodmaps.getFloodmaps(getRiverId(), getFloodmapName()); | 106 Floodmaps.getFloodmaps(getRiverId(), getName()); |
144 | 107 |
145 Envelope max = null; | 108 Envelope max = null; |
146 | 109 |
147 for (Floodmaps f: floodmaps) { | 110 for (Floodmaps f: floodmaps) { |
148 Envelope env = f.getGeom().getEnvelopeInternal(); | 111 Envelope env = f.getGeom().getEnvelopeInternal(); |
159 } | 122 } |
160 | 123 |
161 @Override | 124 @Override |
162 protected String getFilter() { | 125 protected String getFilter() { |
163 return "river_id=" + String.valueOf(getRiverId()) | 126 return "river_id=" + String.valueOf(getRiverId()) |
164 + " AND name='" + getFloodmapName() + "'"; | 127 + " AND name='" + getName() + "'"; |
165 } | 128 } |
166 | 129 |
167 @Override | 130 @Override |
168 protected String getDataString() { | 131 protected String getDataString() { |
169 String srid = getSrid(); | 132 String srid = getSrid(); |