Package org.apache.maven.doxia.sink

Examples of org.apache.maven.doxia.sink.Sink


    {
        DecimalFormatSymbols symbols = new DecimalFormatSymbols( locale );
        percentFormat = new DecimalFormat( getText( locale, "report.invoker.format.percent" ), symbols );
        secondsFormat = new DecimalFormat( getText( locale, "report.invoker.format.seconds" ), symbols );

        Sink sink = getSink();

        sink.head();

        sink.title();
        sink.text( getText( locale, "report.invoker.result.title" ) );
        sink.title_();

        sink.head_();

        sink.body();

        sink.section1();
        sink.sectionTitle1();
        sink.text( getText( locale, "report.invoker.result.title" ) );
        sink.sectionTitle1_();
        sink.paragraph();
        sink.text( getText( locale, "report.invoker.result.description" ) );
        sink.paragraph_();
        sink.section1_();

        // ----------------------------------
        //  build buildJob beans
        // ----------------------------------
        File[] reportFiles = ReportUtils.getReportFiles( reportsDirectory );
        if ( reportFiles.length <= 0 )
        {
            getLog().info( "no invoker report files found, skip report generation" );
            return;
        }

        List<BuildJob> buildJobs = new ArrayList<BuildJob>( reportFiles.length );
        for ( int i = 0, size = reportFiles.length; i < size; i++ )
        {
            File reportFile = reportFiles[i];
            try
            {
                BuildJobXpp3Reader reader = new BuildJobXpp3Reader();
                buildJobs.add( reader.read( ReaderFactory.newXmlReader( reportFile ) ) );
            }
            catch ( XmlPullParserException e )
            {
                throw new MavenReportException( "Failed to parse report file: " + reportFile, e );
            }
            catch ( IOException e )
            {
                throw new MavenReportException( "Failed to read report file: " + reportFile, e );
            }
        }

        // ----------------------------------
        //  summary
        // ----------------------------------
       
        constructSummarySection( buildJobs, locale );
       
        // ----------------------------------
        //  per file/it detail
        // ----------------------------------       

        sink.section2();
        sink.sectionTitle2();

        sink.text( getText( locale, "report.invoker.detail.title" ) );

        sink.sectionTitle2_();

        sink.section2_();

        // detail tests table header
        sink.table();

        sink.tableRow();
        // -------------------------------------------
        // name | Result | time | message
        // -------------------------------------------
        sinkTableHeader( sink, getText( locale, "report.invoker.detail.name" ) );
        sinkTableHeader( sink, getText( locale, "report.invoker.detail.result" ) );
        sinkTableHeader( sink, getText( locale, "report.invoker.detail.time" ) );
        sinkTableHeader( sink, getText( locale, "report.invoker.detail.message" ) );

        sink.tableRow_();

        for ( BuildJob buildJob : buildJobs )
        {
            renderBuildJob( buildJob, locale );
        }

        sink.table_();

        sink.body_();

        sink.flush();
        sink.close();
    }
View Full Code Here


        sink.close();
    }

    private void constructSummarySection( List<? extends BuildJob> buildJobs, Locale locale )
    {
        Sink sink = getSink();

        sink.section2();
        sink.sectionTitle2();

        sink.text( getText( locale, "report.invoker.summary.title" ) );

        sink.sectionTitle2_();
        sink.section2_();

        // ------------------------------------------------------------------------
        // Building a table with
        // it number | succes nb | failed nb | Success rate | total time | avg time
        // ------------------------------------------------------------------------

        sink.table();
        sink.tableRow();

        sinkTableHeader( sink, getText( locale, "report.invoker.summary.number" ) );
        sinkTableHeader( sink, getText( locale, "report.invoker.summary.success" ) );
        sinkTableHeader( sink, getText( locale, "report.invoker.summary.failed" ) );
        sinkTableHeader( sink, getText( locale, "report.invoker.summary.success.rate" ) );
        sinkTableHeader( sink, getText( locale, "report.invoker.summary.time.total" ) );
        sinkTableHeader( sink, getText( locale, "report.invoker.summary.time.avg" ) );

        int number = buildJobs.size();
        int success = 0;
        int failed = 0;
        double totalTime = 0;

        for ( BuildJob buildJob : buildJobs )
        {
            if ( BuildJob.Result.SUCCESS.equals( buildJob.getResult() ) )
            {
                success++;
            }
            else if ( !BuildJob.Result.SKIPPED.equals( buildJob.getResult() ) )
            {
                failed++;
            }
            totalTime += buildJob.getTime();
        }

        sink.tableRow_();
        sink.tableRow();

        sinkCell( sink, Integer.toString( number ) );
        sinkCell( sink, Integer.toString( success ) );
        sinkCell( sink, Integer.toString( failed ) );

        if ( success + failed > 0 )
        {
            sinkCell( sink, percentFormat.format( (double) success / ( success + failed ) ) );
        }
        else
        {
            sinkCell( sink, "" );
        }

        sinkCell( sink, secondsFormat.format( totalTime ) );

        sinkCell( sink, secondsFormat.format( totalTime / number ) );

        sink.tableRow_();
        sink.table_();

    }
View Full Code Here

    }

    private void renderBuildJob( BuildJob buildJob, Locale locale )
    {
        Sink sink = getSink();
        sink.tableRow();
        StringBuffer buffer = new StringBuffer();
        if ( !StringUtils.isEmpty( buildJob.getName() ) && !StringUtils.isEmpty( buildJob.getDescription() ) )
        {
            buffer.append( buildJob.getName() );
            buffer.append( " : " );
            buffer.append( buildJob.getDescription() );
        }
        else
        {
            buffer.append( buildJob.getProject() );
        }
        sinkCell( sink, buffer.toString() );
        // FIXME image
        sinkCell( sink, buildJob.getResult() );
        sinkCell( sink, secondsFormat.format( buildJob.getTime() ) );
        sinkCell( sink, buildJob.getFailureMessage() );
        sink.tableRow_();
    }
View Full Code Here

     */
    public void generate( DecorationModel model, File targetDir, Locale locale )
            throws IOException
    {
        File outputDir = new File( targetDir, "xdoc" );
        Sink sink = new XdocSinkFactory().createSink( outputDir, "sitemap.xml", encoding );

        try
        {
            extract( model, sink, locale );
        }
        finally
        {
            sink.close();
        }
    }
View Full Code Here

        final Class<?> interfaceClass = interfaceClass(classLoader);

        final Cli<?> cli = CliFactory.createCli(interfaceClass);
        getLog().debug("cli interface with  " + cli);

        final Sink sink = getSink();
        sink.head();
        sink.title();
        sink.text(getName(locale));
        sink.title_();
        sink.head_();

        sink.body();
        sink.section1();

        sink.sectionTitle1();
        sink.text(getBundle(locale).getString("report.jewelcli.title") + " " + getProject().getName());
        sink.sectionTitle1_();
        sink.lineBreak();

        sink.text("Command line interface for " + " " + getProject().getName());
        sink.lineBreak();
        sink.lineBreak();

        cli.describeTo(new HelpMessage() {
            @Override public void startOfOptions() {
                sink.table();
                sink.tableRow();

                sink.tableHeaderCell();
                sink.text("Mandatory");
                sink.tableHeaderCell_();

                sink.tableHeaderCell();
                sink.text("Long Form");
                sink.tableHeaderCell_();

                sink.tableHeaderCell();
                sink.text("Short Form");
                sink.tableHeaderCell_();

                sink.tableHeaderCell();
                sink.text("Pattern");
                sink.tableHeaderCell_();

                sink.tableHeaderCell();
                sink.text("Description");
                sink.tableHeaderCell_();

                sink.tableRow_();
            }

            @Override public OptionHelpMessage option() {
                return new OptionHelpMessage() {
                    @Override public void startOptionalOption() {
                        sink.tableRow();
                        sink.tableCell("true");
                    }

                    @Override public void startMandatoryOption() {
                        sink.tableRow();
                        sink.tableCell();
                        sink.text("true");
                        sink.tableCell_();
                    }

                    @Override public void singleValuedWithCustomPattern(final String pattern) {
                        sink.tableCell();
                        sink.text("/" + pattern + "/");
                        sink.tableCell_();
                    }

                    @Override public void singleValued() {
                        sink.tableCell();
                        sink.text("/.*/");
                        sink.tableCell_();
                    }

                    @Override public void noValued() {
                        sink.tableCell();
                        sink.tableCell_();
                    }

                    @Override public void shortName(final List<String> shortNames) {
                        sink.tableCell();
                        sink.text(join(convert(shortNames, new AddDash()), ", "));
                        sink.tableCell_();
                    }

                    @Override public void multiValuedWithCustomPattern() {
                        sink.tableCell();
                        sink.text("/.*/...");
                        sink.tableCell_();
                    }

                    @Override public void multiValuedWithCustomPattern(final String pattern) {
                        sink.tableCell();
                        sink.text("/" + pattern + "/...");
                        sink.tableCell_();
                    }

                    @Override public void longName(final List<String> longNames) {
                        sink.tableCell();
                        sink.text(join(convert(longNames, new AddDashDash()), ", "));
                        sink.tableCell_();
                    }

                    @Override public void endOptionalOption(final String description) {
                        sink.tableCell();
                        sink.text(description);
                        sink.tableCell_();
                        sink.tableRow_();
                    }

                    @Override public void endOptionalOption() {
                        sink.tableCell();
                        sink.tableCell_();
                        sink.tableRow_();
                    }

                    @Override public void endMandatoryOption(final String description) {
                        sink.tableCell();
                        sink.text(description);
                        sink.tableCell_();
                        sink.tableRow_();
                    }

                    @Override public void endMandatoryOption() {
                        sink.tableCell();
                        sink.tableCell_();
                        sink.tableRow_();
                    }
                };
            }

            @Override public void noUsageInformation() {
                // nothing
            }

            @Override public void hasUsageInformation() {
                sink.text("Usage: ");
            }

            @Override public void hasUsageInformation(final String applicationName) {
                sink.text("Usage: " + applicationName + " ");
            }

            @Override public void hasUnparsedOption(final String valueName) {
                sink.text(valueName);
            }

            @Override public void hasUnparsedMultiValuedOption(final String valueName) {
                sink.text(valueName + "...");
            }

            @Override public void hasSomeMandatoryOptions() {
                sink.text("options ");
            }

            @Override public void hasOnlyOptionalOptions() {
                sink.text("[options] ");
            }

            @Override public void endOfOptions() {
                sink.table_();
            };
        });

        sink.lineBreak();
        sink.section1_();
        sink.body_();
        sink.flush();
        sink.close();
    }
View Full Code Here

        {
            analysis = analysis.ignoreNonCompile();
        }

        // Step 2: Create sink and bundle
        Sink sink = getSink();
        ResourceBundle bundle = getBundle( locale );

        // Step 3: Generate the report
        AnalyzeReportView analyzethis = new AnalyzeReportView();
        analyzethis.generateReport( analysis, sink, bundle );
View Full Code Here

    protected void executeReport(final Locale locale) throws MavenReportException {
        try {
            this.execute(this.outputDirectory, locale);

            Sink kitchenSink = getSink();
            if (kitchenSink != null) {
                kitchenSink.rawText(indexHtmlContent);
            } else {
                writeIndexHtmlFile(outputDirectory, "index.html", indexHtmlContent);
            }
        } catch (Exception e) {
            final MavenReportException ex = new MavenReportException(e.getMessage());
View Full Code Here

    @Override
    protected void executeReport( Locale locale )
        throws MavenReportException
    {
        Sink sink = getSink();

        sink.head();
        sink.title();
        sink.text( getI18nString( locale, "title" ) );
        sink.title_();
        sink.head_();

        sink.body();

        sink.section1();

        sink.sectionTitle1();
        sink.text( getI18nString( locale, "title" ) );
        sink.sectionTitle1_();

        Map<String, List<ReverseDependencyLink>> dependencyMap = getDependencyMap();

        // legend
        generateLegend( locale, sink );

        sink.lineBreak();

        // stats
        generateStats( locale, sink, dependencyMap );

        sink.section1_();

        // convergence
        generateConvergence( locale, sink, dependencyMap );

        sink.body_();
        sink.flush();
        sink.close();
    }
View Full Code Here

  @Override
  protected void executeReport(final Locale locale) throws MavenReportException
  {
    super.executeReport(locale);

    final Sink sink = getSink();
    final ResourceBundle messages = getBundle(locale);
    final String baseDir = project.getBasedir().getAbsolutePath();
    final BuildReportRenderer renderer =
        new BuildReportRenderer(new FilePathNormalizer(baseDir), messages,
            sink, propertiesOutputFile, properties);
View Full Code Here

     */
    protected void executeReport(final Locale locale) throws MavenReportException {
        try {
            this.execute(this.outputDirectory, locale);

            Sink kitchenSink = getSink();
            if (kitchenSink != null) {
                kitchenSink.rawText(indexHtmlContent);
            }
            else {
                writeIndexHtmlFile("index.html", indexHtmlContent);
            }
        }
View Full Code Here

TOP

Related Classes of org.apache.maven.doxia.sink.Sink

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.