public Map<String, TreeSet<PipelineInstanceModel>> groupedDependencies(){ Map<String, TreeSet<PipelineInstanceModel>> pipelineInstanceModelses = new LinkedHashMap<>(); for (PipelineInstanceModel dependency : dependencies) { if (!pipelineInstanceModelses.containsKey(dependency.getName())) { pipelineInstanceModelses.put(dependency.getName(), new TreeSet<>((me, her) -> her.getCounter().compareTo(me.getCounter()))); } pipelineInstanceModelses.get(dependency.getName()).add(dependency); } return pipelineInstanceModelses; }
private static Consumer<OutputLinkWriter> addLinks(PipelineInstanceModel model) { return linkWriter -> linkWriter.addLink("self", Routes.Pipeline.instance(model.getName(), model.getCounter())); }
private static Consumer<OutputLinkWriter> addLinks(PipelineInstanceModel model) { return linkWriter -> linkWriter.addLink("self", Routes.Pipeline.instance(model.getName(), model.getCounter())); }
private static Consumer<OutputListWriter> getStages(PipelineInstanceModel model) { return writer -> { model.getStageHistory().forEach(stage -> { writer.addChild(childWriter -> { StageRepresenter.toJSON(childWriter, stage, model.getName(), String.valueOf(model.getCounter())); }); }); }; } }
private static Consumer<OutputListWriter> getStages(PipelineInstanceModel model) { return writer -> { model.getStageHistory().forEach(stage -> { writer.addChild(childWriter -> { StageRepresenter.toJSON(childWriter, stage, model.getName(), String.valueOf(model.getCounter())); }); }); }; } }
for (PipelineInstanceModel pipelineInstance : pipeline.model().getActivePipelineInstances()) { String pipelineName = pipelineInstance.getName(); int pipelineCounter = pipelineInstance.getCounter(); String pipelineLabel = pipelineInstance.getLabel();
private void populatePipelineState(PipelineInstanceModel instance, Username username) { populatePlaceHolderStages(instance); populateCanRunStatus(username, instance); populateStageOperatePermission(instance, username); populateLockStatus(instance.getName(), username, instance); long id = pipelineTimeline.pipelineBefore(instance.getId()); if (id != -1) { PipelineInstanceModel prevPipeline = pipelineDao.loadHistory(id); instance.setPreviousPipelineLabel(prevPipeline.getLabel()); instance.setPreviousPipelineCounter(prevPipeline.getCounter()); } }
public static void toJSON(OutputWriter jsonOutputWriter, PipelineInstanceModel model) { jsonOutputWriter .addLinks(addLinks(model)) .add("label", model.getLabel()) .add("counter", model.getCounter()) .add("triggered_by", model.getApprovedByForDisplay()) .add("scheduled_at", model.getScheduledDate()) .addChild("_embedded", childWriter -> { childWriter.addChildList("stages", getStages(model)); }); }
public static void toJSON(OutputWriter jsonOutputWriter, PipelineInstanceModel model) { jsonOutputWriter .addLinks(addLinks(model)) .add("label", model.getLabel()) .add("counter", model.getCounter()) .add("triggered_by", model.getApprovedByForDisplay()) .add("scheduled_at", model.getScheduledDate()) .addChild("_embedded", childWriter -> { childWriter.addChildList("stages", getStages(model)); }); }
public Document toXml(XmlWriterContext writerContext) { DOMElement root = new DOMElement("pipeline"); root.addAttribute("name", pipeline.getName()).addAttribute("counter", String.valueOf(pipeline.getCounter())).addAttribute("label", pipeline.getLabel()); Document document = new DOMDocument(root); String baseUrl = writerContext.getBaseUrl(); root.addElement("link").addAttribute("rel", "self").addAttribute("href", httpUrl(baseUrl)); root.addElement("id").addCDATA(pipeline.getPipelineIdentifier().asURN()); PipelineTimelineEntry pipelineAfter = pipeline.getPipelineAfter(); if (pipelineAfter != null) { addTimelineLink(root, baseUrl, "insertedBefore", pipelineAfter); } PipelineTimelineEntry pipelineBefore = pipeline.getPipelineBefore(); if (pipelineBefore != null) { addTimelineLink(root, baseUrl, "insertedAfter", pipelineBefore); } root.addElement("scheduleTime").addText(DateUtils.formatISO8601(pipeline.getScheduledDate())); Element materials = root.addElement("materials"); for (MaterialRevision materialRevision : pipeline.getCurrentRevisions()) { populateXml(materials, materialRevision, writerContext); } Element stages = root.addElement("stages"); for (StageInstanceModel stage : pipeline.getStageHistory()) { if (! (stage instanceof NullStageHistoryItem)) { stages.addElement("stage").addAttribute("href", StageXmlViewModel.httpUrlFor(writerContext.getBaseUrl(), stage.getId())); } } root.addElement("approvedBy").addCDATA(pipeline.getApprovedBy()); return document; }