Skip to content

Commit 924cc22

Browse files
committed
Add API and loading setup
1 parent fbad73b commit 924cc22

File tree

2 files changed

+55
-2
lines changed

2 files changed

+55
-2
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package it.renvins.serverpulse.bungeecord;
2+
3+
import it.renvins.serverpulse.api.ServerPulseAPI;
4+
import it.renvins.serverpulse.api.metrics.IDiskRetriever;
5+
import it.renvins.serverpulse.api.metrics.IPingRetriever;
6+
import it.renvins.serverpulse.api.service.IDatabaseService;
7+
import it.renvins.serverpulse.api.service.IMetricsService;
8+
import lombok.RequiredArgsConstructor;
9+
10+
@RequiredArgsConstructor
11+
public class ServerPulseBungeeCordAPI implements ServerPulseAPI {
12+
13+
private final IDatabaseService databaseService;
14+
private final IMetricsService metricsService;
15+
private final IDiskRetriever diskRetriever;
16+
private final IPingRetriever pingRetriever;
17+
18+
@Override
19+
public IDatabaseService getDatabaseService() {
20+
return databaseService;
21+
}
22+
23+
@Override
24+
public IMetricsService getMetricsService() {
25+
return metricsService;
26+
}
27+
28+
@Override
29+
public IDiskRetriever getDiskRetriever() {
30+
return diskRetriever;
31+
}
32+
33+
@Override
34+
public IPingRetriever getPingRetriever() {
35+
return pingRetriever;
36+
}
37+
}

bungeecord/src/main/java/it/renvins/serverpulse/bungeecord/ServerPulseBungeeCordLoader.java

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package it.renvins.serverpulse.bungeecord;
22

3+
import it.renvins.serverpulse.api.ServerPulseProvider;
34
import it.renvins.serverpulse.api.metrics.IDiskRetriever;
45
import it.renvins.serverpulse.api.metrics.IPingRetriever;
56
import it.renvins.serverpulse.api.service.IDatabaseService;
@@ -26,6 +27,7 @@
2627
public class ServerPulseBungeeCordLoader implements Service {
2728

2829
private final ServerPulseBungeeCord plugin;
30+
public static Logger LOGGER;
2931

3032
private final BungeeCordConfiguration config;
3133
private final Platform platform;
@@ -38,6 +40,7 @@ public class ServerPulseBungeeCordLoader implements Service {
3840

3941
public ServerPulseBungeeCordLoader(ServerPulseBungeeCord plugin) {
4042
this.plugin = plugin;
43+
LOGGER = plugin.getLogger();
4144

4245
this.config = new BungeeCordConfiguration(plugin, "config.yml");
4346
this.platform = new BungeeCordPlatform(plugin);
@@ -54,16 +57,29 @@ public ServerPulseBungeeCordLoader(ServerPulseBungeeCord plugin) {
5457
this.diskRetriever = new DiskRetriever(plugin.getDataFolder());
5558
this.pingRetriever =new BungeeCordPingRetriever(plugin);
5659

57-
60+
LOGGER.info("ServerPulse for BungeeCord initialized - waiting for server starting...");
5861
}
5962

6063
@Override
6164
public void load() {
65+
LOGGER.info("Loading configuration...");
66+
config.load();
67+
68+
ServerPulseProvider.register(new ServerPulseBungeeCordAPI(databaseService, metricsService, diskRetriever, pingRetriever));
6269

70+
databaseService.load();
71+
if (!platform.isEnabled()) {
72+
return;
73+
}
74+
metricsService.load();
6375
}
6476

6577
@Override
6678
public void unload() {
67-
Service.super.unload();
79+
databaseService.unload();
80+
metricsService.unload();
81+
82+
plugin.getProxy().getScheduler().cancel(plugin);
83+
ServerPulseProvider.unregister();
6884
}
6985
}

0 commit comments

Comments
 (0)