Bump java lib versions in preparation for 1.9.2
[fw/altos] / altoslib / AltosJson.java
index ce50b872f13c6c4bc9b68ccd9dcff4b352396171..cbeeee8785ba26319f60fc439af0b6a142987a37 100644 (file)
@@ -16,7 +16,7 @@
  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  */
 
-package org.altusmetrum.altoslib_11;
+package org.altusmetrum.altoslib_14;
 
 import java.io.*;
 import java.util.*;
@@ -63,18 +63,22 @@ class JsonUtil {
                        result.append("\t");
                return result;
        }
-       static NumberFormat get_nf_json() {
-               DecimalFormat nf = (DecimalFormat) NumberFormat.getNumberInstance(Locale.ROOT);
-               nf.setParseIntegerOnly(false);
-               nf.setGroupingUsed(false);
-               nf.setMaximumFractionDigits(17);
-               nf.setMinimumFractionDigits(0);
-               nf.setMinimumIntegerDigits(1);
-               nf.setDecimalSeparatorAlwaysShown(false);
-               return nf;
-       }
 
-       static NumberFormat nf_json = get_nf_json();
+       NumberFormat _nf_json;
+
+       NumberFormat nf_json() {
+               if (_nf_json == null) {
+                       DecimalFormat nf = (DecimalFormat) NumberFormat.getNumberInstance(Locale.ROOT);
+                       nf.setParseIntegerOnly(false);
+                       nf.setGroupingUsed(false);
+                       nf.setMaximumFractionDigits(17);
+                       nf.setMinimumFractionDigits(0);
+                       nf.setMinimumIntegerDigits(1);
+                       nf.setDecimalSeparatorAlwaysShown(false);
+                       _nf_json = nf;
+               }
+               return _nf_json;
+       }
 }
 
 class JsonHash extends JsonUtil {
@@ -372,7 +376,7 @@ class JsonLexer extends JsonUtil {
                                        String dstr = dbuf.toString();
                                        double dval;
                                        try {
-                                               dval = nf_json.parse(dstr).doubleValue();
+                                               dval = nf_json().parse(dstr).doubleValue();
                                        } catch (ParseException pe) {
                                                return new JsonToken(JsonToken._error, dstr);
                                        }
@@ -612,14 +616,14 @@ public class AltosJson extends JsonUtil {
                        } else if (Double.isNaN(d_number)) {
                                result.append("NaN");
                        } else {
-                               String dval = nf_json.format(d_number);
+                               String dval = nf_json().format(d_number);
                                if (dval.equals("-0"))
                                        dval = "0";
                                result.append(dval);
                        }
                        break;
                case type_long:
-                       result.append(new Long(l_number).toString());
+                       result.append(Long.valueOf(l_number).toString());
                        break;
                case type_string:
                        quote(result, string);
@@ -1032,6 +1036,7 @@ public class AltosJson extends JsonUtil {
         * all inner classes are only members of their immediate outer
         * class
         */
+       @SuppressWarnings("unchecked")
        private Object make(Class c, Class enclosing_class, Object enclosing_object) {
                Object  ret;
                if (c == Boolean.TYPE) {
@@ -1101,7 +1106,7 @@ public class AltosJson extends JsonUtil {
                                        Constructor<?> ctor = ((Class<?>)c).getDeclaredConstructor((Class<?>) enclosing_class);
                                        object = ctor.newInstance(enclosing_object);
                                } else {
-                                       object = c.newInstance();
+                                       object = c.getDeclaredConstructor().newInstance();
                                }
                                for (; c != Object.class; c = c.getSuperclass()) {
                                        for (Field field : c.getDeclaredFields()) {