1
2
3
4
5
6
7
8
9
10
11 package psiprobe.beans.stats.providers;
12
13 import java.util.List;
14 import java.util.concurrent.locks.ReentrantLock;
15
16 import org.jfree.data.xy.XYDataItem;
17 import org.jfree.data.xy.XYSeries;
18 import org.slf4j.Logger;
19 import org.slf4j.LoggerFactory;
20
21
22
23
24 public abstract class AbstractSeriesProvider implements SeriesProvider {
25
26
27 protected final Logger logger = LoggerFactory.getLogger(getClass());
28
29
30 private final ReentrantLock lockObj = new ReentrantLock();
31
32
33
34
35
36
37
38
39
40 protected XYSeries toSeries(String legend, List<XYDataItem> stats) {
41 XYSeries xySeries = new XYSeries(legend, true, false);
42 lockObj.lock();
43 try {
44 for (XYDataItem item : stats) {
45 xySeries.addOrUpdate(item.getX(), item.getY());
46 }
47 } finally {
48 lockObj.unlock();
49 }
50 return xySeries;
51 }
52
53 }