(Timer timer)
| 43 | private static final long MILLISEC_IN_DAY = 86400000L; |
| 44 | |
| 45 | public StatPoster(Timer timer) { |
| 46 | if (getStatisticEnabled()) { |
| 47 | posters = new ArrayList<>(); |
| 48 | { |
| 49 | String[] posters = MainHandler |
| 50 | .getCurrentInstance() |
| 51 | .getProperty(STAT_POSTERS, |
| 52 | "jnode.stat.ConnectionStat,jnode.stat.EchoareaStat,jnode.stat.FileareaStat") |
| 53 | .split(","); |
| 54 | for (String poster : posters) { |
| 55 | try { |
| 56 | Class<?> clazz = Class.forName(poster.replaceAll("\\s", |
| 57 | "")); |
| 58 | IStatPoster instance = (IStatPoster) clazz |
| 59 | .newInstance(); |
| 60 | instance.init(this); |
| 61 | this.posters.add(instance); |
| 62 | logger.l2("Poster " + poster + " started"); |
| 63 | } catch (Exception e) { |
| 64 | logger.l1("Unable to load poster " + poster, e); |
| 65 | } |
| 66 | } |
| 67 | } |
| 68 | Calendar calendar = Calendar.getInstance(Locale.US); |
| 69 | calendar.set(Calendar.DAY_OF_YEAR, |
| 70 | calendar.get(Calendar.DAY_OF_YEAR)); |
| 71 | calendar.set(Calendar.HOUR_OF_DAY, 0); |
| 72 | calendar.set(Calendar.MINUTE, 0); |
| 73 | calendar.set(Calendar.SECOND, 0); |
| 74 | Date date = new Date(calendar.getTime().getTime() + MILLISEC_IN_DAY); |
| 75 | long delay = date.getTime() - new Date().getTime(); |
| 76 | if (delay < 0) { |
| 77 | delay = 0; |
| 78 | } |
| 79 | logger.l3("First stat after " + (delay / 1000) |
| 80 | + " seconds and every 24h after"); |
| 81 | timer.schedule(this, delay, 24 * 3600 * 1000); |
| 82 | } |
| 83 | } |
| 84 | |
| 85 | @Override |
| 86 | public void run() { |
nothing calls this directly
no test coverage detected