Add missing jsonsubtype mapping

This commit is contained in:
George Kalampokis 2024-02-02 17:36:04 +02:00
parent a717330b6b
commit e09810252c
1 changed files with 37 additions and 1 deletions

View File

@ -1,8 +1,44 @@
package eu.eudat.file.transformer.models.descriptiontemplate.definition.fielddata;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import eu.eudat.file.transformer.enums.FieldType;
@JsonTypeInfo(
use = JsonTypeInfo.Id.NAME,
include = JsonTypeInfo.As.PROPERTY,
property = "fieldType",
visible = true)
@JsonSubTypes({
@JsonSubTypes.Type(value = ExternalSelectDataFileTransformerModel.class, name = FieldType.Names.ExternalSelect),
@JsonSubTypes.Type(value = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.BooleanDecision),
@JsonSubTypes.Type(value = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.InternalDmpDatasets),
@JsonSubTypes.Type(value = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.InternalDmpDmps),
@JsonSubTypes.Type(value = LabelDataFileTransformerModel.class, name = FieldType.Names.CheckBox),
@JsonSubTypes.Type(value = LabelDataFileTransformerModel.class, name = FieldType.Names.DatePicker),
@JsonSubTypes.Type(value = ExternalDatasetDataFileTransformerModel.class, name = FieldType.Names.ExternalDatasets),
@JsonSubTypes.Type(value = LabelDataFileTransformerModel.class, name = FieldType.Names.FreeText),
@JsonSubTypes.Type(value = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.Licenses),
@JsonSubTypes.Type(value = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.Organizations),
@JsonSubTypes.Type(value = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.Publications),
@JsonSubTypes.Type(value = RadioBoxDataFileTransformerModel.class, name = FieldType.Names.RadioBox),
@JsonSubTypes.Type(value = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.Registries),
@JsonSubTypes.Type(value = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.InternalDmpResearchers),
@JsonSubTypes.Type(value = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.Researchers),
@JsonSubTypes.Type(value = LabelDataFileTransformerModel.class, name = FieldType.Names.RichTextarea),
@JsonSubTypes.Type(value = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.Services),
@JsonSubTypes.Type(value = LabelDataFileTransformerModel.class, name = FieldType.Names.Tags),
@JsonSubTypes.Type(value = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.Taxonomies),
@JsonSubTypes.Type(value = LabelDataFileTransformerModel.class, name = FieldType.Names.TextArea),
@JsonSubTypes.Type(value = UploadDataFileTransformerModel.class, name = FieldType.Names.Upload),
@JsonSubTypes.Type(value = LabelDataFileTransformerModel.class, name = FieldType.Names.Validation),
@JsonSubTypes.Type(value = LabelDataFileTransformerModel.class, name = FieldType.Names.DatasetIdentifier),
@JsonSubTypes.Type(value = LabelDataFileTransformerModel.class, name = FieldType.Names.Currency),
@JsonSubTypes.Type(value = SelectDataFileTransformerModel.class, name = FieldType.Names.Select),
@JsonSubTypes.Type(value = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.DataRepositories),
@JsonSubTypes.Type(value = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.JournalRepositories),
@JsonSubTypes.Type(value = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.Publications),
})
public abstract class BaseFieldDataFileTransformerModel {
private String label;