From 166ef77bec3ec6cb5dfcdd4d1418bf79f4814a7d Mon Sep 17 00:00:00 2001
From: jakubs <jakubs>
Date: Fri, 24 Aug 2012 15:39:07 +0000
Subject: [PATCH] BIS-153 SP-257 add validation script to master data immutable
 dtos

SVN: 26448
---
 .../openbis/generic/server/jython/api/v1/IEntityType.java | 6 ++++++
 .../generic/server/jython/api/v1/IScriptImmutable.java    | 2 +-
 .../server/jython/api/v1/impl/DataSetTypeImmutable.java   | 7 +++++++
 .../jython/api/v1/impl/ExperimentTypeImmutable.java       | 6 ++++++
 .../server/jython/api/v1/impl/MaterialTypeImmutable.java  | 6 ++++++
 .../server/jython/api/v1/impl/SampleTypeImmutable.java    | 7 +++++++
 .../server/jython/api/v1/impl/ScriptImmutable.java        | 8 --------
 7 files changed, 33 insertions(+), 9 deletions(-)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/IEntityType.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/IEntityType.java
index c9299ec8e99..89771146cda 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/IEntityType.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/IEntityType.java
@@ -16,6 +16,7 @@
 
 package ch.systemsx.cisd.openbis.generic.server.jython.api.v1;
 
+
 /**
  * The superinterface for all entity types (as opposed to property types).
  * 
@@ -28,4 +29,9 @@ public interface IEntityType extends IAbstractType
      * Return the entity kind.
      */
     EntityKind getEntityKind();
+
+    /**
+     * Return the validation script for this type
+     */
+    IScriptImmutable getValidationScript();
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/IScriptImmutable.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/IScriptImmutable.java
index fb6c4ec942a..f1513aa8f51 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/IScriptImmutable.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/IScriptImmutable.java
@@ -21,7 +21,7 @@ package ch.systemsx.cisd.openbis.generic.server.jython.api.v1;
  * 
  * @author Manuel Kohler
  */
-public interface IScriptImmutable extends IEntityType
+public interface IScriptImmutable extends IAbstractType
 {
     /**
      * Get the entity of the script. The values can be EXPERIMENT, SAMPLE, DATA_SET, MATERIAL.
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/DataSetTypeImmutable.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/DataSetTypeImmutable.java
index bcb03605876..6015d6b46ca 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/DataSetTypeImmutable.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/DataSetTypeImmutable.java
@@ -18,6 +18,7 @@ package ch.systemsx.cisd.openbis.generic.server.jython.api.v1.impl;
 
 import ch.systemsx.cisd.openbis.generic.server.jython.api.v1.EntityKind;
 import ch.systemsx.cisd.openbis.generic.server.jython.api.v1.IDataSetTypeImmutable;
+import ch.systemsx.cisd.openbis.generic.server.jython.api.v1.IScriptImmutable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetKind;
 
 /**
@@ -98,4 +99,10 @@ public class DataSetTypeImmutable implements IDataSetTypeImmutable
     {
         return getDataSetType().getMainDataSetPath();
     }
+
+    @Override
+    public IScriptImmutable getValidationScript()
+    {
+        return new ScriptImmutable(getDataSetType().getValidationScript());
+    }
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/ExperimentTypeImmutable.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/ExperimentTypeImmutable.java
index 30034e77aed..8579b5358af 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/ExperimentTypeImmutable.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/ExperimentTypeImmutable.java
@@ -18,6 +18,7 @@ package ch.systemsx.cisd.openbis.generic.server.jython.api.v1.impl;
 
 import ch.systemsx.cisd.openbis.generic.server.jython.api.v1.EntityKind;
 import ch.systemsx.cisd.openbis.generic.server.jython.api.v1.IExperimentTypeImmutable;
+import ch.systemsx.cisd.openbis.generic.server.jython.api.v1.IScriptImmutable;
 
 /**
  * @author Kaloyan Enimanev
@@ -61,4 +62,9 @@ public class ExperimentTypeImmutable implements IExperimentTypeImmutable
         return EntityKind.EXPERIMENT;
     }
 
+    @Override
+    public IScriptImmutable getValidationScript()
+    {
+        return new ScriptImmutable(getExperimentType().getValidationScript());
+    }
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/MaterialTypeImmutable.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/MaterialTypeImmutable.java
index c006e1e5ec9..f87ca9531b8 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/MaterialTypeImmutable.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/MaterialTypeImmutable.java
@@ -18,6 +18,7 @@ package ch.systemsx.cisd.openbis.generic.server.jython.api.v1.impl;
 
 import ch.systemsx.cisd.openbis.generic.server.jython.api.v1.EntityKind;
 import ch.systemsx.cisd.openbis.generic.server.jython.api.v1.IMaterialTypeImmutable;
+import ch.systemsx.cisd.openbis.generic.server.jython.api.v1.IScriptImmutable;
 
 /**
  * @author Kaloyan Enimanev
@@ -62,4 +63,9 @@ public class MaterialTypeImmutable implements IMaterialTypeImmutable
         return EntityKind.MATERIAL;
     }
 
+    @Override
+    public IScriptImmutable getValidationScript()
+    {
+        return new ScriptImmutable(getMaterialType().getValidationScript());
+    }
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/SampleTypeImmutable.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/SampleTypeImmutable.java
index 1d25181691b..c008c6a4dfd 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/SampleTypeImmutable.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/SampleTypeImmutable.java
@@ -18,6 +18,7 @@ package ch.systemsx.cisd.openbis.generic.server.jython.api.v1.impl;
 
 import ch.systemsx.cisd.openbis.generic.server.jython.api.v1.EntityKind;
 import ch.systemsx.cisd.openbis.generic.server.jython.api.v1.ISampleTypeImmutable;
+import ch.systemsx.cisd.openbis.generic.server.jython.api.v1.IScriptImmutable;
 
 /**
  * @author Kaloyan Enimanev
@@ -101,4 +102,10 @@ public class SampleTypeImmutable implements ISampleTypeImmutable
     {
         return EntityKind.SAMPLE;
     }
+
+    @Override
+    public IScriptImmutable getValidationScript()
+    {
+        return new ScriptImmutable(getSampleType().getValidationScript());
+    }
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/ScriptImmutable.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/ScriptImmutable.java
index 6f1a873cca3..f9b84f32e4d 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/ScriptImmutable.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/jython/api/v1/impl/ScriptImmutable.java
@@ -16,7 +16,6 @@
 
 package ch.systemsx.cisd.openbis.generic.server.jython.api.v1.impl;
 
-import ch.systemsx.cisd.openbis.generic.server.jython.api.v1.EntityKind;
 import ch.systemsx.cisd.openbis.generic.server.jython.api.v1.IScriptImmutable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseInstance;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Script;
@@ -105,11 +104,4 @@ public class ScriptImmutable implements IScriptImmutable
         return script.getName();
     }
 
-    @Override
-    public EntityKind getEntityKind()
-    {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
 }
-- 
GitLab