/** * Actually makes the transformation form Jongo to List of Objects. * * @param find Find object to transform. * @return a Iterable with the results <b>null</b> if nothing is found. */ @SuppressWarnings("uncheck")// cortiz, might change in jongo 1.4 protected Iterable<T> returnList(final Find find) { return (Iterable<T>)find.as(clazz); }
@Override public List<Execution> getActiveTests() { List<Execution> result = new ArrayList<>(); for(Execution execution:collection.find("{status: { $ne: 'ENDED' }}").as(Execution.class)) { result.add(execution); } return result; }
@Override public List<Execution> getTestExecutionsByArtefactURL(String artefactURL) { List<Execution> result = new ArrayList<>(); for(Execution execution:collection.find("{artefactURL: '" + artefactURL +"'}").as(Execution.class)) { result.add(execution); } return result; }
@Override public Iterator<T> getAll() { return collection.find().as(entityClass); }
@Override public List<User> getAllUsers() { List<User> result = new ArrayList<>(); collection.find().as(User.class).iterator().forEachRemaining(u->result.add(u)); return result; }
@Override public Iterator<AbstractArtefact> getRootArtefacts() { JsonObjectBuilder builder = jsonProvider.createObjectBuilder(); builder.add("root", true); return collection.find(builder.build().toString()).as(AbstractArtefact.class); }
@Override public Set<String> getStateIds() { Iterator<MongoState> res = getCollection().find().as(MongoState.class).iterator(); Set<String> result = new HashSet<String>(); while (res.hasNext()){ MongoState state = res.next(); result.add(state.getId()); } return result; } }
@Override public Iterator<ExecutiontTaskParameters> getActiveExecutionTasks() { return collection.find("{active:true}").as(ExecutiontTaskParameters.class).iterator(); } }
@Override public Iterator<ReportNode> getReportNodesByExecutionIDAndClass(String executionID, String class_) { assert executionID != null; return collection.find( "{executionID: #, _class: #}", executionID, class_).as(ReportNode.class).iterator(); }
public Iterable<U> findAllUsers() { return users.get().find().as(userClass); }
public Iterable<U> findAllUsers() { return users.get().find().as(userClass); }
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> 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 Iterator<ReportNode> getReportNodesByExecutionID(String executionID) { assert executionID != null; return collection.find("{executionID: #}", 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 Iterator<ReportNode> getReportNodesByExecutionIDAndArtefactID(String executionID, String artefactID) { assert executionID != null; assert artefactID!=null; return collection.find("{executionID: #, artefactID: #}", executionID, new ObjectId(artefactID)).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 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, int skip, int limit) { return collection.find("{parentID: #}",parentID).skip(skip).limit(limit).sort("{executionTime: 1}").as(ReportNode.class).iterator(); }