From c338a93d71e9e10d6318ac09471579345744a2b5 Mon Sep 17 00:00:00 2001 From: Thomas Georgios Giannos Date: Mon, 23 Oct 2023 11:16:58 +0300 Subject: [PATCH] Implemented builder and query for DMP entity, refactored services package --- .../main/java/eu/eudat/data/DMPEntity.java | 48 +++- .../src/main/java/eu/eudat/model/DMP.java | 245 ++++++++++++++++++ .../eu/eudat/model/builder/DMPBuilder.java | 63 ++++- .../main/java/eu/eudat/query/DMPQueryV2.java | 205 ++++++++++++++- .../DescriptionTemplateTypeService.java | 2 +- .../DescriptionTemplateTypeServiceImpl.java | 3 +- .../eudat/service/{ => dmp}/DMPService.java | 2 +- .../service/{ => dmp}/DMPServiceImpl.java | 2 +- .../{ => entitydoi}/EntityDoiService.java | 2 +- .../{ => entitydoi}/EntityDoiServiceImpl.java | 11 +- .../main/java/eu/eudat/controllers/Admin.java | 5 +- .../v2/DescriptionTemplateTypeController.java | 2 +- .../controllers/v2/EntityDoiController.java | 2 +- .../eu/eudat/logic/managers/AdminManager.java | 2 +- .../logic/managers/DatasetProfileManager.java | 2 +- 15 files changed, 560 insertions(+), 36 deletions(-) rename dmp-backend/core/src/main/java/eu/eudat/service/{ => descriptiontemplatetype}/DescriptionTemplateTypeService.java (94%) rename dmp-backend/core/src/main/java/eu/eudat/service/{ => descriptiontemplatetype}/DescriptionTemplateTypeServiceImpl.java (98%) rename dmp-backend/core/src/main/java/eu/eudat/service/{ => dmp}/DMPService.java (53%) rename dmp-backend/core/src/main/java/eu/eudat/service/{ => dmp}/DMPServiceImpl.java (65%) rename dmp-backend/core/src/main/java/eu/eudat/service/{ => entitydoi}/EntityDoiService.java (95%) rename dmp-backend/core/src/main/java/eu/eudat/service/{ => entitydoi}/EntityDoiServiceImpl.java (92%) diff --git a/dmp-backend/core/src/main/java/eu/eudat/data/DMPEntity.java b/dmp-backend/core/src/main/java/eu/eudat/data/DMPEntity.java index 5c1451e38..ae3b10bb1 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/data/DMPEntity.java +++ b/dmp-backend/core/src/main/java/eu/eudat/data/DMPEntity.java @@ -87,6 +87,18 @@ public class DMPEntity { public static final String _isActive = "isActive"; + @Column(name = "\"FinalizedAt\"") + @Convert(converter = DateToUTCConverter.class) + private Instant finalizedAt; + + public static final String _finalizedAt = "finalizedAt"; + + @Column(name = "\"PublishedAt\"") + @Convert(converter = DateToUTCConverter.class) + private Instant publishedAt; + + public static final String _publishedAt = "publishedAt"; + //TODO: (thgiannos) Handle using the DMPEntity builder // @OneToMany(mappedBy = "dmp", fetch = FetchType.LAZY) // private Set dataset; @@ -96,6 +108,8 @@ public class DMPEntity { //TODO: (thgiannos) Previously 'Grant' private UUID grant; + public static final String _grant = "grant"; + //TODO: (thgiannos) Handle using the DMPEntity builder // @OneToMany(fetch = FetchType.LAZY, mappedBy = "dmp") // private Set associatedDmps; @@ -105,11 +119,15 @@ public class DMPEntity { //TODO: (thgiannos) Previously 'DMPProfile' private UUID profile; + public static final String _profile = "profile"; + // @ManyToOne(fetch = FetchType.LAZY) // @JoinColumn(name = "\"Creator\"") //TODO: (thgiannos) Previously 'UserInfo' private UUID creator; + public static final String _creator = "creator"; + //TODO: (thgiannos) Handle using the DMPEntity builder // @OneToMany(mappedBy = "entityId", fetch = FetchType.LAZY) // private Set dois; @@ -119,6 +137,8 @@ public class DMPEntity { //TODO: (thgiannos) Previously 'Project' private UUID project; + public static final String _project = "project"; + // TODO: (thgiannos) Implement join entity // @OneToMany(fetch = FetchType.LAZY) // @JoinTable(name = "\"DMPOrganisation\"", @@ -138,14 +158,6 @@ public class DMPEntity { //TODO: (thgiannos) Handle using the DMPEntity builder // private Set users; -// @Column(name = "\"FinalizedAt\"") -// @Convert(converter = DateToUTCConverter.class) -// private Date finalizedAt; -// -// @Column(name = "\"PublishedAt\"") -// @Convert(converter = DateToUTCConverter.class) -// private Date publishedAt; - public UUID getId() { return id; } @@ -210,11 +222,11 @@ public class DMPEntity { this.description = description; } - public boolean getPublic() { + public boolean getIsPublic() { return isPublic; } - public void setPublic(boolean aPublic) { + public void setIsPublic(boolean aPublic) { isPublic = aPublic; } @@ -250,6 +262,22 @@ public class DMPEntity { this.isActive = isActive; } + public Instant getFinalizedAt() { + return finalizedAt; + } + + public void setFinalizedAt(Instant finalizedAt) { + this.finalizedAt = finalizedAt; + } + + public Instant getPublishedAt() { + return publishedAt; + } + + public void setPublishedAt(Instant publishedAt) { + this.publishedAt = publishedAt; + } + public UUID getGrant() { return grant; } diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/DMP.java b/dmp-backend/core/src/main/java/eu/eudat/model/DMP.java index 99ba3b2bd..fdb2e4291 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/model/DMP.java +++ b/dmp-backend/core/src/main/java/eu/eudat/model/DMP.java @@ -1,5 +1,250 @@ package eu.eudat.model; +import eu.eudat.commons.enums.DMPStatus; +import eu.eudat.commons.enums.IsActive; + +import java.time.Instant; +import java.util.UUID; + public class DMP { + private UUID id; + + public static final String _id = "id"; + + private String label; + + public static final String _label = "label"; + + private Integer version; + + public static final String _version = "version"; + + private DMPStatus status; + + public static final String _status = "status"; + + private String properties; + + public static final String _properties = "properties"; + + private String dmpProperties; + + public static final String _dmpProperties = "dmpProperties"; + + private UUID groupId; + + public static final String _groupId = "groupId"; + + private String description; + + public static final String _description = "description"; + + private boolean isPublic; + + public static final String _isPublic = "isPublic"; + + private String extraProperties; + + public static final String _extraProperties = "extraProperties"; + + private Instant createdAt; + + public static final String _createdAt = "createdAt"; + + private Instant updatedAt; + + public static final String _updatedAt = "updatedAt"; + + private IsActive isActive; + + public static final String _isActive = "isActive"; + + private Instant finalizedAt; + + public static final String _finalizedAt = "finalizedAt"; + + private Instant publishedAt; + + public static final String _publishedAt = "publishedAt"; + + private UUID grant; + + public static final String _grant = "grant"; + + private UUID profile; + + public static final String _profile = "profile"; + + private UUID creator; + + public static final String _creator = "creator"; + + private UUID project; + + public static final String _project = "project"; + + public final static String _hash = "hash"; + + private String hash; + + public UUID getId() { + return id; + } + + public void setId(UUID id) { + this.id = id; + } + + public String getLabel() { + return label; + } + + public void setLabel(String label) { + this.label = label; + } + + public Integer getVersion() { + return version; + } + + public void setVersion(Integer version) { + this.version = version; + } + + public DMPStatus getStatus() { + return status; + } + + public void setStatus(DMPStatus status) { + this.status = status; + } + + public String getProperties() { + return properties; + } + + public void setProperties(String properties) { + this.properties = properties; + } + + public String getDmpProperties() { + return dmpProperties; + } + + public void setDmpProperties(String dmpProperties) { + this.dmpProperties = dmpProperties; + } + + public UUID getGroupId() { + return groupId; + } + + public void setGroupId(UUID groupId) { + this.groupId = groupId; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public boolean getIsPublic() { + return isPublic; + } + + public void setIsPublic(boolean aPublic) { + isPublic = aPublic; + } + + public String getExtraProperties() { + return extraProperties; + } + + public void setExtraProperties(String extraProperties) { + this.extraProperties = extraProperties; + } + + public Instant getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Instant createdAt) { + this.createdAt = createdAt; + } + + public Instant getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Instant updatedAt) { + this.updatedAt = updatedAt; + } + + public IsActive getIsActive() { + return isActive; + } + + public void setIsActive(IsActive isActive) { + this.isActive = isActive; + } + + public Instant getFinalizedAt() { + return finalizedAt; + } + + public void setFinalizedAt(Instant finalizedAt) { + this.finalizedAt = finalizedAt; + } + + public Instant getPublishedAt() { + return publishedAt; + } + + public void setPublishedAt(Instant publishedAt) { + this.publishedAt = publishedAt; + } + + public UUID getGrant() { + return grant; + } + + public void setGrant(UUID grant) { + this.grant = grant; + } + + public UUID getProfile() { + return profile; + } + + public void setProfile(UUID profile) { + this.profile = profile; + } + + public UUID getCreator() { + return creator; + } + + public void setCreator(UUID creator) { + this.creator = creator; + } + + public UUID getProject() { + return project; + } + + public void setProject(UUID project) { + this.project = project; + } + + public String getHash() { + return hash; + } + + public void setHash(String hash) { + this.hash = hash; + } } diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/builder/DMPBuilder.java b/dmp-backend/core/src/main/java/eu/eudat/model/builder/DMPBuilder.java index dbf3a8ecd..915334faa 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/model/builder/DMPBuilder.java +++ b/dmp-backend/core/src/main/java/eu/eudat/model/builder/DMPBuilder.java @@ -1,5 +1,66 @@ package eu.eudat.model.builder; -public class DMPBuilder { +import eu.eudat.authorization.AuthorizationFlags; +import eu.eudat.convention.ConventionService; +import eu.eudat.data.DMPEntity; +import eu.eudat.model.DMP; +import gr.cite.tools.exception.MyApplicationException; +import gr.cite.tools.fieldset.FieldSet; +import gr.cite.tools.logging.DataLogEntry; +import gr.cite.tools.logging.LoggerService; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.config.ConfigurableBeanFactory; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Component; + +import java.util.*; + +@Component +@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) +public class DMPBuilder extends BaseBuilder { + + private EnumSet authorize = EnumSet.of(AuthorizationFlags.None); + + @Autowired + public DMPBuilder(ConventionService conventionService) { + super(conventionService, new LoggerService(LoggerFactory.getLogger(DMPBuilder.class))); + } + + public DMPBuilder authorize(EnumSet values) { + this.authorize = values; + return this; + } + + @Override + public List build(FieldSet fields, List data) throws MyApplicationException { + this.logger.debug("building for {} items requesting {} fields", Optional.ofNullable(data).map(List::size).orElse(0), Optional.ofNullable(fields).map(FieldSet::getFields).map(Set::size).orElse(0)); + this.logger.trace(new DataLogEntry("requested fields", fields)); + if (fields == null || data == null || fields.isEmpty()) + return new ArrayList<>(); + List models = new ArrayList<>(); + for (DMPEntity d : data) { + DMP m = new DMP(); + if (fields.hasField(this.asIndexer(DMP._id))) m.setId(d.getId()); + if (fields.hasField(this.asIndexer(DMP._label))) m.setLabel(d.getLabel()); + if (fields.hasField(this.asIndexer(DMP._version))) m.setVersion(d.getVersion()); + if (fields.hasField(this.asIndexer(DMP._status))) m.setStatus(d.getStatus()); + if (fields.hasField(this.asIndexer(DMP._properties))) m.setProperties(d.getProperties()); + if (fields.hasField(this.asIndexer(DMP._dmpProperties))) m.setDmpProperties(d.getDmpProperties()); + if (fields.hasField(this.asIndexer(DMP._groupId))) m.setGroupId(d.getGroupId()); + if (fields.hasField(this.asIndexer(DMP._description))) m.setDescription(d.getDescription()); + if (fields.hasField(this.asIndexer(DMP._isPublic))) m.setIsPublic(d.getIsPublic()); + if (fields.hasField(this.asIndexer(DMP._extraProperties))) m.setExtraProperties(d.getExtraProperties()); + if (fields.hasField(this.asIndexer(DMP._createdAt))) m.setCreatedAt(d.getCreatedAt()); + if (fields.hasField(this.asIndexer(DMP._updatedAt))) m.setUpdatedAt(d.getUpdatedAt()); + if (fields.hasField(this.asIndexer(DMP._isActive))) m.setIsActive(d.getIsActive()); + if (fields.hasField(this.asIndexer(DMP._finalizedAt))) m.setFinalizedAt(d.getFinalizedAt()); + if (fields.hasField(this.asIndexer(DMP._publishedAt))) m.setPublishedAt(d.getPublishedAt()); + if (fields.hasField(this.asIndexer(DMP._hash))) m.setHash(this.hashValue(d.getUpdatedAt())); + models.add(m); + } + this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0)); + return models; + } } diff --git a/dmp-backend/core/src/main/java/eu/eudat/query/DMPQueryV2.java b/dmp-backend/core/src/main/java/eu/eudat/query/DMPQueryV2.java index 920f8e836..3ab189088 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/query/DMPQueryV2.java +++ b/dmp-backend/core/src/main/java/eu/eudat/query/DMPQueryV2.java @@ -1,5 +1,208 @@ package eu.eudat.query; -public class DMPQueryV2 { +import eu.eudat.authorization.AuthorizationFlags; +import eu.eudat.commons.enums.DMPStatus; +import eu.eudat.commons.enums.IsActive; +import eu.eudat.commons.scope.user.UserScope; +import eu.eudat.data.DMPEntity; +import eu.eudat.model.DMP; +import gr.cite.commons.web.authz.service.AuthorizationService; +import gr.cite.tools.data.query.FieldResolver; +import gr.cite.tools.data.query.QueryBase; +import gr.cite.tools.data.query.QueryContext; +import jakarta.persistence.Tuple; +import jakarta.persistence.criteria.CriteriaBuilder; +import jakarta.persistence.criteria.Predicate; +import org.springframework.beans.factory.config.ConfigurableBeanFactory; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Component; + +import java.time.Instant; +import java.util.*; + +@Component +@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) +public class DMPQueryV2 extends QueryBase { + + private String like; + + private Collection ids; + + private Collection isActives; + + private Collection statuses; + + private Collection excludedIds; + + private EnumSet authorize = EnumSet.of(AuthorizationFlags.None); + + private final UserScope userScope; + + private final AuthorizationService authService; + + public DMPQueryV2(UserScope userScope, AuthorizationService authService) { + this.userScope = userScope; + this.authService = authService; + } + + public DMPQueryV2 like(String value) { + this.like = value; + return this; + } + + public DMPQueryV2 ids(UUID value) { + this.ids = List.of(value); + return this; + } + + public DMPQueryV2 ids(UUID... value) { + this.ids = Arrays.asList(value); + return this; + } + + public DMPQueryV2 ids(Collection values) { + this.ids = values; + return this; + } + + public DMPQueryV2 isActive(IsActive value) { + this.isActives = List.of(value); + return this; + } + + public DMPQueryV2 isActive(IsActive... value) { + this.isActives = Arrays.asList(value); + return this; + } + + public DMPQueryV2 isActive(Collection values) { + this.isActives = values; + return this; + } + + public DMPQueryV2 statuses(DMPStatus value) { + this.statuses = List.of(value); + return this; + } + + public DMPQueryV2 statuses(DMPStatus... value) { + this.statuses = Arrays.asList(value); + return this; + } + + public DMPQueryV2 statuses(Collection values) { + this.statuses = values; + return this; + } + + public DMPQueryV2 excludedIds(Collection values) { + this.excludedIds = values; + return this; + } + + public DMPQueryV2 excludedIds(UUID value) { + this.excludedIds = List.of(value); + return this; + } + + public DMPQueryV2 excludedIds(UUID... value) { + this.excludedIds = Arrays.asList(value); + return this; + } + + public DMPQueryV2 authorize(EnumSet values) { + this.authorize = values; + return this; + } + + @Override + protected Boolean isFalseQuery() { + return this.isEmpty(this.ids) || this.isEmpty(this.isActives) || this.isEmpty(this.excludedIds) || this.isEmpty(this.statuses); + } + + @Override + protected Class entityClass() { + return DMPEntity.class; + } + + @Override + protected Predicate applyFilters(QueryContext queryContext) { + List predicates = new ArrayList<>(); + if (this.ids != null) { + CriteriaBuilder.In inClause = queryContext.CriteriaBuilder.in(queryContext.Root.get(DMPEntity._id)); + for (UUID item : this.ids) + inClause.value(item); + predicates.add(inClause); + } + if (this.like != null && !this.like.isEmpty()) { + predicates.add(queryContext.CriteriaBuilder.like(queryContext.Root.get(DMPEntity._label), this.like)); + } + if (this.isActives != null) { + CriteriaBuilder.In inClause = queryContext.CriteriaBuilder.in(queryContext.Root.get(DMPEntity._isActive)); + for (IsActive item : this.isActives) + inClause.value(item); + predicates.add(inClause); + } + + if (this.statuses != null) { + CriteriaBuilder.In inClause = queryContext.CriteriaBuilder.in(queryContext.Root.get(DMPEntity._status)); + for (DMPStatus item : this.statuses) + inClause.value(item); + predicates.add(inClause); + } + if (this.excludedIds != null) { + CriteriaBuilder.In notInClause = queryContext.CriteriaBuilder.in(queryContext.Root.get(DMPEntity._id)); + for (UUID item : this.excludedIds) + notInClause.value(item); + predicates.add(notInClause.not()); + } + if (!predicates.isEmpty()) { + Predicate[] predicatesArray = predicates.toArray(new Predicate[0]); + return queryContext.CriteriaBuilder.and(predicatesArray); + } else { + return null; + } + } + + @Override + protected String fieldNameOf(FieldResolver item) { + if (item.match(DMP._id)) return DMPEntity._id; + else if (item.match(DMP._label)) return DMPEntity._label; + else if (item.match(DMP._version)) return DMPEntity._version; + else if (item.match(DMP._status)) return DMPEntity._status; + else if (item.match(DMP._properties)) return DMPEntity._properties; + else if (item.match(DMP._dmpProperties)) return DMPEntity._dmpProperties; + else if (item.match(DMP._groupId)) return DMPEntity._groupId; + else if (item.match(DMP._description)) return DMPEntity._description; + else if (item.match(DMP._isPublic)) return DMPEntity._isPublic; + else if (item.match(DMP._extraProperties)) return DMPEntity._extraProperties; + else if (item.match(DMP._createdAt)) return DMPEntity._createdAt; + else if (item.match(DMP._updatedAt)) return DMPEntity._updatedAt; + else if (item.match(DMP._isActive)) return DMPEntity._isActive; + else if (item.match(DMP._finalizedAt)) return DMPEntity._finalizedAt; + else if (item.match(DMP._publishedAt)) return DMPEntity._publishedAt; + else return null; + } + + @Override + protected DMPEntity convert(Tuple tuple, Set columns) { + DMPEntity item = new DMPEntity(); + item.setId(QueryBase.convertSafe(tuple, columns, DMPEntity._id, UUID.class)); + item.setLabel(QueryBase.convertSafe(tuple, columns, DMPEntity._label, String.class)); + item.setVersion(QueryBase.convertSafe(tuple, columns, DMPEntity._version, Integer.class)); + item.setStatus(QueryBase.convertSafe(tuple, columns, DMPEntity._status, DMPStatus.class)); + item.setProperties(QueryBase.convertSafe(tuple, columns, DMPEntity._properties, String.class)); + item.setDmpProperties(QueryBase.convertSafe(tuple, columns, DMPEntity._dmpProperties, String.class)); + item.setGroupId(QueryBase.convertSafe(tuple, columns, DMPEntity._groupId, UUID.class)); + item.setDescription(QueryBase.convertSafe(tuple, columns, DMPEntity._description, String.class)); + item.setIsPublic(QueryBase.convertSafe(tuple, columns, DMPEntity._isPublic, Boolean.class)); + item.setExtraProperties(QueryBase.convertSafe(tuple, columns, DMPEntity._extraProperties, String.class)); + item.setCreatedAt(QueryBase.convertSafe(tuple, columns, DMPEntity._createdAt, Instant.class)); + item.setUpdatedAt(QueryBase.convertSafe(tuple, columns, DMPEntity._updatedAt, Instant.class)); + item.setIsActive(QueryBase.convertSafe(tuple, columns, DMPEntity._isActive, IsActive.class)); + item.setFinalizedAt(QueryBase.convertSafe(tuple, columns, DMPEntity._finalizedAt, Instant.class)); + item.setPublishedAt(QueryBase.convertSafe(tuple, columns, DMPEntity._publishedAt, Instant.class)); + return item; + } } diff --git a/dmp-backend/core/src/main/java/eu/eudat/service/DescriptionTemplateTypeService.java b/dmp-backend/core/src/main/java/eu/eudat/service/descriptiontemplatetype/DescriptionTemplateTypeService.java similarity index 94% rename from dmp-backend/core/src/main/java/eu/eudat/service/DescriptionTemplateTypeService.java rename to dmp-backend/core/src/main/java/eu/eudat/service/descriptiontemplatetype/DescriptionTemplateTypeService.java index a95a300d1..6746ff861 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/service/DescriptionTemplateTypeService.java +++ b/dmp-backend/core/src/main/java/eu/eudat/service/descriptiontemplatetype/DescriptionTemplateTypeService.java @@ -1,4 +1,4 @@ -package eu.eudat.service; +package eu.eudat.service.descriptiontemplatetype; import eu.eudat.model.DescriptionTemplateType; import eu.eudat.model.persist.DescriptionTemplateTypePersist; diff --git a/dmp-backend/core/src/main/java/eu/eudat/service/DescriptionTemplateTypeServiceImpl.java b/dmp-backend/core/src/main/java/eu/eudat/service/descriptiontemplatetype/DescriptionTemplateTypeServiceImpl.java similarity index 98% rename from dmp-backend/core/src/main/java/eu/eudat/service/DescriptionTemplateTypeServiceImpl.java rename to dmp-backend/core/src/main/java/eu/eudat/service/descriptiontemplatetype/DescriptionTemplateTypeServiceImpl.java index ee142e740..4a708c62c 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/service/DescriptionTemplateTypeServiceImpl.java +++ b/dmp-backend/core/src/main/java/eu/eudat/service/descriptiontemplatetype/DescriptionTemplateTypeServiceImpl.java @@ -1,4 +1,4 @@ -package eu.eudat.service; +package eu.eudat.service.descriptiontemplatetype; import eu.eudat.authorization.AuthorizationFlags; import eu.eudat.authorization.Permission; @@ -31,7 +31,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.MessageSource; import org.springframework.context.i18n.LocaleContextHolder; import org.springframework.stereotype.Service; -import org.springframework.web.context.annotation.RequestScope; import javax.management.InvalidApplicationException; import java.time.Instant; diff --git a/dmp-backend/core/src/main/java/eu/eudat/service/DMPService.java b/dmp-backend/core/src/main/java/eu/eudat/service/dmp/DMPService.java similarity index 53% rename from dmp-backend/core/src/main/java/eu/eudat/service/DMPService.java rename to dmp-backend/core/src/main/java/eu/eudat/service/dmp/DMPService.java index 48028049c..eff3f53d0 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/service/DMPService.java +++ b/dmp-backend/core/src/main/java/eu/eudat/service/dmp/DMPService.java @@ -1,4 +1,4 @@ -package eu.eudat.service; +package eu.eudat.service.dmp; public interface DMPService { diff --git a/dmp-backend/core/src/main/java/eu/eudat/service/DMPServiceImpl.java b/dmp-backend/core/src/main/java/eu/eudat/service/dmp/DMPServiceImpl.java similarity index 65% rename from dmp-backend/core/src/main/java/eu/eudat/service/DMPServiceImpl.java rename to dmp-backend/core/src/main/java/eu/eudat/service/dmp/DMPServiceImpl.java index 0d687e17f..a11185a29 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/service/DMPServiceImpl.java +++ b/dmp-backend/core/src/main/java/eu/eudat/service/dmp/DMPServiceImpl.java @@ -1,4 +1,4 @@ -package eu.eudat.service; +package eu.eudat.service.dmp; public class DMPServiceImpl implements DMPService { diff --git a/dmp-backend/core/src/main/java/eu/eudat/service/EntityDoiService.java b/dmp-backend/core/src/main/java/eu/eudat/service/entitydoi/EntityDoiService.java similarity index 95% rename from dmp-backend/core/src/main/java/eu/eudat/service/EntityDoiService.java rename to dmp-backend/core/src/main/java/eu/eudat/service/entitydoi/EntityDoiService.java index df6211d19..ec66db9b7 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/service/EntityDoiService.java +++ b/dmp-backend/core/src/main/java/eu/eudat/service/entitydoi/EntityDoiService.java @@ -1,4 +1,4 @@ -package eu.eudat.service; +package eu.eudat.service.entitydoi; import eu.eudat.model.DescriptionTemplateType; import eu.eudat.model.EntityDoi; diff --git a/dmp-backend/core/src/main/java/eu/eudat/service/EntityDoiServiceImpl.java b/dmp-backend/core/src/main/java/eu/eudat/service/entitydoi/EntityDoiServiceImpl.java similarity index 92% rename from dmp-backend/core/src/main/java/eu/eudat/service/EntityDoiServiceImpl.java rename to dmp-backend/core/src/main/java/eu/eudat/service/entitydoi/EntityDoiServiceImpl.java index a9c503b7b..b0ad765f3 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/service/EntityDoiServiceImpl.java +++ b/dmp-backend/core/src/main/java/eu/eudat/service/entitydoi/EntityDoiServiceImpl.java @@ -1,4 +1,4 @@ -package eu.eudat.service; +package eu.eudat.service.entitydoi; import eu.eudat.authorization.AuthorizationFlags; import eu.eudat.authorization.Permission; @@ -6,20 +6,14 @@ import eu.eudat.commons.JsonHandlingService; import eu.eudat.commons.enums.EntityType; import eu.eudat.commons.enums.IsActive; import eu.eudat.convention.ConventionService; -import eu.eudat.data.DescriptionTemplateTypeEntity; import eu.eudat.data.EntityDoiEntity; import eu.eudat.data.old.DMP; import eu.eudat.errorcode.ErrorThesaurusProperties; -import eu.eudat.event.DescriptionTemplateTypeTouchedEvent; import eu.eudat.event.EntityDoiTouchedEvent; import eu.eudat.event.EventBroker; -import eu.eudat.model.DescriptionTemplateType; import eu.eudat.model.EntityDoi; -import eu.eudat.model.builder.DescriptionTemplateTypeBuilder; import eu.eudat.model.builder.EntityDoiBuilder; -import eu.eudat.model.deleter.DescriptionTemplateTypeDeleter; import eu.eudat.model.deleter.EntityDoiDeleter; -import eu.eudat.model.persist.DescriptionTemplateTypePersist; import eu.eudat.model.persist.EntityDoiPersist; import gr.cite.commons.web.authz.service.AuthorizationService; import gr.cite.tools.data.builder.BuilderFactory; @@ -38,14 +32,11 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.MessageSource; import org.springframework.context.i18n.LocaleContextHolder; -import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; import javax.management.InvalidApplicationException; import java.time.Instant; -import java.util.Date; import java.util.List; -import java.util.Set; import java.util.UUID; @Service diff --git a/dmp-backend/web/src/main/java/eu/eudat/controllers/Admin.java b/dmp-backend/web/src/main/java/eu/eudat/controllers/Admin.java index dfee6159a..cc1a64aff 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/controllers/Admin.java +++ b/dmp-backend/web/src/main/java/eu/eudat/controllers/Admin.java @@ -19,7 +19,7 @@ import eu.eudat.models.data.datasetprofile.DatasetProfileListingModel; import eu.eudat.models.data.helpers.common.DataTableData; import eu.eudat.models.data.helpers.responses.ResponseItem; import eu.eudat.models.data.user.composite.PagedDatasetProfile; -import eu.eudat.service.DescriptionTemplateTypeService; +import eu.eudat.service.descriptiontemplatetype.DescriptionTemplateTypeService; import eu.eudat.types.ApiMessageCode; import eu.eudat.types.MetricNames; import gr.cite.commons.web.authz.service.AuthorizationService; @@ -37,9 +37,6 @@ import java.io.IOException; import java.util.List; import java.util.UUID; -import static eu.eudat.types.Authorities.ADMIN; -import static eu.eudat.types.Authorities.DATASET_PROFILE_MANAGER; - @RestController @CrossOrigin @RequestMapping(value = {"/api/admin/"}) diff --git a/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/DescriptionTemplateTypeController.java b/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/DescriptionTemplateTypeController.java index 816f97b63..32909dd7c 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/DescriptionTemplateTypeController.java +++ b/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/DescriptionTemplateTypeController.java @@ -10,7 +10,7 @@ import eu.eudat.model.persist.DescriptionTemplateTypePersist; import eu.eudat.model.result.QueryResult; import eu.eudat.query.DescriptionTemplateTypeQuery; import eu.eudat.query.lookup.DescriptionTemplateTypeLookup; -import eu.eudat.service.DescriptionTemplateTypeService; +import eu.eudat.service.descriptiontemplatetype.DescriptionTemplateTypeService; import gr.cite.tools.auditing.AuditService; import gr.cite.tools.data.builder.BuilderFactory; import gr.cite.tools.data.censor.CensorFactory; diff --git a/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/EntityDoiController.java b/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/EntityDoiController.java index 812c23565..2a98d253b 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/EntityDoiController.java +++ b/dmp-backend/web/src/main/java/eu/eudat/controllers/v2/EntityDoiController.java @@ -11,7 +11,7 @@ import eu.eudat.model.persist.EntityDoiPersist; import eu.eudat.model.result.QueryResult; import eu.eudat.query.EntityDoiQuery; import eu.eudat.query.lookup.EntityDoiLookup; -import eu.eudat.service.EntityDoiService; +import eu.eudat.service.entitydoi.EntityDoiService; import gr.cite.tools.auditing.AuditService; import gr.cite.tools.data.builder.BuilderFactory; import gr.cite.tools.data.censor.CensorFactory; diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/AdminManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/AdminManager.java index da8bf7ebd..6e27751d8 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/AdminManager.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/AdminManager.java @@ -11,7 +11,7 @@ import eu.eudat.models.data.admin.composite.DatasetProfile; import eu.eudat.logic.services.ApiContext; import eu.eudat.logic.utilities.builders.ModelBuilder; import eu.eudat.commons.types.xml.XmlBuilder; -import eu.eudat.service.DescriptionTemplateTypeService; +import eu.eudat.service.descriptiontemplatetype.DescriptionTemplateTypeService; import org.w3c.dom.Document; import org.w3c.dom.Element; diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetProfileManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetProfileManager.java index 703d8be11..5ac8c8c5f 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetProfileManager.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetProfileManager.java @@ -29,7 +29,7 @@ import eu.eudat.models.data.helpers.common.DataTableData; import eu.eudat.models.data.listingmodels.UserInfoListingModel; import eu.eudat.models.data.mail.SimpleMail; import eu.eudat.queryable.QueryableList; -import eu.eudat.service.DescriptionTemplateTypeService; +import eu.eudat.service.descriptiontemplatetype.DescriptionTemplateTypeService; import eu.eudat.types.MetricNames; import gr.cite.commons.web.authz.service.AuthorizationService; import org.slf4j.Logger;