View Javadoc

1   package org.paneris.jammyjoes.mvp;
2   
3   import java.util.HashMap;
4   import java.util.Map;
5   import java.util.Vector;
6   
7   import org.melati.template.ServletTemplateContext;
8   
9   public class AffiliateStatsPresenter extends AbstractPresenter implements Presenter {
10  
11    private Map _monthMap;
12    private Vector _results;
13    private TimesliceValue _max;
14    private TimesliceFactory _timesliceFactory;
15    private final Selection selection;
16    private final boolean detail;
17    private AffiliateTotals _total;
18    
19    public AffiliateStatsPresenter(String name, ServletTemplateContext context, 
20        TimesliceFactory timesliceFactory, Selection selection, boolean detail) {
21      this.selection = selection;
22      this.detail = detail;
23      _monthMap = new HashMap();
24      _results = new Vector();
25      _timesliceFactory = timesliceFactory;
26      _max = new TimesliceValue(_timesliceFactory.create(null),0);
27      _total = new AffiliateTotals();
28      context.put(name + "_max", _max);
29      context.put(name + "_results", _results);
30      context.put(name + "_months", _monthMap);
31      context.put(name + "_total", _total);
32      context.put(name + "_sorter", new CollectionSorter());
33    }
34  
35    public Selection createSelection() {
36      return selection;
37    }
38  
39    public Command createCommand() {
40      if (detail) {
41        return new CopyIntoContextCommand(_results, _total);
42      } else {
43        return new CollectingCommand(_monthMap, _max, _timesliceFactory, _total);
44      }
45    }
46  
47  }