From 1d9df9887c8e94e778eb067e7e64db6701698177 Mon Sep 17 00:00:00 2001
From: izabel <izabel>
Date: Wed, 10 Mar 2010 15:02:37 +0000
Subject: [PATCH] fix:NPE

SVN: 15107
---
 .../server/resultset/CachedResultSetManager.java  | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/CachedResultSetManager.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/CachedResultSetManager.java
index f53923bc33c..19c67d340ad 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/CachedResultSetManager.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/server/resultset/CachedResultSetManager.java
@@ -259,8 +259,17 @@ public final class CachedResultSetManager<K> implements IResultSetManager<K>, Se
                 {
                     Comparable v1 = sortField.tryGetComparableValue(o1);
                     Comparable v2 = sortField.tryGetComparableValue(o2);
-                    // NullComparator wrapper is dealing with nulls (see below)
-                    return v1.compareTo(v2);
+                    // treat null as minimal value
+                    if (v1 == null)
+                    {
+                        return -1;
+                    } else if (v2 == null)
+                    {
+                        return 1;
+                    } else
+                    {
+                        return v1.compareTo(v2);
+                    }
                 }
 
             };
@@ -324,7 +333,7 @@ public final class CachedResultSetManager<K> implements IResultSetManager<K>, Se
         assert resultConfig != null : "Unspecified result configuration";
         assert dataProvider != null : "Unspecified data retriever";
         Set<String> ids = gatherAllColumnIDs(resultConfig);
-        debug("All columns needed:"+ids);
+        debug("All columns needed:" + ids);
         ResultSetFetchConfig<K> cacheConfig = resultConfig.getCacheConfig();
         ResultSetFetchMode mode = cacheConfig.getMode();
         debug("getResultSet(cache config = " + cacheConfig + ")");
-- 
GitLab