<%// SpecifyColumns:%>


<%
// To generate a bar chart for each value of a categorical variable
// and align the charts horizontally, assign the Column variable role
// to an appropriate categorical variable.
%>

<%@page import="com.sas.models.SimpleTable,
        com.sas.swing.models.TableModelAdapter,
        com.sas.servlet.tbeans.graphics.html.BarLineChart,
        com.sas.graphics.components.barlinechart.BarLineChartTableDataModel,
        com.sas.graphics.components.AnalysisVariable,
        com.sas.graphics.components.ClassificationVariable"
%>

   <%
     // Create a BarLineChart instance
        BarLineChart barLineChart = new BarLineChart();
     // 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
        BarLineChartTableDataModel dataModel=
           new BarLineChartTableDataModel(tma);

     // Assign the Category variable role, and the
     // BarResponse and LineResponse variable roles
     
     // 1) Set subgroup variable
           dataModel.setColumnVariable(
              new ClassificationVariable("Year"));
           dataModel.setCategoryVariable(
              new ClassificationVariable("EnergyType"));
           dataModel.setBarResponseVariable(
              new AnalysisVariable("Produced"));
           dataModel.setLineResponseVariable(
              new AnalysisVariable("Consumed"));

     // Assign the data model to the BarLineChart
        barLineChart.setDataModel(dataModel);

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

     // Set HTTP-specific response and request functionality
	barLineChart.setResponse(response);
	barLineChart.setRequest(request);
	
     // Write the chart to the display
        barLineChart.write(out);
     
%>