Fix: Parsing of Server Responses for Client Chat

This commit is contained in:
Mathis Ginkel
2026-04-08 23:06:25 +02:00
parent 4e7b0ab67a
commit c0c9225d42
17 changed files with 196 additions and 93 deletions
@@ -27,7 +27,9 @@ public class ChatApplication extends Application {
// TODO login UI
coreClient.login(username);
ChatController chatController = new ChatController(username, clientService);
fxmlLoader.setControllerFactory(type -> {
ChatBoxController chatBoxController = new ChatBoxController(username, chatController);
fxmlLoader.setController(chatBoxController);
/*fxmlLoader.setControllerFactory(type -> {
if (type == ChatBoxController.class) {
return chatController.getChatBoxController();
} else {
@@ -37,7 +39,7 @@ public class ChatApplication extends Application {
throw new RuntimeException(e);
}
}
});
});*/
Scene scene = new Scene(fxmlLoader.load(), SCENE_WIDTH, SCENE_HEIGHT);
stage.setTitle("Chat");
@@ -1,11 +1,43 @@
package ch.unibas.dmi.dbis.cs108.casono.client.chat;
import ch.unibas.dmi.dbis.cs108.casono.client.network.ClientService;
import ch.unibas.dmi.dbis.cs108.casono.server.network.command.parsing.RequestParameter;
import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import java.util.List;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class ChatTest {
@Test
public void chatTest() {
List<String> list = new ArrayList<String>();
list.add("COUNT=19199");
list.add("TEXT='test \\' test'");
list.add("TEXT='%/§§%&&/%=%$/%))==/?``*\\'\\'**\\'\\'§?'");
list.add("TEXT='Hello World'");
list.add("NUMBER=-56887387394898392849");
List<RequestParameter> newList = ClientService.convertToRequestParameters(list);
RequestParameter par0 = newList.get(0);
assertEquals("COUNT", par0.key());
assertEquals("19199", par0.value());
RequestParameter par1 = newList.get(1);
assertEquals("TEXT", par1.key());
assertEquals("test ' test", par1.value());
RequestParameter par2 = newList.get(2);
assertEquals("TEXT", par2.key());
assertEquals("%/§§%&&/%=%$/%))==/?``*''**''§?", par2.value());
RequestParameter par4 = newList.get(4);
assertEquals("NUMBER", par4.key());
assertEquals("-56887387394898392849", par4.value());
}
}