Example usage for org.dom4j.dom DOMElement addComment

List of usage examples for org.dom4j.dom DOMElement addComment

Introduction

In this page you can find the example usage for org.dom4j.dom DOMElement addComment.

Prototype

public Element addComment(String comment) 

Source Link

Usage

From source file:com.thoughtworks.go.server.domain.xml.JobXmlViewModel.java

License:Apache License

public Document toXml(XmlWriterContext writerContext) {
    DOMElement root = new DOMElement("job");
    root.addAttribute("name", jobInstance.getName());
    Document document = new DOMDocument(root);
    root.addElement("link").addAttribute("rel", "self").addAttribute("href",
            httpUrl(writerContext.getBaseUrl()));

    JobIdentifier identifier = jobInstance.getIdentifier();
    root.addElement("id").addCDATA(identifier.asURN());
    String pipelineName = identifier.getPipelineName();
    StageIdentifier stageId = identifier.getStageIdentifier();

    root.addElement("pipeline").addAttribute("name", pipelineName)
            .addAttribute("counter", String.valueOf(stageId.getPipelineCounter()))
            .addAttribute("label", stageId.getPipelineLabel());

    root.addElement("stage").addAttribute("name", stageId.getStageName())
            .addAttribute("counter", stageId.getStageCounter()).addAttribute("href",
                    StageXmlViewModel.httpUrlFor(writerContext.getBaseUrl(), jobInstance.getStageId()));

    root.addElement("result").addText(jobInstance.getResult().toString());

    root.addElement("state").addText(jobInstance.getState().toString());

    Element properties = root.addElement("properties");

    for (Property property : writerContext.propertiesForJob(jobInstance.getId())) {
        properties.addElement("property").addAttribute("name", property.getKey()).addCDATA(property.getValue());
    }//from ww w .  j  a  v  a 2  s .c  o m

    root.addElement("agent").addAttribute("uuid", jobInstance.getAgentUuid());

    root.addComment("artifacts of type `file` will not be shown. See https://github.com/gocd/gocd/pull/2875");
    Element artifacts = root.addElement("artifacts");
    artifacts.addAttribute("baseUri", writerContext.artifactBaseUrl(identifier))
            .addAttribute("pathFromArtifactRoot", writerContext.artifactRootPath(identifier));

    JobPlan jobPlan = writerContext.planFor(identifier);
    for (ArtifactPlan artifactPlan : jobPlan.getArtifactPlansOfType(ArtifactPlanType.unit)) {
        artifacts.addElement("artifact").addAttribute("src", artifactPlan.getSrc())
                .addAttribute("dest", artifactPlan.getDest())
                .addAttribute("type", artifactPlan.getArtifactPlanType().toString());
    }

    // Retain the top level elements for backward-compatibility
    root.addComment("resources are now intentionally left blank. See https://github.com/gocd/gocd/pull/2875");
    root.addElement("resources");
    root.addComment(
            "environmentvariables are now intentionally left blank. See https://github.com/gocd/gocd/pull/2875");
    root.addElement("environmentvariables");

    return document;
}