2 ================================================================================
4 ================================================================================
5 Copyright (C) 2017 AT&T Intellectual Property
6 ================================================================================
7 Licensed under the Apache License, Version 2.0 (the "License");
8 you may not use this file except in compliance with the License.
9 You may obtain a copy of the License at
11 http://www.apache.org/licenses/LICENSE-2.0
13 Unless required by applicable law or agreed to in writing, software
14 distributed under the License is distributed on an "AS IS" BASIS,
15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 See the License for the specific language governing permissions and
17 limitations under the License.
18 ================================================================================
20 <%@ page import="org.openecomp.portalsdk.analytics.xmlobj.DataColumnType" %>
21 <%@ page import="org.openecomp.portalsdk.analytics.util.AppConstants" %>
22 <%@ page import="org.openecomp.portalsdk.analytics.model.definition.ReportDefinition" %>
23 <%@ page import="org.openecomp.portalsdk.analytics.system.AppUtils" %>
24 <%@ page import="org.openecomp.portalsdk.analytics.controller.WizardSequence" %>
25 <%@ page import="java.util.List" %>
26 <%@ page import="java.util.Iterator" %>
27 <%@page import="org.openecomp.portalsdk.analytics.xmlobj.ReportMap"%>
29 ReportDefinition rdef = (ReportDefinition) request.getAttribute(AppConstants.SI_REPORT_DEFINITION);
30 WizardSequence ws = rdef.getWizardSequence();
31 boolean isCrossTab = rdef.getReportType().equals(AppConstants.RT_CROSSTAB);
32 boolean isSQLBased = rdef.getReportDefType().equals(AppConstants.RD_SQL_BASED);
33 ReportMap repMap = rdef.getReportMap();
34 String addressColumn = "";
35 String latColumn = "";
36 String longColumn = "";
37 String legendColumn = "";
38 String colorColumn = "";
39 String dataColumn = "";
40 String isMapAllowed = "";
41 String addAddress = "N";
42 String useDefaultSize = "";
46 int reportMapSize = 0;
48 if (repMap.getAddressColumn() != null)
49 addressColumn = repMap.getAddressColumn();
51 if (repMap.getDataColumn() != null)
52 dataColumn = repMap.getDataColumn();
53 if (repMap.getIsMapAllowedYN() != null)
54 isMapAllowed = repMap.getIsMapAllowedYN();
55 if (repMap.getAddAddressInDataYN() != null)
56 addAddress = repMap.getAddAddressInDataYN();
57 if (repMap.getLatColumn() != null)
58 latColumn = repMap.getLatColumn();
59 if (repMap.getLongColumn() != null)
60 longColumn = repMap.getLongColumn();
61 if (repMap.getColorColumn() != null)
62 colorColumn = repMap.getColorColumn();
63 if (repMap.getLegendColumn() != null)
64 legendColumn = repMap.getLegendColumn();
65 if (repMap.getUseDefaultSize() != null)
66 useDefaultSize = repMap.getUseDefaultSize();
67 if (repMap.getHeight() != null)
68 height = repMap.getHeight();
69 if (repMap.getWidth() != null)
70 width = repMap.getWidth();
72 reportMapSize = repMap.getMarkers().size();
76 <%@page import="org.openecomp.portalsdk.analytics.xmlobj.Marker"%>
79 function enable_text(status)
82 document.forma.height.disabled = status;
83 document.forma.width.disabled = status;
86 function isNumberKey(evt)
89 if (document.forma.useDefaultSize.checked==true)
91 document.forma.height.disabled = status;
92 document.forma.width.disabled = status;
96 var charCode = (evt.which) ? evt.which : event.keyCode
97 if (charCode > 31 && (charCode < 48 || charCode > 57))
104 function checkValue()
107 if (document.forma.isMapAllowed.checked==false)
111 if (document.forma.useDefaultSize.checked==true)
115 if ((document.forma.height.value < 1) )
117 alert(document.forma.height.name + ' can not be zero');
118 document.forma.height.focus(); return false;
120 if ((document.forma.width.value < 1) )
122 alert(document.forma.width.name + ' can not be zero');
123 document.forma.width.focus(); return false;
129 <table class=mTAB width="100%" class="tableBorder" border="0" cellspacing="1" cellpadding="3" align=center>
131 <td class=rbg1 colspan=8 valign="Middle"><b class=rtableheader>Step <%= ws.getCurrentStepIndex() %> of <%= ws.getStepCount() %> - Report <%= ws.getCurrentStep() %></b></td>
137 <td align="left" width="10%">Map Enabled ?</td>
139 <input id = "isMapAllowed" name="isMapAllowed" type="checkbox" value="Y" <%if(isMapAllowed != null && isMapAllowed.equals("Y")){ %> checked <%} %>/>
144 <td align="left" width="10%">Default Size ?</td>
146 <input id = "useDefaultSize" name="useDefaultSize" type="checkbox"
147 onclick="enable_text(this.checked)"
148 value="Y" <%if(useDefaultSize != null && useDefaultSize.equals("Y")){ %> checked <%} %>/>
151 <td align="left" width="10%">Height </td>
153 <input id = "height" name="height" onkeypress="return isNumberKey(event)" type="textbox" value="<%=height%> " />
155 <input id = "dummy" name=""dummy" type="textbox" visible="false" />
157 <input type="hidden" name="checkbox" value="checked">
160 <td align="left" width="10%">Width </td>
162 <input id = "width" name="width" onkeypress="return isNumberKey(event)" type="textbox" value="<%=width%> " />
164 <td colspan="2"> </td>
169 <td align="left" width="10%">Lat Column</td>
171 <select name="latColumn">
172 <option value=""> --Select-- </option>
175 List reportCols = rdef.getAllColumns();
176 Iterator iter = reportCols.iterator();
177 for(; iter.hasNext(); iCount++) {
178 DataColumnType dct = (DataColumnType) iter.next();
180 <option value="<%= dct.getColId() %>" <%if(latColumn.equals(dct.getColId())){ %> selected <%}%> ><%= dct.getDisplayName() %></option>
189 <td align="left" width="10%">Long Column</td>
191 <select name="longColumn">
192 <option value=""> --Select-- </option>
195 iter = reportCols.iterator();
196 for(; iter.hasNext(); iCount++) {
197 DataColumnType dct = (DataColumnType) iter.next();
199 <option value="<%= dct.getColId() %>" <%if(longColumn.equals(dct.getColId())){ %> selected <%}%> ><%= dct.getDisplayName() %></option>
207 <td align="left" width="10%">Color Column</td>
209 <select name="colorColumn">
210 <option value=""> --Select-- </option>
213 iter = reportCols.iterator();
214 for(; iter.hasNext(); iCount++) {
215 DataColumnType dct = (DataColumnType) iter.next();
217 <option value="<%= dct.getColId() %>" <%if(colorColumn.equals(dct.getColId())){ %> selected <%}%> ><%= dct.getDisplayName() %></option>
225 <td align="left" width="10%">Legend Column</td>
227 <select name="legendColumn">
228 <option value=""> --Select-- </option>
231 iter = reportCols.iterator();
232 for(; iter.hasNext(); iCount++) {
233 DataColumnType dct = (DataColumnType) iter.next();
235 <option value="<%= dct.getColId() %>" <%if(legendColumn.equals(dct.getColId())){ %> selected <%}%> ><%= dct.getDisplayName() %></option>
246 <td align="left" width="10%"> </td>
248 <input type="button" value="Add Marker Details" onclick="javascript:createClicked();"/>
251 <input type="hidden" name="markerCount" id="markerCount" value="<%=reportMapSize%>" />
252 <tr style="display:none;" id="cloneableRow">
254 <td align="left" width="10%">Data Header </td>
256 <input type="text" name="dataHeader" value="" />
259 <td align="left" width="10%">Display Column</td>
261 <select name="dataColumn">
262 <option value=""> --Select-- </option>
265 iter = reportCols.iterator();
266 for(; iter.hasNext(); iCount++) {
267 DataColumnType dct = (DataColumnType) iter.next();
269 <option value="<%= dct.getColId() %>" <%if(dataColumn.equals(dct.getColId())){ %> selected <%}%> ><%= dct.getDisplayName() %></option>
278 <img onclick="javascript:deleteRow(this);" height="12" alt="Remove" width="12" src="<%=AppUtils.getImgFolderURL()%>deleteicon.gif" border="0" value="" />
280 <td colspan="3"> </td>
284 <% for (int i = 1; repMap != null && i < repMap.getMarkers().size(); i ++){
285 Marker marker = (Marker) repMap.getMarkers().get(i);
288 <td align="left" width="10%">Data Header</td>
290 <input type="text" name="dataHeader<%=i%>" value="<%=marker.getDataHeader()%>" />
293 <td align="left" width="10%">Display Column</td>
295 <select name="dataColumn<%=i%>">
296 <option value=""> --Select-- </option>
299 iter = reportCols.iterator();
300 for(; iter.hasNext(); iCount++) {
301 DataColumnType dct = (DataColumnType) iter.next();
303 <option value="<%= dct.getColId() %>" <%if(marker.getDataColumn().equals(dct.getColId())){ %> selected <%}%> ><%= dct.getDisplayName() %></option>
312 <img onclick="javascript:deleteRow(this);" height="12" alt="Remove" width="12" src="<%=AppUtils.getImgFolderURL()%>deleteicon.gif" border="0" value="" />
314 <td colspan="3"> </td>
325 function createClicked() {
326 var alreadyEditable = "New";
328 var row = document.getElementById('cloneableRow');
329 var newR = duplicateRowByIndex(row, 0);
330 var tbl = getParentTable(newR);
332 if (document.all.markerCount != null || document.all.markerCount.value != ""){
333 editIndex = document.all.markerCount.value;
335 if (tbl.rows.length%2 == 0){
336 newR.className="alternateRow";
338 for (var xx = 0; xx < newR.cells.length; xx ++){
339 for (var yy=0; yy < newR.cells[xx].childNodes.length; yy++){
340 if (newR.cells[xx].childNodes[yy] != null
341 && newR.cells[xx].childNodes[yy].name){
342 newR.cells[xx].childNodes[yy].name = "" + newR.cells[xx].childNodes[yy].name + editIndex;
343 newR.cells[xx].childNodes[yy].id = newR.cells[xx].childNodes[yy].name ;
347 editIndex = parseInt(editIndex) + parseInt(1);
348 document.all.markerCount.value = editIndex;
349 newR.style.display = "block";
350 //document.getElementById('scrollableTable').scrollTop =0;
354 function deleteRow(item){
355 var row = getParentRow(item);
356 var tab = getParentTable(row);
357 tab.deleteRow(row.rowIndex);
361 duplicateRowByIndex = function()
363 if(arguments.length == 0 ) { return };
365 var tbl = getParentTable(pRow);
366 var newRowIndex = 1 ;
367 if(arguments[1] && parseInt(arguments[1]) != NaN )
369 newRowIndex = parseInt(arguments[1]);
370 if(newRowIndex == 0 ){ newRowIndex = tbl.rows.length - 1 ; }
373 if(pRow == null) { return ; }
375 var newRow = oldRow.cloneNode(true);
376 if (arguments[1] == 0){
377 oldRow.parentNode.insertBefore(newRow, oldRow.nextSibling);
380 oldRow.parentNode.insertBefore(newRow, tbl.rows[newRowIndex]);
386 function getParentRow(cell)
388 var pNode = cell.parentNode;
389 for( var xx = 0 ; xx < 10 ; xx++)
391 if(pNode.cells) { return pNode;}
392 else { pNode = pNode.parentNode; }
394 alert("Unable to find parent row"); return false;
397 function getParentTable(row)
399 var pNode = row.parentNode;
400 for( var xx = 0 ; xx < 10 ; xx++)
403 if(pNode.rows && (pNode.tagName == "TABLE" || pNode.tagName == "table")) {return pNode;}
404 else { pNode = pNode.parentNode; }
406 alert("Unable to find parent table"); return false;
411 function dataValidate() {
422 private String nvl(String s) { return (s==null)?"":s; }
423 private String nvl(String s, String sDefault) { return nvl(s).equals("")?sDefault:s; }