Softwareprojektmanagement/src/main/java/de/hsel/spm/baudas/web/Overview.java

59 lines
1.9 KiB
Java

package de.hsel.spm.baudas.web;
import com.google.gson.Gson;
import de.hsel.spm.baudas.analysis.WeekOverview;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.nio.charset.StandardCharsets;
import java.util.*;
/**
* @author Johannes Theiner
* @version 0.1
* @since 0.1
**/
@WebServlet("/week_overview")
public class Overview extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
req.setCharacterEncoding(StandardCharsets.UTF_8.name());
resp.setCharacterEncoding(StandardCharsets.UTF_8.name());
resp.setContentType("application/json");
PrintWriter out = resp.getWriter();
Gson gson = new Gson();
WeekOverview overview = new WeekOverview(Data.get(Data.getFiles().peek().getUuid()));
List<String> labels = new ArrayList<>();
List<String> data1 = new ArrayList<>();
List<String> data2 = new ArrayList<>();
for(Map.Entry<String, Map.Entry<Double, Integer>> entry : overview.getResult().entrySet()) {
labels.add(entry.getKey());
data1.add(entry.getValue().getKey().toString());
data2.add(entry.getValue().getValue().toString());
}
List<String> definedOrder = // define your custom order
Arrays.asList("Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
Comparator<String> comparator = Comparator.comparingInt(definedOrder::indexOf);
labels.sort(comparator);
List<List<String>> data = new ArrayList<>();
data.add(data1);
data.add(data2);
Result result = new Result(labels, data);
out.print(gson.toJson(result));
}
}