source: DCWoRMS/branches/coolemall/src/simulator/stats/AbstractMetricsCalculator.java @ 1396

Revision 1396, 1.3 KB checked in by wojtekp, 11 years ago (diff)
  • Property svn:mime-type set to text/plain
Line 
1package simulator.stats;
2
3import java.util.ArrayList;
4import java.util.HashMap;
5import java.util.List;
6import java.util.Map;
7
8import simulator.stats.implementation.MetricsStats;
9
10public abstract class AbstractMetricsCalculator implements MetricsCalculator{
11       
12        protected static final double MILLI_SEC = 1000;
13        protected static final double SEC_IN_HOUR = 3600;
14       
15        protected Map<String, List<DCwormsAccumulator>> metricsData = new HashMap<String, List<DCwormsAccumulator>>();
16
17        protected long startTime;
18        protected long endTime;
19        protected long timestamp;
20       
21        public AbstractMetricsCalculator(long startTime, long endTime, long timestamp) {
22                super();
23                this.startTime = startTime;
24                this.endTime = endTime;
25                this.timestamp = timestamp;
26        }
27       
28        abstract public List<MetricsStats> calulateMetrics();
29       
30        public void addMetricsData(String resourceTypeName, DCwormsAccumulator resourceEnergyAccumulator){
31                List<DCwormsAccumulator> resourceEnergyAccumulatorList = metricsData.get(resourceTypeName);
32                if(resourceEnergyAccumulatorList == null){
33                        resourceEnergyAccumulatorList = new ArrayList<DCwormsAccumulator>();
34                }
35                resourceEnergyAccumulatorList.add(resourceEnergyAccumulator);
36                metricsData.put(resourceTypeName, resourceEnergyAccumulatorList);
37        }
38       
39        public Map<String, List<DCwormsAccumulator>> getMetricsData(){
40                return metricsData;
41        }
42
43}
Note: See TracBrowser for help on using the repository browser.