package page.image;

import java.awt.Graphics2D;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.wikiwebserver.handler.http.FormData;
import org.wikiwebserver.handler.http.interfaces.HTTPResponder;
import org.wikiwebserver.util.CacheableDynamicImage;

public class FullUsageGraph extends CacheableDynamicImage implements HTTPResponder {

    private List<UsageGraph> graphs = new ArrayList<UsageGraph>(); 

    protected void init(FormData formData) throws IOException {
        
        FormData graphData = new FormData();
        graphData.set("w", String.valueOf(1000));
        graphData.set("h", String.valueOf(300));
        
        int height = 0;
        String[] labels = { "Second", "Minute", "Hour", "Day", "Month" };
        for (String label : labels) {
            UsageGraph graph = new UsageGraph();
            graphData.set("u", label);
            graph.init(graphData);
            graphs.add(graph);
            height += graph.getHeight();
        }
        
        setSize(400, height);
    }
    
    protected void paint(Graphics2D g2d) throws IOException {
        for (UsageGraph graph : graphs) {
            graph.paint(g2d);
            g2d.translate(0, graph.getHeight());
        }
    }    
}

