From 9a0bd067cf70adb5cc79fe51e7c901bd2623a151 Mon Sep 17 00:00:00 2001 From: juanf <juanf@ethz.ch> Date: Fri, 1 Sep 2023 11:26:48 +0200 Subject: [PATCH] SSDM-13961: XLS Importer, making version optional --- .../helper/DatasetTypeImportHelper.java | 14 ++++++++++++-- .../helper/ExperimentTypeImportHelper.java | 14 ++++++++++++-- .../helper/PropertyAssignmentImportHelper.java | 10 +++++++--- .../helper/PropertyTypeImportHelper.java | 18 ++++++++++++++---- .../helper/SampleTypeImportHelper.java | 14 ++++++++++++-- .../helper/VocabularyImportHelper.java | 14 ++++++++++++-- .../helper/VocabularyTermImportHelper.java | 16 +++++++++++++--- 7 files changed, 82 insertions(+), 18 deletions(-) diff --git a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/DatasetTypeImportHelper.java b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/DatasetTypeImportHelper.java index 914541fef35..d78bbecf131 100644 --- a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/DatasetTypeImportHelper.java +++ b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/DatasetTypeImportHelper.java @@ -35,7 +35,7 @@ import java.util.Map; public class DatasetTypeImportHelper extends BasicImportHelper { private enum Attribute implements IAttribute { - Version("Version", true), + Version("Version", false), Code("Code", true), Description("Description", true), ValidationScript("Validation script", true), @@ -84,7 +84,11 @@ public class DatasetTypeImportHelper extends BasicImportHelper String version = getValueByColumnName(header, values, Attribute.Version); String code = getValueByColumnName(header, values, Attribute.Code); - return VersionUtils.isNewVersion(version, VersionUtils.getStoredVersion(versions, ImportTypes.DATASET_TYPE.getType(), code)); + if (version == null) { + return true; + } else { + return VersionUtils.isNewVersion(version, VersionUtils.getStoredVersion(versions, ImportTypes.DATASET_TYPE.getType(), code)); + } } @Override protected void updateVersion(Map<String, Integer> header, List<String> values) @@ -92,6 +96,12 @@ public class DatasetTypeImportHelper extends BasicImportHelper String version = getValueByColumnName(header, values, Attribute.Version); String code = getValueByColumnName(header, values, Attribute.Code); + if (version == null) { + Integer storedVersion = VersionUtils.getStoredVersion(versions, ImportTypes.DATASET_TYPE.getType(), code); + storedVersion++; + version = storedVersion.toString(); + } + VersionUtils.updateVersion(version, versions, ImportTypes.DATASET_TYPE.getType(), code); } diff --git a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/ExperimentTypeImportHelper.java b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/ExperimentTypeImportHelper.java index fd353909a61..df1eb2cfc55 100644 --- a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/ExperimentTypeImportHelper.java +++ b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/ExperimentTypeImportHelper.java @@ -35,7 +35,7 @@ import java.util.Map; public class ExperimentTypeImportHelper extends BasicImportHelper { private enum Attribute implements IAttribute { - Version("Version", true), + Version("Version", false), Code("Code", true), Description("Description", true), ValidationScript("Validation script", true), @@ -84,7 +84,11 @@ public class ExperimentTypeImportHelper extends BasicImportHelper String version = getValueByColumnName(header, values, Attribute.Version); String code = getValueByColumnName(header, values, Attribute.Code); - return VersionUtils.isNewVersion(version, VersionUtils.getStoredVersion(versions, ImportTypes.EXPERIMENT_TYPE.getType(), code)); + if (version == null) { + return true; + } else { + return VersionUtils.isNewVersion(version, VersionUtils.getStoredVersion(versions, ImportTypes.EXPERIMENT_TYPE.getType(), code)); + } } @Override protected void updateVersion(Map<String, Integer> header, List<String> values) @@ -92,6 +96,12 @@ public class ExperimentTypeImportHelper extends BasicImportHelper String version = getValueByColumnName(header, values, Attribute.Version); String code = getValueByColumnName(header, values, Attribute.Code); + if (version == null) { + Integer storedVersion = VersionUtils.getStoredVersion(versions, ImportTypes.EXPERIMENT_TYPE.getType(), code); + storedVersion++; + version = storedVersion.toString(); + } + VersionUtils.updateVersion(version, versions, ImportTypes.EXPERIMENT_TYPE.getType(), code); } diff --git a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/PropertyAssignmentImportHelper.java b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/PropertyAssignmentImportHelper.java index bf22e1a7aa5..90edfeb46e3 100644 --- a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/PropertyAssignmentImportHelper.java +++ b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/PropertyAssignmentImportHelper.java @@ -55,7 +55,7 @@ public class PropertyAssignmentImportHelper extends BasicImportHelper { private enum Attribute implements IAttribute { - Version("Version", true), + Version("Version", false), Code("Code", true), Mandatory("Mandatory", true), DefaultValue("Default Value", false), @@ -119,10 +119,14 @@ public class PropertyAssignmentImportHelper extends BasicImportHelper @Override protected boolean isNewVersion(Map<String, Integer> header, List<String> values) { - String newVersion = getValueByColumnName(header, values, PropertyAssignmentImportHelper.Attribute.Version); + String version = getValueByColumnName(header, values, PropertyAssignmentImportHelper.Attribute.Version); String code = getValueByColumnName(header, values, PropertyAssignmentImportHelper.Attribute.Code); - return !existingCodes.contains(code) || VersionUtils.isNewVersion(newVersion, VersionUtils.getStoredVersion(beforeVersions, ImportTypes.PROPERTY_TYPE.getType(), code)); + if (version == null) { + return true; + } else { + return !existingCodes.contains(code) || VersionUtils.isNewVersion(version, VersionUtils.getStoredVersion(beforeVersions, ImportTypes.PROPERTY_TYPE.getType(), code)); + } } @Override protected boolean isObjectExist(Map<String, Integer> header, List<String> values) diff --git a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/PropertyTypeImportHelper.java b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/PropertyTypeImportHelper.java index dfda7051787..f285c33cfe2 100644 --- a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/PropertyTypeImportHelper.java +++ b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/PropertyTypeImportHelper.java @@ -52,7 +52,7 @@ public class PropertyTypeImportHelper extends BasicImportHelper private enum Attribute implements IAttribute { - Version("Version", true), + Version("Version", false), Code("Code", true), Mandatory("Mandatory", false), DefaultValue("Default Value", @@ -142,11 +142,15 @@ public class PropertyTypeImportHelper extends BasicImportHelper @Override protected boolean isNewVersion(Map<String, Integer> header, List<String> values) { - String newVersion = getValueByColumnName(header, values, Attribute.Version); + String version = getValueByColumnName(header, values, Attribute.Version); String code = getValueByColumnName(header, values, Attribute.Code); - return VersionUtils.isNewVersion(newVersion, - VersionUtils.getStoredVersion(versions, ImportTypes.PROPERTY_TYPE.getType(), code)); + if (version == null) { + return true; + } else { + return VersionUtils.isNewVersion(version, + VersionUtils.getStoredVersion(versions, ImportTypes.PROPERTY_TYPE.getType(), code)); + } } @Override @@ -155,6 +159,12 @@ public class PropertyTypeImportHelper extends BasicImportHelper String version = getValueByColumnName(header, values, Attribute.Version); String code = getValueByColumnName(header, values, Attribute.Code); + if (version == null) { + Integer storedVersion = VersionUtils.getStoredVersion(versions, ImportTypes.PROPERTY_TYPE.getType(), code); + storedVersion++; + version = storedVersion.toString(); + } + VersionUtils.updateVersion(version, versions, ImportTypes.PROPERTY_TYPE.getType(), code); } diff --git a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/SampleTypeImportHelper.java b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/SampleTypeImportHelper.java index 7b85b96f7df..cef78f1424f 100644 --- a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/SampleTypeImportHelper.java +++ b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/SampleTypeImportHelper.java @@ -35,7 +35,7 @@ import java.util.Map; public class SampleTypeImportHelper extends BasicImportHelper { private enum Attribute implements IAttribute { - Version("Version", true), + Version("Version", false), Code("Code", true), Description("Description", true), AutoGenerateCodes("Auto generate codes", true), @@ -86,7 +86,11 @@ public class SampleTypeImportHelper extends BasicImportHelper String version = getValueByColumnName(header, values, Attribute.Version); String code = getValueByColumnName(header, values, Attribute.Code); - return VersionUtils.isNewVersion(version, VersionUtils.getStoredVersion(versions, ImportTypes.SAMPLE_TYPE.getType(), code)); + if (version == null) { + return true; + } else { + return VersionUtils.isNewVersion(version, VersionUtils.getStoredVersion(versions, ImportTypes.SAMPLE_TYPE.getType(), code)); + } } @Override protected void updateVersion(Map<String, Integer> header, List<String> values) @@ -94,6 +98,12 @@ public class SampleTypeImportHelper extends BasicImportHelper String version = getValueByColumnName(header, values, Attribute.Version); String code = getValueByColumnName(header, values, Attribute.Code); + if (version == null) { + Integer storedVersion = VersionUtils.getStoredVersion(versions, ImportTypes.SAMPLE_TYPE.getType(), code); + storedVersion++; + version = storedVersion.toString(); + } + VersionUtils.updateVersion(version, versions, ImportTypes.SAMPLE_TYPE.getType(), code); } diff --git a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/VocabularyImportHelper.java b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/VocabularyImportHelper.java index 306fcdcfcbd..5ac9dd9ba44 100644 --- a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/VocabularyImportHelper.java +++ b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/VocabularyImportHelper.java @@ -34,7 +34,7 @@ import java.util.Map; public class VocabularyImportHelper extends BasicImportHelper { private enum Attribute implements IAttribute { - Version("Version", true), + Version("Version", false), Code("Code", true), Description("Description", true); @@ -79,7 +79,11 @@ public class VocabularyImportHelper extends BasicImportHelper String version = getValueByColumnName(header, values, Attribute.Version); String code = getValueByColumnName(header, values, Attribute.Code); - return VersionUtils.isNewVersion(version, VersionUtils.getStoredVersion(versions, ImportTypes.VOCABULARY_TYPE.getType(), code)); + if (version == null) { + return true; + } else { + return VersionUtils.isNewVersion(version, VersionUtils.getStoredVersion(versions, ImportTypes.VOCABULARY_TYPE.getType(), code)); + } } @Override protected void updateVersion(Map<String, Integer> header, List<String> values) @@ -87,6 +91,12 @@ public class VocabularyImportHelper extends BasicImportHelper String version = getValueByColumnName(header, values, Attribute.Version); String code = getValueByColumnName(header, values, Attribute.Code); + if (version == null) { + Integer storedVersion = VersionUtils.getStoredVersion(versions, ImportTypes.VOCABULARY_TYPE.getType(), code); + storedVersion++; + version = storedVersion.toString(); + } + VersionUtils.updateVersion(version, versions, ImportTypes.VOCABULARY_TYPE.getType(), code); } diff --git a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/VocabularyTermImportHelper.java b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/VocabularyTermImportHelper.java index 3c1b1bc05cf..c84fd86a683 100644 --- a/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/VocabularyTermImportHelper.java +++ b/server-application-server/source/java/ch/ethz/sis/openbis/generic/server/xls/importer/helper/VocabularyTermImportHelper.java @@ -36,7 +36,7 @@ public class VocabularyTermImportHelper extends BasicImportHelper private static final String VOCABULARY_CODE_FIELD = "Code"; private enum Attribute implements IAttribute { - Version("Version", true), + Version("Version", false), Code("Code", true), Label("Label", true), Description("Description", true); @@ -91,8 +91,12 @@ public class VocabularyTermImportHelper extends BasicImportHelper String version = getValueByColumnName(header, values, Attribute.Version); String code = getValueByColumnName(header, values, Attribute.Code); - return VersionUtils.isNewVersion(version, - VersionUtils.getStoredVersion(versions, ImportTypes.VOCABULARY_TERM.getType() + "-" + vocabularyCode, code)); + if (version == null) { + return true; + } else { + return VersionUtils.isNewVersion(version, + VersionUtils.getStoredVersion(versions, ImportTypes.VOCABULARY_TERM.getType() + "-" + vocabularyCode, code)); + } } @Override protected void updateVersion(Map<String, Integer> header, List<String> values) @@ -100,6 +104,12 @@ public class VocabularyTermImportHelper extends BasicImportHelper String version = getValueByColumnName(header, values, Attribute.Version); String code = getValueByColumnName(header, values, Attribute.Code); + if (version == null) { + Integer storedVersion = VersionUtils.getStoredVersion(versions, ImportTypes.VOCABULARY_TERM.getType() + "-" + vocabularyCode, code); + storedVersion++; + version = storedVersion.toString(); + } + VersionUtils.updateVersion(version, versions, ImportTypes.VOCABULARY_TERM.getType() + "-" + vocabularyCode, code); } -- GitLab