Projekt

Obecné

Profil

Stáhnout (9.94 KB) Statistiky
| Větev: | Tag: | Revize:
1
<%@page contentType="text/html" pageEncoding="UTF-8"%>
2
<%@page import="cz.zcu.kiv.offscreen.graph.efp.EfpGraphicSettings"%>
3
<%@page import="org.apache.jasper.tagplugins.jstl.core.ForEach"%>
4
<%@page import="cz.zcu.kiv.comav.loaders.osgi.service.RequiredService"%>
5
<%@page import="sun.reflect.ReflectionFactory.GetReflectionFactoryAction"%>
6
<%@page import="java.util.Map"%>
7
<%@page import="com.google.gson.Gson"%>
8
<%@page import="com.google.gson.GsonBuilder"%>
9

    
10
<!DOCTYPE html>
11
<html>
12
	<head>
13
		<meta charset="utf-8">
14

    
15
		<link rel="stylesheet" href="css/main.css">
16
		<link rel="stylesheet" href="css/jstree/themes/default/style.min.css">
17

    
18
		<script id="htmlTags" type="application/json"><%@ include file="node_modules/html-tags/html-tags.json" %></script>
19
		<script id="svgTags" type="application/json"><%@ include file="node_modules/svg-tags/lib/svg-tags.json" %></script>
20

    
21
		<script src="js/libs/jquery-1.8.3.js"></script>
22
		<script src="js/libs/spin.js"></script>
23
		<script src="js/libs/saveSvgAsPng.js"></script>
24
		<script src="js/libs/jstree.min.js"></script>
25

    
26
		<script src="js/components/edge.js"></script>
27
		<script src="js/components/edgePopover.js"></script>
28
		<script src="js/components/floatingPoint.js"></script>
29
		<script src="js/components/group.js"></script>
30
		<script src="js/components/groupVertexList.js"></script>
31
		<script src="js/components/change.js"></script>
32
		<script src="js/components/changeModalWindow.js"></script>
33
		<script src="js/components/changeVertexList.js"></script>
34
		<script src="js/components/sidebar.js"></script>
35
		<script src="js/components/sidebarExcludedNodeList.js"></script>
36
		<script src="js/components/sidebarMissingComponentList.js"></script>
37
		<script src="js/components/sidebarPostponedChangeList.js"></script>
38
		<script src="js/components/sidebarUnconnectedNodeList.js"></script>
39
		<script src="js/components/statusBar.js"></script>
40
		<script src="js/components/vertex.js"></script>
41
		<script src="js/components/vertexContextMenuList.js"></script>
42
		<script src="js/components/vertexLight.js"></script>
43
		<script src="js/components/vertexPopover.js"></script>
44
		<script src="js/components/vertexSymbolList.js"></script>
45
		<script src="js/components/viewport.js"></script>
46

    
47
		<script src="js/exceptions/invalidArgumentException.js"></script>
48

    
49
		<script src="js/constants.js"></script>
50
		<script src="js/coordinates.js"></script>
51
		<script src="js/forceDirected.js"></script>
52
		<script src="js/graphLoader.js"></script>
53
		<script src="js/graphExporter.js"></script>
54
		<script src="js/graphHistory.js"></script>
55
		<script src="js/javaComponentChanger.js"></script>
56
		<script src="js/loader.js"></script>
57
		<script src="js/markSymbol.js"></script>
58
		<script src="js/utils/cookies.js"></script>
59
		<script src="js/utils/dom.js"></script>
60
		<script src="js/utils/utils.js"></script>
61
		<script src="js/zoom.js"></script>
62
		<script src="js/app.js"></script>
63

    
64
		<title>Visualization of large component diagrams</title>
65
	</head>
66

    
67
	<body>
68
		<%
69
		//String path = request.getContextPath();
70
		String getProtocol = request.getScheme();
71
		String getDomain = request.getServerName();
72
		String getPort = Integer.toString(request.getServerPort());
73
		String getPath = getProtocol+"://"+getDomain+":"+getPort+"/";
74
		String getURI = request.getRequestURI();
75

    
76
		// set graphic settings for EFP graph
77
		ServletContext context = this.getServletContext();
78
		EfpGraphicSettings efpSettings = new EfpGraphicSettings();
79

    
80
		efpSettings.setMinInterfaceDiameter(Integer.valueOf(context.getInitParameter("minInterfaceDiameter")));
81
		efpSettings.setMaxInterfaceDiameter(Integer.valueOf(context.getInitParameter("maxInterfaceDiameter")));
82

    
83
		// JSONize graph settings
84
		GsonBuilder gsonBuilder = new GsonBuilder();
85
		Gson gson = gsonBuilder.create();
86

    
87
		String efpSettingsJson = gson.toJson(efpSettings);
88

    
89
		// logged-in user
90
		boolean logged_user = false;
91
		boolean diagram_id_hash_set = false;
92
		if (request.getSession().getAttribute("logged_user") == "1"){
93
			logged_user = true;
94
		}
95

    
96
		if (request.getParameter("diagram_id")!= null && request.getParameter("diagram_hash") != null) {
97
			diagram_id_hash_set = true;
98
		}
99

    
100
		String diagram_url = "";
101
		boolean show_icon_save = true;
102
		if (logged_user && diagram_id_hash_set) {
103
			diagram_url = "?diagram_id="+ request.getParameter("diagram_id")+"&diagram_hash=" + request.getParameter("diagram_hash");
104
			show_icon_save = true;
105
		}
106

    
107
		boolean is_efp_diagram = false;
108
		if (request.getAttribute("efpPortalRefererUrl") != null) {
109
			is_efp_diagram = true;
110
		}
111
		%>
112

    
113
		<div class="wrapper">
114
			<header class="header" id="header">
115
				<img src="images/logo.png" class="header-logo" alt="logo of University of West Bohemia" title="University of West Bohemia">
116

    
117
				<h2 class="header-title">Visualization of large component diagrams</h2>
118

    
119
				<% if (!is_efp_diagram) { %>
120
					<jsp:include page="logged_user.jsp" />
121
				<% } %>
122

    
123
				<nav class="navbar" id="navigation">
124
					<ul>
125
						<li>
126
							<button class="btn zoom" id="zoomOut" title="zoom-"><img src="images/zoom_out.png" alt="zoom-"></button>
127
							<span class="zoom-value" id="zoomValue"></span>
128
							<button class="btn zoom" id="zoomIn" title="zoom+"><img src="images/zoom_in.png" alt="zoom+"></button>
129
						</li>
130
						<li>
131
							<hr class="navbar-separator">
132
						</li>
133
						<li>
134
							<input class="search-text" id="searchText" type="text" placeholder="Search components...">
135
							<button class="btn search" id="search"><img src="images/search.png" title="search" alt="search"></button>
136
							<span class="search-count" id="countOfFound" title="Count of components found">0</span>
137
						</li>
138
						<li>
139
							<hr class="navbar-separator">
140
						</li>
141
						<li>
142
							<form name="actionForm">
143
								<label for="move">
144
									<input type="radio" name="actionMove" value="move" id="move" checked>
145
									move
146
									<img class="navbar-image" src="images/move.png" alt="move">
147
								</label>
148
								<label for="remove">
149
									<input type="radio" name="actionMove" value="exclude" id="remove">
150
									exclude
151
									<img class="navbar-image" src="images/remove2.png" alt="remove">
152
								</label>
153
							</form>
154
						</li>
155
						<li>
156
							<hr class="navbar-separator">
157
						</li>
158
						<li>
159
							<button id="mostEdge" class="btn exclude-separately" title="Exclude components with the most count of edges separately.">
160
								<img src="images/excludeSeparately.png" alt="excludeSeparately">
161
							</button>
162
						</li>
163
						<li>
164
							<hr class="navbar-separator">
165
						</li>
166
						<li>
167
							<button id="vertexToGroup" class="btn exclude-to-group" title="Exclude components with the most count of edges to group.">
168
								<img src="images/package.png" alt="Exclude components to group">
169
							</button>
170
						</li>
171
						<li>
172
							<hr class="navbar-separator">
173
						</li>
174
						<li>
175
							<% if (!is_efp_diagram) { %>
176
								<a href="<%=getServletContext().getInitParameter("HOME_URL")%>upload-files<%=diagram_url%>" class="btn btn-block back-to-upload" id="view_back_to_upload" title="Back to upload"></a>
177
							<% } else { %>
178
								<a href="<%=request.getAttribute("efpPortalRefererUrl")%>" class="btn btn-block back-to-upload" id="view_back_to_upload" title="Back"></a>
179
							<% } %>
180
						</li>
181
						<li>
182
							<hr class="navbar-separator">
183
						</li>
184
						<li>
185
							<button class="btn" id="applyLayout" title="Apply layout to current graph.">
186
								<img src="images/layout_off.png" id="applyLayoutImg" alt="Apply layout to current graph.">
187
							</button>
188
						</li>
189
						<%
190
						if (request.getAttribute("efpPortalEfpNames") != null) {
191
							final Map<String, String> efpMappings = (Map<String, String>)request.getAttribute("efpPortalEfpNames");
192
							if (!efpMappings.isEmpty()) {
193
						%>
194
						<li><hr class="navbar-separator"></li>
195
						<li>
196
							<select name="EFPselector" class="EFP-selector" id="EFPselector">
197
								<option value="" selected="selected" class="option_default">none</option>
198
								<% for (Map.Entry<String, String> entry : efpMappings.entrySet()) { %>
199
									<option value="<%=entry.getValue()%>"><%=entry.getValue()%></option>
200
								<% } %>
201
							</select>
202
						</li>
203
						<%
204
							}
205
						}
206
						%>
207

    
208
						<% if (show_icon_save) { %>
209
						<li>
210
							<hr class="navbar-separator">
211
						</li>
212
						<li>
213
							<button class="btn save-diagram" id="btnSaveDiagram" title="Save diagram as PNG.">
214
								<img src="images/png_save.png" id="applyLayoutImg" alt="Save diagram as PNG.">
215
							</button>
216
						</li>
217
						<li>
218
							<hr class="navbar-separator">
219
						</li>
220
						<li>
221
							<a href="<%=getServletContext().getInitParameter("HOME_URL")%>graph?diagram_id=<%=request.getParameter("diagram_id")%>&diagram_hash=<%=request.getParameter("diagram_hash")%>" class="btn btn-block view-refresh-diagram" id="view_refresh_diagram" title="Refresh diagram"></a>
222
						</li>
223
						<li>
224
							<hr class="navbar-separator">
225
						</li>
226
						<li>
227
							<a href="<%=getServletContext().getInitParameter("HOME_URL")%>graph?diagram_id=<%=request.getParameter("diagram_id")%>&diagram_hash=<%=request.getParameter("diagram_hash")%>" class="btn btn-block view-refresh-reset-diagram" id="view_refresh_reset_diagram" onclick="reset_diagram(<%=request.getParameter("diagram_id")%>,'<%=request.getParameter("diagram_hash")%>'); return false;" title="Refresh diagram - reset position"></a>
228
						</li>
229
						<% } %>
230
					</ul>
231
				</nav>
232
			</header>
233
			
234
			<main class="graph-content" id="content"></main>
235
		</div>
236

    
237
		<div class="loader" id="loader">
238
			<div class="loader-content" id="spinLoader">
239
				<p>Loading graph...</p>
240
			</div>
241
		</div>
242

    
243
		<script>
244
		var app = new App;
245
		app.HOME_URL = '<%=getPath%>cocaex-compatibility/';
246

    
247
		$(document).ready(function() {
248
			var loaderFn;
249
			<% if (request.getAttribute("graph_json") != null) { %>
250
				loaderFn = app.efpLoader('<%=request.getAttribute("graph_json")%>', '<%=efpSettingsJson%>');
251
			<% } else { %>
252
				loaderFn = app.diagramLoader('<%=request.getParameter("diagram_id")%>', '<%=request.getParameter("diagram_hash")%>');
253
			<% } %>
254

    
255
			app.run(loaderFn);
256
		});
257
		</script>
258
	</body>
259
</html>
(6-6/7)