Search code examples
ibm-cloudcloudant

How to use the QueryResult in Bluemix to get the BasicDocumentRevision


public List<Task> allTasks() {
    int nDocs = this.mDatastore.getDocumentCount();
    List<BasicDocumentRevision> all = this.mDatastore.getAllDocuments(0, nDocs, true);
    List<Task> tasks = new ArrayList<Task>();

    // Filter all documents down to those of type Task.
    IndexManager im = new IndexManager(mDatastore);
    List<Object> indexFields = new ArrayList<Object>();
    indexFields.add("city");
    indexFields.add("price");
    indexFields.add("Area");
    indexFields.add("Information");
    indexFields.add("imagename");

// Create the index
    im.ensureIndexed(indexFields);
    Map<String, Object> query = new HashMap<String, Object>();
    query.put("desc", "RESIDENTIAL PROPERTY");
    QueryResult result = im.find(query);


    for(BasicDocumentRevision rev :all) {
        Task t = Task.fromRevision(rev);
        if (t != null) {

            tasks.add(t);

        }
    }

    return tasks;

How do you use queryresult to get it stored in a task class object? I want my query to only be listed in listview. I am working on Bluemix, which uses Cloudant syn.


Solution

  • You can get the document revision from the QueryResult by iterating over the QueryResult Object like :

    for(DocumentRevision rev : result){
        Task t = Task.fromRevision(rev);
        if(task != null)
            tasks.add(t);
    }