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();

http://dive4elements.wald.intevation.org