From 6a0d1a7c8b00ccb5cbf1d92592ea3a86b6af3924 Mon Sep 17 00:00:00 2001 From: sgiannopoulos Date: Wed, 31 Jan 2024 14:33:24 +0200 Subject: [PATCH] refactor description template xml --- .../eu/eudat/commons/enums/FieldType.java | 8 +- .../descriptiontemplate/DefinitionEntity.java | 15 +- .../descriptiontemplate/FieldEntity.java | 20 +- .../types/descriptiontemplate/PageEntity.java | 29 +- .../descriptiontemplate/SectionEntity.java | 10 - .../fielddata/ExternalDatasetDataEntity.java | 1 + .../fielddata/ExternalSelectDataEntity.java | 26 +- .../fielddata/InternalDmpBaseDataEntity.java | 9 - .../LabelAndMultiplicityDataEntity.java | 1 + .../fielddata/LabelDataEntity.java | 1 + .../fielddata/RadioBoxDataEntity.java | 1 + .../fielddata/SelectDataEntity.java | 1 + .../fielddata/UploadDataEntity.java | 1 + .../importexport/FieldImportExport.java | 14 +- .../importexport/FieldSetImportExport.java | 48 ++- ...Xml.java => MultiplicityImportExport.java} | 34 +- .../importexport/RuleImportExport.java | 5 +- .../importexport/SectionImportExport.java | 10 - .../fielddata/AuthAutoCompleteData.java | 59 ---- .../AutoCompleteDataImportExport.java | 30 -- .../fielddata/AutoCompleteSingleData.java | 81 ----- .../fielddata/BaseFieldDataImportExport.java | 3 + .../fielddata/ComboBoxDataOptionEntity.java | 48 --- .../ExternalDatasetDataImportExport.java | 13 +- .../fielddata/ExternalSelectImportExport.java | 174 ++++++++++ .../LabelAndMultiplicityDataImportExport.java | 13 +- .../fielddata/LabelDataImportExport.java | 1 + .../fielddata/RadioBoxDataImportExport.java | 25 ++ .../fielddata/RadioBoxOption.java | 29 -- .../fielddata/SelectDataImportExport.java | 38 ++- .../fielddata/UploadDataImportExport.java | 24 ++ .../fielddata/UploadDataOption.java | 29 -- .../DefinitionBuilder.java | 2 - .../PageBuilder.java | 9 +- .../SectionBuilder.java | 1 - .../AuthAutoCompleteDataBuilder.java | 57 ---- .../fielddata/AutoCompleteDataBuilder.java | 37 -- .../AutoCompleteSingleDataBuilder.java | 64 ---- .../fielddata/BaseFieldDataBuilder.java | 2 +- .../fielddata/ComboBoxOptionBuilder.java | 55 --- .../fielddata/ExternalDatasetDataBuilder.java | 2 +- .../fielddata/ExternalSelectDataBuilder.java | 163 +++++++++ .../LabelAndMultiplicityDataBuilder.java | 2 +- .../fielddata/RadioBoxDataBuilder.java | 44 ++- .../fielddata/RadioBoxOptionBuilder.java | 54 --- .../fielddata/SelectDataBuilder.java | 46 ++- .../fielddata/UploadDataBuilder.java | 42 +++ .../fielddata/UploadOptionBuilder.java | 54 --- ...plateDefinitionFileTransformerBuilder.java | 25 +- .../DefinitionCensor.java | 2 - .../PageCensor.java | 4 + .../Definition.java | 11 - .../descriptiontemplatedefinition/Page.java | 15 + .../Section.java | 11 - .../fielddata/AuthAutoCompleteData.java | 54 --- .../fielddata/AutoCompleteData.java | 22 -- .../fielddata/AutoCompleteSingleData.java | 76 ----- .../fielddata/ComboBoxOption.java | 46 --- .../fielddata/ExternalDatasetData.java | 12 +- .../fielddata/ExternalSelectData.java | 164 +++++++++ .../fielddata/LabelAndMultiplicityData.java | 12 +- .../fielddata/RadioBoxData.java | 23 ++ .../fielddata/RadioBoxOption.java | 24 -- .../fielddata/SelectData.java | 37 +- .../fielddata/UploadData.java | 29 +- .../fielddata/UploadOption.java | 24 -- .../DescriptionPageToDatasetPageMapper.java | 4 +- ...criptionSectionToDatasetSectionMapper.java | 6 +- ...mplateToPublicApiDatasetProfileMapper.java | 12 +- .../DefinitionPersist.java | 19 -- .../FieldSetPersist.java | 3 +- .../PagePersist.java | 30 +- .../SectionPersist.java | 15 - .../AuthAutoCompleteDataPersist.java | 113 ------ .../fielddata/AutoCompleteDataPersist.java | 77 ----- .../AutoCompleteSingleDataPersist.java | 157 --------- .../fielddata/BaseFieldDataPersist.java | 2 +- .../fielddata/ComboBoxOptionPersist.java | 97 ------ .../fielddata/ExternalDatasetDataPersist.java | 16 +- .../fielddata/ExternalSelectDataPersist.java | 321 ++++++++++++++++++ .../LabelAndMultiplicityDataPersist.java | 16 +- .../fielddata/RadioBoxDataPersist.java | 59 ++++ .../fielddata/RadioBoxOptionPersist.java | 73 ---- .../fielddata/SelectDataPersist.java | 84 ++++- .../fielddata/UploadDataPersist.java | 59 ++++ .../fielddata/UploadOptionPersist.java | 73 ---- .../DefinitionPersist.java | 2 +- .../DescriptionTemplateServiceImpl.java | 69 ++-- .../AutoCompleteFieldDataHelperService.java | 242 ------------- .../BaseFieldDataHelperService.java | 18 +- ...ExternalDatasetFieldDataHelperService.java | 6 +- .../ExternalSelectFieldDataHelperService.java | 236 +++++++++++++ .../FieldDataHelperService.java | 14 +- .../FieldDataHelperServiceProvider.java | 2 +- ...AndMultiplicityFieldDataHelperService.java | 6 +- .../RadioBoxFieldDataHelperService.java | 15 +- .../SelectFieldDataHelperService.java | 34 +- .../UploadFieldDataHelperService.java | 15 +- .../prefilling/PrefillingServiceImpl.java | 23 +- ...ublicDatasetsDescriptionDocumentation.java | 63 ++-- .../logic/managers/DatasetProfileManager.java | 19 +- .../ExportXmlBuilderDatasetProfile.java | 180 +++++----- .../components/datasetprofile/Section.java | 2 - .../data/admin/composite/DatasetProfile.java | 2 +- .../components/datasetprofile/Section.java | 2 - .../data/user/composite/DatasetProfile.java | 4 +- 106 files changed, 1982 insertions(+), 2234 deletions(-) delete mode 100644 dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/InternalDmpBaseDataEntity.java rename dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/{MultiplicityImportXml.java => MultiplicityImportExport.java} (69%) delete mode 100644 dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/AuthAutoCompleteData.java delete mode 100644 dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/AutoCompleteDataImportExport.java delete mode 100644 dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/AutoCompleteSingleData.java delete mode 100644 dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/ComboBoxDataOptionEntity.java create mode 100644 dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/ExternalSelectImportExport.java delete mode 100644 dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/RadioBoxOption.java delete mode 100644 dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/UploadDataOption.java delete mode 100644 dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/AuthAutoCompleteDataBuilder.java delete mode 100644 dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/AutoCompleteDataBuilder.java delete mode 100644 dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/AutoCompleteSingleDataBuilder.java delete mode 100644 dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/ComboBoxOptionBuilder.java create mode 100644 dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/ExternalSelectDataBuilder.java delete mode 100644 dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/RadioBoxOptionBuilder.java delete mode 100644 dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/UploadOptionBuilder.java delete mode 100644 dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/AuthAutoCompleteData.java delete mode 100644 dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/AutoCompleteData.java delete mode 100644 dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/AutoCompleteSingleData.java delete mode 100644 dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/ComboBoxOption.java create mode 100644 dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/ExternalSelectData.java delete mode 100644 dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/RadioBoxOption.java delete mode 100644 dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/UploadOption.java delete mode 100644 dmp-backend/core/src/main/java/eu/eudat/model/persist/descriptiontemplatedefinition/fielddata/AuthAutoCompleteDataPersist.java delete mode 100644 dmp-backend/core/src/main/java/eu/eudat/model/persist/descriptiontemplatedefinition/fielddata/AutoCompleteDataPersist.java delete mode 100644 dmp-backend/core/src/main/java/eu/eudat/model/persist/descriptiontemplatedefinition/fielddata/AutoCompleteSingleDataPersist.java delete mode 100644 dmp-backend/core/src/main/java/eu/eudat/model/persist/descriptiontemplatedefinition/fielddata/ComboBoxOptionPersist.java create mode 100644 dmp-backend/core/src/main/java/eu/eudat/model/persist/descriptiontemplatedefinition/fielddata/ExternalSelectDataPersist.java delete mode 100644 dmp-backend/core/src/main/java/eu/eudat/model/persist/descriptiontemplatedefinition/fielddata/RadioBoxOptionPersist.java delete mode 100644 dmp-backend/core/src/main/java/eu/eudat/model/persist/descriptiontemplatedefinition/fielddata/UploadOptionPersist.java delete mode 100644 dmp-backend/core/src/main/java/eu/eudat/service/fielddatahelper/AutoCompleteFieldDataHelperService.java create mode 100644 dmp-backend/core/src/main/java/eu/eudat/service/fielddatahelper/ExternalSelectFieldDataHelperService.java diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/enums/FieldType.java b/dmp-backend/core/src/main/java/eu/eudat/commons/enums/FieldType.java index 3dda56cbe..73715070a 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/enums/FieldType.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/enums/FieldType.java @@ -6,7 +6,7 @@ import eu.eudat.data.converters.enums.DatabaseEnum; import java.util.Map; public enum FieldType implements DatabaseEnum { - AUTO_COMPLETE(Names.Autocomplete), + AUTO_COMPLETE(Names.ExternalSelect), SELECT(Names.Select), BOOLEAN_DECISION(Names.BooleanDecision), RADIO_BOX(Names.RadioBox), @@ -37,12 +37,10 @@ public enum FieldType implements DatabaseEnum { private final String value; public static class Names { - public static final String ComboBox = "combobox"; - public static final String Autocomplete = "autocomplete"; - public static final String Select = "wordlist"; + public static final String ExternalSelect = "externalSelect"; + public static final String Select = "select"; public static final String BooleanDecision = "booleanDecision"; public static final String RadioBox = "radiobox"; - public static final String InternalDmpEntities = "internalDmpEntities"; public static final String InternalDmpResearchers = "internalDmpResearchers"; public static final String InternalDmpDmps = "internalDmpDmps"; public static final String InternalDmpDatasets = "internalDmpDatasets"; diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/DefinitionEntity.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/DefinitionEntity.java index 6178f8691..a53f450dc 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/DefinitionEntity.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/DefinitionEntity.java @@ -8,21 +8,10 @@ import java.util.List; @XmlRootElement(name = "root") @XmlAccessorType(XmlAccessType.FIELD) public class DefinitionEntity { - @XmlElementWrapper(name = "sections") - @XmlElement(name = "section") - private List sections; @XmlElementWrapper(name = "pages") @XmlElement(name = "page") private List pages; - public List getSections() { - return sections; - } - - public void setSections(List sections) { - this.sections = sections; - } - public List getPages() { return pages; } @@ -33,8 +22,8 @@ public class DefinitionEntity { public List getAllField(){ List fieldEntities = new ArrayList<>(); - if (this.getSections() != null){ - for (SectionEntity sectionEntity: this.getSections()) { + if (this.getPages() != null){ + for (PageEntity sectionEntity: this.getPages()) { fieldEntities.addAll(sectionEntity.getAllField()); } } diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/FieldEntity.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/FieldEntity.java index 9f5f65558..be27c44dd 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/FieldEntity.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/FieldEntity.java @@ -25,15 +25,15 @@ public class FieldEntity implements DatabaseViewStyleDefinition { private List visibilityRules; @XmlElements({ - @XmlElement(name = "labelData", type = LabelDataEntity.class), - @XmlElement(name = "labelAndMultiplicityData", type = LabelAndMultiplicityDataEntity.class), - @XmlElement(name = "externalDatasetsData", type = ExternalDatasetDataEntity.class), - @XmlElement(name = "uploadData", type = UploadDataEntity.class), - @XmlElement(name = "radioBoxData", type = RadioBoxDataEntity.class), - @XmlElement(name = "wordListData", type = SelectDataEntity.class), - @XmlElement(name = "autocompleteData", type = ExternalSelectDataEntity.class), + @XmlElement(name = LabelDataEntity.XmlElementName, type = LabelDataEntity.class), + @XmlElement(name = LabelAndMultiplicityDataEntity.XmlElementName, type = LabelAndMultiplicityDataEntity.class), + @XmlElement(name = ExternalDatasetDataEntity.XmlElementName, type = ExternalDatasetDataEntity.class), + @XmlElement(name = UploadDataEntity.XmlElementName, type = UploadDataEntity.class), + @XmlElement(name = RadioBoxDataEntity.XmlElementName, type = RadioBoxDataEntity.class), + @XmlElement(name = SelectDataEntity.XmlElementName, type = SelectDataEntity.class), + @XmlElement(name = ExternalSelectDataEntity.XmlElementName, type = ExternalSelectDataEntity.class), }) - private BaseFieldDataEntity data; + private BaseFieldDataEntity data; @XmlElementWrapper(name = "validations") @XmlElement(name = "validation") private List validations; @@ -61,10 +61,10 @@ public class FieldEntity implements DatabaseViewStyleDefinition { this.schematics = schematics; } - public BaseFieldDataEntity getData() { + public BaseFieldDataEntity getData() { return data; } - public void setData(BaseFieldDataEntity data) { + public void setData(BaseFieldDataEntity data) { this.data = data; } diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/PageEntity.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/PageEntity.java index ec483a1d2..c993f43d5 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/PageEntity.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/PageEntity.java @@ -1,9 +1,10 @@ package eu.eudat.commons.types.descriptiontemplate; import eu.eudat.commons.types.common.DatabaseViewStyleDefinition; -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.*; + +import java.util.ArrayList; +import java.util.List; @XmlAccessorType(XmlAccessType.FIELD) @@ -15,6 +16,18 @@ public class PageEntity implements DatabaseViewStyleDefinition { @XmlAttribute(name="title") private String title; + @XmlElementWrapper(name = "sections") + @XmlElement(name = "section") + private List sections; + + public List getSections() { + return sections; + } + + public void setSections(List sections) { + this.sections = sections; + } + public String getId() { return id; } @@ -39,4 +52,14 @@ public class PageEntity implements DatabaseViewStyleDefinition { this.title = title; } + + public List getAllField(){ + List fieldEntities = new ArrayList<>(); + if (this.getSections() != null){ + for (SectionEntity sectionEntity: this.getSections()) { + fieldEntities.addAll(sectionEntity.getAllField()); + } + } + return fieldEntities; + } } diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/SectionEntity.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/SectionEntity.java index 3785f566f..6260484e8 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/SectionEntity.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/SectionEntity.java @@ -16,8 +16,6 @@ public class SectionEntity implements DatabaseViewStyleDefinition{ private boolean defaultVisibility; @XmlAttribute(name="numbering") private String numbering; - @XmlAttribute(name="page") - private String page; @XmlAttribute(name="title") private String title; @XmlAttribute(name="description") @@ -58,14 +56,6 @@ public class SectionEntity implements DatabaseViewStyleDefinition{ this.defaultVisibility = defaultVisibility; } - public String getPage() { - return page; - } - - public void setPage(String page) { - this.page = page; - } - public String getTitle() { return title; } diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/ExternalDatasetDataEntity.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/ExternalDatasetDataEntity.java index d9d218a52..076fbd667 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/ExternalDatasetDataEntity.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/ExternalDatasetDataEntity.java @@ -13,6 +13,7 @@ import java.util.Map; @XmlAccessorType(XmlAccessType.FIELD) public class ExternalDatasetDataEntity extends LabelAndMultiplicityDataEntity { + public static final String XmlElementName = "externalDatasetsData"; @XmlAttribute(name="type") private FieldDataExternalDatasetType type; diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/ExternalSelectDataEntity.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/ExternalSelectDataEntity.java index 178b513a7..82a95527a 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/ExternalSelectDataEntity.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/ExternalSelectDataEntity.java @@ -1,17 +1,13 @@ package eu.eudat.commons.types.descriptiontemplate.fielddata; -import com.fasterxml.jackson.annotation.JsonValue; -import eu.eudat.commons.enums.EnumUtils; -import eu.eudat.data.converters.enums.DatabaseEnum; import jakarta.xml.bind.annotation.*; import java.util.List; -import java.util.Map; @XmlAccessorType(XmlAccessType.FIELD) public class ExternalSelectDataEntity extends LabelAndMultiplicityDataEntity { - + public static final String XmlElementName = "externalSelectData"; @XmlAccessorType(XmlAccessType.FIELD) public static class ExternalSelectAuthDataEntity { @@ -106,8 +102,8 @@ public class ExternalSelectDataEntity extends LabelAndMultiplicityDataEntity { private String method; @XmlAttribute(name="optionsRoot") private String optionsRoot; - @XmlElement(name="option") - private ExternalSelectSourceBindingEntity externalSelectSourceBindingEntity; + @XmlElement(name="sourceBinding") + private ExternalSelectSourceBindingEntity sourceBinding; @XmlAttribute(name="hasAuth") private Boolean hasAuth; @XmlElement(name="auth") @@ -143,11 +139,11 @@ public class ExternalSelectDataEntity extends LabelAndMultiplicityDataEntity { this.auth = auth; } - public ExternalSelectSourceBindingEntity getExternalSelectSourceBindingEntity() { - return externalSelectSourceBindingEntity; + public ExternalSelectSourceBindingEntity getSourceBinding() { + return sourceBinding; } - public void setExternalSelectSourceBindingEntity(ExternalSelectSourceBindingEntity externalSelectSourceBindingEntity) { - this.externalSelectSourceBindingEntity = externalSelectSourceBindingEntity; + public void setSourceBinding(ExternalSelectSourceBindingEntity sourceBinding) { + this.sourceBinding = sourceBinding; } public String getMethod() { @@ -159,15 +155,15 @@ public class ExternalSelectDataEntity extends LabelAndMultiplicityDataEntity { } } - @XmlElementWrapper(name = "autoCompleteSingleDataList") - @XmlElement(name = "autoCompleteSingleData") + @XmlElementWrapper(name = "sources") + @XmlElement(name = "source") private List sources; - public List getAutoCompleteSingleDataList() { + public List getSources() { return sources; } - public void setAutoCompleteSingleDataList(List externalSelectSourceEntityList) { + public void setSources(List externalSelectSourceEntityList) { this.sources = externalSelectSourceEntityList; } } diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/InternalDmpBaseDataEntity.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/InternalDmpBaseDataEntity.java deleted file mode 100644 index d850c0a0d..000000000 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/InternalDmpBaseDataEntity.java +++ /dev/null @@ -1,9 +0,0 @@ -package eu.eudat.commons.types.descriptiontemplate.fielddata; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlAttribute; - -@XmlAccessorType(XmlAccessType.FIELD) -public class InternalDmpBaseDataEntity extends LabelAndMultiplicityDataEntity { -} diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/LabelAndMultiplicityDataEntity.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/LabelAndMultiplicityDataEntity.java index 14edbd378..a26bebbcd 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/LabelAndMultiplicityDataEntity.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/LabelAndMultiplicityDataEntity.java @@ -6,6 +6,7 @@ import jakarta.xml.bind.annotation.XmlAttribute; @XmlAccessorType(XmlAccessType.FIELD) public class LabelAndMultiplicityDataEntity extends BaseFieldDataEntity { + public static final String XmlElementName = "labelAndMultiplicityData"; @XmlAttribute(name = "multipleSelect") private Boolean multipleSelect; diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/LabelDataEntity.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/LabelDataEntity.java index 3008e7282..9c835d5a8 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/LabelDataEntity.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/LabelDataEntity.java @@ -6,4 +6,5 @@ import jakarta.xml.bind.annotation.XmlAccessorType; @XmlAccessorType(XmlAccessType.FIELD) public class LabelDataEntity extends BaseFieldDataEntity { + public static final String XmlElementName = "labelData"; } diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/RadioBoxDataEntity.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/RadioBoxDataEntity.java index 8ae36d6e4..9b6bb4f87 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/RadioBoxDataEntity.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/RadioBoxDataEntity.java @@ -6,6 +6,7 @@ import java.util.List; @XmlAccessorType(XmlAccessType.FIELD) public class RadioBoxDataEntity extends BaseFieldDataEntity { + public static final String XmlElementName = "radioBoxData"; @XmlAccessorType(XmlAccessType.FIELD) public static class RadioBoxDataOptionEntity { @XmlAttribute(name="label") diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/SelectDataEntity.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/SelectDataEntity.java index dc706436d..51a2dd360 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/SelectDataEntity.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/SelectDataEntity.java @@ -6,6 +6,7 @@ import java.util.List; @XmlAccessorType(XmlAccessType.FIELD) public class SelectDataEntity extends LabelAndMultiplicityDataEntity { + public static final String XmlElementName = "selectData"; @XmlElementWrapper(name = "options") @XmlElement(name = "options") private List options; diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/UploadDataEntity.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/UploadDataEntity.java index 8e3a9bb3b..6b8e592f7 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/UploadDataEntity.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/fielddata/UploadDataEntity.java @@ -7,6 +7,7 @@ import java.util.List; @XmlAccessorType(XmlAccessType.FIELD) public class UploadDataEntity extends BaseFieldDataEntity { + public static final String XmlElementName = "uploadData"; @XmlAccessorType(XmlAccessType.FIELD) public static class UploadDataOptionEntity { diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/FieldImportExport.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/FieldImportExport.java index 2c9b47d85..a501d046e 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/FieldImportExport.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/FieldImportExport.java @@ -34,13 +34,13 @@ public class FieldImportExport { private FieldType fieldType; @XmlElements({ - @XmlElement(name = "labelData", type = LabelDataImportExport.class), - @XmlElement(name = "labelAndMultiplicityData", type = LabelAndMultiplicityDataImportExport.class), - @XmlElement(name = "externalDatasetsData", type = ExternalDatasetDataImportExport.class), - @XmlElement(name = "uploadData", type = UploadDataImportExport.class), - @XmlElement(name = "radioBoxData", type = RadioBoxDataImportExport.class), - @XmlElement(name = "wordListData", type = SelectDataImportExport.class), - @XmlElement(name = "autocompleteData", type = AutoCompleteDataImportExport.class), + @XmlElement(name = LabelDataImportExport.XmlElementName, type = LabelDataImportExport.class), + @XmlElement(name = LabelAndMultiplicityDataImportExport.XmlElementName, type = LabelAndMultiplicityDataImportExport.class), + @XmlElement(name = ExternalDatasetDataImportExport.XmlElementName, type = ExternalDatasetDataImportExport.class), + @XmlElement(name = UploadDataImportExport.XmlElementName, type = UploadDataImportExport.class), + @XmlElement(name = RadioBoxDataImportExport.XmlElementName, type = RadioBoxDataImportExport.class), + @XmlElement(name = SelectDataImportExport.XmlElementName, type = SelectDataImportExport.class), + @XmlElement(name = ExternalSelectImportExport.XmlElementName, type = ExternalSelectImportExport.class), }) private BaseFieldDataImportExport data; diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/FieldSetImportExport.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/FieldSetImportExport.java index 6168ddd97..b0c0dad7b 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/FieldSetImportExport.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/FieldSetImportExport.java @@ -1,37 +1,34 @@ package eu.eudat.commons.types.descriptiontemplate.importexport; -import eu.eudat.model.persist.descriptiontemplatedefinition.FieldPersist; -import eu.eudat.model.persist.descriptiontemplatedefinition.FieldSetPersist; -import eu.eudat.service.fielddatahelper.FieldDataHelperServiceProvider; import jakarta.xml.bind.annotation.*; -import java.util.LinkedList; import java.util.List; @XmlAccessorType(XmlAccessType.FIELD) public class FieldSetImportExport { - @XmlAttribute(name = "id") + @XmlAttribute(name="id") private String id; - @XmlAttribute(name = "ordinal") + @XmlAttribute(name="ordinal") private int ordinal; + @XmlElementWrapper(name = "fields") @XmlElement(name = "field") private List fields; - @XmlElement(name = "numbering") + @XmlAttribute(name="numbering") private String numbering; - @XmlElement(name = "commentField") - private Boolean commentField; - @XmlElement(name = "multiplicity") - private MultiplicityImportXml multiplicity; - @XmlElement(name = "description") - private String description; - @XmlElement(name = "extendedDescription") - private String extendedDescription; - @XmlElement(name = "additionalInformation") - private String additionalInformation; - @XmlElement(name = "title") + @XmlAttribute(name="title") private String title; + @XmlAttribute(name="description") + private String description; + @XmlAttribute(name="extendedDescription") + private String extendedDescription; + @XmlAttribute(name="additionalInformation") + private String additionalInformation; + @XmlElement(name="multiplicity") + private MultiplicityImportExport multiplicity; + @XmlAttribute(name="hasCommentField") + private Boolean hasCommentField; public String getId() { return id; @@ -65,19 +62,18 @@ public class FieldSetImportExport { this.numbering = numbering; } - public Boolean getCommentField() { - return commentField; + public Boolean getHasCommentField() { + return hasCommentField; + } + public void setHasCommentField(Boolean hasCommentField) { + this.hasCommentField = hasCommentField; } - public void setCommentField(Boolean commentField) { - this.commentField = commentField; - } - - public MultiplicityImportXml getMultiplicity() { + public MultiplicityImportExport getMultiplicity() { return multiplicity; } - public void setMultiplicity(MultiplicityImportXml multiplicity) { + public void setMultiplicity(MultiplicityImportExport multiplicity) { this.multiplicity = multiplicity; } diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/MultiplicityImportXml.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/MultiplicityImportExport.java similarity index 69% rename from dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/MultiplicityImportXml.java rename to dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/MultiplicityImportExport.java index 1ee02b8e4..d49891de9 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/MultiplicityImportXml.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/MultiplicityImportExport.java @@ -1,27 +1,21 @@ package eu.eudat.commons.types.descriptiontemplate.importexport; -import eu.eudat.model.persist.descriptiontemplatedefinition.MultiplicityPersist; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; import jakarta.xml.bind.annotation.XmlAttribute; -import jakarta.xml.bind.annotation.XmlRootElement; -@XmlRootElement(name = "multiplicity") -public class MultiplicityImportXml { - private int max; +@XmlAccessorType(XmlAccessType.FIELD) +public class MultiplicityImportExport { + @XmlAttribute(name="min") private int min; + @XmlAttribute(name="max") + private int max; + @XmlAttribute(name="placeholder") private String placeholder; + @XmlAttribute(name="tableView") private boolean tableView; - @XmlAttribute(name = "max") - public int getMax() { - return max; - } - - public void setMax(int max) { - this.max = max; - } - - @XmlAttribute(name = "min") public int getMin() { return min; } @@ -30,7 +24,14 @@ public class MultiplicityImportXml { this.min = min; } - @XmlAttribute(name = "placeholder") + public int getMax() { + return max; + } + + public void setMax(int max) { + this.max = max; + } + public String getPlaceholder() { return placeholder; } @@ -39,7 +40,6 @@ public class MultiplicityImportXml { this.placeholder = placeholder; } - @XmlAttribute(name = "tableView") public boolean getTableView() { return tableView; } diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/RuleImportExport.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/RuleImportExport.java index 3152ed0ea..8b39e2754 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/RuleImportExport.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/RuleImportExport.java @@ -6,12 +6,11 @@ import jakarta.xml.bind.annotation.*; @XmlAccessorType(XmlAccessType.FIELD) public class RuleImportExport { - @XmlAttribute(name = "target") + @XmlAttribute(name="target") private String target; - @XmlAttribute(name = "value") + @XmlAttribute(name="value") private String value; - @XmlAttribute(name = "target") public String getTarget() { return target; } diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/SectionImportExport.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/SectionImportExport.java index 19defe638..d60175de6 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/SectionImportExport.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/SectionImportExport.java @@ -10,8 +10,6 @@ public class SectionImportExport { private String id; @XmlAttribute(name = "ordinal") private int ordinal; - @XmlAttribute(name = "page") - private String page; @XmlAttribute(name = "defaultVisibility") private Boolean defaultVisibility; @XmlElementWrapper(name = "fieldSets") @@ -45,14 +43,6 @@ public class SectionImportExport { this.ordinal = ordinal; } - public String getPage() { - return page; - } - - public void setPage(String page) { - this.page = page; - } - public Boolean getDefaultVisibility() { return defaultVisibility; } diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/AuthAutoCompleteData.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/AuthAutoCompleteData.java deleted file mode 100644 index 7d73c5fc5..000000000 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/AuthAutoCompleteData.java +++ /dev/null @@ -1,59 +0,0 @@ -package eu.eudat.commons.types.descriptiontemplate.importexport.fielddata; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlAttribute; - -@XmlAccessorType(XmlAccessType.FIELD) -public class AuthAutoCompleteData { - @XmlAttribute(name = "url") - private String url; - @XmlAttribute(name = "method") - private String method; - @XmlAttribute(name = "body") - private String body; - @XmlAttribute(name = "path") - private String path; - @XmlAttribute(name = "type") - 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; - } -} diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/AutoCompleteDataImportExport.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/AutoCompleteDataImportExport.java deleted file mode 100644 index 30463979d..000000000 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/AutoCompleteDataImportExport.java +++ /dev/null @@ -1,30 +0,0 @@ -package eu.eudat.commons.types.descriptiontemplate.importexport.fielddata; - -import jakarta.xml.bind.annotation.*; - -import java.util.List; - -@XmlAccessorType(XmlAccessType.FIELD) -public class AutoCompleteDataImportExport extends BaseFieldDataImportExport { - - @XmlAttribute(name = "multiAutoComplete") - private Boolean multiAutoComplete; - - @XmlElementWrapper(name = "autoCompleteSingleDataList") - @XmlElement(name = "autoCompleteSingleData") - private List autoCompleteSingleDataList; - - public Boolean getMultiAutoComplete() { return multiAutoComplete; } - public void setMultiAutoComplete(Boolean multiAutoComplete) { this.multiAutoComplete = multiAutoComplete; } - - public List getAutoCompleteSingleDataList() { - return autoCompleteSingleDataList; - } - - public void setAutoCompleteSingleDataList(List autoCompleteSingleDataList) { - this.autoCompleteSingleDataList = autoCompleteSingleDataList; - } - -} - - diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/AutoCompleteSingleData.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/AutoCompleteSingleData.java deleted file mode 100644 index f9d3e5b16..000000000 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/AutoCompleteSingleData.java +++ /dev/null @@ -1,81 +0,0 @@ -package eu.eudat.commons.types.descriptiontemplate.importexport.fielddata; - -import eu.eudat.commons.types.descriptiontemplate.fielddata.ExternalSelectDataEntity; -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlAttribute; -import jakarta.xml.bind.annotation.XmlElement; - -@XmlAccessorType(XmlAccessType.FIELD) -public class AutoCompleteSingleData { - @XmlAttribute(name = "autocompleteType") - private ExternalSelectDataEntity.AutocompleteType autocompleteType; - @XmlAttribute(name = "url") - private String url; - @XmlElement(name = "autoCompleteOptions") - private ComboBoxDataOptionEntity autoCompleteOptions; - @XmlAttribute(name = "optionsRoot") - private String optionsRoot; - @XmlAttribute(name = "hasAuth") - private Boolean hasAuth; - @XmlElement(name = "auth") - private AuthAutoCompleteData auth; - @XmlAttribute(name = "method") - private String method; - - public ExternalSelectDataEntity.AutocompleteType getAutocompleteType() { - return autocompleteType; - } - - public void setAutocompleteType(ExternalSelectDataEntity.AutocompleteType autocompleteType) { - this.autocompleteType = autocompleteType; - } - - 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 AuthAutoCompleteData getAuth() { - return auth; - } - - public void setAuth(AuthAutoCompleteData auth) { - this.auth = auth; - } - - public ComboBoxDataOptionEntity getAutoCompleteOptions() { - return autoCompleteOptions; - } - - public void setAutoCompleteOptions(ComboBoxDataOptionEntity autoCompleteOptions) { - this.autoCompleteOptions = autoCompleteOptions; - } - - public String getMethod() { - return method; - } - - public void setMethod(String method) { - this.method = method; - } -} diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/BaseFieldDataImportExport.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/BaseFieldDataImportExport.java index 1efc76392..624d459db 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/BaseFieldDataImportExport.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/BaseFieldDataImportExport.java @@ -1,8 +1,11 @@ package eu.eudat.commons.types.descriptiontemplate.importexport.fielddata; import eu.eudat.commons.enums.FieldType; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; import jakarta.xml.bind.annotation.XmlAttribute; +@XmlAccessorType(XmlAccessType.FIELD) public abstract class BaseFieldDataImportExport { @XmlAttribute(name = "label") private String label; diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/ComboBoxDataOptionEntity.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/ComboBoxDataOptionEntity.java deleted file mode 100644 index be997cbaf..000000000 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/ComboBoxDataOptionEntity.java +++ /dev/null @@ -1,48 +0,0 @@ -package eu.eudat.commons.types.descriptiontemplate.importexport.fielddata; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlAttribute; - -@XmlAccessorType(XmlAccessType.FIELD) -public class ComboBoxDataOptionEntity { - @XmlAttribute(name = "label") - private String label; - @XmlAttribute(name = "value") - private String value; - @XmlAttribute(name = "source") - private String source; - @XmlAttribute(name = "uri") - 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/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/ExternalDatasetDataImportExport.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/ExternalDatasetDataImportExport.java index d120d8306..65c44e9c6 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/ExternalDatasetDataImportExport.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/ExternalDatasetDataImportExport.java @@ -6,20 +6,11 @@ import jakarta.xml.bind.annotation.XmlAccessorType; import jakarta.xml.bind.annotation.XmlAttribute; @XmlAccessorType(XmlAccessType.FIELD) -public class ExternalDatasetDataImportExport extends BaseFieldDataImportExport { - @XmlAttribute(name = "multiAutoComplete") - private Boolean multiAutoComplete; +public class ExternalDatasetDataImportExport extends LabelAndMultiplicityDataImportExport { + public static final String XmlElementName = "externalDatasetsData"; @XmlAttribute(name = "type") private FieldDataExternalDatasetType type; - public Boolean getMultiAutoComplete() { - return multiAutoComplete; - } - - public void setMultiAutoComplete(Boolean multiAutoComplete) { - this.multiAutoComplete = multiAutoComplete; - } - public FieldDataExternalDatasetType getType() { return type; } diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/ExternalSelectImportExport.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/ExternalSelectImportExport.java new file mode 100644 index 000000000..f691f5e26 --- /dev/null +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/ExternalSelectImportExport.java @@ -0,0 +1,174 @@ +package eu.eudat.commons.types.descriptiontemplate.importexport.fielddata; + +import jakarta.xml.bind.annotation.*; + +import java.util.List; + +@XmlAccessorType(XmlAccessType.FIELD) +public class ExternalSelectImportExport extends LabelAndMultiplicityDataImportExport { + public static final String XmlElementName = "externalSelectData"; + + + @XmlAccessorType(XmlAccessType.FIELD) + public static class ExternalSelectAuthImportExport { + @XmlAttribute(name="url") + private String url; + @XmlAttribute(name="method") + private String method; + @XmlAttribute(name="body") + private String body; + @XmlAttribute(name="path") + private String path; + @XmlAttribute(name="type") + 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; + } + } + + @XmlAccessorType(XmlAccessType.FIELD) + public static class ExternalSelectSourceBindingImportExport { + @XmlAttribute(name="label") + private String label; + @XmlAttribute(name="value") + private String value; + @XmlAttribute(name="source") + 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; + } + } + + @XmlAccessorType(XmlAccessType.FIELD) + public static class ExternalSelectSourceImportExport { + @XmlAttribute(name="url") + private String url; + @XmlAttribute(name="method") + private String method; + @XmlAttribute(name="optionsRoot") + private String optionsRoot; + @XmlElement(name="sourceBinding") + private ExternalSelectSourceBindingImportExport sourceBinding; + @XmlAttribute(name="hasAuth") + private Boolean hasAuth; + @XmlElement(name="auth") + private ExternalSelectAuthImportExport auth; + + 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 getOptionsRoot() { + return optionsRoot; + } + + public void setOptionsRoot(String optionsRoot) { + this.optionsRoot = optionsRoot; + } + + public ExternalSelectSourceBindingImportExport getSourceBinding() { + return sourceBinding; + } + + public void setSourceBinding(ExternalSelectSourceBindingImportExport sourceBinding) { + this.sourceBinding = sourceBinding; + } + + public Boolean getHasAuth() { + return hasAuth; + } + + public void setHasAuth(Boolean hasAuth) { + this.hasAuth = hasAuth; + } + + public ExternalSelectAuthImportExport getAuth() { + return auth; + } + + public void setAuth(ExternalSelectAuthImportExport auth) { + this.auth = auth; + } + } + @XmlElementWrapper(name = "sources") + @XmlElement(name = "source") + private List sources; + + public List getSources() { + return sources; + } + + public void setSources(List sources) { + this.sources = sources; + } + +} + + diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/LabelAndMultiplicityDataImportExport.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/LabelAndMultiplicityDataImportExport.java index 6c90bcda4..a6905b7b7 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/LabelAndMultiplicityDataImportExport.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/LabelAndMultiplicityDataImportExport.java @@ -6,16 +6,17 @@ import jakarta.xml.bind.annotation.XmlAttribute; @XmlAccessorType(XmlAccessType.FIELD) public class LabelAndMultiplicityDataImportExport extends BaseFieldDataImportExport { + public static final String XmlElementName = "labelAndMultiplicityData"; - @XmlAttribute(name = "multiAutoComplete") - private Boolean multiAutoComplete; + @XmlAttribute(name = "multipleSelect") + private Boolean multipleSelect; - public Boolean getMultiAutoComplete() { - return multiAutoComplete; + public Boolean getMultipleSelect() { + return multipleSelect; } - public void setMultiAutoComplete(Boolean multiAutoComplete) { - this.multiAutoComplete = multiAutoComplete; + public void setMultipleSelect(Boolean multipleSelect) { + this.multipleSelect = multipleSelect; } } diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/LabelDataImportExport.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/LabelDataImportExport.java index 343147b2f..28ac846d9 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/LabelDataImportExport.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/LabelDataImportExport.java @@ -5,5 +5,6 @@ import jakarta.xml.bind.annotation.XmlAccessorType; @XmlAccessorType(XmlAccessType.FIELD) public class LabelDataImportExport extends BaseFieldDataImportExport { + public static final String XmlElementName = "labelData"; } diff --git a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/RadioBoxDataImportExport.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/RadioBoxDataImportExport.java index 3c6715461..039950b8b 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/RadioBoxDataImportExport.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/RadioBoxDataImportExport.java @@ -6,6 +6,7 @@ import java.util.List; @XmlAccessorType(XmlAccessType.FIELD) public class RadioBoxDataImportExport extends BaseFieldDataImportExport { + public static final String XmlElementName = "radioBoxData"; @XmlElementWrapper(name = "options") @XmlElement(name = "option") @@ -18,5 +19,29 @@ public class RadioBoxDataImportExport extends BaseFieldDataImportExport { public void setOptions(List options) { this.options = options; } + + @XmlAccessorType(XmlAccessType.FIELD) + public static class RadioBoxOption { + @XmlAttribute(name = "label") + private String label; + @XmlAttribute(name = "value") + 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/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/RadioBoxOption.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/RadioBoxOption.java deleted file mode 100644 index 98e03eb5f..000000000 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/RadioBoxOption.java +++ /dev/null @@ -1,29 +0,0 @@ -package eu.eudat.commons.types.descriptiontemplate.importexport.fielddata; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlAttribute; - -@XmlAccessorType(XmlAccessType.FIELD) -public class RadioBoxOption { - @XmlAttribute(name = "label") - private String label; - @XmlAttribute(name = "value") - 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/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/SelectDataImportExport.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/SelectDataImportExport.java index 2313f30e9..17a2a440e 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/SelectDataImportExport.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/SelectDataImportExport.java @@ -5,29 +5,41 @@ import jakarta.xml.bind.annotation.*; import java.util.List; @XmlAccessorType(XmlAccessType.FIELD) -public class SelectDataImportExport extends BaseFieldDataImportExport { +public class SelectDataImportExport extends LabelAndMultiplicityDataImportExport { + public static final String XmlElementName = "selectData"; @XmlElementWrapper(name = "options") @XmlElement(name = "options") - private List options; + private List options; - @XmlAttribute(name = "multiList") - private Boolean multiList; - public List getOptions() { + public List getOptions() { return options; } - public void setOptions(List options) { + public void setOptions(List options) { this.options = options; } - public Boolean getMultiList() { - return multiList; - } + @XmlAccessorType(XmlAccessType.FIELD) + public static class OptionImportExport { + @XmlAttribute(name = "label") + private String label; + @XmlAttribute(name = "value") + private String value; - public void setMultiList(Boolean multiList) { - this.multiList = multiList; - } + 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/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/UploadDataImportExport.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/UploadDataImportExport.java index 0cfb6c93c..632dd2f85 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/UploadDataImportExport.java +++ b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/UploadDataImportExport.java @@ -7,6 +7,7 @@ import java.util.List; @XmlAccessorType(XmlAccessType.FIELD) public class UploadDataImportExport extends BaseFieldDataImportExport { + public static final String XmlElementName = "uploadData"; @XmlElementWrapper(name = "types") @XmlElement(name = "type") private List types; @@ -30,5 +31,28 @@ public class UploadDataImportExport extends BaseFieldDataImportExport { this.maxFileSizeInMB = maxFileSizeInMB; } + @XmlAccessorType(XmlAccessType.FIELD) + public static class UploadDataOption { + @XmlAttribute(name = "label") + private String label; + @XmlAttribute(name = "value") + 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/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/UploadDataOption.java b/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/UploadDataOption.java deleted file mode 100644 index 54dbedc1f..000000000 --- a/dmp-backend/core/src/main/java/eu/eudat/commons/types/descriptiontemplate/importexport/fielddata/UploadDataOption.java +++ /dev/null @@ -1,29 +0,0 @@ -package eu.eudat.commons.types.descriptiontemplate.importexport.fielddata; - -import jakarta.xml.bind.annotation.XmlAccessType; -import jakarta.xml.bind.annotation.XmlAccessorType; -import jakarta.xml.bind.annotation.XmlAttribute; - -@XmlAccessorType(XmlAccessType.FIELD) -public class UploadDataOption { - @XmlAttribute(name = "label") - private String label; - @XmlAttribute(name = "value") - 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/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/DefinitionBuilder.java b/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/DefinitionBuilder.java index 51b055910..30e3da456 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/DefinitionBuilder.java +++ b/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/DefinitionBuilder.java @@ -45,13 +45,11 @@ public class DefinitionBuilder extends BaseBuilder return new ArrayList<>(); //Not Bulk Build because is XML no interaction with db - FieldSet sectionsFields = fields.extractPrefixed(this.asPrefix(Definition._sections)); FieldSet pagesFields = fields.extractPrefixed(this.asPrefix(Definition._pages)); List models = new ArrayList<>(); for (DefinitionEntity d : data) { Definition m = new Definition(); - if (!sectionsFields.isEmpty() && d.getSections() != null) m.setSections(this.builderFactory.builder(SectionBuilder.class).authorize(this.authorize).build(sectionsFields, d.getSections())); if (!pagesFields.isEmpty() && d.getPages() != null) m.setPages(this.builderFactory.builder(PageBuilder.class).authorize(this.authorize).build(pagesFields, d.getPages())); models.add(m); } diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/PageBuilder.java b/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/PageBuilder.java index e81d1f4af..cec98d4fd 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/PageBuilder.java +++ b/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/PageBuilder.java @@ -4,7 +4,9 @@ import eu.eudat.authorization.AuthorizationFlags; import eu.eudat.commons.types.descriptiontemplate.PageEntity; import eu.eudat.convention.ConventionService; import eu.eudat.model.builder.BaseBuilder; +import eu.eudat.model.descriptiontemplatedefinition.Definition; import eu.eudat.model.descriptiontemplatedefinition.Page; +import gr.cite.tools.data.builder.BuilderFactory; import gr.cite.tools.exception.MyApplicationException; import gr.cite.tools.fieldset.FieldSet; import gr.cite.tools.logging.DataLogEntry; @@ -21,12 +23,15 @@ import java.util.*; @Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) public class PageBuilder extends BaseBuilder { + private final BuilderFactory builderFactory; + private EnumSet authorize = EnumSet.of(AuthorizationFlags.None); @Autowired public PageBuilder( - ConventionService conventionService) { + ConventionService conventionService, BuilderFactory builderFactory) { super(conventionService, new LoggerService(LoggerFactory.getLogger(PageBuilder.class))); + this.builderFactory = builderFactory; } public PageBuilder authorize(EnumSet values) { @@ -42,11 +47,13 @@ public class PageBuilder extends BaseBuilder { return new ArrayList<>(); List models = new ArrayList<>(); + FieldSet sectionsFields = fields.extractPrefixed(this.asPrefix(Page._sections)); for (PageEntity d : data) { Page m = new Page(); if (fields.hasField(this.asIndexer(Page._id))) m.setId(d.getId()); if (fields.hasField(this.asIndexer(Page._ordinal))) m.setOrdinal(d.getOrdinal()); if (fields.hasField(this.asIndexer(Page._title))) m.setTitle(d.getTitle()); + if (!sectionsFields.isEmpty() && d.getSections() != null) m.setSections(this.builderFactory.builder(SectionBuilder.class).authorize(this.authorize).build(sectionsFields, d.getSections())); models.add(m); } this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0)); diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/SectionBuilder.java b/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/SectionBuilder.java index 0aed03ab3..757ab6703 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/SectionBuilder.java +++ b/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/SectionBuilder.java @@ -56,7 +56,6 @@ public class SectionBuilder extends BaseBuilder { if (fields.hasField(this.asIndexer(Section._defaultVisibility))) m.setDefaultVisibility(d.isDefaultVisibility()); if (fields.hasField(this.asIndexer(Section._multiplicity))) m.setMultiplicity(d.getMultiplicity()); if (fields.hasField(this.asIndexer(Section._numbering))) m.setNumbering(d.getNumbering()); - if (fields.hasField(this.asIndexer(Section._page))) m.setPage(d.getPage()); if (fields.hasField(this.asIndexer(Section._title))) m.setTitle(d.getTitle()); if (fields.hasField(this.asIndexer(Section._extendedDescription))) m.setExtendedDescription(d.getExtendedDescription()); if (d.getSections() != null) m.setSections(this.builderFactory.builder(SectionBuilder.class).authorize(this.authorize).build(fields, d.getSections())); diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/AuthAutoCompleteDataBuilder.java b/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/AuthAutoCompleteDataBuilder.java deleted file mode 100644 index 3373be853..000000000 --- a/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/AuthAutoCompleteDataBuilder.java +++ /dev/null @@ -1,57 +0,0 @@ -package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata; - -import eu.eudat.authorization.AuthorizationFlags; -import eu.eudat.commons.types.descriptiontemplate.fielddata.ExternalSelectDataEntity; -import eu.eudat.convention.ConventionService; -import eu.eudat.model.builder.BaseBuilder; -import eu.eudat.model.descriptiontemplatedefinition.fielddata.AuthAutoCompleteData; -import gr.cite.tools.exception.MyApplicationException; -import gr.cite.tools.fieldset.FieldSet; -import gr.cite.tools.logging.DataLogEntry; -import gr.cite.tools.logging.LoggerService; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.config.ConfigurableBeanFactory; -import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; - -import java.util.*; - -@Component -@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) -public class AuthAutoCompleteDataBuilder extends BaseBuilder { - - private EnumSet authorize = EnumSet.of(AuthorizationFlags.None); - - @Autowired - public AuthAutoCompleteDataBuilder( - ConventionService conventionService) { - super(conventionService, new LoggerService(LoggerFactory.getLogger(AuthAutoCompleteDataBuilder.class))); - } - - public AuthAutoCompleteDataBuilder authorize(EnumSet values) { - this.authorize = values; - return this; - } - - @Override - public List build(FieldSet fields, List data) throws MyApplicationException { - this.logger.debug("building for {} items requesting {} fields", Optional.ofNullable(data).map(List::size).orElse(0), Optional.ofNullable(fields).map(FieldSet::getFields).map(Set::size).orElse(0)); - this.logger.trace(new DataLogEntry("requested fields", fields)); - if (fields == null || data == null || fields.isEmpty()) - return new ArrayList<>(); - - List models = new ArrayList<>(); - for (ExternalSelectDataEntity.ExternalSelectAuthDataEntity d : data) { - AuthAutoCompleteData m = new AuthAutoCompleteData(); - if (fields.hasField(this.asIndexer(AuthAutoCompleteData._url))) m.setUrl(d.getUrl()); - if (fields.hasField(this.asIndexer(AuthAutoCompleteData._method))) m.setMethod(d.getMethod()); - if (fields.hasField(this.asIndexer(AuthAutoCompleteData._body))) m.setBody(d.getBody()); - if (fields.hasField(this.asIndexer(AuthAutoCompleteData._path))) m.setPath(d.getPath()); - if (fields.hasField(this.asIndexer(AuthAutoCompleteData._type))) m.setType(d.getType()); - models.add(m); - } - this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0)); - return models; - } -} diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/AutoCompleteDataBuilder.java b/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/AutoCompleteDataBuilder.java deleted file mode 100644 index 2d7c12211..000000000 --- a/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/AutoCompleteDataBuilder.java +++ /dev/null @@ -1,37 +0,0 @@ -package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata; - -import eu.eudat.commons.types.descriptiontemplate.fielddata.ExternalSelectDataEntity; -import eu.eudat.convention.ConventionService; -import eu.eudat.model.descriptiontemplatedefinition.fielddata.AutoCompleteData; -import gr.cite.tools.data.builder.BuilderFactory; -import gr.cite.tools.fieldset.FieldSet; -import gr.cite.tools.logging.LoggerService; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.config.ConfigurableBeanFactory; -import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; - -@Component -@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) -public class AutoCompleteDataBuilder extends BaseFieldDataBuilder { - private final BuilderFactory builderFactory; - @Autowired - public AutoCompleteDataBuilder(ConventionService conventionService, BuilderFactory builderFactory) { - super(conventionService, new LoggerService(LoggerFactory.getLogger(AutoCompleteDataBuilder.class))); - this.builderFactory = builderFactory; - } - - @Override - protected AutoCompleteData getInstance() { - return new AutoCompleteData(); - } - - @Override - protected void buildChild(FieldSet fields, ExternalSelectDataEntity d, AutoCompleteData m) { - FieldSet autoCompleteSingleDataListFields = fields.extractPrefixed(this.asPrefix(AutoCompleteData._autoCompleteSingleDataList)); - if (fields.hasField(this.asIndexer(AutoCompleteData._multiAutoComplete))) m.setMultiAutoComplete(d.getMultipleSelect()); - if (!autoCompleteSingleDataListFields.isEmpty() && d.getAutoCompleteSingleDataList() != null) m.setAutoCompleteSingleDataList(this.builderFactory.builder(AutoCompleteSingleDataBuilder.class).authorize(this.authorize).build(autoCompleteSingleDataListFields, d.getAutoCompleteSingleDataList())); - - } -} diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/AutoCompleteSingleDataBuilder.java b/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/AutoCompleteSingleDataBuilder.java deleted file mode 100644 index 173f25a82..000000000 --- a/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/AutoCompleteSingleDataBuilder.java +++ /dev/null @@ -1,64 +0,0 @@ -package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata; - -import eu.eudat.authorization.AuthorizationFlags; -import eu.eudat.commons.types.descriptiontemplate.fielddata.ExternalSelectDataEntity; -import eu.eudat.convention.ConventionService; -import eu.eudat.model.builder.BaseBuilder; -import eu.eudat.model.descriptiontemplatedefinition.fielddata.AutoCompleteSingleData; -import gr.cite.tools.data.builder.BuilderFactory; -import gr.cite.tools.exception.MyApplicationException; -import gr.cite.tools.fieldset.FieldSet; -import gr.cite.tools.logging.DataLogEntry; -import gr.cite.tools.logging.LoggerService; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.config.ConfigurableBeanFactory; -import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; - -import java.util.*; - -@Component -@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) -public class AutoCompleteSingleDataBuilder extends BaseBuilder { - - private EnumSet authorize = EnumSet.of(AuthorizationFlags.None); - private final BuilderFactory builderFactory; - - @Autowired - public AutoCompleteSingleDataBuilder( - ConventionService conventionService, BuilderFactory builderFactory) { - super(conventionService, new LoggerService(LoggerFactory.getLogger(AutoCompleteSingleDataBuilder.class))); - this.builderFactory = builderFactory; - } - - public AutoCompleteSingleDataBuilder authorize(EnumSet values) { - this.authorize = values; - return this; - } - - @Override - public List build(FieldSet fields, List data) throws MyApplicationException { - this.logger.debug("building for {} items requesting {} fields", Optional.ofNullable(data).map(List::size).orElse(0), Optional.ofNullable(fields).map(FieldSet::getFields).map(Set::size).orElse(0)); - this.logger.trace(new DataLogEntry("requested fields", fields)); - if (fields == null || data == null || fields.isEmpty()) - return new ArrayList<>(); - - FieldSet autoCompleteOptionsFields = fields.extractPrefixed(this.asPrefix(AutoCompleteSingleData._autoCompleteOptions)); - FieldSet authFields = fields.extractPrefixed(this.asPrefix(AutoCompleteSingleData._auth)); - List models = new ArrayList<>(); - for (ExternalSelectDataEntity.ExternalSelectSourceEntity d : data) { - AutoCompleteSingleData m = new AutoCompleteSingleData(); - if (fields.hasField(this.asIndexer(AutoCompleteSingleData._autocompleteType))) m.setAutocompleteType(d.getAutocompleteType()); - if (fields.hasField(this.asIndexer(AutoCompleteSingleData._url))) m.setUrl(d.getUrl()); - if (fields.hasField(this.asIndexer(AutoCompleteSingleData._optionsRoot))) m.setOptionsRoot(d.getOptionsRoot()); - if (fields.hasField(this.asIndexer(AutoCompleteSingleData._hasAuth))) m.setHasAuth(d.getHasAuth()); - if (fields.hasField(this.asIndexer(AutoCompleteSingleData._method))) m.setMethod(d.getMethod()); - if (!autoCompleteOptionsFields.isEmpty() && d.getExternalSelectSourceBindingEntity() != null) m.setAutoCompleteOptions(this.builderFactory.builder(ComboBoxOptionBuilder.class).authorize(this.authorize).build(autoCompleteOptionsFields, d.getExternalSelectSourceBindingEntity())); - if (!authFields.isEmpty() && d.getAuth() != null) m.setAuth(this.builderFactory.builder(AuthAutoCompleteDataBuilder.class).authorize(this.authorize).build(authFields, d.getAuth())); - models.add(m); - } - this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0)); - return models; - } -} diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/BaseFieldDataBuilder.java b/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/BaseFieldDataBuilder.java index 8f61f8caf..b5191451c 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/BaseFieldDataBuilder.java +++ b/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/BaseFieldDataBuilder.java @@ -16,7 +16,7 @@ import org.springframework.stereotype.Component; import java.util.*; -public abstract class BaseFieldDataBuilder> extends BaseBuilder { +public abstract class BaseFieldDataBuilder extends BaseBuilder { protected EnumSet authorize = EnumSet.of(AuthorizationFlags.None); diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/ComboBoxOptionBuilder.java b/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/ComboBoxOptionBuilder.java deleted file mode 100644 index 875cd8b82..000000000 --- a/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/ComboBoxOptionBuilder.java +++ /dev/null @@ -1,55 +0,0 @@ -package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata; - -import eu.eudat.authorization.AuthorizationFlags; -import eu.eudat.convention.ConventionService; -import eu.eudat.model.builder.BaseBuilder; -import eu.eudat.model.descriptiontemplatedefinition.fielddata.ComboBoxOption; -import gr.cite.tools.exception.MyApplicationException; -import gr.cite.tools.fieldset.FieldSet; -import gr.cite.tools.logging.DataLogEntry; -import gr.cite.tools.logging.LoggerService; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.config.ConfigurableBeanFactory; -import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; - -import java.util.*; - -@Component -@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) -public class ComboBoxOptionBuilder extends BaseBuilder { - - private EnumSet authorize = EnumSet.of(AuthorizationFlags.None); - - @Autowired - public ComboBoxOptionBuilder( - ConventionService conventionService) { - super(conventionService, new LoggerService(LoggerFactory.getLogger(ComboBoxOptionBuilder.class))); - } - - public ComboBoxOptionBuilder authorize(EnumSet values) { - this.authorize = values; - return this; - } - - @Override - public List build(FieldSet fields, List data) throws MyApplicationException { - this.logger.debug("building for {} items requesting {} fields", Optional.ofNullable(data).map(List::size).orElse(0), Optional.ofNullable(fields).map(FieldSet::getFields).map(Set::size).orElse(0)); - this.logger.trace(new DataLogEntry("requested fields", fields)); - if (fields == null || data == null || fields.isEmpty()) - return new ArrayList<>(); - - List models = new ArrayList<>(); - for (ComboBoxDataEntity.Option d : data) { - ComboBoxOption m = new ComboBoxOption(); - if (fields.hasField(this.asIndexer(ComboBoxOption._label))) m.setLabel(d.getLabel()); - if (fields.hasField(this.asIndexer(ComboBoxOption._source))) m.setSource(d.getSource()); - if (fields.hasField(this.asIndexer(ComboBoxOption._uri))) m.setUri(d.getUri()); - if (fields.hasField(this.asIndexer(ComboBoxOption._value))) m.setValue(d.getValue()); - models.add(m); - } - this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0)); - return models; - } -} diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/ExternalDatasetDataBuilder.java b/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/ExternalDatasetDataBuilder.java index f45952ba5..31822aef3 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/ExternalDatasetDataBuilder.java +++ b/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/ExternalDatasetDataBuilder.java @@ -25,7 +25,7 @@ public class ExternalDatasetDataBuilder extends BaseFieldDataBuilder { + private final BuilderFactory builderFactory; + @Autowired + public ExternalSelectDataBuilder(ConventionService conventionService, BuilderFactory builderFactory) { + super(conventionService, new LoggerService(LoggerFactory.getLogger(ExternalSelectDataBuilder.class))); + this.builderFactory = builderFactory; + } + + @Override + protected ExternalSelectData getInstance() { + return new ExternalSelectData(); + } + + @Override + protected void buildChild(FieldSet fields, ExternalSelectDataEntity d, ExternalSelectData m) { + FieldSet sourcesFields = fields.extractPrefixed(this.asPrefix(ExternalSelectData._sources)); + if (fields.hasField(this.asIndexer(ExternalSelectData._multipleSelect))) m.setMultipleSelect(d.getMultipleSelect()); + if (!sourcesFields.isEmpty() && d.getSources() != null) m.setSources(this.builderFactory.builder(ExternalSelectSourceBuilder.class).authorize(this.authorize).build(sourcesFields, d.getSources())); + + } + + @Component + @Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) + public static class ExternalSelectSourceBindingBuilder extends BaseBuilder { + + private EnumSet authorize = EnumSet.of(AuthorizationFlags.None); + + @Autowired + public ExternalSelectSourceBindingBuilder( + ConventionService conventionService) { + super(conventionService, new LoggerService(LoggerFactory.getLogger(SelectDataBuilder.SelectOptionBuilder.class))); + } + + public ExternalSelectSourceBindingBuilder authorize(EnumSet values) { + this.authorize = values; + return this; + } + + @Override + public List build(FieldSet fields, List data) throws MyApplicationException { + this.logger.debug("building for {} items requesting {} fields", Optional.ofNullable(data).map(List::size).orElse(0), Optional.ofNullable(fields).map(FieldSet::getFields).map(Set::size).orElse(0)); + this.logger.trace(new DataLogEntry("requested fields", fields)); + if (fields == null || data == null || fields.isEmpty()) + return new ArrayList<>(); + + List models = new ArrayList<>(); + for (ExternalSelectDataEntity.ExternalSelectSourceBindingEntity d : data) { + ExternalSelectData.ExternalSelectSourceBinding m = new ExternalSelectData.ExternalSelectSourceBinding(); + if (fields.hasField(this.asIndexer(ExternalSelectData.ExternalSelectSourceBinding._label))) m.setLabel(d.getLabel()); + if (fields.hasField(this.asIndexer(ExternalSelectData.ExternalSelectSourceBinding._value))) m.setValue(d.getValue()); + if (fields.hasField(this.asIndexer(ExternalSelectData.ExternalSelectSourceBinding._source))) m.setSource(d.getSource()); + models.add(m); + } + this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0)); + return models; + } + } + + @Component + @Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) + public static class ExternalSelectSourceBuilder extends BaseBuilder { + + private EnumSet authorize = EnumSet.of(AuthorizationFlags.None); + private final BuilderFactory builderFactory; + + @Autowired + public ExternalSelectSourceBuilder( + ConventionService conventionService, BuilderFactory builderFactory) { + super(conventionService, new LoggerService(LoggerFactory.getLogger(ExternalSelectSourceBuilder.class))); + this.builderFactory = builderFactory; + } + + public ExternalSelectSourceBuilder authorize(EnumSet values) { + this.authorize = values; + return this; + } + + @Override + public List build(FieldSet fields, List data) throws MyApplicationException { + this.logger.debug("building for {} items requesting {} fields", Optional.ofNullable(data).map(List::size).orElse(0), Optional.ofNullable(fields).map(FieldSet::getFields).map(Set::size).orElse(0)); + this.logger.trace(new DataLogEntry("requested fields", fields)); + if (fields == null || data == null || fields.isEmpty()) + return new ArrayList<>(); + + FieldSet sourceBindingFields = fields.extractPrefixed(this.asPrefix(ExternalSelectData.ExternalSelectSource._sourceBinding)); + FieldSet authFields = fields.extractPrefixed(this.asPrefix(ExternalSelectData.ExternalSelectSource._auth)); + List models = new ArrayList<>(); + for (ExternalSelectDataEntity.ExternalSelectSourceEntity d : data) { + ExternalSelectData.ExternalSelectSource m = new ExternalSelectData.ExternalSelectSource(); + if (fields.hasField(this.asIndexer(ExternalSelectData.ExternalSelectSource._url))) m.setUrl(d.getUrl()); + if (fields.hasField(this.asIndexer(ExternalSelectData.ExternalSelectSource._optionsRoot))) m.setOptionsRoot(d.getOptionsRoot()); + if (fields.hasField(this.asIndexer(ExternalSelectData.ExternalSelectSource._hasAuth))) m.setHasAuth(d.getHasAuth()); + if (fields.hasField(this.asIndexer(ExternalSelectData.ExternalSelectSource._method))) m.setMethod(d.getMethod()); + if (!sourceBindingFields.isEmpty() && d.getSourceBinding() != null) m.setSourceBinding(this.builderFactory.builder(ExternalSelectSourceBindingBuilder.class).authorize(this.authorize).build(sourceBindingFields, d.getSourceBinding())); + if (!authFields.isEmpty() && d.getAuth() != null) m.setAuth(this.builderFactory.builder(ExternalSelectAuthDataBuilder.class).authorize(this.authorize).build(authFields, d.getAuth())); + models.add(m); + } + this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0)); + return models; + } + } + + @Component + @Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) + public static class ExternalSelectAuthDataBuilder extends BaseBuilder { + + private EnumSet authorize = EnumSet.of(AuthorizationFlags.None); + + @Autowired + public ExternalSelectAuthDataBuilder( + ConventionService conventionService) { + super(conventionService, new LoggerService(LoggerFactory.getLogger(ExternalSelectAuthDataBuilder.class))); + } + + public ExternalSelectAuthDataBuilder authorize(EnumSet values) { + this.authorize = values; + return this; + } + + @Override + public List build(FieldSet fields, List data) throws MyApplicationException { + this.logger.debug("building for {} items requesting {} fields", Optional.ofNullable(data).map(List::size).orElse(0), Optional.ofNullable(fields).map(FieldSet::getFields).map(Set::size).orElse(0)); + this.logger.trace(new DataLogEntry("requested fields", fields)); + if (fields == null || data == null || fields.isEmpty()) + return new ArrayList<>(); + + List models = new ArrayList<>(); + for (ExternalSelectDataEntity.ExternalSelectAuthDataEntity d : data) { + ExternalSelectData.ExternalSelectAuthData m = new ExternalSelectData.ExternalSelectAuthData(); + if (fields.hasField(this.asIndexer(ExternalSelectData.ExternalSelectAuthData._url))) m.setUrl(d.getUrl()); + if (fields.hasField(this.asIndexer(ExternalSelectData.ExternalSelectAuthData._method))) m.setMethod(d.getMethod()); + if (fields.hasField(this.asIndexer(ExternalSelectData.ExternalSelectAuthData._body))) m.setBody(d.getBody()); + if (fields.hasField(this.asIndexer(ExternalSelectData.ExternalSelectAuthData._path))) m.setPath(d.getPath()); + if (fields.hasField(this.asIndexer(ExternalSelectData.ExternalSelectAuthData._type))) m.setType(d.getType()); + models.add(m); + } + this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0)); + return models; + } + } +} diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/LabelAndMultiplicityDataBuilder.java b/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/LabelAndMultiplicityDataBuilder.java index 9c4a1ced9..02cddff94 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/LabelAndMultiplicityDataBuilder.java +++ b/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/LabelAndMultiplicityDataBuilder.java @@ -25,6 +25,6 @@ public class LabelAndMultiplicityDataBuilder extends BaseFieldDataBuilder { @@ -33,4 +37,40 @@ public class RadioBoxDataBuilder extends BaseFieldDataBuilder { + + private EnumSet authorize = EnumSet.of(AuthorizationFlags.None); + + @Autowired + public RadioBoxOptionBuilder( + ConventionService conventionService) { + super(conventionService, new LoggerService(LoggerFactory.getLogger(RadioBoxOptionBuilder.class))); + } + + public RadioBoxOptionBuilder authorize(EnumSet values) { + this.authorize = values; + return this; + } + + @Override + public List build(FieldSet fields, List data) throws MyApplicationException { + this.logger.debug("building for {} items requesting {} fields", Optional.ofNullable(data).map(List::size).orElse(0), Optional.ofNullable(fields).map(FieldSet::getFields).map(Set::size).orElse(0)); + this.logger.trace(new DataLogEntry("requested fields", fields)); + if (fields == null || data == null || fields.isEmpty()) + return new ArrayList<>(); + + List models = new ArrayList<>(); + for (RadioBoxDataEntity.RadioBoxDataOptionEntity d : data) { + RadioBoxData.RadioBoxOption m = new RadioBoxData.RadioBoxOption(); + if (fields.hasField(this.asIndexer(RadioBoxData.RadioBoxOption._label))) m.setLabel(d.getLabel()); + if (fields.hasField(this.asIndexer(RadioBoxData.RadioBoxOption._value))) m.setValue(d.getValue()); + models.add(m); + } + this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0)); + return models; + } + } } diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/RadioBoxOptionBuilder.java b/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/RadioBoxOptionBuilder.java deleted file mode 100644 index 31004389a..000000000 --- a/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/RadioBoxOptionBuilder.java +++ /dev/null @@ -1,54 +0,0 @@ -package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata; - -import eu.eudat.authorization.AuthorizationFlags; -import eu.eudat.commons.types.descriptiontemplate.fielddata.RadioBoxDataEntity; -import eu.eudat.convention.ConventionService; -import eu.eudat.model.builder.BaseBuilder; -import eu.eudat.model.descriptiontemplatedefinition.fielddata.RadioBoxOption; -import gr.cite.tools.exception.MyApplicationException; -import gr.cite.tools.fieldset.FieldSet; -import gr.cite.tools.logging.DataLogEntry; -import gr.cite.tools.logging.LoggerService; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.config.ConfigurableBeanFactory; -import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; - -import java.util.*; - -@Component -@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) -public class RadioBoxOptionBuilder extends BaseBuilder { - - private EnumSet authorize = EnumSet.of(AuthorizationFlags.None); - - @Autowired - public RadioBoxOptionBuilder( - ConventionService conventionService) { - super(conventionService, new LoggerService(LoggerFactory.getLogger(RadioBoxOptionBuilder.class))); - } - - public RadioBoxOptionBuilder authorize(EnumSet values) { - this.authorize = values; - return this; - } - - @Override - public List build(FieldSet fields, List data) throws MyApplicationException { - this.logger.debug("building for {} items requesting {} fields", Optional.ofNullable(data).map(List::size).orElse(0), Optional.ofNullable(fields).map(FieldSet::getFields).map(Set::size).orElse(0)); - this.logger.trace(new DataLogEntry("requested fields", fields)); - if (fields == null || data == null || fields.isEmpty()) - return new ArrayList<>(); - - List models = new ArrayList<>(); - for (RadioBoxDataEntity.RadioBoxDataOptionEntity d : data) { - RadioBoxOption m = new RadioBoxOption(); - if (fields.hasField(this.asIndexer(RadioBoxOption._label))) m.setLabel(d.getLabel()); - if (fields.hasField(this.asIndexer(RadioBoxOption._value))) m.setValue(d.getValue()); - models.add(m); - } - this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0)); - return models; - } -} diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/SelectDataBuilder.java b/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/SelectDataBuilder.java index a0a396f1c..c34932b89 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/SelectDataBuilder.java +++ b/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/SelectDataBuilder.java @@ -1,10 +1,14 @@ package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata; +import eu.eudat.authorization.AuthorizationFlags; import eu.eudat.commons.types.descriptiontemplate.fielddata.SelectDataEntity; import eu.eudat.convention.ConventionService; +import eu.eudat.model.builder.BaseBuilder; import eu.eudat.model.descriptiontemplatedefinition.fielddata.SelectData; import gr.cite.tools.data.builder.BuilderFactory; +import gr.cite.tools.exception.MyApplicationException; import gr.cite.tools.fieldset.FieldSet; +import gr.cite.tools.logging.DataLogEntry; import gr.cite.tools.logging.LoggerService; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -12,6 +16,8 @@ import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; +import java.util.*; + @Component @Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) public class SelectDataBuilder extends BaseFieldDataBuilder { @@ -30,8 +36,44 @@ public class SelectDataBuilder extends BaseFieldDataBuilder { + + private EnumSet authorize = EnumSet.of(AuthorizationFlags.None); + + @Autowired + public SelectOptionBuilder( + ConventionService conventionService) { + super(conventionService, new LoggerService(LoggerFactory.getLogger(SelectOptionBuilder.class))); + } + + public SelectOptionBuilder authorize(EnumSet values) { + this.authorize = values; + return this; + } + + @Override + public List build(FieldSet fields, List data) throws MyApplicationException { + this.logger.debug("building for {} items requesting {} fields", Optional.ofNullable(data).map(List::size).orElse(0), Optional.ofNullable(fields).map(FieldSet::getFields).map(Set::size).orElse(0)); + this.logger.trace(new DataLogEntry("requested fields", fields)); + if (fields == null || data == null || fields.isEmpty()) + return new ArrayList<>(); + + List models = new ArrayList<>(); + for (SelectDataEntity.OptionEntity d : data) { + SelectData.Option m = new SelectData.Option(); + if (fields.hasField(this.asIndexer(SelectData.Option._label))) m.setLabel(d.getLabel()); + if (fields.hasField(this.asIndexer(SelectData.Option._value))) m.setValue(d.getValue()); + models.add(m); + } + this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0)); + return models; + } + } } diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/UploadDataBuilder.java b/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/UploadDataBuilder.java index 67e137591..101d5ebce 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/UploadDataBuilder.java +++ b/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/UploadDataBuilder.java @@ -1,10 +1,14 @@ package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata; +import eu.eudat.authorization.AuthorizationFlags; import eu.eudat.commons.types.descriptiontemplate.fielddata.UploadDataEntity; import eu.eudat.convention.ConventionService; +import eu.eudat.model.builder.BaseBuilder; import eu.eudat.model.descriptiontemplatedefinition.fielddata.UploadData; import gr.cite.tools.data.builder.BuilderFactory; +import gr.cite.tools.exception.MyApplicationException; import gr.cite.tools.fieldset.FieldSet; +import gr.cite.tools.logging.DataLogEntry; import gr.cite.tools.logging.LoggerService; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -12,6 +16,8 @@ import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; +import java.util.*; + @Component @Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) public class UploadDataBuilder extends BaseFieldDataBuilder { @@ -31,4 +37,40 @@ public class UploadDataBuilder extends BaseFieldDataBuilder { + + private EnumSet authorize = EnumSet.of(AuthorizationFlags.None); + + @Autowired + public UploadOptionBuilder( + ConventionService conventionService) { + super(conventionService, new LoggerService(LoggerFactory.getLogger(UploadOptionBuilder.class))); + } + + public UploadOptionBuilder authorize(EnumSet values) { + this.authorize = values; + return this; + } + + @Override + public List build(FieldSet fields, List data) throws MyApplicationException { + this.logger.debug("building for {} items requesting {} fields", Optional.ofNullable(data).map(List::size).orElse(0), Optional.ofNullable(fields).map(FieldSet::getFields).map(Set::size).orElse(0)); + this.logger.trace(new DataLogEntry("requested fields", fields)); + if (fields == null || data == null || fields.isEmpty()) + return new ArrayList<>(); + + List models = new ArrayList<>(); + for (UploadDataEntity.UploadDataOptionEntity d : data) { + UploadData.UploadOption m = new UploadData.UploadOption(); + if (fields.hasField(this.asIndexer(UploadData.UploadOption._label))) m.setLabel(d.getLabel()); + if (fields.hasField(this.asIndexer(UploadData.UploadOption._value))) m.setValue(d.getValue()); + models.add(m); + } + this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0)); + return models; + } + } } diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/UploadOptionBuilder.java b/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/UploadOptionBuilder.java deleted file mode 100644 index 78353679a..000000000 --- a/dmp-backend/core/src/main/java/eu/eudat/model/builder/descriptiontemplatedefinition/fielddata/UploadOptionBuilder.java +++ /dev/null @@ -1,54 +0,0 @@ -package eu.eudat.model.builder.descriptiontemplatedefinition.fielddata; - -import eu.eudat.authorization.AuthorizationFlags; -import eu.eudat.commons.types.descriptiontemplate.fielddata.UploadDataEntity; -import eu.eudat.convention.ConventionService; -import eu.eudat.model.builder.BaseBuilder; -import eu.eudat.model.descriptiontemplatedefinition.fielddata.UploadOption; -import gr.cite.tools.exception.MyApplicationException; -import gr.cite.tools.fieldset.FieldSet; -import gr.cite.tools.logging.DataLogEntry; -import gr.cite.tools.logging.LoggerService; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.config.ConfigurableBeanFactory; -import org.springframework.context.annotation.Scope; -import org.springframework.stereotype.Component; - -import java.util.*; - -@Component -@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) -public class UploadOptionBuilder extends BaseBuilder { - - private EnumSet authorize = EnumSet.of(AuthorizationFlags.None); - - @Autowired - public UploadOptionBuilder( - ConventionService conventionService) { - super(conventionService, new LoggerService(LoggerFactory.getLogger(UploadOptionBuilder.class))); - } - - public UploadOptionBuilder authorize(EnumSet values) { - this.authorize = values; - return this; - } - - @Override - public List build(FieldSet fields, List data) throws MyApplicationException { - this.logger.debug("building for {} items requesting {} fields", Optional.ofNullable(data).map(List::size).orElse(0), Optional.ofNullable(fields).map(FieldSet::getFields).map(Set::size).orElse(0)); - this.logger.trace(new DataLogEntry("requested fields", fields)); - if (fields == null || data == null || fields.isEmpty()) - return new ArrayList<>(); - - List models = new ArrayList<>(); - for (UploadDataEntity.UploadDataOptionEntity d : data) { - UploadOption m = new UploadOption(); - if (fields.hasField(this.asIndexer(UploadOption._label))) m.setLabel(d.getLabel()); - if (fields.hasField(this.asIndexer(UploadOption._value))) m.setValue(d.getValue()); - models.add(m); - } - this.logger.debug("build {} items", Optional.of(models).map(List::size).orElse(0)); - return models; - } -} diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/builder/filetransformer/DescriptionTemplateDefinitionFileTransformerBuilder.java b/dmp-backend/core/src/main/java/eu/eudat/model/builder/filetransformer/DescriptionTemplateDefinitionFileTransformerBuilder.java index 32fd0a60e..fecd617ee 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/model/builder/filetransformer/DescriptionTemplateDefinitionFileTransformerBuilder.java +++ b/dmp-backend/core/src/main/java/eu/eudat/model/builder/filetransformer/DescriptionTemplateDefinitionFileTransformerBuilder.java @@ -63,7 +63,7 @@ public class DescriptionTemplateDefinitionFileTransformerBuilder extends BaseFil List> models = new ArrayList<>(); for (DefinitionEntity d : data) { DefinitionFileTransformerModel m = new DefinitionFileTransformerModel(); - m.setPages(collectPages(d.getPages(), d.getSections())); + m.setPages(collectPages(d.getPages())); models.add(new FileTransformerBuilderItemResponse<>(m, d)); } @@ -72,14 +72,14 @@ public class DescriptionTemplateDefinitionFileTransformerBuilder extends BaseFil return models; } - private List collectPages(List data, List sections) { + private List collectPages(List data) { List result = new ArrayList<>(); for (PageEntity d: data) { PageFileTransformerModel m = new PageFileTransformerModel(); m.setId(d.getId()); m.setOrdinal(d.getOrdinal()); m.setTitle(d.getTitle()); - m.setSections(collectSections(sections.stream().filter(sectionEntity -> sectionEntity.getPage().equals(d.getId())).toList())); + if (d.getSections() != null) m.setSections(collectSections(d.getSections())); result.add(m); } @@ -161,7 +161,7 @@ public class DescriptionTemplateDefinitionFileTransformerBuilder extends BaseFil m.setLabel(d.getLabel()); m.setFieldType(FieldType.of(d.getFieldType().getValue())); ((AutoCompleteDataFileTransformerModel)m).setMultiAutoComplete(d.getMultipleSelect()); - ((AutoCompleteDataFileTransformerModel) m).setAutoCompleteSingleDataList(convertAutoCompleteSingleData(d.getAutoCompleteSingleDataList())); + ((AutoCompleteDataFileTransformerModel) m).setAutoCompleteSingleDataList(convertAutoCompleteSingleData(d.getSources())); } case ExternalDatasetDataEntity d -> { m = new ExternalDatasetDataFileTransformerModel(); @@ -186,7 +186,7 @@ public class DescriptionTemplateDefinitionFileTransformerBuilder extends BaseFil m = new WordListDataFileTransformerModel(); m.setLabel(d.getLabel()); m.setFieldType(FieldType.of(d.getFieldType().getValue())); - ((WordListDataFileTransformerModel) m).setMultiList(d.getMultiList()); + ((WordListDataFileTransformerModel) m).setMultiList(d.getMultipleSelect()); ((WordListDataFileTransformerModel) m).setOptions(d.getOptions().stream().map(this::convertComboBoxOption).toList()); } default -> m = null; @@ -210,21 +210,30 @@ public class DescriptionTemplateDefinitionFileTransformerBuilder extends BaseFil for (ExternalSelectDataEntity.ExternalSelectSourceEntity d : data) { AutoCompleteSingleDataFileTransformerModel m = new AutoCompleteSingleDataFileTransformerModel(); m.setUrl(d.getUrl()); - m.setAutoCompleteOptions(convertComboBoxOption(d.getExternalSelectSourceBindingEntity())); + m.setAutoCompleteOptions(convertComboBoxOption(d.getSourceBinding())); result.add(m); } return result; } - private ComboBoxOptionFileTransformerModel convertComboBoxOption(ComboBoxDataEntity.Option data) { + private ComboBoxOptionFileTransformerModel convertComboBoxOption(ExternalSelectDataEntity.ExternalSelectSourceBindingEntity data) { ComboBoxOptionFileTransformerModel m = new ComboBoxOptionFileTransformerModel(); - m.setUri(data.getUri()); +// m.setUri(data.getUri()); m.setSource(data.getSource()); m.setLabel(data.getLabel()); m.setValue(data.getValue()); return m; } + private ComboBoxOptionFileTransformerModel convertComboBoxOption(SelectDataEntity.OptionEntity data) { + ComboBoxOptionFileTransformerModel m = new ComboBoxOptionFileTransformerModel(); +// m.setUri(data.getUri()); +// m.setSource(data.getSource()); + m.setLabel(data.getLabel()); + m.setValue(data.getValue()); + return m; + } + private List convertUploadDataOptions(List data) { List result = new ArrayList<>(); for (UploadDataEntity.UploadDataOptionEntity d : data) { diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/censorship/descriptiontemplatedefinition/DefinitionCensor.java b/dmp-backend/core/src/main/java/eu/eudat/model/censorship/descriptiontemplatedefinition/DefinitionCensor.java index edcde9a08..b433d5417 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/model/censorship/descriptiontemplatedefinition/DefinitionCensor.java +++ b/dmp-backend/core/src/main/java/eu/eudat/model/censorship/descriptiontemplatedefinition/DefinitionCensor.java @@ -39,8 +39,6 @@ public class DefinitionCensor extends BaseCensor { return; this.authService.authorizeForce(Permission.BrowseDescriptionTemplate); - FieldSet sectionsFields = fields.extractPrefixed(this.asIndexerPrefix(Definition._sections)); - this.censorFactory.censor(SectionCensor.class).censor(sectionsFields, userId); FieldSet pagesFields = fields.extractPrefixed(this.asIndexerPrefix(Definition._pages)); this.censorFactory.censor(PageCensor.class).censor(pagesFields, userId); } diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/censorship/descriptiontemplatedefinition/PageCensor.java b/dmp-backend/core/src/main/java/eu/eudat/model/censorship/descriptiontemplatedefinition/PageCensor.java index 29ef77568..cb766fdb6 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/model/censorship/descriptiontemplatedefinition/PageCensor.java +++ b/dmp-backend/core/src/main/java/eu/eudat/model/censorship/descriptiontemplatedefinition/PageCensor.java @@ -3,6 +3,8 @@ package eu.eudat.model.censorship.descriptiontemplatedefinition; import eu.eudat.authorization.Permission; import eu.eudat.convention.ConventionService; import eu.eudat.model.censorship.BaseCensor; +import eu.eudat.model.descriptiontemplatedefinition.Definition; +import eu.eudat.model.descriptiontemplatedefinition.Page; import gr.cite.commons.web.authz.service.AuthorizationService; import gr.cite.tools.data.censor.CensorFactory; import gr.cite.tools.fieldset.FieldSet; @@ -38,6 +40,8 @@ public class PageCensor extends BaseCensor { return; this.authService.authorizeForce(Permission.BrowseDescriptionTemplate); + FieldSet sectionsFields = fields.extractPrefixed(this.asIndexerPrefix(Page._sections)); + this.censorFactory.censor(SectionCensor.class).censor(sectionsFields, userId); } } diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/Definition.java b/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/Definition.java index 66fef15e8..aef8d8638 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/Definition.java +++ b/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/Definition.java @@ -4,20 +4,9 @@ import java.util.List; public class Definition { - public final static String _sections = "sections"; - private List
sections; - public final static String _pages = "pages"; private List pages; - public List
getSections() { - return sections; - } - - public void setSections(List
sections) { - this.sections = sections; - } - public List getPages() { return pages; } diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/Page.java b/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/Page.java index 6b06e80b2..d516b3c81 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/Page.java +++ b/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/Page.java @@ -14,6 +14,9 @@ public class Page { public final static String _title = "title"; private String title; + public final static String _sections = "sections"; + private List
sections; + public String getId() { return id; } @@ -37,6 +40,18 @@ public class Page { public void setTitle(String title) { this.title = title; } + + public void setOrdinal(Integer ordinal) { + this.ordinal = ordinal; + } + + public List
getSections() { + return sections; + } + + public void setSections(List
sections) { + this.sections = sections; + } } diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/Section.java b/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/Section.java index d128bcf2c..a4222ce96 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/Section.java +++ b/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/Section.java @@ -20,9 +20,6 @@ public class Section { public final static String _numbering = "numbering"; private String numbering; //TODO maybe remove - public final static String _page = "page"; - private String page; - public final static String _title = "title"; private String title; @@ -78,14 +75,6 @@ public class Section { this.numbering = numbering; } - public String getPage() { - return page; - } - - public void setPage(String page) { - this.page = page; - } - public String getTitle() { return title; } diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/AuthAutoCompleteData.java b/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/AuthAutoCompleteData.java deleted file mode 100644 index a772fa8c2..000000000 --- a/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/AuthAutoCompleteData.java +++ /dev/null @@ -1,54 +0,0 @@ -package eu.eudat.model.descriptiontemplatedefinition.fielddata; - -public class AuthAutoCompleteData { - public final static String _url = "url"; - private String url; - public final static String _method = "method"; - private String method; - public final static String _body = "body"; - private String body; - public final static String _path = "path"; - private String path; - public final static String _type = "type"; - 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; - } -} diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/AutoCompleteData.java b/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/AutoCompleteData.java deleted file mode 100644 index 980b83a73..000000000 --- a/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/AutoCompleteData.java +++ /dev/null @@ -1,22 +0,0 @@ -package eu.eudat.model.descriptiontemplatedefinition.fielddata; - -import java.util.List; - -public class AutoCompleteData extends BaseFieldData { - public final static String _multiAutoComplete = "multiAutoComplete"; - private Boolean multiAutoComplete; - public final static String _autoCompleteSingleDataList = "autoCompleteSingleDataList"; - private List autoCompleteSingleDataList; - - public Boolean getMultiAutoComplete() { return multiAutoComplete; } - public void setMultiAutoComplete(Boolean multiAutoComplete) { this.multiAutoComplete = multiAutoComplete; } - - public List getAutoCompleteSingleDataList() { - return autoCompleteSingleDataList; - } - - public void setAutoCompleteSingleDataList(List autoCompleteSingleDataList) { - this.autoCompleteSingleDataList = autoCompleteSingleDataList; - } -} - diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/AutoCompleteSingleData.java b/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/AutoCompleteSingleData.java deleted file mode 100644 index e409c7a60..000000000 --- a/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/AutoCompleteSingleData.java +++ /dev/null @@ -1,76 +0,0 @@ -package eu.eudat.model.descriptiontemplatedefinition.fielddata; - -import eu.eudat.commons.types.descriptiontemplate.fielddata.ExternalSelectDataEntity; - -public class AutoCompleteSingleData { - public final static String _autocompleteType = "autocompleteType"; - private ExternalSelectDataEntity.AutocompleteType autocompleteType; - public final static String _url = "url"; - private String url; - public final static String _autoCompleteOptions = "autoCompleteOptions"; - private ComboBoxOption autoCompleteOptions; - public final static String _optionsRoot = "optionsRoot"; - private String optionsRoot; - public final static String _hasAuth = "hasAuth"; - private Boolean hasAuth; - public final static String _auth = "auth"; - private AuthAutoCompleteData auth; - public final static String _method = "method"; - private String method; - - public ExternalSelectDataEntity.AutocompleteType getAutocompleteType() { - return autocompleteType; - } - - public void setAutocompleteType(ExternalSelectDataEntity.AutocompleteType autocompleteType) { - this.autocompleteType = autocompleteType; - } - - 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 AuthAutoCompleteData getAuth() { - return auth; - } - - public void setAuth(AuthAutoCompleteData auth) { - this.auth = auth; - } - - public ComboBoxOption getAutoCompleteOptions() { - return autoCompleteOptions; - } - - public void setAutoCompleteOptions(ComboBoxOption autoCompleteOptions) { - this.autoCompleteOptions = autoCompleteOptions; - } - - public String getMethod() { - return method; - } - - public void setMethod(String method) { - this.method = method; - } -} diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/ComboBoxOption.java b/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/ComboBoxOption.java deleted file mode 100644 index ba1ca8e51..000000000 --- a/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/ComboBoxOption.java +++ /dev/null @@ -1,46 +0,0 @@ -package eu.eudat.model.descriptiontemplatedefinition.fielddata; - -public class ComboBoxOption { - public final static String _label = "label"; - private String label; - public final static String _value = "value"; - private String value; - public final static String _source = "source"; - private String source; - public final static String _uri = "uri"; - 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/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/ExternalDatasetData.java b/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/ExternalDatasetData.java index 10f36ed91..f7078cdc8 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/ExternalDatasetData.java +++ b/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/ExternalDatasetData.java @@ -3,20 +3,10 @@ package eu.eudat.model.descriptiontemplatedefinition.fielddata; import eu.eudat.commons.enums.FieldDataExternalDatasetType; -public class ExternalDatasetData extends BaseFieldData { - public final static String _multiAutoComplete = "multiAutoComplete"; - private Boolean multiAutoComplete; +public class ExternalDatasetData extends LabelAndMultiplicityData { public final static String _type = "type"; private FieldDataExternalDatasetType type; - public Boolean getMultiAutoComplete() { - return multiAutoComplete; - } - - public void setMultiAutoComplete(Boolean multiAutoComplete) { - this.multiAutoComplete = multiAutoComplete; - } - public FieldDataExternalDatasetType getType() { return type; } diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/ExternalSelectData.java b/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/ExternalSelectData.java new file mode 100644 index 000000000..b0ac1d0a5 --- /dev/null +++ b/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/ExternalSelectData.java @@ -0,0 +1,164 @@ +package eu.eudat.model.descriptiontemplatedefinition.fielddata; + +import java.util.List; + +public class ExternalSelectData extends LabelAndMultiplicityData { + private List sources; + + public final static String _sources = "sources"; + + public List getSources() { + return sources; + } + + public void setSources(List sources) { + this.sources = sources; + } + + public static class ExternalSelectSource { + private String url; + public final static String _url = "url"; + + private String method; + public final static String _method = "method"; + private String optionsRoot; + public final static String _optionsRoot = "optionsRoot"; + private ExternalSelectSourceBinding sourceBinding; + public final static String _sourceBinding = "sourceBinding"; + private Boolean hasAuth; + public final static String _hasAuth = "hasAuth"; + private ExternalSelectAuthData auth; + public final static String _auth = "auth"; + + 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 getOptionsRoot() { + return optionsRoot; + } + + public void setOptionsRoot(String optionsRoot) { + this.optionsRoot = optionsRoot; + } + + public ExternalSelectSourceBinding getSourceBinding() { + return sourceBinding; + } + + public void setSourceBinding(ExternalSelectSourceBinding sourceBinding) { + this.sourceBinding = sourceBinding; + } + + public Boolean getHasAuth() { + return hasAuth; + } + + public void setHasAuth(Boolean hasAuth) { + this.hasAuth = hasAuth; + } + + public ExternalSelectAuthData getAuth() { + return auth; + } + + public void setAuth(ExternalSelectAuthData auth) { + this.auth = auth; + } + } + + public static class ExternalSelectSourceBinding { + private String label; + public final static String _label = "label"; + private String value; + public final static String _value = "value"; + private String source; + public final static String _source = "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 ExternalSelectAuthData { + private String url; + public final static String _url = "url"; + private String method; + public final static String _method = "method"; + private String body; + public final static String _body = "body"; + private String path; + public final static String _path = "path"; + private String type; + public final static String _type = "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; + } + } +} diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/LabelAndMultiplicityData.java b/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/LabelAndMultiplicityData.java index 4b577281b..673ca0b7f 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/LabelAndMultiplicityData.java +++ b/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/LabelAndMultiplicityData.java @@ -1,13 +1,13 @@ package eu.eudat.model.descriptiontemplatedefinition.fielddata; public class LabelAndMultiplicityData extends BaseFieldData { - public final static String _multiAutoComplete = "multiAutoComplete"; - private Boolean multiAutoComplete; + public final static String _multipleSelect = "multipleSelect"; + private Boolean multipleSelect; - public Boolean getMultiAutoComplete() { - return multiAutoComplete; + public Boolean getMultipleSelect() { + return multipleSelect; } - public void setMultiAutoComplete(Boolean multiAutoComplete) { - this.multiAutoComplete = multiAutoComplete; + public void setMultipleSelect(Boolean multipleSelect) { + this.multipleSelect = multipleSelect; } } diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/RadioBoxData.java b/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/RadioBoxData.java index 20f365401..3b5d103fe 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/RadioBoxData.java +++ b/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/RadioBoxData.java @@ -16,4 +16,27 @@ public class RadioBoxData extends BaseFieldData { public void setOptions(List options) { this.options = options; } + + public static class RadioBoxOption { + public final static String _label = "label"; + private String label; + public final static String _value = "value"; + 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/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/RadioBoxOption.java b/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/RadioBoxOption.java deleted file mode 100644 index 1924865b3..000000000 --- a/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/RadioBoxOption.java +++ /dev/null @@ -1,24 +0,0 @@ -package eu.eudat.model.descriptiontemplatedefinition.fielddata; - -public class RadioBoxOption { - public final static String _label = "label"; - private String label; - public final static String _value = "value"; - 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/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/SelectData.java b/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/SelectData.java index 7b1421f66..f46bc9a99 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/SelectData.java +++ b/dmp-backend/core/src/main/java/eu/eudat/model/descriptiontemplatedefinition/fielddata/SelectData.java @@ -2,25 +2,38 @@ package eu.eudat.model.descriptiontemplatedefinition.fielddata; import java.util.List; -public class SelectData extends BaseFieldData { +public class SelectData extends LabelAndMultiplicityData { public final static String _options = "options"; - private List options; - public final static String _multiList = "multiList"; - private Boolean multiList; + private List