<%// ChangeOrientation:%>

    <%
    // A graph's display properties (orientation, title, axis characteristics, and
    // so on) are general properties that are defined in the graph's model. Thus,
    // to set the orientation of bar elements,
    //    1) Get the BarChart's graph model
    //    2) Call the model's setOrientation() method
    // By default, a BarChart is created with a vertical orientation.
    %>

    <%@page import="
      com.sas.servlet.tbeans.graphics.html.BarChart,
      javax.swing.SwingConstants,
      com.sas.graphics.components.barchart.BarChartModel,
      com.sas.graphics.components.barchart.BarChartTableDataModel,
      com.sas.graphics.components.AnalysisVariable,
      com.sas.graphics.components.ClassificationVariable,
      com.sas.swing.models.TableModelAdapter,
      com.sas.models.SimpleTable"
    %>

    <%
     // Create a BarChart instance
        BarChart barChart = new BarChart();

     // 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
        BarChartTableDataModel dataModel=
          new BarChartTableDataModel(tma);

     // Assign the data model to the BarChart
        barChart.setDataModel(dataModel);

     // 1) Get the BarChart's graph model
        BarChartModel graphModel=barChart.getGraphModel();
     // 2) Call the model's setOrientation() method
        graphModel.setOrientation(SwingConstants.HORIZONTAL);

     // Assign the Category variable role, and optionally the
     // Response variable role, to appropriate variable(s)
        dataModel.setCategoryVariable(
          new ClassificationVariable("EnergyType"));
        dataModel.setResponseVariable(
          new AnalysisVariable("Produced"));

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

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

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