public void output()

in src/main/java/org/apache/easyant/core/report/XMLEasyAntReportWriter.java [55:117]


    public void output(EasyAntReport easyAntReport, ConfigurationResolveReport report, OutputStream stream) {
        OutputStreamWriter encodedOutStream;
        try {
            encodedOutStream = new OutputStreamWriter(stream, REPORT_ENCODING);
        } catch (UnsupportedEncodingException e) {
            throw new RuntimeException(REPORT_ENCODING + " is not known on your jvm", e);
        }
        PrintWriter out = new PrintWriter(new BufferedWriter(encodedOutStream));
        ModuleRevisionId mrid = report.getModuleDescriptor().getModuleRevisionId();
        // out.println("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>");
        out.println("<?xml version=\"1.0\" encoding=\"" + REPORT_ENCODING + "\"?>");
        out.println("<?xml-stylesheet type=\"text/xsl\" href=\"easyant-report.xsl\"?>");
        out.println("<easyant-report version=\"1.0\">");
        out.println("\t<info");
        out.println("\t\torganisation=\"" + XMLHelper.escape(mrid.getOrganisation()) + "\"");
        out.println("\t\tmodule=\"" + XMLHelper.escape(mrid.getName()) + "\"");
        out.println("\t\trevision=\"" + XMLHelper.escape(mrid.getRevision()) + "\"");
        if (mrid.getBranch() != null) {
            out.println("\t\tbranch=\"" + XMLHelper.escape(mrid.getBranch()) + "\"");
        }
        Map<?, ?> extraAttributes = mrid.getExtraAttributes();
        for (Map.Entry<?, ?> entry : extraAttributes.entrySet()) {
            out.println("\t\textra-" + entry.getKey() + "=\"" + XMLHelper.escape(entry.getValue().toString()) + "\"");
        }
        out.println("\t\tconf=\"" + XMLHelper.escape(report.getConfiguration()) + "\"");
        out.println("\t\tdate=\"" + DateUtil.format(report.getDate()) + "\"/>");
        out.println("\t<description>");
        out.println(report.getModuleDescriptor().getDescription());
        out.println("\t</description>");
        out.println("\t<configurations>");

        for (Configuration configuration : easyAntReport.getModuleDescriptor().getConfigurations()) {
            // deprecated file can be null (see Javadoc)
            String deprecated = XMLHelper.escape(configuration.getDeprecated());
            if (deprecated == null) {
                // Avoid to display null in the report
                deprecated = "";
            }
            out.println("\t\t<configuration name=\"" + XMLHelper.escape(configuration.getName()) + "\" description=\"" + XMLHelper.escape(configuration.getDescription()) + "\" extends=\"" + XMLHelper.escape(Arrays.toString(configuration.getExtends())) + "\" deprecated=\"" + deprecated + "\" visibility=\"" + XMLHelper.escape(configuration.getVisibility().toString()) + "\"/>");
        }
        out.println("\t</configurations>");

        out.println("\t<dependencies>");

        // create a list of ModuleRevisionIds indicating the position for each dependency
        List<?> dependencies = new ArrayList(report.getModuleRevisionIds());

        for (Object o : report.getModuleIds()) {
            ModuleId mid = (ModuleId) o;
            out.println("\t\t<module organisation=\"" + XMLHelper.escape(mid.getOrganisation()) + "\"" + " name=\""
                    + XMLHelper.escape(mid.getName()) + "\">");
            for (Object o1 : report.getNodes(mid)) {
                IvyNode dep = (IvyNode) o1;
                ouputRevision(report, out, dependencies, dep);
            }
            out.println("\t\t</module>");
        }
        out.println("\t</dependencies>");
        outputEasyAntModuleInfos(easyAntReport, out);

        out.println("</easyant-report>");
        out.flush();
    }