comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/FixationArtifactAccess.java @ 3000:3dd1c320cf81

Changed data fields in fixings analysisperiods state. flys-artifacts/trunk@4556 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Raimund Renkert <raimund.renkert@intevation.de>
date Wed, 30 May 2012 12:12:45 +0000
parents f53173a8736b
children 619fe13e2397
comparison
equal deleted inserted replaced
2999:703be13ffa74 3000:3dd1c320cf81
297 } 297 }
298 298
299 public long [][] getAnalysisPeriods() { 299 public long [][] getAnalysisPeriods() {
300 if (analysisPeriods == null) { 300 if (analysisPeriods == null) {
301 /** TODO: Use real arrays here! */ 301 /** TODO: Use real arrays here! */
302 StateData sdStart = artifact.getData("ana_start"); 302 StateData sd = artifact.getData("ana_data");
303 StateData sdEnd = artifact.getData("ana_end"); 303
304 304 if (sd == null) {
305 if (sdStart == null || sdEnd == null) { 305 log.warn("missing 'ana_data'");
306 log.warn("missing 'ana_start' or 'ana_end'"); 306 return null;
307 return null; 307 }
308 } 308
309 309 try {
310 try { 310 String data = (String)sd.getValue();
311 analysisPeriods = new long [][] { 311 String[] pairs = data.split(";");
312 { Long.parseLong((String)sdStart.getValue()), 312 for (int i = 0; i < pairs.length; i++) {
313 Long.parseLong((String)sdEnd.getValue()) } 313 String[] fromTo = pairs[i].split(",");
314 }; 314 analysisPeriods = new long [][] {
315 } 315 { Long.parseLong(fromTo[0]),
316 catch (NumberFormatException nfe) { 316 Long.parseLong(fromTo[1]) }
317 log.warn("'ana_start' or 'ana_end' is not an integer."); 317 };
318 }
319 }
320 catch (NumberFormatException nfe) {
321 log.warn("ana_data contains no long values.");
318 return null; 322 return null;
319 } 323 }
320 } 324 }
321 325
322 if (log.isDebugEnabled()) { 326 if (log.isDebugEnabled()) {

http://dive4elements.wald.intevation.org