package de.uhilger.avdirektor.handler; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; import java.io.IOException; import java.io.OutputStream; import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; /** * * @author ulrich */ public class CmdHandler extends OMXPlayer implements HttpHandler { private static final Logger logger = Logger.getLogger(CmdHandler.class.getName()); protected String cmd; protected Map map; public CmdHandler(String cmd) { this.cmd = cmd; } @Override public void handle(HttpExchange t) throws IOException { logger.log(Level.FINE, "RequestURI: {0}", t.getRequestURI().toString()); 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); 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; } }