From 96f5e5815d9a11d4cdaf6cc58dcc45d2c557e92a Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Fri, 14 Mar 2014 16:11:01 +0000 Subject: [PATCH] Merged HEAD-BUG-FIX (4.3/Cloud) to HEAD (4.3/Cloud) 63338: Merged BRANCHES/DEV/KEVINR to HEAD-BUG-FIX 63337: Fix bug in SolrJSONResultSet where 'lastIndexedTx' is not always reported in JSON returned from SOLR but it is assumed to be mandatory. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@64283 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../repo/search/impl/lucene/SolrJSONResultSet.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/source/java/org/alfresco/repo/search/impl/lucene/SolrJSONResultSet.java b/source/java/org/alfresco/repo/search/impl/lucene/SolrJSONResultSet.java index c2880b1397..3c8452ad5c 100644 --- a/source/java/org/alfresco/repo/search/impl/lucene/SolrJSONResultSet.java +++ b/source/java/org/alfresco/repo/search/impl/lucene/SolrJSONResultSet.java @@ -37,6 +37,8 @@ import org.alfresco.service.cmr.search.ResultSetMetaData; import org.alfresco.service.cmr.search.ResultSetRow; import org.alfresco.service.cmr.search.SearchParameters; import org.alfresco.util.Pair; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; @@ -46,6 +48,8 @@ import org.json.JSONObject; */ public class SolrJSONResultSet implements ResultSet { + private static final Log logger = LogFactory.getLog(SolrJSONResultSet.class); + private NodeService nodeService; private ArrayList> page; @@ -91,12 +95,14 @@ public class SolrJSONResultSet implements ResultSet numberFound = response.getLong("numFound"); start = response.getLong("start"); maxScore = Float.valueOf(response.getString("maxScore")); - lastIndexedTxId = json.getLong("lastIndexedTx"); + if (json.has("lastIndexedTx")) + { + lastIndexedTxId = json.getLong("lastIndexedTx"); + } JSONArray docs = response.getJSONArray("docs"); int numDocs = docs.length(); - ArrayList rawDbids = new ArrayList(numDocs); ArrayList rawScores = new ArrayList(numDocs); @@ -161,7 +167,7 @@ public class SolrJSONResultSet implements ResultSet } catch (JSONException e) { - + logger.info(e.getMessage()); } // We'll say we were unlimited if we got a number less than the limit this.resultSetMetaData = new SimpleResultSetMetaData(