Fixing issues, resolving column naming conflicts between old and new entity classes
This commit is contained in:
parent
ea7fa62922
commit
3a033a655b
|
@ -23,16 +23,16 @@ public class DescriptionTemplateEntity implements DataEntity<DescriptionTemplate
|
||||||
private UUID id;
|
private UUID id;
|
||||||
public static final String _id = "id";
|
public static final String _id = "id";
|
||||||
|
|
||||||
@Column(name = "\"label\"", length = DescriptionTemplateEntity._labelLength, nullable = false)
|
@Column(name = "label", length = DescriptionTemplateEntity._labelLength, nullable = false)
|
||||||
private String label;
|
private String label;
|
||||||
public static final String _label = "label";
|
public static final String _label = "label";
|
||||||
public static final int _labelLength = 250;
|
public static final int _labelLength = 250;
|
||||||
|
|
||||||
@Column(name = "\"definition\"", nullable = false)
|
@Column(name = "definition", nullable = false)
|
||||||
private String definition;
|
private String definition;
|
||||||
public static final String _definition = "definition";
|
public static final String _definition = "definition";
|
||||||
|
|
||||||
@Column(name = "\"status\"", nullable = false)
|
@Column(name = "status", nullable = false)
|
||||||
@Convert(converter = DescriptionTemplateStatusConverter.class)
|
@Convert(converter = DescriptionTemplateStatusConverter.class)
|
||||||
private DescriptionTemplateStatus status;
|
private DescriptionTemplateStatus status;
|
||||||
public static final String _status = "status";
|
public static final String _status = "status";
|
||||||
|
@ -43,23 +43,23 @@ public class DescriptionTemplateEntity implements DataEntity<DescriptionTemplate
|
||||||
public static final String _isActive = "isActive";
|
public static final String _isActive = "isActive";
|
||||||
|
|
||||||
|
|
||||||
@Column(name = "\"created_at\"", nullable = false)
|
@Column(name = "created_at", nullable = false)
|
||||||
private Instant createdAt = null;
|
private Instant createdAt = null;
|
||||||
public static final String _createdAt = "createdAt";
|
public static final String _createdAt = "createdAt";
|
||||||
|
|
||||||
@Column(name = "\"updated_at\"", nullable = false)
|
@Column(name = "updated_at", nullable = false)
|
||||||
private Instant updatedAt;
|
private Instant updatedAt;
|
||||||
public static final String _updatedAt = "updatedAt";
|
public static final String _updatedAt = "updatedAt";
|
||||||
|
|
||||||
@Column(name = "\"description\"", nullable = false)
|
@Column(name = "description", nullable = false)
|
||||||
private String description;
|
private String description;
|
||||||
public static final String _description = "description";
|
public static final String _description = "description";
|
||||||
|
|
||||||
@Column(name = "\"group_id\"", updatable = false, nullable = false, columnDefinition = "BINARY(16)")
|
@Column(name = "group_id", updatable = false, nullable = false, columnDefinition = "BINARY(16)")
|
||||||
private UUID groupId;
|
private UUID groupId;
|
||||||
public static final String _groupId = "groupId";
|
public static final String _groupId = "groupId";
|
||||||
|
|
||||||
@Column(name = "\"version\"", nullable = false)
|
@Column(name = "version", nullable = false)
|
||||||
private Short version;
|
private Short version;
|
||||||
public static final String _version = "version";
|
public static final String _version = "version";
|
||||||
|
|
||||||
|
@ -68,11 +68,11 @@ public class DescriptionTemplateEntity implements DataEntity<DescriptionTemplate
|
||||||
private DescriptionTemplateVersionStatus versionStatus;
|
private DescriptionTemplateVersionStatus versionStatus;
|
||||||
public static final String _versionStatus = "versionStatus";
|
public static final String _versionStatus = "versionStatus";
|
||||||
|
|
||||||
@Column(name = "\"language\"", nullable = false)
|
@Column(name = "language", nullable = false)
|
||||||
private String language;
|
private String language;
|
||||||
public static final String _language = "language";
|
public static final String _language = "language";
|
||||||
|
|
||||||
@Column(name = "\"type\"", nullable = false)
|
@Column(name = "type", nullable = false)
|
||||||
private UUID typeId;
|
private UUID typeId;
|
||||||
public static final String _typeId = "typeId";
|
public static final String _typeId = "typeId";
|
||||||
|
|
||||||
|
|
|
@ -19,17 +19,17 @@ public class DmpBlueprintEntity {
|
||||||
private UUID id;
|
private UUID id;
|
||||||
public static final String _id = "id";
|
public static final String _id = "id";
|
||||||
|
|
||||||
@Column(name = "\"label\"", length = DmpBlueprintEntity._labelLength, nullable = false)
|
@Column(name = "label", length = DmpBlueprintEntity._labelLength, nullable = false)
|
||||||
private String label;
|
private String label;
|
||||||
public static final String _label = "label";
|
public static final String _label = "label";
|
||||||
public static final int _labelLength = 250;
|
public static final int _labelLength = 250;
|
||||||
|
|
||||||
@Column(name = "\"definition\"", nullable = true)
|
@Column(name = "definition", nullable = true)
|
||||||
private String definition;
|
private String definition;
|
||||||
public static final String _definition = "definition";
|
public static final String _definition = "definition";
|
||||||
|
|
||||||
|
|
||||||
@Column(name = "\"status\"", nullable = false)
|
@Column(name = "status", nullable = false)
|
||||||
@Convert(converter = DmpBlueprintStatusConverter.class)
|
@Convert(converter = DmpBlueprintStatusConverter.class)
|
||||||
private DmpBlueprintStatus status;
|
private DmpBlueprintStatus status;
|
||||||
public static final String _status = "status";
|
public static final String _status = "status";
|
||||||
|
@ -40,11 +40,11 @@ public class DmpBlueprintEntity {
|
||||||
public static final String _isActive = "isActive";
|
public static final String _isActive = "isActive";
|
||||||
|
|
||||||
|
|
||||||
@Column(name = "\"created_at\"", nullable = false)
|
@Column(name = "created_at", nullable = false)
|
||||||
private Instant createdAt = null;
|
private Instant createdAt = null;
|
||||||
public static final String _createdAt = "createdAt";
|
public static final String _createdAt = "createdAt";
|
||||||
|
|
||||||
@Column(name = "\"updated_at\"", nullable = false)
|
@Column(name = "updated_at", nullable = false)
|
||||||
private Instant updatedAt;
|
private Instant updatedAt;
|
||||||
public static final String _updatedAt = "updatedAt";
|
public static final String _updatedAt = "updatedAt";
|
||||||
|
|
||||||
|
|
|
@ -18,12 +18,12 @@ public class UserRoleEntity implements DataEntity<UserRoleEntity, UUID> {
|
||||||
private UUID id;
|
private UUID id;
|
||||||
public static final String _id = "id";
|
public static final String _id = "id";
|
||||||
|
|
||||||
@Column(name = "\"role\"", length = UserRoleEntity._roleLength, nullable = false)
|
@Column(name = "role", length = UserRoleEntity._roleLength, nullable = false)
|
||||||
private String role;
|
private String role;
|
||||||
public static final String _role = "role";
|
public static final String _role = "role";
|
||||||
public static final int _roleLength = 512;
|
public static final int _roleLength = 512;
|
||||||
|
|
||||||
@Column(name = "\"user\"", nullable = false)
|
@Column(name = "user", nullable = false)
|
||||||
private UUID userId;
|
private UUID userId;
|
||||||
public static final String _userId = "userId";
|
public static final String _userId = "userId";
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,7 @@ public class DMPProfile implements DataEntity<DMPProfile, UUID> {
|
||||||
@Id
|
@Id
|
||||||
@GeneratedValue
|
@GeneratedValue
|
||||||
@GenericGenerator(name = "uuid2", strategy = "uuid2")
|
@GenericGenerator(name = "uuid2", strategy = "uuid2")
|
||||||
@Column(name = "\"id\"", updatable = false, nullable = false, columnDefinition = "BINARY(16)")
|
@Column(name = "id", updatable = false, nullable = false, columnDefinition = "BINARY(16)")
|
||||||
private UUID id;
|
private UUID id;
|
||||||
|
|
||||||
|
|
||||||
|
@ -55,22 +55,22 @@ public class DMPProfile implements DataEntity<DMPProfile, UUID> {
|
||||||
private Set<DMP> dmps;
|
private Set<DMP> dmps;
|
||||||
|
|
||||||
|
|
||||||
@Column(name = "\"label\"")
|
@Column(name = "label")
|
||||||
private String label;
|
private String label;
|
||||||
|
|
||||||
@Column(name = "\"definition\"", columnDefinition = "xml", nullable = true)
|
@Column(name = "definition", columnDefinition = "xml", nullable = true)
|
||||||
private String definition;
|
private String definition;
|
||||||
|
|
||||||
|
|
||||||
@Column(name = "\"status\"", nullable = false)
|
@Column(name = "status", nullable = false)
|
||||||
private int status;
|
private int status;
|
||||||
|
|
||||||
|
|
||||||
@Column(name = "\"created_at\"")
|
@Column(name = "created_at")
|
||||||
@Convert(converter = DateToUTCConverter.class)
|
@Convert(converter = DateToUTCConverter.class)
|
||||||
private Date created = null;
|
private Date created = null;
|
||||||
|
|
||||||
@Column(name = "\"updated_at\"")
|
@Column(name = "updated_at")
|
||||||
@Convert(converter = DateToUTCConverter.class)
|
@Convert(converter = DateToUTCConverter.class)
|
||||||
private Date modified = new Date();
|
private Date modified = new Date();
|
||||||
|
|
||||||
|
|
|
@ -45,46 +45,46 @@ public class DescriptionTemplate implements DataEntity<DescriptionTemplate,UUID>
|
||||||
@Id
|
@Id
|
||||||
@GeneratedValue
|
@GeneratedValue
|
||||||
@GenericGenerator(name = "uuid2", strategy = "uuid2")
|
@GenericGenerator(name = "uuid2", strategy = "uuid2")
|
||||||
@Column(name = "\"id\"", updatable = false, nullable = false, columnDefinition = "BINARY(16)")
|
@Column(name = "id", updatable = false, nullable = false, columnDefinition = "BINARY(16)")
|
||||||
private UUID id;
|
private UUID id;
|
||||||
|
|
||||||
@Column(name = "\"label\"", nullable = false)
|
@Column(name = "label", nullable = false)
|
||||||
private String label;
|
private String label;
|
||||||
|
|
||||||
@OneToMany(fetch = FetchType.LAZY, mappedBy = "profile")
|
@OneToMany(fetch = FetchType.LAZY, mappedBy = "profile")
|
||||||
private Set<Dataset> dataset;
|
private Set<Dataset> dataset;
|
||||||
|
|
||||||
@Column(name = "\"definition\"", columnDefinition = "xml", nullable = false)
|
@Column(name = "definition", columnDefinition = "xml", nullable = false)
|
||||||
private String definition;
|
private String definition;
|
||||||
|
|
||||||
@Column(name = "\"status\"", nullable = false)
|
@Column(name = "status", nullable = false)
|
||||||
private Short status;
|
private Short status;
|
||||||
|
|
||||||
@Column(name = "\"created_at\"")
|
@Column(name = "created_at")
|
||||||
@Convert(converter = DateToUTCConverter.class)
|
@Convert(converter = DateToUTCConverter.class)
|
||||||
private Date created;
|
private Date created;
|
||||||
|
|
||||||
@Column(name = "\"updated_at\"")
|
@Column(name = "updated_at")
|
||||||
@Convert(converter = DateToUTCConverter.class)
|
@Convert(converter = DateToUTCConverter.class)
|
||||||
private Date modified = new Date();
|
private Date modified = new Date();
|
||||||
|
|
||||||
@Column(name = "\"description\"")
|
@Column(name = "description")
|
||||||
private String description;
|
private String description;
|
||||||
|
|
||||||
@Column(name = "\"group_id\"", updatable = false, nullable = false, columnDefinition = "BINARY(16)")
|
@Column(name = "group_id", updatable = false, nullable = false, columnDefinition = "BINARY(16)")
|
||||||
private UUID groupId;
|
private UUID groupId;
|
||||||
|
|
||||||
@Column(name = "\"version\"", nullable = false)
|
@Column(name = "version", nullable = false)
|
||||||
private Short version;
|
private Short version;
|
||||||
|
|
||||||
@OneToMany(fetch = FetchType.LAZY)
|
@OneToMany(fetch = FetchType.LAZY)
|
||||||
private Set<DMP> dmps;
|
private Set<DMP> dmps;
|
||||||
|
|
||||||
@Column(name = "\"language\"", nullable = false)
|
@Column(name = "language", nullable = false)
|
||||||
private String language;
|
private String language;
|
||||||
|
|
||||||
@OneToOne(fetch = FetchType.EAGER)
|
@OneToOne(fetch = FetchType.EAGER)
|
||||||
@JoinColumn(name = "\"type\"", nullable = false)
|
@JoinColumn(name = "type", nullable = false)
|
||||||
private DescriptionTemplateType type;
|
private DescriptionTemplateType type;
|
||||||
|
|
||||||
@OneToMany(mappedBy = "descriptionTemplate", fetch = FetchType.LAZY)
|
@OneToMany(mappedBy = "descriptionTemplate", fetch = FetchType.LAZY)
|
||||||
|
|
|
@ -40,13 +40,13 @@ public class DescriptionTemplateType implements DataEntity<DescriptionTemplateTy
|
||||||
@Id
|
@Id
|
||||||
@GeneratedValue
|
@GeneratedValue
|
||||||
@GenericGenerator(name = "uuid2", strategy = "uuid2")
|
@GenericGenerator(name = "uuid2", strategy = "uuid2")
|
||||||
@Column(name = "\"id\"", updatable = false, nullable = false, columnDefinition = "BINARY(16)")
|
@Column(name = "id", updatable = false, nullable = false, columnDefinition = "BINARY(16)")
|
||||||
private UUID id;
|
private UUID id;
|
||||||
|
|
||||||
@Column(name = "\"name\"", nullable = false)
|
@Column(name = "name", nullable = false)
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@Column(name = "\"status\"", nullable = false)
|
@Column(name = "status", nullable = false)
|
||||||
private Short status;
|
private Short status;
|
||||||
|
|
||||||
public UUID getId() {
|
public UUID getId() {
|
||||||
|
|
|
@ -19,29 +19,29 @@ public class EntityDoi implements DataEntity<EntityDoi, UUID> {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Id
|
@Id
|
||||||
@Column(name = "\"id\"", updatable = false, nullable = false, columnDefinition = "BINARY(16)")
|
@Column(name = "id", updatable = false, nullable = false, columnDefinition = "BINARY(16)")
|
||||||
private UUID id;
|
private UUID id;
|
||||||
|
|
||||||
@Enumerated(EnumType.STRING)
|
@Enumerated(EnumType.STRING)
|
||||||
@Column(name = "\"entity_type\"", nullable = false)
|
@Column(name = "entity_type", nullable = false)
|
||||||
private EntityType entityType;
|
private EntityType entityType;
|
||||||
|
|
||||||
@Column(name = "\"repository_id\"", nullable = false)
|
@Column(name = "repository_id", nullable = false)
|
||||||
private String repositoryId;
|
private String repositoryId;
|
||||||
|
|
||||||
@Column(name = "\"doi\"", nullable = false)
|
@Column(name = "doi", nullable = false)
|
||||||
private String doi;
|
private String doi;
|
||||||
|
|
||||||
@Column(name = "\"created_at\"", nullable = false)
|
@Column(name = "created_at", nullable = false)
|
||||||
@Convert(converter = DateToUTCConverter.class)
|
@Convert(converter = DateToUTCConverter.class)
|
||||||
private Date createdAt;
|
private Date createdAt;
|
||||||
|
|
||||||
@Column(name = "\"updated_at\"", nullable = false)
|
@Column(name = "updated_at", nullable = false)
|
||||||
@Convert(converter = DateToUTCConverter.class)
|
@Convert(converter = DateToUTCConverter.class)
|
||||||
private Date updatedAt;
|
private Date updatedAt;
|
||||||
|
|
||||||
@ManyToOne(fetch = FetchType.LAZY)
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JoinColumn(name = "\"entity_id\"", nullable = false)
|
@JoinColumn(name = "entity_id", nullable = false)
|
||||||
private DMP entityId;
|
private DMP entityId;
|
||||||
|
|
||||||
public UUID getId() {
|
public UUID getId() {
|
||||||
|
|
|
@ -16,14 +16,14 @@ public class UserRole implements DataEntity<UserRole, UUID> {
|
||||||
@Id
|
@Id
|
||||||
@GeneratedValue
|
@GeneratedValue
|
||||||
@GenericGenerator(name = "uuid2", strategy = "uuid2")
|
@GenericGenerator(name = "uuid2", strategy = "uuid2")
|
||||||
@Column(name = "\"id\"", updatable = false, nullable = false, columnDefinition = "BINARY(16)")
|
@Column(name = "id", updatable = false, nullable = false, columnDefinition = "BINARY(16)")
|
||||||
private UUID id;
|
private UUID id;
|
||||||
|
|
||||||
@Column(name = "\"role\"", nullable = false)
|
@Column(name = "role", nullable = false)
|
||||||
private int role;
|
private int role;
|
||||||
|
|
||||||
@ManyToOne(fetch = FetchType.EAGER)
|
@ManyToOne(fetch = FetchType.EAGER)
|
||||||
@JoinColumn(name = "\"user\"", nullable = false)
|
@JoinColumn(name = "user", nullable = false)
|
||||||
private UserInfo userInfo;
|
private UserInfo userInfo;
|
||||||
|
|
||||||
public UUID getId() {
|
public UUID getId() {
|
||||||
|
|
|
@ -42,6 +42,10 @@
|
||||||
<version>1.0.4</version>
|
<version>1.0.4</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.fasterxml.jackson.datatype</groupId>
|
||||||
|
<artifactId>jackson-datatype-jsr310</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
|
|
@ -1,12 +1,22 @@
|
||||||
package eu.old.eudat;
|
package eu.old.eudat;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.DeserializationFeature;
|
||||||
|
import com.fasterxml.jackson.databind.Module;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||||
|
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
||||||
|
import eu.old.eudat.criteria.entities.Criteria;
|
||||||
|
import eu.old.eudat.criteria.serialzier.CriteriaSerializer;
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||||
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
|
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.scheduling.annotation.EnableAsync;
|
import org.springframework.scheduling.annotation.EnableAsync;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
@SpringBootApplication(scanBasePackages = {"eu.eudat" ,"eu.old.eudat", "eu.old.eudat.depositinterface", "gr.cite"})
|
@SpringBootApplication(scanBasePackages = {"eu.eudat" ,"eu.old.eudat", "eu.old.eudat.depositinterface", "gr.cite"})
|
||||||
@Configuration
|
@Configuration
|
||||||
@EnableAsync
|
@EnableAsync
|
||||||
|
|
|
@ -1,28 +1,38 @@
|
||||||
package eu.old.eudat.configurations;
|
package eu.old.eudat.configurations;
|
||||||
|
|
||||||
|
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||||
import org.springframework.boot.jdbc.DataSourceBuilder;
|
import org.springframework.boot.jdbc.DataSourceBuilder;
|
||||||
import org.springframework.context.annotation.*;
|
import org.springframework.context.annotation.*;
|
||||||
import org.springframework.core.env.Environment;
|
import org.springframework.core.env.Environment;
|
||||||
import org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor;
|
import org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor;
|
||||||
|
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
|
||||||
import org.springframework.jdbc.datasource.DriverManagerDataSource;
|
import org.springframework.jdbc.datasource.DriverManagerDataSource;
|
||||||
import org.springframework.orm.jpa.JpaTransactionManager;
|
import org.springframework.orm.jpa.JpaTransactionManager;
|
||||||
import org.springframework.orm.jpa.JpaVendorAdapter;
|
import org.springframework.orm.jpa.JpaVendorAdapter;
|
||||||
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
|
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
|
||||||
|
import org.springframework.orm.jpa.persistenceunit.MutablePersistenceUnitInfo;
|
||||||
|
import org.springframework.orm.jpa.persistenceunit.PersistenceUnitPostProcessor;
|
||||||
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
|
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
|
||||||
import org.springframework.transaction.PlatformTransactionManager;
|
import org.springframework.transaction.PlatformTransactionManager;
|
||||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||||
|
|
||||||
import jakarta.persistence.EntityManagerFactory;
|
import jakarta.persistence.EntityManagerFactory;
|
||||||
import javax.sql.DataSource;
|
import javax.sql.DataSource;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
@EnableTransactionManagement
|
@EnableTransactionManagement
|
||||||
@Profile("devel")
|
@Profile("devel")
|
||||||
@ComponentScan(basePackages = {"eu.old.eudat.data.entities"})
|
@EnableJpaRepositories(
|
||||||
|
basePackages = {"eu.old.eudat.data.entities", "eu.eudat.data"},
|
||||||
|
excludeFilters = {
|
||||||
|
@ComponentScan.Filter(type = FilterType.REGEX, pattern = "eu\\.eudat\\.data\\.old\\..*"),
|
||||||
|
}
|
||||||
|
)
|
||||||
public class DevelDatabaseConfiguration {
|
public class DevelDatabaseConfiguration {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
@ -32,7 +42,11 @@ public class DevelDatabaseConfiguration {
|
||||||
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
|
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
|
||||||
LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
|
LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
|
||||||
em.setDataSource(dataSource());
|
em.setDataSource(dataSource());
|
||||||
em.setPackagesToScan(new String[]{"eu.old.eudat.data.entities"});
|
em.setPackagesToScan("eu.old.eudat.data.entities", "eu.eudat.data");
|
||||||
|
em.setPersistenceUnitPostProcessors(persistenceUnit -> {
|
||||||
|
List<String> managedClassNames = persistenceUnit.getManagedClassNames();
|
||||||
|
managedClassNames.removeIf(fullClassName -> fullClassName.startsWith("eu.eudat.data.old"));
|
||||||
|
});
|
||||||
JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
|
JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
|
||||||
em.setJpaVendorAdapter(vendorAdapter);
|
em.setJpaVendorAdapter(vendorAdapter);
|
||||||
em.setJpaProperties(additionalProperties());
|
em.setJpaProperties(additionalProperties());
|
||||||
|
|
|
@ -4,6 +4,7 @@ import com.fasterxml.jackson.databind.DeserializationFeature;
|
||||||
import com.fasterxml.jackson.databind.Module;
|
import com.fasterxml.jackson.databind.Module;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.fasterxml.jackson.databind.module.SimpleModule;
|
import com.fasterxml.jackson.databind.module.SimpleModule;
|
||||||
|
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
||||||
import eu.old.eudat.criteria.entities.Criteria;
|
import eu.old.eudat.criteria.entities.Criteria;
|
||||||
import eu.old.eudat.criteria.serialzier.CriteriaSerializer;
|
import eu.old.eudat.criteria.serialzier.CriteriaSerializer;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
|
@ -20,6 +21,7 @@ public class JacksonConfiguration {
|
||||||
SimpleModule criteriaSerializerModule = new SimpleModule();
|
SimpleModule criteriaSerializerModule = new SimpleModule();
|
||||||
criteriaSerializerModule.addDeserializer(Criteria.class, new CriteriaSerializer());
|
criteriaSerializerModule.addDeserializer(Criteria.class, new CriteriaSerializer());
|
||||||
modules.add(criteriaSerializerModule);
|
modules.add(criteriaSerializerModule);
|
||||||
|
modules.add(new JavaTimeModule());
|
||||||
|
|
||||||
return new ObjectMapper()
|
return new ObjectMapper()
|
||||||
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
|
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
|
||||||
|
|
|
@ -25,6 +25,7 @@ public class DataManagementPlan implements DataModel<DMP, DataManagementPlan> {
|
||||||
private UUID groupId;
|
private UUID groupId;
|
||||||
private Tuple<UUID, String> profile;
|
private Tuple<UUID, String> profile;
|
||||||
private int version;
|
private int version;
|
||||||
|
private int versionStatus;
|
||||||
private int status;
|
private int status;
|
||||||
private boolean lockable;
|
private boolean lockable;
|
||||||
private String description;
|
private String description;
|
||||||
|
@ -38,6 +39,7 @@ public class DataManagementPlan implements DataModel<DMP, DataManagementPlan> {
|
||||||
private eu.old.eudat.models.data.userinfo.UserInfo creator;
|
private eu.old.eudat.models.data.userinfo.UserInfo creator;
|
||||||
private Date modified;
|
private Date modified;
|
||||||
private Date created;
|
private Date created;
|
||||||
|
private Date finalized;
|
||||||
private List<DynamicFieldWithValue> dynamicFields;
|
private List<DynamicFieldWithValue> dynamicFields;
|
||||||
private Map<String, Object> properties;
|
private Map<String, Object> properties;
|
||||||
private List<UserInfoListingModel> users;
|
private List<UserInfoListingModel> users;
|
||||||
|
@ -89,6 +91,13 @@ public class DataManagementPlan implements DataModel<DMP, DataManagementPlan> {
|
||||||
this.version = version;
|
this.version = version;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getVersionStatus() {
|
||||||
|
return versionStatus;
|
||||||
|
}
|
||||||
|
public void setVersionStatus(int versionStatus) {
|
||||||
|
this.versionStatus = versionStatus;
|
||||||
|
}
|
||||||
|
|
||||||
public List<Organisation> getOrganisations() {
|
public List<Organisation> getOrganisations() {
|
||||||
return organisations;
|
return organisations;
|
||||||
}
|
}
|
||||||
|
@ -145,6 +154,13 @@ public class DataManagementPlan implements DataModel<DMP, DataManagementPlan> {
|
||||||
this.created = created;
|
this.created = created;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Date getFinalized() {
|
||||||
|
return finalized;
|
||||||
|
}
|
||||||
|
public void setFinalized(Date finalized) {
|
||||||
|
this.finalized = finalized;
|
||||||
|
}
|
||||||
|
|
||||||
public String getDescription() {
|
public String getDescription() {
|
||||||
return description;
|
return description;
|
||||||
}
|
}
|
||||||
|
@ -293,6 +309,7 @@ public class DataManagementPlan implements DataModel<DMP, DataManagementPlan> {
|
||||||
}
|
}
|
||||||
this.modified = entity.getModified();
|
this.modified = entity.getModified();
|
||||||
this.created = entity.getCreated();
|
this.created = entity.getCreated();
|
||||||
|
this.finalized = entity.getFinalizedAt();
|
||||||
this.description = entity.getDescription();
|
this.description = entity.getDescription();
|
||||||
this.status = entity.getStatus();
|
this.status = entity.getStatus();
|
||||||
this.associatedUsers = entity.getUsers() != null ? entity.getUsers().stream().map(item -> new UserListingModel().fromDataModel(item.getUser())).collect(Collectors.toList()) : new ArrayList<>();
|
this.associatedUsers = entity.getUsers() != null ? entity.getUsers().stream().map(item -> new UserListingModel().fromDataModel(item.getUser())).collect(Collectors.toList()) : new ArrayList<>();
|
||||||
|
@ -405,6 +422,7 @@ public class DataManagementPlan implements DataModel<DMP, DataManagementPlan> {
|
||||||
}
|
}
|
||||||
this.modified = entity.getModified();
|
this.modified = entity.getModified();
|
||||||
this.created = entity.getCreated();
|
this.created = entity.getCreated();
|
||||||
|
this.finalized = entity.getFinalizedAt();
|
||||||
this.description = entity.getDescription();
|
this.description = entity.getDescription();
|
||||||
this.status = entity.getStatus();
|
this.status = entity.getStatus();
|
||||||
this.associatedUsers = entity.getUsers() != null ? entity.getUsers().stream().map(item -> new UserListingModel().fromDataModel(item.getUser())).collect(Collectors.toList()) : new ArrayList<>();
|
this.associatedUsers = entity.getUsers() != null ? entity.getUsers().stream().map(item -> new UserListingModel().fromDataModel(item.getUser())).collect(Collectors.toList()) : new ArrayList<>();
|
||||||
|
|
|
@ -1,12 +1,18 @@
|
||||||
package eu.old.eudat.publicapi.migration;
|
package eu.old.eudat.publicapi.migration;
|
||||||
|
|
||||||
import eu.eudat.commons.enums.DmpAccessType;
|
import eu.eudat.commons.enums.DmpAccessType;
|
||||||
|
import eu.eudat.commons.enums.DmpStatus;
|
||||||
|
import eu.eudat.commons.enums.DmpVersionStatus;
|
||||||
|
import eu.eudat.commons.enums.IsActive;
|
||||||
import eu.eudat.data.DmpEntity;
|
import eu.eudat.data.DmpEntity;
|
||||||
import eu.old.eudat.data.dao.criteria.DataManagementPlanCriteria;
|
import eu.old.eudat.data.dao.criteria.DataManagementPlanCriteria;
|
||||||
import eu.old.eudat.data.entities.DMP;
|
import eu.old.eudat.data.entities.DMP;
|
||||||
import eu.old.eudat.logic.services.operations.DatabaseRepository;
|
import eu.old.eudat.logic.services.operations.DatabaseRepository;
|
||||||
import eu.old.eudat.models.data.dmp.DataManagementPlan;
|
import eu.old.eudat.models.data.dmp.DataManagementPlan;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
|
import jakarta.persistence.EntityManager;
|
||||||
|
import jakarta.persistence.PersistenceContext;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -21,8 +27,12 @@ public class MigrationController {
|
||||||
|
|
||||||
private final DatabaseRepository databaseRepository;
|
private final DatabaseRepository databaseRepository;
|
||||||
|
|
||||||
public MigrationController(DatabaseRepository databaseRepository) {
|
@PersistenceContext
|
||||||
|
private final EntityManager entityManager;
|
||||||
|
|
||||||
|
public MigrationController(DatabaseRepository databaseRepository, EntityManager entityManager) {
|
||||||
this.databaseRepository = databaseRepository;
|
this.databaseRepository = databaseRepository;
|
||||||
|
this.entityManager = entityManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("dmps/all/{skip}/{take}")
|
@GetMapping("dmps/all/{skip}/{take}")
|
||||||
|
@ -44,19 +54,59 @@ public class MigrationController {
|
||||||
return results;
|
return results;
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("dmps/migrate")
|
@GetMapping("dmps/collectInfo")
|
||||||
public List<DmpEntity> migrateDmps() {
|
public List<DmpMigrationCollectedInfo> collectDmpsInfo() {
|
||||||
|
List<DmpMigrationCollectedInfo> collectedInfoList = new ArrayList<>();
|
||||||
List<DataManagementPlan> dmps = getDmps(0, 4);
|
List<DataManagementPlan> dmps = getDmps(0, 4);
|
||||||
List<DmpEntity> migratedDmps = new ArrayList<>();
|
|
||||||
for (DataManagementPlan dataManagementPlan : dmps) {
|
for (DataManagementPlan dataManagementPlan : dmps) {
|
||||||
|
DmpMigrationCollectedInfo dmpMigrationCollectedInfo = new DmpMigrationCollectedInfo();
|
||||||
|
|
||||||
|
//Collect basic dmp information
|
||||||
DmpEntity dmpEntity = new DmpEntity();
|
DmpEntity dmpEntity = new DmpEntity();
|
||||||
dmpEntity.setId(UUID.randomUUID());
|
dmpEntity.setId(UUID.randomUUID());
|
||||||
dmpEntity.setLabel(dataManagementPlan.getLabel());
|
dmpEntity.setLabel(dataManagementPlan.getLabel());
|
||||||
dmpEntity.setDescription(dataManagementPlan.getDescription());
|
dmpEntity.setDescription(dataManagementPlan.getDescription());
|
||||||
dmpEntity.setAccessType(dataManagementPlan.getPublic() ? DmpAccessType.Public : DmpAccessType.Restricted);
|
dmpEntity.setAccessType(dataManagementPlan.getPublic() ? DmpAccessType.Public : DmpAccessType.Restricted);
|
||||||
migratedDmps.add(dmpEntity);
|
if (dataManagementPlan.getCreator() != null)
|
||||||
|
dmpEntity.setCreator(dataManagementPlan.getCreator().getId());
|
||||||
|
dmpEntity.setGroupId(dataManagementPlan.getGroupId());
|
||||||
|
dmpEntity.setVersion((short) dataManagementPlan.getVersion());
|
||||||
|
dmpEntity.setVersionStatus(DmpVersionStatus.of((short) dataManagementPlan.getVersionStatus()));
|
||||||
|
if (dataManagementPlan.getCreated() != null)
|
||||||
|
dmpEntity.setCreatedAt(dataManagementPlan.getCreated().toInstant());
|
||||||
|
if (dataManagementPlan.getModified() != null)
|
||||||
|
dmpEntity.setUpdatedAt(dataManagementPlan.getModified().toInstant());
|
||||||
|
if (dataManagementPlan.getFinalized() != null)
|
||||||
|
dmpEntity.setFinalizedAt(dataManagementPlan.getFinalized().toInstant());
|
||||||
|
dmpEntity.setBlueprint(dataManagementPlan.getProfile().getId());
|
||||||
|
if (dataManagementPlan.getExtraProperties().containsKey("language") && dataManagementPlan.getExtraProperties().get("language") != null)
|
||||||
|
dmpEntity.setLanguage((String) dataManagementPlan.getExtraProperties().get("language"));
|
||||||
|
if (dataManagementPlan.getStatus() == 99) {
|
||||||
|
dmpEntity.setIsActive(IsActive.Inactive);
|
||||||
|
} else {
|
||||||
|
dmpEntity.setIsActive(IsActive.Active);
|
||||||
|
dmpEntity.setStatus(DmpStatus.of((short) dataManagementPlan.getStatus()));
|
||||||
}
|
}
|
||||||
return migratedDmps;
|
dmpMigrationCollectedInfo.dmpEntity = dmpEntity;
|
||||||
|
collectedInfoList.add(dmpMigrationCollectedInfo);
|
||||||
|
}
|
||||||
|
return collectedInfoList;
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("dmps/migrate")
|
||||||
|
@Transactional
|
||||||
|
public String migrate() {
|
||||||
|
for (DmpMigrationCollectedInfo collectedInfo : collectDmpsInfo()) {
|
||||||
|
this.entityManager.persist(collectedInfo.dmpEntity);
|
||||||
|
}
|
||||||
|
this.entityManager.flush();
|
||||||
|
return "Migrated dmps";
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class DmpMigrationCollectedInfo {
|
||||||
|
|
||||||
|
public DmpEntity dmpEntity;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue