From 63b7111015c9c83702a8704556aceac5204dfd41 Mon Sep 17 00:00:00 2001 From: ulrich Date: Mon, 22 Mar 2021 18:55:35 +0000 Subject: [PATCH] Handler Objekthierarchie in Arbeit --- src/de/uhilger/avdirektor/handler/CmdHandler.java | 45 ++++++++++++++++++++++++++++++++------------- 1 files changed, 32 insertions(+), 13 deletions(-) diff --git a/src/de/uhilger/avdirektor/handler/CmdHandler.java b/src/de/uhilger/avdirektor/handler/CmdHandler.java index ac108f4..7e3193e 100644 --- a/src/de/uhilger/avdirektor/handler/CmdHandler.java +++ b/src/de/uhilger/avdirektor/handler/CmdHandler.java @@ -1,8 +1,3 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ package de.uhilger.avdirektor.handler; import com.sun.net.httpserver.HttpExchange; @@ -17,27 +12,51 @@ * * @author ulrich */ -public abstract class CmdHandler extends OMXPlayer implements HttpHandler { +public class CmdHandler extends OMXPlayer implements HttpHandler { private static final Logger logger = Logger.getLogger(CmdHandler.class.getName()); protected String cmd; + protected Map map; - public abstract void setCmd(String cmd); - + public CmdHandler(String cmd) { + this.cmd = cmd; + } + @Override public void handle(HttpExchange t) throws IOException { logger.log(Level.FINE, "RequestURI: {0}", t.getRequestURI().toString()); - Map map = getQueryMap(t); - - String antwort = this.kommando(t, cmd); + StringBuilder params = buildParams(t); + String antwort = process(t, params.toString()); + sendResponse(t, cmd, antwort); + } + + protected String process(HttpExchange t, String params) { + String antwort = this.kommando(cmd); logger.log(Level.FINE, antwort); - - String response = getResponseString(map, "cmd", antwort); + return antwort; + } + + protected StringBuilder buildParams(HttpExchange t) { + map = getQueryMap(t); + StringBuilder params = new StringBuilder(); + return params; + } + + protected void sendResponse(HttpExchange t, String cmd, String antwort) throws IOException { + String response = getResponseString(map, cmd, antwort); t.sendResponseHeaders(200, response.length()); OutputStream os = t.getResponseBody(); os.write(response.getBytes()); os.close(); } + public void setCmd(String cmd) { + this.cmd = cmd; + } + + public String getCmd(String cmd) { + return this.cmd; + } + } -- Gitblit v1.9.3