1 | package org.apache.jsp.visualization; |
---|
2 | |
---|
3 | import javax.servlet.*; |
---|
4 | import javax.servlet.http.*; |
---|
5 | import javax.servlet.jsp.*; |
---|
6 | |
---|
7 | public final class visu_005fplateform_002dscript_jsp extends org.apache.jasper.runtime.HttpJspBase |
---|
8 | implements org.apache.jasper.runtime.JspSourceDependent { |
---|
9 | |
---|
10 | private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory(); |
---|
11 | |
---|
12 | private static java.util.List _jspx_dependants; |
---|
13 | |
---|
14 | private javax.el.ExpressionFactory _el_expressionfactory; |
---|
15 | private org.apache.AnnotationProcessor _jsp_annotationprocessor; |
---|
16 | |
---|
17 | public Object getDependants() { |
---|
18 | return _jspx_dependants; |
---|
19 | } |
---|
20 | |
---|
21 | public void _jspInit() { |
---|
22 | _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory(); |
---|
23 | _jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().getServletContext().getAttribute(org.apache.AnnotationProcessor.class.getName()); |
---|
24 | } |
---|
25 | |
---|
26 | public void _jspDestroy() { |
---|
27 | } |
---|
28 | |
---|
29 | public void _jspService(HttpServletRequest request, HttpServletResponse response) |
---|
30 | throws java.io.IOException, ServletException { |
---|
31 | |
---|
32 | PageContext pageContext = null; |
---|
33 | HttpSession session = null; |
---|
34 | ServletContext application = null; |
---|
35 | ServletConfig config = null; |
---|
36 | JspWriter out = null; |
---|
37 | Object page = this; |
---|
38 | JspWriter _jspx_out = null; |
---|
39 | PageContext _jspx_page_context = null; |
---|
40 | |
---|
41 | |
---|
42 | try { |
---|
43 | response.setContentType("text/html"); |
---|
44 | pageContext = _jspxFactory.getPageContext(this, request, response, |
---|
45 | null, true, 8192, true); |
---|
46 | _jspx_page_context = pageContext; |
---|
47 | application = pageContext.getServletContext(); |
---|
48 | config = pageContext.getServletConfig(); |
---|
49 | session = pageContext.getSession(); |
---|
50 | out = pageContext.getOut(); |
---|
51 | _jspx_out = out; |
---|
52 | |
---|
53 | out.write("<script type=\"text/javascript\">\n"); |
---|
54 | out.write("var InterfaceVisualization = Class.create({\n"); |
---|
55 | out.write("\t\n"); |
---|
56 | out.write(" initialize: function( jsonPlateforms )\n"); |
---|
57 | out.write(" {\n"); |
---|
58 | out.write(" // Values\n"); |
---|
59 | out.write(" this.parent = $(\"txt\");\n"); |
---|
60 | out.write(" this.superParent = $(\"pageContent\"); // need to resize in function of containerParameters\n"); |
---|
61 | out.write(" this.generalContainerPlateforms = $(\"generalContainerPlateforms\");\n"); |
---|
62 | out.write(" this.generalContainerParameters = $(\"generalContainerParameters\");\n"); |
---|
63 | out.write(" this.generalContainerCalendar = $(\"generalContainerCalendar\");\n"); |
---|
64 | out.write(" this.jsonPlateforms = jsonPlateforms || null;\n"); |
---|
65 | out.write("\t\tthis.selectedPlateform = false;\n"); |
---|
66 | out.write("\t\tthis.selectedParameter = false;\n"); |
---|
67 | out.write("\t\tthis.beginDate = false;\n"); |
---|
68 | out.write("\t\tthis.endDate = false;\n"); |
---|
69 | out.write("\t\tthis.notice = Dom.getContainer(\"notice\");\n"); |
---|
70 | out.write("\n"); |
---|
71 | out.write("\t\t/** *********** CONTAINERS *********** **/\n"); |
---|
72 | out.write(" \t// Create container for plateforms\n"); |
---|
73 | out.write(" \tthis.containerPlateforms = Dom.getContainer(\"containerPlateforms\");\n"); |
---|
74 | out.write("\t\tthis.containerParameters = Dom.getContainer(\"containerParameters\");\n"); |
---|
75 | out.write("\t\tthis.containerButtons = Dom.getContainer(\"containerButtons\");\n"); |
---|
76 | out.write("\t\t\n"); |
---|
77 | out.write("\t\t/** *********** LOADING *********** **/\n"); |
---|
78 | out.write(" // Create loading object for plateforms\n"); |
---|
79 | out.write(" var param = new Object();\n"); |
---|
80 | out.write(" param.id = \"loadingForPlateforms\";\n"); |
---|
81 | out.write(" param.parent = this.containerPlateforms;\n"); |
---|
82 | out.write(" this.loadingPlateforms = new Loading(param);\n"); |
---|
83 | out.write(" this.loadingPlateforms.display();\n"); |
---|
84 | out.write("\n"); |
---|
85 | out.write(" // Create loading object for parameters\n"); |
---|
86 | out.write(" var param = new Object();\n"); |
---|
87 | out.write(" param.id = \"loadingForParameters\";\n"); |
---|
88 | out.write(" param.parent = this.containerParameters;\n"); |
---|
89 | out.write(" this.loadingParameters = new Loading(param);\n"); |
---|
90 | out.write(" this.loadingParameters.display(); \n"); |
---|
91 | out.write("\n"); |
---|
92 | out.write("\t\t/** *********** BUTTONS *********** **/\n"); |
---|
93 | out.write(" this.visualizeButton = new Button({value:interfaceTexts[\"data.visualization.button.visualize\"], parent:this.containerButtons, id:\"button_visualize\", onClick:this.onClickVisualize.bind(this)});\n"); |
---|
94 | out.write(" this.visualizeButton.disable();\n"); |
---|
95 | out.write(" this.downloadButton = new Button({value:interfaceTexts[\"data.visualization.button.download\"], parent:this.containerButtons, id:\"button_download\", onClick:this.onClickDownload.bind(this)});\n"); |
---|
96 | out.write(" this.downloadButton.disable();\n"); |
---|
97 | out.write(" \n"); |
---|
98 | out.write(" this.createCalendar();\n"); |
---|
99 | out.write(" this.displayPlateforms();\n"); |
---|
100 | out.write(" },\n"); |
---|
101 | out.write(" \n"); |
---|
102 | out.write(" // REQUESTS ********************************************************\n"); |
---|
103 | out.write("\trequestParametersByPlateform: function()\n"); |
---|
104 | out.write(" {\n"); |
---|
105 | out.write(" if(this.selectedPlateform)\n"); |
---|
106 | out.write("\t\t\tnew Ajax.Request(\"visualization?methodName=searchParametersByPlateform&id=\" + this.selectedPlateform.getId(),\n"); |
---|
107 | out.write(" \t{\n"); |
---|
108 | out.write("\t onSuccess:this.handleParametersBySelectedPlateform.bind(this)\n"); |
---|
109 | out.write(" \t});\n"); |
---|
110 | out.write(" },\n"); |
---|
111 | out.write("\n"); |
---|
112 | out.write("\trequestValuesByPlateformByParameterByPeriod: function()\n"); |
---|
113 | out.write(" {\n"); |
---|
114 | out.write(" if(this.selectedPlateform)\n"); |
---|
115 | out.write("\t\t\tnew Ajax.Request(\"visualization?methodName=searchDatasByPlateformByParameterByPeriod\" +\n"); |
---|
116 | out.write("\t\t\t\t\t\"&plateformId=\" + this.selectedPlateform.getId() + \n"); |
---|
117 | out.write("\t\t\t\t\t\"¶meterId=\" + this.selectedParameter.getId() +\n"); |
---|
118 | out.write("\t\t\t\t\t\"&dateBegin=\" + this.beginDate +\n"); |
---|
119 | out.write("\t\t\t\t\t\"&dateEnd=\" + this.endDate,\n"); |
---|
120 | out.write(" \t{\n"); |
---|
121 | out.write("\t onSuccess:this.handleValuesByPlateformByParameterByPeriod.bind(this)\n"); |
---|
122 | out.write(" \t});\n"); |
---|
123 | out.write(" },\n"); |
---|
124 | out.write("\n"); |
---|
125 | out.write(" // HANDLES ********************************************************\n"); |
---|
126 | out.write(" handleParametersBySelectedPlateform: function( result )\n"); |
---|
127 | out.write(" {\n"); |
---|
128 | out.write(" this.jsonParameters = result.responseText.evalJSON().parameters;\n"); |
---|
129 | out.write(" this.displayParameters();\n"); |
---|
130 | out.write(" },\n"); |
---|
131 | out.write(" \n"); |
---|
132 | out.write(" handleValuesByPlateformByParameterByPeriod: function( result )\n"); |
---|
133 | out.write(" {\n"); |
---|
134 | out.write("//\t\tthis.notice.style.visibility = \"hidden\"; \t\n"); |
---|
135 | out.write("\n"); |
---|
136 | out.write(" this.jsonValues = result.responseText.evalJSON().values;\n"); |
---|
137 | out.write(" alert(\"values : \"+this.jsonValues.size());\n"); |
---|
138 | out.write(" },\n"); |
---|
139 | out.write("\n"); |
---|
140 | out.write(" // DISPLAYS ********************************************************\n"); |
---|
141 | out.write(" createCalendar: function()\n"); |
---|
142 | out.write(" {\n"); |
---|
143 | out.write(" \t // Embedded Calendar\n"); |
---|
144 | out.write("\t\tthis.calendar = Calendar.setup(\n"); |
---|
145 | out.write(" \t{\n"); |
---|
146 | out.write(" \t\tdateField: 'embeddedDateField',\n"); |
---|
147 | out.write(" \t endDateField: 'embeddedEndDateField',\n"); |
---|
148 | out.write(" \t parentElement: 'embeddedCalendar',\n"); |
---|
149 | out.write(" \t clickToDateField: true,\n"); |
---|
150 | out.write(" \t selectHandler: this.onClickCalendar.bind(this)\n"); |
---|
151 | out.write("\t\t})\n"); |
---|
152 | out.write(" },\n"); |
---|
153 | out.write(" \n"); |
---|
154 | out.write(" displayPlateforms: function()\n"); |
---|
155 | out.write(" {\n"); |
---|
156 | out.write(" \tthis.plateforms = new ListPlatforms(this.jsonPlateforms, new Object());\n"); |
---|
157 | out.write("\n"); |
---|
158 | out.write(" \tthis.plateforms.addOpenListener(this.onSelectPlateform.bind(this));\n"); |
---|
159 | out.write(" this.loadingPlateforms.hide();\n"); |
---|
160 | out.write(" this.plateforms.displayWithPairImpair(this.containerPlateforms, \"NoPlateform\", interfaceTexts[\"data.visualization.noPlateform\"]);\n"); |
---|
161 | out.write(" \t\t\t\n"); |
---|
162 | out.write(" // Select the first plateform by default\n"); |
---|
163 | out.write(" if( this.jsonPlateforms && this.jsonPlateforms[0] )\n"); |
---|
164 | out.write(" {\n"); |
---|
165 | out.write(" var plateformToSelect = this.plateforms.getItemById(this.jsonPlateforms[0].id);\n"); |
---|
166 | out.write(" this.onSelectPlateform(plateformToSelect.divItem);\n"); |
---|
167 | out.write(" this.selectedPlateform = plateformToSelect.divItem; \n"); |
---|
168 | out.write(" }\n"); |
---|
169 | out.write(" },\n"); |
---|
170 | out.write("\n"); |
---|
171 | out.write(" displayParameters: function()\n"); |
---|
172 | out.write(" {\n"); |
---|
173 | out.write(" \tthis.parameters = new ListParameters(this.jsonParameters, new Object());\n"); |
---|
174 | out.write(" \t\n"); |
---|
175 | out.write("\t\tthis.parameters.addOpenListener(this.onSelectParameter.bind(this));\n"); |
---|
176 | out.write(" this.loadingParameters.hide();\n"); |
---|
177 | out.write(" this.parameters.displayWithPairImpair(this.containerParameters, \"NoParameter\", interfaceTexts[\"data.visualization.noParameter\"]);\n"); |
---|
178 | out.write(" \n"); |
---|
179 | out.write(" this.resizeContainers();\n"); |
---|
180 | out.write(" },\n"); |
---|
181 | out.write(" \n"); |
---|
182 | out.write(" // EVENTS ********************************************************\n"); |
---|
183 | out.write(" onSelectPlateform: function( objPlateform )\n"); |
---|
184 | out.write(" {\n"); |
---|
185 | out.write(" if( this.selectedPlateform && objPlateform.getId() == this.selectedPlateform.getId() )\n"); |
---|
186 | out.write(" return;\n"); |
---|
187 | out.write("\n"); |
---|
188 | out.write(" // Unselect old plateform\n"); |
---|
189 | out.write(" if( this.selectedPlateform )\n"); |
---|
190 | out.write(" \tthis.selectedPlateform.unselect();\n"); |
---|
191 | out.write("\n"); |
---|
192 | out.write(" this.selectedPlateform = objPlateform;\n"); |
---|
193 | out.write(" this.selectedPlateform.select();\n"); |
---|
194 | out.write("\n"); |
---|
195 | out.write(" // Unselect old parameter\n"); |
---|
196 | out.write(" if( this.selectedParameter )\n"); |
---|
197 | out.write(" \tthis.selectedParameter = false;\n"); |
---|
198 | out.write(" \n"); |
---|
199 | out.write("\t\tthis.requestParametersByPlateform(); \n"); |
---|
200 | out.write("\t\tthis.testAllFields();\n"); |
---|
201 | out.write(" },\n"); |
---|
202 | out.write(" \n"); |
---|
203 | out.write(" onSelectParameter: function( objParameter )\n"); |
---|
204 | out.write(" {\n"); |
---|
205 | out.write(" if( this.selectedParameter && objParameter.getId() == this.selectedParameter.getId() )\n"); |
---|
206 | out.write(" return;\n"); |
---|
207 | out.write("\n"); |
---|
208 | out.write(" // Unselect old parameter\n"); |
---|
209 | out.write(" if( this.selectedParameter )\n"); |
---|
210 | out.write(" \tthis.selectedParameter.unselect();\n"); |
---|
211 | out.write("\n"); |
---|
212 | out.write(" this.selectedParameter = objParameter;\n"); |
---|
213 | out.write(" this.selectedParameter.select();\n"); |
---|
214 | out.write(" this.testAllFields();\n"); |
---|
215 | out.write(" },\n"); |
---|
216 | out.write(" \n"); |
---|
217 | out.write(" onClickCalendar: function(calendar)\n"); |
---|
218 | out.write(" {\n"); |
---|
219 | out.write("\t\tif (!calendar.dateField) return false\n"); |
---|
220 | out.write("\n"); |
---|
221 | out.write("\t\tif(calendar.clickToDateField)\n"); |
---|
222 | out.write("\t\t{\n"); |
---|
223 | out.write("\t\t\tElement.update(calendar.dateField, calendar.date.print(calendar.dateFormat))\n"); |
---|
224 | out.write("\t\t\tthis.beginDate = calendar.date.print(calendar.dateFormat);\n"); |
---|
225 | out.write("\t\t} else {\n"); |
---|
226 | out.write("\t\t\tElement.update(calendar.endDateField, calendar.date.print(calendar.dateFormat))\n"); |
---|
227 | out.write("\t\t\tthis.endDate = calendar.date.print(calendar.dateFormat);\n"); |
---|
228 | out.write("\t\t}\n"); |
---|
229 | out.write("\t\tcalendar.setClickToDateField(!calendar.clickToDateField);\n"); |
---|
230 | out.write("\t\tthis.testCalendarPeriod(calendar.dateField.innerHTML,calendar.endDateField.innerHTML);\n"); |
---|
231 | out.write("\n"); |
---|
232 | out.write("\t\t// Call the close handler, if necessary\n"); |
---|
233 | out.write("\t\tif (calendar.shouldClose) calendar.callCloseHandler()\n"); |
---|
234 | out.write(" },\n"); |
---|
235 | out.write("\n"); |
---|
236 | out.write(" onClickVisualize: function()\n"); |
---|
237 | out.write(" {\n"); |
---|
238 | out.write(" \tthis.displayLoading();\n"); |
---|
239 | out.write(" \t\tthis.requestValuesByPlateformByParameterByPeriod();\n"); |
---|
240 | out.write(" },\n"); |
---|
241 | out.write("\n"); |
---|
242 | out.write(" onClickDownload: function()\n"); |
---|
243 | out.write(" {\n"); |
---|
244 | out.write(" \tif(this.testAllFields())\n"); |
---|
245 | out.write(" \t\talert(\"ok\");\n"); |
---|
246 | out.write(" \telse\n"); |
---|
247 | out.write(" \t\talert(\"non ok\");\n"); |
---|
248 | out.write(" },\n"); |
---|
249 | out.write("\n"); |
---|
250 | out.write(" // OTHERS ********************************************************\n"); |
---|
251 | out.write(" resizeContainers: function()\n"); |
---|
252 | out.write(" {\n"); |
---|
253 | out.write(" \tvar titleSize = 85;\n"); |
---|
254 | out.write("\t\tvar parentHeight = this.superParent.offsetHeight - titleSize;\n"); |
---|
255 | out.write(" \tvar containerPlateformsHeight = this.generalContainerParameters.offsetHeight;\n"); |
---|
256 | out.write(" \tvar containerParametersHeight = this.generalContainerParameters.offsetHeight;\n"); |
---|
257 | out.write("\t\t\n"); |
---|
258 | out.write(" \tvar containerPlateforms = this.containerPlateforms.offsetHeight;\n"); |
---|
259 | out.write(" \tvar containerParameters = this.containerParameters.offsetHeight;\n"); |
---|
260 | out.write(" \tvar containerCalendarHeight = this.generalContainerCalendar.offsetHeight;\n"); |
---|
261 | out.write(" \t\n"); |
---|
262 | out.write(" \tvar maxHeight = Math.max(containerPlateforms, containerParameters, containerCalendarHeight);\n"); |
---|
263 | out.write("\n"); |
---|
264 | out.write(" \t\n"); |
---|
265 | out.write(" \tif(maxHeight > parentHeight)\n"); |
---|
266 | out.write(" \t{\n"); |
---|
267 | out.write(" \t\tthis.superParent.style.height = maxHeight + 110 + \"px\";\n"); |
---|
268 | out.write(" \tthis.generalContainerPlateforms.style.height = maxHeight + 10 + \"px\";\n"); |
---|
269 | out.write("\t this.generalContainerParameters.style.height = maxHeight + 10 + \"px\";\n"); |
---|
270 | out.write(" \t} else if(maxHeight == containerCalendarHeight) {\n"); |
---|
271 | out.write(" \t\tthis.superParent.style.height = containerCalendarHeight + titleSize + 25 + \"px\";\n"); |
---|
272 | out.write(" \tthis.generalContainerPlateforms.style.height = containerCalendarHeight + \"px\";\n"); |
---|
273 | out.write("\t this.generalContainerParameters.style.height = containerCalendarHeight + \"px\";\n"); |
---|
274 | out.write(" \t}\n"); |
---|
275 | out.write(" },\n"); |
---|
276 | out.write(" \n"); |
---|
277 | out.write("\ttestCalendarPeriod: function(beginDate, endDate)\n"); |
---|
278 | out.write("\t{\t\n"); |
---|
279 | out.write("\t\tif(!beginDate || !endDate)\n"); |
---|
280 | out.write("\t\t\treturn false;\n"); |
---|
281 | out.write("\n"); |
---|
282 | out.write("\t\tvar matchFormat = /^(\\d{4})-(\\d{2})-(\\d{2})$/i;\n"); |
---|
283 | out.write("\t\tvar testBeginDate = beginDate.match(matchFormat);\n"); |
---|
284 | out.write("\t\tvar testEndDate = endDate.match(matchFormat);\n"); |
---|
285 | out.write("\t\tif(!testEndDate || !testEndDate)\n"); |
---|
286 | out.write("\t\t\treturn;\n"); |
---|
287 | out.write("\n"); |
---|
288 | out.write("\t\tthis.resizeContainers();\n"); |
---|
289 | out.write("\n"); |
---|
290 | out.write("\t\tvar datesOk = beginDate <= endDate; \n"); |
---|
291 | out.write("\t\tif(!datesOk)\n"); |
---|
292 | out.write("\t\t\tthis.displayNotice();\n"); |
---|
293 | out.write("\t\telse\n"); |
---|
294 | out.write("\t\t\tthis.hideNotice();\n"); |
---|
295 | out.write("\t\t\n"); |
---|
296 | out.write("\t\tif(!datesOk || !this.selectedPlateform || !this.selectedParameter){\n"); |
---|
297 | out.write("\t\t\tthis.visualizeButton.disable();\n"); |
---|
298 | out.write("\t\t\tthis.downloadButton.disable();\n"); |
---|
299 | out.write("\t\t\treturn false;\n"); |
---|
300 | out.write("\t\t} else {\n"); |
---|
301 | out.write("\t\t\tthis.visualizeButton.enable();\n"); |
---|
302 | out.write(" \tthis.downloadButton.enable();\n"); |
---|
303 | out.write(" \treturn true;\n"); |
---|
304 | out.write("\t\t}\n"); |
---|
305 | out.write("\t},\n"); |
---|
306 | out.write("\t\n"); |
---|
307 | out.write("\ttestAllFields: function()\n"); |
---|
308 | out.write("\t{\n"); |
---|
309 | out.write("\t\tif(!this.selectedPlateform || !this.selectedParameter || !this.beginDate || !this.endDate)\n"); |
---|
310 | out.write("\t\t{\n"); |
---|
311 | out.write("\t\t\tthis.visualizeButton.disable();\n"); |
---|
312 | out.write("\t\t\tthis.downloadButton.disable();\n"); |
---|
313 | out.write("\t\t}\n"); |
---|
314 | out.write("\n"); |
---|
315 | out.write("\t\treturn this.testCalendarPeriod(this.beginDate, this.endDate);\n"); |
---|
316 | out.write("\t},\n"); |
---|
317 | out.write("\t\n"); |
---|
318 | out.write("\tdisplayNotice: function()\n"); |
---|
319 | out.write("\t{\n"); |
---|
320 | out.write("\t\tthis.notice.innerHTML = \" \";\n"); |
---|
321 | out.write(" \tthis.notice.removeClassName(\"loading\");\n"); |
---|
322 | out.write("\t\tthis.notice.addClassName(\"error\");\n"); |
---|
323 | out.write("\t\tthis.notice.innerHTML = interfaceTexts[\"data.visualization.Unvalid_Period\"];\n"); |
---|
324 | out.write("\t\tthis.notice.style.visibility = \"visible\";\n"); |
---|
325 | out.write("\t},\n"); |
---|
326 | out.write("\t\n"); |
---|
327 | out.write("\thideNotice: function()\n"); |
---|
328 | out.write("\t{\n"); |
---|
329 | out.write("\t\tthis.notice.innerHTML = \" \";\n"); |
---|
330 | out.write("\t\tthis.notice.style.visibility = \"hidden\";\n"); |
---|
331 | out.write("\t},\n"); |
---|
332 | out.write("\t\n"); |
---|
333 | out.write("\tdisplayLoading: function()\n"); |
---|
334 | out.write("\t{\n"); |
---|
335 | out.write("\t\tthis.notice.innerHTML = \" \";\n"); |
---|
336 | out.write(" \tthis.notice.removeClassName(\"error\");\n"); |
---|
337 | out.write("\t\tthis.notice.style.visibility = \"visible\"; \t\n"); |
---|
338 | out.write(" \tthis.notice.addClassName(\"loading\");\n"); |
---|
339 | out.write(" var image = new Element('img', {src: 'resources/icons/loading_datas.gif'});\n"); |
---|
340 | out.write(" \tthis.notice.appendChild(image);\n"); |
---|
341 | out.write("\t},\n"); |
---|
342 | out.write("\t\n"); |
---|
343 | out.write("\thideLoading: function()\n"); |
---|
344 | out.write("\t{\n"); |
---|
345 | out.write("\t\tthis.notice.innerHTML = \" \";\n"); |
---|
346 | out.write("\t}\n"); |
---|
347 | out.write("});\n"); |
---|
348 | out.write("\n"); |
---|
349 | out.write("</script>"); |
---|
350 | } catch (Throwable t) { |
---|
351 | if (!(t instanceof SkipPageException)){ |
---|
352 | out = _jspx_out; |
---|
353 | if (out != null && out.getBufferSize() != 0) |
---|
354 | try { out.clearBuffer(); } catch (java.io.IOException e) {} |
---|
355 | if (_jspx_page_context != null) _jspx_page_context.handlePageException(t); |
---|
356 | } |
---|
357 | } finally { |
---|
358 | _jspxFactory.releasePageContext(_jspx_page_context); |
---|
359 | } |
---|
360 | } |
---|
361 | } |
---|