diff --git a/build.xml b/build.xml index 27d6d8e..f4b462b 100644 --- a/build.xml +++ b/build.xml @@ -10,7 +10,7 @@ - + diff --git a/src/views/TreeView.java b/src/views/TreeView.java index 964a90c..272d427 100644 --- a/src/views/TreeView.java +++ b/src/views/TreeView.java @@ -2,92 +2,26 @@ package hsmw.jotto5.beleg.views; import hsmw.jotto5.beleg.data.Model; -import java.util.Arrays; -import java.util.ArrayList; import java.io.IOException; import java.io.OutputStream; import com.sun.net.httpserver.*; public class TreeView implements HttpHandler { - /** - * Generiert HTML-Code für einen Baum aus dem gegebenen mehrstufigen Array. - * Damit der Baum "richtig" aussieht sollte das Eingabearray zumindest gruppiert - * sein (nach den Ast-Knoten). - */ - private String makeObjectTree(String[][] data) { - String result; - ArrayList stack; - int levels; - - result = ""; - } - } - - // Jetzt gehen wir einfach so viele Stufen nach unten wie wir müssen - // Es ist jetzt garantiert dass e = stack oder e > stack - // Auch hier überspringen wir das letzte Element in e, um es nicht auszugeben - // Hilfsvariable da wir stack verändern - levels = e.length - 1 - stack.size(); - for ( int i = 0; i < levels; i++ ) { - result += "
  • " + e[stack.size() + i] + "
      "; - stack.add(e[stack.size() + i]); - } - - // Wir müssen die URL für die Bearbeitungsseite noch zusammenbauen - result += "
    • " + e[e.length - 1] + "
    • "; - } - result += "
    "; - - return result; - } - public void handle(HttpExchange t) throws IOException { String response; OutputStream os; Model m; - String[] uids; // enthält alle UIDs als String - String[][] objPaths; // enthält alle Objekt-IDs, aufgeteilt in ihre Pfadelemente - + m = Model.getModel(); - uids = m.getAllUids(); - // Array noch sortieren, da es zum Baum generieren sortiert sein muss und sich String[]s - // aus irgendeinem Grund nur SEHR schlecht sortieren lassen :( - Arrays.sort(uids); - - // Wir nutzen Javas Lambda-Notation um mit einem Mapping zu arbeiten. - // Außerdem müssen wir den Allokator überschreiben um ein Array des richtigen Typs zu bekommen, siehe - // https://stackoverflow.com/questions/52416381/how-can-i-map-over-an-array-in-java - objPaths = Arrays.stream(uids).map(uid -> uid.split("/")).toArray(size -> new String[size][]); response = Defaults.HTMLHEADER + "

    Beleg - Objektübersicht

      "; - try { response += makeObjectTree(objPaths); } catch(Exception e) { e.printStackTrace(); } - response += Defaults.HTMLFOOTER; + + for ( String s : m.getAllUids() ) { + response += "
    • " + s + "
    • "; + } + + response += "
    " + Defaults.HTMLFOOTER; os = t.getResponseBody();