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
This commit is contained in:
Alan Davis
2014-03-14 16:11:01 +00:00
parent 3969c10fee
commit 96f5e5815d

View File

@@ -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<Pair<Long, Float>> page;
@@ -91,13 +95,15 @@ public class SolrJSONResultSet implements ResultSet
numberFound = response.getLong("numFound");
start = response.getLong("start");
maxScore = Float.valueOf(response.getString("maxScore"));
if (json.has("lastIndexedTx"))
{
lastIndexedTxId = json.getLong("lastIndexedTx");
}
JSONArray docs = response.getJSONArray("docs");
int numDocs = docs.length();
ArrayList<Long> rawDbids = new ArrayList<Long>(numDocs);
ArrayList<Float> rawScores = new ArrayList<Float>(numDocs);
for(int i = 0; i < numDocs; i++)
@@ -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(