Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 0e3d84a4

Přidáno uživatelem Tomáš Šimandl před více než 6 roky(ů)

LoadGraphData reformat

Zobrazit rozdíly:

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