From be5ecb9cc081b3c8a2e94df5ce11c1f66b84981c Mon Sep 17 00:00:00 2001 From: Finn Date: Sun, 18 Jan 2026 22:55:58 +0100 Subject: [PATCH] Added StopCommand --- .../webserver/Main.java | 12 +++++++---- .../webserver/commands/StopCommand.java | 21 +++++++++++++++++++ 2 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 src/main/java/org/openautonomousconnection/webserver/commands/StopCommand.java diff --git a/src/main/java/org/openautonomousconnection/webserver/Main.java b/src/main/java/org/openautonomousconnection/webserver/Main.java index 7a72580..25efb27 100644 --- a/src/main/java/org/openautonomousconnection/webserver/Main.java +++ b/src/main/java/org/openautonomousconnection/webserver/Main.java @@ -10,14 +10,16 @@ import lombok.Getter; import org.openautonomousconnection.protocol.ProtocolBridge; import org.openautonomousconnection.protocol.ProtocolValues; import org.openautonomousconnection.protocol.versions.ProtocolVersion; +import org.openautonomousconnection.webserver.commands.StopCommand; -import javax.annotation.processing.Generated; import java.io.File; import java.util.Scanner; public class Main { - private static final CommandPermission PERMISSION_ALL = new CommandPermission("all", 1); - private static final CommandExecutor commandExecutor = new CommandExecutor("DNS", PERMISSION_ALL) {}; + public static final CommandPermission PERMISSION_ALL = new CommandPermission("all", 1); + private static final CommandExecutor commandExecutor = new CommandExecutor("WebServer", PERMISSION_ALL) {}; + + @Getter private static CommandManager commandManager; @Getter @@ -68,11 +70,13 @@ public class Main { protocolBridge.getProtocolServer().getNetwork().start(); commandManager = new CommandManager(values.eventManager); + commandManager.registerCommand(StopCommand.class); + Scanner scanner = new Scanner(System.in); while (true) { + System.out.print(commandExecutor.getName() + "> "); String line = scanner.nextLine(); - System.out.println(commandExecutor.getName() + "> "); commandManager.execute(commandExecutor, line); } diff --git a/src/main/java/org/openautonomousconnection/webserver/commands/StopCommand.java b/src/main/java/org/openautonomousconnection/webserver/commands/StopCommand.java new file mode 100644 index 0000000..05b0869 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/webserver/commands/StopCommand.java @@ -0,0 +1,21 @@ +package org.openautonomousconnection.webserver.commands; + +import dev.unlegitdqrk.unlegitlibrary.command.Command; +import dev.unlegitdqrk.unlegitlibrary.command.CommandExecutor; +import org.openautonomousconnection.webserver.Main; + +import javax.management.InstanceAlreadyExistsException; +import java.util.ArrayList; +import java.util.Collections; + +public class StopCommand extends Command { + + public StopCommand() throws InstanceAlreadyExistsException { + super(Main.getCommandManager(), "stop", "Stop the Server", "stop", Collections.singletonList(Main.PERMISSION_ALL), new ArrayList<>()); + } + + @Override + public void execute(CommandExecutor commandExecutor, String s, String[] strings) { + System.exit(0); + } +}