From d95a7113d2d6f6b7d589b499ee6ce0fd9ad76254 Mon Sep 17 00:00:00 2001
From: felmer <felmer>
Date: Wed, 21 Mar 2012 12:54:26 +0000
Subject: [PATCH] LMS-2846 behavior corrected: Do not fall back to calculated
 summary but show empty table.

SVN: 24761
---
 .../ExperimentFeatureVectorSummaryLoader.java   | 17 +++++++++++------
 ...xperimentFeatureVectorSummaryLoaderTest.java |  4 ++--
 2 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/ExperimentFeatureVectorSummaryLoader.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/ExperimentFeatureVectorSummaryLoader.java
index 3e88ac38407..65338dfe0b4 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/ExperimentFeatureVectorSummaryLoader.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/ExperimentFeatureVectorSummaryLoader.java
@@ -37,6 +37,8 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ListMaterialCriteria;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Material;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModel;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelColumnHeader;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.TableModelRow;
 import ch.systemsx.cisd.openbis.generic.shared.dto.Session;
 import ch.systemsx.cisd.openbis.plugin.screening.server.IScreeningBusinessObjectFactory;
 import ch.systemsx.cisd.openbis.plugin.screening.server.dataaccess.IScreeningQuery;
@@ -78,6 +80,9 @@ public class ExperimentFeatureVectorSummaryLoader extends AbstractContentLoader
         {
             List<ExternalData> matchingDataSets =
                     getMatchingDataSets(experimentId, analysisProcedureCriteria);
+            TableModel tabelModel =
+                    new TableModel(Collections.<TableModelColumnHeader> emptyList(),
+                            Collections.<TableModelRow> emptyList());
             if (matchingDataSets.size() == 1)
             {
                 ExternalData ds = matchingDataSets.get(0);
@@ -89,12 +94,9 @@ public class ExperimentFeatureVectorSummaryLoader extends AbstractContentLoader
                     IDataSetTable dataSetTable = businessObjectFactory.createDataSetTable(session);
                     try
                     {
-                        TableModel tabelModel =
-                                dataSetTable.createReportFromDatasets(reportingPluginKey, dataStore,
-                                        codes);
-                        return new ExperimentFeatureVectorSummary(experiment,
-                                Collections.<MaterialFeatureVectorSummary> emptyList(),
-                                Collections.<CodeAndLabel> emptyList(), tabelModel);
+                        tabelModel =
+                                dataSetTable.createReportFromDatasets(reportingPluginKey,
+                                        dataStore, codes);
                     } catch (UserFailureException ex)
                     {
                         String message = ex.getMessage();
@@ -112,6 +114,9 @@ public class ExperimentFeatureVectorSummaryLoader extends AbstractContentLoader
                     }
                 }
             }
+            return new ExperimentFeatureVectorSummary(experiment,
+                    Collections.<MaterialFeatureVectorSummary> emptyList(),
+                    Collections.<CodeAndLabel> emptyList(), tabelModel);
         }
         
         return calculatedSummary(experimentId, analysisProcedureCriteria, experiment);
diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/ExperimentFeatureVectorSummaryLoaderTest.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/ExperimentFeatureVectorSummaryLoaderTest.java
index d7906782b9a..8b00bb59509 100644
--- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/ExperimentFeatureVectorSummaryLoaderTest.java
+++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/plugin/screening/server/logic/ExperimentFeatureVectorSummaryLoaderTest.java
@@ -222,7 +222,7 @@ public class ExperimentFeatureVectorSummaryLoaderTest extends AbstractServerTest
                         AnalysisProcedureCriteria.createFromCode("extern"),
                         new AnalysisSettings(properties));
 
-        assertEquals(null, summary);
+        assertEquals(0, summary.getTableModelOrNull().getRows().size());
         context.assertIsSatisfied();
     }
 
@@ -244,7 +244,7 @@ public class ExperimentFeatureVectorSummaryLoaderTest extends AbstractServerTest
                         AnalysisProcedureCriteria.createFromCode("intern"),
                         new AnalysisSettings(properties));
 
-        assertEquals(null, summary);
+        assertEquals(0, summary.getTableModelOrNull().getRows().size());
         context.assertIsSatisfied();
     }
 
-- 
GitLab