diff --git a/pom.xml b/pom.xml index 4bdeb1f..412710c 100644 --- a/pom.xml +++ b/pom.xml @@ -1,4 +1,6 @@ - + 4.0.0 de.cubeside globalconnectionserver @@ -62,6 +64,17 @@ mariadb-java-client 3.2.0 + + de.iani.cubeside + CubesideUtilsCore + 1.16-SNAPSHOT + + + junit + junit + + + @@ -92,13 +105,16 @@ - - de.cubeside.globalserver.GlobalServer + + + de.cubeside.globalserver.GlobalServer true - + diff --git a/src/main/java/de/cubeside/globalserver/ArgsParser.java b/src/main/java/de/cubeside/globalserver/ArgsParser.java deleted file mode 100644 index 77cd9c2..0000000 --- a/src/main/java/de/cubeside/globalserver/ArgsParser.java +++ /dev/null @@ -1,150 +0,0 @@ -package de.cubeside.globalserver; - -import java.text.ParseException; -import java.util.Iterator; -import java.util.NoSuchElementException; - -public class ArgsParser implements Iterable, Iterator { - private String[] args; - - private int current; - - public ArgsParser(String[] args) { - this.args = args; - this.current = -1; - } - - public ArgsParser(String[] args, int skipParts) { - this.args = args; - this.current = -1 + skipParts; - } - - @Override - public boolean hasNext() { - return current < args.length - 1; - } - - public int remaining() { - return Math.max(args.length - 1 - current, 0); - } - - public String getAll(String def) { - ++current; - if (args.length <= current) { - return def; - } - StringBuilder sb = new StringBuilder(); - while (args.length > current) { - sb.append(args[current]); - sb.append(' '); - ++current; - } - if (sb.length() > 0) { - sb.deleteCharAt(sb.length() - 1); - } - return sb.toString(); - } - - public String seeNext(String def) { - if (args.length <= current + 1) { - return def; - } - return args[current + 1]; - } - - public String getNext(String def) { - ++current; - if (args.length <= current) { - return def; - } - return args[current]; - } - - @Override - public String next() { - return getNext(); - } - - public String getNext() { - String res = getNext(null); - if (res == null) { - throw new NoSuchElementException(); - } - return res; - } - - public int getNext(int def) { - String next = getNext(null); - if (next == null) { - return def; - } - try { - return Integer.parseInt(next); - } catch (NumberFormatException e) { - return def; - } - } - - public double getNext(double def) { - String next = getNext(null); - if (next == null) { - return def; - } - try { - return Double.parseDouble(next); - } catch (NumberFormatException e) { - return def; - } - } - - public Boolean getNext(boolean ignored) { - String next = getNext(null); - if (next == null) { - return null; - } - if (next.equalsIgnoreCase("true")) { - return Boolean.TRUE; - } else if (next.equalsIgnoreCase("false")) { - return Boolean.FALSE; - } - return null; - } - - public long getNextTimespan() throws NumberFormatException, ParseException { - String string = getNext(); - string = string.toLowerCase(); - long res = 0; - if (string.endsWith("s")) { - res += Integer.parseInt(string.substring(0, string.length() - 1)) * 1000; - } else if (string.endsWith("m")) { - res += Integer.parseInt(string.substring(0, string.length() - 1)) * 1000 * 60; - } else if (string.endsWith("h")) { - res += Integer.parseInt(string.substring(0, string.length() - 1)) * 1000 * 60 * 60; - } else if (string.endsWith("d")) { - res += Integer.parseInt(string.substring(0, string.length() - 1)) * 1000 * 60 * 60 * 24; - } else { - throw new ParseException("String doesn't end with s, m h or d", string.length() - 1); - } - return res; - } - - public long getAllTimespan() throws NumberFormatException, ParseException { - long res = 0; - while (hasNext()) { - res += getNextTimespan(); - } - return res; - } - - @Override - public Iterator iterator() { - return clone(); - } - - @Override - public ArgsParser clone() { - ArgsParser result = new ArgsParser(args); - result.current = this.current; - return result; - } -} diff --git a/src/main/java/de/cubeside/globalserver/GlobalServer.java b/src/main/java/de/cubeside/globalserver/GlobalServer.java index 0c51e73..5b5e29e 100644 --- a/src/main/java/de/cubeside/globalserver/GlobalServer.java +++ b/src/main/java/de/cubeside/globalserver/GlobalServer.java @@ -25,6 +25,7 @@ import de.cubeside.globalserver.plugin.PluginLoadException; import de.cubeside.globalserver.plugin.PluginManager; import de.cubeside.globalserver.plugin.PluginManagerWrapper; +import de.iani.cubesideutils.commands.ArgsParser; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; diff --git a/src/main/java/de/cubeside/globalserver/JLineConsole.java b/src/main/java/de/cubeside/globalserver/JLineConsole.java index fab03a0..4ff7927 100644 --- a/src/main/java/de/cubeside/globalserver/JLineConsole.java +++ b/src/main/java/de/cubeside/globalserver/JLineConsole.java @@ -1,5 +1,6 @@ package de.cubeside.globalserver; +import de.iani.cubesideutils.commands.ArgsParser; import java.io.IOException; import java.util.Collection; import java.util.List; diff --git a/src/main/java/de/cubeside/globalserver/ServerCommand.java b/src/main/java/de/cubeside/globalserver/ServerCommand.java index b42d217..61cd57b 100644 --- a/src/main/java/de/cubeside/globalserver/ServerCommand.java +++ b/src/main/java/de/cubeside/globalserver/ServerCommand.java @@ -1,5 +1,6 @@ package de.cubeside.globalserver; +import de.iani.cubesideutils.commands.ArgsParser; import java.util.Collection; public abstract class ServerCommand { diff --git a/src/main/java/de/cubeside/globalserver/command/AccountAddAllowedChannelCommand.java b/src/main/java/de/cubeside/globalserver/command/AccountAddAllowedChannelCommand.java index 6a1641d..e1cc638 100644 --- a/src/main/java/de/cubeside/globalserver/command/AccountAddAllowedChannelCommand.java +++ b/src/main/java/de/cubeside/globalserver/command/AccountAddAllowedChannelCommand.java @@ -1,9 +1,9 @@ package de.cubeside.globalserver.command; -import de.cubeside.globalserver.ArgsParser; import de.cubeside.globalserver.ClientConfig; import de.cubeside.globalserver.GlobalServer; import de.cubeside.globalserver.ServerCommand; +import de.iani.cubesideutils.commands.ArgsParser; import java.util.ArrayList; import java.util.Collection; diff --git a/src/main/java/de/cubeside/globalserver/command/AccountInfoCommand.java b/src/main/java/de/cubeside/globalserver/command/AccountInfoCommand.java index 6164388..695b09c 100644 --- a/src/main/java/de/cubeside/globalserver/command/AccountInfoCommand.java +++ b/src/main/java/de/cubeside/globalserver/command/AccountInfoCommand.java @@ -1,9 +1,9 @@ package de.cubeside.globalserver.command; -import de.cubeside.globalserver.ArgsParser; import de.cubeside.globalserver.ClientConfig; import de.cubeside.globalserver.GlobalServer; import de.cubeside.globalserver.ServerCommand; +import de.iani.cubesideutils.commands.ArgsParser; import java.util.ArrayList; import java.util.Collection; diff --git a/src/main/java/de/cubeside/globalserver/command/AccountRemoveAllowedChannelCommand.java b/src/main/java/de/cubeside/globalserver/command/AccountRemoveAllowedChannelCommand.java index 77130dc..2f7c682 100644 --- a/src/main/java/de/cubeside/globalserver/command/AccountRemoveAllowedChannelCommand.java +++ b/src/main/java/de/cubeside/globalserver/command/AccountRemoveAllowedChannelCommand.java @@ -1,9 +1,9 @@ package de.cubeside.globalserver.command; -import de.cubeside.globalserver.ArgsParser; import de.cubeside.globalserver.ClientConfig; import de.cubeside.globalserver.GlobalServer; import de.cubeside.globalserver.ServerCommand; +import de.iani.cubesideutils.commands.ArgsParser; import java.util.ArrayList; import java.util.Collection; diff --git a/src/main/java/de/cubeside/globalserver/command/AccountSetPasswordCommand.java b/src/main/java/de/cubeside/globalserver/command/AccountSetPasswordCommand.java index 293e006..ce8006f 100644 --- a/src/main/java/de/cubeside/globalserver/command/AccountSetPasswordCommand.java +++ b/src/main/java/de/cubeside/globalserver/command/AccountSetPasswordCommand.java @@ -1,9 +1,9 @@ package de.cubeside.globalserver.command; -import de.cubeside.globalserver.ArgsParser; import de.cubeside.globalserver.ClientConfig; import de.cubeside.globalserver.GlobalServer; import de.cubeside.globalserver.ServerCommand; +import de.iani.cubesideutils.commands.ArgsParser; import java.util.ArrayList; import java.util.Collection; diff --git a/src/main/java/de/cubeside/globalserver/command/AccountSetRestrictedCommand.java b/src/main/java/de/cubeside/globalserver/command/AccountSetRestrictedCommand.java index 18bb274..95f8157 100644 --- a/src/main/java/de/cubeside/globalserver/command/AccountSetRestrictedCommand.java +++ b/src/main/java/de/cubeside/globalserver/command/AccountSetRestrictedCommand.java @@ -1,9 +1,9 @@ package de.cubeside.globalserver.command; -import de.cubeside.globalserver.ArgsParser; import de.cubeside.globalserver.ClientConfig; import de.cubeside.globalserver.GlobalServer; import de.cubeside.globalserver.ServerCommand; +import de.iani.cubesideutils.commands.ArgsParser; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; diff --git a/src/main/java/de/cubeside/globalserver/command/AccountsCommand.java b/src/main/java/de/cubeside/globalserver/command/AccountsCommand.java index e674eaa..512afc8 100644 --- a/src/main/java/de/cubeside/globalserver/command/AccountsCommand.java +++ b/src/main/java/de/cubeside/globalserver/command/AccountsCommand.java @@ -1,9 +1,9 @@ package de.cubeside.globalserver.command; -import de.cubeside.globalserver.ArgsParser; import de.cubeside.globalserver.ClientConfig; import de.cubeside.globalserver.GlobalServer; import de.cubeside.globalserver.ServerCommand; +import de.iani.cubesideutils.commands.ArgsParser; import java.util.ArrayList; public class AccountsCommand extends ServerCommand { diff --git a/src/main/java/de/cubeside/globalserver/command/CreateAccountCommand.java b/src/main/java/de/cubeside/globalserver/command/CreateAccountCommand.java index 6058a2e..55fc911 100644 --- a/src/main/java/de/cubeside/globalserver/command/CreateAccountCommand.java +++ b/src/main/java/de/cubeside/globalserver/command/CreateAccountCommand.java @@ -1,8 +1,8 @@ package de.cubeside.globalserver.command; -import de.cubeside.globalserver.ArgsParser; import de.cubeside.globalserver.GlobalServer; import de.cubeside.globalserver.ServerCommand; +import de.iani.cubesideutils.commands.ArgsParser; import java.security.SecureRandom; public class CreateAccountCommand extends ServerCommand { diff --git a/src/main/java/de/cubeside/globalserver/command/HelpCommand.java b/src/main/java/de/cubeside/globalserver/command/HelpCommand.java index daba75f..6ae6da5 100644 --- a/src/main/java/de/cubeside/globalserver/command/HelpCommand.java +++ b/src/main/java/de/cubeside/globalserver/command/HelpCommand.java @@ -1,8 +1,8 @@ package de.cubeside.globalserver.command; -import de.cubeside.globalserver.ArgsParser; import de.cubeside.globalserver.GlobalServer; import de.cubeside.globalserver.ServerCommand; +import de.iani.cubesideutils.commands.ArgsParser; import java.util.Collection; public class HelpCommand extends ServerCommand { diff --git a/src/main/java/de/cubeside/globalserver/command/ListCommand.java b/src/main/java/de/cubeside/globalserver/command/ListCommand.java index a573484..7155648 100644 --- a/src/main/java/de/cubeside/globalserver/command/ListCommand.java +++ b/src/main/java/de/cubeside/globalserver/command/ListCommand.java @@ -1,10 +1,10 @@ package de.cubeside.globalserver.command; -import de.cubeside.globalserver.ArgsParser; import de.cubeside.globalserver.ClientConnection; import de.cubeside.globalserver.GlobalServer; import de.cubeside.globalserver.OnlinePlayer; import de.cubeside.globalserver.ServerCommand; +import de.iani.cubesideutils.commands.ArgsParser; import java.util.List; public class ListCommand extends ServerCommand { diff --git a/src/main/java/de/cubeside/globalserver/command/PluginsCommand.java b/src/main/java/de/cubeside/globalserver/command/PluginsCommand.java index d314124..b2719c1 100644 --- a/src/main/java/de/cubeside/globalserver/command/PluginsCommand.java +++ b/src/main/java/de/cubeside/globalserver/command/PluginsCommand.java @@ -1,9 +1,9 @@ package de.cubeside.globalserver.command; -import de.cubeside.globalserver.ArgsParser; import de.cubeside.globalserver.GlobalServer; import de.cubeside.globalserver.ServerCommand; import de.cubeside.globalserver.plugin.Plugin; +import de.iani.cubesideutils.commands.ArgsParser; import java.util.ArrayList; public class PluginsCommand extends ServerCommand { diff --git a/src/main/java/de/cubeside/globalserver/command/ServersCommand.java b/src/main/java/de/cubeside/globalserver/command/ServersCommand.java index 920c236..f996c6f 100644 --- a/src/main/java/de/cubeside/globalserver/command/ServersCommand.java +++ b/src/main/java/de/cubeside/globalserver/command/ServersCommand.java @@ -1,9 +1,9 @@ package de.cubeside.globalserver.command; -import de.cubeside.globalserver.ArgsParser; import de.cubeside.globalserver.ClientConnection; import de.cubeside.globalserver.GlobalServer; import de.cubeside.globalserver.ServerCommand; +import de.iani.cubesideutils.commands.ArgsParser; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/de/cubeside/globalserver/command/StopCommand.java b/src/main/java/de/cubeside/globalserver/command/StopCommand.java index 47212ec..d796d8b 100644 --- a/src/main/java/de/cubeside/globalserver/command/StopCommand.java +++ b/src/main/java/de/cubeside/globalserver/command/StopCommand.java @@ -1,8 +1,8 @@ package de.cubeside.globalserver.command; -import de.cubeside.globalserver.ArgsParser; import de.cubeside.globalserver.GlobalServer; import de.cubeside.globalserver.ServerCommand; +import de.iani.cubesideutils.commands.ArgsParser; public class StopCommand extends ServerCommand { public StopCommand() {