# HG changeset patch # User Felix Wolfsteller # Date 1338899749 0 # Node ID 296b067e17e68069d5c9c3282a6765360e3d1d53 # Parent 75e83b02bb9d5365da769e40068129744afe242e i18n and format for line labels. flys-artifacts/trunk@4582 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 75e83b02bb9d -r 296b067e17e6 flys-artifacts/ChangeLog --- a/flys-artifacts/ChangeLog Tue Jun 05 12:08:47 2012 +0000 +++ b/flys-artifacts/ChangeLog Tue Jun 05 12:35:49 2012 +0000 @@ -1,3 +1,12 @@ +2012-06-05 Felix Wolfsteller + + * src/main/java/de/intevation/flys/utils/Formatter.java: + (getMeterFormat): New. + Doc. + + * src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java: + i18n and formatting for line labels. + 2012-06-05 Felix Wolfsteller * src/main/java/de/intevation/flys/jfree/EnhancedLineAndShapeRenderer.java: diff -r 75e83b02bb9d -r 296b067e17e6 flys-artifacts/src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java --- a/flys-artifacts/src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java Tue Jun 05 12:08:47 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/CrossSectionGenerator.java Tue Jun 05 12:35:49 2012 +0000 @@ -1,6 +1,7 @@ package de.intevation.flys.exports; import java.util.List; +import java.text.NumberFormat; import org.apache.log4j.Logger; @@ -26,6 +27,7 @@ import de.intevation.flys.geom.Lines; import de.intevation.flys.utils.ThemeUtil; +import de.intevation.flys.utils.Formatter; /** @@ -224,16 +226,22 @@ // DO NOT SORT DATA! This destroys the gaps indicated by NaNs. StyledXYSeries series = new StyledXYSeries(seriesName, false, theme); - // TODO i18n for all the label text and number format. if (ThemeUtil.parseShowWidth(theme)) { - series.setLabel(series.getLabel() + ", b=" + lines.width + "m"); + NumberFormat nf = nf = Formatter.getMeterFormat(this.context); + series.setLabel(series.getLabel() + ", b=" + + nf.format(lines.width) + "m"); } if (ThemeUtil.parseShowLevel(theme) && lines.points.length >0 && lines.points[1].length > 0) { - series.setLabel(series.getLabel() + ", W=" + lines.points[1][0] + "NN+m"); + NumberFormat nf = nf = Formatter.getMeterFormat(this.context); + series.setLabel(series.getLabel() + ", W=" + + nf.format(lines.points[1][0]) + "NN+m"); } if (ThemeUtil.parseShowMiddleHeight(theme) && lines.width != 0) { - series.setLabel(series.getLabel() + ",H=" + lines.area / lines.width + "m : " + lines.area + "/" + lines.width); + NumberFormat nf = nf = Formatter.getMeterFormat(this.context); + series.setLabel(series.getLabel() + ",H=" + + nf.format(lines.area / lines.width) + "m"); + // : " + lines.area + "/" + lines.width); } StyledSeriesBuilder.addPoints(series, lines.points, false); diff -r 75e83b02bb9d -r 296b067e17e6 flys-artifacts/src/main/java/de/intevation/flys/utils/Formatter.java --- a/flys-artifacts/src/main/java/de/intevation/flys/utils/Formatter.java Tue Jun 05 12:08:47 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/utils/Formatter.java Tue Jun 05 12:35:49 2012 +0000 @@ -76,6 +76,14 @@ public static final int FIX_DELTA_W_DELTA_W_MIN_DIGITS = 3; public static final int FIX_DELTA_W_DELTA_W_MAX_DIGITS = 3; + /** + * Creates a localised NumberFormatter with given range of decimal digits. + * @param m CallMeta to find the locale. + * @param min minimum number of decimal ("fraction") digits. + * @param max maximum number of decimal ("fraction") digits. + * @return A NumberFormat. Use #format(NUMBER) to get String representation + * of NUMBER. + */ public static NumberFormat getFormatter(CallMeta m, int min, int max){ Locale locale = Resources.getLocale(m); NumberFormat nf = NumberFormat.getInstance(locale); @@ -347,5 +355,13 @@ FIX_DELTA_W_DELTA_W_MIN_DIGITS, FIX_DELTA_W_DELTA_W_MAX_DIGITS); } + + public static NumberFormat getMeterFormat(CallContext context) { + return getFormatter( + context, + 0, + 2); + + } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :