diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetProfileManager.java b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetProfileManager.java index e38ed2333..34505d0fa 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetProfileManager.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/managers/DatasetProfileManager.java @@ -199,7 +199,10 @@ public class DatasetProfileManager { public eu.eudat.logic.utilities.documents.xml.datasetProfileXml.datasetProfileModel.DatasetProfile createDatasetProfileFromXml(MultipartFile multiPartFile) { ImportXmlBuilderDatasetProfile xmlBuilder = new ImportXmlBuilderDatasetProfile(); try { - return xmlBuilder.build(convert(multiPartFile)); + File localFile = convert(multiPartFile); + eu.eudat.logic.utilities.documents.xml.datasetProfileXml.datasetProfileModel.DatasetProfile profile = xmlBuilder.build(localFile); + Files.deleteIfExists(localFile.toPath()); + return profile; } catch (IOException e) { logger.error(e.getMessage(), e); } diff --git a/dmp-backend/web/src/main/java/eu/eudat/logic/utilities/documents/xml/datasetProfileXml/ExportXmlBuilderDatasetProfile.java b/dmp-backend/web/src/main/java/eu/eudat/logic/utilities/documents/xml/datasetProfileXml/ExportXmlBuilderDatasetProfile.java index 45d53242b..c86294e74 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/logic/utilities/documents/xml/datasetProfileXml/ExportXmlBuilderDatasetProfile.java +++ b/dmp-backend/web/src/main/java/eu/eudat/logic/utilities/documents/xml/datasetProfileXml/ExportXmlBuilderDatasetProfile.java @@ -205,6 +205,7 @@ public class ExportXmlBuilderDatasetProfile { WordListData wordListDataObject = (WordListData) field.getData(); dataOut.setAttribute("label", wordListDataObject.getLabel()); dataOut.setAttribute("type", wordListDataObject.getType()); + dataOut.setAttribute("multiList", wordListDataObject.getMultiList().toString()); Element options = element.createElement("options"); wordListDataObject.getOptions().forEach(optionChildFor -> { Element optionChild = element.createElement("option"); diff --git a/dmp-backend/web/src/main/java/eu/eudat/models/data/components/commons/datafield/WordListData.java b/dmp-backend/web/src/main/java/eu/eudat/models/data/components/commons/datafield/WordListData.java index 1a2bc455f..51cd7f840 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/models/data/components/commons/datafield/WordListData.java +++ b/dmp-backend/web/src/main/java/eu/eudat/models/data/components/commons/datafield/WordListData.java @@ -33,7 +33,7 @@ public class WordListData extends ComboBoxData { @Override public Element toXml(Document doc) { Element root = super.toXml(doc); - root.setAttribute("multiList", this.multiList.toString()); + root.setAttribute("multiList", this.multiList != null ? this.multiList.toString() : "false"); Element element = doc.createElement("options"); if (this.options != null) { for (Option option : this.options) { @@ -78,7 +78,8 @@ public class WordListData extends ComboBoxData { this.options.add(newOption); } } - this.multiList = (Boolean) ((Map) data).get("multiList"); + Object multiList1 = ((Map) data).get("multiList"); + this.multiList = multiList1 instanceof String ? Boolean.parseBoolean((String) multiList1) : (Boolean) multiList1; } return this; } @@ -92,6 +93,7 @@ public class WordListData extends ComboBoxData { @Override public Map toMap(Element item) { HashMap dataMap = new HashMap(); + dataMap.put("multiList", item != null ? item.getAttribute("multiList") : "false"); dataMap.put("label", item != null ? item.getAttribute("label") : ""); dataMap.put("type", item != null ? item.getAttribute("type") : "wordlist"); Element optionsElement = (Element) item.getElementsByTagName("options").item(0);