Revize 0e3d84a4
Přidáno uživatelem Tomáš Šimandl před více než 6 roky(ů)
sources/src/main/java/cz/zcu/kiv/offscreen/servlets/LoadGraphData.java | ||
---|---|---|
40 | 40 |
String diagram_id = request.getParameter("diagramId"); |
41 | 41 |
|
42 | 42 |
if (diagram_id == null) { |
43 |
String jsonToDisplay; |
|
44 |
jsonToDisplay = (String)request.getSession().getAttribute("json_graph"); |
|
45 |
request.getSession().removeAttribute("json_graph"); |
|
43 |
response.getWriter().write(getDiagramFromSession(request)); |
|
44 |
} else { |
|
45 |
response.getWriter().write(getDiagramById(request, Integer.parseInt(diagram_id))); |
|
46 |
} |
|
47 |
|
|
48 |
} else { |
|
49 |
response.getWriter().write(getDemoDiagram(request)); |
|
50 |
} |
|
51 |
} |
|
46 | 52 |
|
47 |
if (!Strings.isNullOrEmpty(jsonToDisplay)) { |
|
48 |
GraphManager graphManager = new GraphJSONDataLoader(jsonToDisplay).LoadData(); |
|
49 |
String configLocation = ConfigurationLoader.getConfigLocation(request.getServletContext()); |
|
50 |
JSONConfigLoader configLoader = new JSONConfigLoader(graphManager, configLocation); |
|
51 |
Graph graph = graphManager.createGraph(configLoader); |
|
52 |
GraphExport export = new GraphExport(graph); |
|
53 |
JSONObject json = JSONObject.fromObject(export); |
|
53 |
private String getDiagramFromSession(HttpServletRequest request) throws IOException { |
|
54 | 54 |
|
55 |
String resultJsonString = json.toString(); |
|
55 |
String jsonToDisplay = (String)request.getSession().getAttribute("json_graph"); |
|
56 |
request.getSession().removeAttribute("json_graph"); |
|
56 | 57 |
|
57 |
response.getWriter().write(resultJsonString); |
|
58 |
} else { |
|
59 |
response.getWriter().write(""); |
|
60 |
} |
|
58 |
if (!Strings.isNullOrEmpty(jsonToDisplay)) { |
|
59 |
GraphManager graphManager = new GraphJSONDataLoader(jsonToDisplay).LoadData(); |
|
60 |
String configLocation = ConfigurationLoader.getConfigLocation(request.getServletContext()); |
|
61 |
JSONConfigLoader configLoader = new JSONConfigLoader(graphManager, configLocation); |
|
62 |
Graph graph = graphManager.createGraph(configLoader); |
|
63 |
GraphExport export = new GraphExport(graph); |
|
64 |
JSONObject json = JSONObject.fromObject(export); |
|
61 | 65 |
|
62 |
} else { |
|
63 |
Integer diagramId = Integer.parseInt(diagram_id); |
|
66 |
return json.toString(); |
|
67 |
} |
|
68 |
return ""; |
|
69 |
} |
|
64 | 70 |
|
65 |
DB db = new DB(getServletContext()); |
|
66 |
Diagram diagram = new Diagram(db, diagramId); |
|
71 |
private String getDiagramById(HttpServletRequest request, int diagramId){ |
|
67 | 72 |
|
68 |
if(!diagram.isPublic()){ |
|
73 |
DB db = new DB(getServletContext()); |
|
74 |
Diagram diagram = new Diagram(db, diagramId); |
|
69 | 75 |
|
70 |
Integer loggedUserId = (Integer) request.getSession().getAttribute("logged_user_id"); |
|
71 |
if(loggedUserId == null || diagram.getUserId() != loggedUserId) { |
|
72 |
response.getWriter().write(""); |
|
73 |
return; |
|
74 |
} |
|
75 |
} |
|
76 |
if(!diagram.isPublic()){ |
|
77 |
// Diagram is not public |
|
76 | 78 |
|
77 |
response.getWriter().write(diagram.getJsonDiagram()); |
|
79 |
Integer loggedUserId = (Integer) request.getSession().getAttribute("logged_user_id"); |
|
80 |
if(loggedUserId == null || diagram.getUserId() != loggedUserId) { |
|
81 |
return ""; // User is not logged in or is not owner of diagram |
|
78 | 82 |
} |
83 |
} |
|
79 | 84 |
|
85 |
return diagram.getJsonDiagram(); |
|
86 |
} |
|
80 | 87 |
|
81 |
} else {
|
|
82 |
String demoId = request.getSession().getAttribute("demo_id").toString();
|
|
83 |
String path = "/WEB-INF" + File.separator + "demoDiagram" + File.separator + demoId + ".json";
|
|
88 |
private String getDemoDiagram(HttpServletRequest request){
|
|
89 |
String demoId = request.getSession().getAttribute("demo_id").toString(); |
|
90 |
String path = "/WEB-INF" + File.separator + "demoDiagram" + File.separator + demoId + ".json"; |
|
84 | 91 |
|
85 |
DemoDiagramLoader loader = new DemoDiagramLoader();
|
|
86 |
InputStream in = this.getServletContext().getResourceAsStream(path);
|
|
92 |
DemoDiagramLoader loader = new DemoDiagramLoader(); |
|
93 |
InputStream in = this.getServletContext().getResourceAsStream(path); |
|
87 | 94 |
|
88 |
response.getWriter().write(loader.readDemoJSONFromFile(in));
|
|
95 |
request.getSession().setAttribute("demo_id", null);
|
|
89 | 96 |
|
90 |
request.getSession().setAttribute("demo_id", null); |
|
91 |
} |
|
97 |
return loader.readDemoJSONFromFile(in); |
|
92 | 98 |
} |
93 | 99 |
} |
Také k dispozici: Unified diff
LoadGraphData reformat