private Set<String> getChangedGroups(Pipeline newPipeline) { HashSet<String> list = new HashSet<String>(); for(StageGroup group : pipeline.getStageGroups()) { if(!newPipeline.hasGroup(group.getName()) || !group.equals(newPipeline.getGroup(group.getName()))) { list.add(group.getName()); } } return list; }
@Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null || getClass() != obj.getClass()) { return false; } Pipeline other = (Pipeline) obj; if(other.getStageGroups().size()==getStageGroups().size()) { for(StageGroup g : other.getStageGroups()) { if(!hasGroup(g.getName()) || !g.equals(getGroup(g.getName()))) { return false; } } return true; } return false; }
private void getStages(HttpRequest request, HttpResponse response, HttpContext context) { logger.trace("handleGetStages()"); String group = RESTTools.getParam(request, GroupStarter.GROUP_PARAM); Pipeline p = reader.getPipeline(); if(!p.hasGroup(group)) { p = reader.getDebugPipeline(); } if(p.hasGroup(group)) { HttpResponseWriter.printJson(response, p.getGroup(group).getStageNames()); return; } response.setStatusCode(HttpStatus.SC_NOT_FOUND); response.setEntity(new NStringEntity("", HttpResponseWriter.CONTENT_TYPE)); }
private Pipeline getPipeline(Stage.Mode mode) { Pipeline p = new Pipeline(); DBCursor cursor = stages.find(new BasicDBObject(ACTIVE_KEY, mode.toString())); while(cursor.hasNext()) { DBObject obj = cursor.next(); if(!obj.containsField(TYPE_KEY) || STAGE_TYPE.equals(obj.get(TYPE_KEY))) { Stage s = getStage(obj); if(!p.hasGroup(getGroupName(obj))) { p.addGroup(new StageGroup(getGroupName(obj))); } p.getGroup(getGroupName(obj)).addStage(s); } else { addGroup(p, getGroup(obj)); } } return p; }