From 8e2b815a8bb0c9aee66538e77512aa3df12ef67d Mon Sep 17 00:00:00 2001
From: tpylak <tpylak>
Date: Wed, 8 Jun 2011 10:16:47 +0000
Subject: [PATCH] LMS-2268 fix bug

SVN: 21643
---
 ...aterialFeaturesFromAllExperimentsGrid.java | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/MaterialFeaturesFromAllExperimentsGrid.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/MaterialFeaturesFromAllExperimentsGrid.java
index 170c59d756e..fd7ef66cb06 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/MaterialFeaturesFromAllExperimentsGrid.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/MaterialFeaturesFromAllExperimentsGrid.java
@@ -120,8 +120,14 @@ public class MaterialFeaturesFromAllExperimentsGrid extends
                                 TableModelRowWithObject<MaterialSimpleFeatureVectorSummary> rowItem,
                                 boolean specialKeyPressed)
                         {
-                            String experimentPermId =
-                                    rowItem.getObjectOrNull().getExperiment().getPermId();
+                            MaterialSimpleFeatureVectorSummary summaryOrNull =
+                                    rowItem.getObjectOrNull();
+                            if (summaryOrNull == null)
+                            {
+                                return;
+                            }
+                            String experimentPermId = summaryOrNull.getExperiment().getPermId();
+
                             // NOTE: even in not-embedded mode we open specific standalone summary
                             // view instead of material detail view (which contains the summary view
                             // as one of its tabs). The reason is that in such a case we are already
@@ -136,15 +142,18 @@ public class MaterialFeaturesFromAllExperimentsGrid extends
                                 ISerializableComparable value)
                         {
                             ExperimentSearchCriteria experiment = getExperimentCriteria(entity);
-                            return ScreeningLinkExtractor.createMaterialDetailsLink(material,
-                                    experiment);
+                            String link =
+                                    ScreeningLinkExtractor.createMaterialDetailsLink(material,
+                                            experiment);
+                            return link;
                         }
                     });
     }
 
     private boolean getRestrictGlobalScopeLinkToProject()
     {
-        return experimentSearchCriteria.tryGetProjectIdentifier() != null;
+        return experimentSearchCriteria != null
+                && experimentSearchCriteria.tryGetProjectIdentifier() != null;
     }
 
     private ExperimentSearchCriteria getExperimentCriteria(
-- 
GitLab