From 925f195f5a1224d7757fd33aaabb65ab8e621519 Mon Sep 17 00:00:00 2001 From: sgiannopoulos Date: Tue, 17 Oct 2023 12:39:29 +0300 Subject: [PATCH] database enum handle implementation --- .../eu/eudat/commons/enums/ProviderType.java | 11 +++++++++++ .../main/java/eu/eudat/commons/enums/Status.java | 16 ++++++++++++++++ .../converters/enums/ProviderTypeConverter.java | 9 +-------- .../data/converters/enums/StatusConverter.java | 9 +-------- .../logic/managers/EmailConfirmationManager.java | 2 +- .../eu/eudat/logic/managers/UserManager.java | 2 +- 6 files changed, 31 insertions(+), 18 deletions(-) diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/enums/ProviderType.java b/dmp-backend/core/src/main/java/eu/eudat/commons/enums/ProviderType.java index 64f6a4133..8f93cde74 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/enums/ProviderType.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/enums/ProviderType.java @@ -26,4 +26,15 @@ public enum ProviderType implements DatabaseEnum { } public Integer getValue() { return this.value; } + + private static final Map map; + static { + map = new HashMap<>(); + for (ProviderType v : ProviderType.values()) { + map.put(v.getValue(), v); + } + } + public static ProviderType of(Integer i) { + return map.get(i); + } } diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/enums/Status.java b/dmp-backend/core/src/main/java/eu/eudat/commons/enums/Status.java index 6e48afb23..a53b04b3a 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/enums/Status.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/enums/Status.java @@ -2,6 +2,9 @@ package eu.eudat.commons.enums; import eu.eudat.data.converters.enums.DatabaseEnum; +import java.util.HashMap; +import java.util.Map; + public enum Status implements DatabaseEnum { Inactive(0), @@ -16,4 +19,17 @@ public enum Status implements DatabaseEnum { public Integer getValue() { return value; } + + private static final Map map; + static { + map = new HashMap<>(); + for (Status v : Status.values()) { + map.put(v.getValue(), v); + } + } + + public static Status of(Integer i) { + return map.get(i); + } + } diff --git a/dmp-backend/core/src/main/java/eu/eudat/data/converters/enums/ProviderTypeConverter.java b/dmp-backend/core/src/main/java/eu/eudat/data/converters/enums/ProviderTypeConverter.java index 15140bd5d..1cc1d121b 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/data/converters/enums/ProviderTypeConverter.java +++ b/dmp-backend/core/src/main/java/eu/eudat/data/converters/enums/ProviderTypeConverter.java @@ -9,14 +9,7 @@ import java.util.Map; @Converter public class ProviderTypeConverter extends DatabaseEnumConverter { - private static final Map map; - static { - map = new HashMap<>(); - for (ProviderType v : ProviderType.values()) { - map.put(v.getValue(), v); - } - } public ProviderType of(Integer i) { - return map.get(i); + return ProviderType.of(i); } } diff --git a/dmp-backend/core/src/main/java/eu/eudat/data/converters/enums/StatusConverter.java b/dmp-backend/core/src/main/java/eu/eudat/data/converters/enums/StatusConverter.java index 2e99d5719..88f1db8fa 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/data/converters/enums/StatusConverter.java +++ b/dmp-backend/core/src/main/java/eu/eudat/data/converters/enums/StatusConverter.java @@ -9,14 +9,7 @@ import java.util.Map; @Converter public class StatusConverter extends DatabaseEnumConverter { - private static final Map map; - static { - map = new HashMap<>(); - for (Status v : Status.values()) { - map.put(v.getValue(), v); - } - } public Status of(Integer i) { - return map.get(i); + return Status.of(i); } } diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/EmailConfirmationManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/EmailConfirmationManager.java index 485ddd1b5..e02724e43 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/EmailConfirmationManager.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/EmailConfirmationManager.java @@ -58,7 +58,7 @@ public class EmailConfirmationManager { user.setEmail(loginConfirmationEmail.getEmail()); databaseRepository.getUserInfoDao().createOrUpdate(user); CredentialEntity credential = databaseRepository.getCredentialDao().asQueryable() - .where((builder, root) -> builder.equal(root.get("userInfo"), user)).getSingle(); + .where((builder, root) -> builder.equal(root.get("userId"), user.getId())).getSingle(); if(credential.getEmail() == null){ credential.setEmail(user.getEmail()); databaseRepository.getCredentialDao().createOrUpdate(credential); diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/UserManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/UserManager.java index 7093aa4ac..387a1e2ae 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/UserManager.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/UserManager.java @@ -90,7 +90,7 @@ public class UserManager { public List getCredentials(UUID userId) { List results = new ArrayList<>(); eu.eudat.data.entities.UserInfo user = apiContext.getOperationsContext().getDatabaseRepository().getUserInfoDao().find(userId); - List credentials = apiContext.getOperationsContext().getDatabaseRepository().getCredentialDao().asQueryable().where((builder, root) -> builder.equal(root.get("userInfo"), user)).toList(); + List credentials = apiContext.getOperationsContext().getDatabaseRepository().getCredentialDao().asQueryable().where((builder, root) -> builder.equal(root.get("userId"), user.getId())).toList(); credentials.forEach(credential -> { UserCredential userCredential = new UserCredential(); userCredential.setEmail(credential.getEmail());