From ecdd2181ad4de676a21db8d783819c0552cb5555 Mon Sep 17 00:00:00 2001
From: jakubs <jakubs>
Date: Wed, 19 Sep 2012 14:58:12 +0000
Subject: [PATCH] BIS-195 provide listing samples and datasets in experiment
 adaptor

SVN: 26683
---
 .../calculator/ExperimentAdaptor.java         | 29 +++++++++++++++++++
 .../calculator/api/IExperimentAdaptor.java    |  6 ++++
 2 files changed, 35 insertions(+)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/dynamic_property/calculator/ExperimentAdaptor.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/dynamic_property/calculator/ExperimentAdaptor.java
index b4c34377140..a783b017255 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/dynamic_property/calculator/ExperimentAdaptor.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/dynamic_property/calculator/ExperimentAdaptor.java
@@ -16,10 +16,17 @@
 
 package ch.systemsx.cisd.openbis.generic.server.dataaccess.dynamic_property.calculator;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.dynamic_property.IDynamicPropertyEvaluator;
+import ch.systemsx.cisd.openbis.generic.server.dataaccess.dynamic_property.calculator.api.IDataAdaptor;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.dynamic_property.calculator.api.IEntityAdaptor;
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.dynamic_property.calculator.api.IExperimentAdaptor;
+import ch.systemsx.cisd.openbis.generic.server.dataaccess.dynamic_property.calculator.api.ISampleAdaptor;
+import ch.systemsx.cisd.openbis.generic.shared.dto.DataPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentPE;
+import ch.systemsx.cisd.openbis.generic.shared.dto.SamplePE;
 
 /**
  * {@link IEntityAdaptor} implementation for {@link ExperimentPE}.
@@ -48,4 +55,26 @@ public class ExperimentAdaptor extends AbstractEntityAdaptor implements IExperim
         return experimentPE();
     }
 
+    @Override
+    public List<ISampleAdaptor> samples()
+    {
+        List<ISampleAdaptor> list = new ArrayList<ISampleAdaptor>();
+        for (SamplePE sample : experimentPE.getSamples())
+        {
+            list.add(EntityAdaptorFactory.create(sample, evaluator));
+        }
+        return list;
+    }
+
+    @Override
+    public List<IDataAdaptor> dataSets()
+    {
+        List<IDataAdaptor> list = new ArrayList<IDataAdaptor>();
+        for (DataPE dataset : experimentPE.getDataSets())
+        {
+            list.add(EntityAdaptorFactory.create(dataset, evaluator));
+        }
+        return list;
+    }
+
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/dynamic_property/calculator/api/IExperimentAdaptor.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/dynamic_property/calculator/api/IExperimentAdaptor.java
index b6fa496c0a9..74f0b6efa25 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/dynamic_property/calculator/api/IExperimentAdaptor.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/dynamic_property/calculator/api/IExperimentAdaptor.java
@@ -16,6 +16,8 @@
 
 package ch.systemsx.cisd.openbis.generic.server.dataaccess.dynamic_property.calculator.api;
 
+import java.util.List;
+
 import ch.systemsx.cisd.openbis.generic.server.dataaccess.dynamic_property.calculator.INonAbstractEntityAdapter;
 
 /**
@@ -23,5 +25,9 @@ import ch.systemsx.cisd.openbis.generic.server.dataaccess.dynamic_property.calcu
  */
 public interface IExperimentAdaptor extends INonAbstractEntityAdapter
 {
+    /** Return the samples belonging to this experiment */
+    List<ISampleAdaptor> samples();
 
+    /** Return the datasets belonging to this experiment */
+    List<IDataAdaptor> dataSets();
 }
-- 
GitLab