Revize 3f1f6de8
Přidáno uživatelem Pavel Fidranský před asi 6 roky(ů)
sources/imiger-core/src/main/webapp/WEB-INF/web.xml | ||
---|---|---|
53 | 53 |
<servlet-class>cz.zcu.kiv.offscreen.servlets.api.Logout</servlet-class> |
54 | 54 |
</servlet> |
55 | 55 |
<servlet> |
56 |
<servlet-name>GetDiagram</servlet-name> |
|
56 |
<servlet-name>GetDBDiagram</servlet-name>
|
|
57 | 57 |
<servlet-class>cz.zcu.kiv.offscreen.servlets.api.GetDBDiagram</servlet-class> |
58 | 58 |
</servlet> |
59 |
<servlet> |
|
60 |
<servlet-name>GetDBDiagramData</servlet-name> |
|
61 |
<servlet-class>cz.zcu.kiv.offscreen.servlets.api.GetDBDiagramData</servlet-class> |
|
62 |
</servlet> |
|
59 | 63 |
<servlet> |
60 | 64 |
<servlet-name>SaveDiagram</servlet-name> |
61 | 65 |
<servlet-class>cz.zcu.kiv.offscreen.servlets.api.SaveDiagram</servlet-class> |
... | ... | |
65 | 69 |
<servlet-class>cz.zcu.kiv.offscreen.servlets.api.RemoveDiagram</servlet-class> |
66 | 70 |
</servlet> |
67 | 71 |
<servlet> |
68 |
<servlet-name>LoadGraphData</servlet-name>
|
|
72 |
<servlet-name>GetSessionDiagram</servlet-name>
|
|
69 | 73 |
<servlet-class>cz.zcu.kiv.offscreen.servlets.api.GetSessionDiagram</servlet-class> |
70 | 74 |
</servlet> |
71 | 75 |
<servlet> |
... | ... | |
101 | 105 |
<url-pattern>/api/log-out</url-pattern> |
102 | 106 |
</servlet-mapping> |
103 | 107 |
<servlet-mapping> |
104 |
<servlet-name>GetDiagram</servlet-name> |
|
108 |
<servlet-name>GetDBDiagram</servlet-name>
|
|
105 | 109 |
<url-pattern>/api/get-diagram</url-pattern> |
106 | 110 |
</servlet-mapping> |
111 |
<servlet-mapping> |
|
112 |
<servlet-name>GetDBDiagramData</servlet-name> |
|
113 |
<url-pattern>/api/get-diagram-data</url-pattern> |
|
114 |
</servlet-mapping> |
|
107 | 115 |
<servlet-mapping> |
108 | 116 |
<servlet-name>SaveDiagram</servlet-name> |
109 | 117 |
<url-pattern>/api/save-diagram</url-pattern> |
... | ... | |
113 | 121 |
<url-pattern>/api/remove-diagram</url-pattern> |
114 | 122 |
</servlet-mapping> |
115 | 123 |
<servlet-mapping> |
116 |
<servlet-name>LoadGraphData</servlet-name>
|
|
124 |
<servlet-name>GetSessionDiagram</servlet-name>
|
|
117 | 125 |
<url-pattern>/api/load-graph-data</url-pattern> |
118 | 126 |
</servlet-mapping> |
119 | 127 |
<servlet-mapping> |
sources/imiger-core/src/main/webapp/js/uploadFilesApp.js | ||
---|---|---|
84 | 84 |
href: app.homeUrl + 'graph?diagramId=' + diagram.id, |
85 | 85 |
innerText: diagram.name, |
86 | 86 |
}), |
87 |
DOM.h('a', { |
|
88 |
href: app.homeUrl + 'api/get-diagram-data?id=' + diagram.id, |
|
89 |
download: diagram.name + '.json', |
|
90 |
class: 'button download-diagram-button', |
|
91 |
}, [ |
|
92 |
DOM.h('img', { |
|
93 |
src: 'images/button_cancel.png', |
|
94 |
alt: 'stáhnout', |
|
95 |
}), |
|
96 |
]), |
|
87 | 97 |
DOM.h('button', { |
88 | 98 |
class: 'button remove-diagram-button', |
89 | 99 |
'data-id': diagram.id, |
... | ... | |
92 | 102 |
}, [ |
93 | 103 |
DOM.h('img', { |
94 | 104 |
src: 'images/button_cancel.png', |
95 |
alt: 'Odstranit',
|
|
105 |
alt: 'odstranit',
|
|
96 | 106 |
}), |
97 | 107 |
]), |
98 | 108 |
])); |
sources/imiger-core/src/main/webapp/uploadFiles.jsp | ||
---|---|---|
90 | 90 |
<li> |
91 | 91 |
<a href="${APP_HOME_URL}graph?diagramId=${diagram.id}">${diagram.name}</a> |
92 | 92 | |
93 |
<a href="${APP_HOME_URL}api/get-diagram-data?id=${diagram.id}" download="${diagram.name}.json" class="button download-diagram-button"> |
|
94 |
<img src="images/button_cancel.png" alt="stáhnout"> |
|
95 |
</a> |
|
93 | 96 |
<button class="button remove-diagram-button" data-id="${diagram.id}" data-name="${diagram.name}"> |
94 | 97 |
<img src="images/button_cancel.png" alt="odstranit"> |
95 | 98 |
</button> |
sources/src/main/java/cz/zcu/kiv/offscreen/servlets/api/GetDBDiagramData.java | ||
---|---|---|
1 |
package cz.zcu.kiv.offscreen.servlets.api; |
|
2 | ||
3 |
import cz.zcu.kiv.offscreen.servlets.BaseServlet; |
|
4 |
import cz.zcu.kiv.offscreen.user.DB; |
|
5 |
import cz.zcu.kiv.offscreen.user.Diagram; |
|
6 |
import org.apache.commons.lang3.StringUtils; |
|
7 |
import org.apache.logging.log4j.LogManager; |
|
8 |
import org.apache.logging.log4j.Logger; |
|
9 | ||
10 |
import javax.servlet.http.HttpServletRequest; |
|
11 |
import javax.servlet.http.HttpServletResponse; |
|
12 |
import java.io.IOException; |
|
13 | ||
14 |
/** |
|
15 |
* This class is used for loading diagram's graph JSON from database. |
|
16 |
*/ |
|
17 |
public class GetDBDiagramData extends BaseServlet { |
|
18 | ||
19 |
private static final Logger logger = LogManager.getLogger(); |
|
20 | ||
21 |
@Override |
|
22 |
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { |
|
23 |
logger.debug("Processing request"); |
|
24 |
String diagramId = request.getParameter("id"); |
|
25 | ||
26 |
if (StringUtils.isBlank(diagramId)) { |
|
27 |
response.sendError(HttpServletResponse.SC_BAD_REQUEST); |
|
28 |
logger.debug("Diagram id is empty"); |
|
29 |
return; |
|
30 |
} |
|
31 | ||
32 |
DB db = new DB(getServletContext()); |
|
33 |
Diagram diagram = new Diagram(db, Integer.parseInt(diagramId)); |
|
34 | ||
35 |
if (!diagram.isPublic() && (!isLoggedIn(request) || (isLoggedIn(request) && diagram.getUserId() != getUserId(request)))) { |
|
36 |
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); |
|
37 |
logger.debug("User is unauthorized"); |
|
38 |
return; |
|
39 |
} |
|
40 | ||
41 |
String json = diagram.getDiagram().get("graph_json"); |
|
42 | ||
43 |
response.setContentType("application/json"); |
|
44 |
response.setCharacterEncoding("UTF-8"); |
|
45 |
response.setStatus(HttpServletResponse.SC_OK); |
|
46 |
response.getWriter().write(json); |
|
47 |
response.getWriter().flush(); |
|
48 |
logger.debug("Response OK"); |
|
49 |
} |
|
50 |
} |
Také k dispozici: Unified diff
re #20: add possibility to download diagram as JSON