diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/EntityTypeBO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/EntityTypeBO.java index 99afd2245682e08abc5e2e0c5e00ce4337f6d447..4f63068c47c2e4f7f72d26498570bd29233fa3f4 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/EntityTypeBO.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/EntityTypeBO.java @@ -82,7 +82,8 @@ public final class EntityTypeBO extends AbstractBusinessObject implements IEntit { ScriptPE script = getScriptDAO() .tryFindByName(entityType.getValidationScript().getName()); - if (script != null) + + if (script != null && entityType.isEntityKind(script.getEntityKind())) { return script; } else diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetType.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetType.java index ee56ae512fe510cfb2f07472fab670ebd558d7b5..200766895567cea3c4f0b8901851d678ed57c6c9 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetType.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DataSetType.java @@ -97,4 +97,10 @@ public class DataSetType extends EntityType this.deletionDisallow = deletionDisallow; } + @Override + public boolean isEntityKind(EntityKind kind) + { + return kind == null || kind == EntityKind.DATA_SET; + } + } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityType.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityType.java index c12df20ed3dffb93ccf8daddf67694217d2f5d8e..2609af62355b0b464888f3696d52c1b558c7b725 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityType.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/EntityType.java @@ -68,4 +68,9 @@ abstract public class EntityType extends BasicEntityType }); return etpts; } + + /** + * return true if this entity type is of given kind, or if the kind is null + */ + public abstract boolean isEntityKind(EntityKind kind); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExperimentType.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExperimentType.java index c68a1875a58182d251b6f678818a21e4af3d34d8..4d89353e1deccb47d616a08641617b3a731c6ebc 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExperimentType.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExperimentType.java @@ -40,4 +40,10 @@ public class ExperimentType extends EntityType { this.experimentTypePropertyTypes = experimentTypePropertyTypes; } + + @Override + public boolean isEntityKind(EntityKind kind) + { + return kind == null || kind == EntityKind.EXPERIMENT; + } } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/MaterialType.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/MaterialType.java index 8b35fafe8d05242d1fae9f5e0c38f53c7d693a0b..5b25f8389e675cf9f44023b1802ddae51f5a5eba 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/MaterialType.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/MaterialType.java @@ -53,4 +53,10 @@ public class MaterialType extends EntityType this.materialTypePropertyTypes = materialTypePropertyTypes; } + @Override + public boolean isEntityKind(EntityKind kind) + { + return kind == null || kind == EntityKind.MATERIAL; + } + } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleType.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleType.java index a87cf3e25766d137735995f5a87894edc074d054..414df51e5acebc1fbf3c12047929a0337958300c 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleType.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/SampleType.java @@ -260,4 +260,10 @@ public final class SampleType extends EntityType implements Serializable allPropertyTypes)); } + @Override + public boolean isEntityKind(EntityKind kind) + { + return kind == null || kind == EntityKind.SAMPLE; + } + }