diff --git a/core/pom.xml b/core/pom.xml
index 6b1f578..c278d44 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -18,7 +18,7 @@
21
21
1.0.0-SNAPSHOT
- 0.0.3
+ 1.0.0-SNAPSHOT
diff --git a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/FieldXmlModel.java b/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/FieldXmlModel.java
index e7335c3..92bc6e6 100644
--- a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/FieldXmlModel.java
+++ b/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/FieldXmlModel.java
@@ -1,14 +1,16 @@
package eu.eudat.file.transformer.models.descriptiontemplate.definition;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import eu.eudat.file.transformer.enums.FieldType;
import eu.eudat.file.transformer.enums.FieldValidationType;
import eu.eudat.file.transformer.models.descriptiontemplate.DescriptionTemplateXmlModel;
-import eu.eudat.file.transformer.models.descriptiontemplate.definition.fielddata.BaseFieldDataXmlModel;
-import jakarta.xml.bind.annotation.XmlRootElement;
-import jakarta.xml.bind.annotation.XmlType;
+import eu.eudat.file.transformer.models.descriptiontemplate.definition.fielddata.*;
+import jakarta.xml.bind.annotation.*;
import java.util.List;
@XmlType(namespace = "description-template")
+@XmlAccessorType(XmlAccessType.FIELD)
public class FieldXmlModel {
private String id;
@@ -19,6 +21,37 @@ public class FieldXmlModel {
private List visibilityRules;
private List validations;
private Boolean includeInExport;
+
+ @XmlElements({
+ @XmlElement(type = ExternalSelectDataXmlModel.class, name = FieldType.Names.ExternalSelect),
+ @XmlElement(type = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.BooleanDecision),
+ @XmlElement(type = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.InternalDmpDatasets),
+ @XmlElement(type = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.InternalDmpDmps),
+ @XmlElement(type = LabelDataFileTransformerModel.class, name = FieldType.Names.CheckBox),
+ @XmlElement(type = LabelDataFileTransformerModel.class, name = FieldType.Names.DatePicker),
+ @XmlElement(type = ExternalDatasetDataFileTransformerModel.class, name = FieldType.Names.ExternalDatasets),
+ @XmlElement(type = LabelDataFileTransformerModel.class, name = FieldType.Names.FreeText),
+ @XmlElement(type = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.Licenses),
+ @XmlElement(type = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.Organizations),
+ @XmlElement(type = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.Publications),
+ @XmlElement(type = RadioBoxDataFileTransformerModel.class, name = FieldType.Names.RadioBox),
+ @XmlElement(type = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.Registries),
+ @XmlElement(type = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.InternalDmpResearchers),
+ @XmlElement(type = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.Researchers),
+ @XmlElement(type = LabelDataFileTransformerModel.class, name = FieldType.Names.RichTextarea),
+ @XmlElement(type = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.Services),
+ @XmlElement(type = LabelDataFileTransformerModel.class, name = FieldType.Names.Tags),
+ @XmlElement(type = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.Taxonomies),
+ @XmlElement(type = LabelDataFileTransformerModel.class, name = FieldType.Names.TextArea),
+ @XmlElement(type = UploadDataFileTransformerModel.class, name = FieldType.Names.Upload),
+ @XmlElement(type = LabelDataFileTransformerModel.class, name = FieldType.Names.Validation),
+ @XmlElement(type = LabelDataFileTransformerModel.class, name = FieldType.Names.DatasetIdentifier),
+ @XmlElement(type = LabelDataFileTransformerModel.class, name = FieldType.Names.Currency),
+ @XmlElement(type = SelectDataFileTransformerModel.class, name = FieldType.Names.Select),
+ @XmlElement(type = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.DataRepositories),
+ @XmlElement(type = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.JournalRepositories),
+ @XmlElement(type = LabelAndMultiplicityDataFileTransformerModel.class, name = FieldType.Names.Publications),
+ })
private BaseFieldDataXmlModel data;
public String getId() {
diff --git a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/AutoCompleteDataXmlModel.java b/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/AutoCompleteDataXmlModel.java
deleted file mode 100644
index 51101b7..0000000
--- a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/AutoCompleteDataXmlModel.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package eu.eudat.file.transformer.models.descriptiontemplate.definition.fielddata;
-
-import eu.eudat.file.transformer.enums.FieldType;
-import jakarta.xml.bind.annotation.XmlRootElement;
-
-import java.util.List;
-
-@XmlRootElement(name = FieldType.Names.Autocomplete)
-public class AutoCompleteDataXmlModel extends BaseFieldDataXmlModel {
- private Boolean multiAutoComplete;
- private List autoCompleteSingleDataXmlModelList;
-
- public Boolean getMultiAutoComplete() { return multiAutoComplete; }
- public void setMultiAutoComplete(Boolean multiAutoComplete) { this.multiAutoComplete = multiAutoComplete; }
-
- public List getAutoCompleteSingleDataList() {
- return autoCompleteSingleDataXmlModelList;
- }
-
- public void setAutoCompleteSingleDataList(List autoCompleteSingleDataXmlModelList) {
- this.autoCompleteSingleDataXmlModelList = autoCompleteSingleDataXmlModelList;
- }
-}
-
diff --git a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/AutoCompleteSingleDataXmlModel.java b/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/AutoCompleteSingleDataXmlModel.java
deleted file mode 100644
index 7d29943..0000000
--- a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/AutoCompleteSingleDataXmlModel.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package eu.eudat.file.transformer.models.descriptiontemplate.definition.fielddata;
-
-public class AutoCompleteSingleDataXmlModel {
-
- private String url;
- private ComboBoxOptionXmlModel autoCompleteOptions;
-
-
- public String getUrl() {
- return url;
- }
-
- public void setUrl(String url) {
- this.url = url;
- }
-
- public ComboBoxOptionXmlModel getAutoCompleteOptions() {
- return autoCompleteOptions;
- }
-
- public void setAutoCompleteOptions(ComboBoxOptionXmlModel autoCompleteOptions) {
- this.autoCompleteOptions = autoCompleteOptions;
- }
-}
diff --git a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/BaseFieldDataXmlModel.java b/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/BaseFieldDataXmlModel.java
index 08ec2b2..273578b 100644
--- a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/BaseFieldDataXmlModel.java
+++ b/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/BaseFieldDataXmlModel.java
@@ -6,49 +6,6 @@ import eu.eudat.file.transformer.enums.FieldType;
import jakarta.xml.bind.annotation.XmlSeeAlso;
import jakarta.xml.bind.annotation.XmlTransient;
-@XmlTransient
-@XmlSeeAlso({AutoCompleteDataXmlModel.class,
- LabelAndMultiplicityFieldDataXmlModel.class,
- LabelFieldDataXmlModel.class,
- ExternalDatasetDataXmlModel.class,
- RadioBoxDataXmlModel.class,
- UploadDataXmlModel.class,
- WordListDataXmlModel.class})
-/*@JsonTypeInfo(
- use = JsonTypeInfo.Id.NAME,
- include = JsonTypeInfo.As.PROPERTY,
- property = "fieldType",
- visible = true)
-@JsonSubTypes({
- @JsonSubTypes.Type(value = AutoCompleteDataXmlModel.class, name = FieldType.Names.Autocomplete),
- @JsonSubTypes.Type(value = LabelAndMultiplicityFieldDataXmlModel.class, name = FieldType.Names.BooleanDecision),
- @JsonSubTypes.Type(value = LabelAndMultiplicityFieldDataXmlModel.class, name = FieldType.Names.InternalDmpDatasets),
- @JsonSubTypes.Type(value = LabelAndMultiplicityFieldDataXmlModel.class, name = FieldType.Names.InternalDmpDmps),
- @JsonSubTypes.Type(value = LabelFieldDataXmlModel.class, name = FieldType.Names.CheckBox),
- @JsonSubTypes.Type(value = LabelFieldDataXmlModel.class, name = FieldType.Names.DatePicker),
- @JsonSubTypes.Type(value = ExternalDatasetDataXmlModel.class, name = FieldType.Names.ExternalDatasets),
- @JsonSubTypes.Type(value = LabelFieldDataXmlModel.class, name = FieldType.Names.FreeText),
- @JsonSubTypes.Type(value = LabelAndMultiplicityFieldDataXmlModel.class, name = FieldType.Names.Licenses),
- @JsonSubTypes.Type(value = LabelAndMultiplicityFieldDataXmlModel.class, name = FieldType.Names.Organizations),
- @JsonSubTypes.Type(value = LabelAndMultiplicityFieldDataXmlModel.class, name = FieldType.Names.Publications),
- @JsonSubTypes.Type(value = RadioBoxDataXmlModel.class, name = FieldType.Names.RadioBox),
- @JsonSubTypes.Type(value = LabelAndMultiplicityFieldDataXmlModel.class, name = FieldType.Names.Registries),
- @JsonSubTypes.Type(value = LabelAndMultiplicityFieldDataXmlModel.class, name = FieldType.Names.InternalDmpResearchers),
- @JsonSubTypes.Type(value = LabelAndMultiplicityFieldDataXmlModel.class, name = FieldType.Names.Researchers),
- @JsonSubTypes.Type(value = LabelFieldDataXmlModel.class, name = FieldType.Names.RichTextarea),
- @JsonSubTypes.Type(value = LabelAndMultiplicityFieldDataXmlModel.class, name = FieldType.Names.Services),
- @JsonSubTypes.Type(value = LabelFieldDataXmlModel.class, name = FieldType.Names.Tags),
- @JsonSubTypes.Type(value = LabelAndMultiplicityFieldDataXmlModel.class, name = FieldType.Names.Taxonomies),
- @JsonSubTypes.Type(value = LabelFieldDataXmlModel.class, name = FieldType.Names.TextArea),
- @JsonSubTypes.Type(value = UploadDataXmlModel.class, name = FieldType.Names.Upload),
- @JsonSubTypes.Type(value = LabelFieldDataXmlModel.class, name = FieldType.Names.Validation),
- @JsonSubTypes.Type(value = LabelFieldDataXmlModel.class, name = FieldType.Names.DatasetIdentifier),
- @JsonSubTypes.Type(value = LabelFieldDataXmlModel.class, name = FieldType.Names.Currency),
- @JsonSubTypes.Type(value = WordListDataXmlModel.class, name = FieldType.Names.Wordlist),
- @JsonSubTypes.Type(value = LabelAndMultiplicityFieldDataXmlModel.class, name = FieldType.Names.DataRepositories),
- @JsonSubTypes.Type(value = LabelAndMultiplicityFieldDataXmlModel.class, name = FieldType.Names.JournalRepositories),
- @JsonSubTypes.Type(value = LabelAndMultiplicityFieldDataXmlModel.class, name = FieldType.Names.Publications),
-})*/
public abstract class BaseFieldDataXmlModel {
private String label;
diff --git a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/ComboBoxOptionXmlModel.java b/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/ComboBoxOptionXmlModel.java
deleted file mode 100644
index f3df007..0000000
--- a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/ComboBoxOptionXmlModel.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package eu.eudat.file.transformer.models.descriptiontemplate.definition.fielddata;
-
-public class ComboBoxOptionXmlModel {
- private String label;
- private String value;
- private String source;
- private String uri;
-
- public String getLabel() {
- return label;
- }
-
- public void setLabel(String label) {
- this.label = label;
- }
-
- public String getValue() {
- return value;
- }
-
- public void setValue(String value) {
- this.value = value;
- }
-
- public String getSource() {
- return source;
- }
-
- public void setSource(String source) {
- this.source = source;
- }
-
- public String getUri() {
- return uri;
- }
-
- public void setUri(String uri) {
- this.uri = uri;
- }
-
-
-}
diff --git a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/ExternalDatasetDataXmlModel.java b/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/ExternalDatasetDataXmlModel.java
index 2c268f9..71c8908 100644
--- a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/ExternalDatasetDataXmlModel.java
+++ b/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/ExternalDatasetDataXmlModel.java
@@ -6,7 +6,7 @@ import eu.eudat.file.transformer.enums.FieldType;
import jakarta.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = FieldType.Names.ExternalDatasets)
-public class ExternalDatasetDataXmlModel extends LabelAndMultiplicityFieldDataXmlModel {
+public class ExternalDatasetDataXmlModel extends LabelAndMultiplicityDataXmlModel {
private FieldDataExternalDatasetType type;
public FieldDataExternalDatasetType getType() {
diff --git a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/ExternalSelectDataXmlModel.java b/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/ExternalSelectDataXmlModel.java
new file mode 100644
index 0000000..251bc92
--- /dev/null
+++ b/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/ExternalSelectDataXmlModel.java
@@ -0,0 +1,151 @@
+package eu.eudat.file.transformer.models.descriptiontemplate.definition.fielddata;
+
+import eu.eudat.file.transformer.enums.FieldType;
+import jakarta.xml.bind.annotation.*;
+
+import java.util.List;
+
+
+@XmlRootElement(name = FieldType.Names.ExternalSelect)
+public class ExternalSelectDataXmlModel extends LabelAndMultiplicityDataXmlModel {
+ public static class ExternalSelectAuthDataXmlModel {
+ private String url;
+ private String method;
+ private String body;
+ private String path;
+ private String type;
+
+ public String getUrl() {
+ return url;
+ }
+
+ public void setUrl(String url) {
+ this.url = url;
+ }
+
+ public String getMethod() {
+ return method;
+ }
+
+ public void setMethod(String method) {
+ this.method = method;
+ }
+
+ public String getBody() {
+ return body;
+ }
+
+ public void setBody(String body) {
+ this.body = body;
+ }
+
+ public String getPath() {
+ return path;
+ }
+
+ public void setPath(String path) {
+ this.path = path;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+ }
+
+ public static class ExternalSelectSourceBindingXmlModel {
+ private String label;
+ private String value;
+ private String source;
+
+ public String getLabel() {
+ return label;
+ }
+ public void setLabel(String label) {
+ this.label = label;
+ }
+
+ public String getValue() {
+ return value;
+ }
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ public String getSource() {
+ return source;
+ }
+ public void setSource(String source) {
+ this.source = source;
+ }
+ }
+
+ public static class ExternalSelectSourceXmlModel {
+ private String url;
+ private String method;
+ private String optionsRoot;
+ private ExternalSelectSourceBindingXmlModel sourceBinding;
+ private Boolean hasAuth;
+ private ExternalSelectAuthDataXmlModel auth;
+
+ public String getOptionsRoot() {
+ return optionsRoot;
+ }
+ public void setOptionsRoot(String optionsRoot) {
+ this.optionsRoot = optionsRoot;
+ }
+
+ public String getUrl() {
+ return url;
+ }
+ public void setUrl(String url) {
+ this.url = url;
+ }
+
+ public Boolean getHasAuth() {
+ return hasAuth;
+ }
+
+ public void setHasAuth(Boolean hasAuth) {
+ this.hasAuth = hasAuth;
+ }
+
+ public ExternalSelectAuthDataXmlModel getAuth() {
+ return auth;
+ }
+
+ public void setAuth(ExternalSelectAuthDataXmlModel auth) {
+ this.auth = auth;
+ }
+
+ public ExternalSelectSourceBindingXmlModel getSourceBinding() {
+ return sourceBinding;
+ }
+ public void setSourceBinding(ExternalSelectSourceBindingXmlModel sourceBinding) {
+ this.sourceBinding = sourceBinding;
+ }
+
+ public String getMethod() {
+ return method;
+ }
+
+ public void setMethod(String method) {
+ this.method = method;
+ }
+ }
+
+ private List sources;
+
+ public List getSources() {
+ return sources;
+ }
+
+ public void setSources(List externalSelectSourceXmlModelList) {
+ this.sources = externalSelectSourceXmlModelList;
+ }
+}
+
+
diff --git a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/LabelAndMultiplicityDataXmlModel.java b/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/LabelAndMultiplicityDataXmlModel.java
new file mode 100644
index 0000000..0cb0d60
--- /dev/null
+++ b/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/LabelAndMultiplicityDataXmlModel.java
@@ -0,0 +1,13 @@
+package eu.eudat.file.transformer.models.descriptiontemplate.definition.fielddata;
+
+public class LabelAndMultiplicityDataXmlModel extends BaseFieldDataXmlModel {
+ private Boolean multipleSelect;
+
+ public Boolean getMultipleSelect() {
+ return multipleSelect;
+ }
+
+ public void setMultipleSelect(Boolean multipleSelect) {
+ this.multipleSelect = multipleSelect;
+ }
+}
diff --git a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/LabelAndMultiplicityFieldDataXmlModel.java b/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/LabelAndMultiplicityFieldDataXmlModel.java
deleted file mode 100644
index df9c30a..0000000
--- a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/LabelAndMultiplicityFieldDataXmlModel.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package eu.eudat.file.transformer.models.descriptiontemplate.definition.fielddata;
-
-import jakarta.xml.bind.annotation.XmlSeeAlso;
-import jakarta.xml.bind.annotation.XmlTransient;
-
-@XmlSeeAlso({ExternalDatasetDataXmlModel.class})
-
-public class LabelAndMultiplicityFieldDataXmlModel extends BaseFieldDataXmlModel {
- private Boolean multiAutoComplete;
-
- public Boolean getMultiAutoComplete() {
- return multiAutoComplete;
- }
-
- public void setMultiAutoComplete(Boolean multiAutoComplete) {
- this.multiAutoComplete = multiAutoComplete;
- }
-
-}
diff --git a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/LabelDataXmlModel.java b/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/LabelDataXmlModel.java
new file mode 100644
index 0000000..0473e06
--- /dev/null
+++ b/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/LabelDataXmlModel.java
@@ -0,0 +1,4 @@
+package eu.eudat.file.transformer.models.descriptiontemplate.definition.fielddata;
+
+public class LabelDataXmlModel extends BaseFieldDataXmlModel {
+}
diff --git a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/LabelFieldDataXmlModel.java b/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/LabelFieldDataXmlModel.java
deleted file mode 100644
index 9dd1b4c..0000000
--- a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/LabelFieldDataXmlModel.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package eu.eudat.file.transformer.models.descriptiontemplate.definition.fielddata;
-
-import eu.eudat.file.transformer.enums.FieldType;
-import jakarta.xml.bind.annotation.XmlRootElement;
-
-@XmlRootElement(name = "labelFieldData")
-public class LabelFieldDataXmlModel extends BaseFieldDataXmlModel {
-
-}
diff --git a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/RadioBoxDataXmlModel.java b/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/RadioBoxDataXmlModel.java
index 35fae76..6379e12 100644
--- a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/RadioBoxDataXmlModel.java
+++ b/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/RadioBoxDataXmlModel.java
@@ -1,21 +1,39 @@
package eu.eudat.file.transformer.models.descriptiontemplate.definition.fielddata;
-
import eu.eudat.file.transformer.enums.FieldType;
import jakarta.xml.bind.annotation.XmlRootElement;
import java.util.List;
-
@XmlRootElement(name = FieldType.Names.RadioBox)
public class RadioBoxDataXmlModel extends BaseFieldDataXmlModel {
+ public static class RadioBoxDataOptionXmlModel {
+ private String label;
+ private String value;
- private List options;
+ public String getLabel() {
+ return label;
+ }
- public List getOptions() {
+ public void setLabel(String label) {
+ this.label = label;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+ }
+
+ private List options;
+
+ public List getOptions() {
return options;
}
- public void setOptions(List options) {
+ public void setOptions(List options) {
this.options = options;
}
}
diff --git a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/RadioBoxOptionXmlModel.java b/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/RadioBoxOptionXmlModel.java
deleted file mode 100644
index 5190001..0000000
--- a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/RadioBoxOptionXmlModel.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package eu.eudat.file.transformer.models.descriptiontemplate.definition.fielddata;
-
-public class RadioBoxOptionXmlModel {
- private String label;
- private String value;
-
- public String getLabel() {
- return label;
- }
-
- public void setLabel(String label) {
- this.label = label;
- }
-
- public String getValue() {
- return value;
- }
-
- public void setValue(String value) {
- this.value = value;
- }
-}
diff --git a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/SelectDataXmlModel.java b/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/SelectDataXmlModel.java
new file mode 100644
index 0000000..bd27d1a
--- /dev/null
+++ b/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/SelectDataXmlModel.java
@@ -0,0 +1,35 @@
+package eu.eudat.file.transformer.models.descriptiontemplate.definition.fielddata;
+
+import java.util.List;
+
+public class SelectDataXmlModel extends LabelAndMultiplicityDataXmlModel {
+ private List options;
+
+ public List getOptions() {
+ return options;
+ }
+
+ public void setOptions(List optionEntities) {
+ this.options = optionEntities;
+ }
+
+ public static class OptionXmlModel {
+ private String label;
+ private String value;
+
+ public String getLabel() {
+ return label;
+ }
+ public void setLabel(String label) {
+ this.label = label;
+ }
+
+ public String getValue() {
+ return value;
+ }
+ public void setValue(String value) {
+ this.value = value;
+ }
+ }
+}
+
diff --git a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/UploadDataXmlModel.java b/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/UploadDataXmlModel.java
index 05290d9..30dfbb6 100644
--- a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/UploadDataXmlModel.java
+++ b/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/UploadDataXmlModel.java
@@ -1,6 +1,5 @@
package eu.eudat.file.transformer.models.descriptiontemplate.definition.fielddata;
-
import eu.eudat.file.transformer.enums.FieldType;
import jakarta.xml.bind.annotation.XmlRootElement;
@@ -8,18 +7,40 @@ import java.util.List;
@XmlRootElement(name = FieldType.Names.Upload)
public class UploadDataXmlModel extends BaseFieldDataXmlModel {
- private List types;
+ public static class UploadDataOptionXmlModel {
+ private String label;
+ private String value;
- public List getTypes() {
+ public String getLabel() {
+ return label;
+ }
+
+ public void setLabel(String label) {
+ this.label = label;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+ }
+
+ private List types;
+
+ private Integer maxFileSizeInMB;
+
+
+ public List getTypes() {
return types;
}
- public void setTypes(List types) {
+ public void setTypes(List types) {
this.types = types;
}
- private Integer maxFileSizeInMB;
-
public Integer getMaxFileSizeInMB() {
return maxFileSizeInMB;
}
@@ -27,7 +48,4 @@ public class UploadDataXmlModel extends BaseFieldDataXmlModel {
public void setMaxFileSizeInMB(Integer maxFileSizeInMB) {
this.maxFileSizeInMB = maxFileSizeInMB;
}
-
-
}
-
diff --git a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/UploadOptionXmlModel.java b/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/UploadOptionXmlModel.java
deleted file mode 100644
index 9393ad2..0000000
--- a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/UploadOptionXmlModel.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package eu.eudat.file.transformer.models.descriptiontemplate.definition.fielddata;
-
-public class UploadOptionXmlModel {
- private String label;
- private String value;
-
- public String getLabel() {
- return label;
- }
-
- public void setLabel(String label) {
- this.label = label;
- }
-
- public String getValue() {
- return value;
- }
-
- public void setValue(String value) {
- this.value = value;
- }
-}
diff --git a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/WordListDataXmlModel.java b/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/WordListDataXmlModel.java
deleted file mode 100644
index 80af848..0000000
--- a/core/src/main/java/eu/eudat/file/transformer/models/descriptiontemplate/definition/fielddata/WordListDataXmlModel.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package eu.eudat.file.transformer.models.descriptiontemplate.definition.fielddata;
-
-import eu.eudat.file.transformer.enums.FieldType;
-import jakarta.xml.bind.annotation.XmlRootElement;
-
-import java.util.List;
-
-@XmlRootElement(name = FieldType.Names.Wordlist)
-public class WordListDataXmlModel extends BaseFieldDataXmlModel {
- private List options;
- private Boolean multiList;
-
- public List getOptions() {
- return options;
- }
-
- public void setOptions(List options) {
- this.options = options;
- }
-
- public Boolean getMultiList() {
- return multiList;
- }
-
- public void setMultiList(Boolean multiList) {
- this.multiList = multiList;
- }
-}
diff --git a/core/src/main/java/eu/eudat/file/transformer/utils/mapper/DmpBlueprintXmlMapper.java b/core/src/main/java/eu/eudat/file/transformer/utils/mapper/DmpBlueprintXmlMapper.java
index 2a23450..fd9e53b 100644
--- a/core/src/main/java/eu/eudat/file/transformer/utils/mapper/DmpBlueprintXmlMapper.java
+++ b/core/src/main/java/eu/eudat/file/transformer/utils/mapper/DmpBlueprintXmlMapper.java
@@ -29,7 +29,9 @@ public class DmpBlueprintXmlMapper {
xmlModel.setDescription(fileModel.getDescription());
xmlModel.setHasTemplates(fileModel.getHasTemplates());
xmlModel.setOrdinal(fileModel.getOrdinal());
- xmlModel.setFields(fileModel.getFields().stream().map(DmpBlueprintXmlMapper::toFieldXml).toList());
+ if (fileModel.getFields() != null) {
+ xmlModel.setFields(fileModel.getFields().stream().map(DmpBlueprintXmlMapper::toFieldXml).toList());
+ }
return xmlModel;
}
diff --git a/core/src/main/java/eu/eudat/file/transformer/utils/mapper/descriptiontemplate/DescriptionTemplateXmlMapper.java b/core/src/main/java/eu/eudat/file/transformer/utils/mapper/descriptiontemplate/DescriptionTemplateXmlMapper.java
index 0399ee9..41e2e38 100644
--- a/core/src/main/java/eu/eudat/file/transformer/utils/mapper/descriptiontemplate/DescriptionTemplateXmlMapper.java
+++ b/core/src/main/java/eu/eudat/file/transformer/utils/mapper/descriptiontemplate/DescriptionTemplateXmlMapper.java
@@ -88,7 +88,9 @@ public class DescriptionTemplateXmlMapper {
if (fileModel.getData() != null) {
xmlModel.setData(toDataXml(fileModel.getData()));
}
- xmlModel.setVisibilityRules(fileModel.getVisibilityRules().stream().map(DescriptionTemplateXmlMapper::toRuleXml).toList());
+ if (fileModel.getVisibilityRules() != null) {
+ xmlModel.setVisibilityRules(fileModel.getVisibilityRules().stream().map(DescriptionTemplateXmlMapper::toRuleXml).toList());
+ }
return xmlModel;
}
@@ -107,8 +109,8 @@ public class DescriptionTemplateXmlMapper {
SERVICES,
TAXONOMIES,
DATA_REPOSITORIES,
- JOURNAL_REPOSITORIES -> new LabelAndMultiplicityFieldDataXmlModel();
- case AUTO_COMPLETE -> new AutoCompleteDataXmlModel();
+ JOURNAL_REPOSITORIES -> new LabelAndMultiplicityDataXmlModel();
+ case EXTERNAL_SELECT -> new ExternalSelectDataXmlModel();
case CHECK_BOX,
DATE_PICKER,
FREE_TEXT,
@@ -117,9 +119,9 @@ public class DescriptionTemplateXmlMapper {
TEXT_AREA,
VALIDATION,
DATASET_IDENTIFIER,
- CURRENCY -> new LabelFieldDataXmlModel();
+ CURRENCY -> new LabelDataXmlModel();
case UPLOAD -> new UploadDataXmlModel();
- case WORD_LIST -> new WordListDataXmlModel();
+ case SELECT -> new SelectDataXmlModel();
case RADIO_BOX -> new RadioBoxDataXmlModel();
case EXTERNAL_DATASETS -> new ExternalDatasetDataXmlModel();
default -> null;
@@ -130,23 +132,22 @@ public class DescriptionTemplateXmlMapper {
xmlModel.setFieldType(fileModel.getFieldType());
switch (xmlModel) {
case ExternalDatasetDataXmlModel sm -> sm.setType(((ExternalDatasetDataFileTransformerModel)fileModel).getType());
- case LabelAndMultiplicityFieldDataXmlModel sm -> sm.setMultiAutoComplete(((LabelAndMultiplicityFieldDataFileTransformerModel)fileModel).getMultiAutoComplete());
- case AutoCompleteDataXmlModel sm -> {
- AutoCompleteDataFileTransformerModel fm = ((AutoCompleteDataFileTransformerModel) fileModel);
- sm.setMultiAutoComplete(fm.getMultiAutoComplete());
- sm.setAutoCompleteSingleDataList(fm.getAutoCompleteSingleDataList().stream().map(FieldDataXmlMapper::toAutocompleteXml).toList());
-
+ case ExternalSelectDataXmlModel sm -> {
+ ExternalSelectDataFileTransformerModel fm = ((ExternalSelectDataFileTransformerModel) fileModel);
+ sm.setMultipleSelect(fm.getMultipleSelect());
+ sm.setSources(fm.getSources().stream().map(FieldDataXmlMapper::toAutocompleteXml).toList());
}
+ case SelectDataXmlModel sm -> {
+ SelectDataFileTransformerModel fm = (SelectDataFileTransformerModel) fileModel;
+ sm.setMultipleSelect(fm.getMultipleSelect());
+ sm.setOptions(fm.getOptions().stream().map(FieldDataXmlMapper::toSelectOptionXml).toList());
+ }
+ case LabelAndMultiplicityDataXmlModel sm -> sm.setMultipleSelect(((LabelAndMultiplicityDataFileTransformerModel)fileModel).getMultipleSelect());
case UploadDataXmlModel sm -> {
UploadDataFileTransformerModel fm = ((UploadDataFileTransformerModel) fileModel);
sm.setMaxFileSizeInMB(fm.getMaxFileSizeInMB());
sm.setTypes(fm.getTypes().stream().map(FieldDataXmlMapper::toUploadXml).toList());
}
- case WordListDataXmlModel sm -> {
- WordListDataFileTransformerModel fm = (WordListDataFileTransformerModel) fileModel;
- sm.setMultiList(fm.getMultiList());
- sm.setOptions(fm.getOptions().stream().map(FieldDataXmlMapper::toComboBoxXml).toList());
- }
case RadioBoxDataXmlModel sm -> {
RadioBoxDataFileTransformerModel fm = (RadioBoxDataFileTransformerModel) fileModel;
sm.setOptions(fm.getOptions().stream().map(FieldDataXmlMapper::toRadioBoxXml).toList());
diff --git a/core/src/main/java/eu/eudat/file/transformer/utils/mapper/descriptiontemplate/FieldDataXmlMapper.java b/core/src/main/java/eu/eudat/file/transformer/utils/mapper/descriptiontemplate/FieldDataXmlMapper.java
index d3cad17..b5cc7c4 100644
--- a/core/src/main/java/eu/eudat/file/transformer/utils/mapper/descriptiontemplate/FieldDataXmlMapper.java
+++ b/core/src/main/java/eu/eudat/file/transformer/utils/mapper/descriptiontemplate/FieldDataXmlMapper.java
@@ -4,19 +4,34 @@ import eu.eudat.file.transformer.models.descriptiontemplate.definition.fielddata
public class FieldDataXmlMapper {
- public static AutoCompleteSingleDataXmlModel toAutocompleteXml(AutoCompleteSingleDataFileTransformerModel fileModel) {
- AutoCompleteSingleDataXmlModel xmlModel = new AutoCompleteSingleDataXmlModel();
+ public static ExternalSelectDataXmlModel.ExternalSelectSourceXmlModel toAutocompleteXml(ExternalSelectDataFileTransformerModel.ExternalSelectSourceFileTransformerModel fileModel) {
+ ExternalSelectDataXmlModel.ExternalSelectSourceXmlModel xmlModel = new ExternalSelectDataXmlModel.ExternalSelectSourceXmlModel();
xmlModel.setUrl(fileModel.getUrl());
- xmlModel.setAutoCompleteOptions(toComboBoxXml(fileModel.getAutoCompleteOptions()));
+ xmlModel.setMethod(fileModel.getMethod());
+ xmlModel.setOptionsRoot(fileModel.getOptionsRoot());
+ xmlModel.setHasAuth(fileModel.getHasAuth());
+ if (fileModel.getAuth() != null) {
+ xmlModel.setAuth(toAuthXml(fileModel.getAuth()));
+ }
+ xmlModel.setSourceBinding(toExternalSelectSourceBindingXml(fileModel.getSourceBinding()));
return xmlModel;
}
- public static ComboBoxOptionXmlModel toComboBoxXml(ComboBoxOptionFileTransformerModel fileModel) {
- ComboBoxOptionXmlModel xmlModel = new ComboBoxOptionXmlModel();
+ private static ExternalSelectDataXmlModel.ExternalSelectAuthDataXmlModel toAuthXml(ExternalSelectDataFileTransformerModel.ExternalSelectAuthDataFileTransformerModel fileModel) {
+ ExternalSelectDataXmlModel.ExternalSelectAuthDataXmlModel xmlModel = new ExternalSelectDataXmlModel.ExternalSelectAuthDataXmlModel();
+ xmlModel.setUrl(fileModel.getUrl());
+ xmlModel.setType(fileModel.getType());
+ xmlModel.setBody(fileModel.getBody());
+ xmlModel.setMethod(fileModel.getMethod());
+ xmlModel.setPath(fileModel.getPath());
+ return xmlModel;
+ }
+
+ public static ExternalSelectDataXmlModel.ExternalSelectSourceBindingXmlModel toExternalSelectSourceBindingXml(ExternalSelectDataFileTransformerModel.ExternalSelectSourceBindingFileTransformerModel fileModel) {
+ ExternalSelectDataXmlModel.ExternalSelectSourceBindingXmlModel xmlModel = new ExternalSelectDataXmlModel.ExternalSelectSourceBindingXmlModel();
- xmlModel.setUri(fileModel.getUri());
xmlModel.setLabel(fileModel.getLabel());
xmlModel.setValue(fileModel.getValue());
xmlModel.setSource(fileModel.getSource());
@@ -24,15 +39,24 @@ public class FieldDataXmlMapper {
return xmlModel;
}
- public static UploadOptionXmlModel toUploadXml(UploadOptionFileTransformerModel fileModel) {
- UploadOptionXmlModel xmlModel = new UploadOptionXmlModel();
+ public static SelectDataXmlModel.OptionXmlModel toSelectOptionXml(SelectDataFileTransformerModel.OptionFileTransformerModel fileModel) {
+ SelectDataXmlModel.OptionXmlModel xmlModel = new SelectDataXmlModel.OptionXmlModel();
+
+ xmlModel.setLabel(fileModel.getLabel());
+ xmlModel.setValue(fileModel.getValue());
+
+ return xmlModel;
+ }
+
+ public static UploadDataXmlModel.UploadDataOptionXmlModel toUploadXml(UploadDataFileTransformerModel.UploadDataOptionFileTransformerModel fileModel) {
+ UploadDataXmlModel.UploadDataOptionXmlModel xmlModel = new UploadDataXmlModel.UploadDataOptionXmlModel();
xmlModel.setLabel(fileModel.getLabel());
xmlModel.setValue(fileModel.getValue());
return xmlModel;
}
- public static RadioBoxOptionXmlModel toRadioBoxXml(RadioBoxOptionFileTransformerModel fileModel) {
- RadioBoxOptionXmlModel xmlModel = new RadioBoxOptionXmlModel();
+ public static RadioBoxDataXmlModel.RadioBoxDataOptionXmlModel toRadioBoxXml(RadioBoxDataFileTransformerModel.RadioBoxDataOptionFileTransformerModel fileModel) {
+ RadioBoxDataXmlModel.RadioBoxDataOptionXmlModel xmlModel = new RadioBoxDataXmlModel.RadioBoxDataOptionXmlModel();
xmlModel.setLabel(fileModel.getLabel());
xmlModel.setValue(fileModel.getValue());
return xmlModel;
diff --git a/core/src/main/java/eu/eudat/file/transformer/xml/datasetProfileXml/ExportXmlBuilderDatasetProfile.java b/core/src/main/java/eu/eudat/file/transformer/xml/datasetProfileXml/ExportXmlBuilderDatasetProfile.java
index 8cbfbfa..4f63c91 100644
--- a/core/src/main/java/eu/eudat/file/transformer/xml/datasetProfileXml/ExportXmlBuilderDatasetProfile.java
+++ b/core/src/main/java/eu/eudat/file/transformer/xml/datasetProfileXml/ExportXmlBuilderDatasetProfile.java
@@ -209,12 +209,12 @@ public class ExportXmlBuilderDatasetProfile {
if (field.getData() != null) {
Element dataOut = element.createElement("data");
switch (field.getData().getFieldType()) {
- case WORD_LIST:
+ case SELECT:
{
- WordListDataXmlModel wordListDataEntityObject = (WordListDataXmlModel) field.getData();
+ SelectDataXmlModel wordListDataEntityObject = (SelectDataXmlModel) field.getData();
dataOut.setAttribute("label", wordListDataEntityObject.getLabel());
dataOut.setAttribute("type", wordListDataEntityObject.getFieldType().getValue());
- dataOut.setAttribute("multiList", wordListDataEntityObject.getMultiList().toString());
+ dataOut.setAttribute("multipleSelect", wordListDataEntityObject.getMultipleSelect().toString());
Element options = element.createElement("options");
wordListDataEntityObject.getOptions().forEach(optionChildFor -> {
Element optionChild = element.createElement("option");
@@ -222,26 +222,34 @@ public class ExportXmlBuilderDatasetProfile {
optionChild.setAttribute("value", optionChildFor.getValue());
options.appendChild(optionChild);
});
+
dataOut.appendChild(options);
break;
}
- case AUTO_COMPLETE:
+ case EXTERNAL_SELECT:
{
- AutoCompleteDataXmlModel autoCompleteDataEntityObject = (AutoCompleteDataXmlModel) field.getData();
+ ExternalSelectDataXmlModel autoCompleteDataEntityObject = (ExternalSelectDataXmlModel) field.getData();
dataOut.setAttribute("label", autoCompleteDataEntityObject.getLabel());
dataOut.setAttribute("type", autoCompleteDataEntityObject.getFieldType().getValue());
- dataOut.setAttribute("multiAutoComplete", autoCompleteDataEntityObject.getMultiAutoComplete().toString());
- for (AutoCompleteSingleDataXmlModel singleData: autoCompleteDataEntityObject.getAutoCompleteSingleDataList()) {
- Element singleItem = element.createElement("autocompleteSingle");
- //singleItem.setAttribute("optionsRoot", singleData.getAutoCompleteOptions());
+ dataOut.setAttribute("multipleSelect", autoCompleteDataEntityObject.getMultipleSelect().toString());
+ for (ExternalSelectDataXmlModel.ExternalSelectSourceXmlModel singleData: autoCompleteDataEntityObject.getSources()) {
+ Element singleItem = element.createElement("selectSource");
+ singleItem.setAttribute("method", singleData.getMethod());
singleItem.setAttribute("url", singleData.getUrl());
- singleItem.setAttribute("source", singleData.getAutoCompleteOptions().getSource());
- //singleItem.setAttribute("autoCompleteType", Integer.toString(singleData.getAutoCompleteOptions().));
- if (singleData.getAutoCompleteOptions() != null) {
- Element optionChild = element.createElement("option");
- optionChild.setAttribute("label", singleData.getAutoCompleteOptions().getLabel());
- optionChild.setAttribute("value", singleData.getAutoCompleteOptions().getValue());
- singleItem.appendChild(optionChild);
+ singleItem.setAttribute("optionsRoot", singleData.getOptionsRoot());
+ singleItem.setAttribute("label", singleData.getSourceBinding().getLabel());
+ singleItem.setAttribute("value", singleData.getSourceBinding().getValue());
+ singleItem.setAttribute("source", singleData.getSourceBinding().getSource());
+ singleItem.setAttribute("hasAuth", singleData.getHasAuth().toString());
+
+ if (singleData.getAuth() != null) {
+ Element authItem = element.createElement("sourceAuth");
+ authItem.setAttribute("method", singleData.getAuth().getMethod());
+ authItem.setAttribute("url", singleData.getAuth().getUrl());
+ authItem.setAttribute("path", singleData.getAuth().getPath());
+ authItem.setAttribute("body", singleData.getAuth().getBody());
+ authItem.setAttribute("type", singleData.getAuth().getType());
+ singleItem.appendChild(authItem);
}
dataOut.appendChild(singleItem);
}
@@ -309,7 +317,7 @@ public class ExportXmlBuilderDatasetProfile {
case EXTERNAL_DATASETS:
ExternalDatasetDataXmlModel externalDatasetDataEntity = (ExternalDatasetDataXmlModel) field.getData();
dataOut.setAttribute("label", externalDatasetDataEntity.getLabel());
- dataOut.setAttribute("multiAutocomplete", externalDatasetDataEntity.getMultiAutoComplete().toString());
+ dataOut.setAttribute("multipleSelect", externalDatasetDataEntity.getMultipleSelect().toString());
dataOut.setAttribute("type", externalDatasetDataEntity.getType().getValue());
break;
case DATA_REPOSITORIES:
@@ -323,9 +331,9 @@ public class ExportXmlBuilderDatasetProfile {
case RESEARCHERS:
case PUBLICATIONS:
case ORGANIZATIONS:
- LabelAndMultiplicityFieldDataXmlModel dataRepositoryDataEntity = (LabelAndMultiplicityFieldDataXmlModel) field.getData();
+ LabelAndMultiplicityDataXmlModel dataRepositoryDataEntity = (LabelAndMultiplicityDataXmlModel) field.getData();
dataOut.setAttribute("label", dataRepositoryDataEntity.getLabel());
- dataOut.setAttribute("multiAutocomplete", dataRepositoryDataEntity.getMultiAutoComplete().toString());
+ dataOut.setAttribute("multipleSelect", dataRepositoryDataEntity.getMultipleSelect().toString());
break;
}