Merge branch 'feat/project-preperations' into 'main'

Add: Main, ClientApp, and ServerApp classes for application entry point with...

See merge request cs108-fs26/Gruppe-13!3
This commit was merged in pull request #159.
This commit is contained in:
Lars Simon Winzer
2026-03-04 14:26:54 +00:00
6 changed files with 70 additions and 3 deletions
+4 -1
View File
@@ -102,4 +102,7 @@ $RECYCLE.BIN/
*.lnk
## Jenv
.java-version
.java-version
## VSCode
.vscode
+1 -1
View File
@@ -14,7 +14,7 @@ java {
}
application {
mainClass = 'ch.unibas.dmi.dbis.cs108.example.HelloWorld'
mainClass = 'ch.unibas.dmi.dbis.cs108.casono.Main'
}
repositories {
+1 -1
View File
@@ -1,2 +1,2 @@
rootProject.name = 'example-project'
rootProject.name = 'casono'
@@ -0,0 +1,42 @@
package ch.unibas.dmi.dbis.cs108.casono;
import ch.unibas.dmi.dbis.cs108.casono.client.ClientApp;
import ch.unibas.dmi.dbis.cs108.casono.server.ServerApp;
public final class Main {
public static void main(String[] args) {
if (!isValid(args)) {
printUsage();
System.exit(1);
}
switch (args[0]) {
case "server" -> ServerApp.start(args[1]);
case "client" -> ClientApp.start(args[1]);
default -> {
printUsage();
System.exit(1);
}
}
}
private static boolean isValid(String[] args) {
if (args.length != 2) {
return false;
}
return switch (args[0]) {
case "server", "client" -> true;
default -> false;
};
}
private static void printUsage() {
System.err.println("""
Usage:
java -jar xyz.jar server <listenPort>
java -jar xyz.jar client <serverIp>:<serverPort>
""");
}
}
@@ -0,0 +1,14 @@
package ch.unibas.dmi.dbis.cs108.casono.client;
public class ClientApp {
public static void start(String arg) {
String[] parts = arg.split(":", 2);
if (parts.length != 2) {
throw new IllegalArgumentException("Address must be in format <ip>:<port>.");
}
String host = parts[0];
int port = Integer.parseInt(parts[1]);
System.out.println("You've selected the client. It will connect port " + port + " at host " + host);
}
}
@@ -0,0 +1,8 @@
package ch.unibas.dmi.dbis.cs108.casono.server;
public class ServerApp {
public static void start(String arg) {
int port = Integer.parseInt(arg);
System.out.println("You've selected the server. It will accept connections at port " + port);
}
}