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