diff --git a/dbrepo-metadata-db/setup-schema.sql b/dbrepo-metadata-db/setup-schema.sql index fe452045ca24d999b88f4554bf66b97b3b7101a3..972216ac0c6c2d28f654e3ea41febbbe7adf1c13 100644 --- a/dbrepo-metadata-db/setup-schema.sql +++ b/dbrepo-metadata-db/setup-schema.sql @@ -151,7 +151,7 @@ CREATE TABLE IF NOT EXISTS `mdb_columns` cName VARCHAR(100), internal_name VARCHAR(100) NOT NULL, alias VARCHAR(100), - Datatype ENUM ('char','varchar','binary','varbinary','tinyblob','tinytext','text','blob','mediumtext','mediumblob','longtext','longblob','enum','set','bit','tinyint','bool','smallint','mediumint','int','bigint','float','double','decimal','date','datetime','timestamp','time','year'), + Datatype ENUM ('CHAR','VARCHAR','BINARY','VARBINARY','TINYBLOB','TINYTEXT','TEXT','BLOB','MEDIUMTEXT','MEDIUMBLOB','LONGTEXT','LONGBLOB','ENUM','SET','BIT','TINYINT','BOOL','SMALLINT','MEDIUMINT','INT','BIGINT','FLOAT','DOUBLE','DECIMAL','DATE','DATETIME','TIMESTAMP','TIME','YEAR'), length INT NULL, ordinal_position INTEGER NOT NULL, is_primary_key BOOLEAN NOT NULL, @@ -328,7 +328,7 @@ CREATE TABLE IF NOT EXISTS `mdb_view` CREATE TABLE IF NOT EXISTS `mdb_banner_messages` ( id bigint NOT NULL AUTO_INCREMENT, - type ENUM ('error', 'warning', 'info') NOT NULL default 'info', + type ENUM ('ERROR', 'WARNING', 'INFO') NOT NULL default 'INFO', message TEXT NOT NULL, link TEXT NULL, link_text VARCHAR(255) NULL, @@ -371,11 +371,11 @@ CREATE TABLE IF NOT EXISTS `mdb_identifiers` vid bigint, publisher VARCHAR(255) NOT NULL, language VARCHAR(2), - visibility ENUM ('self', 'everyone') NOT NULL default 'everyone', + visibility ENUM ('SELF', 'EVERYONE') NOT NULL default 'EVERYONE', publication_year INTEGER NOT NULL, publication_month INTEGER, publication_day INTEGER, - identifier_type ENUM ('database', 'subset', 'view') NOT NULL, + identifier_type ENUM ('DATABASE', 'SUBSET', 'VIEW') NOT NULL, query TEXT, query_normalized TEXT, query_hash VARCHAR(255), @@ -406,7 +406,7 @@ CREATE TABLE IF NOT EXISTS `mdb_identifier_titles` id bigint NOT NULL AUTO_INCREMENT, pid bigint NOT NULL, title text NOT NULL, - title_type ENUM ('alternative_title', 'subtitle', 'translated_title', 'other'), + title_type ENUM ('ALTERNATIVE_TITLE', 'SUBTITLE', 'TRANSLATED_TITLE', 'OTHER'), language VARCHAR(2), PRIMARY KEY (id), FOREIGN KEY (pid) REFERENCES mdb_identifiers (id) @@ -418,7 +418,7 @@ CREATE TABLE IF NOT EXISTS `mdb_identifier_funders` pid bigint NOT NULL, funder_name VARCHAR(255) NOT NULL, funder_identifier TEXT, - funder_identifier_type ENUM ('crossref_funder_id', 'grid', 'isni', 'ror', 'other'), + funder_identifier_type ENUM ('CROSSREF_FUNDER_ID', 'GRID', 'ISNI', 'ROR', 'OTHER'), scheme_uri text, award_number VARCHAR(255), award_title text, @@ -432,7 +432,7 @@ CREATE TABLE IF NOT EXISTS `mdb_identifier_descriptions` id bigint NOT NULL AUTO_INCREMENT, pid bigint NOT NULL, description text NOT NULL, - description_type ENUM ('abstract', 'methods', 'series_information', 'table_of_contents', 'technical_info', 'other'), + description_type ENUM ('ABSTRACT', 'METHODS', 'SERIES_INFORMATION', 'TABLE_OF_CONTENTS', 'TECHNICAL_INFO', 'OTHER'), language VARCHAR(2), PRIMARY KEY (id), FOREIGN KEY (pid) REFERENCES mdb_identifiers (id) @@ -457,13 +457,13 @@ CREATE TABLE IF NOT EXISTS `mdb_identifier_creators` given_names text, family_name text, creator_name VARCHAR(255) NOT NULL, - name_type ENUM ('personal', 'organizational') default 'personal', + name_type ENUM ('PERSONAL', 'ORGANIZATIONAL') default 'PERSONAL', name_identifier text, - name_identifier_scheme ENUM ('ror', 'grid', 'isni', 'orcid'), + name_identifier_scheme ENUM ('ROR', 'GRID', 'ISNI', 'ORCID'), name_identifier_scheme_uri text, affiliation VARCHAR(255), affiliation_identifier text, - affiliation_identifier_scheme ENUM ('ror', 'grid', 'isni'), + affiliation_identifier_scheme ENUM ('ROR', 'GRID', 'ISNI'), affiliation_identifier_scheme_uri text, PRIMARY KEY (id), FOREIGN KEY (pid) REFERENCES mdb_identifiers (id) @@ -504,7 +504,7 @@ CREATE TABLE IF NOT EXISTS `mdb_have_access` ( user_id character varying(36) NOT NULL, database_id bigint REFERENCES mdb_databases (id), - access_type ENUM ('read', 'write_own', 'write_all') NOT NULL, + access_type ENUM ('READ', 'WRITE_OWN', 'WRITE_ALL') NOT NULL, created timestamp NOT NULL DEFAULT NOW(), PRIMARY KEY (user_id, database_id), FOREIGN KEY (user_id) REFERENCES mdb_users (id) diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/external/ExternalMetadataDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/external/ExternalMetadataDto.java index 668db14f79c7f084b22dab89a0f0fac1c13d0317..80d5d04d6db2ea80de5b1b64c8a9683b51a3dd69 100644 --- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/external/ExternalMetadataDto.java +++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/user/external/ExternalMetadataDto.java @@ -11,8 +11,6 @@ import lombok.extern.jackson.Jacksonized; @Builder @NoArgsConstructor @AllArgsConstructor -@Jacksonized -@ToString public class ExternalMetadataDto { @Schema(example = "Josiah") diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/AccessTypeConverter.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/AccessTypeConverter.java deleted file mode 100644 index e8ee655c8b054df2592dc0208b2b02baeb8f4327..0000000000000000000000000000000000000000 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/AccessTypeConverter.java +++ /dev/null @@ -1,26 +0,0 @@ -package at.tuwien.converters; - -import at.tuwien.entities.database.AccessType; -import jakarta.persistence.AttributeConverter; -import jakarta.persistence.Converter; - -@Converter -public class AccessTypeConverter implements AttributeConverter<AccessType, String> { - - @Override - public String convertToDatabaseColumn(AccessType accessType) { - if (accessType == null) { - return null; - } - return accessType.name() - .toLowerCase(); - } - - @Override - public AccessType convertToEntityAttribute(String accessType) { - if (accessType == null) { - return null; - } - return AccessType.valueOf(accessType.toUpperCase()); - } -} diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/BannerMessageTypeConverter.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/BannerMessageTypeConverter.java deleted file mode 100644 index 24143a7453a074456431b8c2ccc89c00ef1b6f8e..0000000000000000000000000000000000000000 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/BannerMessageTypeConverter.java +++ /dev/null @@ -1,26 +0,0 @@ -package at.tuwien.converters; - -import at.tuwien.entities.maintenance.BannerMessageType; -import jakarta.persistence.AttributeConverter; -import jakarta.persistence.Converter; - -@Converter -public class BannerMessageTypeConverter implements AttributeConverter<BannerMessageType, String> { - - @Override - public String convertToDatabaseColumn(BannerMessageType bannerMessageType) { - if (bannerMessageType == null) { - return null; - } - return bannerMessageType.name() - .toLowerCase(); - } - - @Override - public BannerMessageType convertToEntityAttribute(String bannerMessageType) { - if (bannerMessageType == null) { - return null; - } - return BannerMessageType.valueOf(bannerMessageType.toUpperCase()); - } -} diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/IdentifierAffiliationIdentifierSchemeTypeConverter.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/IdentifierAffiliationIdentifierSchemeTypeConverter.java deleted file mode 100644 index 7afc5975b109c6095f2d7017618d0ac9541bb780..0000000000000000000000000000000000000000 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/IdentifierAffiliationIdentifierSchemeTypeConverter.java +++ /dev/null @@ -1,26 +0,0 @@ -package at.tuwien.converters; - -import at.tuwien.entities.identifier.AffiliationIdentifierSchemeType; -import jakarta.persistence.AttributeConverter; -import jakarta.persistence.Converter; - -@Converter -public class IdentifierAffiliationIdentifierSchemeTypeConverter implements AttributeConverter<AffiliationIdentifierSchemeType, String> { - - @Override - public String convertToDatabaseColumn(AffiliationIdentifierSchemeType affiliationIdentifierSchemeType) { - if (affiliationIdentifierSchemeType == null) { - return null; - } - return affiliationIdentifierSchemeType.name() - .toLowerCase(); - } - - @Override - public AffiliationIdentifierSchemeType convertToEntityAttribute(String affiliationIdentifierSchemeType) { - if (affiliationIdentifierSchemeType == null) { - return null; - } - return AffiliationIdentifierSchemeType.valueOf(affiliationIdentifierSchemeType.toUpperCase()); - } -} diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/IdentifierDescriptionTypeConverter.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/IdentifierDescriptionTypeConverter.java deleted file mode 100644 index d426126a569694ca35aea34be1395765793b2e0b..0000000000000000000000000000000000000000 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/IdentifierDescriptionTypeConverter.java +++ /dev/null @@ -1,26 +0,0 @@ -package at.tuwien.converters; - -import at.tuwien.entities.identifier.DescriptionType; -import jakarta.persistence.AttributeConverter; -import jakarta.persistence.Converter; - -@Converter -public class IdentifierDescriptionTypeConverter implements AttributeConverter<DescriptionType, String> { - - @Override - public String convertToDatabaseColumn(DescriptionType descriptionType) { - if (descriptionType == null) { - return null; - } - return descriptionType.name() - .toLowerCase(); - } - - @Override - public DescriptionType convertToEntityAttribute(String descriptionType) { - if (descriptionType == null) { - return null; - } - return DescriptionType.valueOf(descriptionType.toUpperCase()); - } -} diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/IdentifierFunderTypeConverter.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/IdentifierFunderTypeConverter.java deleted file mode 100644 index c7214475510ad756bb851ddec31eded77f87f8cd..0000000000000000000000000000000000000000 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/IdentifierFunderTypeConverter.java +++ /dev/null @@ -1,26 +0,0 @@ -package at.tuwien.converters; - -import at.tuwien.entities.identifier.IdentifierFunderType; -import jakarta.persistence.AttributeConverter; -import jakarta.persistence.Converter; - -@Converter -public class IdentifierFunderTypeConverter implements AttributeConverter<IdentifierFunderType, String> { - - @Override - public String convertToDatabaseColumn(IdentifierFunderType identifierFunderType) { - if (identifierFunderType == null) { - return null; - } - return identifierFunderType.name() - .toLowerCase(); - } - - @Override - public IdentifierFunderType convertToEntityAttribute(String identifierFunderType) { - if (identifierFunderType == null) { - return null; - } - return IdentifierFunderType.valueOf(identifierFunderType.toUpperCase()); - } -} diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/IdentifierIdentifierTypeConverter.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/IdentifierIdentifierTypeConverter.java deleted file mode 100644 index e78553256b0c825e3235f6a204047c40704eb6c3..0000000000000000000000000000000000000000 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/IdentifierIdentifierTypeConverter.java +++ /dev/null @@ -1,26 +0,0 @@ -package at.tuwien.converters; - -import at.tuwien.entities.identifier.IdentifierType; -import jakarta.persistence.AttributeConverter; -import jakarta.persistence.Converter; - -@Converter -public class IdentifierIdentifierTypeConverter implements AttributeConverter<IdentifierType, String> { - - @Override - public String convertToDatabaseColumn(IdentifierType identifierType) { - if (identifierType == null) { - return null; - } - return identifierType.name() - .toLowerCase(); - } - - @Override - public IdentifierType convertToEntityAttribute(String identifierType) { - if (identifierType == null) { - return null; - } - return IdentifierType.valueOf(identifierType.toUpperCase()); - } -} diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/IdentifierNameIdentifierSchemeTypeConverter.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/IdentifierNameIdentifierSchemeTypeConverter.java deleted file mode 100644 index e5b74326aab5c6cedd74427f8cb2b75818607ac8..0000000000000000000000000000000000000000 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/IdentifierNameIdentifierSchemeTypeConverter.java +++ /dev/null @@ -1,26 +0,0 @@ -package at.tuwien.converters; - -import at.tuwien.entities.identifier.NameIdentifierSchemeType; -import jakarta.persistence.AttributeConverter; -import jakarta.persistence.Converter; - -@Converter -public class IdentifierNameIdentifierSchemeTypeConverter implements AttributeConverter<NameIdentifierSchemeType, String> { - - @Override - public String convertToDatabaseColumn(NameIdentifierSchemeType nameIdentifierSchemeType) { - if (nameIdentifierSchemeType == null) { - return null; - } - return nameIdentifierSchemeType.name() - .toLowerCase(); - } - - @Override - public NameIdentifierSchemeType convertToEntityAttribute(String nameIdentifierSchemeType) { - if (nameIdentifierSchemeType == null) { - return null; - } - return NameIdentifierSchemeType.valueOf(nameIdentifierSchemeType.toUpperCase()); - } -} diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/IdentifierNameTypeConverter.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/IdentifierNameTypeConverter.java deleted file mode 100644 index c43f26af311c48ff25099e78586ed4aa28b14b5f..0000000000000000000000000000000000000000 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/IdentifierNameTypeConverter.java +++ /dev/null @@ -1,27 +0,0 @@ -package at.tuwien.converters; - -import at.tuwien.entities.identifier.NameType; -import at.tuwien.entities.identifier.RelatedType; -import jakarta.persistence.AttributeConverter; -import jakarta.persistence.Converter; - -@Converter -public class IdentifierNameTypeConverter implements AttributeConverter<NameType, String> { - - @Override - public String convertToDatabaseColumn(NameType nameType) { - if (nameType == null) { - return null; - } - return nameType.name() - .toLowerCase(); - } - - @Override - public NameType convertToEntityAttribute(String nameType) { - if (nameType == null) { - return null; - } - return NameType.valueOf(nameType.toUpperCase()); - } -} diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/IdentifierRelatedTypeConverter.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/IdentifierRelatedTypeConverter.java deleted file mode 100644 index 93309f8049869febbcb221b16b3f3ccb8d4add54..0000000000000000000000000000000000000000 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/IdentifierRelatedTypeConverter.java +++ /dev/null @@ -1,26 +0,0 @@ -package at.tuwien.converters; - -import at.tuwien.entities.identifier.RelatedType; -import jakarta.persistence.AttributeConverter; -import jakarta.persistence.Converter; - -@Converter -public class IdentifierRelatedTypeConverter implements AttributeConverter<RelatedType, String> { - - @Override - public String convertToDatabaseColumn(RelatedType relatedType) { - if (relatedType == null) { - return null; - } - return relatedType.name() - .toLowerCase(); - } - - @Override - public RelatedType convertToEntityAttribute(String relatedType) { - if (relatedType == null) { - return null; - } - return RelatedType.valueOf(relatedType.toUpperCase()); - } -} diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/IdentifierVisibilityTypeConverter.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/IdentifierVisibilityTypeConverter.java deleted file mode 100644 index f6e63297687b3d40b7a33117678697cd4099858f..0000000000000000000000000000000000000000 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/IdentifierVisibilityTypeConverter.java +++ /dev/null @@ -1,26 +0,0 @@ -package at.tuwien.converters; - -import at.tuwien.entities.identifier.VisibilityType; -import jakarta.persistence.AttributeConverter; -import jakarta.persistence.Converter; - -@Converter -public class IdentifierVisibilityTypeConverter implements AttributeConverter<VisibilityType, String> { - - @Override - public String convertToDatabaseColumn(VisibilityType visibilityType) { - if (visibilityType == null) { - return null; - } - return visibilityType.name() - .toLowerCase(); - } - - @Override - public VisibilityType convertToEntityAttribute(String visibilityType) { - if (visibilityType == null) { - return null; - } - return VisibilityType.valueOf(visibilityType.toUpperCase()); - } -} diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/LanguageTypeConverter.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/LanguageTypeConverter.java deleted file mode 100644 index dad10800f45698b9547f22ec744025c9d0687a99..0000000000000000000000000000000000000000 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/LanguageTypeConverter.java +++ /dev/null @@ -1,26 +0,0 @@ -package at.tuwien.converters; - -import at.tuwien.entities.database.LanguageType; -import jakarta.persistence.AttributeConverter; -import jakarta.persistence.Converter; - -@Converter -public class LanguageTypeConverter implements AttributeConverter<LanguageType, String> { - - @Override - public String convertToDatabaseColumn(LanguageType languageType) { - if (languageType == null) { - return null; - } - return languageType.name() - .toLowerCase(); - } - - @Override - public LanguageType convertToEntityAttribute(String languageType) { - if (languageType == null) { - return null; - } - return LanguageType.valueOf(languageType.toUpperCase()); - } -} diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/TableColumnTypeConverter.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/TableColumnTypeConverter.java deleted file mode 100644 index f057f7233233fa61ce880451666443c9c6a4a522..0000000000000000000000000000000000000000 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/TableColumnTypeConverter.java +++ /dev/null @@ -1,26 +0,0 @@ -package at.tuwien.converters; - -import at.tuwien.entities.database.table.columns.TableColumnType; -import jakarta.persistence.AttributeConverter; -import jakarta.persistence.Converter; - -@Converter -public class TableColumnTypeConverter implements AttributeConverter<TableColumnType, String> { - - @Override - public String convertToDatabaseColumn(TableColumnType tableColumnType) { - if (tableColumnType == null) { - return null; - } - return tableColumnType.name() - .toLowerCase(); - } - - @Override - public TableColumnType convertToEntityAttribute(String tableColumnType) { - if (tableColumnType == null) { - return null; - } - return TableColumnType.valueOf(tableColumnType.toUpperCase()); - } -} diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/AccessType.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/AccessType.java index c14042c070f173d80030148c01f34b8c93e01c4a..19a642ff965c7c1b930e67e31fa6b41decb59e67 100644 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/AccessType.java +++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/AccessType.java @@ -4,22 +4,9 @@ import lombok.Getter; import lombok.ToString; @Getter +@ToString public enum AccessType { - - READ("read"), - - WRITE_OWN("write_own"), - - WRITE_ALL("write_all"); - - private String name; - - AccessType(String name) { - this.name = name; - } - - @Override - public String toString() { - return this.name; - } + READ, + WRITE_OWN, + WRITE_ALL; } diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/Database.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/Database.java index a47cc416a5625050254f40a90d16e2b08a477c5d..e3e4eccc1c760640753f6a7bb2e43b13d6eb72d7 100644 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/Database.java +++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/Database.java @@ -108,7 +108,7 @@ public class Database implements Serializable { @OneToOne(fetch = FetchType.LAZY) @JoinColumnsOrFormulas({ @JoinColumnOrFormula(column = @JoinColumn(name = "id", referencedColumnName = "dbid", insertable = false, updatable = false)), - @JoinColumnOrFormula(formula = @JoinFormula(referencedColumnName = "identifier_type", value = "'database'")) + @JoinColumnOrFormula(formula = @JoinFormula(referencedColumnName = "identifier_type", value = "'DATABASE'")) }) private Identifier identifier; diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/DatabaseAccess.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/DatabaseAccess.java index 3a1748e385bc5081e3f930a6b759634b158175ec..8492ee757feffab1f0045ccf2bbe004081042bc1 100644 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/DatabaseAccess.java +++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/DatabaseAccess.java @@ -1,6 +1,5 @@ package at.tuwien.entities.database; -import at.tuwien.converters.AccessTypeConverter; import at.tuwien.entities.user.User; import lombok.*; import org.hibernate.annotations.JdbcTypeCode; @@ -51,8 +50,8 @@ public class DatabaseAccess { }) private Database database; - @Column(nullable = false, name = "access_type", columnDefinition = "enum('read', 'write_own', 'write_all')") - @Convert(converter = AccessTypeConverter.class) + @Column(nullable = false, name = "access_type", columnDefinition = "enum('READ', 'WRITE_OWN', 'WRITE_ALL')") + @Enumerated(EnumType.STRING) private AccessType type; @Column(nullable = false, updatable = false, columnDefinition = "TIMESTAMP") diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/View.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/View.java index 5961cc7e7cbbddf925bc9e8445d16e369d4a02de..569ae61ea7100f246f85da3ac3cabe5f8f4d589f 100644 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/View.java +++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/View.java @@ -85,7 +85,7 @@ public class View { @OneToOne(fetch = FetchType.LAZY) @JoinColumnsOrFormulas({ @JoinColumnOrFormula(column = @JoinColumn(name = "id", referencedColumnName = "vid", insertable = false, updatable = false)), - @JoinColumnOrFormula(formula = @JoinFormula(referencedColumnName = "identifier_type", value = "'view'")) + @JoinColumnOrFormula(formula = @JoinFormula(referencedColumnName = "identifier_type", value = "'VIEW'")) }) private Identifier identifier; diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java index 05fd24b66e7f858b47327caf226d2903733ed535..552fbd332588a5ecf8aac44a7872794102ada544 100644 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java +++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumn.java @@ -1,6 +1,5 @@ package at.tuwien.entities.database.table.columns; -import at.tuwien.converters.TableColumnTypeConverter; import at.tuwien.entities.container.image.ContainerImageDate; import at.tuwien.entities.database.View; import at.tuwien.entities.database.table.Table; @@ -72,8 +71,8 @@ public class TableColumn implements Comparable<TableColumn> { @Column private String alias; - @Column(name = "datatype", nullable = false, columnDefinition = "ENUM('char','varchar','binary','varbinary','tinyblob','tinytext','text','blob','mediumtext','mediumblob','longtext','longblob','enum','set','bit','tinyint','bool','smallint','mediumint','int','bigint','float','double','decimal','date','datetime','timestamp','time','year')") - @Convert(converter = TableColumnTypeConverter.class) + @Column(name = "datatype", nullable = false, columnDefinition = "ENUM('CHAR','VARCHAR','BINARY','VARBINARY','TINYBLOB','TINYTEXT','TEXT','BLOB','MEDIUMTEXT','MEDIUMBLOB','LONGTEXT','LONGBLOB','ENUM','SET','BIT','TINYINT','BOOL','SMALLINT','MEDIUMINT','INT','BIGINT','FLOAT','DOUBLE','DECIMAL','DATE','DATETIME','TIMESTAMP','TIME','YEAR')") + @Enumerated(EnumType.STRING) private TableColumnType columnType; @Column diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumnType.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumnType.java index cf3bed9a85cdbc8492363454f2c9c077b8c2be27..074620a349fff43977ad585a7e4abe4ad770f39e 100644 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumnType.java +++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/database/table/columns/TableColumnType.java @@ -4,74 +4,35 @@ import lombok.Getter; import lombok.ToString; @Getter +@ToString public enum TableColumnType { - - CHAR("char"), - - VARCHAR("varchar"), - - BINARY("binary"), - - VARBINARY("varbinary"), - - TINYBLOB("tinyblob"), - - TINYTEXT("tinytext"), - - TEXT("text"), - - BLOB("blob"), - - MEDIUMTEXT("mediumtext"), - - MEDIUMBLOB("mediumblob"), - - LONGTEXT("longtext"), - - LONGBLOB("longblob"), - - ENUM("enum"), - - SET("set"), - - BIT("bit"), - - TINYINT("tinyint"), - - BOOL("bool"), - - SMALLINT("smallint"), - - MEDIUMINT("mediumint"), - - INT("int"), - - BIGINT("bigint"), - - FLOAT("float"), - - DOUBLE("double"), - - DECIMAL("decimal"), - - DATE("date"), - - DATETIME("datetime"), - - TIMESTAMP("timestamp"), - - TIME("time"), - - YEAR("year"); - - private String name; - - TableColumnType(String name) { - this.name = name; - } - - @Override - public String toString() { - return this.name; - } + CHAR, + VARCHAR, + BINARY, + VARBINARY, + TINYBLOB, + TINYTEXT, + TEXT, + BLOB, + MEDIUMTEXT, + MEDIUMBLOB, + LONGTEXT, + LONGBLOB, + ENUM, + SET, + BIT, + TINYINT, + BOOL, + SMALLINT, + MEDIUMINT, + INT, + BIGINT, + FLOAT, + DOUBLE, + DECIMAL, + DATE, + DATETIME, + TIMESTAMP, + TIME, + YEAR; } \ No newline at end of file diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/AffiliationIdentifierSchemeType.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/AffiliationIdentifierSchemeType.java index 5c3f62d6e719fd568e502411b6295d0302756428..0d794ff431005a17a34294b19816ea84cc6e3ab6 100644 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/AffiliationIdentifierSchemeType.java +++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/AffiliationIdentifierSchemeType.java @@ -5,21 +5,7 @@ import lombok.Getter; @Getter public enum AffiliationIdentifierSchemeType { - - ROR("ror"), - - GRID("grid"), - - ISNI("isni"); - - private String name; - - AffiliationIdentifierSchemeType(String name) { - this.name = name; - } - - @Override - public String toString() { - return this.name; - } + ROR, + GRID, + ISNI } diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/Creator.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/Creator.java index 4119bba2579b98d1c09451f20335856fa2f032a4..d3a3e372d0cd110a9fadf6973c8f9197f237407a 100644 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/Creator.java +++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/Creator.java @@ -1,8 +1,5 @@ package at.tuwien.entities.identifier; -import at.tuwien.converters.IdentifierAffiliationIdentifierSchemeTypeConverter; -import at.tuwien.converters.IdentifierNameIdentifierSchemeTypeConverter; -import at.tuwien.converters.IdentifierNameTypeConverter; import lombok.*; import org.hibernate.annotations.GenericGenerator; import org.springframework.data.jpa.domain.support.AuditingEntityListener; @@ -35,15 +32,15 @@ public class Creator { @Column(name = "creator_name", nullable = false) private String creatorName; - @Column(columnDefinition = "enum('personal', 'organizational')") - @Convert(converter = IdentifierNameTypeConverter.class) + @Column(columnDefinition = "enum('PERSONAL', 'ORGANIZATIONAL')") + @Enumerated(EnumType.STRING) private NameType nameType; @Column private String nameIdentifier; - @Column(columnDefinition = "enum('ror', 'grid', 'isni', 'orcid')") - @Convert(converter = IdentifierNameIdentifierSchemeTypeConverter.class) + @Column(columnDefinition = "enum('ROR', 'GRID', 'ISNI', 'ORCID')") + @Enumerated(EnumType.STRING) private NameIdentifierSchemeType nameIdentifierScheme; @Column @@ -55,8 +52,8 @@ public class Creator { @Column private String affiliationIdentifier; - @Column(columnDefinition = "enum('ror', 'grid', 'isni')") - @Convert(converter = IdentifierAffiliationIdentifierSchemeTypeConverter.class) + @Column(columnDefinition = "enum('ROR', 'GRID', 'ISNI')") + @Enumerated(EnumType.STRING) private AffiliationIdentifierSchemeType affiliationIdentifierScheme; private String affiliationIdentifierSchemeUri; diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/Identifier.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/Identifier.java index ef8f0405c18e696b46ae8976532a779aeea29485..df3ee6fff9b9dc93d0b7526af5d8abe4f698aab5 100644 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/Identifier.java +++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/Identifier.java @@ -1,7 +1,5 @@ package at.tuwien.entities.identifier; -import at.tuwien.converters.IdentifierIdentifierTypeConverter; -import at.tuwien.converters.IdentifierVisibilityTypeConverter; import at.tuwien.entities.database.Database; import at.tuwien.entities.database.LanguageType; import at.tuwien.entities.database.License; @@ -29,11 +27,11 @@ import java.util.UUID; @EntityListeners(AuditingEntityListener.class) @Table(name = "mdb_identifiers") @NamedQueries({ - @NamedQuery(name = "Identifier.findAllDatabaseIdentifiers", query = "select i from Identifier i where i.type = 'database'"), - @NamedQuery(name = "Identifier.findAllSubsetIdentifiers", query = "select i from Identifier i where i.type = 'subset'"), - @NamedQuery(name = "Identifier.findDatabaseIdentifier", query = "select i from Identifier i where i.databaseId = ?1 and i.type = 'database'"), - @NamedQuery(name = "Identifier.findSubsetIdentifier", query = "select i from Identifier i where i.databaseId = ?1 and i.queryId = ?2 and i.type = 'subset'"), - @NamedQuery(name = "Identifier.findViewIdentifier", query = "select i from Identifier i where i.databaseId = ?1 and i.viewId = ?2 and i.type = 'view'"), + @NamedQuery(name = "Identifier.findAllDatabaseIdentifiers", query = "select i from Identifier i where i.type = 'DATABASE'"), + @NamedQuery(name = "Identifier.findAllSubsetIdentifiers", query = "select i from Identifier i where i.type = 'SUBSET'"), + @NamedQuery(name = "Identifier.findDatabaseIdentifier", query = "select i from Identifier i where i.databaseId = ?1 and i.type = 'DATABASE'"), + @NamedQuery(name = "Identifier.findSubsetIdentifier", query = "select i from Identifier i where i.databaseId = ?1 and i.queryId = ?2 and i.type = 'SUBSET'"), + @NamedQuery(name = "Identifier.findViewIdentifier", query = "select i from Identifier i where i.databaseId = ?1 and i.viewId = ?2 and i.type = 'VIEW'"), }) public class Identifier implements Serializable { @@ -85,8 +83,8 @@ public class Identifier implements Serializable { ) private List<License> licenses; - @Column(name = "identifier_type", nullable = false, columnDefinition = "enum('subset', 'database', 'view')") - @Convert(converter = IdentifierIdentifierTypeConverter.class) + @Column(name = "identifier_type", nullable = false, columnDefinition = "enum('SUBSET', 'DATABASE', 'VIEW')") + @Enumerated(EnumType.STRING) private IdentifierType type; @Column(columnDefinition = "TEXT") @@ -123,8 +121,8 @@ public class Identifier implements Serializable { @Column private Integer publicationDay; - @Column(nullable = false, columnDefinition = "enum('everyone', 'self')") - @Convert(converter = IdentifierVisibilityTypeConverter.class) + @Column(nullable = false, columnDefinition = "enum('EVERYONE', 'SELF')") + @Enumerated(EnumType.STRING) private VisibilityType visibility; @ToString.Exclude diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierDescription.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierDescription.java index 4ead69810942835163fd64f9cce38bd8d50c431a..26b88690637d34cc81b135550ab191c8a108a414 100644 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierDescription.java +++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierDescription.java @@ -1,7 +1,5 @@ package at.tuwien.entities.identifier; -import at.tuwien.converters.IdentifierDescriptionTypeConverter; -import at.tuwien.converters.LanguageTypeConverter; import at.tuwien.entities.database.LanguageType; import jakarta.persistence.*; import lombok.*; @@ -32,12 +30,12 @@ public class IdentifierDescription implements Serializable { private String description; @Field(name = "description_type") - @Column(columnDefinition = "enum('abstract', 'methods', 'series_information', 'table_of_contents', 'technical_info', 'other')") - @Convert(converter = IdentifierDescriptionTypeConverter.class) + @Column(columnDefinition = "enum('ABSTRACT', 'METHODS', 'SERIES_INFORMATION', 'TABLE_OF_CONTENTS', 'TECHNICAL_INFO', 'OTHER')") + @Enumerated(EnumType.STRING) private DescriptionType descriptionType; - @Column(columnDefinition = "enum('ab','aa','af','ak','sq','am','ar','an','hy','as','av','ae','ay','az','bm','ba','eu','be','bn','bh','bi','bs','br','bg','my','ca','km','ch','ce','ny','zh','cu','cv','kw','co','cr','hr','cs','da','dv','nl','dz','en','eo','et','ee','fo','fj','fi','fr','ff','gd','gl','lg','ka','de','ki','el','kl','gn','gu','ht','ha','he','hz','hi','ho','hu','is','io','ig','id','ia','ie','iu','ik','ga','it','ja','jv','kn','kr','ks','kk','rw','kv','kg','ko','kj','ku','ky','lo','la','lv','lb','li','ln','lt','lu','mk','mg','ms','ml','mt','gv','mi','mr','mh','ro','mn','na','nv','nd','ng','ne','se','no','nb','nn','ii','oc','oj','or','om','os','pi','pa','ps','fa','pl','pt','qu','rm','rn','ru','sm','sg','sa','sc','sr','sn','sd','si','sk','sl','so','st','nr','es','su','sw','ss','sv','tl','ty','tg','ta','tt','te','th','bo','ti','to','ts','tn','tr','tk','tw','ug','uk','ur','uz','ve','vi','vo','wa','cy','fy','wo','xh','yi','yo','za','zu')") - @Convert(converter = LanguageTypeConverter.class) + @Column(columnDefinition = "enum('AB','AA','AF','AK','SQ','AM','AR','AN','HY','AS','AV','AE','AY','AZ','BM','BA','EU','BE','BN','BH','BI','BS','BR','BG','MY','CA','KM','CH','CE','NY','ZH','CU','CV','KW','CO','CR','HR','CS','DA','DV','NL','DZ','EN','EO','ET','EE','FO','FJ','FI','FR','FF','GD','GL','LG','KA','DE','KI','EL','KL','GN','GU','HT','HA','HE','HZ','HI','HO','HU','IS','IO','IG','ID','IA','IE','IU','IK','GA','IT','JA','JV','KN','KR','KS','KK','RW','KV','KG','KO','KJ','KU','KY','LO','LA','LV','LB','LI','LN','LT','LU','MK','MG','MS','ML','MT','GV','MI','MR','MH','RO','MN','NA','NV','ND','NG','NE','SE','NO','NB','NN','II','OC','OJ','OR','OM','OS','PI','PA','PS','FA','PL','PT','QU','RM','RN','RU','SM','SG','SA','SC','SR','SN','SD','SI','SK','SL','SO','ST','NR','ES','SU','SW','SS','SV','TL','TY','TG','TA','TT','TE','TH','BO','TI','TO','TS','TN','TR','TK','TW','UG','UK','UR','UZ','VE','VI','VO','WA','CY','FY','WO','XH','YI','YO','ZA','ZU')") + @Enumerated(EnumType.STRING) private LanguageType language; @ToString.Exclude diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierFunder.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierFunder.java index cdf4b148c66d0487d0b1b9d6ad799e0370a1f9d2..65a7b9fdc26e686d1a60d7f92e82a955658a4c2c 100644 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierFunder.java +++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierFunder.java @@ -1,6 +1,5 @@ package at.tuwien.entities.identifier; -import at.tuwien.converters.IdentifierFunderTypeConverter; import jakarta.persistence.*; import lombok.*; import org.hibernate.annotations.GenericGenerator; @@ -35,8 +34,8 @@ public class IdentifierFunder implements Serializable { private String funderIdentifier; @Field(name = "funder_identifier_type") - @Column(name="funder_identifier_type", columnDefinition = "enum('crossref_funder_id', 'ror', 'gnd', 'isni', 'other')") - @Convert(converter = IdentifierFunderTypeConverter.class) + @Column(name="funder_identifier_type", columnDefinition = "enum('CROSSREF_FUNDER_ID', 'ROR', 'GND', 'ISNI', 'OTHER')") + @Enumerated(EnumType.STRING) private IdentifierFunderType funderIdentifierType; @Field(name = "scheme_uri") diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierFunderType.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierFunderType.java index 12b31112c66820f1e2e65ffe601b15b49cece8d1..ea538dcbfbc062884c19cfc4998e33c114f189d9 100644 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierFunderType.java +++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierFunderType.java @@ -1,26 +1,9 @@ package at.tuwien.entities.identifier; public enum IdentifierFunderType { - - CROSSREF_FUNDER_ID("crossref_funder_id"), - - ROR("ror"), - - GND("gnd"), - - ISNI("isni"), - - OTHER("other"); - - private String name; - - IdentifierFunderType(String name) { - this.name = name; - } - - @Override - public String toString() { - return this.name; - } - + CROSSREF_FUNDER_ID, + ROR, + GND, + ISNI, + OTHER } diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierType.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierType.java index a0d143cff0a1161864b11e9e3a18ea88f5b5fafc..c7032d2cf89beeb5576786f712038ab3fb34bfde 100644 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierType.java +++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/IdentifierType.java @@ -4,21 +4,7 @@ import lombok.Getter; @Getter public enum IdentifierType { - - DATABASE("database"), - - SUBSET("subset"), - - VIEW("view"); - - private String name; - - IdentifierType(String name) { - this.name = name; - } - - @Override - public String toString() { - return this.name; - } + DATABASE, + SUBSET, + VIEW; } diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/NameIdentifierSchemeType.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/NameIdentifierSchemeType.java index e5564249cf25afe723978e1e8d672e4f803a5978..6a7eb73a12a15cfd7360cfe7e3034349caa0b75f 100644 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/NameIdentifierSchemeType.java +++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/NameIdentifierSchemeType.java @@ -5,23 +5,8 @@ import lombok.Getter; @Getter public enum NameIdentifierSchemeType { - - ORCID("orcid"), - - ROR("ror"), - - ISNI("isni"), - - GRID("grid"); - - private String name; - - NameIdentifierSchemeType(String name) { - this.name = name; - } - - @Override - public String toString() { - return this.name; - } + ORCID, + ROR, + ISNI, + GRID } diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/NameType.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/NameType.java index f6c8d5f1074a6ff9effe0ce6e93fa37be81febf8..5f0790fbab6b1437ebce7a19292735af0431f4e4 100644 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/NameType.java +++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/NameType.java @@ -4,19 +4,6 @@ import lombok.Getter; @Getter public enum NameType { - - PERSONAL("Personal"), - - ORGANIZATIONAL("Organizational"); - - private String name; - - NameType(String name) { - this.name = name; - } - - @Override - public String toString() { - return this.name; - } + PERSONAL, + ORGANIZATIONAL; } diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/RelatedIdentifier.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/RelatedIdentifier.java index 69c04c8d175c6bc01e7f006d582dc1eb8c278de9..a8006e626df74b2362ee9c6e98522a93939fdb6a 100644 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/RelatedIdentifier.java +++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/RelatedIdentifier.java @@ -1,6 +1,5 @@ package at.tuwien.entities.identifier; -import at.tuwien.converters.IdentifierRelatedTypeConverter; import lombok.*; import org.hibernate.annotations.GenericGenerator; import org.springframework.data.jpa.domain.support.AuditingEntityListener; @@ -30,11 +29,11 @@ public class RelatedIdentifier { @Column(nullable = false) private String value; - @Column(columnDefinition = "enum('doi', 'url', 'urn', 'ark', 'arxiv', 'bibcode', 'ean13', 'eissn', 'handle', 'igsn', 'isbn', 'istc', 'lissn', 'lsid', 'pmid', 'purl', 'upc', 'w3id')") - @Convert(converter = IdentifierRelatedTypeConverter.class) + @Column(columnDefinition = "enum('DOI','URL','URN','ARK','arXiv','bibcode','EAN13','EISSN','Handle','IGSN','ISBN','ISTC','LISSN','LSID','PMID','PURL','UPC','w3id')") + @Enumerated(EnumType.STRING) private RelatedType type; - @Column(columnDefinition = "enum('is_cited_by', 'cites', 'is_supplement_to', 'is_supplemented_by', 'is_continued_by', 'continues', 'is_described_by', 'describes', 'has_metadata', 'is_metadata_for', 'has_version', 'is_version_of', 'is_new_version_of', 'is_previous_version_of', 'is_part_of', 'has_part', 'is_published_in', 'is_referenced_by', 'references', 'is_documented_by', 'documents', 'is_compiled_by', 'compiles', 'is_variant_form_of', 'is_original_form_of', 'is_identical_to', 'is_reviewed_by', 'reviews', 'is_derived_from', 'is_source_of', 'is_required_by', 'requires', 'is_obsoleted_by', 'obsoletes')") + @Column(columnDefinition = "enum('IsCitedBy','Cites','IsSupplementTo','IsSupplementedBy','IsContinuedBy','Continues','IsDescribedBy','Describes','HasMetadata','IsMetadataFor','HasVersion','IsVersionOf','IsNewVersionOf','IsPreviousVersionOf','IsPartOf','HasPart','IsPublishedIn','IsReferencedBy','References','IsDocumentedBy','Documents','IsCompiledBy','Compiles','IsVariantFormOf','IsOriginalFormOf','IsIdenticalTo','IsReviewedBy','Reviews','IsDerivedFrom','IsSourceOf','IsRequiredBy','Requires','IsObsoletedBy','Obsoletes')") @Enumerated(EnumType.STRING) private RelationType relation; diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/VisibilityType.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/VisibilityType.java index 28efa248347c6c62297ffb668f29bbec81cf9174..3565740c6b2042fd4fdb003e68a19f369710efcf 100644 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/VisibilityType.java +++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/identifier/VisibilityType.java @@ -4,20 +4,8 @@ import lombok.Getter; import lombok.ToString; @Getter +@ToString public enum VisibilityType { - - EVERYONE("everyone"), - - SELF("self"); - - private String name; - - VisibilityType(String name) { - this.name = name; - } - - @Override - public String toString() { - return this.name; - } + EVERYONE, + SELF; } \ No newline at end of file diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/maintenance/BannerMessage.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/maintenance/BannerMessage.java index 70c5abd8d81d4d0438ebb8f903b9dcffe06f6c7f..f7d2abaafcfc7e14a6806c56821501d8f4af7080 100644 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/maintenance/BannerMessage.java +++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/maintenance/BannerMessage.java @@ -1,6 +1,5 @@ package at.tuwien.entities.maintenance; -import at.tuwien.converters.BannerMessageTypeConverter; import jakarta.persistence.*; import lombok.*; import org.hibernate.annotations.GenericGenerator; @@ -28,8 +27,8 @@ public class BannerMessage { @Column(updatable = false, nullable = false) private Long id; - @Column(nullable = false, columnDefinition = "enum('error', 'warning', 'info')") - @Convert(converter = BannerMessageTypeConverter.class) + @Column(nullable = false, columnDefinition = "enum('ERROR','WARNING','INFO')") + @Enumerated(EnumType.STRING) private BannerMessageType type; @Column(nullable = false) diff --git a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/maintenance/BannerMessageType.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/maintenance/BannerMessageType.java index fbfdab9711e4f25d556bbf584fc3cd1da3b49cbb..ca838657419292d646c7aaf1349504181cb18224 100644 --- a/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/maintenance/BannerMessageType.java +++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/maintenance/BannerMessageType.java @@ -1,24 +1,12 @@ package at.tuwien.entities.maintenance; import lombok.Getter; +import lombok.ToString; @Getter +@ToString public enum BannerMessageType { - - WARNING("warning"), - - ERROR("error"), - - INFO("info"); - - private String name; - - BannerMessageType(String name) { - this.name = name; - } - - @Override - public String toString() { - return this.name; - } + WARNING, + ERROR, + INFO; } \ No newline at end of file diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/DataCiteMapper.java b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/DataCiteMapper.java index 0887a02f6468d0f704ef9ff0d34352b2148e31da..34467b0c566ab4f76ee430b658494a01fd2b534e 100644 --- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/DataCiteMapper.java +++ b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/DataCiteMapper.java @@ -108,7 +108,7 @@ public interface DataCiteMapper { if (data == null) { return null; } - return DataCiteNameType.valueOf(data.getName().toUpperCase()); + return DataCiteNameType.valueOf(data.toString()); } @Mappings({ diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/IdentifierEndpointMvcTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/IdentifierEndpointMvcTest.java new file mode 100644 index 0000000000000000000000000000000000000000..f454cef6eed2eaf46b1319d1c896932df131e367 --- /dev/null +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/mvc/IdentifierEndpointMvcTest.java @@ -0,0 +1,57 @@ +package at.tuwien.mvc; + +import at.tuwien.BaseUnitTest; +import at.tuwien.annotations.MockAmqp; +import at.tuwien.annotations.MockOpensearch; +import at.tuwien.gateway.OrcidGateway; +import com.mchange.io.FileUtils; +import lombok.extern.log4j.Log4j2; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.http.MediaType; +import org.springframework.test.context.junit.jupiter.SpringExtension; +import org.springframework.test.web.servlet.MockMvc; + +import java.io.File; + +import static org.mockito.Mockito.*; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +@Log4j2 +@ExtendWith(SpringExtension.class) +@AutoConfigureMockMvc +@SpringBootTest +@MockAmqp +@MockOpensearch +public class IdentifierEndpointMvcTest extends BaseUnitTest { + + @MockBean + private OrcidGateway orcidGateway; + + @Autowired + private MockMvc mockMvc; + + @Test + public void createUser_malformed_fails() throws Exception { + + /* mock */ + when(orcidGateway.findByUrl(anyString())) + .thenReturn(ORCID_1_DTO); + + /* test */ + this.mockMvc.perform(get("/api/identifier/retrieve?url=http://orcid.org/" + USER_1_ORCID_UNCOMPRESSED) + .contentType(MediaType.APPLICATION_JSON) + .accept(MediaType.APPLICATION_JSON)) + .andExpect(content().string(FileUtils.getContentsAsString(new File("src/test/resources/json/ext_orcid_jdoe.json")))) + .andDo(print()) + .andExpect(status().is(200)); + } + +} diff --git a/dbrepo-metadata-service/rest-service/src/test/resources/json/ext_orcid_jdoe.json b/dbrepo-metadata-service/rest-service/src/test/resources/json/ext_orcid_jdoe.json new file mode 100644 index 0000000000000000000000000000000000000000..4bb11bd483d73b58d1c7c55af380b35e8b30d84f --- /dev/null +++ b/dbrepo-metadata-service/rest-service/src/test/resources/json/ext_orcid_jdoe.json @@ -0,0 +1 @@ +{"affiliations":[{"organization_name":"TU Graz","ringggold_id":null,"isni_id":null,"crossref_funder_id":null}],"type":"Personal","given_names":"John","family_name":"Doe"} \ No newline at end of file diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/JacksonConfig.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/JacksonConfig.java index 69777fe635b103c1f3b4380f31ba11bcdc92a878..2379e8d74c1846ea2e59812f0436bd1f740cf2c0 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/JacksonConfig.java +++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/config/JacksonConfig.java @@ -23,7 +23,6 @@ public class JacksonConfig { objectMapper.registerModule(new Jdk8Module()); objectMapper.registerModule(new JavaTimeModule()); objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); - objectMapper.configure(EnumFeature.WRITE_ENUMS_TO_LOWERCASE, true); objectMapper.setTimeZone(TimeZone.getTimeZone("UTC")); log.debug("current time is {}", objectMapper.writeValueAsString(new Date())); return objectMapper; diff --git a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java b/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java index fe9a744280e4a0ffb7e3e198952cd729e45076d4..c6a049806f2401ac62c3129aa67cb2b4b91b0140 100644 --- a/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java +++ b/dbrepo-metadata-service/test/src/main/java/at/tuwien/test/BaseTest.java @@ -27,6 +27,16 @@ import at.tuwien.api.keycloak.UserCreateDto; import at.tuwien.api.maintenance.BannerMessageCreateDto; import at.tuwien.api.maintenance.BannerMessageTypeDto; import at.tuwien.api.maintenance.BannerMessageUpdateDto; +import at.tuwien.api.orcid.OrcidDto; +import at.tuwien.api.orcid.activities.OrcidActivitiesSummaryDto; +import at.tuwien.api.orcid.activities.employments.OrcidEmploymentsDto; +import at.tuwien.api.orcid.activities.employments.affiliation.OrcidAffiliationGroupDto; +import at.tuwien.api.orcid.activities.employments.affiliation.group.OrcidEmploymentSummaryDto; +import at.tuwien.api.orcid.activities.employments.affiliation.group.summary.OrcidSummaryDto; +import at.tuwien.api.orcid.activities.employments.affiliation.group.summary.organization.OrcidOrganizationDto; +import at.tuwien.api.orcid.person.OrcidPersonDto; +import at.tuwien.api.orcid.person.name.OrcidNameDto; +import at.tuwien.api.orcid.person.name.OrcidValueDto; import at.tuwien.api.semantics.OntologyCreateDto; import at.tuwien.api.semantics.OntologyModifyDto; import at.tuwien.api.user.*; @@ -5728,6 +5738,36 @@ public abstract class BaseTest { public final static Instant CREATOR_1_CREATED = Instant.ofEpochSecond(1641588352); public final static Instant CREATOR_1_MODIFIED = Instant.ofEpochSecond(1541588352); + public final static OrcidDto ORCID_1_DTO = OrcidDto.builder() + .person(OrcidPersonDto.builder() + .name(OrcidNameDto.builder() + .givenNames(OrcidValueDto.builder() + .value(USER_1_FIRSTNAME) + .build()) + .familyName(OrcidValueDto.builder() + .value(USER_1_LASTNAME) + .build()) + .build()) + .build()) + .activitiesSummary(OrcidActivitiesSummaryDto.builder() + .employments(OrcidEmploymentsDto.builder() + .affiliationGroup(new OrcidAffiliationGroupDto[]{ + OrcidAffiliationGroupDto.builder() + .summaries(new OrcidEmploymentSummaryDto[]{ + OrcidEmploymentSummaryDto.builder() + .employmentSummary(OrcidSummaryDto.builder() + .organization(OrcidOrganizationDto.builder() + .name(USER_1_AFFILIATION) + .build()) + .build()) + .build() + }) + .build() + }) + .build()) + .build()) + .build(); + public final static Long CREATOR_2_ID = 2L; public final static Long CREATOR_2_QUERY_ID = 1L; public final static String CREATOR_2_ORCID = "00000-00000-00000"; diff --git a/dbrepo-ui/components/dialogs/Semantics.vue b/dbrepo-ui/components/dialogs/Semantics.vue index 18fdbe478840087c11d0f9c2c4baf929f4d6d7f0..4245bd56e5ad369cb5a54288263bbb962954a89c 100644 --- a/dbrepo-ui/components/dialogs/Semantics.vue +++ b/dbrepo-ui/components/dialogs/Semantics.vue @@ -160,6 +160,7 @@ export default { }, watch: { column () { + this.recommendations = [] this.init() }, recommendation (index) { @@ -171,6 +172,7 @@ export default { } }, mounted () { + this.recommendations = [] this.init() }, methods: { diff --git a/dbrepo-ui/components/search/AdvancedSearch.vue b/dbrepo-ui/components/search/AdvancedSearch.vue index 2a89bb91efe40b170f71ee0ac3ab44e5bfd9e8c1..13f0e8624358f9ead8e36081c8c59f926a447df1 100644 --- a/dbrepo-ui/components/search/AdvancedSearch.vue +++ b/dbrepo-ui/components/search/AdvancedSearch.vue @@ -70,11 +70,11 @@ clearable /> </v-col> </v-row> - <p v-if="isColumnFilter" class="mt-4"> + <p v-if="isEligibleConceptOrUnitSearch" class="mt-4"> If you select a <code>concept</code> and <code>unit</code>, you can search across columns regardless of their unit of measurement. </p> - <v-row v-if="isColumnFilter" dense> + <v-row v-if="isEligibleConceptOrUnitSearch" dense> <v-col cols="3"> <v-select v-model="advancedSearchData['concept.uri']" @@ -167,8 +167,8 @@ export default { hideInternalNameField: ['identifier', 'user', 'concept', 'unit'].includes(selectedOption) } }, - isColumnFilter () { - return this.advancedSearchData.type === 'column' + isEligibleConceptOrUnitSearch () { + return ['column'].includes(this.advancedSearchData.type) } }, watch: { @@ -251,7 +251,7 @@ export default { identifier: [ 'creators.properties.creator_name', 'creators.properties.name_identifier', 'descriptions.properties.description', 'doi', 'funders.properties.funder_identifier', - 'licenses', 'publication_year', 'titles.properties.title', 'visibility' + 'publication_year', 'titles.properties.title', 'visibility' ], view: ['is_public', 'query'], concept: ['uri'],