diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/enums/DMPStatus.java b/dmp-backend/core/src/main/java/eu/eudat/commons/enums/DMPStatus.java new file mode 100644 index 000000000..7fe183aad --- /dev/null +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/enums/DMPStatus.java @@ -0,0 +1,29 @@ +package eu.eudat.commons.enums; + +import eu.eudat.data.converters.enums.DatabaseEnum; + +import java.util.Map; + +public enum DMPStatus implements DatabaseEnum { + + ACTIVE((short) 0), FINALISED((short) 1),DELETED((short) 99); + + private final Short value; + + DMPStatus(Short value) { + this.value = value; + } + + @Override + public Short getValue() { + return null; + } + + private static final Map map = EnumUtils.getEnumValueMap(DMPStatus.class); + + public static DMPStatus of(Short i) { + return map.get(i); + } + + +} 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 new file mode 100644 index 000000000..5c1451e38 --- /dev/null +++ b/dmp-backend/core/src/main/java/eu/eudat/data/DMPEntity.java @@ -0,0 +1,285 @@ +package eu.eudat.data; + +import eu.eudat.commons.enums.DMPStatus; +import eu.eudat.commons.enums.IsActive; +import eu.eudat.data.converters.DateToUTCConverter; +import eu.eudat.data.converters.enums.IsActiveConverter; +import jakarta.persistence.*; +import org.hibernate.annotations.GenericGenerator; + +import java.time.Instant; +import java.util.UUID; + +//TODO: (thgiannos) Wire up when all other dependent entities are refactored +//@Entity +//@Table(name = "\"DMP\"") +public class DMPEntity { + + @Id + @GeneratedValue + @GenericGenerator(name = "uuid2", strategy = "uuid2") + @Column(name = "id", updatable = false, nullable = false, columnDefinition = "BINARY(16)") + private UUID id; + + public static final String _id = "id"; + + @Column(name = "label") + private String label; + + public static final String _label = "label"; + + @Column(name = "version") + private Integer version; + + public static final String _version = "version"; + + @Enumerated(EnumType.STRING) + @Column(name = "status", nullable = false) + private DMPStatus status; + + public static final String _status = "status"; + + @Column(name = "properties") + private String properties; + + public static final String _properties = "properties"; + + @Column(name = "dmp_properties") + private String dmpProperties; + + public static final String _dmpProperties = "dmpProperties"; + + @Column(name = "group_id", columnDefinition = "BINARY(16)") + private UUID groupId; + + public static final String _groupId = "groupId"; + + @Column(name = "description") + private String description; + + public static final String _description = "description"; + + @Column(name = "is_public", nullable = false) + private boolean isPublic; + + public static final String _isPublic = "isPublic"; + + @Column(name = "extra_properties") + private String extraProperties; + + public static final String _extraProperties = "extraProperties"; + + @Column(name = "created_at") + @Convert(converter = DateToUTCConverter.class) + private Instant createdAt; + + public static final String _createdAt = "createdAt"; + + @Column(name = "updated_at") + @Convert(converter = DateToUTCConverter.class) + private Instant updatedAt; + + public static final String _updatedAt = "updatedAt"; + + @Column(name = "is_active", nullable = false) + @Convert(converter = IsActiveConverter.class) + private IsActive isActive; + + public static final String _isActive = "isActive"; + + //TODO: (thgiannos) Handle using the DMPEntity builder +// @OneToMany(mappedBy = "dmp", fetch = FetchType.LAZY) +// private Set dataset; + + // @ManyToOne(fetch = FetchType.LAZY) +// @JoinColumn(name = "\"Grant\"") + //TODO: (thgiannos) Previously 'Grant' + private UUID grant; + + //TODO: (thgiannos) Handle using the DMPEntity builder +// @OneToMany(fetch = FetchType.LAZY, mappedBy = "dmp") +// private Set associatedDmps; + + // @ManyToOne(fetch = FetchType.LAZY) +// @JoinColumn(name = "\"Profile\"") + //TODO: (thgiannos) Previously 'DMPProfile' + private UUID profile; + + // @ManyToOne(fetch = FetchType.LAZY) +// @JoinColumn(name = "\"Creator\"") + //TODO: (thgiannos) Previously 'UserInfo' + private UUID creator; + + //TODO: (thgiannos) Handle using the DMPEntity builder +// @OneToMany(mappedBy = "entityId", fetch = FetchType.LAZY) +// private Set dois; + + // @ManyToOne(fetch = FetchType.LAZY) +// @JoinColumn(name = "\"Project\"") + //TODO: (thgiannos) Previously 'Project' + private UUID project; + + // TODO: (thgiannos) Implement join entity +// @OneToMany(fetch = FetchType.LAZY) +// @JoinTable(name = "\"DMPOrganisation\"", +// joinColumns = {@JoinColumn(name = "\"DMP\"", referencedColumnName = "\"ID\"")}, +// inverseJoinColumns = {@JoinColumn(name = "\"Organisation\"", referencedColumnName = "\"ID\"")} +// ) +// private Set organisations; + + // TODO: (thgiannos) Implement join entity +// @OneToMany(fetch = FetchType.LAZY) +// @JoinTable(name = "\"DMPResearcher\"", +// joinColumns = {@JoinColumn(name = "\"DMP\"", referencedColumnName = "\"ID\"")}, +// inverseJoinColumns = {@JoinColumn(name = "\"Researcher\"", referencedColumnName = "\"ID\"")} +// ) +// private Set researchers; + + //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; + } + + 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 getPublic() { + return isPublic; + } + + public void setPublic(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 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; + } + +} diff --git a/dmp-backend/core/src/main/java/eu/eudat/data/converters/enums/DMPStatusConverter.java b/dmp-backend/core/src/main/java/eu/eudat/data/converters/enums/DMPStatusConverter.java new file mode 100644 index 000000000..e55a52728 --- /dev/null +++ b/dmp-backend/core/src/main/java/eu/eudat/data/converters/enums/DMPStatusConverter.java @@ -0,0 +1,14 @@ +package eu.eudat.data.converters.enums; + +import eu.eudat.commons.enums.DMPStatus; +import jakarta.persistence.Converter; + +@Converter +public class DMPStatusConverter extends DatabaseEnumConverter { + + @Override + protected DMPStatus of(Short i) { + return DMPStatus.of(i); + } + +} diff --git a/dmp-backend/core/src/main/java/eu/eudat/data/old/DMP.java b/dmp-backend/core/src/main/java/eu/eudat/data/old/DMP.java index cf1c768f6..f11b96f13 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/data/old/DMP.java +++ b/dmp-backend/core/src/main/java/eu/eudat/data/old/DMP.java @@ -341,7 +341,6 @@ public class DMP implements DataEntity { this.publishedAt = publishedAt; } - //TODO: Dois will no longer be fetched by hibernate but using the query builders eventually. Use builder where this is called. public Set getDois() { return dois; } 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 new file mode 100644 index 000000000..99ba3b2bd --- /dev/null +++ b/dmp-backend/core/src/main/java/eu/eudat/model/DMP.java @@ -0,0 +1,5 @@ +package eu.eudat.model; + +public class DMP { + +} 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 new file mode 100644 index 000000000..dbf3a8ecd --- /dev/null +++ b/dmp-backend/core/src/main/java/eu/eudat/model/builder/DMPBuilder.java @@ -0,0 +1,5 @@ +package eu.eudat.model.builder; + +public class DMPBuilder { + +} diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/censorship/DMPCensor.java b/dmp-backend/core/src/main/java/eu/eudat/model/censorship/DMPCensor.java new file mode 100644 index 000000000..03a0377bb --- /dev/null +++ b/dmp-backend/core/src/main/java/eu/eudat/model/censorship/DMPCensor.java @@ -0,0 +1,5 @@ +package eu.eudat.model.censorship; + +public class DMPCensor { + +} diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/deleter/DMPDeleter.java b/dmp-backend/core/src/main/java/eu/eudat/model/deleter/DMPDeleter.java new file mode 100644 index 000000000..a328d55a5 --- /dev/null +++ b/dmp-backend/core/src/main/java/eu/eudat/model/deleter/DMPDeleter.java @@ -0,0 +1,5 @@ +package eu.eudat.model.deleter; + +public class DMPDeleter { + +} diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/persist/DMPPersist.java b/dmp-backend/core/src/main/java/eu/eudat/model/persist/DMPPersist.java new file mode 100644 index 000000000..8094758b8 --- /dev/null +++ b/dmp-backend/core/src/main/java/eu/eudat/model/persist/DMPPersist.java @@ -0,0 +1,5 @@ +package eu.eudat.model.persist; + +public class DMPPersist { + +} 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 new file mode 100644 index 000000000..920f8e836 --- /dev/null +++ b/dmp-backend/core/src/main/java/eu/eudat/query/DMPQueryV2.java @@ -0,0 +1,5 @@ +package eu.eudat.query; + +public class DMPQueryV2 { + +} diff --git a/dmp-backend/core/src/main/java/eu/eudat/query/lookup/DMPLookup.java b/dmp-backend/core/src/main/java/eu/eudat/query/lookup/DMPLookup.java new file mode 100644 index 000000000..74b1202e1 --- /dev/null +++ b/dmp-backend/core/src/main/java/eu/eudat/query/lookup/DMPLookup.java @@ -0,0 +1,5 @@ +package eu.eudat.query.lookup; + +public class DMPLookup { + +} diff --git a/dmp-backend/core/src/main/java/eu/eudat/service/DMPService.java b/dmp-backend/core/src/main/java/eu/eudat/service/DMPService.java new file mode 100644 index 000000000..48028049c --- /dev/null +++ b/dmp-backend/core/src/main/java/eu/eudat/service/DMPService.java @@ -0,0 +1,5 @@ +package eu.eudat.service; + +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/DMPServiceImpl.java new file mode 100644 index 000000000..0d687e17f --- /dev/null +++ b/dmp-backend/core/src/main/java/eu/eudat/service/DMPServiceImpl.java @@ -0,0 +1,5 @@ +package eu.eudat.service; + +public class DMPServiceImpl implements DMPService { + +} diff --git a/dmp-backend/core/src/main/java/eu/eudat/service/DescriptionTemplateTypeServiceImpl.java b/dmp-backend/core/src/main/java/eu/eudat/service/DescriptionTemplateTypeServiceImpl.java index 993021564..ee142e740 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/service/DescriptionTemplateTypeServiceImpl.java +++ b/dmp-backend/core/src/main/java/eu/eudat/service/DescriptionTemplateTypeServiceImpl.java @@ -39,7 +39,6 @@ import java.util.List; import java.util.UUID; @Service -@RequestScope public class DescriptionTemplateTypeServiceImpl implements DescriptionTemplateTypeService { private static final LoggerService logger = new LoggerService(LoggerFactory.getLogger(DescriptionTemplateTypeServiceImpl.class));