RED-8702: Explore document databases to store entityLog

* refactoring
This commit is contained in:
maverickstuder 2024-03-20 11:23:47 +01:00
parent cf98969d38
commit d4c97cd970
3 changed files with 33 additions and 5 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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) {
}
}
}
}