MCPcopy Create free account
hub / github.com/annmuor/jnode / EchoareaStat

Class EchoareaStat

jnode-core/src/jnode/stat/EchoareaStat.java:39–93  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

37import jnode.stat.threads.StatPoster;
38
39public class EchoareaStat implements IStatPoster, IEventHandler {
40 private StatPoster poster;
41
42 public EchoareaStat() {
43 Notifier.INSTANSE.register(NewEchoareaEvent.class, this);
44 }
45
46 @Override
47 public String getSubject() {
48 return "Echoarea messages per day";
49 }
50
51 @Override
52 public String getText() {
53
54 Long before = new Date().getTime() - (24 * 3600 * 1000);
55 Long after = new Date().getTime();
56 GenericRawResults<String[]> results = ORMManager
57 .get(Echomail.class)
58 .getRaw(String
59 .format("SELECT a.name,a.description,count(e.id) AS count FROM echomail e"
60 + " LEFT JOIN echoarea a ON (e.echoarea_id=a.id) WHERE e.date >= %d AND e.date <= %d"
61 + " GROUP BY a.name,a.description ORDER BY count DESC",
62 before, after));
63
64 ReportBuilder builder = new ReportBuilder();
65 builder.setColumns(Arrays.asList("Area", "Count", "Description"));
66 builder.setColLength(Arrays.asList(35, 5, 35));
67
68 for (String[] res : results) {
69
70 builder.printLine(res[0], res[2], res[1]);
71
72 }
73 return builder.getText().toString();
74 }
75
76 @Override
77 public void handle(IEvent event) {
78 if (event instanceof NewEchoareaEvent) {
79 Echoarea area = FtnTools.getAreaByName(poster.getTechEchoarea(),
80 null);
81 FtnTools.writeEchomail(area, "New echoarea created",
82 event.getEvent());
83
84 }
85
86 }
87
88 @Override
89 public void init(StatPoster poster) {
90 this.poster = poster;
91
92 }
93}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected