diff --git a/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/sync/harvester/synchronizer/MasterDataParser.java b/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/sync/harvester/synchronizer/MasterDataParser.java index 07fbd48d609f98ab63c65299537f15fe79103f81..1d0d2bc4990af4a1569a60c7c1ce365be50a9590 100644 --- a/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/sync/harvester/synchronizer/MasterDataParser.java +++ b/datastore_server/source/java/ch/ethz/sis/openbis/generic/server/dss/plugins/sync/harvester/synchronizer/MasterDataParser.java @@ -297,11 +297,7 @@ public class MasterDataParser MaterialType materialType = new MaterialType(); materialType.setCode(nameTranslator.translate(getAttribute(materialTypeElement, "code"))); materialType.setDescription(getAttribute(materialTypeElement, "description")); - String validationPluginName = getAttribute(materialTypeElement, "validationPlugin"); - if (validationPluginName != null) - { - materialType.setValidationScript(validationPlugins.get(validationPluginName)); - } + materialType.setValidationScript(getValidationPlugin(materialTypeElement)); materialTypes.put(materialType.getCode(), materialType); parsePropertyAssignments(EntityKind.MATERIAL, materialType, materialTypeElement); @@ -324,11 +320,7 @@ public class MasterDataParser ExperimentType expType = new ExperimentType(); expType.setCode(nameTranslator.translate(getAttribute(expTypeElement, "code"))); expType.setDescription(getAttribute(expTypeElement, "description")); - String validationPluginName = getAttribute(expTypeElement, "validationPlugin"); - if (validationPluginName != null) - { - expType.setValidationScript(validationPlugins.get(validationPluginName)); - } + expType.setValidationScript(getValidationPlugin(expTypeElement)); experimentTypes.put(expType.getCode(), expType); parsePropertyAssignments(EntityKind.EXPERIMENT, expType, expTypeElement); @@ -358,11 +350,7 @@ public class MasterDataParser sampleType.setSubcodeUnique(Boolean.valueOf(getAttribute(sampleTypeElement, "subcodeUnique"))); sampleType.setAutoGeneratedCode(Boolean.valueOf(getAttribute(sampleTypeElement, "autoGeneratedCode"))); sampleType.setGeneratedCodePrefix(getAttribute(sampleTypeElement, "generatedCodePrefix")); - String validationPluginName = getAttribute(sampleTypeElement, "validationPlugin"); - if (validationPluginName != null) - { - sampleType.setValidationScript(validationPlugins.get(validationPluginName)); - } + sampleType.setValidationScript(getValidationPlugin(sampleTypeElement)); sampleTypes.put(sampleType.getCode(), sampleType); parsePropertyAssignments(EntityKind.SAMPLE, sampleType, sampleTypeElement); @@ -396,16 +384,22 @@ public class MasterDataParser dataSetType.setMainDataSetPath(mainDataSetPath); } dataSetType.setDeletionDisallow(Boolean.valueOf(getAttribute(dataSetTypeElement, "deletionDisallowed"))); - String validationPluginName = getAttribute(dataSetTypeElement, "validationPlugin"); - if (validationPluginName != null) - { - dataSetType.setValidationScript(validationPlugins.get(validationPluginName)); - } + dataSetType.setValidationScript(getValidationPlugin(dataSetTypeElement)); dataSetTypes.put(dataSetType.getCode(), dataSetType); parsePropertyAssignments(EntityKind.DATA_SET, dataSetType, dataSetTypeElement); } } + + private Script getValidationPlugin(Element element) + { + String name = getAttribute(element, "validationPlugin"); + if (StringUtils.isBlank(name)) + { + return null; + } + return validationPlugins.get(nameTranslator.translate(name)); + } private void parsePropertyAssignments(EntityKind entityKind, EntityType entityType, Element entityTypeElement) throws XPathExpressionException