# HG changeset patch # User Ingo Weinzierl # Date 1275032279 0 # Node ID 2b4f1c095468a0f5c19dd18b32206a5c71e9c761 # Parent 04967dc9c83f98900de64702acf569e9c9c64de1 Fixed the aggregation of row with the same parameter in the odv export (issue291). gnv-artifacts/trunk@1136 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 04967dc9c83f -r 2b4f1c095468 gnv-artifacts/ChangeLog --- a/gnv-artifacts/ChangeLog Thu May 27 16:43:00 2010 +0000 +++ b/gnv-artifacts/ChangeLog Fri May 28 07:37:59 2010 +0000 @@ -1,3 +1,10 @@ +2010-05-28 Ingo Weinzierl + + Issue291 + + * src/main/java/de/intevation/gnv/exports/ODVExport.java: Fixed the + aggregation of parameters. + 2010-05-27 Ingo Weinzierl Issue198 diff -r 04967dc9c83f -r 2b4f1c095468 gnv-artifacts/src/main/java/de/intevation/gnv/exports/ODVExport.java --- a/gnv-artifacts/src/main/java/de/intevation/gnv/exports/ODVExport.java Thu May 27 16:43:00 2010 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/exports/ODVExport.java Fri May 28 07:37:59 2010 +0000 @@ -54,9 +54,12 @@ @Override - protected void writeData(Profile profile, Collection result, - CSVWriter writer) throws StateException { + protected void writeData( + Profile profile, Collection result, CSVWriter writer + )throws StateException + { Iterator it = result.iterator(); + log.debug("Put " + result.size() + " elements into odv export."); String[] header = profile.getHeader(); ArrayList headerList = new ArrayList(); @@ -69,9 +72,8 @@ } ArrayList paramids = new ArrayList(); - Map> aggregatedRows = new HashMap>(); - - String currentParameterID = "N/N"; + Map> aggregatedRows = + new HashMap>(); while (it.hasNext()) { Result res = it.next(); @@ -81,17 +83,17 @@ String parameterValue = res.getString("DATAVALUE"); String parameterID = res.getString("PARAMETER"); - if (!currentParameterID.equals(parameterID)){ + if (!paramids.contains(parameterID)){ paramids.add(parameterID); - headerList.add(this.findParamTitle(parameters, parameterID)); + headerList.add(findParamTitle(parameters, parameterID)); headerList.add("QF"); - currentParameterID = parameterID; } Map aggregatedRow = aggregatedRows.get(key); if (aggregatedRow!= null){ aggregatedRow.put(parameterID, parameterValue); - }else{ + } + else{ Map params = new HashMap(); params.put(parameterID, parameterValue); aggregatedRows.put(key, params);