<%// SetInsideLabel:%>

    <%
    // A graph's display properties (labels, bar width, orientation,
    // and so on) are general properties that are defined in the
    // graph's model. Thus, to set the contents for an inside label,
    //    1) Get the PieChart's graph model
    //    2) Call setInsideSliceLabelContent() to set the label content
    %>

    <%@page import="
      com.sas.servlet.tbeans.graphics.html.PieChart,
      com.sas.graphics.components.piechart.PieChartTableDataModel,
      com.sas.graphics.components.AnalysisVariable,
      com.sas.graphics.components.ClassificationVariable,
      com.sas.graphics.components.piechart.PieChartModel,
      com.sas.graphics.components.GraphConstants,
      com.sas.swing.models.TableModelAdapter,
      com.sas.models.SimpleTable"
    %>

    <%
     // Create a PieChart instance
        PieChart pieChart = new PieChart();

     // Create a simple SAS table and add data to it
        SimpleTable table = new SimpleTable();
    %>

    <%@ include file="EnergyData.jsp" %>

    <%
     // Convert a simple SAS table to a simple Java Swing table
        TableModelAdapter tma = new TableModelAdapter(table);
        tma.setFormattedDataUsed(false);

     // Create a data model and attach the data source
        PieChartTableDataModel dataModel=
          new PieChartTableDataModel(tma);

     // Assign the data model to the PieChart
        pieChart.setDataModel(dataModel);

     // Hide the legend
        pieChart.getGraphModel().getLegendModel().setVisible(false);

     // 1) Get the PieChart's graph model
        PieChartModel gModel=pieChart.getGraphModel();

     // 2) Call setInsideSliceLabelContent() to set the label content
        gModel.setInsideSliceLabelContent(GraphConstants.DATA_LABEL_PERCENT);

     // Assign the Category and Response variable roles
        dataModel.setCategoryVariable(
          new ClassificationVariable("EnergyType"));
        dataModel.setResponseVariable(
          new AnalysisVariable("Produced"));

     // Assign the data model to the PieChart
        pieChart.setDataModel(dataModel);

     // Set a title
        pieChart.getTitle1().setText("Energy Production");

     // Set HTTP-specific response and request functionality
        pieChart.setResponse(response);
        pieChart.setRequest(request);

     // Write the chart to the display
        pieChart.write(out);
    %>