diff --git a/Plan/src/main/java/com/djrapitops/plan/system/BukkitSystem.java b/Plan/src/main/java/com/djrapitops/plan/system/BukkitSystem.java index 63019c76c..dc22a04e3 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/BukkitSystem.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/BukkitSystem.java @@ -9,13 +9,13 @@ import com.djrapitops.plan.ShutdownHook; import com.djrapitops.plan.api.ServerAPI; import com.djrapitops.plan.api.exceptions.EnableException; import com.djrapitops.plan.data.plugin.HookHandler; -import com.djrapitops.plan.system.database.BukkitDBSystem; +import com.djrapitops.plan.system.database.ServerDBSystem; import com.djrapitops.plan.system.file.FileSystem; -import com.djrapitops.plan.system.info.BukkitInfoSystem; +import com.djrapitops.plan.system.info.ServerInfoSystem; import com.djrapitops.plan.system.info.server.BukkitServerInfo; import com.djrapitops.plan.system.listeners.BukkitListenerSystem; import com.djrapitops.plan.system.settings.PlanErrorManager; -import com.djrapitops.plan.system.settings.config.BukkitConfigSystem; +import com.djrapitops.plan.system.settings.config.ServerConfigSystem; import com.djrapitops.plan.system.settings.network.NetworkSettings; import com.djrapitops.plan.system.tasks.BukkitTaskSystem; import com.djrapitops.plan.system.update.VersionCheckSystem; @@ -37,12 +37,12 @@ public class BukkitSystem extends PlanSystem implements ServerSystem { versionCheckSystem = new VersionCheckSystem(plugin.getVersion()); fileSystem = new FileSystem(plugin); - configSystem = new BukkitConfigSystem(); - databaseSystem = new BukkitDBSystem(); + configSystem = new ServerConfigSystem(); + databaseSystem = new ServerDBSystem(); listenerSystem = new BukkitListenerSystem(plugin); taskSystem = new BukkitTaskSystem(plugin); - infoSystem = new BukkitInfoSystem(); + infoSystem = new ServerInfoSystem(); serverInfo = new BukkitServerInfo(plugin); hookHandler = new HookHandler(); diff --git a/Plan/src/main/java/com/djrapitops/plan/system/SpongeSystem.java b/Plan/src/main/java/com/djrapitops/plan/system/SpongeSystem.java index ac3003e0d..7bfb57173 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/SpongeSystem.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/SpongeSystem.java @@ -9,13 +9,13 @@ import com.djrapitops.plan.ShutdownHook; import com.djrapitops.plan.api.ServerAPI; import com.djrapitops.plan.api.exceptions.EnableException; import com.djrapitops.plan.data.plugin.HookHandler; -import com.djrapitops.plan.system.database.BukkitDBSystem; +import com.djrapitops.plan.system.database.ServerDBSystem; import com.djrapitops.plan.system.file.FileSystem; -import com.djrapitops.plan.system.info.BukkitInfoSystem; +import com.djrapitops.plan.system.info.ServerInfoSystem; import com.djrapitops.plan.system.info.server.SpongeServerInfo; import com.djrapitops.plan.system.listeners.SpongeListenerSystem; import com.djrapitops.plan.system.settings.PlanErrorManager; -import com.djrapitops.plan.system.settings.config.BukkitConfigSystem; +import com.djrapitops.plan.system.settings.config.SpongeConfigSystem; import com.djrapitops.plan.system.settings.network.NetworkSettings; import com.djrapitops.plan.system.tasks.SpongeTaskSystem; import com.djrapitops.plan.system.update.VersionCheckSystem; @@ -29,6 +29,8 @@ import com.djrapitops.plugin.api.utility.log.Log; */ public class SpongeSystem extends PlanSystem implements ServerSystem { + private boolean firstInstall = false; + public SpongeSystem(PlanSponge plugin) { testSystem = this; @@ -36,12 +38,12 @@ public class SpongeSystem extends PlanSystem implements ServerSystem { versionCheckSystem = new VersionCheckSystem(plugin.getVersion()); fileSystem = new FileSystem(plugin); - configSystem = new BukkitConfigSystem(); - databaseSystem = new BukkitDBSystem(); + configSystem = new SpongeConfigSystem(); + databaseSystem = new ServerDBSystem(); listenerSystem = new SpongeListenerSystem(plugin); taskSystem = new SpongeTaskSystem(plugin); - infoSystem = new BukkitInfoSystem(); + infoSystem = new ServerInfoSystem(); serverInfo = new SpongeServerInfo(); hookHandler = new HookHandler(); diff --git a/Plan/src/main/java/com/djrapitops/plan/system/database/BukkitDBSystem.java b/Plan/src/main/java/com/djrapitops/plan/system/database/ServerDBSystem.java similarity index 94% rename from Plan/src/main/java/com/djrapitops/plan/system/database/BukkitDBSystem.java rename to Plan/src/main/java/com/djrapitops/plan/system/database/ServerDBSystem.java index 50837dc6e..9b323eb2c 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/database/BukkitDBSystem.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/database/ServerDBSystem.java @@ -14,7 +14,7 @@ import com.djrapitops.plan.system.settings.Settings; * * @author Rsl1122 */ -public class BukkitDBSystem extends DBSystem { +public class ServerDBSystem extends DBSystem { @Override protected void initDatabase() throws DBInitException { diff --git a/Plan/src/main/java/com/djrapitops/plan/system/info/BukkitInfoSystem.java b/Plan/src/main/java/com/djrapitops/plan/system/info/ServerInfoSystem.java similarity index 87% rename from Plan/src/main/java/com/djrapitops/plan/system/info/BukkitInfoSystem.java rename to Plan/src/main/java/com/djrapitops/plan/system/info/ServerInfoSystem.java index 3bb0b4b85..8501140ff 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/info/BukkitInfoSystem.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/info/ServerInfoSystem.java @@ -6,7 +6,7 @@ package com.djrapitops.plan.system.info; import com.djrapitops.plan.api.exceptions.connection.NoServersException; import com.djrapitops.plan.api.exceptions.connection.WebException; -import com.djrapitops.plan.system.info.connection.BukkitConnectionSystem; +import com.djrapitops.plan.system.info.connection.ServerConnectionSystem; import com.djrapitops.plan.system.info.request.CacheNetworkPageContentRequest; import com.djrapitops.plan.system.info.request.InfoRequest; import com.djrapitops.plan.system.info.request.SetupRequest; @@ -19,10 +19,10 @@ import com.djrapitops.plugin.api.utility.log.Log; * * @author Rsl1122 */ -public class BukkitInfoSystem extends InfoSystem { +public class ServerInfoSystem extends InfoSystem { - public BukkitInfoSystem() { - super(new BukkitConnectionSystem()); + public ServerInfoSystem() { + super(new ServerConnectionSystem()); } @Override diff --git a/Plan/src/main/java/com/djrapitops/plan/system/info/connection/BukkitConnectionSystem.java b/Plan/src/main/java/com/djrapitops/plan/system/info/connection/ServerConnectionSystem.java similarity index 98% rename from Plan/src/main/java/com/djrapitops/plan/system/info/connection/BukkitConnectionSystem.java rename to Plan/src/main/java/com/djrapitops/plan/system/info/connection/ServerConnectionSystem.java index 582572595..c0f5c71bd 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/info/connection/BukkitConnectionSystem.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/info/connection/ServerConnectionSystem.java @@ -28,13 +28,13 @@ import java.util.UUID; * * @author Rsl1122 */ -public class BukkitConnectionSystem extends ConnectionSystem { +public class ServerConnectionSystem extends ConnectionSystem { private long latestServerMapRefresh; private Server mainServer; - public BukkitConnectionSystem() { + public ServerConnectionSystem() { latestServerMapRefresh = 0; } diff --git a/Plan/src/main/java/com/djrapitops/plan/system/settings/Settings.java b/Plan/src/main/java/com/djrapitops/plan/system/settings/Settings.java index bee0bf5bc..63a8f01d7 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/settings/Settings.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/settings/Settings.java @@ -36,6 +36,7 @@ public enum Settings { FORMAT_DATE_RECENT_DAYS("Customization.Formatting.Dates.RecentDays"), DISPLAY_PLAYER_IPS("Customization.Display.PlayerIPs"), DISPLAY_GAPS_IN_GRAPH_DATA("Customization.Display.GapsInGraphData"), + DATA_GEOLOCATIONS("Data.Geolocations"), // Integer WEBSERVER_PORT("WebServer.Port"), diff --git a/Plan/src/main/java/com/djrapitops/plan/system/settings/config/BukkitConfigSystem.java b/Plan/src/main/java/com/djrapitops/plan/system/settings/config/ServerConfigSystem.java similarity index 91% rename from Plan/src/main/java/com/djrapitops/plan/system/settings/config/BukkitConfigSystem.java rename to Plan/src/main/java/com/djrapitops/plan/system/settings/config/ServerConfigSystem.java index c9d9f6849..7d3e56339 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/settings/config/BukkitConfigSystem.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/settings/config/ServerConfigSystem.java @@ -15,7 +15,7 @@ import java.io.IOException; * * @author Rsl1122 */ -public class BukkitConfigSystem extends ConfigSystem { +public class ServerConfigSystem extends ConfigSystem { @Override protected void copyDefaults() throws IOException { diff --git a/Plan/src/main/java/com/djrapitops/plan/system/settings/config/SpongeConfigSystem.java b/Plan/src/main/java/com/djrapitops/plan/system/settings/config/SpongeConfigSystem.java new file mode 100644 index 000000000..5d88d7fe0 --- /dev/null +++ b/Plan/src/main/java/com/djrapitops/plan/system/settings/config/SpongeConfigSystem.java @@ -0,0 +1,35 @@ +package com.djrapitops.plan.system.settings.config; + +import com.djrapitops.plan.api.exceptions.EnableException; +import com.djrapitops.plan.system.file.FileSystem; +import com.djrapitops.plan.system.settings.Settings; +import com.djrapitops.plugin.api.utility.log.Log; + +import java.io.IOException; + +/** + * Sponge ConfigSystem that disables WebServer and Geolocations on first enable. + * + * @author Rsl1122 + */ +public class SpongeConfigSystem extends ServerConfigSystem { + + private boolean firstInstall; + + @Override + public void enable() throws EnableException { + firstInstall = !FileSystem.getConfigFile().exists(); + super.enable(); + } + + @Override + protected void copyDefaults() throws IOException { + super.copyDefaults(); + if (firstInstall) { + Log.info("WebServer and Geolocations disabled by default. Please enable them in the config."); + Settings.WEBSERVER_DISABLED.set(true); + Settings.DATA_GEOLOCATIONS.set(false); + Settings.save(); + } + } +} \ No newline at end of file diff --git a/Plan/src/test/java/com/djrapitops/plan/system/BungeeBukkitConnectionTest.java b/Plan/src/test/java/com/djrapitops/plan/system/BungeeBukkitConnectionTest.java index a7ed9e625..72de62411 100644 --- a/Plan/src/test/java/com/djrapitops/plan/system/BungeeBukkitConnectionTest.java +++ b/Plan/src/test/java/com/djrapitops/plan/system/BungeeBukkitConnectionTest.java @@ -8,7 +8,7 @@ import com.djrapitops.plan.Plan; import com.djrapitops.plan.PlanBungee; import com.djrapitops.plan.api.exceptions.EnableException; import com.djrapitops.plan.api.exceptions.connection.WebException; -import com.djrapitops.plan.system.database.BukkitDBSystem; +import com.djrapitops.plan.system.database.ServerDBSystem; import com.djrapitops.plan.system.info.request.GenerateInspectPageRequest; import com.djrapitops.plan.system.info.server.ServerInfo; import com.djrapitops.plan.system.settings.Settings; @@ -97,7 +97,7 @@ public class BungeeBukkitConnectionTest { Settings.WEBSERVER_PORT.setTemporaryValue(9250); Settings.BUNGEE_IP.setTemporaryValue("localhost"); Settings.DB_TYPE.setTemporaryValue("sqlite"); - bungeeSystem.setDatabaseSystem(new BukkitDBSystem()); + bungeeSystem.setDatabaseSystem(new ServerDBSystem()); bungeeSystem.enable(); diff --git a/Plan/src/test/java/com/djrapitops/plan/system/BungeeSystemTest.java b/Plan/src/test/java/com/djrapitops/plan/system/BungeeSystemTest.java index fad9d8338..8a2e169c0 100644 --- a/Plan/src/test/java/com/djrapitops/plan/system/BungeeSystemTest.java +++ b/Plan/src/test/java/com/djrapitops/plan/system/BungeeSystemTest.java @@ -6,7 +6,7 @@ package com.djrapitops.plan.system; import com.djrapitops.plan.PlanBungee; import com.djrapitops.plan.api.exceptions.EnableException; -import com.djrapitops.plan.system.database.BukkitDBSystem; +import com.djrapitops.plan.system.database.ServerDBSystem; import com.djrapitops.plan.system.settings.Settings; import org.junit.*; import org.junit.rules.ExpectedException; @@ -63,7 +63,7 @@ public class BungeeSystemTest { Settings.WEBSERVER_PORT.setTemporaryValue(9005); Settings.BUNGEE_IP.setTemporaryValue("8.8.8.8"); Settings.DB_TYPE.setTemporaryValue("sqlite"); - bungeeSystem.setDatabaseSystem(new BukkitDBSystem()); + bungeeSystem.setDatabaseSystem(new ServerDBSystem()); bungeeSystem.enable(); } @@ -77,7 +77,7 @@ public class BungeeSystemTest { Settings.WEBSERVER_PORT.setTemporaryValue(9005); Settings.DB_TYPE.setTemporaryValue("sqlite"); - bungeeSystem.setDatabaseSystem(new BukkitDBSystem()); + bungeeSystem.setDatabaseSystem(new ServerDBSystem()); bungeeSystem.enable(); }