From a15deda5396673031b05de946bee6c5ed0c2113e Mon Sep 17 00:00:00 2001 From: Michael Mikovsky <77305074+Astatin3@users.noreply.github.com> Date: Thu, 6 Mar 2025 11:46:12 -0700 Subject: [PATCH] Fix CSV Export --- .../ridgescout/types/data/dataType.java | 4 ++++ .../ridgescout/types/input/checkboxType.java | 4 ++++ .../ridgescout/types/input/dropdownType.java | 4 ++++ .../ridgescout/types/input/fieldposType.java | 5 +++++ .../ridgescout/types/input/inputType.java | 3 +++ .../ridgescout/types/input/numberType.java | 4 ++++ .../ridgescout/types/input/sliderType.java | 4 ++++ .../ridgescout/types/input/tallyType.java | 4 ++++ .../ridgescout/types/input/textType.java | 4 ++++ .../ridgescout/ui/transfer/CSVExport.java | 15 +++++++++++---- 10 files changed, 47 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/ridgebotics/ridgescout/types/data/dataType.java b/app/src/main/java/com/ridgebotics/ridgescout/types/data/dataType.java index 2de53e9..10dad88 100644 --- a/app/src/main/java/com/ridgebotics/ridgescout/types/data/dataType.java +++ b/app/src/main/java/com/ridgebotics/ridgescout/types/data/dataType.java @@ -1,5 +1,9 @@ package com.ridgebotics.ridgescout.types.data; +import androidx.annotation.NonNull; + +import org.jetbrains.annotations.NotNull; + public abstract class dataType { public enum valueTypes { NUM, diff --git a/app/src/main/java/com/ridgebotics/ridgescout/types/input/checkboxType.java b/app/src/main/java/com/ridgebotics/ridgescout/types/input/checkboxType.java index a7fa369..f7e886d 100644 --- a/app/src/main/java/com/ridgebotics/ridgescout/types/input/checkboxType.java +++ b/app/src/main/java/com/ridgebotics/ridgescout/types/input/checkboxType.java @@ -219,5 +219,9 @@ public class checkboxType extends inputType { chart.invalidate(); parent.addView(chart); } + + public String toString(dataType data){ + return (int) data.get() == 1 ? "true" : "false"; + } } diff --git a/app/src/main/java/com/ridgebotics/ridgescout/types/input/dropdownType.java b/app/src/main/java/com/ridgebotics/ridgescout/types/input/dropdownType.java index 928a8fa..596f40c 100644 --- a/app/src/main/java/com/ridgebotics/ridgescout/types/input/dropdownType.java +++ b/app/src/main/java/com/ridgebotics/ridgescout/types/input/dropdownType.java @@ -245,5 +245,9 @@ public class dropdownType extends inputType { chart.invalidate(); parent.addView(chart); } + + public String toString(dataType data){ + return text_options[(int) data.get()]; + } } diff --git a/app/src/main/java/com/ridgebotics/ridgescout/types/input/fieldposType.java b/app/src/main/java/com/ridgebotics/ridgescout/types/input/fieldposType.java index 316ec6a..f6d4293 100644 --- a/app/src/main/java/com/ridgebotics/ridgescout/types/input/fieldposType.java +++ b/app/src/main/java/com/ridgebotics/ridgescout/types/input/fieldposType.java @@ -232,5 +232,10 @@ public class fieldposType extends inputType { parent.addView(chart); } + + public String toString(dataType data){ + int[] intarr = (int[]) data.get(); + return "[" + intarr[0] + "," + intarr[1] + "]"; + } } diff --git a/app/src/main/java/com/ridgebotics/ridgescout/types/input/inputType.java b/app/src/main/java/com/ridgebotics/ridgescout/types/input/inputType.java index 305a105..6e291e3 100644 --- a/app/src/main/java/com/ridgebotics/ridgescout/types/input/inputType.java +++ b/app/src/main/java/com/ridgebotics/ridgescout/types/input/inputType.java @@ -107,4 +107,7 @@ public abstract class inputType { public abstract void add_history_view(LinearLayout parent, dataType[] data); + + + public abstract String toString(dataType data); } \ No newline at end of file diff --git a/app/src/main/java/com/ridgebotics/ridgescout/types/input/numberType.java b/app/src/main/java/com/ridgebotics/ridgescout/types/input/numberType.java index b0dab60..8949463 100644 --- a/app/src/main/java/com/ridgebotics/ridgescout/types/input/numberType.java +++ b/app/src/main/java/com/ridgebotics/ridgescout/types/input/numberType.java @@ -318,5 +318,9 @@ public class numberType extends inputType { parent.addView(chart); } + + public String toString(dataType data){ + return String.valueOf((int) data.get()); + } } diff --git a/app/src/main/java/com/ridgebotics/ridgescout/types/input/sliderType.java b/app/src/main/java/com/ridgebotics/ridgescout/types/input/sliderType.java index c3d443a..dbbfae3 100644 --- a/app/src/main/java/com/ridgebotics/ridgescout/types/input/sliderType.java +++ b/app/src/main/java/com/ridgebotics/ridgescout/types/input/sliderType.java @@ -305,4 +305,8 @@ public class sliderType extends inputType { parent.addView(chart); } + + public String toString(dataType data){ + return String.valueOf((int) data.get()); + } } \ No newline at end of file diff --git a/app/src/main/java/com/ridgebotics/ridgescout/types/input/tallyType.java b/app/src/main/java/com/ridgebotics/ridgescout/types/input/tallyType.java index 68333d6..ce7e42b 100644 --- a/app/src/main/java/com/ridgebotics/ridgescout/types/input/tallyType.java +++ b/app/src/main/java/com/ridgebotics/ridgescout/types/input/tallyType.java @@ -298,5 +298,9 @@ public class tallyType extends inputType { parent.addView(chart); } + + public String toString(dataType data){ + return String.valueOf((int) data.get()); + } } diff --git a/app/src/main/java/com/ridgebotics/ridgescout/types/input/textType.java b/app/src/main/java/com/ridgebotics/ridgescout/types/input/textType.java index 30247c8..3551f1d 100644 --- a/app/src/main/java/com/ridgebotics/ridgescout/types/input/textType.java +++ b/app/src/main/java/com/ridgebotics/ridgescout/types/input/textType.java @@ -230,5 +230,9 @@ public class textType extends inputType { parent.addView(chart); } + + public String toString(dataType data){ + return String.valueOf(data.get()); + } } diff --git a/app/src/main/java/com/ridgebotics/ridgescout/ui/transfer/CSVExport.java b/app/src/main/java/com/ridgebotics/ridgescout/ui/transfer/CSVExport.java index e38a329..9113f8b 100644 --- a/app/src/main/java/com/ridgebotics/ridgescout/ui/transfer/CSVExport.java +++ b/app/src/main/java/com/ridgebotics/ridgescout/ui/transfer/CSVExport.java @@ -12,6 +12,7 @@ import com.ridgebotics.ridgescout.scoutingData.ScoutingDataWriter; import com.ridgebotics.ridgescout.types.data.dataType; import com.ridgebotics.ridgescout.types.frcMatch; import com.ridgebotics.ridgescout.types.frcTeam; +import com.ridgebotics.ridgescout.types.input.inputType; import com.ridgebotics.ridgescout.utility.DataManager; import com.ridgebotics.ridgescout.utility.fileEditor; @@ -59,11 +60,14 @@ public class CSVExport { data += ("null,".repeat(match_latest_values.length)); }else{ try { + String tempData = ""; ScoutingDataWriter.ParsedScoutingDataResult psdr = ScoutingDataWriter.load(filename, DataManager.match_values, DataManager.match_transferValues); - dataType[] types = psdr.data.array; + dataType[] matchData = psdr.data.array; + inputType[] types = psdr.data.values[psdr.data.values.length-1]; for (int i = 0; i < types.length; i++) { - data += (safeCSV(types[i].get().toString()) + ","); + tempData += (safeCSV(types[i].toString(matchData[i])) + ","); } + data += tempData; } catch (Exception e){ e.printStackTrace(); data += ("null,".repeat(pit_latest_values.length)); @@ -108,11 +112,14 @@ public class CSVExport { data += ("null,".repeat(pit_latest_values.length)); }else{ try { + String tempData = ""; ScoutingDataWriter.ParsedScoutingDataResult psdr = ScoutingDataWriter.load(filename, DataManager.pit_values, DataManager.pit_transferValues); - dataType[] types = psdr.data.array; + dataType[] teamData = psdr.data.array; + inputType[] types = psdr.data.values[psdr.data.values.length-1]; for (int i = 0; i < types.length; i++) { - data += (safeCSV(types[i].get().toString()) + ","); + tempData += (safeCSV(types[i].toString(teamData[i])) + ","); } + data += tempData; } catch (Exception e){ e.printStackTrace(); data += ("null,".repeat(pit_latest_values.length));