# HG changeset patch # User Andre Heinecke # Date 1386268192 -3600 # Node ID 197bd0958cba3bb7b00d9d09e17da46fde36d066 # Parent e609722a1e86bec429b9c1b25a62eae6c668fd64 (issue1620) Fix WstWriter Column Header format. - Size is always 9 for a name, fill with spaces if not. - column-bez-text is the longform if a name contains spaces it is quoted. This should enable more exotic waterlevel names which are needed for issue1020 diff -r e609722a1e86 -r 197bd0958cba artifacts/src/main/java/org/dive4elements/river/exports/WstWriter.java --- a/artifacts/src/main/java/org/dive4elements/river/exports/WstWriter.java Thu Dec 05 17:38:10 2013 +0100 +++ b/artifacts/src/main/java/org/dive4elements/river/exports/WstWriter.java Thu Dec 05 19:29:52 2013 +0100 @@ -139,15 +139,10 @@ if (name != null) { cols++; + int i = 0; String basename = name; - - int i = 0; while (columnNames.contains(name)) { name = basename + "_" + i++; - - if (name.length() > 9) { - name = name.substring(name.length() - 9); - } } columnNames.add(name); @@ -164,9 +159,33 @@ logger.debug("WstWriter.writeHeader"); writer.println(cols); + + writer.print("*!column-bez-text "); + + List quotedNames = new ArrayList(columnNames.size()); + + for (String name: columnNames) { + if (name.contains(" ")) { + name = "'" + name + "'"; + } + quotedNames.add(name); + } + writer.println(StringUtils.join(quotedNames, " ")); writer.print(" "); - writer.print(StringUtils.join(columnNames, " ")); + for (String columnName: columnNames) { + if (columnName.length() > 9) { + writer.printf(locale, "%9s", + columnName.substring(columnName.length() - 9)); + } else { + writer.printf(locale, "%9s", columnName); + // This is weird but i was to lazy to lookup + // how to do this another way. + for (int i = 9 - columnName.length(); i > 0; i--) { + writer.print(" "); + } + } + } writer.println();