From f06eeb01b971ad242cb209627744d7d8e1b03f47 Mon Sep 17 00:00:00 2001 From: AsamK Date: Sun, 12 Nov 2023 15:21:25 +0100 Subject: [PATCH] Refactor getGroup method --- .../manager/storage/groups/GroupStore.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/src/main/java/org/asamk/signal/manager/storage/groups/GroupStore.java b/lib/src/main/java/org/asamk/signal/manager/storage/groups/GroupStore.java index a281622d..27d97fe5 100644 --- a/lib/src/main/java/org/asamk/signal/manager/storage/groups/GroupStore.java +++ b/lib/src/main/java/org/asamk/signal/manager/storage/groups/GroupStore.java @@ -150,23 +150,29 @@ public class GroupStore { public GroupInfo getGroup(GroupId groupId) { try (final var connection = database.getConnection()) { - if (groupId instanceof GroupIdV1 groupIdV1) { + return getGroup(connection, groupId); + } catch (SQLException e) { + throw new RuntimeException("Failed read from group store", e); + } + } + + public GroupInfo getGroup(final Connection connection, final GroupId groupId) throws SQLException { + switch (groupId) { + case GroupIdV1 groupIdV1 -> { final var group = getGroup(connection, groupIdV1); if (group != null) { return group; } return getGroupV2ByV1Id(connection, groupIdV1); - } else if (groupId instanceof GroupIdV2 groupIdV2) { + } + case GroupIdV2 groupIdV2 -> { final var group = getGroup(connection, groupIdV2); if (group != null) { return group; } return getGroupV1ByV2Id(connection, groupIdV2); } - } catch (SQLException e) { - throw new RuntimeException("Failed read from group store", e); } - throw new AssertionError("Invalid group id type"); } public GroupInfoV1 getOrCreateGroupV1(GroupIdV1 groupId) { -- 2.50.1