From 684756c264a464441b67ee47fd3ec10fa0b24ef2 Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Thu, 28 Sep 2023 20:00:47 +0200 Subject: [PATCH] Cleanup: SelectionData is a record. --- .../opentracks/data/TrackSelectionTest.java | 94 +++++++++---------- .../opentracks/data/ContentProviderUtils.java | 2 +- .../opentracks/data/SelectionData.java | 23 +---- 3 files changed, 53 insertions(+), 66 deletions(-) diff --git a/src/androidTest/java/de/dennisguse/opentracks/data/TrackSelectionTest.java b/src/androidTest/java/de/dennisguse/opentracks/data/TrackSelectionTest.java index 8724e9c69..98aff7b15 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/data/TrackSelectionTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/data/TrackSelectionTest.java @@ -23,8 +23,8 @@ public class TrackSelectionTest extends TestCase { SelectionData selection = filter.buildSelection(); // Then - assertNull(selection.getSelection()); - assertNull(selection.getSelectionArgs()); + assertNull(selection.selection()); + assertNull(selection.selectionArgs()); } @Test @@ -37,9 +37,9 @@ public class TrackSelectionTest extends TestCase { SelectionData selection = filter.buildSelection(); // Then - assertEquals(selection.getSelection(), "_id IN (?)"); - assertEquals(selection.getSelectionArgs().length, 1); - assertEquals(selection.getSelectionArgs()[0], "1"); + assertEquals(selection.selection(), "_id IN (?)"); + assertEquals(selection.selectionArgs().length, 1); + assertEquals(selection.selectionArgs()[0], "1"); } @Test @@ -57,11 +57,11 @@ public class TrackSelectionTest extends TestCase { SelectionData selection = filter.buildSelection(); // Then - assertEquals(selection.getSelection(), "_id IN (?,?,?)"); - assertEquals(selection.getSelectionArgs().length, 3); - assertEquals(selection.getSelectionArgs()[0], "1"); - assertEquals(selection.getSelectionArgs()[1], "2"); - assertEquals(selection.getSelectionArgs()[2], "3"); + assertEquals(selection.selection(), "_id IN (?,?,?)"); + assertEquals(selection.selectionArgs().length, 3); + assertEquals(selection.selectionArgs()[0], "1"); + assertEquals(selection.selectionArgs()[1], "2"); + assertEquals(selection.selectionArgs()[2], "3"); } @Test @@ -73,9 +73,9 @@ public class TrackSelectionTest extends TestCase { SelectionData selection = filter.buildSelection(); // Then - assertEquals(selection.getSelection(), "category IN (?)"); - assertEquals(selection.getSelectionArgs().length, 1); - assertEquals(selection.getSelectionArgs()[0], "running"); + assertEquals(selection.selection(), "category IN (?)"); + assertEquals(selection.selectionArgs().length, 1); + assertEquals(selection.selectionArgs()[0], "running"); } @Test @@ -91,12 +91,12 @@ public class TrackSelectionTest extends TestCase { SelectionData selection = filter.buildSelection(); // Then - assertEquals(selection.getSelection(), "category IN (?,?,?,?)"); - assertEquals(selection.getSelectionArgs().length, 4); - assertEquals(selection.getSelectionArgs()[0], "running"); - assertEquals(selection.getSelectionArgs()[1], "road biking"); - assertEquals(selection.getSelectionArgs()[2], "mountain biking"); - assertEquals(selection.getSelectionArgs()[3], "trail walking"); + assertEquals(selection.selection(), "category IN (?,?,?,?)"); + assertEquals(selection.selectionArgs().length, 4); + assertEquals(selection.selectionArgs()[0], "running"); + assertEquals(selection.selectionArgs()[1], "road biking"); + assertEquals(selection.selectionArgs()[2], "mountain biking"); + assertEquals(selection.selectionArgs()[3], "trail walking"); } @Test @@ -114,16 +114,16 @@ public class TrackSelectionTest extends TestCase { SelectionData selectionOk = filterOk.buildSelection(); // Then - assertNull(selectionWrong1.getSelection()); - assertNull(selectionWrong1.getSelectionArgs()); + assertNull(selectionWrong1.selection()); + assertNull(selectionWrong1.selectionArgs()); - assertNull(selectionWrong2.getSelection()); - assertNull(selectionWrong2.getSelectionArgs()); + assertNull(selectionWrong2.selection()); + assertNull(selectionWrong2.selectionArgs()); - assertEquals(selectionOk.getSelection(), "starttime BETWEEN ? AND ?"); - assertEquals(selectionOk.getSelectionArgs().length, 2); - assertEquals(selectionOk.getSelectionArgs()[0], Long.toString(instant.toEpochMilli())); - assertEquals(selectionOk.getSelectionArgs()[1], Long.toString(instant.toEpochMilli() + oneDay)); + assertEquals(selectionOk.selection(), "starttime BETWEEN ? AND ?"); + assertEquals(selectionOk.selectionArgs().length, 2); + assertEquals(selectionOk.selectionArgs()[0], Long.toString(instant.toEpochMilli())); + assertEquals(selectionOk.selectionArgs()[1], Long.toString(instant.toEpochMilli() + oneDay)); } @Test @@ -143,13 +143,13 @@ public class TrackSelectionTest extends TestCase { SelectionData selection = filter.buildSelection(); // Then - assertEquals(selection.getSelection(), "_id IN (?,?,?) AND category IN (?,?)"); - assertEquals(selection.getSelectionArgs().length, 5); - assertEquals(selection.getSelectionArgs()[0], "1"); - assertEquals(selection.getSelectionArgs()[1], "2"); - assertEquals(selection.getSelectionArgs()[2], "3"); - assertEquals(selection.getSelectionArgs()[3], "running"); - assertEquals(selection.getSelectionArgs()[4], "road biking"); + assertEquals(selection.selection(), "_id IN (?,?,?) AND category IN (?,?)"); + assertEquals(selection.selectionArgs().length, 5); + assertEquals(selection.selectionArgs()[0], "1"); + assertEquals(selection.selectionArgs()[1], "2"); + assertEquals(selection.selectionArgs()[2], "3"); + assertEquals(selection.selectionArgs()[3], "running"); + assertEquals(selection.selectionArgs()[4], "road biking"); } @Test @@ -172,13 +172,13 @@ public class TrackSelectionTest extends TestCase { SelectionData selection = filter.buildSelection(); // Then - assertEquals(selection.getSelection(), "_id IN (?,?,?) AND starttime BETWEEN ? AND ?"); - assertEquals(selection.getSelectionArgs().length, 5); - assertEquals(selection.getSelectionArgs()[0], "1"); - assertEquals(selection.getSelectionArgs()[1], "2"); - assertEquals(selection.getSelectionArgs()[2], "3"); - assertEquals(selection.getSelectionArgs()[3], Long.toString(instant.toEpochMilli())); - assertEquals(selection.getSelectionArgs()[4], Long.toString(instant.toEpochMilli() + oneDay)); + assertEquals(selection.selection(), "_id IN (?,?,?) AND starttime BETWEEN ? AND ?"); + assertEquals(selection.selectionArgs().length, 5); + assertEquals(selection.selectionArgs()[0], "1"); + assertEquals(selection.selectionArgs()[1], "2"); + assertEquals(selection.selectionArgs()[2], "3"); + assertEquals(selection.selectionArgs()[3], Long.toString(instant.toEpochMilli())); + assertEquals(selection.selectionArgs()[4], Long.toString(instant.toEpochMilli() + oneDay)); } @Test @@ -196,11 +196,11 @@ public class TrackSelectionTest extends TestCase { SelectionData selection = filter.buildSelection(); // Then - assertEquals(selection.getSelection(), "category IN (?,?) AND starttime BETWEEN ? AND ?"); - assertEquals(selection.getSelectionArgs().length, 4); - assertEquals(selection.getSelectionArgs()[0], "running"); - assertEquals(selection.getSelectionArgs()[1], "road biking"); - assertEquals(selection.getSelectionArgs()[2], Long.toString(instant.toEpochMilli())); - assertEquals(selection.getSelectionArgs()[3], Long.toString(instant.toEpochMilli() + oneDay)); + assertEquals(selection.selection(), "category IN (?,?) AND starttime BETWEEN ? AND ?"); + assertEquals(selection.selectionArgs().length, 4); + assertEquals(selection.selectionArgs()[0], "running"); + assertEquals(selection.selectionArgs()[1], "road biking"); + assertEquals(selection.selectionArgs()[2], Long.toString(instant.toEpochMilli())); + assertEquals(selection.selectionArgs()[3], Long.toString(instant.toEpochMilli() + oneDay)); } } diff --git a/src/main/java/de/dennisguse/opentracks/data/ContentProviderUtils.java b/src/main/java/de/dennisguse/opentracks/data/ContentProviderUtils.java index 4d1d9a76c..5e24f1027 100644 --- a/src/main/java/de/dennisguse/opentracks/data/ContentProviderUtils.java +++ b/src/main/java/de/dennisguse/opentracks/data/ContentProviderUtils.java @@ -216,7 +216,7 @@ public class ContentProviderUtils { public List getTracks(ContentProviderSelectionInterface selection) { SelectionData selectionData = selection.buildSelection(); ArrayList tracks = new ArrayList<>(); - try (Cursor cursor = getTrackCursor(selectionData.getSelection(), selectionData.getSelectionArgs(), TracksColumns._ID)) { + try (Cursor cursor = getTrackCursor(selectionData.selection(), selectionData.selectionArgs(), TracksColumns._ID)) { if (cursor != null && cursor.moveToFirst()) { tracks.ensureCapacity(cursor.getCount()); do { diff --git a/src/main/java/de/dennisguse/opentracks/data/SelectionData.java b/src/main/java/de/dennisguse/opentracks/data/SelectionData.java index 886847b58..f1bf97798 100644 --- a/src/main/java/de/dennisguse/opentracks/data/SelectionData.java +++ b/src/main/java/de/dennisguse/opentracks/data/SelectionData.java @@ -1,24 +1,11 @@ package de.dennisguse.opentracks.data; -public class SelectionData { - private final String selection; - private final String[] selectionArgs; +public record SelectionData( + String selection, + String[] selectionArgs +) { public SelectionData() { - selection = null; - selectionArgs = null; - } - - public SelectionData(String selection, String[] selectionArgs) { - this.selection = selection; - this.selectionArgs = selectionArgs; - } - - public String getSelection() { - return selection; - } - - public String[] getSelectionArgs() { - return selectionArgs; + this(null, null); } }