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 index 80aa0686280085f2710c419b3d150d927588eb9e..e8ee655c8b054df2592dc0208b2b02baeb8f4327 100644 --- 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 @@ -9,12 +9,18 @@ public class AccessTypeConverter implements AttributeConverter<AccessType, Strin @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 new file mode 100644 index 0000000000000000000000000000000000000000..24143a7453a074456431b8c2ccc89c00ef1b6f8e --- /dev/null +++ b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/converters/BannerMessageTypeConverter.java @@ -0,0 +1,26 @@ +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 index ba8a0a43fb6c3fe5a99a7704cd3f3e8620fff0c5..7afc5975b109c6095f2d7017618d0ac9541bb780 100644 --- 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 @@ -8,13 +8,19 @@ import jakarta.persistence.Converter; public class IdentifierAffiliationIdentifierSchemeTypeConverter implements AttributeConverter<AffiliationIdentifierSchemeType, String> { @Override - public String convertToDatabaseColumn(AffiliationIdentifierSchemeType columnType) { - return columnType.name() + public String convertToDatabaseColumn(AffiliationIdentifierSchemeType affiliationIdentifierSchemeType) { + if (affiliationIdentifierSchemeType == null) { + return null; + } + return affiliationIdentifierSchemeType.name() .toLowerCase(); } @Override - public AffiliationIdentifierSchemeType convertToEntityAttribute(String columnType) { - return AffiliationIdentifierSchemeType.valueOf(columnType.toUpperCase()); + 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 index 767733862d7423e2c7747200c967b4315f28db62..d426126a569694ca35aea34be1395765793b2e0b 100644 --- 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 @@ -8,13 +8,19 @@ import jakarta.persistence.Converter; public class IdentifierDescriptionTypeConverter implements AttributeConverter<DescriptionType, String> { @Override - public String convertToDatabaseColumn(DescriptionType columnType) { - return columnType.name() + public String convertToDatabaseColumn(DescriptionType descriptionType) { + if (descriptionType == null) { + return null; + } + return descriptionType.name() .toLowerCase(); } @Override - public DescriptionType convertToEntityAttribute(String columnType) { - return DescriptionType.valueOf(columnType.toUpperCase()); + 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 index 48d4200b2078df0e1d837338107a8469aedd42ce..c7214475510ad756bb851ddec31eded77f87f8cd 100644 --- 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 @@ -8,13 +8,19 @@ import jakarta.persistence.Converter; public class IdentifierFunderTypeConverter implements AttributeConverter<IdentifierFunderType, String> { @Override - public String convertToDatabaseColumn(IdentifierFunderType columnType) { - return columnType.name() + public String convertToDatabaseColumn(IdentifierFunderType identifierFunderType) { + if (identifierFunderType == null) { + return null; + } + return identifierFunderType.name() .toLowerCase(); } @Override - public IdentifierFunderType convertToEntityAttribute(String columnType) { - return IdentifierFunderType.valueOf(columnType.toUpperCase()); + 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 index f44a393663facd7a31a61fb301a6b5c716e32bd6..e78553256b0c825e3235f6a204047c40704eb6c3 100644 --- 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 @@ -8,13 +8,19 @@ import jakarta.persistence.Converter; public class IdentifierIdentifierTypeConverter implements AttributeConverter<IdentifierType, String> { @Override - public String convertToDatabaseColumn(IdentifierType columnType) { - return columnType.name() + public String convertToDatabaseColumn(IdentifierType identifierType) { + if (identifierType == null) { + return null; + } + return identifierType.name() .toLowerCase(); } @Override - public IdentifierType convertToEntityAttribute(String columnType) { - return IdentifierType.valueOf(columnType.toUpperCase()); + 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 index 365177d783b118983a2e18c7c7078c5b7735787c..e5b74326aab5c6cedd74427f8cb2b75818607ac8 100644 --- 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 @@ -8,13 +8,19 @@ import jakarta.persistence.Converter; public class IdentifierNameIdentifierSchemeTypeConverter implements AttributeConverter<NameIdentifierSchemeType, String> { @Override - public String convertToDatabaseColumn(NameIdentifierSchemeType columnType) { - return columnType.name() + public String convertToDatabaseColumn(NameIdentifierSchemeType nameIdentifierSchemeType) { + if (nameIdentifierSchemeType == null) { + return null; + } + return nameIdentifierSchemeType.name() .toLowerCase(); } @Override - public NameIdentifierSchemeType convertToEntityAttribute(String columnType) { - return NameIdentifierSchemeType.valueOf(columnType.toUpperCase()); + 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 index 8eb9fc7afe423a232610d8272e2c0b5b9e7757b8..c43f26af311c48ff25099e78586ed4aa28b14b5f 100644 --- 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 @@ -9,13 +9,19 @@ import jakarta.persistence.Converter; public class IdentifierNameTypeConverter implements AttributeConverter<NameType, String> { @Override - public String convertToDatabaseColumn(NameType columnType) { - return columnType.name() + public String convertToDatabaseColumn(NameType nameType) { + if (nameType == null) { + return null; + } + return nameType.name() .toLowerCase(); } @Override - public NameType convertToEntityAttribute(String columnType) { - return NameType.valueOf(columnType.toUpperCase()); + 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 index 1fef4cb8b26aeea62c0e3a65a674f79175680f1d..93309f8049869febbcb221b16b3f3ccb8d4add54 100644 --- 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 @@ -8,13 +8,19 @@ import jakarta.persistence.Converter; public class IdentifierRelatedTypeConverter implements AttributeConverter<RelatedType, String> { @Override - public String convertToDatabaseColumn(RelatedType columnType) { - return columnType.name() + public String convertToDatabaseColumn(RelatedType relatedType) { + if (relatedType == null) { + return null; + } + return relatedType.name() .toLowerCase(); } @Override - public RelatedType convertToEntityAttribute(String columnType) { - return RelatedType.valueOf(columnType.toUpperCase()); + 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 index 756f73b84768b882b1f1b23caaf8c201f0e4bbc6..f6e63297687b3d40b7a33117678697cd4099858f 100644 --- 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 @@ -8,13 +8,19 @@ import jakarta.persistence.Converter; public class IdentifierVisibilityTypeConverter implements AttributeConverter<VisibilityType, String> { @Override - public String convertToDatabaseColumn(VisibilityType columnType) { - return columnType.name() + public String convertToDatabaseColumn(VisibilityType visibilityType) { + if (visibilityType == null) { + return null; + } + return visibilityType.name() .toLowerCase(); } @Override - public VisibilityType convertToEntityAttribute(String columnType) { - return VisibilityType.valueOf(columnType.toUpperCase()); + 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 index 5d132af64d375a1cbc62fa11d70eb4444dfb3377..dad10800f45698b9547f22ec744025c9d0687a99 100644 --- 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 @@ -8,13 +8,19 @@ import jakarta.persistence.Converter; public class LanguageTypeConverter implements AttributeConverter<LanguageType, String> { @Override - public String convertToDatabaseColumn(LanguageType columnType) { - return columnType.name() + public String convertToDatabaseColumn(LanguageType languageType) { + if (languageType == null) { + return null; + } + return languageType.name() .toLowerCase(); } @Override - public LanguageType convertToEntityAttribute(String columnType) { - return LanguageType.valueOf(columnType.toUpperCase()); + 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 index 7be348e8fd754fc5a10f31217b0af10872a4d094..f057f7233233fa61ce880451666443c9c6a4a522 100644 --- 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 @@ -8,13 +8,19 @@ import jakarta.persistence.Converter; public class TableColumnTypeConverter implements AttributeConverter<TableColumnType, String> { @Override - public String convertToDatabaseColumn(TableColumnType columnType) { - return columnType.name() + public String convertToDatabaseColumn(TableColumnType tableColumnType) { + if (tableColumnType == null) { + return null; + } + return tableColumnType.name() .toLowerCase(); } @Override - public TableColumnType convertToEntityAttribute(String columnType) { - return TableColumnType.valueOf(columnType.toUpperCase()); + 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/maintenance/BannerMessage.java b/dbrepo-metadata-service/entities/src/main/java/at/tuwien/entities/maintenance/BannerMessage.java index befcec9c73b668e93fc81e1aee53fd6558988aa1..70c5abd8d81d4d0438ebb8f903b9dcffe06f6c7f 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,5 +1,6 @@ package at.tuwien.entities.maintenance; +import at.tuwien.converters.BannerMessageTypeConverter; import jakarta.persistence.*; import lombok.*; import org.hibernate.annotations.GenericGenerator; @@ -27,8 +28,8 @@ public class BannerMessage { @Column(updatable = false, nullable = false) private Long id; - @Enumerated(EnumType.STRING) @Column(nullable = false, columnDefinition = "enum('error', 'warning', 'info')") + @Convert(converter = BannerMessageTypeConverter.class) 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 8d17965f482754e5c9e9aed8e6c9e9c82b6ab650..fbfdab9711e4f25d556bbf584fc3cd1da3b49cbb 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,13 +1,24 @@ - package at.tuwien.entities.maintenance; import lombok.Getter; -import lombok.ToString; @Getter -@ToString public enum BannerMessageType { - WARNING, - ERROR, - INFO; + + WARNING("warning"), + + ERROR("error"), + + INFO("info"); + + private String name; + + BannerMessageType(String name) { + this.name = name; + } + + @Override + public String toString() { + return this.name; + } } \ No newline at end of file