Example usage for org.dom4j.dom DOMElement addAttribute

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

Introduction

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

Prototype

public Element addAttribute(String name, String value) 

Source Link

Usage

From source file:com.jboss.transaction.txinterop.test.XMLResultsServlet.java

License:LGPL

public void doStatus(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/xml");
    response.setHeader("Cache-Control", "no-cache");

    HttpSession session = request.getSession();
    final FullTestResult testResult = (FullTestResult) session
            .getAttribute(TestConstants.ATTRIBUTE_TEST_RESULT);

    DOMDocument report = new DOMDocument();
    DOMElement testsuite = new DOMElement("testsuite");
    report.setRootElement(testsuite);//from   w w w  . j a  va  2s.com

    if (testResult == null) {
        // No JUnit test results generated.
    } else {
        List passedTests = testResult.getPassedTests();
        List failedTests = testResult.getFailedTests();
        List errorTests = testResult.getErrorTests();

        final int runCount = testResult.runCount();
        final int errorCount = testResult.errorCount();
        final int failureCount = testResult.failureCount();

        testsuite.addAttribute("name", "com.jboss.transaction.txinterop.interop.InteropTestSuite");
        testsuite.addAttribute("errors", Integer.toString(errorCount));
        testsuite.addAttribute("failures", Integer.toString(failureCount));
        testsuite.addAttribute("hostname", request.getServerName());
        testsuite.addAttribute("tests", Integer.toString(runCount));
        testsuite.addAttribute("timestamp", new Date().toString());

        DOMElement properties = new DOMElement("properties");
        testsuite.add(properties);
        DOMElement status = newPropertyDOMElement("status");
        properties.add(status);
        status.addAttribute("value", "finished");

        long totalDuration = 0;

        if (!passedTests.isEmpty()) {
            Iterator passedTestsIterator = passedTests.iterator();
            while (passedTestsIterator.hasNext()) {
                FullTestResult.PassedTest passedTest = (FullTestResult.PassedTest) passedTestsIterator.next();
                totalDuration += passedTest.duration;

                final String name = passedTest.test.toString();
                final String description = (String) TestConstants.DESCRIPTIONS.get(name);

                testsuite.add(newTestcase(passedTest.test.getClass().getName(), name + ": " + description,
                        passedTest.duration));
            }
        }

        if (!failedTests.isEmpty()) {
            Iterator failedTestsIterator = failedTests.iterator();
            while (failedTestsIterator.hasNext()) {
                FullTestResult.FailedTest failedTest = (FullTestResult.FailedTest) failedTestsIterator.next();
                totalDuration += failedTest.duration;

                final String name = failedTest.test.toString();
                final String description = (String) TestConstants.DESCRIPTIONS.get(name);
                CharArrayWriter charArrayWriter = new CharArrayWriter();
                PrintWriter printWriter = new PrintWriter(charArrayWriter, true);
                failedTest.assertionFailedError.printStackTrace(printWriter);
                printWriter.close();
                charArrayWriter.close();

                testsuite.add(newFailedTestcase(failedTest.test.getClass().getName(), name + ": " + description,
                        failedTest.duration, failedTest.assertionFailedError.getMessage(),
                        charArrayWriter.toString()));
            }
        }

        if (!errorTests.isEmpty()) {
            Iterator errorTestsIterator = errorTests.iterator();
            while (errorTestsIterator.hasNext()) {
                FullTestResult.ErrorTest errorTest = (FullTestResult.ErrorTest) errorTestsIterator.next();
                totalDuration += errorTest.duration;

                final String name = errorTest.test.toString();
                final String description = (String) TestConstants.DESCRIPTIONS.get(name);
                CharArrayWriter charArrayWriter = new CharArrayWriter();
                PrintWriter printWriter = new PrintWriter(charArrayWriter, true);
                errorTest.throwable.printStackTrace(printWriter);
                printWriter.close();
                charArrayWriter.close();

                System.out.println("charArrayWriter.toString()=" + charArrayWriter.toString());
                testsuite.add(newErrorTestcase(errorTest.test.getClass().getName(), name + ": " + description,
                        errorTest.duration, errorTest.throwable.getMessage(), charArrayWriter.toString()));
            }
        }

        // total time of all tests
        testsuite.addAttribute("time", Float.toString(totalDuration / 1000f));
    }

    String logContent = null;
    final String logName = (String) session.getAttribute(TestConstants.ATTRIBUTE_LOG_NAME);
    if (logName != null) {
        try {
            logContent = TestLogController.readLog(logName);
        } catch (final Throwable th) {
            log("Error reading log file", th);
        }
    }

    testsuite.add(new DOMElement("system-out").addCDATA((logContent != null) ? logContent : ""));
    testsuite.add(new DOMElement("system-err").addCDATA(""));

    XMLWriter outputter = new XMLWriter(response.getWriter(), OutputFormat.createPrettyPrint());
    try {
        outputter.write(testsuite);
        outputter.close();
    } catch (IOException e) {
        throw new ServletException(e);
    }
}

From source file:com.jboss.transaction.txinterop.test.XMLResultsServlet.java

License:LGPL

private DOMElement newPropertyDOMElement(String name, String value) {
    DOMElement property = new DOMElement("property");
    property.addAttribute("name", name);
    if (value != null) {
        property.addAttribute("value", value);
    }/*ww  w  .ja  v  a2s  .  co m*/
    return property;
}

From source file:com.jboss.transaction.txinterop.test.XMLResultsServlet.java

License:LGPL

private DOMElement newTestcase(String classname, String name, long duration, String failureMessage,
        String failureType, String failureDetail) {
    DOMElement testcase = new DOMElement("testcase");
    testcase.addAttribute("classname", classname);
    testcase.addAttribute("name", name);
    testcase.addAttribute("time", Float.toString(duration / 1000f)); // converts from miliseconds to seconds
    if (failureMessage != null) {
        DOMElement failure = new DOMElement("failure");
        testcase.add(failure);//from w ww.  ja  va2 s  . c  o  m
        failure.addAttribute("message", failureMessage);
        if (failureType != null) {
            failure.addAttribute("type", failureType);
        }
        if (failureDetail != null) {
            failure.addCDATA(failureDetail);
        }
    }
    return testcase;
}

From source file:com.jboss.transaction.wstf.test.XMLResultsServlet.java

License:LGPL

public void doStatus(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/xml");
    response.setHeader("Cache-Control", "no-cache");

    HttpSession session = request.getSession();
    final FullTestResult testResult = (FullTestResult) session
            .getAttribute(TestConstants.ATTRIBUTE_TEST_RESULT);

    DOMDocument report = new DOMDocument();
    DOMElement testsuite = new DOMElement("testsuite");
    report.setRootElement(testsuite);/*  ww w .java 2s.co m*/

    if (testResult == null) {
        // No JUnit test results generated.
    } else {
        List passedTests = testResult.getPassedTests();
        List failedTests = testResult.getFailedTests();
        List errorTests = testResult.getErrorTests();

        final int runCount = testResult.runCount();
        final int errorCount = testResult.errorCount();
        final int failureCount = testResult.failureCount();

        testsuite.addAttribute("name", "com.jboss.transaction.wstf.interop.InteropTestSuite");
        testsuite.addAttribute("errors", Integer.toString(errorCount));
        testsuite.addAttribute("failures", Integer.toString(failureCount));
        testsuite.addAttribute("hostname", request.getServerName());
        testsuite.addAttribute("tests", Integer.toString(runCount));
        testsuite.addAttribute("timestamp", new Date().toString());

        DOMElement properties = new DOMElement("properties");
        testsuite.add(properties);
        DOMElement status = newPropertyDOMElement("status");
        properties.add(status);
        status.addAttribute("value", "finished");

        long totalDuration = 0;

        if (!passedTests.isEmpty()) {
            Iterator passedTestsIterator = passedTests.iterator();
            while (passedTestsIterator.hasNext()) {
                FullTestResult.PassedTest passedTest = (FullTestResult.PassedTest) passedTestsIterator.next();
                totalDuration += passedTest.duration;

                final String name = passedTest.test.toString();
                final String description = (String) TestConstants.DESCRIPTIONS.get(name);

                testsuite.add(newTestcase(passedTest.test.getClass().getName(), name + ": " + description,
                        passedTest.duration));
            }
        }

        if (!failedTests.isEmpty()) {
            Iterator failedTestsIterator = failedTests.iterator();
            while (failedTestsIterator.hasNext()) {
                FullTestResult.FailedTest failedTest = (FullTestResult.FailedTest) failedTestsIterator.next();
                totalDuration += failedTest.duration;

                final String name = failedTest.test.toString();
                final String description = (String) TestConstants.DESCRIPTIONS.get(name);
                CharArrayWriter charArrayWriter = new CharArrayWriter();
                PrintWriter printWriter = new PrintWriter(charArrayWriter, true);
                failedTest.assertionFailedError.printStackTrace(printWriter);
                printWriter.close();
                charArrayWriter.close();

                testsuite.add(newFailedTestcase(failedTest.test.getClass().getName(), name + ": " + description,
                        failedTest.duration, failedTest.assertionFailedError.getMessage(),
                        charArrayWriter.toString()));
            }
        }

        if (!errorTests.isEmpty()) {
            Iterator errorTestsIterator = errorTests.iterator();
            while (errorTestsIterator.hasNext()) {
                FullTestResult.ErrorTest errorTest = (FullTestResult.ErrorTest) errorTestsIterator.next();
                totalDuration += errorTest.duration;

                final String name = errorTest.test.toString();
                final String description = (String) TestConstants.DESCRIPTIONS.get(name);
                CharArrayWriter charArrayWriter = new CharArrayWriter();
                PrintWriter printWriter = new PrintWriter(charArrayWriter, true);
                errorTest.throwable.printStackTrace(printWriter);
                printWriter.close();
                charArrayWriter.close();

                System.out.println("charArrayWriter.toString()=" + charArrayWriter.toString());
                testsuite.add(newErrorTestcase(errorTest.test.getClass().getName(), name + ": " + description,
                        errorTest.duration, errorTest.throwable.getMessage(), charArrayWriter.toString()));
            }
        }

        // total time of all tests
        testsuite.addAttribute("time", Float.toString(totalDuration / 1000f));
    }

    String logContent = null;
    final String logName = (String) session.getAttribute(TestConstants.ATTRIBUTE_LOG_NAME);
    if (logName != null) {
        try {
            logContent = TestLogController.readLog(logName);
        } catch (final Throwable th) {
            log("Error reading log file", th);
        }
    }

    testsuite.add(new DOMElement("system-out").addCDATA((logContent != null) ? logContent : ""));
    testsuite.add(new DOMElement("system-err").addCDATA(""));

    XMLWriter outputter = new XMLWriter(response.getWriter(), OutputFormat.createPrettyPrint());
    try {
        outputter.write(testsuite);
        outputter.close();
    } catch (IOException e) {
        throw new ServletException(e);
    }
}

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

License:Apache License

private DOMElement getXmlForJobPlan(XmlWriterContext writerContext, WaitingJobPlan waitingJobPlan) {
    JobPlan jobPlan = waitingJobPlan.jobPlan();
    DOMElement root = new DOMElement("job");
    root.addAttribute("name", jobPlan.getName()).addAttribute("id", String.valueOf(jobPlan.getJobId()));
    root.addElement("link").addAttribute("rel", "self").addAttribute("href",
            httpUrlFor(writerContext.getBaseUrl(), jobPlan.getIdentifier()));
    root.addElement("buildLocator").addText(jobPlan.getIdentifier().buildLocator());
    if (!StringUtils.isBlank(waitingJobPlan.envName())) {
        root.addElement("environment").addText(waitingJobPlan.envName());
    }/*  w ww .j  a  va 2  s .  c o  m*/

    if (!jobPlan.getResources().isEmpty()) {
        DOMElement resources = new DOMElement("resources");

        for (Resource resource : jobPlan.getResources()) {
            resources.addElement("resource").addCDATA(resource.getName());
        }
        root.add(resources);
    }

    if (!jobPlan.getVariables().isEmpty()) {
        DOMElement envVars = new DOMElement("environmentVariables");
        for (EnvironmentVariable environmentVariable : jobPlan.getVariables()) {
            envVars.addElement("variable").addAttribute("name", environmentVariable.getName())
                    .addText(environmentVariable.getDisplayValue());
        }
        root.add(envVars);
    }

    return root;
}

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 w w w. j  a v  a2 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;
}

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

License:Apache License

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);
    }//from   ww w.  j a  v  a  2  s .c om
    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;
}

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

License:Apache License

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

    StageIdentifier stageId = stage.getIdentifier();
    root.addElement("id").addCDATA(stageId.asURN());
    String pipelineName = stageId.getPipelineName();
    root.addElement("pipeline").addAttribute("name", pipelineName)
            .addAttribute("counter", String.valueOf(stageId.getPipelineCounter()))
            .addAttribute("label", stageId.getPipelineLabel()).addAttribute("href", writerContext.getBaseUrl()
                    + "/api/pipelines/" + pipelineName + "/" + stage.getPipelineId() + ".xml");

    root.addElement("updated").addText(DateUtils.formatISO8601(stage.latestTransitionDate()));

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

    root.addElement("state").addText(stage.status());

    root.addElement("approvedBy").addCDATA(stage.getApprovedBy());

    Element jobs = root.addElement("jobs");
    for (JobInstance jobInstance : stage.getJobInstances()) {
        jobs.addElement("job").addAttribute("href",
                writerContext.getBaseUrl() + "/api/jobs/" + jobInstance.getId() + ".xml");
    }//from   w  ww  . j a v  a 2s  .  c om

    return document;
}

From source file:GnuCash.GnuCashDocument.java

License:Open Source License

public void addCommodity(String isin, String symbol, String name, String space) {
    setBook();/*from  w w  w  .  j  av a 2 s. c  om*/

    //Element e=book.addElement("gnc:commodity");
    DOMElement e = new DOMElement("gnc:commodity");
    e.addAttribute("version", CMDTY_VERSION);
    e.addNamespace("cmdty", "http://www.gnucash.org/XML/cmdty");
    e.addElement("cmdty:space").setText(space);
    e.addElement("cmdty:id").setText(symbol);
    e.addElement("cmdty:xcode").setText(isin);
    e.addElement("cmdty:name").setText(name);
    e.addElement("cmdty:fraction").setText(CMDTY_FRACTION);
    e.addElement("cmdty:get_quotes");
    e.addElement("cmdty:quote_source").setText(CMDTY_QUOTE_SOURCE);
    e.addElement("cmdty:quote_tz");

    book.elements("commodity").add(1, e);

    modified = true;
    /*
     *  <gnc:commodity version="2.0.0">
    <cmdty:space>XETRA</cmdty:space>
    <cmdty:id>586590</cmdty:id>
    <cmdty:name>Grenkeleasing AG</cmdty:name>
    <cmdty:fraction>10000</cmdty:fraction>
    <cmdty:get_quotes/>
    <cmdty:quote_source>vwd</cmdty:quote_source>
    <cmdty:quote_tz/>
    </gnc:commodity>
     */
}

From source file:hello.SampleSimpleApplication.java

License:Apache License

private void addBreadcrumbBefore(DOMElement autoTileElement) {
    DOMDocument document = (DOMDocument) autoTileElement.getDocument();
    DOMElement breadcrumbEl = (DOMElement) document.createElement("div");
    //      breadcrumbEl.addAttribute("style", "font-weight: bold; left: 0px; position: absolute; top: 3px; font-size:x-small;");
    breadcrumbEl.addAttribute("style", "left: 0px; position: absolute; top: 3px; font-size:x-small;");
    Element lastChildElement = (Element) bookmarks.selectSingleNode("*[last()]");
    addBreadcrumbItem(lastChildElement, breadcrumbEl);
    DOMElement h4El = (DOMElement) autoTileElement.selectSingleNode("*");//.detach();
    autoTileElement.insertBefore(breadcrumbEl, h4El);
}