I'm converting from 4.0.7 to 5.0.1 and am getting errors on the previously working function below, (note this function is in the drl file):

The error is:
"Type mismacth:  cannot convert from org.drools.QueryResults to org.drools.runtime.rule.QueryResults"


I'm told we need to use the following class for queries in 5.0 and going forward:

import org.drools.runtime.rule.QueryResults;
import org.drools.runtime.rule.QueryResultsRow;


The problem is getting a pointer to working memory from within a rule or function used to be done via the KnowledgerHelper object but that is not compatible with the new QueryResults class.

What am I doing wrong?


-------------------------------------------------------------------------------------------------------------------------------

function CardTransaction getCompletedTransaction (String cardnum, KnowledgeHelper khObj) {
    CardTransaction tranObj = null;
    String[] queryParams = {cardnum};

    QueryResult result = null;

    final QueryResults results = khObj.getWorkingMemory().getQueryResults("GetCompletedTransaction", queryParams);
       
    for (Iterator<QueryResult> it = results.iterator(); it.hasNext(); ) {
        result = it.next();
           tranObj = (CardTransaction)result.get("cardtransactionobj");
    }
   
    if (tranObj != null)
        return tranObj;
    else
        return null;
}



Scott