From d844d3539263950878122c251a2db962b0e9be7f Mon Sep 17 00:00:00 2001 From: Thomas Georgios Giannos Date: Fri, 8 Mar 2024 17:38:03 +0200 Subject: [PATCH] Solving issues with Annotation persist --- .../model/builder/AnnotationBuilder.java | 2 +- .../model/persist/AnnotationPersist.java | 36 +------------------ .../annotation/AnnotationServiceImpl.java | 11 +++++- .../core/model/annotation.model.ts | 5 ++- 4 files changed, 14 insertions(+), 40 deletions(-) diff --git a/annotation-service/annotation/src/main/java/gr/cite/annotation/model/builder/AnnotationBuilder.java b/annotation-service/annotation/src/main/java/gr/cite/annotation/model/builder/AnnotationBuilder.java index 2313b55ee..14a677823 100644 --- a/annotation-service/annotation/src/main/java/gr/cite/annotation/model/builder/AnnotationBuilder.java +++ b/annotation-service/annotation/src/main/java/gr/cite/annotation/model/builder/AnnotationBuilder.java @@ -21,7 +21,7 @@ public class AnnotationBuilder extends BaseBuilder private EnumSet authorize = EnumSet.of(AuthorizationFlags.None); - public AnnotationBuilder(ConventionService conventionService, LoggerService logger) { + public AnnotationBuilder(ConventionService conventionService) { super(conventionService, new LoggerService(LoggerFactory.getLogger(AnnotationBuilder.class))); } diff --git a/annotation-service/annotation/src/main/java/gr/cite/annotation/model/persist/AnnotationPersist.java b/annotation-service/annotation/src/main/java/gr/cite/annotation/model/persist/AnnotationPersist.java index acbb5e0e2..ed0b7985f 100644 --- a/annotation-service/annotation/src/main/java/gr/cite/annotation/model/persist/AnnotationPersist.java +++ b/annotation-service/annotation/src/main/java/gr/cite/annotation/model/persist/AnnotationPersist.java @@ -18,10 +18,6 @@ import java.util.UUID; public class AnnotationPersist { - private UUID subjectId; - - public static final String _subjectId = "subjectId"; - private UUID entityId; public static final String _entityId = "entityId"; @@ -50,18 +46,6 @@ public class AnnotationPersist { public static final String _protectionType = "protectionType"; - private Instant timeStamp; - - public static final String _timeStamp = "timeStamp"; - - public UUID getSubjectId() { - return subjectId; - } - - public void setSubjectId(UUID subjectId) { - this.subjectId = subjectId; - } - public UUID getEntityId() { return entityId; } @@ -118,14 +102,6 @@ public class AnnotationPersist { this.protectionType = protectionType; } - public Instant getTimeStamp() { - return timeStamp; - } - - public void setTimeStamp(Instant timeStamp) { - this.timeStamp = timeStamp; - } - @Component(AnnotationPersistValidator.ValidatorName) @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE) public static class AnnotationPersistValidator extends BaseValidator { @@ -147,13 +123,6 @@ public class AnnotationPersist { @Override protected List specifications(AnnotationPersist item) { return Arrays.asList( - this.spec() - .must(() -> !this.isNull(item.getSubjectId())) - .failOn(AnnotationPersist._subjectId).failWith(messageSource.getMessage("Validation_Required", new Object[]{AnnotationPersist._subjectId}, LocaleContextHolder.getLocale())), - this.spec() - .iff(() -> !this.isNull(item.getSubjectId())) - .must(() -> this.isValidGuid(item.getSubjectId())) - .failOn(AnnotationPersist._subjectId).failWith(messageSource.getMessage("Validation_Required", new Object[]{AnnotationPersist._subjectId}, LocaleContextHolder.getLocale())), this.spec() .must(() -> !this.isNull(item.getEntityId())) .failOn(AnnotationPersist._entityId).failWith(messageSource.getMessage("Validation_Required", new Object[]{AnnotationPersist._entityId}, LocaleContextHolder.getLocale())), @@ -177,10 +146,7 @@ public class AnnotationPersist { .failOn(AnnotationPersist._parentId).failWith(messageSource.getMessage("Validation_UnexpectedValue", new Object[]{AnnotationPersist._parentId}, LocaleContextHolder.getLocale())), this.spec() .must(() -> !this.isNull(item.getProtectionType())) - .failOn(AnnotationPersist._protectionType).failWith(messageSource.getMessage("Validation_Required", new Object[]{AnnotationPersist._protectionType}, LocaleContextHolder.getLocale())), - this.spec() - .must(() -> !this.isNull(item.getTimeStamp())) - .failOn(AnnotationPersist._timeStamp).failWith(messageSource.getMessage("Validation_Required", new Object[]{AnnotationPersist._timeStamp}, LocaleContextHolder.getLocale())) + .failOn(AnnotationPersist._protectionType).failWith(messageSource.getMessage("Validation_Required", new Object[]{AnnotationPersist._protectionType}, LocaleContextHolder.getLocale())) ); } } diff --git a/annotation-service/annotation/src/main/java/gr/cite/annotation/service/annotation/AnnotationServiceImpl.java b/annotation-service/annotation/src/main/java/gr/cite/annotation/service/annotation/AnnotationServiceImpl.java index e67af4c85..1ac337243 100644 --- a/annotation-service/annotation/src/main/java/gr/cite/annotation/service/annotation/AnnotationServiceImpl.java +++ b/annotation-service/annotation/src/main/java/gr/cite/annotation/service/annotation/AnnotationServiceImpl.java @@ -3,6 +3,7 @@ package gr.cite.annotation.service.annotation; import gr.cite.annotation.authorization.AuthorizationFlags; import gr.cite.annotation.authorization.Permission; import gr.cite.annotation.common.enums.IsActive; +import gr.cite.annotation.common.scope.user.UserScope; import gr.cite.annotation.data.AnnotationEntity; import gr.cite.annotation.model.Annotation; import gr.cite.annotation.model.builder.AnnotationBuilder; @@ -43,15 +44,18 @@ public class AnnotationServiceImpl implements AnnotationService { private final BuilderFactory builderFactory; + private final UserScope userScope; + public AnnotationServiceImpl( AuthorizationService authorizationService, DeleterFactory deleterFactory, EntityManager entityManager, - BuilderFactory builderFactory) { + BuilderFactory builderFactory, UserScope userScope) { this.authorizationService = authorizationService; this.deleterFactory = deleterFactory; this.entityManager = entityManager; this.builderFactory = builderFactory; + this.userScope = userScope; } @Override @@ -63,10 +67,15 @@ public class AnnotationServiceImpl implements AnnotationService { AnnotationEntity data = new AnnotationEntity(); data.setId(UUID.randomUUID()); + data.setSubjectId(userScope.getUserIdSafe()); data.setEntityId(model.getEntityId()); data.setEntityType(model.getEntityType()); data.setAnchor(model.getAnchor()); data.setPayload(model.getPayload()); + data.setThreadId(model.getThreadId()); + data.setParentId(model.getParentId()); + data.setProtectionType(model.getProtectionType()); + data.setTimeStamp(Instant.now()); data.setCreatedAt(Instant.now()); data.setUpdatedAt(Instant.now()); data.setIsActive(IsActive.Active); diff --git a/dmp-frontend/src/annotation-service/core/model/annotation.model.ts b/dmp-frontend/src/annotation-service/core/model/annotation.model.ts index f61a3763a..8c868f66c 100644 --- a/dmp-frontend/src/annotation-service/core/model/annotation.model.ts +++ b/dmp-frontend/src/annotation-service/core/model/annotation.model.ts @@ -12,16 +12,15 @@ export interface Annotation extends BaseEntity { author: User; threadId: Guid; parent: Annotation; - protection: AnnotationProtectionType; + protectionType: AnnotationProtectionType; } export interface AnnotationPersist extends BaseEntityPersist { - subjectId: Guid; entityId: Guid; entityType: string; anchor: string; payload: string; threadId?: Guid; parentId?: Guid; - protection: AnnotationProtectionType; + protectionType: AnnotationProtectionType; } \ No newline at end of file