package core.webui.server.handlers.internals; import java.io.IOException; import java.util.HashMap; import java.util.Map; import org.apache.http.HttpException; import org.apache.http.HttpRequest; import org.apache.http.HttpStatus; import org.apache.http.nio.protocol.HttpAsyncExchange; import org.apache.http.protocol.HttpContext; import core.userDefinedTask.TaskGroup; import core.webui.server.handlers.AbstractSingleMethodHttpHandler; import core.webui.server.handlers.AbstractUIHttpHandler; import core.webui.server.handlers.renderedobjects.ObjectRenderer; import core.webui.server.handlers.renderedobjects.RenderedTaskGroupButton; import core.webui.webcommon.HttpServerUtilities; public class GetRenderedTaskGroupsDropdown extends AbstractUIHttpHandler { public GetRenderedTaskGroupsDropdown(ObjectRenderer objectRenderer) { super(objectRenderer, AbstractSingleMethodHttpHandler.GET_METHOD); } @Override protected Void handleAllowedRequestWithBackend(HttpRequest request, HttpAsyncExchange exchange, HttpContext context) throws HttpException, IOException { Map<String, Object> data = new HashMap<>(); TaskGroup group = backEndHolder.getCurrentTaskGroup(); data.put("taskGroup", RenderedTaskGroupButton.fromTaskGroups(group, backEndHolder.getTaskGroups())); String page = objectRenderer.render("fragments/task_groups_dropdown", data); if (page == null) { return HttpServerUtilities.prepareHttpResponse(exchange, 500, "Failed to render page."); } return HttpServerUtilities.prepareHttpResponse(exchange, HttpStatus.SC_OK, page); } }