org_apache_struts2_dispatcher_ChartResultTest_java
org.jfree.chart.JFreeChart
public void draw(Graphics2D g2, Rectangle2D chartArea, Point2D anchor, ChartRenderingInfo info) {
        EntityCollection e;
        this.notifyListeners(new ChartProgressEvent(this, this, 1, 0));
        if (this.elementHinting) {
            HashMap<String, String> m = new HashMap<String, String>();
            if (this.id != null) {
                m.put("id", this.id);
            }
            m.put("ref", "JFREECHART_TOP_LEVEL");
            g2.setRenderingHint(ChartHints.KEY_BEGIN_ELEMENT, m);
        }
        EntityCollection entities = null;
        if (info != null) {
            info.clear();
            info.setChartArea(chartArea);
            entities = info.getEntityCollection();
        }
        if (entities != null) {
            entities.add(new JFreeChartEntity((Shape)((Rectangle2D)chartArea.clone()), this));
        }
        Shape savedClip = g2.getClip();
        g2.clip(chartArea);
        g2.addRenderingHints(this.renderingHints);
        if (this.backgroundPaint != null) {
            g2.setPaint(this.backgroundPaint);
            g2.fill(chartArea);
        }
        if (this.backgroundImage != null) {
            Composite originalComposite = g2.getComposite();
            g2.setComposite(AlphaComposite.getInstance(3, this.backgroundImageAlpha));
            Rectangle2D.Double dest = new Rectangle2D.Double(0.0, 0.0, this.backgroundImage.getWidth(null), this.backgroundImage.getHeight(null));
            Align.align((Rectangle2D)dest, (Rectangle2D)chartArea, (int)this.backgroundImageAlignment);
            g2.drawImage(this.backgroundImage, (int)((RectangularShape)dest).getX(), (int)((RectangularShape)dest).getY(), (int)((RectangularShape)dest).getWidth(), (int)((RectangularShape)dest).getHeight(), null);
            g2.setComposite(originalComposite);
        }
        if (this.isBorderVisible()) {
            Paint paint = this.getBorderPaint();
            Stroke stroke = this.getBorderStroke();
            if (paint != null && stroke != null) {
                Rectangle2D.Double borderArea = new Rectangle2D.Double(chartArea.getX(), chartArea.getY(), chartArea.getWidth() - 1.0, chartArea.getHeight() - 1.0);
                g2.setPaint(paint);
                g2.setStroke(stroke);
                g2.draw(borderArea);
            }
        }
        Rectangle2D.Double nonTitleArea = new Rectangle2D.Double();
        ((Rectangle2D)nonTitleArea).setRect(chartArea);
        this.padding.trim(nonTitleArea);
        if (this.title != null && this.title.isVisible() && (e = this.drawTitle(this.title, g2, nonTitleArea, entities != null)) != null && entities != null) {
            entities.addAll(e);
        }
        for (Title currentTitle : this.subtitles) {
            EntityCollection e2;
            if (!currentTitle.isVisible() || (e2 = this.drawTitle(currentTitle, g2, nonTitleArea, entities != null)) == null || entities == null) continue;
            entities.addAll(e2);
        }
        Rectangle2D.Double plotArea = nonTitleArea;
        PlotRenderingInfo plotInfo = null;
        if (info != null) {
            plotInfo = info.getPlotInfo();
        }
        this.plot.draw(g2, plotArea, anchor, null, plotInfo);
        g2.setClip(savedClip);
        if (this.elementHinting) {
            g2.setRenderingHint(ChartHints.KEY_END_ELEMENT, Boolean.TRUE);
        }
        this.notifyListeners(new ChartProgressEvent(this, this, 2, 100));
    }
 -> java.awt.Graphics2D.getClip(): java.awt.Shape -> java.awt.Graphics2D.clip(java.awt.Shape): void -> java.awt.Graphics2D.addRenderingHints(java.util.Map): void -> java.awt.Graphics2D.setPaint(java.awt.Paint): void -> java.awt.Graphics2D.fill(java.awt.Shape): void -> java.awt.geom.Rectangle2D.setRect(java.awt.geom.Rectangle2D): void -> java.awt.geom.Rectangle2D.getWidth(): double -> java.awt.geom.Rectangle2D.getHeight(): double -> java.awt.geom.Rectangle2D.getX(): double -> java.awt.geom.Rectangle2D.getY(): double -> java.awt.geom.Rectangle2D.setRect(double,double,double,double): void -> java.awt.geom.Rectangle2D.getWidth(): double -> java.awt.geom.Rectangle2D.getHeight(): double -> java.lang.Object.equals(java.lang.Object): boolean -> java.lang.Math.max(double,double): double -> java.lang.Math.max(double,double): double -> java.lang.Math.max(double,double): double -> java.lang.Math.max(double,double): double -> java.awt.Graphics2D.setFont(java.awt.Font): void -> java.text.BreakIterator.getLineInstance(): java.text.BreakIterator -> java.text.BreakIterator.setText(java.lang.String): void -> java.lang.String.length(): int -> java.lang.String.indexOf(int,int): int -> java.text.BreakIterator.following(int): int -> java.awt.Graphics2D.getFontMetrics(): java.awt.FontMetrics
 [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.awt.Graphics2D.getClip(): java.awt.Shape -> java.awt.Graphics2D.clip(java.awt.Shape): void -> java.awt.Graphics2D.addRenderingHints(java.util.Map): void -> java.awt.Graphics2D.setPaint(java.awt.Paint): void -> java.awt.Graphics2D.fill(java.awt.Shape): void [CALL] [EXIT] -> java.awt.geom.Rectangle2D.setRect(java.awt.geom.Rectangle2D): void [CALL] -> java.awt.geom.Rectangle2D.getWidth(): double -> java.awt.geom.Rectangle2D.getHeight(): double [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.awt.geom.Rectangle2D.getX(): double -> java.awt.geom.Rectangle2D.getY(): double -> java.awt.geom.Rectangle2D.setRect(double,double,double,double): void [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.awt.geom.Rectangle2D.getWidth(): double -> java.awt.geom.Rectangle2D.getHeight(): double [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] -> java.lang.Object.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.lang.Math.max(double,double): double [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.lang.Math.max(double,double): double [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.lang.Math.max(double,double): double [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.lang.Math.max(double,double): double [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.awt.Graphics2D.setFont(java.awt.Font): void [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.text.BreakIterator.getLineInstance(): java.text.BreakIterator -> java.text.BreakIterator.setText(java.lang.String): void -> java.lang.String.length(): int [CALL] -> java.lang.String.indexOf(int,int): int -> java.text.BreakIterator.following(int): int [CALL] -> java.awt.Graphics2D.getFontMetrics(): java.awt.FontMetrics [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT]