Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 475e14d5

Přidáno uživatelem Pavel Fidranský před více než 6 roky(ů)

backend cleanup

Zobrazit rozdíly:

sources/src/main/java/cz/zcu/kiv/offscreen/servlets/ShowGraph.java
1 1
package cz.zcu.kiv.offscreen.servlets;
2 2

  
3
import java.io.File;
4 3
import java.io.IOException;
5
import java.util.HashMap;
6
import java.util.Map;
7 4
import javax.servlet.RequestDispatcher;
8 5
import javax.servlet.ServletException;
9
import javax.servlet.http.Cookie;
10
import javax.servlet.http.HttpServlet;
11 6
import javax.servlet.http.HttpServletRequest;
12 7
import javax.servlet.http.HttpServletResponse;
13 8

  
14
import cz.zcu.kiv.offscreen.loader.configuration.ConfigurationLoader;
15
import cz.zcu.kiv.offscreen.session.SessionManager;
16
import cz.zcu.kiv.offscreen.storage.FileManager;
17
import cz.zcu.kiv.offscreen.user.DB;
18
import cz.zcu.kiv.offscreen.user.Diagram;
19

  
20 9
/**
21 10
 *
22 11
 * @author Jindra Pavlíková <jindra.pav2@seznam.cz>
......
25 14

  
26 15
    @Override
27 16
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
28
        // should save button be displayed?
29
        Integer loggedUserId = (Integer) request.getSession().getAttribute("logged_user_id");
30
        String diagramIdStr = request.getParameter("diagramId");
31

  
32
        boolean showSaveButton  = loggedUserId != null;
33

  
34
        if (showSaveButton && diagramIdStr != null){
35
            Integer diagramId = Integer.parseInt(diagramIdStr);
36

  
37
            DB db = new DB(getServletContext());
38
            Diagram diagram = new Diagram(db, diagramId);
39

  
40
            showSaveButton = diagram.getUserId() == loggedUserId;
41
        }
42

  
43
        request.setAttribute("show_icon_save", showSaveButton);
44

  
45

  
46 17
        // render
47 18
        RequestDispatcher rd = getServletContext().getRequestDispatcher("/showGraph.jsp");
48 19
        rd.forward(request, response);
49 20
    }
50 21

  
51
    /*
52
    @Override
53
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
54

  
55
		// is it only a demo diagram?
56
		if (request.getParameter("demo_id") != null) {
57
			request.getSession().setAttribute("demo_id", request.getParameter("demo_id"));
58
		}
59

  
60
		if (request.getParameter("diagram_name") != null && request.getParameter("diagram_id") == null) {
61
			// save new diagram
62
        	String sessionValue = SessionManager.getSessionValue(request, "JSESSIONID");
63
        	String storageLocation = ConfigurationLoader.getStorageLocation(request.getServletContext());
64
			FileManager file_manage_without_id = new FileManager(sessionValue, storageLocation);
65

  
66
        	String isPublic = "0";
67
        	if (request.getParameter("public_diagram") != null && request.getParameter("public_diagram").compareTo("1") == 0) {
68
        		isPublic = "1";
69
        	}
70

  
71
			Map<String, String> item_map = new HashMap<>();
72
        	item_map.put("diagram_name", request.getParameter("diagram_name"));
73
        	item_map.put("hash", sessionValue);
74
        	item_map.put("user_id",  request.getSession().getAttribute("logged_user_id").toString());
75
        	item_map.put("component_count", Integer.toString(file_manage_without_id.getUploadedComponentsNames().size()));
76
        	item_map.put("public", isPublic);
77

  
78
			DB db = new DB(getServletContext());
79
			Diagram diagram = new Diagram(db);
80
			diagram.update(item_map);
81

  
82
            String file_directory = sessionValue + "_" + diagram.getIdStr();
83
        	FileManager file_manage = new FileManager(file_directory, storageLocation);
84
        	if (!file_manage.isExistStorage()) {
85
        		file_manage.createStorageDirectory();
86
        	}
87
        	
88
        	//copy directory to directory with postfix "_<id_diagram>"
89
        	file_manage_without_id.copyUploadedComponents(storageLocation + File.separator + file_directory);
90

  
91
        	response.sendRedirect( getServletContext().getInitParameter("HOME_URL") + "graph?diagram_id=" + diagram.getIdStr() + "&diagram_hash=" + sessionValue);
92
        	return;
93
        	
94
        } else if (request.getParameter("diagram_name") != null && request.getParameter("diagram_id") != null) {
95
        	// update existing diagram
96
        	Integer diagramId = Integer.parseInt(request.getParameter("diagram_id"));
97

  
98
        	String sessionValue = SessionManager.getSessionValue(request, "JSESSIONID");
99
        	String storageLocation = ConfigurationLoader.getStorageLocation(request.getServletContext());
100
        	
101
        	DB db = new DB(getServletContext());
102
        	Diagram diagram = new Diagram(db, diagramId);
103
            Map<String, String> diag_param = diagram.getDiagramParam(diagramId);
104

  
105
			if (request.getSession().getAttribute("logged_user_id") != null) {
106
				boolean doCopyDiagram = request.getParameter("copy_diag") != null && request.getParameter("copy_diag").compareTo("1") == 0;
107
				if (doCopyDiagram) {
108
					String diagramHash = diag_param.get("hash");
109
					String vertices_position = diag_param.get("vertices_position");
110

  
111
					FileManager copied_file_manage = new FileManager(diagramHash, storageLocation);
112
					if (!copied_file_manage.isExistStorage()) {
113
						copied_file_manage.createStorageDirectory();
114
					}
115
					copied_file_manage.copyUploadedComponents(storageLocation + File.separator + sessionValue);
116

  
117
					Map<String, String> new_item_map = new HashMap<>();
118
					new_item_map.put("diagram_name", request.getParameter("diagram_name"));
119
					new_item_map.put("hash", sessionValue);
120
					new_item_map.put("user_id", request.getSession().getAttribute("logged_user_id").toString());
121
					new_item_map.put("component_count", Integer.toString(copied_file_manage.getUploadedComponentsNames().size()));
122
					new_item_map.put("public", "0");
123
					new_item_map.put("vertices_position", vertices_position);
124

  
125
					Diagram newDiagram = new Diagram(db);
126
					newDiagram.update(new_item_map);
127

  
128
					FileManager file_manage = new FileManager(sessionValue, storageLocation);
129
					if (!file_manage.isExistStorage()) {
130
						file_manage.createStorageDirectory();
131
					}
132

  
133
					//copy directory to directory with postfix "_<id_diagram>"
134
					copied_file_manage.copyUploadedComponents(storageLocation + File.separator + sessionValue);
135

  
136
					response.sendRedirect(getServletContext().getInitParameter("HOME_URL") + "graph?diagram_id=" + newDiagram.getIdStr() + "&diagram_hash=" + sessionValue);
137
					return;
138
				}
139

  
140
				if (request.getSession().getAttribute("logged_user_id").toString().equals(diag_param.get("user_id"))) {
141
					String diagramHash = diag_param.get("hash");
142
					FileManager file_manage = new FileManager(diagramHash, storageLocation);
143

  
144
					String public_diag = "0";
145
					if (request.getParameter("public_diagram") != null && request.getParameter("public_diagram").compareTo("1") == 0) {
146
						public_diag = "1";
147
					}
148

  
149
					Map<String, String> item_map = new HashMap<>();
150
					item_map.put("component_count", Integer.toString(file_manage.getUploadedComponentsNames().size()));
151
					item_map.put("diagram_name", request.getParameter("diagram_name"));
152
					item_map.put("public", public_diag);
153

  
154
					diagram.update(item_map);
155
				}
156
			}
157

  
158
			request.getSession().setAttribute("id_diagram", request.getParameter("id_diagram"));
159
        }
160

  
161
        // render
162
		RequestDispatcher rd = getServletContext().getRequestDispatcher("/showGraph.jsp");
163
		rd.forward(request, response);
164
    }
165
    */
166 22
}
sources/src/main/java/cz/zcu/kiv/offscreen/servlets/UploadFiles.java
42 42
            }
43 43
        }
44 44

  
45
//        String diagram_id = request.getParameter("diagram_id");
46
//        if (diagram_id != null) {
47
//            Integer diagramId = Integer.parseInt(diagram_id);
48
//
49
//	        Diagram diagram_edit = new Diagram(db, diagramId);
50
//	        Map<String, String> diag_param = diagram_edit.getDiagramParam(diagramId);
51
//
52
//	        request.setAttribute("diagram_name", diag_param.get("name"));
53
//	        request.setAttribute("diagram_user_id", diag_param.get("user_id"));
54
//	        request.setAttribute("diagram_public_checked", (diag_param.get("public").compareTo("1") == 0 ? " checked=\"checked\" " : ""));
55
//        } else {
56
//        	request.setAttribute("diagram_name", "");
57
//        	request.setAttribute("diagram_public_checked", "");
58
//        	request.setAttribute("diagram_user_id", "-1");
59
//        }
60

  
61
        // initialize file manager
62
//        String workingDirectory;
63
//        if (request.getParameter("diagram_hash") == null) {
64
//            workingDirectory = SessionManager.getSessionValue(request, "JSESSIONID");
65
//        } else {
66
//            workingDirectory = request.getParameter("diagram_hash");
67
//        }
68
//
69
//        int version = 1;
70
//        workingDirectory += File.separator + String.valueOf(version);
71
//
72
//        String storageLocation = ConfigurationLoader.getStorageLocation(request.getServletContext());
73

  
74
//        FileManager fileManager = new FileManager(workingDirectory, storageLocation);
75
//        if (!fileManager.isExistStorage()) {
76
//            fileManager.createStorageDirectory();
77
//        }
78

  
79
        // save files from request
80
//        String result;
81
//        if (ServletFileUpload.isMultipartContent(request)) {
82
//            result = fileManager.saveFile(request);
83
//        } else {
84
//            result = "";
85
//        }
86

  
87
//        response.addCookie(new Cookie("graphVersion", String.valueOf(version)));
88

  
89

  
90 45
        DB db = new DB(getServletContext());
91 46
        Diagram diagram = new Diagram(db);
92 47

  
sources/src/main/webapp/showGraph.jsp
1 1
<%@page contentType="text/html" pageEncoding="UTF-8"%>
2 2
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
3
<%@page import="java.util.Map"%>
4
<%@page import="com.google.gson.Gson"%>
5
<%@page import="com.google.gson.GsonBuilder"%>
6 3

  
7 4
<!DOCTYPE html>
8 5
<html>

Také k dispozici: Unified diff