From d4c97cd9708eda02da1f656ad671ffa7fe2b4d21 Mon Sep 17 00:00:00 2001 From: maverickstuder Date: Wed, 20 Mar 2024 11:23:47 +0100 Subject: [PATCH] RED-8702: Explore document databases to store entityLog * refactoring --- .../processor/document/EntityLogDocument.java | 4 +-- .../document/EntityLogEntryDocument.java | 6 ++-- .../processor/utils/ObjectConverterUtils.java | 28 +++++++++++++++++++ 3 files changed, 33 insertions(+), 5 deletions(-) create mode 100644 persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/ObjectConverterUtils.java diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/document/EntityLogDocument.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/document/EntityLogDocument.java index 48ebf6651..6f9c9760c 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/document/EntityLogDocument.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/document/EntityLogDocument.java @@ -7,9 +7,9 @@ import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.mapping.DBRef; import org.springframework.data.mongodb.core.mapping.Document; +import com.iqser.red.service.persistence.management.v1.processor.utils.ObjectConverterUtils; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.EntityLog; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.EntityLogLegalBasis; -import com.knecon.fforesight.databasetenantcommons.providers.utils.MagicConverter; import lombok.AllArgsConstructor; import lombok.EqualsAndHashCode; @@ -51,7 +51,7 @@ public class EntityLogDocument { public EntityLogDocument(String dossierId, String fileId, EntityLog entityLog) { - MagicConverter.copyAllFields(entityLog, this); + ObjectConverterUtils.copyAllFields(entityLog, this); this.id = getDocumentId(dossierId, fileId); this.dossierId = dossierId; this.fileId = fileId; diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/document/EntityLogEntryDocument.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/document/EntityLogEntryDocument.java index aa20ebd04..877fc35a2 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/document/EntityLogEntryDocument.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/document/EntityLogEntryDocument.java @@ -1,5 +1,7 @@ package com.iqser.red.service.persistence.management.v1.processor.document; +import static com.iqser.red.service.persistence.management.v1.processor.utils.ObjectConverterUtils.copyAllFields; + import java.util.ArrayList; import java.util.HashSet; import java.util.List; @@ -8,7 +10,6 @@ import java.util.Set; import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.mapping.Document; -import com.fasterxml.jackson.databind.ObjectMapper; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.Change; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.Engine; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.EntityLogEntry; @@ -16,7 +17,6 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.EntryType; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.ManualChange; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.Position; -import com.knecon.fforesight.databasetenantcommons.providers.utils.MagicConverter; import lombok.AccessLevel; import lombok.AllArgsConstructor; @@ -83,7 +83,7 @@ public class EntityLogEntryDocument { public EntityLogEntryDocument(String entityLogId, EntityLogEntry entityLogEntry) { - MagicConverter.copyAllFields(entityLogEntry, this); + copyAllFields(entityLogEntry, this); this.id = entityLogId + "/" + entityLogEntry.getId(); this.entryId = entityLogEntry.getId(); this.entityLogId = entityLogId; diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/ObjectConverterUtils.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/ObjectConverterUtils.java new file mode 100644 index 000000000..33d96e4e4 --- /dev/null +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/utils/ObjectConverterUtils.java @@ -0,0 +1,28 @@ +package com.iqser.red.service.persistence.management.v1.processor.utils; + +import java.lang.reflect.Field; + +public class ObjectConverterUtils { + + public static void copyAllFields(Object source, Object target) { + Class sourceClass = source.getClass(); + Class targetClass = target.getClass(); + Field[] sourceFields = sourceClass.getDeclaredFields(); + Field[] var5 = sourceFields; + int var6 = sourceFields.length; + + for(int var7 = 0; var7 < var6; ++var7) { + Field field = var5[var7]; + + try { + Field targetField = targetClass.getDeclaredField(field.getName()); + field.setAccessible(true); + targetField.setAccessible(true); + targetField.set(target, field.get(source)); + } catch (IllegalAccessException | NoSuchFieldException var10) { + } + } + + } + +}