Skip to content

Commit aba3c16

Browse files
committed
Proper initialization of some classes with the injector
1 parent 4071fc1 commit aba3c16

File tree

6 files changed

+50
-38
lines changed

6 files changed

+50
-38
lines changed

pom.xml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@
8383
<version>1.11-SNAPSHOT</version>
8484
<scope>provided</scope>
8585
</dependency>
86+
8687
<dependency>
8788
<groupId>ch.jalu</groupId>
8889
<artifactId>configme</artifactId>
@@ -96,6 +97,7 @@
9697
</exclusion>
9798
</exclusions>
9899
</dependency>
100+
99101
<dependency>
100102
<groupId>ch.jalu</groupId>
101103
<artifactId>injector</artifactId>
@@ -123,15 +125,17 @@
123125
<dependency>
124126
<groupId>org.bstats</groupId>
125127
<artifactId>bstats-bungeecord</artifactId>
126-
<version>LATEST</version>
128+
<version>1.2</version>
127129
<scope>compile</scope>
128130
</dependency>
131+
129132
<dependency>
130133
<groupId>org.projectlombok</groupId>
131134
<artifactId>lombok</artifactId>
132135
<version>1.16.16</version>
133136
<scope>provided</scope>
134137
</dependency>
138+
135139
<dependency>
136140
<groupId>junit</groupId>
137141
<artifactId>junit</artifactId>

src/main/java/com/jaimemartz/playerbalancer/PlayerBalancer.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.jaimemartz.playerbalancer;
22

3+
import ch.jalu.configme.SettingsManager;
34
import ch.jalu.injector.Injector;
45
import ch.jalu.injector.InjectorBuilder;
56
import com.jaimemartz.playerbalancer.commands.FallbackCommand;
@@ -11,10 +12,13 @@
1112
import com.jaimemartz.playerbalancer.manager.PlayerLocker;
1213
import com.jaimemartz.playerbalancer.ping.StatusManager;
1314
import com.jaimemartz.playerbalancer.section.SectionManager;
14-
import com.jaimemartz.playerbalancer.settings.Settings;
15-
import com.jaimemartz.playerbalancer.settings.SettingsProvider;
1615
import com.jaimemartz.playerbalancer.settings.beans.SectionHandler;
17-
import com.jaimemartz.playerbalancer.settings.types.*;
16+
import com.jaimemartz.playerbalancer.settings.provider.SectionHandlerProvider;
17+
import com.jaimemartz.playerbalancer.settings.provider.SettingsProvider;
18+
import com.jaimemartz.playerbalancer.settings.types.CheckerProperties;
19+
import com.jaimemartz.playerbalancer.settings.types.CommandProperties;
20+
import com.jaimemartz.playerbalancer.settings.types.GeneralProperties;
21+
import com.jaimemartz.playerbalancer.settings.types.ReconnectorProperties;
1822
import lombok.Getter;
1923
import net.md_5.bungee.api.ProxyServer;
2024
import net.md_5.bungee.api.plugin.Command;
@@ -33,7 +37,7 @@ public class PlayerBalancer extends Plugin {
3337

3438
//Private instances
3539
private Injector injector;
36-
private Settings settings;
40+
private SettingsManager settings;
3741
private StatusManager statusManager;
3842
private SectionManager sectionManager;
3943

@@ -42,19 +46,15 @@ public class PlayerBalancer extends Plugin {
4246

4347
@Override
4448
public void onEnable() {
45-
getDataFolder().mkdir();
46-
4749
injector = new InjectorBuilder()
4850
.addDefaultHandlers(getClass().getPackage().getName())
4951
.create();
5052

5153
injector.register(PlayerBalancer.class, this);
5254
injector.register(ProxyServer.class, this.getProxy());
53-
injector.register(SettingsProvider.class, new SettingsProvider(this.getDataFolder()));
54-
injector.registerProvider(Settings.class, SettingsProvider.class);
55-
56-
settings = injector.getSingleton(Settings.class);
57-
injector.register(SectionHandler.class, settings.getProperty(SectionsHolder.SECTION_HOLDER));
55+
injector.registerProvider(SettingsManager.class, SettingsProvider.class);
56+
injector.registerProvider(SectionHandler.class, SectionHandlerProvider.class);
57+
settings = injector.getSingleton(SettingsManager.class);
5858

5959
Metrics metrics = new Metrics(this);
6060
if (this.enable()) {
@@ -93,7 +93,7 @@ private boolean enable() {
9393
}
9494

9595
if (settings.getProperty(CommandProperties.ENABLED)) {
96-
fallbackCommand = new FallbackCommand(this);
96+
fallbackCommand = injector.newInstance(FallbackCommand.class);
9797
getProxy().getPluginManager().registerCommand(this, fallbackCommand);
9898
}
9999

src/main/java/com/jaimemartz/playerbalancer/commands/FallbackCommand.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package com.jaimemartz.playerbalancer.commands;
22

3+
import ch.jalu.configme.SettingsManager;
34
import com.google.common.collect.Iterables;
45
import com.jaimemartz.playerbalancer.connection.ConnectionIntent;
56
import com.jaimemartz.playerbalancer.section.ServerSection;
6-
import com.jaimemartz.playerbalancer.settings.Settings;
77
import com.jaimemartz.playerbalancer.settings.beans.MapBean;
88
import com.jaimemartz.playerbalancer.settings.types.CommandProperties;
99
import com.jaimemartz.playerbalancer.settings.types.GeneralProperties;
@@ -22,13 +22,13 @@
2222

2323
public class FallbackCommand extends Command {
2424
@Inject
25-
private Settings settings;
25+
private SettingsManager settings;
2626

2727
@Inject
2828
private SectionsHolder sections;
2929

3030
@Inject
31-
public FallbackCommand(Settings settings) {
31+
public FallbackCommand(SettingsManager settings) {
3232
super(
3333
settings.getProperty(CommandProperties.COMMAND).getName(),
3434
settings.getProperty(CommandProperties.COMMAND).getPermission(),

src/main/java/com/jaimemartz/playerbalancer/settings/Settings.java

Lines changed: 0 additions & 12 deletions
This file was deleted.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package com.jaimemartz.playerbalancer.settings.provider;
2+
3+
import ch.jalu.configme.SettingsManager;
4+
import com.jaimemartz.playerbalancer.settings.beans.SectionHandler;
5+
import com.jaimemartz.playerbalancer.settings.types.SectionsHolder;
6+
7+
import javax.inject.Inject;
8+
import javax.inject.Provider;
9+
10+
public class SectionHandlerProvider implements Provider<SectionHandler> {
11+
@Inject
12+
private SettingsManager settings;
13+
14+
@Override
15+
public SectionHandler get() {
16+
return settings.getProperty(SectionsHolder.SECTION_HOLDER);
17+
}
18+
}

src/main/java/com/jaimemartz/playerbalancer/settings/SettingsProvider.java renamed to src/main/java/com/jaimemartz/playerbalancer/settings/provider/SettingsProvider.java

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,28 @@
1-
package com.jaimemartz.playerbalancer.settings;
1+
package com.jaimemartz.playerbalancer.settings.provider;
22

3+
import ch.jalu.configme.SettingsManager;
34
import ch.jalu.configme.configurationdata.ConfigurationData;
45
import ch.jalu.configme.configurationdata.ConfigurationDataBuilder;
56
import ch.jalu.configme.migration.PlainMigrationService;
67
import ch.jalu.configme.resource.PropertyResource;
78
import ch.jalu.configme.resource.YamlFileResource;
89
import com.jaimemartz.playerbalancer.settings.types.*;
10+
import net.md_5.bungee.api.plugin.Plugin;
911

12+
import javax.inject.Inject;
1013
import javax.inject.Provider;
1114
import java.io.File;
1215
import java.io.IOException;
1316

14-
public class SettingsProvider implements Provider<Settings> {
15-
private final File dataFolder;
16-
17-
public SettingsProvider(File dataFolder) {
18-
this.dataFolder = dataFolder;
19-
}
17+
public class SettingsProvider implements Provider<SettingsManager> {
18+
@Inject
19+
private Plugin plugin;
2020

2121
@Override
22-
public Settings get() {
23-
File configFile = new File(dataFolder, "config.yml");
22+
public SettingsManager get() {
23+
plugin.getDataFolder().mkdir();
24+
25+
File configFile = new File(plugin.getDataFolder(), "config.yml");
2426
if (!configFile.exists()) {
2527
try {
2628
boolean result = configFile.createNewFile();
@@ -38,6 +40,6 @@ public Settings get() {
3840
CommandProperties.class, MessageProperties.class, SectionsHolder.class
3941
);
4042

41-
return new Settings(resource, new PlainMigrationService(), configurationData);
43+
return new SettingsManager(resource, new PlainMigrationService(), configurationData);
4244
}
4345
}

0 commit comments

Comments
 (0)