# HG changeset patch # User Raimund Renkert # Date 1338379965 0 # Node ID 3dd1c320cf81bc64ab804c98814a731c43ba6f91 # Parent 703be13ffa74be78f848da41edccccb893267dbb Changed data fields in fixings analysisperiods state. flys-artifacts/trunk@4556 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 703be13ffa74 -r 3dd1c320cf81 flys-artifacts/ChangeLog --- a/flys-artifacts/ChangeLog Tue May 29 15:01:28 2012 +0000 +++ b/flys-artifacts/ChangeLog Wed May 30 12:12:45 2012 +0000 @@ -1,3 +1,12 @@ +2012-05-30 Raimund Renkert + + * doc/conf/artifacts/fixanalysis.xml: + Changed data fields to a single string data field. The data contains a + string of semi-colon separated 'long' value pairs. + + * src/main/java/de/intevation/flys/artifacts/FixationArtifactAccess.java: + Process the new data. + 2012-05-29 Felix Wolfsteller * src/main/java/de/intevation/flys/artifacts/model/RelativePointFacet.java: diff -r 703be13ffa74 -r 3dd1c320cf81 flys-artifacts/doc/conf/artifacts/fixanalysis.xml --- a/flys-artifacts/doc/conf/artifacts/fixanalysis.xml Tue May 29 15:01:28 2012 +0000 +++ b/flys-artifacts/doc/conf/artifacts/fixanalysis.xml Wed May 30 12:12:45 2012 +0000 @@ -90,10 +90,7 @@ - - - + diff -r 703be13ffa74 -r 3dd1c320cf81 flys-artifacts/src/main/java/de/intevation/flys/artifacts/FixationArtifactAccess.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/FixationArtifactAccess.java Tue May 29 15:01:28 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/FixationArtifactAccess.java Wed May 30 12:12:45 2012 +0000 @@ -299,22 +299,26 @@ public long [][] getAnalysisPeriods() { if (analysisPeriods == null) { /** TODO: Use real arrays here! */ - StateData sdStart = artifact.getData("ana_start"); - StateData sdEnd = artifact.getData("ana_end"); + StateData sd = artifact.getData("ana_data"); - if (sdStart == null || sdEnd == null) { - log.warn("missing 'ana_start' or 'ana_end'"); + if (sd == null) { + log.warn("missing 'ana_data'"); return null; } try { - analysisPeriods = new long [][] { - { Long.parseLong((String)sdStart.getValue()), - Long.parseLong((String)sdEnd.getValue()) } - }; + String data = (String)sd.getValue(); + String[] pairs = data.split(";"); + for (int i = 0; i < pairs.length; i++) { + String[] fromTo = pairs[i].split(","); + analysisPeriods = new long [][] { + { Long.parseLong(fromTo[0]), + Long.parseLong(fromTo[1]) } + }; + } } catch (NumberFormatException nfe) { - log.warn("'ana_start' or 'ana_end' is not an integer."); + log.warn("ana_data contains no long values."); return null; } }