public void addStage(Stage stage) { stages.put(stage.getName(), stage); }
public Stage getStage(String name) { for(Stage s : getStages()) { if(s.getName().equals(name)) { return s; } } return null; }
public void write(Stage stage, String group) throws IOException { DBObject q = reader.getStageQuery(stage.getName()); WriteResult result = stages.update(q, getStageDBObject(stage, group), true, false, concern); if (logger.isDebugEnabled()) { logger.debug("Wrote stage '{}' in group '{}', operation updated '{}' objects, got message '{}'", stage.getName(), group, result.getN(), result); } }
public void inactivate(Stage stage) { DBObject q = reader.getStageQuery(stage.getName()); stages.findAndModify(q, new BasicDBObject("$set", new BasicDBObject(MongoPipelineReader.ACTIVE_KEY, Stage.Mode.INACTIVE.toString()))); }
/** * May return null if and only if a referenced stage library was not found in the database. */ public Set<DatabaseFile> getDatabaseFiles() { Map<Object, DatabaseFile> files = new HashMap<Object, DatabaseFile>(); for(Stage s : stages.values()) { if(s.getDatabaseFile()==null) { logger.error("Stage group '"+s.getName()+"' is missing it's library file"); return null; } else if(!files.containsKey(s.getDatabaseFile().getId())) { files.put(s.getDatabaseFile().getId(), s.getDatabaseFile()); } } return new HashSet<DatabaseFile>(files.values()); }
@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Stage s = (Stage) obj; if(!s.getName().equals(name) || !s.getPropertiesModifiedDate().equals(getPropertiesModifiedDate()) || !mode.equals(s.getMode())) { return false; } if(getDatabaseFile()==null) { return s.getDatabaseFile() == null; } return getDatabaseFile().equals(s.getDatabaseFile()); } }
@Override public boolean equals(Object obj) { if (this == obj) { return true; } if (getClass() != obj.getClass()) { return false; } StageGroup g = (StageGroup) obj; if(g.getSize() == stages.size()) { for(Stage s : g.getStages()) { if(!hasStage(s.getName()) || !getStage(s.getName()).equals(s)) { return false; } } if((getPropertiesModifiedDate()==null) != (g.getPropertiesModifiedDate()==null)) { return false; } else if (getPropertiesModifiedDate()==null && g.getPropertiesModifiedDate() == null) { return true; } return getPropertiesModifiedDate().equals(g.getPropertiesModifiedDate()); } return false; }
StageGroup g = new StageGroup(s.getName()); g.addStage(s); pipeline.addGroup(g);
for (Stage stage : stages) { if (cmd.getStageNames() != null) { if (cmd.getStageNames().contains(stage.getName())) { log.info("Preparing to upload stage, " + stage.getName()); StageGroup g = new StageGroup(stage.getName()); g.addStage(stage); pipeline.addGroup(g); log.info("Preparing to upload stage, " + stage.getName()); StageGroup g = new StageGroup(stage.getName()); g.addStage(stage); pipeline.addGroup(g);
private DBObject getStageDBObject(Stage s, String group) { BasicDBObject obj = new BasicDBObject(); obj.put(MongoPipelineReader.STAGE_KEY, s.getName()); obj.put(MongoPipelineReader.TYPE_KEY, MongoPipelineReader.STAGE_TYPE); BasicDBObject props = new BasicDBObject(); if(s.isPropertiesChanged()) { props.put(MongoPipelineReader.PROPERTIES_DATE_SUBKEY, new Date()); } else { props.put(MongoPipelineReader.PROPERTIES_DATE_SUBKEY, s.getPropertiesModifiedDate()); } props.put(MongoPipelineReader.PROPERTIES_MAP_SUBKEY, s.getProperties()); obj.put(MongoPipelineReader.PROPERTIES_KEY, props); obj.put(MongoPipelineReader.ACTIVE_KEY, s.getMode().toString()); obj.put(MongoPipelineReader.GROUP_KEY, group); if(s.getDatabaseFile()!=null) { obj.put(MongoPipelineReader.FILE_KEY, s.getDatabaseFile().getId()); } return obj; }