From ddd9bee794c26f1de72b19b154225cf6811be7c2 Mon Sep 17 00:00:00 2001
From: Lars Johansson <lars.johansson@ess.eu>
Date: Thu, 14 Dec 2023 15:50:27 +0100
Subject: [PATCH] Cleanup and re-organization of content in repository
 interfaces

---
 .../repository/IDeviceGroupRepository.java    |  17 +--
 .../repository/IDeviceTypeRepository.java     |  22 ++--
 .../repository/IDisciplineRepository.java     |  16 ++-
 .../names/repository/INameRepository.java     | 108 +++++++++---------
 .../repository/ISubsystemRepository.java      |  22 ++--
 .../repository/ISystemGroupRepository.java    |  16 ++-
 .../names/repository/ISystemRepository.java   |  19 +--
 7 files changed, 112 insertions(+), 108 deletions(-)

diff --git a/src/main/java/org/openepics/names/repository/IDeviceGroupRepository.java b/src/main/java/org/openepics/names/repository/IDeviceGroupRepository.java
index 57384ae8..88900b98 100644
--- a/src/main/java/org/openepics/names/repository/IDeviceGroupRepository.java
+++ b/src/main/java/org/openepics/names/repository/IDeviceGroupRepository.java
@@ -33,27 +33,22 @@ import org.springframework.stereotype.Repository;
 @Repository
 public interface IDeviceGroupRepository extends JpaRepository<DeviceGroup, Long> {
 
+    // old + verification
+
     @Query("FROM DeviceGroup dg WHERE dg.latest = true AND dg.uuid = ?1")
     DeviceGroup findLatestByUuid(String uuid);
 
-    @Query("FROM DeviceGroup dg WHERE dg.latest = true AND dg.deleted = false AND dg.mnemonic = ?1")
-    DeviceGroup findLatestNotDeletedByMnemonic(String mnemonic);
+    @Query("FROM DeviceGroup dg WHERE dg.uuid = ?1")
+    List<DeviceGroup> findByUuid(String uuid);
+
+    // ----------------------------------------------------------------------------------------------------
 
     @Query("FROM DeviceGroup dg WHERE dg.latest = true AND dg.deleted = false AND dg.uuid = ?1")
     DeviceGroup findLatestNotDeletedByUuid(String uuid);
 
-    @Query("FROM DeviceGroup dg WHERE dg.latest = true AND dg.deleted = false AND dg.parentUuid = ?1 and dg.mnemonic = ?2")
-    DeviceGroup findLatestNotDeletedByParentAndMnemonic(String uuid, String mnemonic);
-
-    @Query("FROM DeviceGroup dg WHERE dg.uuid = ?1")
-    List<DeviceGroup> findByUuid(String uuid);
-
     @Query("FROM DeviceGroup dg WHERE dg.latest = true")
     List<DeviceGroup> findLatest();
 
-    @Query("FROM DeviceGroup dg WHERE dg.latest = true AND dg.mnemonic = ?1")
-    List<DeviceGroup> findLatestByMnemonic(String mnemonic);
-
     @Query("FROM DeviceGroup dg WHERE dg.latest = true AND dg.deleted = false")
     List<DeviceGroup> findLatestNotDeleted();
 
diff --git a/src/main/java/org/openepics/names/repository/IDeviceTypeRepository.java b/src/main/java/org/openepics/names/repository/IDeviceTypeRepository.java
index 1b641d28..569cd1fa 100644
--- a/src/main/java/org/openepics/names/repository/IDeviceTypeRepository.java
+++ b/src/main/java/org/openepics/names/repository/IDeviceTypeRepository.java
@@ -33,27 +33,25 @@ import org.springframework.stereotype.Repository;
 @Repository
 public interface IDeviceTypeRepository extends JpaRepository<DeviceType, Long> {
 
+    // old + verification
+
+    @Query("FROM DeviceType dt WHERE dt.uuid = ?1")
+    List<DeviceType> findByUuid(String uuid);
+
+    @Query("FROM DeviceType dt WHERE dt.latest = true AND dt.mnemonic = ?1")
+    List<DeviceType> findLatestByMnemonic(String mnemonic);
+
+    // ----------------------------------------------------------------------------------------------------
+
     @Query("FROM DeviceType dt WHERE dt.latest = true AND dt.uuid = ?1")
     DeviceType findLatestByUuid(String uuid);
 
-    @Query("FROM DeviceType dt WHERE dt.latest = true AND dt.deleted = false AND dt.mnemonic = ?1")
-    DeviceType findLatestNotDeletedByMnemonic(String mnemonic);
-
     @Query("FROM DeviceType dt WHERE dt.latest = true AND dt.deleted = false AND dt.uuid = ?1")
     DeviceType findLatestNotDeletedByUuid(String uuid);
 
-    @Query("FROM DeviceType dt WHERE dt.latest = true AND dt.deleted = false AND dt.parentUuid = ?1 and dt.mnemonic = ?2")
-    DeviceType findLatestNotDeletedByParentAndMnemonic(String uuid, String mnemonic);
-
-    @Query("FROM DeviceType dt WHERE dt.uuid = ?1")
-    List<DeviceType> findByUuid(String uuid);
-
     @Query("FROM DeviceType dt WHERE dt.latest = true")
     List<DeviceType> findLatest();
 
-    @Query("FROM DeviceType dt WHERE dt.latest = true AND dt.mnemonic = ?1")
-    List<DeviceType> findLatestByMnemonic(String mnemonic);
-
     @Query("FROM DeviceType dt WHERE dt.latest = true AND dt.deleted = false")
     List<DeviceType> findLatestNotDeleted();
 
diff --git a/src/main/java/org/openepics/names/repository/IDisciplineRepository.java b/src/main/java/org/openepics/names/repository/IDisciplineRepository.java
index 2338f83c..80d72499 100644
--- a/src/main/java/org/openepics/names/repository/IDisciplineRepository.java
+++ b/src/main/java/org/openepics/names/repository/IDisciplineRepository.java
@@ -33,24 +33,28 @@ import org.springframework.stereotype.Repository;
 @Repository
 public interface IDisciplineRepository extends JpaRepository<Discipline, Long> {
 
+    // old + verification
+
     @Query("FROM Discipline di WHERE di.latest = true AND di.uuid = ?1")
     Discipline findLatestByUuid(String uuid);
 
+    @Query("FROM Discipline di WHERE di.uuid = ?1")
+    List<Discipline> findByUuid(String uuid);
+
+    @Query("FROM Discipline di WHERE di.latest = true AND di.mnemonic = ?1")
+    List<Discipline> findLatestByMnemonic(String mnemonic);
+
+    // ----------------------------------------------------------------------------------------------------
+
     @Query("FROM Discipline di WHERE di.latest = true AND di.deleted = false AND di.mnemonic = ?1")
     Discipline findLatestNotDeletedByMnemonic(String mnemonic);
 
     @Query("FROM Discipline di WHERE di.latest = true AND di.deleted = false AND di.uuid = ?1")
     Discipline findLatestNotDeletedByUuid(String uuid);
 
-    @Query("FROM Discipline di WHERE di.uuid = ?1")
-    List<Discipline> findByUuid(String uuid);
-
     @Query("FROM Discipline di WHERE di.latest = true")
     List<Discipline> findLatest();
 
-    @Query("FROM Discipline di WHERE di.latest = true AND di.mnemonic = ?1")
-    List<Discipline> findLatestByMnemonic(String mnemonic);
-
     @Query("FROM Discipline di WHERE di.latest = true AND di.deleted = false")
     List<Discipline> findLatestNotDeleted();
 
diff --git a/src/main/java/org/openepics/names/repository/INameRepository.java b/src/main/java/org/openepics/names/repository/INameRepository.java
index 44c7488a..b5b9d141 100644
--- a/src/main/java/org/openepics/names/repository/INameRepository.java
+++ b/src/main/java/org/openepics/names/repository/INameRepository.java
@@ -34,36 +34,81 @@ import org.springframework.stereotype.Repository;
 @Repository
 public interface INameRepository extends JpaRepository<Name, Long> {
 
-    @Query("FROM Name n WHERE n.latest = true AND n.uuid = ?1")
-    Name findLatestByUuid(String uuid);
+    // old + verification
 
     @Query("FROM Name n WHERE n.latest = true AND n.conventionName = ?1")
     Name findLatestByConventionName(String conventionName);
 
-    @Query("FROM Name n WHERE n.uuid = ?1")
-    List<Name> findByUuid(String uuid);
-
     @Query("FROM Name n WHERE n.latest = true")
     List<Name> findLatest();
 
     @Query("FROM Name n WHERE n.latest = true AND n.deleted = false")
     List<Name> findLatestNotDeleted();
 
-    // ----------------------------------------------------------------------------------------------------
-
     @Query("SELECT n FROM Name n, SystemGroup sg "
             + "WHERE n.latest = true "
             + "AND sg.uuid = n.systemGroupUuid "
             + "AND sg.latest = true "
-            + "AND sg.uuid = ?1")
-    List<Name> findLatestBySystemGroupUuid(String uuid);
+            + "AND sg.mnemonic = ?1")
+    List<Name> findLatestBySystemGroupMnemonic(String mnemonic);
+
+    @Query("SELECT n FROM Name n, System sys "
+            + "WHERE n.latest = true "
+            + "AND sys.uuid = n.systemUuid "
+            + "AND sys.latest = true "
+            + "AND sys.mnemonic = ?1")
+    List<Name> findLatestBySystemMnemonic(String mnemonic);
+
+    @Query("SELECT n FROM Name n, Subsystem sub, System sys "
+            + "WHERE n.latest = true "
+            + "AND sub.uuid = n.subsystemUuid "
+            + "AND sub.latest = true "
+            + "AND sys.uuid = sub.parentUuid  "
+            + "AND sys.latest = true "
+            + "AND sys.mnemonic = ?1")
+    List<Name> findLatestBySystemMnemonicThroughSubsystem(String mnemonic);
+
+    @Query("SELECT n FROM Name n, Subsystem sub "
+            + "WHERE n.latest = true "
+            + "AND sub.uuid = n.subsystemUuid "
+            + "AND sub.latest = true "
+            + "AND sub.mnemonic = ?1")
+    List<Name> findLatestBySubsystemMnemonic(String mnemonic);
+
+    @Query("SELECT n FROM Name n, DeviceType dt, DeviceGroup dg, Discipline di "
+            + "WHERE n.latest = true "
+            + "AND dt.uuid = n.deviceTypeUuid "
+            + "AND dt.latest = true "
+            + "AND dg.uuid = dt.parentUuid "
+            + "AND dg.latest = true "
+            + "AND di.uuid = dg.parentUuid "
+            + "AND di.latest = true "
+            + "AND di.mnemonic = ?1")
+    List<Name> findLatestByDisciplineMnemonicThroughDeviceType(String mnemonic);
+
+    @Query("SELECT n FROM Name n, DeviceType dt "
+            + "WHERE n.latest = true "
+            + "AND dt.uuid = n.deviceTypeUuid "
+            + "AND dt.latest = true "
+            + "AND dt.mnemonic = ?1")
+    List<Name> findLatestByDeviceTypeMnemonic(String mnemonic);
+
+    // ----------------------------------------------------------------------------------------------------
+
+    @Query("FROM Name n WHERE n.latest = true AND n.uuid = ?1")
+    Name findLatestByUuid(String uuid);
+
+    @Query("FROM Name n WHERE n.uuid = ?1")
+    List<Name> findByUuid(String uuid);
+
+    // ----------------------------------------------------------------------------------------------------
 
     @Query("SELECT n FROM Name n, SystemGroup sg "
             + "WHERE n.latest = true "
             + "AND sg.uuid = n.systemGroupUuid "
             + "AND sg.latest = true "
-            + "AND sg.mnemonic = ?1")
-    List<Name> findLatestBySystemGroupMnemonic(String mnemonic);
+            + "AND sg.uuid = ?1")
+    List<Name> findLatestBySystemGroupUuid(String uuid);
 
     @Query("SELECT n FROM Name n, System sys, SystemGroup sg "
             + "WHERE n.latest = true "
@@ -94,13 +139,6 @@ public interface INameRepository extends JpaRepository<Name, Long> {
             + "AND sys.uuid = ?1")
     List<Name> findLatestBySystemUuid(String uuid);
 
-    @Query("SELECT n FROM Name n, System sys "
-            + "WHERE n.latest = true "
-            + "AND sys.uuid = n.systemUuid "
-            + "AND sys.latest = true "
-            + "AND sys.mnemonic = ?1")
-    List<Name> findLatestBySystemMnemonic(String mnemonic);
-
     @Query("SELECT n FROM Name n, Subsystem sub, System sys "
             + "WHERE n.latest = true "
             + "AND sub.uuid = n.subsystemUuid "
@@ -110,15 +148,6 @@ public interface INameRepository extends JpaRepository<Name, Long> {
             + "AND sys.uuid = ?1")
     List<Name> findLatestBySystemUuidThroughSubsystem(String uuid);
 
-    @Query("SELECT n FROM Name n, Subsystem sub, System sys "
-            + "WHERE n.latest = true "
-            + "AND sub.uuid = n.subsystemUuid "
-            + "AND sub.latest = true "
-            + "AND sys.uuid = sub.parentUuid  "
-            + "AND sys.latest = true "
-            + "AND sys.mnemonic = ?1")
-    List<Name> findLatestBySystemMnemonicThroughSubsystem(String mnemonic);
-
     // ----------------------------------------------------------------------------------------------------
 
     @Query("SELECT n FROM Name n, Subsystem sub "
@@ -128,13 +157,6 @@ public interface INameRepository extends JpaRepository<Name, Long> {
             + "AND sub.uuid = ?1")
     List<Name> findLatestBySubsystemUuid(String uuid);
 
-    @Query("SELECT n FROM Name n, Subsystem sub "
-            + "WHERE n.latest = true "
-            + "AND sub.uuid = n.subsystemUuid "
-            + "AND sub.latest = true "
-            + "AND sub.mnemonic = ?1")
-    List<Name> findLatestBySubsystemMnemonic(String mnemonic);
-
     // ----------------------------------------------------------------------------------------------------
 
     @Query("SELECT n FROM Name n, DeviceType dt, DeviceGroup dg, Discipline di "
@@ -148,17 +170,6 @@ public interface INameRepository extends JpaRepository<Name, Long> {
             + "AND di.uuid = ?1")
     List<Name> findLatestByDisciplineUuidThroughDeviceType(String uuid);
 
-    @Query("SELECT n FROM Name n, DeviceType dt, DeviceGroup dg, Discipline di "
-            + "WHERE n.latest = true "
-            + "AND dt.uuid = n.deviceTypeUuid "
-            + "AND dt.latest = true "
-            + "AND dg.uuid = dt.parentUuid "
-            + "AND dg.latest = true "
-            + "AND di.uuid = dg.parentUuid "
-            + "AND di.latest = true "
-            + "AND di.mnemonic = ?1")
-    List<Name> findLatestByDisciplineMnemonicThroughDeviceType(String mnemonic);
-
     // ----------------------------------------------------------------------------------------------------
 
     @Query("SELECT n FROM Name n, DeviceType dt, DeviceGroup dg "
@@ -179,13 +190,6 @@ public interface INameRepository extends JpaRepository<Name, Long> {
             + "AND dt.uuid = ?1")
     List<Name> findLatestByDeviceTypeUuid(String uuid);
 
-    @Query("SELECT n FROM Name n, DeviceType dt "
-            + "WHERE n.latest = true "
-            + "AND dt.uuid = n.deviceTypeUuid "
-            + "AND dt.latest = true "
-            + "AND dt.mnemonic = ?1")
-    List<Name> findLatestByDeviceTypeMnemonic(String mnemonic);
-
     // ----------------------------------------------------------------------------------------------------
 
     @Query("FROM Name n WHERE n.requested >= ?1 AND n.requested <= ?2")
diff --git a/src/main/java/org/openepics/names/repository/ISubsystemRepository.java b/src/main/java/org/openepics/names/repository/ISubsystemRepository.java
index d0f5f6a5..ac0f9173 100644
--- a/src/main/java/org/openepics/names/repository/ISubsystemRepository.java
+++ b/src/main/java/org/openepics/names/repository/ISubsystemRepository.java
@@ -33,27 +33,25 @@ import org.springframework.stereotype.Repository;
 @Repository
 public interface ISubsystemRepository extends JpaRepository<Subsystem, Long> {
 
+    // old + verification
+
+    @Query("FROM Subsystem sub WHERE sub.uuid = ?1")
+    List<Subsystem> findByUuid(String uuid);
+
+    @Query("FROM Subsystem sub WHERE sub.latest = true AND sub.mnemonic = ?1")
+    List<Subsystem> findLatestByMnemonic(String mnemonic);
+
+    // ----------------------------------------------------------------------------------------------------
+
     @Query("FROM Subsystem sub WHERE sub.latest = true AND sub.uuid = ?1")
     Subsystem findLatestByUuid(String uuid);
 
-    @Query("FROM Subsystem sub WHERE sub.latest = true AND sub.deleted = false AND sub.mnemonic = ?1")
-    Subsystem findLatestNotDeletedByMnemonic(String mnemonic);
-
     @Query("FROM Subsystem sub WHERE sub.latest = true AND sub.deleted = false AND sub.uuid = ?1")
     Subsystem findLatestNotDeletedByUuid(String uuid);
 
-    @Query("FROM Subsystem sub WHERE sub.latest = true AND sub.deleted = false AND sub.parentUuid = ?1 and sub.mnemonic = ?2")
-    Subsystem findLatestNotDeletedByParentAndMnemonic(String uuid, String mnemonic);
-
-    @Query("FROM Subsystem sub WHERE sub.uuid = ?1")
-    List<Subsystem> findByUuid(String uuid);
-
     @Query("FROM Subsystem sub WHERE sub.latest = true")
     List<Subsystem> findLatest();
 
-    @Query("FROM Subsystem sub WHERE sub.latest = true AND sub.mnemonic = ?1")
-    List<Subsystem> findLatestByMnemonic(String mnemonic);
-
     @Query("FROM Subsystem sub WHERE sub.latest = true AND sub.deleted = false")
     List<Subsystem> findLatestNotDeleted();
 
diff --git a/src/main/java/org/openepics/names/repository/ISystemGroupRepository.java b/src/main/java/org/openepics/names/repository/ISystemGroupRepository.java
index 1d380032..8ea653b5 100644
--- a/src/main/java/org/openepics/names/repository/ISystemGroupRepository.java
+++ b/src/main/java/org/openepics/names/repository/ISystemGroupRepository.java
@@ -33,6 +33,16 @@ import org.springframework.stereotype.Repository;
 @Repository
 public interface ISystemGroupRepository extends JpaRepository<SystemGroup, Long> {
 
+    // old + verification
+
+    @Query("FROM SystemGroup sg WHERE sg.uuid = ?1")
+    List<SystemGroup> findByUuid(String uuid);
+
+    @Query("FROM SystemGroup sg WHERE sg.latest = true AND sg.mnemonic = ?1")
+    List<SystemGroup> findLatestByMnemonic(String mnemonic);
+
+    // ----------------------------------------------------------------------------------------------------
+
     @Query("FROM SystemGroup sg WHERE sg.latest = true AND sg.uuid = ?1")
     SystemGroup findLatestByUuid(String uuid);
 
@@ -42,15 +52,9 @@ public interface ISystemGroupRepository extends JpaRepository<SystemGroup, Long>
     @Query("FROM SystemGroup sg WHERE sg.latest = true AND sg.deleted = false AND sg.uuid = ?1")
     SystemGroup findLatestNotDeletedByUuid(String uuid);
 
-    @Query("FROM SystemGroup sg WHERE sg.uuid = ?1")
-    List<SystemGroup> findByUuid(String uuid);
-
     @Query("FROM SystemGroup sg WHERE sg.latest = true")
     List<SystemGroup> findLatest();
 
-    @Query("FROM SystemGroup sg WHERE sg.latest = true AND sg.mnemonic = ?1")
-    List<SystemGroup> findLatestByMnemonic(String mnemonic);
-
     @Query("FROM SystemGroup sg WHERE sg.latest = true AND sg.deleted = false")
     List<SystemGroup> findLatestNotDeleted();
 
diff --git a/src/main/java/org/openepics/names/repository/ISystemRepository.java b/src/main/java/org/openepics/names/repository/ISystemRepository.java
index d066b3e8..2afeeac3 100644
--- a/src/main/java/org/openepics/names/repository/ISystemRepository.java
+++ b/src/main/java/org/openepics/names/repository/ISystemRepository.java
@@ -33,6 +33,16 @@ import org.springframework.stereotype.Repository;
 @Repository
 public interface ISystemRepository extends JpaRepository<System, Long> {
 
+    // old + verification
+
+    @Query("FROM System sys WHERE sys.uuid = ?1")
+    List<System> findByUuid(String uuid);
+
+    @Query("FROM System sys WHERE sys.latest = true AND sys.mnemonic = ?1")
+    List<System> findLatestByMnemonic(String mnemonic);
+
+    // ----------------------------------------------------------------------------------------------------
+
     @Query("FROM System sys WHERE sys.latest = true AND sys.uuid = ?1")
     System findLatestByUuid(String uuid);
 
@@ -42,18 +52,9 @@ public interface ISystemRepository extends JpaRepository<System, Long> {
     @Query("FROM System sys WHERE sys.latest = true AND sys.deleted = false AND sys.uuid = ?1")
     System findLatestNotDeletedByUuid(String uuid);
 
-    @Query("FROM System sys WHERE sys.latest = true AND sys.deleted = false AND sys.parentUuid = ?1 and sys.mnemonic = ?2")
-    System findLatestNotDeletedByParentAndMnemonic(String uuid, String mnemonic);
-
-    @Query("FROM System sys WHERE sys.uuid = ?1")
-    List<System> findByUuid(String uuid);
-
     @Query("FROM System sys WHERE sys.latest = true")
     List<System> findLatest();
 
-    @Query("FROM System sys WHERE sys.latest = true AND sys.mnemonic = ?1")
-    List<System> findLatestByMnemonic(String mnemonic);
-
     @Query("FROM System sys WHERE sys.latest = true AND sys.deleted = false")
     List<System> findLatestNotDeleted();
 
-- 
GitLab