From 0ea59f6448087d9be62f5a7a4ad75cd03efdd1e1 Mon Sep 17 00:00:00 2001
From: tpylak <tpylak>
Date: Fri, 20 May 2011 08:41:28 +0000
Subject: [PATCH] LMS-2189 prepare framework

SVN: 21408
---
 .../application/ClientPluginFactory.java      | 32 +++++++++++++------
 1 file changed, 23 insertions(+), 9 deletions(-)

diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/ClientPluginFactory.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/ClientPluginFactory.java
index b3de35b817b..d8d574e33d0 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/ClientPluginFactory.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/ClientPluginFactory.java
@@ -187,21 +187,35 @@ public final class ClientPluginFactory extends AbstractClientPluginFactory<Scree
             final IViewContext<IScreeningClientServiceAsync> viewContext)
     {
         String experimentPermId = tryGetExperimentPermId(experimentCriteriaOrNull);
-        if (viewContext.getModel().isEmbeddedMode() && experimentPermId != null)
+        if (viewContext.getModel().isEmbeddedMode())
         {
-            // TODO 2011-05-17, Tomasz Pylak: it should be possible to open this veiw
-            // for all experiments as well
-            MaterialIdentifier materialIdentifier = asMaterialIdentifier(material);
-            MaterialReplicaSummaryViewer.openTab(viewContext, experimentPermId, materialIdentifier);
+            if (experimentPermId != null)
+            {
+                MaterialIdentifier materialIdentifier = asMaterialIdentifier(material);
+                MaterialReplicaSummaryViewer.openTab(viewContext, experimentPermId,
+                        materialIdentifier);
+            } else
+            {
+                // TODO 2011-05-17, Tomasz Pylak: open view showing all assays with the material
+                openImagingMaterialGenericViewer(material, experimentCriteriaOrNull, viewContext);
+            }
         } else
         {
-            AbstractTabItemFactory tab =
-                    createImagingMaterialViewerTabFactory(material, experimentCriteriaOrNull,
-                            viewContext);
-            DispatcherHelper.dispatchNaviEvent(tab);
+            openImagingMaterialGenericViewer(material, experimentCriteriaOrNull, viewContext);
         }
     }
 
+    private static void openImagingMaterialGenericViewer(
+            final IEntityInformationHolderWithPermId material,
+            final ExperimentSearchCriteria experimentCriteriaOrNull,
+            final IViewContext<IScreeningClientServiceAsync> viewContext)
+    {
+        AbstractTabItemFactory tab =
+                createImagingMaterialViewerTabFactory(material, experimentCriteriaOrNull,
+                        viewContext);
+        DispatcherHelper.dispatchNaviEvent(tab);
+    }
+
     private static String tryGetExperimentPermId(ExperimentSearchCriteria criteriaOrNull)
     {
         if (criteriaOrNull == null)
-- 
GitLab