Example usage for org.jfree.data.general DefaultPieDataset setValue

List of usage examples for org.jfree.data.general DefaultPieDataset setValue

Introduction

In this page you can find the example usage for org.jfree.data.general DefaultPieDataset setValue.

Prototype

public void setValue(Comparable key, double value) 

Source Link

Document

Sets the data value for a key and sends a DatasetChangeEvent to all registered listeners.

Usage

From source file:uk.ac.bbsrc.tgac.miso.core.util.ReportsUtils.java

public static String buildHTMLReport(List<? extends Reportable> reportables, String type, List<String> options)
        throws ReportingException {
    Random generator = new Random();
    StringBuilder sb = new StringBuilder();
    Boolean chartbool = false;/*from  w  ww . j a  v a2s. c  o  m*/
    if (options.contains("Chart")) {
        chartbool = true;
    }

    // header
    sb.append(
            "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">\n"
                    + "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n"
                    + "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en-gb\">\n" + "<head>\n"
                    + "    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\">\n"
                    + "<meta http-equiv=\"Pragma\" content=\"no-cache\">\n"
                    + "<meta http-equiv=\"Cache-Control\" content=\"no-cache\">\n"
                    + "<meta http-equiv=\"Expires\" content=\"Sat, 01 Dec 2001 00:00:00 GMT\">\n"
                    + "    <link rel=\"stylesheet\" href=\"/styles/style.css\" type=\"text/css\">\n"
                    + "<title>MISO Report</title>"
                    + "</head><body onLoad=\"self.focus()\"><table border=\"0\" width=\"100%\">\n"
                    + "    <tr>\n" + "        <td class=\"headertable\" align=\"left\" \">\n"
                    + "            <img src=\"/styles/images/miso_logo.png\" alt=\"MISO Logo\" name=\"logo\"\n"
                    + "                                  border=\"0\" id=\"misologo\"/>\n" + "        </td>\n"
                    + "        <td class=\"headertable\" align=\"right\" \">\n"
                    + "            <img src=\"/styles/images/tgac_new_logo.png\" alt=\"TGAC Logo\" name=\"logo\"\n"
                    + "                                  border=\"0\" id=\"tgaclogo\"/>\n" + "        </td>\n"
                    + "    </tr>\n" + "</table><hr/>");
    // end of header

    if (type.equals("Project")) {
        Boolean incOverview = false;
        Boolean incSamples = false;
        if (options.contains("Overview")) {
            incOverview = true;
        }
        if (options.contains("Samples")) {
            incSamples = true;
        }

        if (reportables.size() == 1) {
            //Single Project report
            List reportableslist = new ArrayList<Reportable>(reportables);
            Reportable reportable = (Reportable) reportableslist.get(0);
            Project project = (Project) reportable;
            sb.append("<h1>Project Information</h1><br/><div class='report'>");
            sb.append("<b>Project Name: </b> " + project.getName());
            sb.append("<br/><br/>");
            sb.append("<b>Project Alias: </b> " + project.getAlias());
            sb.append("<br/><br/>");
            sb.append("<b>Project Description: </b> " + project.getDescription());
            sb.append("<br/><br/>");
            sb.append("<b>Progress: </b> " + project.getProgress().name());
            sb.append("<br/><br/>");

            if (project.getOverviews().size() > 0 && incOverview) {
                sb.append("<table class=\"list\">\n" + "            <thead>\n" + "            <tr>\n"
                        + "                <th>Principal Investigator</th>\n"
                        + "                <th>Start Date</th>\n" + "                <th>End Date</th>\n"
                        + "                <th>Proposed Samples</th>\n"
                        + "                <th>QC Passed Sample</th>\n" + "            </tr>\n"
                        + "            </thead>\n" + "            <tbody>");
                for (ProjectOverview overview : project.getOverviews()) {
                    sb.append("<tr>\n" + "                    <td>" + overview.getPrincipalInvestigator()
                            + "</td>\n" + "                    <td>" + overview.getStartDate() + "</td>\n"
                            + "                    <td>" + overview.getEndDate() + "</td>\n"
                            + "                    <td>" + overview.getNumProposedSamples().toString()
                            + "</td>\n" + "                    <td>" + overview.getQcPassedSamples().size()
                            + "</td>\n" + "                </tr>");
                }
                sb.append("</tbody>\n" + "        </table>");
            } else {
                if (incOverview) {
                    sb.append("<b>Overview:</b> None.");
                }
            }
            sb.append("<br/>");
            if (project.getSamples().size() > 0 && incSamples) {
                sb.append("<table class=\"list\">\n" + "            <thead>\n" + "            <tr>\n"
                        + "                <th>Sample Name</th>\n" + "                <th>Sample Alias</th>\n"
                        + "                <th>Type</th>\n" + "                <th>QC Passed</th>\n"
                        + "            </tr>\n" + "            </thead>\n" + "            <tbody>");
                for (Sample sample : project.getSamples()) {
                    sb.append("<tr>\n" + "                    <td><b>" + sample.getName() + "</b></td>\n"
                            + "                    <td>" + sample.getAlias() + "</td>\n"
                            + "                    <td>" + sample.getSampleType() + "</td>\n"
                            + "                    <td>" + sample.getQcPassed().toString() + "</td>\n"
                            + "                </tr>");
                }
                sb.append("</tbody>\n" + "        </table>");
            } else {
                if (incSamples) {
                    sb.append("<b>Samples:</b> None.");
                }
            }

        }
        // Lists of Projects report
        else if (reportables.size() > 1) {
            sb.append("<h1>Projects Information</h1><br/><div class='report'>");
            Map<String, Integer> map = new HashMap<String, Integer>();
            sb.append("<table class=\"list\">\n" + "    <thead>\n" + "    <tr>\n"
                    + "        <th>Project Name</th>\n" + "        <th>Project Alias</th>\n"
                    + "        <th>Project Description</th>\n" + "        <th>Progress</th>\n");
            if (incOverview) {
                sb.append("        <th>Overviews</th>\n");
            }
            if (incSamples) {
                sb.append("        <th>Samples</th>\n");
            }
            sb.append("    </tr>\n" + "    </thead>\n" + "    <tbody>");
            for (Reportable reportable : reportables) {
                Project project = (Project) reportable;
                sb.append("<tr><td>" + project.getName());
                sb.append("</td>");
                sb.append("<td> " + project.getAlias());
                sb.append("</td>");
                sb.append("<td> " + project.getDescription());
                sb.append("</td>");
                sb.append("<td> " + project.getProgress().name());
                sb.append("</td>");
                if (incOverview) {
                    sb.append("<td>");
                    if (project.getOverviews().size() > 0) {
                        sb.append("<ul class='bullets'>");
                        for (ProjectOverview overview : project.getOverviews()) {
                            sb.append("<li>Principal Investigator: " + overview.getPrincipalInvestigator()
                                    + "<br/> Start Date: " + overview.getStartDate() + "<br/> End Date: "
                                    + overview.getEndDate() + "<br/> Proposed Samples: "
                                    + overview.getNumProposedSamples().toString() + "<br/> QC Passed Samples: "
                                    + overview.getQcPassedSamples().size() + "</li>");
                        }
                        sb.append("</ul>");
                    } else {
                        sb.append("None");
                    }
                    sb.append("</td>");
                }
                if (incSamples) {
                    sb.append("<td>");
                    if (project.getSamples().size() > 0) {
                        sb.append("<ul class='bullets'>");
                        for (Sample sample : project.getSamples()) {
                            sb.append("<li>" + sample.getAlias() + "</li>");
                        }
                        sb.append("</ul>");
                    } else {
                        sb.append("None");
                    }
                    sb.append("</td>");
                }
                sb.append("</tr>");
                int count = map.containsKey(project.getProgress().getKey())
                        ? map.get(project.getProgress().getKey())
                        : 0;
                count++;
                map.put(project.getProgress().getKey(), count);
            }
            sb.append("    </tbody>\n" + "</table>");
            Integer unknown = map.containsKey("Unknown") ? map.get("Unknown") : 0;
            Integer active = map.containsKey("Active") ? map.get("Active") : 0;
            Integer inactive = map.containsKey("Inactive") ? map.get("Inactive") : 0;
            Integer cancelled = map.containsKey("Cancelled") ? map.get("Cancelled") : 0;
            Integer proposed = map.containsKey("Proposed") ? map.get("Proposed") : 0;
            Integer pending = map.containsKey("Pending") ? map.get("Pending") : 0;
            Integer approved = map.containsKey("Approved") ? map.get("Approved") : 0;
            Integer completed = map.containsKey("Completed") ? map.get("Completed") : 0;
            //jfreechart
            final DefaultPieDataset data = new DefaultPieDataset();
            data.setValue("Unknown " + unknown, unknown);
            data.setValue("Active " + active, active);
            data.setValue("Inactive " + inactive, inactive);
            data.setValue("Cancelled " + cancelled, cancelled);
            data.setValue("Proposed " + proposed, proposed);
            data.setValue("Pending " + pending, pending);
            data.setValue("Approved " + approved, approved);
            data.setValue("Completed " + completed, completed);

            final JFreeChart chart = ChartFactory.createPieChart("Projects Status Information", // chart title
                    data, // data
                    false, // include legend
                    true, false);

            final PiePlot plot = (PiePlot) chart.getPlot();
            plot.setStartAngle(290);
            plot.setDirection(Rotation.CLOCKWISE);
            plot.setBackgroundPaint(Color.white);
            plot.setForegroundAlpha(0.5f);
            plot.setNoDataMessage("No data to display");
            int r = generator.nextInt();
            File projectchart = new File("../webapps/ROOT/styles/images/projectschart" + r + ".png");
            try {
                ChartUtilities.saveChartAsPNG(projectchart, chart, 500, 300);
            } catch (IOException e) {
                e.printStackTrace();
            }
            if (chartbool) {
                sb.append("<br/><img src='/styles/images/projectschart" + r + ".png'/>");
            }
        } else {
            sb.append("<h1>Project Information</h1><br/><div class='report'>Nothing to Report.");
        }

    } else if (type.equals("Sample")) {
        Boolean incQC = false;
        if (options.contains("QC")) {
            incQC = true;
        }

        if (reportables.size() == 1) {
            //Single Sample report
            List reportableslist = new ArrayList<Reportable>(reportables);
            Reportable reportable = (Reportable) reportableslist.get(0);
            Sample sample = (Sample) reportable;
            sb.append("<h1>Sample Information</h1><br/><div class='report'>");
            sb.append("<b>Sample Name: </b> " + sample.getName());
            sb.append("<br/><br/>");
            sb.append("<b>Project Alias: </b> " + sample.getProject().getAlias());
            sb.append("<br/><br/>");
            sb.append("<b>Sample Alias: </b> " + sample.getAlias());
            sb.append("<br/><br/>");
            sb.append("<b>Sample Description: </b> " + sample.getDescription());
            sb.append("<br/><br/>");
            sb.append("<b>Scientific Name: </b> " + sample.getScientificName());
            sb.append("<br/><br/>");
            sb.append("<b>Sample Type: </b> " + sample.getSampleType());
            sb.append("<br/><br/>");
            sb.append("<b>QC Passed: </b> " + sample.getQcPassed().toString());
            sb.append("<br/><br/>");

            if (sample.getSampleQCs().size() > 0 && incQC) {
                sb.append("<table class=\"list\">\n" + "            <thead>\n" + "            <tr>\n"
                        + "                <th>QCed By</th>\n" + "                <th>QC Date</th>\n"
                        + "                <th>Method</th>\n" + "                <th>Results</th>\n"
                        + "            </tr>\n" + "            </thead>\n" + "            <tbody>");
                for (SampleQC sampleQC : sample.getSampleQCs()) {
                    sb.append("<tr>\n" + "                    <td>" + sampleQC.getQcCreator() + "</td>\n"
                            + "                    <td>" + sampleQC.getQcDate().toString() + "</td>\n"
                            + "                    <td>" + sampleQC.getQcType().getName() + "</td>\n"
                            + "                    <td>" + sampleQC.getResults().toString()
                            + "ng/&#181;l</td>\n" + "                </tr>");
                }
                sb.append("</tbody>\n" + "        </table>");
            } else {
                if (incQC) {
                    sb.append("<b>QC:</b> None.");
                }
            }

        }
        // Lists of Samples report
        else if (reportables.size() > 1) {
            sb.append("<h1>Samples Information</h1><br/><div class='report'>");
            Map<String, Integer> typeMap = new HashMap<String, Integer>();
            Map<String, Integer> qcMap = new HashMap<String, Integer>();
            sb.append("<table class=\"list\">\n" + "    <thead>\n" + "    <tr>\n"
                    + "        <th>Sample Name</th>\n" + "        <th>Project Alias</th>\n"
                    + "        <th>Sample Alias</th>\n" + "        <th>Sample Description</th>\n"
                    + "        <th>Scientific Name</th>\n" + "        <th>Sample Type</th>\n"
                    + "        <th>QC Passed</th>\n");
            if (incQC) {
                sb.append("        <th>QC</th>\n");
            }
            sb.append("    </tr>\n" + "    </thead>\n" + "    <tbody>");
            for (Reportable reportable : reportables) {
                Sample sample = (Sample) reportable;
                sb.append("<tr><td>" + sample.getName());
                sb.append("</td>");
                sb.append("<td>" + sample.getProject().getAlias());
                sb.append("</td>");
                sb.append("<td> " + sample.getAlias());
                sb.append("</td>");
                sb.append("<td> " + sample.getDescription());
                sb.append("</td>");
                sb.append("<td> " + sample.getScientificName());
                sb.append("</td>");
                sb.append("<td> " + sample.getSampleType());
                sb.append("</td>");
                sb.append("<td> " + sample.getQcPassed().toString());
                sb.append("</td>");
                if (incQC) {
                    sb.append("<td>");
                    if (sample.getSampleQCs().size() > 0) {
                        sb.append("<ul class='bullets'>");
                        for (SampleQC sampleQC : sample.getSampleQCs()) {
                            sb.append("<li>\n" + "                    QCed By: " + sampleQC.getQcCreator()
                                    + "<br/>\n" + "                    QC Date: "
                                    + sampleQC.getQcDate().toString() + "<br/>\n"
                                    + "                    Method: " + sampleQC.getQcType().getName()
                                    + "<br/>\n" + "                    Results: "
                                    + sampleQC.getResults().toString() + "ng/&#181;l</li>");
                        }
                        sb.append("</ul>");
                    } else {
                        sb.append("None");
                    }
                    sb.append("</td>");
                }
                sb.append("</tr>");

                int typecount = typeMap.containsKey(sample.getSampleType())
                        ? typeMap.get(sample.getSampleType())
                        : 0;
                typecount++;
                typeMap.put(sample.getSampleType(), typecount);

                int qccount = qcMap.containsKey(sample.getQcPassed().toString())
                        ? qcMap.get(sample.getQcPassed().toString())
                        : 0;
                qccount++;
                qcMap.put(sample.getQcPassed().toString(), qccount);
            }
            sb.append("    </tbody>\n" + "</table>");
            Integer nonGENOMIC = typeMap.containsKey("NON GENOMIC") ? typeMap.get("NON GENOMIC") : 0;
            Integer genomic = typeMap.containsKey("GENOMIC") ? typeMap.get("GENOMIC") : 0;
            Integer other = typeMap.containsKey("OTHER") ? typeMap.get("OTHER") : 0;
            Integer viralRNA = typeMap.containsKey("VIRAL RNA") ? typeMap.get("VIRAL RNA") : 0;
            Integer synthetic = typeMap.containsKey("SYNTHETIC") ? typeMap.get("SYNTHETIC") : 0;

            //jfreechart for type
            final DefaultPieDataset data = new DefaultPieDataset();
            data.setValue("NON GENOMIC " + nonGENOMIC, nonGENOMIC);
            data.setValue("GENOMIC " + genomic, genomic);
            data.setValue("OTHER " + other, other);
            data.setValue("VIRAL RNA " + viralRNA, viralRNA);
            data.setValue("SYNTHETIC " + synthetic, synthetic);

            final JFreeChart chart = ChartFactory.createPieChart("Samples Type Information", // chart title
                    data, // data
                    false, // include legend
                    true, false);

            final PiePlot plot = (PiePlot) chart.getPlot();
            plot.setStartAngle(290);
            plot.setDirection(Rotation.CLOCKWISE);
            plot.setForegroundAlpha(0.5f);
            plot.setBackgroundPaint(Color.white);
            plot.setNoDataMessage("No data to display");
            int r = generator.nextInt();
            File samplechart = new File("../webapps/ROOT/styles/images/samplestypechart" + r + ".png");
            try {
                ChartUtilities.saveChartAsPNG(samplechart, chart, 500, 300);
            } catch (IOException e) {
                e.printStackTrace();
            }

            if (chartbool) {
                sb.append("<br/><img src='/styles/images/samplestypechart" + r + ".png'/>");
            }
            Integer qcpassed = qcMap.containsKey("true") ? qcMap.get("true") : 0;
            Integer qcnotpassed = qcMap.containsKey("false") ? qcMap.get("false") : 0;

            //jfreechart for qc
            final DefaultPieDataset qcdata = new DefaultPieDataset();
            qcdata.setValue("QC Passed " + qcpassed, qcpassed);
            qcdata.setValue("QC Not Passed " + qcnotpassed, qcnotpassed);

            final JFreeChart qcchart = ChartFactory.createPieChart("Samples QC Information", // chart title
                    qcdata, // data
                    false, // include legend
                    true, false);

            final PiePlot qcplot = (PiePlot) qcchart.getPlot();
            qcplot.setStartAngle(290);
            qcplot.setDirection(Rotation.CLOCKWISE);
            qcplot.setForegroundAlpha(0.5f);
            qcplot.setBackgroundPaint(Color.white);
            qcplot.setNoDataMessage("No data to display");
            File sampleqcchart = new File("../webapps/ROOT/styles/images/samplesqcchart" + r + ".png");
            try {
                ChartUtilities.saveChartAsPNG(sampleqcchart, qcchart, 500, 300);
            } catch (IOException e) {
                e.printStackTrace();
            }
            if (chartbool) {
                sb.append(" <img src='/styles/images/samplesqcchart" + r + ".png'/>");
            }
        } else {
            sb.append("<h1>Sample Information</h1><br/><div class='report'>Nothing to Report.");
        }

    } else if (type.equals("Run")) {
        Boolean incAlias = false;
        Boolean incDescription = false;
        if (options.contains("Alias")) {
            incAlias = true;
        }
        if (options.contains("Description")) {
            incDescription = true;
        }

        if (reportables.size() == 1) {
            //Single Run report
            List reportableslist = new ArrayList<Reportable>(reportables);
            Reportable reportable = (Reportable) reportableslist.get(0);
            Run run = (Run) reportable;
            sb.append("<h1>Run Information</h1><br/><div class='report'>");
            sb.append("<b>Run Name: </b> " + run.getName());
            sb.append("<br/><br/>");
            sb.append("<b>Platform: </b> " + run.getPlatformType().getKey());
            sb.append("<br/><br/>");
            sb.append("<b>Sequencer: </b> " + run.getSequencerReference().getName());
            sb.append("<br/><br/>");
            if (incAlias) {
                sb.append("<b>Run Alias: </b> " + run.getAlias());
                sb.append("<br/><br/>");
            }
            if (incDescription) {
                sb.append("<b>Run Description: </b> " + run.getDescription());
                sb.append("<br/><br/>");
            }
            sb.append("<b>Pair End: </b> " + run.getPairedEnd().toString());
            sb.append("<br/><br/>");
            sb.append("<b>Status: </b> " + run.getStatus().getHealth().getKey());
            sb.append("<br/><br/>");

        }
        // Lists of Runs report
        else if (reportables.size() > 1) {
            sb.append("<h1>Runs Information</h1><br/><div class='report'>");
            Map<String, Integer> statusMap = new HashMap<String, Integer>();
            Map<String, Integer> platformMap = new HashMap<String, Integer>();
            sb.append(
                    "<table class=\"list\">\n" + "    <thead>\n" + "    <tr>\n" + "        <th>Run Name</th>\n"
                            + "        <th>Platform</th>\n" + "        <th>Sequencer</th>\n");
            if (incAlias) {
                sb.append("        <th>Run Alias</th>\n");
            }
            if (incDescription) {
                sb.append("        <th>Run Description</th>\n");
            }
            sb.append("        <th>Pair End</th>\n" + "        <th>Status</th>\n" + "    </tr>\n"
                    + "    </thead>\n" + "    <tbody>");
            for (Reportable reportable : reportables) {
                Run run = (Run) reportable;
                sb.append("<tr><td>" + run.getName());
                sb.append("</td>");
                sb.append("<td> " + run.getPlatformType().getKey());
                sb.append("</td>");
                sb.append("<td> " + run.getSequencerReference().getName());
                sb.append("</td>");
                if (incAlias) {
                    sb.append("<td> " + run.getAlias());
                    sb.append("</td>");
                }
                if (incDescription) {
                    sb.append("<td> " + run.getDescription());
                    sb.append("</td>");
                }
                sb.append("<td> " + run.getPairedEnd().toString());
                sb.append("</td>");
                sb.append("<td> " + run.getStatus().getHealth().getKey());
                sb.append("</td></tr>");

                int statuscount = statusMap.containsKey(run.getStatus().getHealth().getKey())
                        ? statusMap.get(run.getStatus().getHealth().getKey())
                        : 0;
                statuscount++;
                statusMap.put(run.getStatus().getHealth().getKey(), statuscount);

                int platformcount = platformMap.containsKey(run.getPlatformType().getKey())
                        ? platformMap.get(run.getPlatformType().getKey())
                        : 0;
                platformcount++;
                platformMap.put(run.getPlatformType().getKey(), platformcount);
            }
            sb.append("    </tbody>\n" + "</table>");
            Integer unknown = statusMap.containsKey("Unknown") ? statusMap.get("Unknown") : 0;
            Integer completed = statusMap.containsKey("Completed") ? statusMap.get("Completed") : 0;
            Integer failed = statusMap.containsKey("Failed") ? statusMap.get("Failed") : 0;
            Integer started = statusMap.containsKey("Started") ? statusMap.get("Started") : 0;
            Integer stopped = statusMap.containsKey("Stopped") ? statusMap.get("Stopped") : 0;
            Integer running = statusMap.containsKey("Running") ? statusMap.get("Running") : 0;

            //jfreechart for status
            final DefaultPieDataset data = new DefaultPieDataset();
            data.setValue("Unknown " + unknown, unknown);
            data.setValue("Completed " + completed, completed);
            data.setValue("Failed " + failed, failed);
            data.setValue("Started " + started, started);
            data.setValue("Stopped " + stopped, stopped);
            data.setValue("Running " + running, running);

            final JFreeChart chart = ChartFactory.createPieChart("Run Status Information", // chart title
                    data, // data
                    false, // include legend
                    true, false);

            final PiePlot plot = (PiePlot) chart.getPlot();
            plot.setStartAngle(290);
            plot.setDirection(Rotation.CLOCKWISE);
            plot.setBackgroundPaint(Color.white);
            plot.setForegroundAlpha(0.5f);
            plot.setNoDataMessage("No data to display");
            int r = generator.nextInt();
            File runchart = new File("../webapps/ROOT/styles/images/runsstatuschart" + r + ".png");
            try {
                ChartUtilities.saveChartAsPNG(runchart, chart, 500, 300);
            } catch (IOException e) {
                e.printStackTrace();
            }

            if (chartbool) {
                sb.append("<br/><img src='/styles/images/runsstatuschart" + r + ".png'/>");
            }

            //        Integer illumina = platformMap.containsKey("Illumina") ? platformMap.get("Illumina") : 0;
            //        Integer ls454 = platformMap.containsKey("LS454") ? platformMap.get("LS454") : 0;
            //        Integer solid = platformMap.containsKey("Solid") ? platformMap.get("Solid") : 0;

            //jfreechart for platform
            //        final DefaultPieDataset platformdata = new DefaultPieDataset();
            //        platformdata.setValue("Illumina "+illumina, illumina);
            //        platformdata.setValue("LS454 "+ls454, ls454);
            //        platformdata.setValue("Solid "+solid, solid);
            //
            //        final JFreeChart platformchart = ChartFactory.createPieChart(
            //          "Run Platform Information",  // chart title
            //          platformdata,                   // data
            //          false,                   // include legend
            //          true,
            //          false
            //        );
            //
            //        final PiePlot platformplot = (PiePlot) platformchart.getPlot();
            //        platformplot.setStartAngle(290);
            //        platformplot.setDirection(Rotation.CLOCKWISE);
            //        platformplot.setBackgroundPaint(Color.white);
            //        platformplot.setForegroundAlpha(0.5f);
            //        platformplot.setNoDataMessage("No data to display");
            //        File runplatformchart = new File("../webapps/ROOT/styles/images/runsplatformchart" + r + ".png");
            //        try {
            //          ChartUtilities.saveChartAsPNG(runplatformchart, platformchart, 500, 300);
            //        }
            //        catch (IOException e) {
            //          e.printStackTrace();
            //        }
            //        if (chartbool) {
            //          sb.append(" <img src='/styles/images/runsplatformchart" + r + ".png'/>");
            //        }
        } else {
            sb.append("<h1>Run Information</h1><br/><div class='report'>Nothing to Report.");
        }

    }

    // footer
    sb.append("</div>\n" + "<div id=\"footer\">\n" + "    <br/>\n" + "\n"
            + "    <p>&copy; 2010 -2011 <a href=\"http://www.tgac.bbsrc.ac.uk/\" target=\"_blank\">The Genome Analysis Centre</a></p>\n"
            + "</div>\n" + "</body></html>");
    // end of footer
    return sb.toString();

}

From source file:com.js.quickestquail.ui.stats.ExtensionStat.java

private PieDataset generateDataset() {
    // gather data
    Map<Object, Number> extensionFrequency = new HashMap<>();
    for (File f : DriveManager.get().getSelected().keySet()) {
        String extension = f.getName();
        extension = extension.substring(extension.lastIndexOf(".")).toUpperCase();

        if (!extensionFrequency.containsKey(extension)) {
            extensionFrequency.put(extension, 1);
        } else {// w w w  .j a v a  2s  .co  m
            extensionFrequency.put(extension, extensionFrequency.get(extension).doubleValue() + 1);
        }

    }

    // trim
    MapTrimmer.trim(extensionFrequency, 0.01);

    // convert to proper format
    DefaultPieDataset dataset = new DefaultPieDataset();
    for (Entry<Object, Number> en : extensionFrequency.entrySet()) {
        dataset.setValue(en.getKey().toString(), en.getValue());
    }

    return dataset;
}

From source file:flight_ranker.my_Jframe.java

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
    DefaultPieDataset piedataset = new DefaultPieDataset();
    piedataset.setValue("One", new Integer(10));
    piedataset.setValue("Two", new Integer(20));
    piedataset.setValue("Three", new Integer(30));
    piedataset.setValue("Four", new Integer(40));

    JFreeChart chart = ChartFactory.createPieChart("Pie chart", piedataset, true, true, true);
    PiePlot P = (PiePlot) chart.getPlot();
    //P.setForegroundAlpha(TOP_ALIGNMENT);
    ChartFrame frame = new ChartFrame("Pie chart", chart);
    frame.setVisible(true);/*from  w ww  .  j a va  2  s .  c om*/
    frame.setSize(450, 500);
}

From source file:org.jfree.data.general.DefaultPieDatasetTest.java

/**
 * Some checks for the getIndex() method.
 *///from   w w  w. j  a  va2  s  . c  o  m
public void testGetIndex() {
    DefaultPieDataset d = new DefaultPieDataset();
    d.setValue("A", 1.0);
    d.setValue("B", 2.0);
    assertEquals(0, d.getIndex("A"));
    assertEquals(1, d.getIndex("B"));
    assertEquals(-1, d.getIndex("XX"));

    boolean pass = false;
    try {
        d.getIndex(null);
    } catch (IllegalArgumentException e) {
        pass = true;
    }
    assertTrue(pass);
}

From source file:flight_ranker.my_Jframe.java

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
    DefaultPieDataset piedataset = new DefaultPieDataset();
    piedataset.setValue("One", new Integer(10));
    piedataset.setValue("Two", new Integer(20));
    piedataset.setValue("Three", new Integer(30));
    piedataset.setValue("Four", new Integer(40));

    JFreeChart chart = ChartFactory.createPieChart3D("Pie chart", piedataset, true, true, true);
    PiePlot3D P = (PiePlot3D) chart.getPlot();
    // P.setForegroundAlpha(TOP_ALIGNMENT);
    ChartFrame frame = new ChartFrame("Pie chart", chart);
    frame.setVisible(true);//w  w  w . j av  a  2 s  .co m
    frame.setSize(450, 500);

}

From source file:it.marcoberri.mbmeteo.action.chart.GetLastUPie.java

/**
 * Processes requests for both HTTP//from ww w .  j  a  v  a 2s . co m
 * <code>GET</code> and
 * <code>POST</code> methods.
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    log.debug("start : " + this.getClass().getName());

    final HashMap<String, String> params = getParams(request.getParameterMap());
    final Integer dimy = Default.toInteger(params.get("dimy"), 600);
    final Integer dimx = Default.toInteger(params.get("dimx"), 800);

    Meteolog meteolog = ds.find(Meteolog.class).order("-time").limit(1).get();

    final DefaultPieDataset dataset = new DefaultPieDataset();

    dataset.setValue(ChartEnumMinMaxHelper.outdoorHumidityMin.getUm(), meteolog.getOutdoorHumidity());
    dataset.setValue("", 100 - meteolog.getOutdoorHumidity());

    JFreeChart chart = ChartFactory.createPieChart("Humidity %", // chart title
            dataset, // data
            true, // include legend
            true, false);

    PiePlot plot = (PiePlot) chart.getPlot();
    plot.setLabelFont(new Font("SansSerif", Font.PLAIN, 12));
    plot.setNoDataMessage("No data available");
    plot.setCircular(false);
    plot.setLabelGap(0.02);

    final File f = File.createTempFile("mbmeteo", ".jpg");
    ChartUtilities.saveChartAsJPEG(f, chart, dimx, dimy);

    response.setContentType("image/jpeg");
    response.setHeader("Content-Length", "" + f.length());
    response.setHeader("Content-Disposition", "inline; filename=\"" + f.getName() + "\"");
    final OutputStream out = response.getOutputStream();
    final FileInputStream in = new FileInputStream(f.toString());
    final int size = in.available();
    final byte[] content = new byte[size];
    in.read(content);
    out.write(content);
    in.close();
    out.close();

}

From source file:com.js.quickestquail.ui.stats.LanguageStat.java

private PieDataset generateDataset() {
    // gather data
    Map<Object, Number> languageFrequency = new HashMap<>();
    for (String id : DriveManager.get().getSelected().values()) {
        Movie mov = CachedMovieProvider.get().getMovieByID(id);
        if (mov.getLanguage() == null)
            continue;
        for (String lang : mov.getLanguage()) {
            if (!languageFrequency.containsKey(lang)) {
                languageFrequency.put(lang, 1);
            } else {
                languageFrequency.put(lang, languageFrequency.get(lang).doubleValue() + 1);
            }//from  w  ww.  ja  v  a  2  s  .c  o m
        }
    }

    // trim
    MapTrimmer.trim(languageFrequency, 0.01);

    // convert to proper format
    DefaultPieDataset dataset = new DefaultPieDataset();
    for (Map.Entry<Object, Number> en : languageFrequency.entrySet()) {
        dataset.setValue(en.getKey().toString(), en.getValue());
    }

    return dataset;
}

From source file:net.sf.dynamicreports.test.jasper.chart.ValueChartDataTest.java

@Override
public void test() {
    super.test();

    numberOfPagesTest(1);/*from  w  ww .  ja  v  a 2  s .  c o m*/

    DefaultCategoryDataset categoryDataset = new DefaultCategoryDataset();
    categoryDataset.addValue(1.191, "row", "column");

    JFreeChart chart = getChart("summary.chart1", 0);
    CategoryItemRenderer renderer1 = chart.getCategoryPlot().getRenderer();
    Assert.assertNotNull(renderer1.getBaseItemLabelGenerator());
    Assert.assertEquals("1.19", renderer1.getBaseItemLabelGenerator().generateLabel(categoryDataset, 0, 0));

    chart = getChart("summary.chart2", 0);
    renderer1 = chart.getCategoryPlot().getRenderer();
    Assert.assertNotNull(renderer1.getBaseItemLabelGenerator());
    Assert.assertEquals("1.191", renderer1.getBaseItemLabelGenerator().generateLabel(categoryDataset, 0, 0));

    chart = getChart("summary.chart3", 0);
    renderer1 = chart.getCategoryPlot().getRenderer();
    Assert.assertNotNull(renderer1.getBaseItemLabelGenerator());
    Assert.assertEquals("1.19", renderer1.getBaseItemLabelGenerator().generateLabel(categoryDataset, 0, 0));

    chart = getChart("summary.chart4", 0);
    renderer1 = chart.getCategoryPlot().getRenderer();
    Assert.assertNotNull(renderer1.getBaseItemLabelGenerator());
    Assert.assertEquals("1.2", renderer1.getBaseItemLabelGenerator().generateLabel(categoryDataset, 0, 0));

    DefaultPieDataset dataset = new DefaultPieDataset();
    dataset.setValue("key1", 1.191);
    dataset.setValue("key2", 122);

    chart = getChart("summary.chart5", 0);
    StandardPieSectionLabelGenerator labelGenerator = (StandardPieSectionLabelGenerator) ((PiePlot) chart
            .getPlot()).getLabelGenerator();
    Assert.assertEquals("key1 = 1.19 (0.97%)", labelGenerator.generateSectionLabel(dataset, "key1"));

    chart = getChart("summary.chart6", 0);
    labelGenerator = (StandardPieSectionLabelGenerator) ((PiePlot) chart.getPlot()).getLabelGenerator();
    Assert.assertEquals("key1 = 1.2 (0.967%)", labelGenerator.generateSectionLabel(dataset, "key1"));
}

From source file:org.jfree.data.general.DefaultPieDatasetTest.java

/**
 * Some checks for the getKey(int) method.
 *///from www  . j a  va  2s.com
public void testGetKey() {
    DefaultPieDataset d = new DefaultPieDataset();
    d.setValue("A", 1.0);
    d.setValue("B", 2.0);
    assertEquals("A", d.getKey(0));
    assertEquals("B", d.getKey(1));

    boolean pass = false;
    try {
        d.getKey(-1);
    } catch (IndexOutOfBoundsException e) {
        pass = true;
    }
    assertTrue(pass);

    pass = false;
    try {
        d.getKey(2);
    } catch (IndexOutOfBoundsException e) {
        pass = true;
    }
    assertTrue(pass);
}

From source file:Connexion.Charts.java

public Charts() {

    try {/*from  w  w w  .  j  a  v  a 2 s  .com*/
        Class.forName("com.mysql.jdbc.Driver");
    } catch (ClassNotFoundException e) {
        /* Grer les ventuelles erreurs ici. */
    }
    int a = 0;
    int b = 0;
    int c = 0;
    try {
        ResultSet resultat1 = this.connect
                .createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE)
                .executeQuery("SELECT code_service FROM hospitalisation WHERE code_service =  'REA'");
        // on rcupre le nombre de lignes de la requte
        if (resultat1.last()) {
            a = resultat1.getRow();
        }
        System.out.println(a);

    } catch (SQLException e) {
        e.printStackTrace();
    }
    try {
        ResultSet resultat2 = this.connect
                .createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE)
                .executeQuery("SELECT code_service FROM hospitalisation WHERE code_service =  'CHG'");
        // on rcupre le nombre de lignes de la requte
        if (resultat2.last()) {
            b = resultat2.getRow();
        }
        System.out.println(b);

    } catch (SQLException e) {
        e.printStackTrace();
    }
    try {

        ResultSet resultat3 = this.connect
                .createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE)
                .executeQuery("SELECT code_service FROM hospitalisation WHERE code_service =  'CAR'");
        // on rcupre le nombre de lignes de la requte
        if (resultat3.last()) {
            c = resultat3.getRow();
        }

    } catch (SQLException e) {
        e.printStackTrace();
    }

    DefaultPieDataset union = new DefaultPieDataset();

    //remplir l'ensemble

    union.setValue("REA", a);
    union.setValue("CAR", b);
    union.setValue("CHG", c);

    JFreeChart repart = ChartFactory.createPieChart3D("Nombre d'hospitalisation par service", union, true, true,
            false);
    ChartPanel crepart = new ChartPanel(repart);
    this.add(crepart);
    this.pack();
    this.setVisible(true);
}