diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2014-01-08 13:26:24 +0100 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2014-01-08 13:50:16 +0100 |
| commit | 20232a47f33653f0950663c4e96467f4de60e303 (patch) | |
| tree | c24cf430c10fd29f96be353fc496a6a98064deb0 /main/src/cgeo/geocaching/geopoint | |
| parent | dc577d523fb9ff69f28b94ae1e369e46e778f08f (diff) | |
| download | cgeo-20232a47f33653f0950663c4e96467f4de60e303.zip cgeo-20232a47f33653f0950663c4e96467f4de60e303.tar.gz cgeo-20232a47f33653f0950663c4e96467f4de60e303.tar.bz2 | |
fix #3527: bad query string
Let's hope that the bad formatting occurring for, at least, very small
negative values in `String.format()` with a `null` Locale will not
happen with `StringBuilder.append(double)`.
Diffstat (limited to 'main/src/cgeo/geocaching/geopoint')
| -rw-r--r-- | main/src/cgeo/geocaching/geopoint/Viewport.java | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/main/src/cgeo/geocaching/geopoint/Viewport.java b/main/src/cgeo/geocaching/geopoint/Viewport.java index 21dc7fa..9d55f69 100644 --- a/main/src/cgeo/geocaching/geopoint/Viewport.java +++ b/main/src/cgeo/geocaching/geopoint/Viewport.java @@ -3,12 +3,11 @@ package cgeo.geocaching.geopoint; import cgeo.geocaching.ICoordinates; import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; -import java.util.Locale; import java.util.Set; - public class Viewport { public final @NonNull Geopoint center; @@ -104,11 +103,12 @@ public class Viewport { * the database table to use as prefix, or null if no prefix is required * @return the string without the "where" keyword */ - public String sqlWhere(final String dbTable) { + public StringBuilder sqlWhere(@Nullable final String dbTable) { final String prefix = dbTable == null ? "" : (dbTable + "."); - return String.format((Locale) null, - "%slatitude >= %s and %slatitude <= %s and %slongitude >= %s and %slongitude <= %s", - prefix, getLatitudeMin(), prefix, getLatitudeMax(), prefix, getLongitudeMin(), prefix, getLongitudeMax()); + return new StringBuilder(prefix).append("latitude >= ").append(getLatitudeMin()).append(" and ") + .append(prefix).append("latitude <= ").append(getLatitudeMax()).append(" and ") + .append(prefix).append("longitude >= ").append(getLongitudeMin()).append(" and ") + .append(prefix).append("longitude <= ").append(getLongitudeMax()); } /** |
