Cleanup: SelectionData is a record.

This commit is contained in:
Dennis Guse
2023-09-28 20:00:47 +02:00
parent bc857faa18
commit 684756c264
3 changed files with 53 additions and 66 deletions
@@ -23,8 +23,8 @@ public class TrackSelectionTest extends TestCase {
SelectionData selection = filter.buildSelection(); SelectionData selection = filter.buildSelection();
// Then // Then
assertNull(selection.getSelection()); assertNull(selection.selection());
assertNull(selection.getSelectionArgs()); assertNull(selection.selectionArgs());
} }
@Test @Test
@@ -37,9 +37,9 @@ public class TrackSelectionTest extends TestCase {
SelectionData selection = filter.buildSelection(); SelectionData selection = filter.buildSelection();
// Then // Then
assertEquals(selection.getSelection(), "_id IN (?)"); assertEquals(selection.selection(), "_id IN (?)");
assertEquals(selection.getSelectionArgs().length, 1); assertEquals(selection.selectionArgs().length, 1);
assertEquals(selection.getSelectionArgs()[0], "1"); assertEquals(selection.selectionArgs()[0], "1");
} }
@Test @Test
@@ -57,11 +57,11 @@ public class TrackSelectionTest extends TestCase {
SelectionData selection = filter.buildSelection(); SelectionData selection = filter.buildSelection();
// Then // Then
assertEquals(selection.getSelection(), "_id IN (?,?,?)"); assertEquals(selection.selection(), "_id IN (?,?,?)");
assertEquals(selection.getSelectionArgs().length, 3); assertEquals(selection.selectionArgs().length, 3);
assertEquals(selection.getSelectionArgs()[0], "1"); assertEquals(selection.selectionArgs()[0], "1");
assertEquals(selection.getSelectionArgs()[1], "2"); assertEquals(selection.selectionArgs()[1], "2");
assertEquals(selection.getSelectionArgs()[2], "3"); assertEquals(selection.selectionArgs()[2], "3");
} }
@Test @Test
@@ -73,9 +73,9 @@ public class TrackSelectionTest extends TestCase {
SelectionData selection = filter.buildSelection(); SelectionData selection = filter.buildSelection();
// Then // Then
assertEquals(selection.getSelection(), "category IN (?)"); assertEquals(selection.selection(), "category IN (?)");
assertEquals(selection.getSelectionArgs().length, 1); assertEquals(selection.selectionArgs().length, 1);
assertEquals(selection.getSelectionArgs()[0], "running"); assertEquals(selection.selectionArgs()[0], "running");
} }
@Test @Test
@@ -91,12 +91,12 @@ public class TrackSelectionTest extends TestCase {
SelectionData selection = filter.buildSelection(); SelectionData selection = filter.buildSelection();
// Then // Then
assertEquals(selection.getSelection(), "category IN (?,?,?,?)"); assertEquals(selection.selection(), "category IN (?,?,?,?)");
assertEquals(selection.getSelectionArgs().length, 4); assertEquals(selection.selectionArgs().length, 4);
assertEquals(selection.getSelectionArgs()[0], "running"); assertEquals(selection.selectionArgs()[0], "running");
assertEquals(selection.getSelectionArgs()[1], "road biking"); assertEquals(selection.selectionArgs()[1], "road biking");
assertEquals(selection.getSelectionArgs()[2], "mountain biking"); assertEquals(selection.selectionArgs()[2], "mountain biking");
assertEquals(selection.getSelectionArgs()[3], "trail walking"); assertEquals(selection.selectionArgs()[3], "trail walking");
} }
@Test @Test
@@ -114,16 +114,16 @@ public class TrackSelectionTest extends TestCase {
SelectionData selectionOk = filterOk.buildSelection(); SelectionData selectionOk = filterOk.buildSelection();
// Then // Then
assertNull(selectionWrong1.getSelection()); assertNull(selectionWrong1.selection());
assertNull(selectionWrong1.getSelectionArgs()); assertNull(selectionWrong1.selectionArgs());
assertNull(selectionWrong2.getSelection()); assertNull(selectionWrong2.selection());
assertNull(selectionWrong2.getSelectionArgs()); assertNull(selectionWrong2.selectionArgs());
assertEquals(selectionOk.getSelection(), "starttime BETWEEN ? AND ?"); assertEquals(selectionOk.selection(), "starttime BETWEEN ? AND ?");
assertEquals(selectionOk.getSelectionArgs().length, 2); assertEquals(selectionOk.selectionArgs().length, 2);
assertEquals(selectionOk.getSelectionArgs()[0], Long.toString(instant.toEpochMilli())); assertEquals(selectionOk.selectionArgs()[0], Long.toString(instant.toEpochMilli()));
assertEquals(selectionOk.getSelectionArgs()[1], Long.toString(instant.toEpochMilli() + oneDay)); assertEquals(selectionOk.selectionArgs()[1], Long.toString(instant.toEpochMilli() + oneDay));
} }
@Test @Test
@@ -143,13 +143,13 @@ public class TrackSelectionTest extends TestCase {
SelectionData selection = filter.buildSelection(); SelectionData selection = filter.buildSelection();
// Then // Then
assertEquals(selection.getSelection(), "_id IN (?,?,?) AND category IN (?,?)"); assertEquals(selection.selection(), "_id IN (?,?,?) AND category IN (?,?)");
assertEquals(selection.getSelectionArgs().length, 5); assertEquals(selection.selectionArgs().length, 5);
assertEquals(selection.getSelectionArgs()[0], "1"); assertEquals(selection.selectionArgs()[0], "1");
assertEquals(selection.getSelectionArgs()[1], "2"); assertEquals(selection.selectionArgs()[1], "2");
assertEquals(selection.getSelectionArgs()[2], "3"); assertEquals(selection.selectionArgs()[2], "3");
assertEquals(selection.getSelectionArgs()[3], "running"); assertEquals(selection.selectionArgs()[3], "running");
assertEquals(selection.getSelectionArgs()[4], "road biking"); assertEquals(selection.selectionArgs()[4], "road biking");
} }
@Test @Test
@@ -172,13 +172,13 @@ public class TrackSelectionTest extends TestCase {
SelectionData selection = filter.buildSelection(); SelectionData selection = filter.buildSelection();
// Then // Then
assertEquals(selection.getSelection(), "_id IN (?,?,?) AND starttime BETWEEN ? AND ?"); assertEquals(selection.selection(), "_id IN (?,?,?) AND starttime BETWEEN ? AND ?");
assertEquals(selection.getSelectionArgs().length, 5); assertEquals(selection.selectionArgs().length, 5);
assertEquals(selection.getSelectionArgs()[0], "1"); assertEquals(selection.selectionArgs()[0], "1");
assertEquals(selection.getSelectionArgs()[1], "2"); assertEquals(selection.selectionArgs()[1], "2");
assertEquals(selection.getSelectionArgs()[2], "3"); assertEquals(selection.selectionArgs()[2], "3");
assertEquals(selection.getSelectionArgs()[3], Long.toString(instant.toEpochMilli())); assertEquals(selection.selectionArgs()[3], Long.toString(instant.toEpochMilli()));
assertEquals(selection.getSelectionArgs()[4], Long.toString(instant.toEpochMilli() + oneDay)); assertEquals(selection.selectionArgs()[4], Long.toString(instant.toEpochMilli() + oneDay));
} }
@Test @Test
@@ -196,11 +196,11 @@ public class TrackSelectionTest extends TestCase {
SelectionData selection = filter.buildSelection(); SelectionData selection = filter.buildSelection();
// Then // Then
assertEquals(selection.getSelection(), "category IN (?,?) AND starttime BETWEEN ? AND ?"); assertEquals(selection.selection(), "category IN (?,?) AND starttime BETWEEN ? AND ?");
assertEquals(selection.getSelectionArgs().length, 4); assertEquals(selection.selectionArgs().length, 4);
assertEquals(selection.getSelectionArgs()[0], "running"); assertEquals(selection.selectionArgs()[0], "running");
assertEquals(selection.getSelectionArgs()[1], "road biking"); assertEquals(selection.selectionArgs()[1], "road biking");
assertEquals(selection.getSelectionArgs()[2], Long.toString(instant.toEpochMilli())); assertEquals(selection.selectionArgs()[2], Long.toString(instant.toEpochMilli()));
assertEquals(selection.getSelectionArgs()[3], Long.toString(instant.toEpochMilli() + oneDay)); assertEquals(selection.selectionArgs()[3], Long.toString(instant.toEpochMilli() + oneDay));
} }
} }
@@ -216,7 +216,7 @@ public class ContentProviderUtils {
public List<Track> getTracks(ContentProviderSelectionInterface selection) { public List<Track> getTracks(ContentProviderSelectionInterface selection) {
SelectionData selectionData = selection.buildSelection(); SelectionData selectionData = selection.buildSelection();
ArrayList<Track> tracks = new ArrayList<>(); ArrayList<Track> 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()) { if (cursor != null && cursor.moveToFirst()) {
tracks.ensureCapacity(cursor.getCount()); tracks.ensureCapacity(cursor.getCount());
do { do {
@@ -1,24 +1,11 @@
package de.dennisguse.opentracks.data; package de.dennisguse.opentracks.data;
public class SelectionData { public record SelectionData(
private final String selection; String selection,
private final String[] selectionArgs; String[] selectionArgs
) {
public SelectionData() { public SelectionData() {
selection = null; this(null, 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;
} }
} }