summaryrefslogtreecommitdiff
path: root/altoslib
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2016-06-17 08:17:57 -0700
committerKeith Packard <keithp@keithp.com>2016-06-17 08:17:57 -0700
commita46df4f69984e3ef0064c2b211438c8d8ffaab68 (patch)
tree67eb7911fe041790d3f7ef509c59265874bf1184 /altoslib
parent1ed6a3fb6356415c0d57ce2ce556435c6ff06e73 (diff)
altoslib: Add construction for remaining primitive array types to JSON
AltosCompanion has an array of ints, which was missed until I tried a telemetry file with companion data. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib')
-rw-r--r--altoslib/AltosJson.java27
1 files changed, 26 insertions, 1 deletions
diff --git a/altoslib/AltosJson.java b/altoslib/AltosJson.java
index e979a459..80d83e48 100644
--- a/altoslib/AltosJson.java
+++ b/altoslib/AltosJson.java
@@ -1012,7 +1012,32 @@ public class AltosJson extends JsonUtil {
assert_array(false);
Class element_class = c.getComponentType();
- if (element_class == Double.TYPE) {
+ if (element_class == Boolean.TYPE) {
+ boolean[] array = (boolean[]) Array.newInstance(element_class, size());
+ for (int i = 0; i < array.length; i++)
+ array[i] = (Boolean) get(i).make(element_class);
+ ret = array;
+ } else if (element_class == Byte.TYPE) {
+ byte[] array = (byte[]) Array.newInstance(element_class, size());
+ for (int i = 0; i < array.length; i++)
+ array[i] = (Byte) get(i).make(element_class);
+ ret = array;
+ } else if (element_class == Character.TYPE) {
+ char[] array = (char[]) Array.newInstance(element_class, size());
+ for (int i = 0; i < array.length; i++)
+ array[i] = (Character) get(i).make(element_class);
+ ret = array;
+ } else if (element_class == Integer.TYPE) {
+ int[] array = (int[]) Array.newInstance(element_class, size());
+ for (int i = 0; i < array.length; i++)
+ array[i] = (Integer) get(i).make(element_class);
+ ret = array;
+ } else if (element_class == Long.TYPE) {
+ long[] array = (long[]) Array.newInstance(element_class, size());
+ for (int i = 0; i < array.length; i++)
+ array[i] = (Long) get(i).make(element_class);
+ ret = array;
+ } else if (element_class == Double.TYPE) {
double[] array = (double[]) Array.newInstance(element_class, size());
for (int i = 0; i < array.length; i++)
array[i] = (Double) get(i).make(element_class);