@Override public Iterable<Execution> findByCritera(Map<String,Object> criteria, int limit) { String critSeparator = ", "; String fieldSeparator = " : "; StringBuilder query = new StringBuilder(); query.append("{"); for(Entry<String, Object> e : criteria.entrySet()) { query.append(e.getKey()); query.append(fieldSeparator); query.append("#"); query.append(critSeparator); } // Remove last "," String cleanQuery = null; if(query.length() > 1) cleanQuery = query.substring(0, query.length() - (critSeparator.length())); else cleanQuery = query.toString(); cleanQuery += "}"; //System.out.println(cleanQuery + ";" + criteria.values()); return collection.find(cleanQuery, criteria.values().toArray()).sort("{ \"endTime\" : -1}").limit(limit).as(Execution.class); }
return collection.find(query.toString(), executionID).sort("{executionTime: 1}").as(ReportNode.class).iterator();
public void readLatestControllerLog() { MongoCursor<ControllerLog> cursor = controllerLogs.find().sort("{start:-1}").as(ControllerLog.class); if(cursor.count()>0) { latestControllerLog = controllerLogs.find().sort("{start:-1}").as(ControllerLog.class).next(); logger.info("Last start of the controller: "+ latestControllerLog.toString()); } else { logger.info("No start log found. Starting the controller for the first time against this DB..."); } }
@Override public Iterator<ReportNode> getReportNodesByExecutionID(String executionID) { assert executionID != null; return collection.find("{executionID: #}", executionID).sort("{executionTime: 1}").as(ReportNode.class).iterator(); }
@Override public Iterator<ReportNode> getFailedLeafReportNodesByExecutionID(String executionID) { assert executionID != null; return collection.find("{executionID: #, $or: [ { _class: 'step.commons.model.report.CallFunctionReportNode', status: {$ne:'PASSED'}}, { status: 'TECHNICAL_ERROR'} ]}", executionID) .sort("{executionTime: 1}").as(ReportNode.class).iterator(); }
@Override public Iterable<Execution> findLastStarted(int limit) { String sort = "{ startTime: -1}"; return collection.find().sort(sort).limit(limit).as(Execution.class); }
@Override public Iterable<Execution> findLastEnded(int limit) { String sort = "{ endTime: -1}"; return collection.find().sort(sort).limit(limit).as(Execution.class); } }
@Override public Iterator<ReportNode> getLeafReportNodesByExecutionID(String executionID) { assert executionID != null; return collection.find( "{executionID: #, $or: [ { _class: 'step.commons.model.report.CallFunctionReportNode' }, { status: 'TECHNICAL_ERROR'} ]}", executionID) .sort("{executionTime: 1}").as(ReportNode.class).iterator(); }
@Override public Iterator<ReportNode> getChildren(ObjectId parentID) { return collection.find("{parentID: #}",parentID).sort("{executionTime: 1}").as(ReportNode.class).iterator(); }
@Override public Iterator<ReportNode> getChildren(ObjectId parentID, int skip, int limit) { return collection.find("{parentID: #}",parentID).skip(skip).limit(limit).sort("{executionTime: 1}").as(ReportNode.class).iterator(); }
find.sort(queryCriteria.getOrderByClause());