Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ plugins {

group = "igs-landstuhl"

version = "v1.1.0-SNAPSHOT-0"
version = "v2.0.0-SNAPSHOT-0"

application {
mainClass.set("de.igslandstuhl.database.Application")
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/de/igslandstuhl/database/Application.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import de.igslandstuhl.database.server.webserver.WebPath;
import de.igslandstuhl.database.server.webserver.handlers.GetRequestHandler;
import de.igslandstuhl.database.server.webserver.handlers.PostRequestHandler;
import de.igslandstuhl.database.server.webserver.handlers.get.SQLRequestHandler;
import de.igslandstuhl.database.utils.CommandLineUtils;

/**
Expand Down Expand Up @@ -110,6 +111,7 @@ public static void main(String[] args) throws Exception {

Holiday.setupCurrentSchoolYear();
PostRequestHandler.registerHandlers();
SQLRequestHandler.register();
PluginLoader.getInstance().registerPlugins();

WebPath.registerPaths();
Expand Down
10 changes: 10 additions & 0 deletions src/main/java/de/igslandstuhl/database/Registry.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,15 @@
import java.util.stream.Stream;

import de.igslandstuhl.database.client.HTMLTemplate;
import de.igslandstuhl.database.client.dynamic.DynamicFieldType;
import de.igslandstuhl.database.client.navigation.NavigationElement;
import de.igslandstuhl.database.client.navigation.NavigationType;
import de.igslandstuhl.database.plugins.Plugin;
import de.igslandstuhl.database.server.commands.Command;
import de.igslandstuhl.database.server.commands.CommandDescription;
import de.igslandstuhl.database.server.webserver.WebPath;
import de.igslandstuhl.database.server.webserver.handlers.HttpHandler;
import de.igslandstuhl.database.server.webserver.handlers.get.SQLRequestHandler;
import de.igslandstuhl.database.server.webserver.requests.APIPostRequest;
import de.igslandstuhl.database.server.webserver.requests.GetRequest;
import de.igslandstuhl.database.utils.RegistryEnum;
Expand All @@ -24,10 +26,12 @@ public class Registry<K, V> implements Closeable {
private static final Registry<String,CommandDescription> COMMAND_DESCRIPTION_REGISTRY = new Registry<>();
private static final Registry<String,HttpHandler<APIPostRequest>> POST_HANDLER_REGISTRY = new Registry<>();
private static final Registry<String,HttpHandler<GetRequest>> GET_HANDLER_REGISTRY = new Registry<>();
private static final Registry<String,SQLRequestHandler> SQL_REQUEST_HANDLER_REGISTRY = new Registry<>();
private static final Registry<String,Plugin> PLUGIN_REGISTRY = new Registry<>();
private static final Registry<String,WebPath> WEB_PATH_REGISTRY = new Registry<>();

private static final EnumRegistry<NavigationType,NavigationElement> NAVIGATION_REGISTRY = new EnumRegistry<>(NavigationType.class);
private static final EnumRegistry<DynamicFieldType,String> DYNAMIC_TEMPLATES_REGISTRY = new EnumRegistry<>(DynamicFieldType.class);
private static final Registry<String,HTMLTemplate> TEMPLATE_REGISTRY = new Registry<>();

public static Registry<String,Command> commandRegistry() {
Expand All @@ -39,6 +43,9 @@ public static Registry<String, HttpHandler<APIPostRequest>> postRequestHandlerRe
public static Registry<String, HttpHandler<GetRequest>> getRequestHandlerRegistry() {
return GET_HANDLER_REGISTRY;
}
public static Registry<String, SQLRequestHandler> sqlRequestHandlerRegistry() {
return SQL_REQUEST_HANDLER_REGISTRY;
}
public static Registry<String, Plugin> pluginRegistry() {
return PLUGIN_REGISTRY;
}
Expand All @@ -51,6 +58,9 @@ public static Registry<String, WebPath> webPathRegistry() {
public static EnumRegistry<NavigationType, NavigationElement> navigationRegistry() {
return NAVIGATION_REGISTRY;
}
public static EnumRegistry<DynamicFieldType, String> dynamicTemplatesRegistry() {
return DYNAMIC_TEMPLATES_REGISTRY;
}
public static Registry<String, HTMLTemplate> templateRegistry() {
return TEMPLATE_REGISTRY;
}
Expand Down
240 changes: 0 additions & 240 deletions src/main/java/de/igslandstuhl/database/api/Room.java

This file was deleted.

22 changes: 0 additions & 22 deletions src/main/java/de/igslandstuhl/database/api/Student.java
Original file line number Diff line number Diff line change
Expand Up @@ -87,11 +87,6 @@ public class Student extends User {
*/
private final Map<Subject, Topic> currentTopics = new ConcurrentHashMap<>();

/**
* The current room of the student.
*/
private Room currentRoom = null;

/**
* Constructs a new Student.
*
Expand Down Expand Up @@ -223,10 +218,6 @@ public static List<Student> getAll() {
.collect(Collectors.toList());
}

public static List<Student> getByRoom(Room room) {
return students.values().stream().filter((s) -> room.equals(s.getCurrentRoom())).toList();
}

/**
* Registers a new student with a password.
* This method creates a new student in the database and returns the created Student object.
Expand Down Expand Up @@ -352,18 +343,6 @@ public String getUsername() {
*/
public GraduationLevel getGraduationLevel() { return graduationLevel; }

/**
* Returns the student's current room.
* @return the current room
*/
public Room getCurrentRoom() { return currentRoom; }

/**
* Sets the student's current room.
* @param currentRoom the new room
*/
public void setCurrentRoom(Room currentRoom) { this.currentRoom = currentRoom; }

/**
* Returns the set of selected tasks.
* @return selected tasks
Expand Down Expand Up @@ -553,7 +532,6 @@ public String toJSON() {
.append("\"selectedTasks\": ").append(selectedTasks).append(",\n")
.append("\"completedTasks\": ").append(completedTasks).append(",\n")
.append("\"lockedTasks\": ").append(lockedTasks).append(",\n")
.append("\"currentRoom\": ").append(String.valueOf(currentRoom)).append(",\n")
.append("\"currentRequests\": {").append(currentRequests.entrySet().stream()
.map(entry -> "\"" + entry.getKey() + "\": " + entry.getValue().stream().map((r) -> '"' + r.getGermanTranslation() + '"').toList())
.reduce((a, b) -> a + ", " + b).orElse("")).append("},\n")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import java.util.Map;

import de.igslandstuhl.database.Registry;
import de.igslandstuhl.database.client.dynamic.DynamicFieldType;
import de.igslandstuhl.database.client.dynamic.DynamicHTMLTemplate;
import de.igslandstuhl.database.client.navigation.HTMLNavigationTemplate;
import de.igslandstuhl.database.client.navigation.NavigationAppearance;
import de.igslandstuhl.database.client.navigation.NavigationElement;
Expand All @@ -19,6 +21,7 @@ private static void register(HTMLTemplate template, String key) {
}
public static void registerAll() {
NavigationElement.registerAll();
DynamicHTMLTemplate.registerDynamicElements();
Map<String, ?> json = Server.getInstance().getResourceManager().readJsonResourceMerged(meta);
json.keySet().forEach((key) -> {
@SuppressWarnings("unchecked")
Expand All @@ -36,6 +39,9 @@ public static void registerAll() {
break;
case "HTMLNavigationTemplate":
register(new HTMLNavigationTemplate(NavigationAppearance.valueOf((String) template.get("appearance")), NavigationType.valueOf((String) template.get("navigation_type"))), key);
break;
case "DynamicHTMLTemplate":
register(new DynamicHTMLTemplate(DynamicFieldType.valueOf((String) template.get("dynamic_field_type"))), key);
default:
break;
}
Expand Down
Loading
Loading