Projekt

Obecné

Profil

« Předchozí | Další » 

Revize a055f333

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

dropped unused servlets

Zobrazit rozdíly:

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

  
3
import java.io.File;
4
import java.io.IOException;
5
import javax.servlet.ServletException;
6
import javax.servlet.http.HttpServlet;
7
import javax.servlet.http.HttpServletRequest;
8
import javax.servlet.http.HttpServletResponse;
9

  
10
import cz.zcu.kiv.offscreen.loader.configuration.ConfigurationLoader;
11
import cz.zcu.kiv.offscreen.session.SessionManager;
12
import cz.zcu.kiv.offscreen.storage.FileManager;
13

  
14
/**
15
 * @author Jindra Pavlíková <jindra.pav2@seznam.cz>
16
 */
17
public class DeleteAllComponents extends HttpServlet {
18

  
19
    /**
20
     * Delete all components from the graph. Optionally, only components of a particular graph version set in query
21
     * parameter can be deleted. For AJAX requests, 204 NO_CONTENT status code is returned.
22
     */
23
    @Override
24
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
25
        String workingDirectory;
26
        if (request.getParameter("diagram_hash") == null) {
27
            workingDirectory = SessionManager.getSessionValue(request, "JSESSIONID");
28
        } else {
29
            workingDirectory = request.getParameter("diagram_hash");
30
        }
31

  
32
        if (request.getParameter("graphVersion") != null) {
33
            workingDirectory += File.separator + request.getParameter("graphVersion");
34
        }
35

  
36
        String storageLocation = ConfigurationLoader.getStorageLocation(request.getServletContext());
37
        
38
        FileManager fileManager = new FileManager(workingDirectory, storageLocation);
39
        fileManager.deleteAllFiles();
40

  
41
        String requestedWith = request.getHeader("X-Requested-With");
42
        if (requestedWith != null && requestedWith.equals("XMLHttpRequest")) {
43
            // AJAX request, send response
44
            response.setStatus(response.SC_NO_CONTENT);
45

  
46
        } else {
47
            request.setAttribute("componentNames", fileManager.getUploadedComponentsNames());
48

  
49
            // redirect
50
            response.sendRedirect(getServletContext().getInitParameter("HOME_URL"));
51
        }
52
    }
53
}
sources/src/main/java/cz/zcu/kiv/offscreen/servlets/actions/DeleteComponent.java
1
package cz.zcu.kiv.offscreen.servlets.actions;
2

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

  
11
import cz.zcu.kiv.offscreen.loader.configuration.ConfigurationLoader;
12
import cz.zcu.kiv.offscreen.session.SessionManager;
13
import cz.zcu.kiv.offscreen.storage.FileManager;
14
import cz.zcu.kiv.offscreen.user.DB;
15
import cz.zcu.kiv.offscreen.user.Diagram;
16

  
17
/**
18
 * @author Jindra Pavlíková <jindra.pav2@seznam.cz>
19
 */
20
public class DeleteComponent extends HttpServlet {
21

  
22
    /**
23
     * Deleted a single component from either the current graph version or the version set in query parameter. For AJAX
24
     * requests, 204 NO_CONTENT status code is returned.
25
     */
26
    @Override
27
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
28
        String workingDirectory;
29
        if (request.getParameter("diagram_hash") == null) {
30
            workingDirectory = SessionManager.getSessionValue(request, "JSESSIONID");
31
        } else {
32
            workingDirectory = request.getParameter("diagram_hash");
33
        }
34

  
35
        if (request.getParameter("graphVersion") != null) {
36
            workingDirectory += File.separator + request.getParameter("graphVersion");
37
        } else {
38
            workingDirectory += File.separator + SessionManager.getSessionValue(request, "graphVersion");
39
        }
40

  
41
        String storageLocation = ConfigurationLoader.getStorageLocation(request.getServletContext());
42

  
43
        boolean doDeleteComponent = true;
44
        String redirectUrlParams = "";
45

  
46
        if (request.getParameter("diagram_id") != null && request.getParameter("diagram_hash") != null) {
47
            Integer diagramId = Integer.parseInt(request.getParameter("id_diagram"));
48

  
49
            DB db = new DB(getServletContext());
50
            Diagram diagram = new Diagram(db, diagramId);
51
            Map<String, String> diag_param = diagram.getDiagram();
52

  
53
            if (request.getSession().getAttribute("logged_user_id") == null) {
54
        		doDeleteComponent = false;
55
            } else if (request.getSession().getAttribute("logged_user_id").toString().equals(diag_param.get("user_id"))) {
56
            	doDeleteComponent = true;
57
        	} else {
58
        		doDeleteComponent = false;
59
        	}
60

  
61
            redirectUrlParams = "?diagram_id=" + request.getParameter("diagram_id") + "&diagram_hash=" + request.getParameter("diagram_hash");
62
        }
63
        
64
        if (doDeleteComponent) {
65
	        FileManager fileManager = new FileManager(workingDirectory, storageLocation);
66
	        fileManager.deleteFile(request.getParameter("name"));
67

  
68
	        request.setAttribute("componentNames", fileManager.getUploadedComponentsNames());
69
        }
70

  
71
        String requestedWith = request.getHeader("X-Requested-With");
72
        if (requestedWith != null && requestedWith.equals("XMLHttpRequest")) {
73
            // AJAX request, send response
74
            response.setStatus(response.SC_NO_CONTENT);
75

  
76
        } else {
77
            // redirect
78
            response.sendRedirect(getServletContext().getInitParameter("HOME_URL") + redirectUrlParams);
79
        }
80
    }
81
}
sources/src/main/java/cz/zcu/kiv/offscreen/servlets/actions/DiagramEndpoint.java
1
package cz.zcu.kiv.offscreen.servlets.actions;
2

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

  
12
import cz.zcu.kiv.offscreen.loader.configuration.ConfigurationLoader;
13
import cz.zcu.kiv.offscreen.storage.FileManager;
14
import cz.zcu.kiv.offscreen.user.DB;
15
import cz.zcu.kiv.offscreen.user.Diagram;
16

  
17
public class DiagramEndpoint extends HttpServlet {
18

  
19
    /**
20
     * Returns position of components in diagram by id and hash code.
21
     */
22
    @Override
23
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
24
        // diagram ID is not set
25
        if (request.getParameter("id_diagram") == null) {
26
            response.sendError(response.SC_BAD_REQUEST);
27
            return;
28
        }
29

  
30
        Integer diagramId = Integer.parseInt(request.getParameter("diagram_id"));
31

  
32
        DB db = new DB(getServletContext());
33
        Diagram diagram = new Diagram(db, diagramId);
34
        Map<String, String> diag_param = diagram.getDiagram();
35

  
36
        // user is not owner of the diagram
37
        if (!request.getSession().getAttribute("logged_user_id").toString().equals(diag_param.get("user_id"))) {
38
            response.sendError(response.SC_UNAUTHORIZED);
39
            return;
40
        }
41

  
42
        // send response
43
        response.setContentType("application/json");
44

  
45
        PrintWriter out = response.getWriter();
46
        out.write(diag_param.get("vertices_position"));
47
        out.flush();
48
    }
49

  
50
    /**
51
     * Method saves position of component, which are send by parameter in post method.
52
     */
53
    @Override
54
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
55
        // user is not logged in
56
        if (request.getSession().getAttribute("logged_user_id") == null) {
57
            response.sendError(response.SC_UNAUTHORIZED);
58
            return;
59
        }
60

  
61
        // diagram ID is not set
62
        if (request.getParameter("id_diagram") == null) {
63
            response.sendError(response.SC_BAD_REQUEST);
64
            return;
65
        }
66

  
67
        Integer diagramId = Integer.parseInt(request.getParameter("diagram_id"));
68

  
69
        DB db = new DB(getServletContext());
70
        Diagram diagram = new Diagram(db, diagramId);
71
        Map<String, String> diag_param = diagram.getDiagram();
72

  
73
        // user is not owner of the diagram
74
        if (!request.getSession().getAttribute("logged_user_id").toString().equals(diag_param.get("user_id"))) {
75
            response.sendError(response.SC_UNAUTHORIZED);
76
            return;
77
        }
78

  
79
        String verticesPosition = request.getParameter("vertices_position");
80
        //diagram.updateVerticesPosition(verticesPosition); REMOVED FROM DATABASE
81

  
82
        // send response
83
        response.setContentType("application/json");
84

  
85
        PrintWriter out = response.getWriter();
86
        out.write(verticesPosition);
87
        out.flush();
88
    }
89

  
90
    /**
91
     * Deletes diagram from database and from file system.
92
     * Id of diagrams is loaded from get parameter in url.
93
     * In method is controlled logged user and user, who uploaded diagram.
94
     */
95
    @Override
96
    protected void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
97
        // user is not logged in
98
        if (request.getSession().getAttribute("logged_user_id") == null) {
99
            response.sendError(response.SC_UNAUTHORIZED);
100
            return;
101
        }
102

  
103
        // diagram ID is not set
104
        if (request.getParameter("id_diagram") == null) {
105
            response.sendError(response.SC_BAD_REQUEST);
106
            return;
107
        }
108

  
109
        Integer diagramId = Integer.parseInt(request.getParameter("id_diagram"));
110

  
111
        DB db = new DB(getServletContext());
112
        Diagram diagram = new Diagram(db, diagramId);
113
        Map<String, String> diag_param = diagram.getDiagram();
114

  
115
        // user is not owner of the diagram
116
        if (!request.getSession().getAttribute("logged_user_id").toString().equals(diag_param.get("user_id"))) {
117
            response.sendError(response.SC_UNAUTHORIZED);
118
            return;
119
        }
120

  
121
        String workingDirectory = diag_param.get("hash") + "_" + diag_param.get("id");
122
        String storageLocation = ConfigurationLoader.getStorageLocation(request.getServletContext());
123

  
124
        FileManager fileManager = new FileManager(workingDirectory, storageLocation);
125
        fileManager.deleteAllFiles();
126
        fileManager.deleteDirectory();
127

  
128
        diagram.delete();
129

  
130
        // send response
131
        response.setStatus(response.SC_NO_CONTENT);
132
    }
133
}
sources/src/main/java/cz/zcu/kiv/offscreen/servlets/actions/LoadLog.java
1
package cz.zcu.kiv.offscreen.servlets.actions;
2

  
3
import cz.zcu.kiv.offscreen.user.DB;
4
import cz.zcu.kiv.offscreen.user.Diagram;
5
import cz.zcu.kiv.offscreen.user.Log;
6
import cz.zcu.kiv.offscreen.user.User;
7
import net.sf.json.JSONObject;
8
import org.apache.log4j.Logger;
9

  
10
import javax.servlet.RequestDispatcher;
11
import javax.servlet.ServletException;
12
import javax.servlet.http.Cookie;
13
import javax.servlet.http.HttpServlet;
14
import javax.servlet.http.HttpServletRequest;
15
import javax.servlet.http.HttpServletResponse;
16
import java.io.IOException;
17
import java.io.PrintWriter;
18
import java.util.HashMap;
19
import java.util.List;
20
import java.util.Map;
21
import net.sf.json.JSONArray;
22

  
23
public class LoadLog extends HttpServlet {
24

  
25
    private Logger logger = Logger.getLogger(LoadLog.class);
26
    
27
    /**
28
     * Handles the HTTP
29
     * <code>GET</code> method.
30
     *
31
     * @param request servlet request
32
     * @param response servlet response
33
     * @throws ServletException if a servlet-specific error occurs
34
     * @throws IOException if an I/O error occurs
35
     */
36
    @Override
37
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
38
            throws ServletException, IOException {
39
        throw new UnsupportedOperationException();
40
    }
41
    
42
    /**
43
     * Handles the HTTP
44
     * <code>POST</code> method.
45
     *
46
     * @param request servlet request
47
     * @param response servlet response
48
     * @throws ServletException if a servlet-specific error occurs
49
     * @throws IOException if an I/O error occurs
50
     */
51
    @Override
52
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
53
            throws ServletException, IOException {
54
        logger.info("Servlet - LoadLog \t\t method - doGet \t\t Start");
55
        Object userIdStr = request.getSession().getAttribute("logged_user_id");
56
        String diagramIDStr = request.getParameter("id_diagram");
57

  
58
        response.setContentType("application/json");
59
        PrintWriter out = response.getWriter();
60
        if(diagramIDStr != null && userIdStr!=null) {
61
                int diagramID = Integer.parseInt(diagramIDStr);
62
                int userId = Integer.parseInt(userIdStr.toString());
63
                DB dbConn = new DB(getServletContext());
64
                String output = "";
65
                Log log= new Log(dbConn);
66
                List<Map<String,String>> listLogs = log.readLogs(diagramID);
67
                JSONArray o = JSONArray.fromObject(listLogs);
68
                output += o;
69
                out.write(output);
70
                logger.info("Servlet - LoadLog \t\t method - doGet \t\t return: " +o.toString());
71
            }else {
72
                logger.info("Servlet - LoadLog \t\t method - doGet \t\t diagramId or userId is null");
73
            }
74
        out.close();
75
        logger.info("Servlet - LoadLog \t\t method - doGet \t\t end");
76
    }
77
}
sources/src/main/java/cz/zcu/kiv/offscreen/servlets/actions/SaveLog.java
1
package cz.zcu.kiv.offscreen.servlets.actions;
2

  
3
import cz.zcu.kiv.offscreen.user.DB;
4
import cz.zcu.kiv.offscreen.user.Diagram;
5
import cz.zcu.kiv.offscreen.user.Log;
6
import org.apache.log4j.Logger;
7

  
8
import javax.servlet.RequestDispatcher;
9
import javax.servlet.ServletException;
10
import javax.servlet.http.HttpServlet;
11
import javax.servlet.http.HttpServletRequest;
12
import javax.servlet.http.HttpServletResponse;
13
import java.io.IOException;
14
import java.io.PrintWriter;
15
import java.util.HashMap;
16

  
17
/**
18
 * Class for save log
19
 * 
20
 * @author Marek Rasocha
21
 *
22
 */
23
public class SaveLog extends HttpServlet{
24
    private Logger logger = Logger.getLogger(SaveLog.class);
25
  
26
    
27
    /**
28
     * Method saves position of component, which are send by parameter in post method.
29
     */
30
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
31
            throws ServletException, IOException {
32
 logger.info("Servlet - SaveLog \t\t method - doPost \t\t start");
33
        //id of diagram, which will be updated
34
        String diagramIdStr  = request.getParameter("id_diagram");
35
        Object userIdStr = request.getSession().getAttribute("logged_user_id");
36
        DB db = new DB(getServletContext());
37
        PrintWriter out = response.getWriter();
38
        try{
39
            if(diagramIdStr != null && userIdStr!=null) {
40
                if (checkUserId(Integer.parseInt(diagramIdStr),Integer.parseInt(userIdStr.toString()),db)){
41
                    HashMap<String, String> log = new HashMap<String, String>();
42
                    log.put("user_name", request.getSession().getAttribute("logged_user_nick").toString());
43
                    log.put("user_id", userIdStr.toString());
44
                    log.put("id_diagram", diagramIdStr);
45
                    String event = request.getParameter("log_event");
46
                    log.put("log_event", event );
47
                    log.put("log_date_delay", request.getParameter("log_date_delay"));
48
                    log.put("change_jar", request.getParameter("change_jar"));
49
                    log.put("new_version", request.getParameter("new_version"));
50
                    if(event==null){
51
                        out.write("{\"err\":\""+ "event is null" +"\"}");
52
                    }else{
53
                        Log logDao = new Log(db);
54
                        if(logDao.createLog(log)>0){
55
                            out.write("{\"ok\":\"ok\"}");
56
                            logger.info("Servlet - SaveLog \t\t method - doPost \t\t Log created");
57
                        }else{
58
                            out.write("{\"err\":\""+ "database error " +"\"}");
59
                            logger.info("Servlet - SaveLog \t\t method - doPost \t\t error database");
60
                        }
61
                        
62
                    }
63
                    
64
                }else{
65
                    logger.info("Servlet - SaveLog \t\t method - doPost \t\t This user dont have a permisson");
66
                    out.write("{\"err\":\""+ "This user has not permission for showing the log " +"\"}");
67
                }
68
            }else{
69
                logger.info("Servlet - SaveLog \t\t method - doPost \t\t diagramId or userId is null");
70
                out.write("{\"err\":\""+ "diagramId or userId is null" +"\"}");
71
            }
72

  
73
        	
74
        }catch(NumberFormatException e){
75
        	e.printStackTrace();
76
        }catch(Exception e){
77
        	e.printStackTrace();
78
        }
79
        out.close();
80
        logger.info("Servlet - SaveLog \t\t method - doPost \t\t end");
81
    }
82

  
83
    private boolean checkUserId(int diagramID, int userId, DB db) {
84

  
85
        Diagram diag = new Diagram(db, diagramID);
86
        HashMap<String,String> param = (HashMap<String, String>) diag.getDiagram();
87
        String idStr = param.get("user_id");
88
        int id = Integer.parseInt(idStr);
89
        if (userId==0){
90
            return false;
91
        }
92
        return  id==userId ? true : false;
93
    }
94
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
95
            throws ServletException, IOException {
96
        logger.info("Servlet - SaveLog \t\t method - doPost \t\t start");
97
        //id of diagram, which will be updated
98
        String diagramIdStr  = request.getParameter("id_diagram");
99
        Object userIdStr = request.getSession().getAttribute("logged_user_id");
100
        DB db = new DB(getServletContext());
101
        PrintWriter out = response.getWriter();
102
        try{
103
            if(diagramIdStr != null && userIdStr!=null) {
104
                if (checkUserId(Integer.parseInt(diagramIdStr),Integer.parseInt(userIdStr.toString()),db)){
105
                    HashMap<String, String> log = new HashMap<String, String>();
106
                    log.put("user_name", request.getSession().getAttribute("logged_user_nick").toString());
107
                    log.put("user_id", userIdStr.toString());
108
                    log.put("id_diagram", diagramIdStr);
109
                    String event = request.getParameter("log_event");
110
                    log.put("log_event", event );
111
                    log.put("log_date_delay", request.getParameter("log_date_delay"));
112
                    log.put("change_jar", request.getParameter("change_jar"));
113
                    log.put("new_version", request.getParameter("new_version"));
114
                    if(event==null){
115
                        out.write("{\"err\":\""+ "event is null" +"\"}");
116
                    }else{
117
                        Log logDao = new Log(db);
118
                        if(logDao.createLog(log)>0){
119
                            out.write("{\"ok\":\"ok\"}");
120
                            logger.info("Servlet - SaveLog \t\t method - doPost \t\t Log created");
121
                        }else{
122
                            out.write("{\"err\":\""+ "database error " +"\"}");
123
                            logger.info("Servlet - SaveLog \t\t method - doPost \t\t error database");
124
                        }
125
                        
126
                    }
127
                    
128
                }else{
129
                    logger.info("Servlet - SaveLog \t\t method - doPost \t\t This user dont have a permisson");
130
                    out.write("{\"err\":\""+ "This user has not permission for showing the log " +"\"}");
131
                }
132
            }else{
133
                logger.info("Servlet - SaveLog \t\t method - doPost \t\t diagramId or userId is null");
134
                out.write("{\"err\":\""+ "diagramId or userId is null" +"\"}");
135
            }
136

  
137
        	
138
        }catch(NumberFormatException e){
139
        	e.printStackTrace();
140
        }catch(Exception e){
141
        	e.printStackTrace();
142
        }
143
        out.close();
144
        logger.info("Servlet - SaveLog \t\t method - doPost \t\t end");
145
    }
146
}
sources/src/main/webapp/WEB-INF/web.xml
72 72
		<servlet-name>RemoveDiagram</servlet-name>
73 73
		<servlet-class>cz.zcu.kiv.offscreen.servlets.actions.RemoveDiagram</servlet-class>
74 74
	</servlet>
75
	<servlet>
76
		<servlet-name>DeleteAllComponents</servlet-name>
77
		<servlet-class>cz.zcu.kiv.offscreen.servlets.actions.DeleteAllComponents</servlet-class>
78
	</servlet>
79
	<servlet>
80
		<servlet-name>DeleteComponent</servlet-name>
81
		<servlet-class>cz.zcu.kiv.offscreen.servlets.actions.DeleteComponent</servlet-class>
82
	</servlet>
83
	<servlet>
84
		<servlet-name>DiagramEndpoint</servlet-name>
85
		<servlet-class>cz.zcu.kiv.offscreen.servlets.actions.DiagramEndpoint</servlet-class>
86
	</servlet>
87 75
	<servlet>
88 76
		<servlet-name>LoadGraphData</servlet-name>
89 77
		<servlet-class>cz.zcu.kiv.offscreen.servlets.LoadGraphData</servlet-class>
......
120 108
		<servlet-name>RemoveDiagram</servlet-name>
121 109
		<url-pattern>/api/remove-diagram</url-pattern>
122 110
	</servlet-mapping>
123

  
124
	<servlet-mapping>
125
		<servlet-name>DeleteAllComponents</servlet-name>
126
		<url-pattern>/delete-components</url-pattern>
127
	</servlet-mapping>
128
	<servlet-mapping>
129
		<servlet-name>DeleteComponent</servlet-name>
130
		<url-pattern>/delete-component</url-pattern>
131
	</servlet-mapping>
132
	<servlet-mapping>
133
		<servlet-name>DiagramEndpoint</servlet-name>
134
		<url-pattern>/api/diagram</url-pattern>
135
	</servlet-mapping>
136 111
	<servlet-mapping>
137 112
		<servlet-name>LoadGraphData</servlet-name>
138 113
		<url-pattern>/api/graph-data</url-pattern>

Také k dispozici: Unified diff