76dd83ed72d4ccb51ddd3f67e8bfda124a521dd2
[portal/sdk.git] /
1 /*
2  * ============LICENSE_START==========================================
3  * ONAP Portal SDK
4  * ===================================================================
5  * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6  * ===================================================================
7  *
8  * Unless otherwise specified, all software contained herein is licensed
9  * under the Apache License, Version 2.0 (the "License");
10  * you may not use this software except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  *             http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  *
21  * Unless otherwise specified, all documentation contained herein is licensed
22  * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
23  * you may not use this documentation except in compliance with the License.
24  * You may obtain a copy of the License at
25  *
26  *             https://creativecommons.org/licenses/by/4.0/
27  *
28  * Unless required by applicable law or agreed to in writing, documentation
29  * distributed under the License is distributed on an "AS IS" BASIS,
30  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31  * See the License for the specific language governing permissions and
32  * limitations under the License.
33  *
34  * ============LICENSE_END============================================
35  *
36  * 
37  */
38 package org.onap.portalsdk.analytics.xmlobj;
39
40 import static org.mockito.Mockito.mock;
41 import static org.mockito.Mockito.when;
42
43 import java.awt.Color;
44 import java.awt.Font;
45 import java.io.File;
46 import java.sql.Connection;
47 import java.sql.ResultSet;
48 import java.sql.ResultSetMetaData;
49 import java.sql.Statement;
50 import java.util.ArrayList;
51 import java.util.HashMap;
52 import java.util.List;
53 import java.util.TreeMap;
54 import java.util.Vector;
55
56 import javax.servlet.ServletContext;
57 import javax.servlet.http.HttpServletRequest;
58 import javax.servlet.http.HttpServletResponse;
59
60 import org.junit.Before;
61 import org.junit.Ignore;
62 import org.junit.Test;
63 import org.junit.runner.RunWith;
64 import org.mockito.Matchers;
65 import org.mockito.Mock;
66 import org.mockito.Mockito;
67 import org.mockito.MockitoAnnotations;
68 import org.onap.portalsdk.analytics.model.DataCache;
69 import org.onap.portalsdk.analytics.model.ReportHandler;
70 import org.onap.portalsdk.analytics.model.ReportLoader;
71 import org.onap.portalsdk.analytics.model.base.ReportWrapper;
72 import org.onap.portalsdk.analytics.model.definition.ReportDefinition;
73 import org.onap.portalsdk.analytics.model.pdf.PdfReportHandler;
74 import org.onap.portalsdk.analytics.model.runtime.ReportParamValues;
75 import org.onap.portalsdk.analytics.model.runtime.ReportRuntime;
76 import org.onap.portalsdk.analytics.system.AppUtils;
77 import org.onap.portalsdk.analytics.system.ConnectionUtils;
78 import org.onap.portalsdk.analytics.system.DbUtils;
79 import org.onap.portalsdk.analytics.system.Globals;
80 import org.onap.portalsdk.analytics.util.AppConstants;
81 import org.onap.portalsdk.analytics.util.DataSet;
82 import org.onap.portalsdk.analytics.util.HtmlStripper;
83 import org.onap.portalsdk.analytics.util.Utils;
84 import org.onap.portalsdk.analytics.util.XSSFilter;
85 import org.onap.portalsdk.analytics.view.ColumnHeader;
86 import org.onap.portalsdk.analytics.view.ColumnHeaderRow;
87 import org.onap.portalsdk.analytics.view.DataRow;
88 import org.onap.portalsdk.analytics.view.DataValue;
89 import org.onap.portalsdk.analytics.view.HtmlFormatter;
90 import org.onap.portalsdk.analytics.view.ReportColumnHeaderRows;
91 import org.onap.portalsdk.analytics.view.ReportData;
92 import org.onap.portalsdk.analytics.view.ReportDataRows;
93 import org.onap.portalsdk.analytics.view.ReportRowHeaderCols;
94 import org.onap.portalsdk.analytics.view.RowHeader;
95 import org.onap.portalsdk.analytics.view.RowHeaderCol;
96 import org.onap.portalsdk.core.util.SecurityCodecUtil;
97 import org.onap.portalsdk.core.web.support.UserUtils;
98 import org.owasp.esapi.ESAPI;
99 import org.owasp.esapi.codecs.Codec;
100 import org.powermock.api.mockito.PowerMockito;
101 import org.powermock.core.classloader.annotations.PrepareForTest;
102 import org.powermock.modules.junit4.PowerMockRunner;
103
104 import com.lowagie.text.Document;
105 import com.lowagie.text.Image;
106 import com.lowagie.text.Rectangle;
107
108 @RunWith(PowerMockRunner.class)
109 @PrepareForTest({ PdfReportHandler.class, PdfReportHandlerTest.class, AppConstants.class, Globals.class, AppUtils.class,
110                 ReportWrapper.class, DataCache.class, DbUtils.class, DataSet.class, Font.class, ReportLoader.class,
111                 ReportRuntime.class, Utils.class, ESAPI.class, Codec.class, SecurityCodecUtil.class, ConnectionUtils.class,
112                 XSSFilter.class, ReportDefinition.class, UserUtils.class, Color.class })
113 public class PdfReportHandlerTest {
114
115         PdfReportHandler pdfReportHandler = new PdfReportHandler();
116         @Mock
117         ReportHandler reportHandler;
118         @Mock
119         ReportDefinition rdef;
120
121         @Before
122         public void init() throws Exception {
123                 PowerMockito.mockStatic(Globals.class);
124                 PowerMockito.mockStatic(AppUtils.class);
125                 PowerMockito.mockStatic(DbUtils.class);
126                 MockitoAnnotations.initMocks(this);
127         }
128
129         MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
130         HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
131         HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
132
133         @Ignore
134         @SuppressWarnings({ "rawtypes", "unchecked" })
135         @Test
136         public void createPdfFileContentTest() throws Exception {
137                 Document doc = mock(Document.class);
138                 PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc);
139                 PowerMockito.when(doc.newPage()).thenReturn(true);
140                 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
141                 ReportRuntime rr = mock(ReportRuntime.class);
142                 ReportData rd = mock(ReportData.class);
143                 when(Globals.isCoverPageNeeded()).thenReturn(true);
144                 when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1");
145                 when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1");
146                 when(rr.isPDFCoverPage()).thenReturn(true);
147                 when(rr.getReportID()).thenReturn("test");
148                 when(rr.getPDFOrientation()).thenReturn("portait");
149                 when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr);
150                 when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test");
151                 ServletContext servConxt = mock(ServletContext.class);
152                 when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt);
153                 when(servConxt.getRealPath(File.separator)).thenReturn("testpath");
154                 when(rr.getChartType()).thenReturn("test");
155                 when(rr.getDisplayChart()).thenReturn(true);
156                 ArrayList paramNamePDFValues = new ArrayList();
157                 paramNamePDFValues.add("test1");
158                 paramNamePDFValues.add("test2");
159                 when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues);
160                 when(rr.getFormFieldComments(mockedRequest)).thenReturn("test");
161                 TreeMap values = new TreeMap<>();
162                 values.put("test", rr);
163                 TreeMap values2 = new TreeMap<>();
164                 values2.put("test3", rd);
165                 TreeMap values3 = new TreeMap<>();
166                 values3.put("test4", "c");
167                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values);
168                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2);
169                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3);
170                 pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3);
171         }
172
173         @Ignore
174         @SuppressWarnings({ "rawtypes", "unchecked" })
175         @Test
176         public void createPdfFileContentIfNotDashBoardTest() throws Exception {
177                 PowerMockito.mockStatic(Color.class);
178                 PowerMockito.mockStatic(AppConstants.class);
179                 PowerMockito.mockStatic(Globals.class);
180                 PowerMockito.mockStatic(DbUtils.class);
181                 PowerMockito.mockStatic(ConnectionUtils.class);
182
183                 ReportRuntime rr = mock(ReportRuntime.class);
184                 ReportData rd = mock(ReportData.class);
185                 ReportDataRows rdr = new ReportDataRows();
186                 CustomReportType crType = mock(CustomReportType.class);
187                 Connection conn = mock(Connection.class);
188                 Statement st = mock(Statement.class);
189                 ResultSet resSet = mock(ResultSet.class);
190                 ResultSetMetaData resSetMD = mock(ResultSetMetaData.class);
191                 DataRow dr = new DataRow();
192                 rdr.add(dr);
193                 rd.reportDataRows = rdr;
194                 when(rr.getCustomReport()).thenReturn(crType);
195                 when(rr.getReportDefType()).thenReturn(AppConstants.RD_SQL_BASED);
196                 when(crType.getReportType()).thenReturn("Linear");
197                 when(Globals.getDataTableHeaderFontColor()).thenReturn("black");
198
199                 DataSourceList dataSourceList = new DataSourceList();
200
201                 List<DataSourceType> list = new ArrayList<>();
202                 DataSourceType dataSourceType = new DataSourceType();
203                 dataSourceType.setTableName("test");
204                 dataSourceType.setRefTableId("1");
205                 dataSourceType.setTableId("1");
206                 List<DataColumnType> dataColumnTypeList = new ArrayList<>();
207                 DataColumnType dataColumnType = new DataColumnType();
208                 dataColumnType.setChartGroup("test");
209                 dataColumnType.setYAxis("test");
210                 dataColumnType.setColName("[test");
211                 dataColumnType.setColOnChart("LEGEND");
212                 dataColumnType.setDisplayName("chart_total");
213                 dataColumnType.setColId("1");
214                 dataColumnType.setTableId("1");
215                 dataColumnType.setColType("DATE");
216                 dataColumnType.setCrossTabValue("ROW");
217                 dataColumnType.setPdfDisplayWidthInPxls("0.0");
218                 dataColumnType.setVisible(true);
219                 dataColumnType.setCalculated(true);
220                 dataColumnTypeList.add(dataColumnType);
221                 DataColumnType dataColumnType1 = new DataColumnType();
222                 dataColumnType1.setCrossTabValue("COLUMN");
223                 dataColumnType1.setColId("1");
224                 dataColumnType1.setVisible(true);
225                 dataColumnType1.setPdfDisplayWidthInPxls("1.0");
226                 dataColumnTypeList.add(dataColumnType1);
227
228                 DataColumnList dataColumnList = new DataColumnList();
229                 dataColumnList.dataColumn = dataColumnTypeList;
230                 dataSourceType.setDataColumnList(dataColumnList);
231                 list.add(dataSourceType);
232                 dataSourceList.dataSource = list;
233                 when(crType.getDataSourceList()).thenReturn(dataSourceList);
234
235                 when(ConnectionUtils.getConnection(Matchers.anyString())).thenReturn(conn);
236                 when(conn.createStatement()).thenReturn(st);
237                 when(st.executeQuery(Matchers.anyString())).thenReturn(resSet);
238                 when(resSet.getMetaData()).thenReturn(resSetMD);
239
240                 when(mockedRequest.getParameter("parent")).thenReturn("parent_test");
241                 when(mockedRequest.getSession().getAttribute("parent_test_rr")).thenReturn(rr);
242                 when(mockedRequest.getSession().getAttribute("parent_test_rd")).thenReturn(rd);
243
244                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
245                 when(mockedRequest.getSession().getAttribute(AppConstants.RI_REPORT_DATA)).thenReturn(rd);
246                 when(mockedRequest.getAttribute(AppConstants.RI_REPORT_SQL_WHOLE)).thenReturn("test_sql_whole");
247                 when(rd.getTotalColumnCount()).thenReturn(2);
248                 ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows();
249                 ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow();
250                 ColumnHeader columnHeader = new ColumnHeader();
251                 columnHeaderRow.add(columnHeader);
252                 reportColumnHeaderRows.add(columnHeaderRow);
253                 rd.reportColumnHeaderRows = reportColumnHeaderRows;
254
255                 ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols();
256                 RowHeaderCol rowHeaderCol = new RowHeaderCol();
257                 RowHeader rowHeader = new RowHeader();
258                 rowHeader.setRowTitle("test");
259                 rowHeaderCol.add(rowHeader);
260                 RowHeaderCol rowHeaderCol1 = new RowHeaderCol();
261                 RowHeader rowHeader1 = new RowHeader();
262                 rowHeader1.setRowTitle("test1");
263                 rowHeaderCol1.add(rowHeader1);
264                 reportRowHeaderCols.addRowHeaderCol(rowHeaderCol);
265                 reportRowHeaderCols.addRowHeaderCol(rowHeaderCol1);
266                 rd.reportRowHeaderCols = reportRowHeaderCols;
267
268                 when(mockedRequest.getParameter(AppConstants.RI_ACTION)).thenReturn("report.edit");
269                 when(mockedRequest.getParameter(AppConstants.RI_WIZARD_ACTION)).thenReturn("test");
270                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
271                 Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
272                 DataSet datset = PowerMockito.mock(DataSet.class);
273                 when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
274                 when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
275
276                 Document doc = mock(Document.class);
277                 PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc);
278                 PowerMockito.when(doc.newPage()).thenReturn(true);
279                 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
280                 when(Globals.isCoverPageNeeded()).thenReturn(true);
281                 when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1");
282                 when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1");
283                 when(rr.isPDFCoverPage()).thenReturn(true);
284                 when(rr.getReportID()).thenReturn("test");
285                 when(rr.getPDFOrientation()).thenReturn("portait");
286                 when(rr.getReportType()).thenReturn(AppConstants.RT_LINEAR);
287                 ServletContext servConxt = mock(ServletContext.class);
288                 when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt);
289                 when(servConxt.getRealPath(File.separator)).thenReturn("testpath");
290                 when(rr.getChartType()).thenReturn("test");
291                 when(rr.getDisplayChart()).thenReturn(true);
292                 ArrayList paramNamePDFValues = new ArrayList();
293                 paramNamePDFValues.add("test1");
294                 paramNamePDFValues.add("test2");
295                 when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 1)).thenReturn(paramNamePDFValues);
296                 when(rr.getFormFieldComments(mockedRequest)).thenReturn("test");
297                 TreeMap values = new TreeMap<>();
298                 values.put("test", rr);
299                 TreeMap values2 = new TreeMap<>();
300                 values2.put("test3", rd);
301                 TreeMap values3 = new TreeMap<>();
302                 values3.put("test4", "c");
303                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values);
304                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2);
305                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3);
306                 pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3);
307         }
308
309         @Ignore
310         @SuppressWarnings({ "rawtypes", "unchecked" })
311         @Test
312         public void createPdfFileContentIfNotDashBoardAndTypeTwoTest() throws Exception {
313                 PowerMockito.mockStatic(Color.class);
314                 PowerMockito.mockStatic(AppConstants.class);
315                 PowerMockito.mockStatic(Globals.class);
316                 PowerMockito.mockStatic(DbUtils.class);
317                 PowerMockito.mockStatic(Font.class);
318                 PowerMockito.mockStatic(ConnectionUtils.class);
319                 HtmlStripper htmlStr = mock(HtmlStripper.class);
320                 PowerMockito.whenNew(HtmlStripper.class).withNoArguments().thenReturn(htmlStr);
321                 when(htmlStr.stripHtml(Matchers.anyString())).thenReturn("test");
322                 ReportRuntime rr = mock(ReportRuntime.class);
323                 ReportData rd = mock(ReportData.class);
324                 ReportDataRows rdr = new ReportDataRows();
325                 CustomReportType crType = mock(CustomReportType.class);
326                 Connection conn = mock(Connection.class);
327                 Statement st = mock(Statement.class);
328                 ResultSet resSet = mock(ResultSet.class);
329                 ResultSetMetaData resSetMD = mock(ResultSetMetaData.class);
330                 DataRow dr = new DataRow();
331                 rdr.add(dr);
332                 rd.reportDataRows = rdr;
333                 when(rr.getCustomReport()).thenReturn(crType);
334                 when(rr.getReportDefType()).thenReturn(AppConstants.RD_SQL_BASED);
335                 when(crType.getReportType()).thenReturn("Linear");
336                 when(Globals.getDataTableHeaderFontColor()).thenReturn("black");
337
338                 DataSourceList dataSourceList = new DataSourceList();
339
340                 List<DataSourceType> list = new ArrayList<>();
341                 DataSourceType dataSourceType = new DataSourceType();
342                 dataSourceType.setTableName("test");
343                 dataSourceType.setRefTableId("1");
344                 dataSourceType.setTableId("1");
345                 List<DataColumnType> dataColumnTypeList = new ArrayList<>();
346                 DataColumnType dataColumnType = new DataColumnType();
347                 dataColumnType.setChartGroup("test");
348                 dataColumnType.setYAxis("test");
349                 dataColumnType.setColName("[test");
350                 dataColumnType.setColOnChart("LEGEND");
351                 dataColumnType.setDisplayName("chart_total");
352                 dataColumnType.setColId("1");
353                 dataColumnType.setTableId("1");
354                 dataColumnType.setColType("DATE");
355                 dataColumnType.setCrossTabValue("ROW");
356                 dataColumnType.setPdfDisplayWidthInPxls("0.0");
357                 dataColumnType.setVisible(true);
358                 dataColumnType.setCalculated(true);
359                 dataColumnTypeList.add(dataColumnType);
360                 DataColumnType dataColumnType1 = new DataColumnType();
361                 dataColumnType1.setCrossTabValue("COLUMN");
362                 dataColumnType1.setColId("1");
363                 dataColumnType1.setVisible(true);
364                 dataColumnType1.setPdfDisplayWidthInPxls("1.0");
365                 dataColumnTypeList.add(dataColumnType1);
366
367                 DataColumnList dataColumnList = new DataColumnList();
368                 dataColumnList.dataColumn = dataColumnTypeList;
369                 dataSourceType.setDataColumnList(dataColumnList);
370                 list.add(dataSourceType);
371                 dataSourceList.dataSource = list;
372                 when(crType.getDataSourceList()).thenReturn(dataSourceList);
373
374                 when(ConnectionUtils.getConnection(Matchers.anyString())).thenReturn(conn);
375                 when(conn.createStatement()).thenReturn(st);
376                 when(st.executeQuery(Matchers.anyString())).thenReturn(resSet);
377                 when(resSet.getMetaData()).thenReturn(resSetMD);
378
379                 when(mockedRequest.getParameter("parent")).thenReturn("parent_test");
380                 when(mockedRequest.getSession().getAttribute("parent_test_rr")).thenReturn(rr);
381                 when(mockedRequest.getSession().getAttribute("parent_test_rd")).thenReturn(rd);
382
383                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
384                 when(mockedRequest.getSession().getAttribute(AppConstants.RI_REPORT_DATA)).thenReturn(rd);
385                 when(mockedRequest.getAttribute(AppConstants.RI_REPORT_SQL_WHOLE)).thenReturn("test_sql_whole");
386                 when(rd.getTotalColumnCount()).thenReturn(2);
387                 ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows();
388                 ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow();
389                 ColumnHeader columnHeader = new ColumnHeader();
390                 columnHeaderRow.add(columnHeader);
391                 reportColumnHeaderRows.add(columnHeaderRow);
392                 rd.reportColumnHeaderRows = reportColumnHeaderRows;
393
394                 ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols();
395                 rd.reportRowHeaderCols = reportRowHeaderCols;
396
397                 when(mockedRequest.getParameter(AppConstants.RI_ACTION)).thenReturn("report.edit");
398                 when(mockedRequest.getParameter(AppConstants.RI_WIZARD_ACTION)).thenReturn("test");
399                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).thenReturn(rr);
400                 Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
401                 DataSet datset = PowerMockito.mock(DataSet.class);
402                 when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
403                 when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
404
405                 Document doc = mock(Document.class);
406                 PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc);
407                 PowerMockito.when(doc.newPage()).thenReturn(true);
408                 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
409                 when(Globals.isCoverPageNeeded()).thenReturn(true);
410                 when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1");
411                 when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1");
412                 when(rr.isPDFCoverPage()).thenReturn(true);
413                 when(rr.getReportID()).thenReturn("test");
414                 when(rr.getPDFOrientation()).thenReturn("portait");
415                 when(rr.getReportType()).thenReturn(AppConstants.RT_LINEAR);
416                 ServletContext servConxt = mock(ServletContext.class);
417                 when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt);
418                 when(servConxt.getRealPath(File.separator)).thenReturn("testpath");
419                 when(rr.getChartType()).thenReturn("test");
420                 when(rr.getDisplayChart()).thenReturn(true);
421                 ArrayList paramNamePDFValues = new ArrayList();
422                 paramNamePDFValues.add("test1");
423                 paramNamePDFValues.add("test2");
424                 when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 1)).thenReturn(paramNamePDFValues);
425                 when(rr.getFormFieldComments(mockedRequest)).thenReturn("test");
426                 TreeMap values = new TreeMap<>();
427                 values.put("test", rr);
428                 TreeMap values2 = new TreeMap<>();
429                 values2.put("test3", rd);
430                 TreeMap values3 = new TreeMap<>();
431                 values3.put("test4", "c");
432                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values);
433                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2);
434                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3);
435                 pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 2);
436         }
437
438         @SuppressWarnings({ "rawtypes", "unchecked", "static-access" })
439         @Test
440         public void createPdfFileContent2Test() throws Exception {
441                 PowerMockito.mockStatic(Image.class);
442                 Document doc = mock(Document.class);
443                 CustomReportType crType = mock(CustomReportType.class);
444
445                 DataSet ds = mock(DataSet.class);
446                 PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc);
447                 PowerMockito.when(doc.newPage()).thenReturn(true);
448                 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
449                 ReportRuntime rr = mock(ReportRuntime.class);
450                 ReportData rd = mock(ReportData.class);
451                 when(Globals.isCoverPageNeeded()).thenReturn(true);
452                 when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1");
453                 when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1");
454                 when(rr.isPDFCoverPage()).thenReturn(true);
455                 when(rr.getReportID()).thenReturn("test");
456                 when(rr.getPDFOrientation()).thenReturn("portait");
457                 when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieOrder")).thenReturn("row");
458                 when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieLabelDisplay")).thenReturn("test");
459                 when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D");
460                 when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr);
461                 when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test");
462                 ServletContext servConxt = mock(ServletContext.class);
463                 when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt);
464                 when(servConxt.getRealPath(File.separator)).thenReturn("testpath");
465                 when(rr.getChartType()).thenReturn(AppConstants.GT_PIE_MULTIPLE);
466                 when(rr.getDisplayChart()).thenReturn(true);
467                 ArrayList paramNamePDFValues = new ArrayList();
468                 paramNamePDFValues.add("test1");
469                 paramNamePDFValues.add("test2");
470                 when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues);
471                 when(rr.getFormFieldComments(mockedRequest)).thenReturn("test");
472                 when(rr.getLegendPosition()).thenReturn("test");
473                 when(rr.hideChartToolTips()).thenReturn(true);
474                 when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y");
475                 when(rr.getLegendLabelAngle()).thenReturn("test");
476                 when(rr.getMaxLabelsInDomainAxis()).thenReturn("test");
477                 when(rr.getRangeAxisLowerLimit()).thenReturn("10");
478                 when(rr.getRangeAxisUpperLimit()).thenReturn("10");
479                 when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y");
480                 List chartGroups = new ArrayList<>();
481                 when(rr.getAllChartGroups()).thenReturn(chartGroups);
482                 ReportParamValues reportValues = new ReportParamValues();
483                 when(rr.getReportParamValues()).thenReturn(reportValues);
484                 when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test");
485                 when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test");
486                 HashMap requestParams = new HashMap<>();
487                 requestParams.put("", "test");
488
489                 DataSourceList dataSourceList = new DataSourceList();
490
491                 List<DataSourceType> list = new ArrayList<>();
492                 DataSourceType dataSourceType = new DataSourceType();
493                 dataSourceType.setTableName("test");
494                 dataSourceType.setRefTableId("1");
495                 dataSourceType.setTableId("1");
496                 List<DataColumnType> dataColumnTypeList = new ArrayList<>();
497                 DataColumnType dataColumnType = new DataColumnType();
498                 dataColumnType.setChartGroup("test");
499                 dataColumnType.setYAxis("test");
500                 dataColumnType.setColName("[test");
501                 dataColumnType.setColOnChart("LEGEND");
502                 dataColumnType.setDisplayName("chart_total");
503                 dataColumnType.setColId("1");
504                 dataColumnType.setTableId("1");
505                 dataColumnType.setDependsOnFormField("test");
506                 dataColumnType.setColType("DATE");
507                 dataColumnType.setCrossTabValue("ROW");
508                 dataColumnType.setPdfDisplayWidthInPxls("0.0");
509                 dataColumnType.setVisible(true);
510                 dataColumnType.setCalculated(true);
511                 dataColumnTypeList.add(dataColumnType);
512                 DataColumnType dataColumnType1 = new DataColumnType();
513                 dataColumnType1.setCrossTabValue("COLUMN");
514                 dataColumnType1.setColId("1");
515                 dataColumnType1.setVisible(true);
516                 dataColumnType1.setPdfDisplayWidthInPxls("1.0");
517                 dataColumnTypeList.add(dataColumnType1);
518
519                 DataColumnList dataColumnList = new DataColumnList();
520                 dataColumnList.dataColumn = dataColumnTypeList;
521                 dataSourceType.setDataColumnList(dataColumnList);
522                 list.add(dataSourceType);
523                 dataSourceList.dataSource = list;
524                 when(crType.getDataSourceList()).thenReturn(dataSourceList);
525
526                 when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams);
527                 ds.set(0, "test");
528                 when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds);
529                 when(rr.hasSeriesColumn()).thenReturn(true);
530                 TreeMap values = new TreeMap<>();
531                 values.put("test", rr);
532                 TreeMap values2 = new TreeMap<>();
533                 values2.put("test3", rd);
534                 TreeMap values3 = new TreeMap<>();
535                 values3.put("test4", "c");
536                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values);
537                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2);
538                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3);
539                 pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3);
540         }
541
542         @Test
543         public void createPdfFileContent_case5Test() throws Exception {
544                 PowerMockito.mockStatic(Image.class);
545                 Document doc = mock(Document.class);
546                 CustomReportType crType = mock(CustomReportType.class);
547
548                 DataSet ds = mock(DataSet.class);
549                 PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc);
550                 PowerMockito.when(doc.newPage()).thenReturn(true);
551                 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
552                 ReportRuntime rr = mock(ReportRuntime.class);
553                 ReportData rd = mock(ReportData.class);
554
555                 ReportDataRows reportDataRows = new ReportDataRows();
556                 DataRow dataRow1 = new DataRow();
557                 DataRow dataRow = new DataRow();
558                 DataValue value = new DataValue();
559                 DataValue value1 = new DataValue();
560                 dataRow1.addDataValue(value);
561                 dataRow1.addDataValue(value1);
562                 reportDataRows.addDataRow(dataRow1);
563                 reportDataRows.add(dataRow1);
564                 reportDataRows.addDataRow(dataRow);
565                 reportDataRows.add(dataRow);
566                 rd.reportDataRows = reportDataRows;
567
568                 ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows();
569                 ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow();
570                 ColumnHeader columnHeader = new ColumnHeader();
571                 columnHeaderRow.add(columnHeader);
572                 ColumnHeader columnHeader1 = new ColumnHeader();
573                 columnHeader1.setRowSpan(1);
574                 columnHeaderRow.add(columnHeader1);
575                 reportColumnHeaderRows.add(columnHeaderRow);
576                 rd.reportColumnHeaderRows = reportColumnHeaderRows;
577
578                 ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols();
579                 RowHeaderCol rowHeaderCol = new RowHeaderCol();
580                 rowHeaderCol.add("test");
581                 RowHeaderCol rowHeaderCol1 = new RowHeaderCol();
582                 rowHeaderCol1.add("test1");
583                 reportRowHeaderCols.addRowHeaderCol(rowHeaderCol);
584                 reportRowHeaderCols.addRowHeaderCol(rowHeaderCol1);
585                 rd.reportRowHeaderCols = reportRowHeaderCols;
586
587                 ReportDataRows rdr = new ReportDataRows();
588                 Connection conn = mock(Connection.class);
589                 Statement st = mock(Statement.class);
590                 ResultSet resSet = mock(ResultSet.class);
591                 ResultSetMetaData resSetMD = mock(ResultSetMetaData.class);
592                 DataRow dr = new DataRow();
593                 rdr.add(dr);
594                 rd.reportDataRows = rdr;
595                 when(Globals.isCoverPageNeeded()).thenReturn(true);
596                 when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1");
597                 when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1");
598                 when(rr.isPDFCoverPage()).thenReturn(true);
599                 when(rr.getReportID()).thenReturn("test");
600                 when(rr.getPDFOrientation()).thenReturn("portait");
601                 when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieOrder")).thenReturn("row");
602                 when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieLabelDisplay")).thenReturn("test");
603                 when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D");
604                 when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr);
605                 when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test");
606                 ServletContext servConxt = mock(ServletContext.class);
607                 when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt);
608                 when(servConxt.getRealPath(File.separator)).thenReturn("testpath");
609                 when(rr.getChartType()).thenReturn(AppConstants.GT_PIE_MULTIPLE);
610                 when(rr.getDisplayChart()).thenReturn(true);
611                 ArrayList paramNamePDFValues = new ArrayList();
612                 paramNamePDFValues.add("test1");
613                 paramNamePDFValues.add("test2");
614                 when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues);
615                 when(rr.getFormFieldComments(mockedRequest)).thenReturn("test");
616                 when(rr.getLegendPosition()).thenReturn("test");
617                 when(rr.hideChartToolTips()).thenReturn(true);
618                 when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y");
619                 when(rr.getLegendLabelAngle()).thenReturn("test");
620                 when(rr.getMaxLabelsInDomainAxis()).thenReturn("test");
621                 when(rr.getRangeAxisLowerLimit()).thenReturn("10");
622                 when(rr.getRangeAxisUpperLimit()).thenReturn("10");
623                 when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y");
624                 List chartGroups = new ArrayList<>();
625                 when(rr.getAllChartGroups()).thenReturn(chartGroups);
626                 ReportParamValues reportValues = new ReportParamValues();
627                 when(rr.getReportParamValues()).thenReturn(reportValues);
628                 when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test");
629                 when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test");
630                 HashMap requestParams = new HashMap<>();
631                 requestParams.put("", "test");
632
633                 DataSourceList dataSourceList = new DataSourceList();
634
635                 when(crType.getDataSourceList()).thenReturn(dataSourceList);
636
637                 when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams);
638                 ds.set(0, "test");
639                 when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds);
640                 when(rr.hasSeriesColumn()).thenReturn(true);
641                 TreeMap values = new TreeMap<>();
642                 values.put("test", rr);
643                 TreeMap values2 = new TreeMap<>();
644                 values2.put("test3", rd);
645                 TreeMap values3 = new TreeMap<>();
646                 values3.put("test4", "c");
647                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values);
648                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2);
649                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3);
650                 Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REP_ID)).thenReturn("test123");
651                 List newlist = new ArrayList<>();
652                 newlist.add(1);
653                 Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_FORMFIELD_DOWNLOAD_INFO))
654                                 .thenReturn(newlist);
655                 when(mockedRequest.getSession().getAttribute(AppConstants.RI_REPORT_DATA)).thenReturn(rd);
656                 Mockito.when(rr.getReportType()).thenReturn("test");
657                 Mockito.when(rd.getTotalColumnCount()).thenReturn(2);
658                 PowerMockito.whenNew(ReportHandler.class).withNoArguments().thenReturn(reportHandler);
659                 Mockito.when(reportHandler.loadReportDefinition(Matchers.any(HttpServletRequest.class), Matchers.anyString()))
660                                 .thenReturn(rdef);
661                 pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3);
662         }
663
664         @Test
665         public void createPdfFileContent_case6Test() throws Exception {
666                 PowerMockito.mockStatic(Image.class);
667                 Document doc = mock(Document.class);
668                 CustomReportType crType = mock(CustomReportType.class);
669
670                 DataSet ds = mock(DataSet.class);
671                 PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc);
672                 PowerMockito.when(doc.newPage()).thenReturn(true);
673                 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
674                 ReportRuntime rr = mock(ReportRuntime.class);
675                 ReportData rd = mock(ReportData.class);
676
677                 ReportDataRows reportDataRows = new ReportDataRows();
678                 DataRow dataRow1 = new DataRow();
679                 DataRow dataRow = new DataRow();
680                 DataValue value = new DataValue();
681                 DataValue value1 = new DataValue();
682                 dataRow1.addDataValue(value);
683                 dataRow1.addDataValue(value1);
684                 reportDataRows.addDataRow(dataRow1);
685                 reportDataRows.add(dataRow1);
686                 reportDataRows.addDataRow(dataRow);
687                 reportDataRows.add(dataRow);
688                 rd.reportDataRows = reportDataRows;
689
690                 ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows();
691                 ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow();
692                 ColumnHeader columnHeader = new ColumnHeader();
693                 columnHeaderRow.add(columnHeader);
694                 ColumnHeader columnHeader1 = new ColumnHeader();
695                 columnHeader1.setRowSpan(1);
696                 columnHeaderRow.add(columnHeader1);
697                 reportColumnHeaderRows.add(columnHeaderRow);
698                 rd.reportColumnHeaderRows = reportColumnHeaderRows;
699
700                 ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols();
701                 RowHeaderCol rowHeaderCol = new RowHeaderCol();
702                 rowHeaderCol.add("test");
703                 RowHeaderCol rowHeaderCol1 = new RowHeaderCol();
704                 rowHeaderCol1.add("test1");
705                 reportRowHeaderCols.addRowHeaderCol(rowHeaderCol);
706                 reportRowHeaderCols.addRowHeaderCol(rowHeaderCol1);
707                 rd.reportRowHeaderCols = reportRowHeaderCols;
708
709                 ReportDataRows rdr = new ReportDataRows();
710                 Connection conn = mock(Connection.class);
711                 Statement st = mock(Statement.class);
712                 ResultSet resSet = mock(ResultSet.class);
713                 ResultSetMetaData resSetMD = mock(ResultSetMetaData.class);
714                 DataRow dr = new DataRow();
715                 rdr.add(dr);
716                 rd.reportDataRows = rdr;
717                 when(Globals.isCoverPageNeeded()).thenReturn(true);
718                 when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1");
719                 when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1");
720                 when(rr.isPDFCoverPage()).thenReturn(true);
721                 when(rr.getReportID()).thenReturn("test");
722                 when(rr.getPDFOrientation()).thenReturn("portait");
723                 when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieOrder")).thenReturn("row");
724                 when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieLabelDisplay")).thenReturn("test");
725                 when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D");
726                 when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr);
727                 when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test");
728                 ServletContext servConxt = mock(ServletContext.class);
729                 when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt);
730                 when(servConxt.getRealPath(File.separator)).thenReturn("testpath");
731                 when(rr.getChartType()).thenReturn(AppConstants.GT_PIE_MULTIPLE);
732                 when(rr.getDisplayChart()).thenReturn(true);
733                 ArrayList paramNamePDFValues = new ArrayList();
734                 paramNamePDFValues.add("test1");
735                 paramNamePDFValues.add("test2");
736                 when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues);
737                 when(rr.getFormFieldComments(mockedRequest)).thenReturn("test");
738                 when(rr.getLegendPosition()).thenReturn("test");
739                 when(rr.hideChartToolTips()).thenReturn(true);
740                 when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y");
741                 when(rr.getLegendLabelAngle()).thenReturn("test");
742                 when(rr.getMaxLabelsInDomainAxis()).thenReturn("test");
743                 when(rr.getRangeAxisLowerLimit()).thenReturn("10");
744                 when(rr.getRangeAxisUpperLimit()).thenReturn("10");
745                 when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y");
746                 List chartGroups = new ArrayList<>();
747                 when(rr.getAllChartGroups()).thenReturn(chartGroups);
748                 ReportParamValues reportValues = new ReportParamValues();
749                 when(rr.getReportParamValues()).thenReturn(reportValues);
750                 when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test");
751                 when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test");
752                 HashMap requestParams = new HashMap<>();
753                 requestParams.put("", "test");
754
755                 DataSourceList dataSourceList = new DataSourceList();
756
757                 when(crType.getDataSourceList()).thenReturn(dataSourceList);
758
759                 when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams);
760                 ds.set(0, "test");
761                 when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds);
762                 when(rr.hasSeriesColumn()).thenReturn(true);
763                 TreeMap values = new TreeMap<>();
764                 values.put("test", rr);
765                 TreeMap values2 = new TreeMap<>();
766                 values2.put("test3", rd);
767                 TreeMap values3 = new TreeMap<>();
768                 values3.put("test4", "c");
769                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values);
770                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2);
771                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3);
772                 Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REP_ID)).thenReturn("test123");
773                 List newlist = new ArrayList<>();
774                 newlist.add(1);
775                 Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_FORMFIELD_DOWNLOAD_INFO))
776                                 .thenReturn(newlist);
777                 when(mockedRequest.getSession().getAttribute(AppConstants.RI_REPORT_DATA)).thenReturn(rd);
778                 Mockito.when(rr.getReportType()).thenReturn("test");
779                 Mockito.when(rd.getTotalColumnCount()).thenReturn(2);
780                 PowerMockito.whenNew(ReportHandler.class).withNoArguments().thenReturn(reportHandler);
781                 Mockito.when(reportHandler.loadReportDefinition(Matchers.any(HttpServletRequest.class), Matchers.anyString()))
782                                 .thenReturn(rdef);
783                 Mockito.when(rdef.getVisibleColumnCount()).thenReturn(2);
784
785                 List<DataColumnType> dataColumnTypeList = new ArrayList<>();
786                 DataColumnType dataColumnType = new DataColumnType();
787                 dataColumnType.setChartGroup("test");
788                 dataColumnType.setYAxis("test");
789                 dataColumnType.setColName("[test");
790                 dataColumnType.setColOnChart("LEGEND");
791                 dataColumnType.setDisplayName("chart_total");
792                 dataColumnType.setColId("1");
793                 dataColumnType.setTableId("1");
794                 dataColumnType.setColType("DATE");
795                 dataColumnType.setCrossTabValue("ROW");
796                 dataColumnType.setPdfDisplayWidthInPxls("0.0");
797                 dataColumnType.setVisible(true);
798                 dataColumnType.setCalculated(true);
799                 dataColumnTypeList.add(dataColumnType);
800                 DataColumnType dataColumnType1 = new DataColumnType();
801                 dataColumnType1.setCrossTabValue("COLUMN");
802                 dataColumnType1.setColId("1");
803                 dataColumnType1.setVisible(true);
804                 dataColumnType1.setPdfDisplayWidthInPxls("1.0");
805                 dataColumnTypeList.add(dataColumnType1);
806
807                 Mockito.when(rdef.getAllColumns()).thenReturn(dataColumnTypeList);
808                 Mockito.when(Globals.getDataTableHeaderFontColor()).thenReturn("test");
809                 PowerMockito.mockStatic(Color.class);
810                 Color color = new Color(1);
811                 Mockito.when(Color.decode(Matchers.anyString())).thenReturn(color);
812                 pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3);
813         }
814
815         @Test
816         public void createPdfFileContent_case7Test() throws Exception {
817                 PowerMockito.mockStatic(Image.class);
818                 Document doc = mock(Document.class);
819                 CustomReportType crType = mock(CustomReportType.class);
820
821                 DataSet ds = mock(DataSet.class);
822                 PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc);
823                 PowerMockito.when(doc.newPage()).thenReturn(true);
824                 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
825                 ReportRuntime rr = mock(ReportRuntime.class);
826                 ReportData rd = mock(ReportData.class);
827
828                 ReportDataRows reportDataRows = new ReportDataRows();
829                 DataRow dataRow1 = new DataRow();
830                 DataRow dataRow = new DataRow();
831                 DataValue value = new DataValue();
832                 DataValue value1 = new DataValue();
833                 dataRow1.addDataValue(value);
834                 dataRow1.addDataValue(value1);
835                 reportDataRows.addDataRow(dataRow1);
836                 reportDataRows.add(dataRow1);
837                 reportDataRows.addDataRow(dataRow);
838                 reportDataRows.add(dataRow);
839                 rd.reportDataRows = reportDataRows;
840
841                 ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows();
842                 ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow();
843                 ColumnHeader columnHeader = new ColumnHeader();
844                 columnHeaderRow.add(columnHeader);
845                 ColumnHeader columnHeader1 = new ColumnHeader();
846                 columnHeader1.setRowSpan(1);
847                 columnHeaderRow.add(columnHeader1);
848                 reportColumnHeaderRows.add(columnHeaderRow);
849                 rd.reportColumnHeaderRows = reportColumnHeaderRows;
850
851                 ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols();
852                 RowHeaderCol rowHeaderCol = new RowHeaderCol();
853                 rowHeaderCol.add("test");
854                 RowHeaderCol rowHeaderCol1 = new RowHeaderCol();
855                 rowHeaderCol1.add("test1");
856                 reportRowHeaderCols.addRowHeaderCol(rowHeaderCol);
857                 reportRowHeaderCols.addRowHeaderCol(rowHeaderCol1);
858                 rd.reportRowHeaderCols = reportRowHeaderCols;
859
860                 ReportDataRows rdr = new ReportDataRows();
861                 Connection conn = mock(Connection.class);
862                 Statement st = mock(Statement.class);
863                 ResultSet resSet = mock(ResultSet.class);
864                 ResultSetMetaData resSetMD = mock(ResultSetMetaData.class);
865                 DataRow dr = new DataRow();
866                 rdr.add(dr);
867                 rd.reportDataRows = rdr;
868                 when(Globals.isCoverPageNeeded()).thenReturn(true);
869                 when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1");
870                 when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1");
871                 when(rr.isPDFCoverPage()).thenReturn(true);
872                 when(rr.getReportID()).thenReturn("test");
873                 when(rr.getPDFOrientation()).thenReturn("portait");
874                 when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieOrder")).thenReturn("row");
875                 when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieLabelDisplay")).thenReturn("test");
876                 when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D");
877                 when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr);
878                 when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test");
879                 ServletContext servConxt = mock(ServletContext.class);
880                 when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt);
881                 when(servConxt.getRealPath(File.separator)).thenReturn("testpath");
882                 when(rr.getChartType()).thenReturn(AppConstants.GT_PIE_MULTIPLE);
883                 when(rr.getDisplayChart()).thenReturn(true);
884                 ArrayList paramNamePDFValues = new ArrayList();
885                 paramNamePDFValues.add("test1");
886                 paramNamePDFValues.add("test2");
887                 when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues);
888                 when(rr.getFormFieldComments(mockedRequest)).thenReturn("test");
889                 when(rr.getLegendPosition()).thenReturn("test");
890                 when(rr.hideChartToolTips()).thenReturn(true);
891                 when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y");
892                 when(rr.getLegendLabelAngle()).thenReturn("test");
893                 when(rr.getMaxLabelsInDomainAxis()).thenReturn("test");
894                 when(rr.getRangeAxisLowerLimit()).thenReturn("10");
895                 when(rr.getRangeAxisUpperLimit()).thenReturn("10");
896                 when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y");
897                 List chartGroups = new ArrayList<>();
898                 when(rr.getAllChartGroups()).thenReturn(chartGroups);
899                 ReportParamValues reportValues = new ReportParamValues();
900                 when(rr.getReportParamValues()).thenReturn(reportValues);
901                 when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test");
902                 when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test");
903                 HashMap requestParams = new HashMap<>();
904                 requestParams.put("", "test");
905
906                 DataSourceList dataSourceList = new DataSourceList();
907
908                 when(crType.getDataSourceList()).thenReturn(dataSourceList);
909
910                 when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams);
911                 ds.set(0, "test");
912                 when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds);
913                 when(rr.hasSeriesColumn()).thenReturn(true);
914                 TreeMap values = new TreeMap<>();
915                 values.put("test", rr);
916                 TreeMap values2 = new TreeMap<>();
917                 values2.put("test3", rd);
918                 TreeMap values3 = new TreeMap<>();
919                 values3.put("test4", "c");
920                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values);
921                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2);
922                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3);
923                 Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REP_ID)).thenReturn("test123");
924                 List newlist = new ArrayList<>();
925                 newlist.add(1);
926                 Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_FORMFIELD_DOWNLOAD_INFO))
927                                 .thenReturn(newlist);
928                 when(mockedRequest.getSession().getAttribute(AppConstants.RI_REPORT_DATA)).thenReturn(rd);
929                 Mockito.when(rr.getReportType()).thenReturn("test");
930                 Mockito.when(rd.getTotalColumnCount()).thenReturn(2);
931                 PowerMockito.whenNew(ReportHandler.class).withNoArguments().thenReturn(reportHandler);
932                 Mockito.when(reportHandler.loadReportDefinition(Matchers.any(HttpServletRequest.class), Matchers.anyString()))
933                                 .thenReturn(rdef);
934                 Mockito.when(rdef.getVisibleColumnCount()).thenReturn(2);
935
936                 List<DataColumnType> dataColumnTypeList = new ArrayList<>();
937                 DataColumnType dataColumnType = new DataColumnType();
938                 dataColumnType.setChartGroup("test");
939                 dataColumnType.setYAxis("test");
940                 dataColumnType.setColName("[test");
941                 dataColumnType.setColOnChart("LEGEND");
942                 dataColumnType.setDisplayName("chart_total");
943                 dataColumnType.setColId("1");
944                 dataColumnType.setTableId("1");
945                 dataColumnType.setColType("DATE");
946                 dataColumnType.setCrossTabValue("ROW");
947                 dataColumnType.setPdfDisplayWidthInPxls("0.0");
948                 dataColumnType.setVisible(true);
949                 dataColumnType.setCalculated(true);
950                 dataColumnTypeList.add(dataColumnType);
951                 DataColumnType dataColumnType1 = new DataColumnType();
952                 dataColumnType1.setCrossTabValue("COLUMN");
953                 dataColumnType1.setColId("1");
954                 dataColumnType1.setVisible(true);
955                 dataColumnType1.setPdfDisplayWidthInPxls("1.0");
956                 dataColumnTypeList.add(dataColumnType1);
957
958                 Mockito.when(rdef.getAllColumns()).thenReturn(dataColumnTypeList);
959                 Mockito.when(Globals.getDataTableHeaderFontColor()).thenReturn("test");
960                 PowerMockito.mockStatic(Color.class);
961                 Color color = new Color(1);
962                 Mockito.when(Color.decode(Matchers.anyString())).thenReturn(color);
963                 when(mockedRequest.getSession().getAttribute("TITLE_0")).thenReturn("title");
964                 when(mockedRequest.getSession().getAttribute("drilldown_index")).thenReturn("drilldown_index");
965                 when(mockedRequest.getSession().getAttribute("SUBTITLE_0")).thenReturn("subtitle");
966                 pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3);
967         }
968
969         @Test(expected = org.onap.portalsdk.analytics.error.RaptorException.class)
970         public void createPdfFileContent_case8Test() throws Exception {
971                 PowerMockito.mockStatic(Image.class);
972                 Document doc = mock(Document.class);
973                 CustomReportType crType = mock(CustomReportType.class);
974
975                 DataSet ds = mock(DataSet.class);
976                 PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc);
977                 PowerMockito.when(doc.newPage()).thenReturn(true);
978                 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
979                 ReportRuntime rr = mock(ReportRuntime.class);
980                 ReportData rd = mock(ReportData.class);
981
982                 ReportDataRows reportDataRows = new ReportDataRows();
983                 DataRow dataRow1 = new DataRow();
984                 DataRow dataRow = new DataRow();
985                 DataValue value = new DataValue();
986                 DataValue value1 = new DataValue();
987                 dataRow1.addDataValue(value);
988                 dataRow1.addDataValue(value1);
989                 reportDataRows.addDataRow(dataRow1);
990                 reportDataRows.add(dataRow1);
991                 reportDataRows.addDataRow(dataRow);
992                 reportDataRows.add(dataRow);
993                 rd.reportDataRows = reportDataRows;
994
995                 ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows();
996                 ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow();
997                 ColumnHeader columnHeader = new ColumnHeader();
998                 columnHeaderRow.add(columnHeader);
999                 ColumnHeader columnHeader1 = new ColumnHeader();
1000                 columnHeader1.setRowSpan(1);
1001                 columnHeaderRow.add(columnHeader1);
1002                 reportColumnHeaderRows.add(columnHeaderRow);
1003                 rd.reportColumnHeaderRows = reportColumnHeaderRows;
1004
1005                 ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols();
1006                 RowHeaderCol rowHeaderCol = new RowHeaderCol();
1007                 rowHeaderCol.add("test");
1008                 RowHeaderCol rowHeaderCol1 = new RowHeaderCol();
1009                 rowHeaderCol1.add("test1");
1010                 reportRowHeaderCols.addRowHeaderCol(rowHeaderCol);
1011                 reportRowHeaderCols.addRowHeaderCol(rowHeaderCol1);
1012                 rd.reportRowHeaderCols = reportRowHeaderCols;
1013
1014                 ReportDataRows rdr = new ReportDataRows();
1015                 Connection conn = mock(Connection.class);
1016                 Statement st = mock(Statement.class);
1017                 ResultSet resSet = mock(ResultSet.class);
1018                 ResultSetMetaData resSetMD = mock(ResultSetMetaData.class);
1019                 DataRow dr = new DataRow();
1020                 rdr.add(dr);
1021                 rd.reportDataRows = rdr;
1022                 when(Globals.isCoverPageNeeded()).thenReturn(true);
1023                 when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1");
1024                 when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1");
1025                 when(rr.isPDFCoverPage()).thenReturn(true);
1026                 when(rr.getReportID()).thenReturn("test");
1027                 when(rr.getPDFOrientation()).thenReturn("portait");
1028                 when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieOrder")).thenReturn("row");
1029                 when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieLabelDisplay")).thenReturn("test");
1030                 when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D");
1031                 when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr);
1032                 when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test");
1033                 ServletContext servConxt = mock(ServletContext.class);
1034                 when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt);
1035                 when(servConxt.getRealPath(File.separator)).thenReturn("testpath");
1036                 when(rr.getChartType()).thenReturn(AppConstants.GT_PIE_MULTIPLE);
1037                 when(rr.getDisplayChart()).thenReturn(true);
1038                 ArrayList paramNamePDFValues = new ArrayList();
1039                 paramNamePDFValues.add("test1");
1040                 paramNamePDFValues.add("test2");
1041                 when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues);
1042                 when(rr.getFormFieldComments(mockedRequest)).thenReturn("test");
1043                 when(rr.getLegendPosition()).thenReturn("test");
1044                 when(rr.hideChartToolTips()).thenReturn(true);
1045                 when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y");
1046                 when(rr.getLegendLabelAngle()).thenReturn("test");
1047                 when(rr.getMaxLabelsInDomainAxis()).thenReturn("test");
1048                 when(rr.getRangeAxisLowerLimit()).thenReturn("10");
1049                 when(rr.getRangeAxisUpperLimit()).thenReturn("10");
1050                 when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y");
1051                 List chartGroups = new ArrayList<>();
1052                 when(rr.getAllChartGroups()).thenReturn(chartGroups);
1053                 ReportParamValues reportValues = new ReportParamValues();
1054                 when(rr.getReportParamValues()).thenReturn(reportValues);
1055                 when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test");
1056                 when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test");
1057                 HashMap requestParams = new HashMap<>();
1058                 requestParams.put("", "test");
1059
1060                 DataSourceList dataSourceList = new DataSourceList();
1061
1062                 when(crType.getDataSourceList()).thenReturn(dataSourceList);
1063
1064                 when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams);
1065                 ds.set(0, "test");
1066                 when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds);
1067                 when(rr.hasSeriesColumn()).thenReturn(true);
1068                 TreeMap values = new TreeMap<>();
1069                 values.put("test", rr);
1070                 TreeMap values2 = new TreeMap<>();
1071                 values2.put("test3", rd);
1072                 TreeMap values3 = new TreeMap<>();
1073                 values3.put("test4", "c");
1074                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values);
1075                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2);
1076                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3);
1077                 Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REP_ID)).thenReturn("test123");
1078                 List newlist = new ArrayList<>();
1079                 newlist.add(1);
1080                 Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_FORMFIELD_DOWNLOAD_INFO))
1081                                 .thenReturn(newlist);
1082                 when(mockedRequest.getSession().getAttribute(AppConstants.RI_REPORT_DATA)).thenReturn(rd);
1083                 Mockito.when(rr.getReportType()).thenReturn("Linear");
1084                 Mockito.when(rd.getTotalColumnCount()).thenReturn(2);
1085                 PowerMockito.whenNew(ReportHandler.class).withNoArguments().thenReturn(reportHandler);
1086                 Mockito.when(reportHandler.loadReportDefinition(Matchers.any(HttpServletRequest.class), Matchers.anyString()))
1087                                 .thenReturn(rdef);
1088                 Mockito.when(rdef.getVisibleColumnCount()).thenReturn(2);
1089
1090                 List<DataColumnType> dataColumnTypeList = new ArrayList<>();
1091                 DataColumnType dataColumnType = new DataColumnType();
1092                 dataColumnType.setChartGroup("test");
1093                 dataColumnType.setYAxis("test");
1094                 dataColumnType.setColName("[test");
1095                 dataColumnType.setColOnChart("LEGEND");
1096                 dataColumnType.setDisplayName("chart_total");
1097                 dataColumnType.setColId("1");
1098                 dataColumnType.setTableId("1");
1099                 dataColumnType.setColType("DATE");
1100                 dataColumnType.setCrossTabValue("ROW");
1101                 dataColumnType.setPdfDisplayWidthInPxls("0.0");
1102                 dataColumnType.setVisible(true);
1103                 dataColumnType.setCalculated(true);
1104                 dataColumnTypeList.add(dataColumnType);
1105                 DataColumnType dataColumnType1 = new DataColumnType();
1106                 dataColumnType1.setCrossTabValue("COLUMN");
1107                 dataColumnType1.setColId("1");
1108                 dataColumnType1.setVisible(true);
1109                 dataColumnType1.setPdfDisplayWidthInPxls("1.0");
1110                 dataColumnTypeList.add(dataColumnType1);
1111                 List<DataColumnType> dataColumnTypeList1 = new ArrayList<>();
1112                 Mockito.when(rdef.getAllColumns()).thenReturn(dataColumnTypeList);
1113                 Mockito.when(Globals.getDataTableHeaderFontColor()).thenReturn("test");
1114                 PowerMockito.mockStatic(Color.class);
1115                 Color color = new Color(1);
1116                 Mockito.when(Color.decode(Matchers.anyString())).thenReturn(color);
1117                 when(mockedRequest.getSession().getAttribute("TITLE_0")).thenReturn("title");
1118                 when(mockedRequest.getSession().getAttribute("drilldown_index")).thenReturn("drilldown_index");
1119                 when(mockedRequest.getSession().getAttribute("SUBTITLE_0")).thenReturn("subtitle");
1120                 Mockito.when(mockedRequest.getAttribute(AppConstants.RI_REPORT_SQL_WHOLE)).thenReturn("test");
1121                 PowerMockito.mockStatic(ConnectionUtils.class);
1122
1123                 Mockito.when(ConnectionUtils.getConnection(Matchers.anyString())).thenReturn(conn);
1124                 Mockito.when(conn.createStatement()).thenReturn(st);
1125                 Mockito.when(st.executeQuery(Matchers.anyString())).thenReturn(resSet);
1126                 Mockito.when(resSet.getMetaData()).thenReturn(resSetMD);
1127                 Mockito.when(resSetMD.getColumnCount()).thenReturn(2);
1128                 Mockito.when(resSet.next()).thenReturn(true);
1129                 pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3);
1130         }
1131
1132         @Test(expected = org.onap.portalsdk.analytics.error.RaptorException.class)
1133         public void createPdfFileContent_case9Test() throws Exception {
1134                 PowerMockito.mockStatic(Image.class);
1135                 Document doc = mock(Document.class);
1136                 CustomReportType crType = mock(CustomReportType.class);
1137
1138                 DataSet ds = mock(DataSet.class);
1139                 PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc);
1140                 PowerMockito.when(doc.newPage()).thenReturn(true);
1141                 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
1142                 ReportRuntime rr = mock(ReportRuntime.class);
1143                 ReportData rd = mock(ReportData.class);
1144
1145                 ReportDataRows reportDataRows = new ReportDataRows();
1146                 DataRow dataRow1 = new DataRow();
1147                 DataRow dataRow = new DataRow();
1148                 DataRow dataRow2 = new DataRow();
1149
1150                 ArrayList dataValueList = new ArrayList<>();
1151                 DataValue value = new DataValue();
1152                 value.setColId("test");
1153                 value.setVisible(true);
1154                 DataValue value1 = new DataValue();
1155                 DataValue value2 = new DataValue();
1156
1157                 dataValueList.add(value);
1158                 dataValueList.add(value1);
1159                 dataValueList.add(value2);
1160                 dataRow.addDataValue(value);
1161                 dataRow.addDataValue(value1);
1162                 dataRow.addDataValue(value2);
1163                 dataRow.setDataValueList(dataValueList);
1164
1165                 dataRow2.addDataValue(value);
1166                 dataRow2.addDataValue(value1);
1167                 dataRow2.addDataValue(value2);
1168                 dataRow2.setDataValueList(dataValueList);
1169
1170                 dataRow1.addDataValue(value);
1171                 dataRow1.addDataValue(value1);
1172                 dataRow1.addDataValue(value2);
1173                 dataRow1.setDataValueList(dataValueList);
1174
1175                 reportDataRows.addDataRow(dataRow1);
1176                 reportDataRows.add(dataRow1);
1177                 reportDataRows.addDataRow(dataRow2);
1178                 reportDataRows.add(dataRow2);
1179                 reportDataRows.addDataRow(dataRow);
1180                 reportDataRows.add(dataRow);
1181                 rd.reportDataRows = reportDataRows;
1182                 ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows();
1183                 ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow();
1184                 ColumnHeader columnHeader = new ColumnHeader();
1185                 columnHeaderRow.add(columnHeader);
1186                 ColumnHeader columnHeader1 = new ColumnHeader();
1187                 columnHeader1.setRowSpan(1);
1188                 columnHeaderRow.add(columnHeader1);
1189                 reportColumnHeaderRows.add(columnHeaderRow);
1190                 rd.reportColumnHeaderRows = reportColumnHeaderRows;
1191
1192                 ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols();
1193                 RowHeaderCol rowHeaderCol = new RowHeaderCol();
1194                 rowHeaderCol.add("test");
1195                 RowHeaderCol rowHeaderCol1 = new RowHeaderCol();
1196                 rowHeaderCol1.add("test1");
1197                 reportRowHeaderCols.addRowHeaderCol(rowHeaderCol);
1198                 reportRowHeaderCols.addRowHeaderCol(rowHeaderCol1);
1199                 rd.reportRowHeaderCols = reportRowHeaderCols;
1200
1201                 ReportDataRows rdr = new ReportDataRows();
1202                 Connection conn = mock(Connection.class);
1203                 Statement st = mock(Statement.class);
1204                 ResultSet resSet = mock(ResultSet.class);
1205                 ResultSetMetaData resSetMD = mock(ResultSetMetaData.class);
1206                 DataRow dr = new DataRow();
1207                 rdr.add(dr);
1208                 when(Globals.isCoverPageNeeded()).thenReturn(true);
1209                 when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1");
1210                 when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1");
1211                 when(rr.isPDFCoverPage()).thenReturn(true);
1212                 when(rr.getReportID()).thenReturn("test");
1213                 when(rr.getPDFOrientation()).thenReturn("portait");
1214                 when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieOrder")).thenReturn("row");
1215                 when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieLabelDisplay")).thenReturn("test");
1216                 when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D");
1217                 when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr);
1218                 when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test");
1219                 ServletContext servConxt = mock(ServletContext.class);
1220                 when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt);
1221                 when(servConxt.getRealPath(File.separator)).thenReturn("testpath");
1222                 when(rr.getChartType()).thenReturn(AppConstants.GT_PIE_MULTIPLE);
1223                 when(rr.getDisplayChart()).thenReturn(true);
1224                 ArrayList paramNamePDFValues = new ArrayList();
1225                 paramNamePDFValues.add("test1");
1226                 paramNamePDFValues.add("test2");
1227                 when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues);
1228                 when(rr.getFormFieldComments(mockedRequest)).thenReturn("test");
1229                 when(rr.getLegendPosition()).thenReturn("test");
1230                 when(rr.hideChartToolTips()).thenReturn(true);
1231                 when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y");
1232                 when(rr.getLegendLabelAngle()).thenReturn("test");
1233                 when(rr.getMaxLabelsInDomainAxis()).thenReturn("test");
1234                 when(rr.getRangeAxisLowerLimit()).thenReturn("10");
1235                 when(rr.getRangeAxisUpperLimit()).thenReturn("10");
1236                 when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y");
1237                 List chartGroups = new ArrayList<>();
1238                 when(rr.getAllChartGroups()).thenReturn(chartGroups);
1239                 ReportParamValues reportValues = new ReportParamValues();
1240                 when(rr.getReportParamValues()).thenReturn(reportValues);
1241                 when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test");
1242                 when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test");
1243                 HashMap requestParams = new HashMap<>();
1244                 requestParams.put("", "test");
1245
1246                 DataSourceList dataSourceList = new DataSourceList();
1247
1248                 when(crType.getDataSourceList()).thenReturn(dataSourceList);
1249
1250                 when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams);
1251                 ds.set(0, "test");
1252                 when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds);
1253                 when(rr.hasSeriesColumn()).thenReturn(true);
1254                 TreeMap values = new TreeMap<>();
1255                 values.put("test", rr);
1256                 TreeMap values2 = new TreeMap<>();
1257                 values2.put("test3", rd);
1258                 TreeMap values3 = new TreeMap<>();
1259                 values3.put("test4", "c");
1260                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values);
1261                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2);
1262                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3);
1263                 Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REP_ID)).thenReturn("test123");
1264                 List newlist = new ArrayList<>();
1265                 newlist.add(1);
1266                 Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_FORMFIELD_DOWNLOAD_INFO))
1267                                 .thenReturn(newlist);
1268                 when(mockedRequest.getSession().getAttribute(AppConstants.RI_REPORT_DATA)).thenReturn(rd);
1269                 Mockito.when(rr.getReportType()).thenReturn("Linear");
1270                 Mockito.when(rd.getTotalColumnCount()).thenReturn(2);
1271                 PowerMockito.whenNew(ReportHandler.class).withNoArguments().thenReturn(reportHandler);
1272                 Mockito.when(reportHandler.loadReportDefinition(Matchers.any(HttpServletRequest.class), Matchers.anyString()))
1273                                 .thenReturn(rdef);
1274                 Mockito.when(rdef.getVisibleColumnCount()).thenReturn(2);
1275
1276                 List<DataColumnType> dataColumnTypeList = new ArrayList<>();
1277                 DataColumnType dataColumnType = new DataColumnType();
1278                 dataColumnType.setChartGroup("test");
1279                 dataColumnType.setYAxis("test");
1280                 dataColumnType.setColName("[test");
1281                 dataColumnType.setColOnChart("LEGEND");
1282                 dataColumnType.setDisplayName("chart_total");
1283                 dataColumnType.setColId("1");
1284                 dataColumnType.setTableId("1");
1285                 dataColumnType.setColType("DATE");
1286                 dataColumnType.setCrossTabValue("ROW");
1287                 dataColumnType.setPdfDisplayWidthInPxls("0.0");
1288                 dataColumnType.setVisible(true);
1289                 dataColumnType.setCalculated(true);
1290                 dataColumnTypeList.add(dataColumnType);
1291                 DataColumnType dataColumnType1 = new DataColumnType();
1292                 dataColumnType1.setCrossTabValue("COLUMN");
1293                 dataColumnType1.setColId("1");
1294                 dataColumnType1.setVisible(true);
1295                 dataColumnType1.setPdfDisplayWidthInPxls("1.0");
1296                 dataColumnTypeList.add(dataColumnType1);
1297                 List<DataColumnType> dataColumnTypeList1 = new ArrayList<>();
1298                 Mockito.when(rdef.getAllColumns()).thenReturn(dataColumnTypeList);
1299                 Mockito.when(Globals.getDataTableHeaderFontColor()).thenReturn("test");
1300                 PowerMockito.mockStatic(Color.class);
1301                 Color color = new Color(1);
1302                 Mockito.when(Color.decode(Matchers.anyString())).thenReturn(color);
1303                 when(mockedRequest.getSession().getAttribute("TITLE_0")).thenReturn("title");
1304                 when(mockedRequest.getSession().getAttribute("drilldown_index")).thenReturn("drilldown_index");
1305                 when(mockedRequest.getSession().getAttribute("SUBTITLE_0")).thenReturn("subtitle");
1306                 Mockito.when(mockedRequest.getAttribute(AppConstants.RI_REPORT_SQL_WHOLE)).thenReturn("test");
1307                 PowerMockito.mockStatic(ConnectionUtils.class);
1308
1309                 Mockito.when(ConnectionUtils.getConnection(Matchers.anyString())).thenReturn(conn);
1310                 Mockito.when(conn.createStatement()).thenReturn(st);
1311                 Mockito.when(st.executeQuery(Matchers.anyString())).thenReturn(resSet);
1312                 Mockito.when(resSet.getMetaData()).thenReturn(resSetMD);
1313                 Mockito.when(resSetMD.getColumnCount()).thenReturn(2);
1314                 Mockito.when(resSet.next()).thenReturn(true);
1315                 Mockito.when(resSetMD.getColumnLabel(Matchers.anyInt())).thenReturn("test");
1316                 Mockito.when(resSet.getString(Matchers.anyInt())).thenReturn("test");
1317                 pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3);
1318         }
1319
1320         @Test
1321         public void createPdfFileContent10Test() throws Exception {
1322                 PowerMockito.mockStatic(Image.class);
1323                 Document doc = mock(Document.class);
1324                 CustomReportType crType = mock(CustomReportType.class);
1325
1326                 DataSet ds = mock(DataSet.class);
1327                 PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc);
1328                 PowerMockito.when(doc.newPage()).thenReturn(true);
1329                 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
1330                 ReportRuntime rr = mock(ReportRuntime.class);
1331                 ReportData rd = mock(ReportData.class);
1332                 when(Globals.isCoverPageNeeded()).thenReturn(true);
1333                 when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1");
1334                 when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1");
1335                 when(rr.isPDFCoverPage()).thenReturn(true);
1336                 when(rr.getReportID()).thenReturn("test");
1337                 when(rr.getPDFOrientation()).thenReturn("portait");
1338                 when(AppUtils.getRequestNvlValue(mockedRequest, "chartOrientation")).thenReturn("vertical");
1339                 when(AppUtils.getRequestNvlValue(mockedRequest, "secondaryChartRenderer")).thenReturn("test");
1340                 when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D");
1341                 when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr);
1342                 when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test");
1343                 ServletContext servConxt = mock(ServletContext.class);
1344                 when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt);
1345                 when(servConxt.getRealPath(File.separator)).thenReturn("testpath");
1346                 when(rr.getChartType()).thenReturn("TimeSeriesChart");
1347                 when(rr.getDisplayChart()).thenReturn(true);
1348                 ArrayList paramNamePDFValues = new ArrayList();
1349                 paramNamePDFValues.add("test1");
1350                 paramNamePDFValues.add("test2");
1351                 when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues);
1352                 when(rr.getFormFieldComments(mockedRequest)).thenReturn("test");
1353                 when(rr.getLegendPosition()).thenReturn("test");
1354                 when(rr.hideChartToolTips()).thenReturn(true);
1355                 when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y");
1356                 when(rr.getLegendLabelAngle()).thenReturn("test");
1357                 when(rr.getMaxLabelsInDomainAxis()).thenReturn("test");
1358                 when(rr.getRangeAxisLowerLimit()).thenReturn("10");
1359                 when(rr.getRangeAxisUpperLimit()).thenReturn("10");
1360                 when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y");
1361                 List chartGroups = new ArrayList<>();
1362                 when(rr.getAllChartGroups()).thenReturn(chartGroups);
1363                 ReportParamValues reportValues = new ReportParamValues();
1364                 when(rr.getReportParamValues()).thenReturn(reportValues);
1365                 when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test");
1366                 when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test");
1367                 HashMap requestParams = new HashMap<>();
1368                 requestParams.put("", "test");
1369
1370                 DataSourceList dataSourceList = new DataSourceList();
1371
1372                 List<DataSourceType> list = new ArrayList<>();
1373                 DataSourceType dataSourceType = new DataSourceType();
1374                 dataSourceType.setTableName("test");
1375                 dataSourceType.setRefTableId("1");
1376                 dataSourceType.setTableId("1");
1377                 List<DataColumnType> dataColumnTypeList = new ArrayList<>();
1378                 DataColumnType dataColumnType = new DataColumnType();
1379                 dataColumnType.setChartGroup("test");
1380                 dataColumnType.setYAxis("test");
1381                 dataColumnType.setColName("[test");
1382                 dataColumnType.setColOnChart("LEGEND");
1383                 dataColumnType.setDisplayName("chart_total");
1384                 dataColumnType.setColId("1");
1385                 dataColumnType.setTableId("1");
1386                 dataColumnType.setDependsOnFormField("test");
1387                 dataColumnType.setColType("DATE");
1388                 dataColumnType.setCrossTabValue("ROW");
1389                 dataColumnType.setPdfDisplayWidthInPxls("0.0");
1390                 dataColumnType.setVisible(true);
1391                 dataColumnType.setCalculated(true);
1392                 dataColumnTypeList.add(dataColumnType);
1393                 DataColumnType dataColumnType1 = new DataColumnType();
1394                 dataColumnType1.setCrossTabValue("COLUMN");
1395                 dataColumnType1.setColId("1");
1396                 dataColumnType1.setVisible(true);
1397                 dataColumnType1.setPdfDisplayWidthInPxls("1.0");
1398                 dataColumnTypeList.add(dataColumnType1);
1399
1400                 DataColumnList dataColumnList = new DataColumnList();
1401                 dataColumnList.dataColumn = dataColumnTypeList;
1402                 dataSourceType.setDataColumnList(dataColumnList);
1403                 list.add(dataSourceType);
1404                 dataSourceList.dataSource = list;
1405                 when(crType.getDataSourceList()).thenReturn(dataSourceList);
1406
1407                 when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams);
1408                 ds.set(0, "test");
1409                 when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds);
1410                 when(rr.hasSeriesColumn()).thenReturn(true);
1411                 TreeMap values = new TreeMap<>();
1412                 values.put("test", rr);
1413                 TreeMap values2 = new TreeMap<>();
1414                 values2.put("test3", rd);
1415                 TreeMap values3 = new TreeMap<>();
1416                 values3.put("test4", "c");
1417                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values);
1418                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2);
1419                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3);
1420
1421                 Mockito.when(rr.getAllColumns()).thenReturn(dataColumnTypeList);
1422                 ArrayList chartValueColAxis = new ArrayList();
1423                 chartValueColAxis.add("test");
1424                 Mockito.when(rr.getChartValueColumnAxisList(Matchers.anyInt(), Matchers.any(HashMap.class)))
1425                                 .thenReturn(chartValueColAxis);
1426                 pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3);
1427         }
1428
1429         @Test
1430         public void createPdfFileContent11Test() throws Exception {
1431                 PowerMockito.mockStatic(Image.class);
1432                 Document doc = mock(Document.class);
1433                 CustomReportType crType = mock(CustomReportType.class);
1434                 DataSet ds = mock(DataSet.class);
1435                 PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc);
1436                 PowerMockito.when(doc.newPage()).thenReturn(true);
1437                 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
1438                 ReportRuntime rr = mock(ReportRuntime.class);
1439                 ReportData rd = mock(ReportData.class);
1440                 when(Globals.isCoverPageNeeded()).thenReturn(true);
1441                 when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1");
1442                 when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1");
1443                 when(rr.isPDFCoverPage()).thenReturn(true);
1444                 when(rr.getReportID()).thenReturn("test");
1445                 when(rr.getPDFOrientation()).thenReturn("portait");
1446                 when(AppUtils.getRequestNvlValue(mockedRequest, "chartOrientation")).thenReturn("vertical");
1447                 when(AppUtils.getRequestNvlValue(mockedRequest, "secondaryChartRenderer")).thenReturn("test");
1448                 when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D");
1449                 when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr);
1450                 when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test");
1451                 ServletContext servConxt = mock(ServletContext.class);
1452                 when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt);
1453                 when(servConxt.getRealPath(File.separator)).thenReturn("testpath");
1454                 when(rr.getChartType()).thenReturn("BarChart3D");
1455                 when(rr.getDisplayChart()).thenReturn(true);
1456                 ArrayList paramNamePDFValues = new ArrayList();
1457                 paramNamePDFValues.add("test1");
1458                 paramNamePDFValues.add("test2");
1459                 when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues);
1460                 when(rr.getFormFieldComments(mockedRequest)).thenReturn("test");
1461                 when(rr.getLegendPosition()).thenReturn("test");
1462                 when(rr.hideChartToolTips()).thenReturn(true);
1463                 when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y");
1464                 when(rr.getLegendLabelAngle()).thenReturn("test");
1465                 when(rr.getMaxLabelsInDomainAxis()).thenReturn("test");
1466                 when(rr.getRangeAxisLowerLimit()).thenReturn("10");
1467                 when(rr.getRangeAxisUpperLimit()).thenReturn("10");
1468                 when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y");
1469                 List chartGroups = new ArrayList<>();
1470                 chartGroups.add("test");
1471                 when(rr.getAllChartGroups()).thenReturn(chartGroups);
1472                 ReportParamValues reportValues = new ReportParamValues();
1473                 when(rr.getReportParamValues()).thenReturn(reportValues);
1474                 when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test");
1475                 when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test");
1476                 HashMap requestParams = new HashMap<>();
1477                 requestParams.put("", "test");
1478
1479                 DataSourceList dataSourceList = new DataSourceList();
1480
1481                 List<DataSourceType> list = new ArrayList<>();
1482                 DataSourceType dataSourceType = new DataSourceType();
1483                 dataSourceType.setTableName("test");
1484                 dataSourceType.setRefTableId("1");
1485                 dataSourceType.setTableId("1");
1486                 List<DataColumnType> dataColumnTypeList = new ArrayList<>();
1487                 DataColumnType dataColumnType = new DataColumnType();
1488                 dataColumnType.setChartGroup("test");
1489                 dataColumnType.setYAxis("test");
1490                 dataColumnType.setColName("[test");
1491                 dataColumnType.setColOnChart("LEGEND");
1492                 dataColumnType.setDisplayName("chart_total");
1493                 dataColumnType.setColId("1");
1494                 dataColumnType.setTableId("1");
1495                 dataColumnType.setDependsOnFormField("test");
1496                 dataColumnType.setColType("DATE");
1497                 dataColumnType.setCrossTabValue("ROW");
1498                 dataColumnType.setPdfDisplayWidthInPxls("0.0");
1499                 dataColumnType.setVisible(true);
1500                 dataColumnType.setCalculated(true);
1501                 dataColumnType.setColType("chart_total");
1502                 dataColumnTypeList.add(dataColumnType);
1503                 DataColumnType dataColumnType1 = new DataColumnType();
1504                 dataColumnType1.setCrossTabValue("COLUMN");
1505                 dataColumnType1.setColId("1");
1506                 dataColumnType1.setVisible(true);
1507                 dataColumnType1.setPdfDisplayWidthInPxls("1.0");
1508                 dataColumnTypeList.add(dataColumnType1);
1509
1510                 DataColumnList dataColumnList = new DataColumnList();
1511                 dataColumnList.dataColumn = dataColumnTypeList;
1512                 dataSourceType.setDataColumnList(dataColumnList);
1513                 list.add(dataSourceType);
1514                 dataSourceList.dataSource = list;
1515                 when(crType.getDataSourceList()).thenReturn(dataSourceList);
1516
1517                 when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams);
1518                 ds.set(0, "test");
1519                 when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds);
1520                 when(rr.hasSeriesColumn()).thenReturn(true);
1521                 TreeMap values = new TreeMap<>();
1522                 values.put("test", rr);
1523                 TreeMap values2 = new TreeMap<>();
1524                 values2.put("test3", rd);
1525                 TreeMap values3 = new TreeMap<>();
1526                 values3.put("test4", "c");
1527                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values);
1528                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2);
1529                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3);
1530
1531                 Mockito.when(rr.getAllColumns()).thenReturn(dataColumnTypeList);
1532                 ArrayList chartValueColAxis = new ArrayList();
1533                 chartValueColAxis.add("test");
1534                 Mockito.when(rr.getChartValueColumnAxisList(Matchers.anyInt(), Matchers.any(HashMap.class)))
1535                                 .thenReturn(chartValueColAxis);
1536
1537                 pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3);
1538         }
1539
1540         @Test
1541         public void createPdfFileContent12Test() throws Exception {
1542                 PowerMockito.mockStatic(Image.class);
1543                 Document doc = mock(Document.class);
1544                 CustomReportType crType = mock(CustomReportType.class);
1545                 DataSet ds = mock(DataSet.class);
1546                 PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc);
1547                 PowerMockito.when(doc.newPage()).thenReturn(true);
1548                 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
1549                 ReportRuntime rr = mock(ReportRuntime.class);
1550                 ReportData rd = mock(ReportData.class);
1551                 when(Globals.isCoverPageNeeded()).thenReturn(true);
1552                 when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1");
1553                 when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1");
1554                 when(rr.isPDFCoverPage()).thenReturn(true);
1555                 when(rr.getReportID()).thenReturn("test");
1556                 when(rr.getPDFOrientation()).thenReturn("portait");
1557                 when(AppUtils.getRequestNvlValue(mockedRequest, "chartOrientation")).thenReturn("vertical");
1558                 when(AppUtils.getRequestNvlValue(mockedRequest, "secondaryChartRenderer")).thenReturn("test");
1559                 when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D");
1560                 when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr);
1561                 when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test");
1562                 ServletContext servConxt = mock(ServletContext.class);
1563                 when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt);
1564                 when(servConxt.getRealPath(File.separator)).thenReturn("testpath");
1565                 when(rr.getChartType()).thenReturn("BarChart3D");
1566                 when(rr.getDisplayChart()).thenReturn(true);
1567                 ArrayList paramNamePDFValues = new ArrayList();
1568                 paramNamePDFValues.add("test1");
1569                 paramNamePDFValues.add("test2");
1570                 when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues);
1571                 when(rr.getFormFieldComments(mockedRequest)).thenReturn("test");
1572                 when(rr.getLegendPosition()).thenReturn("test");
1573                 when(rr.hideChartToolTips()).thenReturn(true);
1574                 when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y");
1575                 when(rr.getLegendLabelAngle()).thenReturn("test");
1576                 when(rr.getMaxLabelsInDomainAxis()).thenReturn("test");
1577                 when(rr.getRangeAxisLowerLimit()).thenReturn("10");
1578                 when(rr.getRangeAxisUpperLimit()).thenReturn("10");
1579                 when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y");
1580                 List chartGroups = new ArrayList<>();
1581                 chartGroups.add("test|123");
1582                 when(rr.getAllChartGroups()).thenReturn(chartGroups);
1583                 ReportParamValues reportValues = new ReportParamValues();
1584                 when(rr.getReportParamValues()).thenReturn(reportValues);
1585                 when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test");
1586                 when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test");
1587                 HashMap requestParams = new HashMap<>();
1588                 requestParams.put("", "test");
1589
1590                 DataSourceList dataSourceList = new DataSourceList();
1591
1592                 List<DataSourceType> list = new ArrayList<>();
1593                 DataSourceType dataSourceType = new DataSourceType();
1594                 dataSourceType.setTableName("test");
1595                 dataSourceType.setRefTableId("1");
1596                 dataSourceType.setTableId("1");
1597                 List<DataColumnType> dataColumnTypeList = new ArrayList<>();
1598                 DataColumnType dataColumnType = new DataColumnType();
1599                 dataColumnType.setChartGroup("test");
1600                 dataColumnType.setYAxis("test");
1601                 dataColumnType.setColName("chart_total");
1602                 dataColumnType.setColOnChart("LEGEND");
1603                 dataColumnType.setDisplayName("chart_total");
1604                 dataColumnType.setColId("1");
1605                 dataColumnType.setTableId("1");
1606                 dataColumnType.setDependsOnFormField("test");
1607                 dataColumnType.setColType("DATE");
1608                 dataColumnType.setCrossTabValue("ROW");
1609                 dataColumnType.setPdfDisplayWidthInPxls("0.0");
1610                 dataColumnType.setVisible(true);
1611                 dataColumnType.setCalculated(true);
1612                 dataColumnType.setColType("chart_total");
1613                 dataColumnTypeList.add(dataColumnType);
1614                 DataColumnType dataColumnType1 = new DataColumnType();
1615                 dataColumnType1.setCrossTabValue("COLUMN");
1616                 dataColumnType1.setColId("1");
1617                 dataColumnType1.setVisible(true);
1618                 dataColumnType1.setPdfDisplayWidthInPxls("1.0");
1619                 dataColumnTypeList.add(dataColumnType1);
1620
1621                 DataColumnList dataColumnList = new DataColumnList();
1622                 dataColumnList.dataColumn = dataColumnTypeList;
1623                 dataSourceType.setDataColumnList(dataColumnList);
1624                 list.add(dataSourceType);
1625                 dataSourceList.dataSource = list;
1626                 when(crType.getDataSourceList()).thenReturn(dataSourceList);
1627
1628                 when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams);
1629                 ds.set(0, "test");
1630                 when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds);
1631                 when(rr.hasSeriesColumn()).thenReturn(true);
1632                 TreeMap values = new TreeMap<>();
1633                 values.put("test", rr);
1634                 TreeMap values2 = new TreeMap<>();
1635                 values2.put("test3", rd);
1636                 TreeMap values3 = new TreeMap<>();
1637                 values3.put("test4", "c");
1638                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values);
1639                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2);
1640                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3);
1641
1642                 Mockito.when(rr.getAllColumns()).thenReturn(dataColumnTypeList);
1643                 ArrayList chartValueColAxis = new ArrayList();
1644                 chartValueColAxis.add("test|123");
1645                 Mockito.when(rr.getChartValueColumnAxisList(Matchers.anyInt(), Matchers.any(HashMap.class)))
1646                                 .thenReturn(chartValueColAxis);
1647
1648                 pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3);
1649         }
1650
1651         @Test(expected = java.lang.NullPointerException.class)
1652         public void createPdfFileContent13Test() throws Exception {
1653                 PowerMockito.mockStatic(Image.class);
1654                 Document doc = mock(Document.class);
1655                 CustomReportType crType = mock(CustomReportType.class);
1656                 DataSet ds = mock(DataSet.class);
1657                 PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc);
1658                 PowerMockito.when(doc.newPage()).thenReturn(true);
1659                 Rectangle rectangle = Mockito.mock(Rectangle.class);
1660                 Mockito.when(doc.getPageSize()).thenReturn(rectangle);
1661                 Mockito.when(rectangle.rotate()).thenReturn(rectangle);
1662                 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
1663                 ReportRuntime rr = mock(ReportRuntime.class);
1664                 ReportData rd = mock(ReportData.class);
1665                 when(Globals.isCoverPageNeeded()).thenReturn(true);
1666                 when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1");
1667                 when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1");
1668                 when(rr.isPDFCoverPage()).thenReturn(true);
1669                 when(rr.getReportID()).thenReturn("test");
1670                 when(rr.getPDFOrientation()).thenReturn("portait");
1671                 when(AppUtils.getRequestNvlValue(mockedRequest, "chartOrientation")).thenReturn("vertical");
1672                 when(AppUtils.getRequestNvlValue(mockedRequest, "secondaryChartRenderer")).thenReturn("test");
1673                 when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D");
1674                 when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr);
1675                 when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test");
1676                 ServletContext servConxt = mock(ServletContext.class);
1677                 when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt);
1678                 when(servConxt.getRealPath(File.separator)).thenReturn("testpath");
1679                 when(rr.getChartType()).thenReturn("");
1680                 when(rr.getDisplayChart()).thenReturn(true);
1681                 ArrayList paramNamePDFValues = new ArrayList();
1682                 paramNamePDFValues.add("test1");
1683                 paramNamePDFValues.add("test2");
1684                 when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues);
1685                 when(rr.getFormFieldComments(mockedRequest)).thenReturn("test");
1686                 when(rr.getLegendPosition()).thenReturn("test");
1687                 when(rr.hideChartToolTips()).thenReturn(true);
1688                 when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y");
1689                 when(rr.getLegendLabelAngle()).thenReturn("test");
1690                 when(rr.getMaxLabelsInDomainAxis()).thenReturn("test");
1691                 when(rr.getRangeAxisLowerLimit()).thenReturn("10");
1692                 when(rr.getRangeAxisUpperLimit()).thenReturn("10");
1693                 when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y");
1694                 List chartGroups = new ArrayList<>();
1695                 chartGroups.add("test|123");
1696                 when(rr.getAllChartGroups()).thenReturn(chartGroups);
1697                 ReportParamValues reportValues = new ReportParamValues();
1698                 when(rr.getReportParamValues()).thenReturn(reportValues);
1699                 when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test");
1700                 when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test");
1701                 HashMap requestParams = new HashMap<>();
1702                 requestParams.put("", "test");
1703
1704                 DataSourceList dataSourceList = new DataSourceList();
1705
1706                 List<DataSourceType> list = new ArrayList<>();
1707                 DataSourceType dataSourceType = new DataSourceType();
1708                 dataSourceType.setTableName("test");
1709                 dataSourceType.setRefTableId("1");
1710                 dataSourceType.setTableId("1");
1711                 List<DataColumnType> dataColumnTypeList = new ArrayList<>();
1712                 DataColumnType dataColumnType = new DataColumnType();
1713                 dataColumnType.setChartGroup("test");
1714                 dataColumnType.setYAxis("test");
1715                 dataColumnType.setColName("chart_total");
1716                 dataColumnType.setColOnChart("LEGEND");
1717                 dataColumnType.setDisplayName("chart_total");
1718                 dataColumnType.setColId("1");
1719                 dataColumnType.setTableId("1");
1720                 dataColumnType.setDependsOnFormField("test");
1721                 dataColumnType.setColType("DATE");
1722                 dataColumnType.setCrossTabValue("ROW");
1723                 dataColumnType.setPdfDisplayWidthInPxls("0.0");
1724                 dataColumnType.setVisible(true);
1725                 dataColumnType.setCalculated(true);
1726                 dataColumnType.setColType("chart_total");
1727                 dataColumnTypeList.add(dataColumnType);
1728                 DataColumnType dataColumnType1 = new DataColumnType();
1729                 dataColumnType1.setCrossTabValue("COLUMN");
1730                 dataColumnType1.setColId("1");
1731                 dataColumnType1.setVisible(true);
1732                 dataColumnType1.setPdfDisplayWidthInPxls("1.0");
1733                 dataColumnTypeList.add(dataColumnType1);
1734
1735                 DataColumnList dataColumnList = new DataColumnList();
1736                 dataColumnList.dataColumn = dataColumnTypeList;
1737                 dataSourceType.setDataColumnList(dataColumnList);
1738                 list.add(dataSourceType);
1739                 dataSourceList.dataSource = list;
1740                 when(crType.getDataSourceList()).thenReturn(dataSourceList);
1741
1742                 when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams);
1743                 ds.set(0, "test");
1744                 when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds);
1745                 when(rr.hasSeriesColumn()).thenReturn(true);
1746                 TreeMap values = new TreeMap<>();
1747                 values.put("test", rr);
1748                 TreeMap values2 = new TreeMap<>();
1749                 values2.put("test3", rd);
1750                 TreeMap values3 = new TreeMap<>();
1751                 values3.put("test4", "c");
1752                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values);
1753                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2);
1754                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3);
1755
1756                 Mockito.when(rr.getAllColumns()).thenReturn(dataColumnTypeList);
1757                 ArrayList chartValueColAxis = new ArrayList();
1758                 chartValueColAxis.add("test|123");
1759                 Mockito.when(rr.getChartValueColumnAxisList(Matchers.anyInt(), Matchers.any(HashMap.class)))
1760                                 .thenReturn(chartValueColAxis);
1761                 Mockito.when(rr.getReportType()).thenReturn("Linear");
1762
1763                 ReportDataRows reportDataRows = new ReportDataRows();
1764                 DataRow dataRow1 = new DataRow();
1765                 DataRow dataRow = new DataRow();
1766                 DataRow dataRow2 = new DataRow();
1767
1768                 ArrayList dataValueList = new ArrayList<>();
1769                 DataValue value = new DataValue();
1770                 value.setColId("test");
1771                 value.setVisible(true);
1772                 value.setBold(true);
1773                 HtmlFormatter cfmt = new HtmlFormatter();
1774                 value.setCellFormatter(cfmt);
1775                 DataValue value1 = new DataValue();
1776                 HtmlFormatter cfmt1 = new HtmlFormatter();
1777                 cfmt1.setBold(true);
1778                 cfmt1.setItalic(true);
1779                 cfmt1.setUnderline(true);
1780                 cfmt1.setFontColor("red");
1781                 cfmt1.setFontSize("1.1");
1782                 value1.setRowFormatter(cfmt1);
1783
1784                 DataValue value2 = new DataValue();
1785                 value2.setColId("test");
1786                 value2.setVisible(true);
1787                 value2.setBold(true);
1788                 dataValueList.add(value);
1789                 dataValueList.add(value1);
1790                 dataValueList.add(value2);
1791                 dataRow.addDataValue(value);
1792                 dataRow.addDataValue(value1);
1793                 dataRow.addDataValue(value2);
1794                 dataRow.setDataValueList(dataValueList);
1795
1796                 dataRow2.addDataValue(value);
1797                 dataRow2.addDataValue(value1);
1798                 dataRow2.addDataValue(value2);
1799                 dataRow2.setDataValueList(dataValueList);
1800
1801                 dataRow1.addDataValue(value);
1802                 dataRow1.addDataValue(value1);
1803                 dataRow1.addDataValue(value2);
1804                 dataRow1.setDataValueList(dataValueList);
1805
1806                 reportDataRows.addDataRow(dataRow1);
1807                 reportDataRows.add(dataRow1);
1808                 reportDataRows.addDataRow(dataRow2);
1809                 reportDataRows.add(dataRow2);
1810                 reportDataRows.addDataRow(dataRow);
1811                 reportDataRows.add(dataRow);
1812
1813                 rd.reportDataRows = reportDataRows;
1814
1815                 ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows();
1816                 ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow();
1817                 ColumnHeader columnHeader = new ColumnHeader();
1818                 columnHeaderRow.add(columnHeader);
1819                 ColumnHeader columnHeader1 = new ColumnHeader();
1820                 columnHeader1.setRowSpan(1);
1821                 columnHeaderRow.add(columnHeader1);
1822                 reportColumnHeaderRows.add(columnHeaderRow);
1823                 rd.reportColumnHeaderRows = reportColumnHeaderRows;
1824
1825                 ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols();
1826                 RowHeaderCol rowHeaderCol = new RowHeaderCol();
1827
1828                 RowHeader rowHeader = new RowHeader();
1829                 RowHeader rowHeader1 = new RowHeader();
1830                 RowHeader rowHeader2 = new RowHeader();
1831
1832                 rowHeader.setBold(false);
1833                 rowHeader1.setBold(true);
1834                 rowHeaderCol.add(rowHeader);
1835                 rowHeaderCol.add(rowHeader1);
1836                 rowHeaderCol.add(rowHeader2);
1837
1838                 RowHeaderCol rowHeaderCol1 = new RowHeaderCol();
1839
1840                 rowHeaderCol1.add(rowHeader);
1841                 rowHeaderCol1.add(rowHeader1);
1842                 rowHeaderCol1.add(rowHeader2);
1843
1844                 reportRowHeaderCols.addRowHeaderCol(rowHeaderCol);
1845
1846                 reportRowHeaderCols.addRowHeaderCol(rowHeaderCol1);
1847                 rd.reportRowHeaderCols = reportRowHeaderCols;
1848
1849                 PowerMockito.whenNew(ReportHandler.class).withNoArguments().thenReturn(reportHandler);
1850                 Mockito.when(reportHandler.loadReportDefinition(Matchers.any(HttpServletRequest.class), Matchers.anyString()))
1851                                 .thenReturn(rdef);
1852                 Mockito.when(reportHandler.loadReportRuntime(Matchers.any(HttpServletRequest.class), Matchers.anyString(),
1853                                 Matchers.anyBoolean(), Matchers.anyInt())).thenReturn(rr);
1854                 Mockito.when(rr.getPDFOrientation()).thenReturn("orientation");
1855                 Mockito.when(rdef.getVisibleColumnCount()).thenReturn(1);
1856                 Mockito.when(Globals.getDataTableHeaderFontColor()).thenReturn("test");
1857                 PowerMockito.mockStatic(Color.class);
1858                 Color color = new Color(1);
1859                 Mockito.when(Color.decode(Matchers.anyString())).thenReturn(color);
1860                 Mockito.when(Globals.getDataFontSizeOffset()).thenReturn((float) 1.0);
1861                 pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3);
1862         }
1863
1864         @Test
1865         public void createPdfFileContent14Test() throws Exception {
1866                 PowerMockito.mockStatic(Image.class);
1867                 Document doc = mock(Document.class);
1868                 CustomReportType crType = mock(CustomReportType.class);
1869                 DataSet ds = mock(DataSet.class);
1870                 PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc);
1871                 PowerMockito.when(doc.newPage()).thenReturn(true);
1872                 Rectangle rectangle = Mockito.mock(Rectangle.class);
1873                 Mockito.when(doc.getPageSize()).thenReturn(rectangle);
1874                 Mockito.when(rectangle.rotate()).thenReturn(rectangle);
1875                 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
1876                 ReportRuntime rr = mock(ReportRuntime.class);
1877                 ReportData rd = mock(ReportData.class);
1878                 when(Globals.isCoverPageNeeded()).thenReturn(true);
1879                 when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1");
1880                 when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1");
1881                 when(rr.isPDFCoverPage()).thenReturn(true);
1882                 when(rr.getReportID()).thenReturn("test");
1883                 when(rr.getPDFOrientation()).thenReturn("portait");
1884                 when(AppUtils.getRequestNvlValue(mockedRequest, "chartOrientation")).thenReturn("vertical");
1885                 when(AppUtils.getRequestNvlValue(mockedRequest, "secondaryChartRenderer")).thenReturn("test");
1886                 when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D");
1887                 when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr);
1888                 when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test");
1889                 ServletContext servConxt = mock(ServletContext.class);
1890                 when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt);
1891                 when(servConxt.getRealPath(File.separator)).thenReturn("testpath");
1892                 when(rr.getChartType()).thenReturn("");
1893                 when(rr.getDisplayChart()).thenReturn(true);
1894                 ArrayList paramNamePDFValues = new ArrayList();
1895                 paramNamePDFValues.add("test1");
1896                 paramNamePDFValues.add("test2");
1897                 when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues);
1898                 when(rr.getFormFieldComments(mockedRequest)).thenReturn("test");
1899                 when(rr.getLegendPosition()).thenReturn("test");
1900                 when(rr.hideChartToolTips()).thenReturn(true);
1901                 when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y");
1902                 when(rr.getLegendLabelAngle()).thenReturn("test");
1903                 when(rr.getMaxLabelsInDomainAxis()).thenReturn("test");
1904                 when(rr.getRangeAxisLowerLimit()).thenReturn("10");
1905                 when(rr.getRangeAxisUpperLimit()).thenReturn("10");
1906                 when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y");
1907                 List chartGroups = new ArrayList<>();
1908                 chartGroups.add("test|123");
1909                 when(rr.getAllChartGroups()).thenReturn(chartGroups);
1910                 ReportParamValues reportValues = new ReportParamValues();
1911                 when(rr.getReportParamValues()).thenReturn(reportValues);
1912                 when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test");
1913                 when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test");
1914                 HashMap requestParams = new HashMap<>();
1915                 requestParams.put("", "test");
1916
1917                 DataSourceList dataSourceList = new DataSourceList();
1918
1919                 List<DataSourceType> list = new ArrayList<>();
1920                 DataSourceType dataSourceType = new DataSourceType();
1921                 dataSourceType.setTableName("test");
1922                 dataSourceType.setRefTableId("1");
1923                 dataSourceType.setTableId("1");
1924                 List<DataColumnType> dataColumnTypeList = new ArrayList<>();
1925                 DataColumnType dataColumnType = new DataColumnType();
1926                 dataColumnType.setChartGroup("test");
1927                 dataColumnType.setYAxis("test");
1928                 dataColumnType.setColName("chart_total");
1929                 dataColumnType.setColOnChart("LEGEND");
1930                 dataColumnType.setDisplayName("chart_total");
1931                 dataColumnType.setColId("1");
1932                 dataColumnType.setTableId("1");
1933                 dataColumnType.setDependsOnFormField("test");
1934                 dataColumnType.setColType("DATE");
1935                 dataColumnType.setCrossTabValue("ROW");
1936                 dataColumnType.setPdfDisplayWidthInPxls("0.0");
1937                 dataColumnType.setVisible(true);
1938                 dataColumnType.setCalculated(true);
1939                 dataColumnType.setColType("chart_total");
1940                 dataColumnTypeList.add(dataColumnType);
1941                 DataColumnType dataColumnType1 = new DataColumnType();
1942                 dataColumnType1.setCrossTabValue("COLUMN");
1943                 dataColumnType1.setColId("1");
1944                 dataColumnType1.setVisible(true);
1945                 dataColumnType1.setPdfDisplayWidthInPxls("1.0");
1946                 dataColumnTypeList.add(dataColumnType1);
1947
1948                 DataColumnList dataColumnList = new DataColumnList();
1949                 dataColumnList.dataColumn = dataColumnTypeList;
1950                 dataSourceType.setDataColumnList(dataColumnList);
1951                 list.add(dataSourceType);
1952                 dataSourceList.dataSource = list;
1953                 when(crType.getDataSourceList()).thenReturn(dataSourceList);
1954
1955                 when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams);
1956                 ds.set(0, "test");
1957                 when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds);
1958                 when(rr.hasSeriesColumn()).thenReturn(true);
1959                 TreeMap values = new TreeMap<>();
1960                 values.put("test", rr);
1961                 TreeMap values2 = new TreeMap<>();
1962                 values2.put("test3", rd);
1963                 TreeMap values3 = new TreeMap<>();
1964                 values3.put("test4", "c");
1965                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values);
1966                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2);
1967                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3);
1968
1969                 Mockito.when(rr.getAllColumns()).thenReturn(dataColumnTypeList);
1970                 ArrayList chartValueColAxis = new ArrayList();
1971                 chartValueColAxis.add("test|123");
1972                 Mockito.when(rr.getChartValueColumnAxisList(Matchers.anyInt(), Matchers.any(HashMap.class)))
1973                                 .thenReturn(chartValueColAxis);
1974                 Mockito.when(rr.getReportType()).thenReturn("Linear");
1975
1976                 ReportDataRows reportDataRows1 = new ReportDataRows();
1977
1978                 rd.reportDataRows = reportDataRows1;
1979
1980                 ReportDataRows reportDataRows = new ReportDataRows();
1981                 DataRow dataRow1 = new DataRow();
1982                 DataRow dataRow = new DataRow();
1983
1984                 DataValue value = new DataValue();
1985                 DataValue value1 = new DataValue();
1986                 dataRow1.addDataValue(value);
1987                 dataRow1.addDataValue(value1);
1988                 reportDataRows.addDataRow(dataRow1);
1989                 reportDataRows.add(dataRow1);
1990                 reportDataRows.addDataRow(dataRow);
1991                 reportDataRows.add(dataRow);
1992                 rd.reportDataTotalRow = reportDataRows;
1993
1994                 ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows();
1995                 ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow();
1996                 ColumnHeader columnHeader = new ColumnHeader();
1997                 columnHeaderRow.add(columnHeader);
1998                 ColumnHeader columnHeader1 = new ColumnHeader();
1999                 columnHeader1.setRowSpan(1);
2000                 columnHeaderRow.add(columnHeader1);
2001                 reportColumnHeaderRows.add(columnHeaderRow);
2002                 rd.reportColumnHeaderRows = reportColumnHeaderRows;
2003
2004                 ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols();
2005                 RowHeaderCol rowHeaderCol = new RowHeaderCol();
2006
2007                 RowHeader rowHeader = new RowHeader();
2008                 RowHeader rowHeader1 = new RowHeader();
2009                 RowHeader rowHeader2 = new RowHeader();
2010
2011                 rowHeader.setBold(false);
2012                 rowHeader1.setBold(true);
2013                 rowHeaderCol.add(rowHeader);
2014                 rowHeaderCol.add(rowHeader1);
2015                 rowHeaderCol.add(rowHeader2);
2016
2017                 RowHeaderCol rowHeaderCol1 = new RowHeaderCol();
2018
2019                 rowHeaderCol1.add(rowHeader);
2020                 rowHeaderCol1.add(rowHeader1);
2021                 rowHeaderCol1.add(rowHeader2);
2022
2023                 reportRowHeaderCols.addRowHeaderCol(rowHeaderCol);
2024
2025                 reportRowHeaderCols.addRowHeaderCol(rowHeaderCol1);
2026                 rd.reportRowHeaderCols = reportRowHeaderCols;
2027
2028                 PowerMockito.whenNew(ReportHandler.class).withNoArguments().thenReturn(reportHandler);
2029                 Mockito.when(reportHandler.loadReportDefinition(Matchers.any(HttpServletRequest.class), Matchers.anyString()))
2030                                 .thenReturn(rdef);
2031                 Mockito.when(reportHandler.loadReportRuntime(Matchers.any(HttpServletRequest.class), Matchers.anyString(),
2032                                 Matchers.anyBoolean(), Matchers.anyInt())).thenReturn(rr);
2033                 Mockito.when(rr.getPDFOrientation()).thenReturn("orientation");
2034                 Mockito.when(rdef.getVisibleColumnCount()).thenReturn(1);
2035                 Mockito.when(Globals.getDataTableHeaderFontColor()).thenReturn("test");
2036                 PowerMockito.mockStatic(Color.class);
2037                 Color color = new Color(1);
2038                 Mockito.when(Color.decode(Matchers.anyString())).thenReturn(color);
2039                 Mockito.when(Globals.getDataFontSizeOffset()).thenReturn((float) 1.0);
2040                 when(mockedRequest.getSession().getAttribute("FOOTER_0")).thenReturn("footer");
2041                 pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3);
2042         }
2043
2044         @Test
2045         public void createPdfFileContent15Test() throws Exception {
2046                 PowerMockito.mockStatic(Image.class);
2047                 Document doc = mock(Document.class);
2048                 CustomReportType crType = mock(CustomReportType.class);
2049                 DataSet ds = mock(DataSet.class);
2050                 PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc);
2051                 PowerMockito.when(doc.newPage()).thenReturn(true);
2052                 Rectangle rectangle = Mockito.mock(Rectangle.class);
2053                 Mockito.when(doc.getPageSize()).thenReturn(rectangle);
2054                 Mockito.when(rectangle.rotate()).thenReturn(rectangle);
2055                 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
2056                 ReportRuntime rr = mock(ReportRuntime.class);
2057                 ReportData rd = mock(ReportData.class);
2058                 when(Globals.isCoverPageNeeded()).thenReturn(true);
2059                 when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1");
2060                 when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1");
2061                 when(rr.isPDFCoverPage()).thenReturn(true);
2062                 when(rr.getReportID()).thenReturn("test");
2063                 when(rr.getPDFOrientation()).thenReturn("portait");
2064                 when(AppUtils.getRequestNvlValue(mockedRequest, "chartOrientation")).thenReturn("vertical");
2065                 when(AppUtils.getRequestNvlValue(mockedRequest, "secondaryChartRenderer")).thenReturn("test");
2066                 when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D");
2067                 when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr);
2068                 when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test");
2069                 ServletContext servConxt = mock(ServletContext.class);
2070                 when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt);
2071                 when(servConxt.getRealPath(File.separator)).thenReturn("testpath");
2072                 when(rr.getChartType()).thenReturn("");
2073                 when(rr.getDisplayChart()).thenReturn(true);
2074                 ArrayList paramNamePDFValues = new ArrayList();
2075                 paramNamePDFValues.add("test1");
2076                 paramNamePDFValues.add("test2");
2077                 when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues);
2078                 when(rr.getFormFieldComments(mockedRequest)).thenReturn("test");
2079                 when(rr.getLegendPosition()).thenReturn("test");
2080                 when(rr.hideChartToolTips()).thenReturn(true);
2081                 when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y");
2082                 when(rr.getLegendLabelAngle()).thenReturn("test");
2083                 when(rr.getMaxLabelsInDomainAxis()).thenReturn("test");
2084                 when(rr.getRangeAxisLowerLimit()).thenReturn("10");
2085                 when(rr.getRangeAxisUpperLimit()).thenReturn("10");
2086                 when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y");
2087                 List chartGroups = new ArrayList<>();
2088                 chartGroups.add("test|123");
2089                 when(rr.getAllChartGroups()).thenReturn(chartGroups);
2090                 ReportParamValues reportValues = new ReportParamValues();
2091                 when(rr.getReportParamValues()).thenReturn(reportValues);
2092                 when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test");
2093                 when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test");
2094                 HashMap requestParams = new HashMap<>();
2095                 requestParams.put("", "test");
2096
2097                 DataSourceList dataSourceList = new DataSourceList();
2098
2099                 List<DataSourceType> list = new ArrayList<>();
2100                 DataSourceType dataSourceType = new DataSourceType();
2101                 dataSourceType.setTableName("test");
2102                 dataSourceType.setRefTableId("1");
2103                 dataSourceType.setTableId("1");
2104                 List<DataColumnType> dataColumnTypeList = new ArrayList<>();
2105                 DataColumnType dataColumnType = new DataColumnType();
2106                 dataColumnType.setChartGroup("test");
2107                 dataColumnType.setYAxis("test");
2108                 dataColumnType.setColName("chart_total");
2109                 dataColumnType.setColOnChart("LEGEND");
2110                 dataColumnType.setDisplayName("chart_total");
2111                 dataColumnType.setColId("1");
2112                 dataColumnType.setTableId("1");
2113                 dataColumnType.setDependsOnFormField("test");
2114                 dataColumnType.setColType("DATE");
2115                 dataColumnType.setCrossTabValue("ROW");
2116                 dataColumnType.setPdfDisplayWidthInPxls("0.0");
2117                 dataColumnType.setVisible(true);
2118                 dataColumnType.setCalculated(true);
2119                 dataColumnType.setColType("chart_total");
2120                 dataColumnTypeList.add(dataColumnType);
2121                 DataColumnType dataColumnType1 = new DataColumnType();
2122                 dataColumnType1.setCrossTabValue("COLUMN");
2123                 dataColumnType1.setColId("1");
2124                 dataColumnType1.setVisible(true);
2125                 dataColumnType1.setPdfDisplayWidthInPxls("1.0");
2126                 dataColumnTypeList.add(dataColumnType1);
2127
2128                 DataColumnList dataColumnList = new DataColumnList();
2129                 dataColumnList.dataColumn = dataColumnTypeList;
2130                 dataSourceType.setDataColumnList(dataColumnList);
2131                 list.add(dataSourceType);
2132                 dataSourceList.dataSource = list;
2133                 when(crType.getDataSourceList()).thenReturn(dataSourceList);
2134
2135                 when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams);
2136                 ds.set(0, "test");
2137                 when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds);
2138                 when(rr.hasSeriesColumn()).thenReturn(true);
2139                 TreeMap values = new TreeMap<>();
2140                 values.put("test", rr);
2141                 TreeMap values2 = new TreeMap<>();
2142                 values2.put("test3", rd);
2143                 TreeMap values3 = new TreeMap<>();
2144                 values3.put("test4", "c");
2145                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values);
2146                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2);
2147                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3);
2148
2149                 Mockito.when(rr.getAllColumns()).thenReturn(dataColumnTypeList);
2150                 ArrayList chartValueColAxis = new ArrayList();
2151                 chartValueColAxis.add("test|123");
2152                 Mockito.when(rr.getChartValueColumnAxisList(Matchers.anyInt(), Matchers.any(HashMap.class)))
2153                                 .thenReturn(chartValueColAxis);
2154                 Mockito.when(rr.getReportType()).thenReturn("Cross-Tab");
2155
2156                 ReportDataRows reportDataRows1 = new ReportDataRows();
2157
2158                 rd.reportDataRows = reportDataRows1;
2159
2160                 ReportDataRows reportDataRows = new ReportDataRows();
2161                 DataRow dataRow1 = new DataRow();
2162                 DataRow dataRow = new DataRow();
2163
2164                 DataValue value = new DataValue();
2165                 DataValue value1 = new DataValue();
2166                 dataRow1.addDataValue(value);
2167                 dataRow1.addDataValue(value1);
2168                 reportDataRows.addDataRow(dataRow1);
2169                 reportDataRows.add(dataRow1);
2170                 reportDataRows.addDataRow(dataRow);
2171                 reportDataRows.add(dataRow);
2172                 rd.reportDataTotalRow = reportDataRows;
2173
2174                 ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows();
2175                 ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow();
2176                 ColumnHeader columnHeader = new ColumnHeader();
2177                 columnHeaderRow.add(columnHeader);
2178                 ColumnHeader columnHeader1 = new ColumnHeader();
2179                 columnHeader1.setRowSpan(1);
2180                 columnHeaderRow.add(columnHeader1);
2181                 reportColumnHeaderRows.add(columnHeaderRow);
2182                 rd.reportColumnHeaderRows = reportColumnHeaderRows;
2183
2184                 ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols();
2185                 RowHeaderCol rowHeaderCol = new RowHeaderCol();
2186
2187                 RowHeader rowHeader = new RowHeader();
2188                 RowHeader rowHeader1 = new RowHeader();
2189                 RowHeader rowHeader2 = new RowHeader();
2190
2191                 rowHeader.setBold(false);
2192                 rowHeader1.setBold(true);
2193                 rowHeaderCol.add(rowHeader);
2194                 rowHeaderCol.add(rowHeader1);
2195                 rowHeaderCol.add(rowHeader2);
2196
2197                 RowHeaderCol rowHeaderCol1 = new RowHeaderCol();
2198
2199                 rowHeaderCol1.add(rowHeader);
2200                 rowHeaderCol1.add(rowHeader1);
2201                 rowHeaderCol1.add(rowHeader2);
2202
2203                 reportRowHeaderCols.addRowHeaderCol(rowHeaderCol);
2204
2205                 reportRowHeaderCols.addRowHeaderCol(rowHeaderCol1);
2206                 rd.reportRowHeaderCols = reportRowHeaderCols;
2207
2208                 PowerMockito.whenNew(ReportHandler.class).withNoArguments().thenReturn(reportHandler);
2209                 Mockito.when(reportHandler.loadReportDefinition(Matchers.any(HttpServletRequest.class), Matchers.anyString()))
2210                                 .thenReturn(rdef);
2211                 Mockito.when(reportHandler.loadReportRuntime(Matchers.any(HttpServletRequest.class), Matchers.anyString(),
2212                                 Matchers.anyBoolean(), Matchers.anyInt())).thenReturn(rr);
2213                 Mockito.when(rr.getPDFOrientation()).thenReturn("orientation");
2214                 Mockito.when(rdef.getVisibleColumnCount()).thenReturn(1);
2215                 Mockito.when(Globals.getDataTableHeaderFontColor()).thenReturn("test");
2216                 PowerMockito.mockStatic(Color.class);
2217                 Color color = new Color(1);
2218                 Mockito.when(Color.decode(Matchers.anyString())).thenReturn(color);
2219                 Mockito.when(Globals.getDataFontSizeOffset()).thenReturn((float) 1.0);
2220                 when(mockedRequest.getSession().getAttribute("FOOTER_0")).thenReturn("footer");
2221
2222                 List getReportDataList = new ArrayList<>();
2223                 getReportDataList.add(dataRow);
2224                 getReportDataList.add(dataRow1);
2225                 Mockito.when(rd.getReportDataList()).thenReturn(getReportDataList);
2226
2227                 Vector<DataValue> rowValues = new Vector();
2228                 rowValues.add(value1);
2229                 rowValues.add(value1);
2230
2231                 ArrayList dataValueList = new ArrayList<>();
2232                 value.setColId("test");
2233                 value.setVisible(true);
2234                 DataValue value2 = new DataValue();
2235                 HtmlFormatter cfmt = new HtmlFormatter();
2236                 value.setCellFormatter(cfmt);
2237
2238                 dataValueList.add(value);
2239                 dataValueList.add(value1);
2240                 dataValueList.add(value2);
2241                 dataRow.addDataValue(value);
2242                 dataRow.addDataValue(value1);
2243                 dataRow.addDataValue(value2);
2244                 dataRow.setDataValueList(dataValueList);
2245                 dataRow1.setDataValueList(dataValueList);
2246
2247                 dataRow.setRowValues(rowValues);
2248                 dataRow1.setRowValues(rowValues);
2249                 pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3);
2250         }
2251
2252         @Test
2253         public void createPdfFileContent_case15Test() throws Exception {
2254                 PowerMockito.mockStatic(Image.class);
2255                 Document doc = mock(Document.class);
2256                 CustomReportType crType = mock(CustomReportType.class);
2257
2258                 DataSet ds = mock(DataSet.class);
2259                 PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc);
2260                 PowerMockito.when(doc.newPage()).thenReturn(true);
2261                 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
2262                 ReportRuntime rr = mock(ReportRuntime.class);
2263                 ReportData rd = mock(ReportData.class);
2264
2265                 ReportDataRows reportDataRows = new ReportDataRows();
2266                 DataRow dataRow1 = new DataRow();
2267                 DataRow dataRow = new DataRow();
2268                 DataValue value = new DataValue();
2269                 DataValue value1 = new DataValue();
2270                 dataRow1.addDataValue(value);
2271                 dataRow1.addDataValue(value1);
2272                 reportDataRows.addDataRow(dataRow1);
2273                 reportDataRows.add(dataRow1);
2274                 reportDataRows.addDataRow(dataRow);
2275                 reportDataRows.add(dataRow);
2276                 rd.reportDataRows = reportDataRows;
2277
2278                 ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows();
2279                 ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow();
2280                 ColumnHeader columnHeader = new ColumnHeader();
2281                 columnHeaderRow.add(columnHeader);
2282                 ColumnHeader columnHeader1 = new ColumnHeader();
2283                 columnHeader1.setRowSpan(1);
2284                 columnHeaderRow.add(columnHeader1);
2285                 reportColumnHeaderRows.add(columnHeaderRow);
2286                 rd.reportColumnHeaderRows = reportColumnHeaderRows;
2287
2288                 ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols();
2289                 RowHeaderCol rowHeaderCol = new RowHeaderCol();
2290                 rowHeaderCol.add("test");
2291                 RowHeaderCol rowHeaderCol1 = new RowHeaderCol();
2292                 rowHeaderCol1.add("test1");
2293                 reportRowHeaderCols.addRowHeaderCol(rowHeaderCol);
2294                 reportRowHeaderCols.addRowHeaderCol(rowHeaderCol1);
2295                 rd.reportRowHeaderCols = reportRowHeaderCols;
2296
2297                 ReportDataRows rdr = new ReportDataRows();
2298                 Connection conn = mock(Connection.class);
2299                 Statement st = mock(Statement.class);
2300                 ResultSet resSet = mock(ResultSet.class);
2301                 ResultSetMetaData resSetMD = mock(ResultSetMetaData.class);
2302                 DataRow dr = new DataRow();
2303                 rdr.add(dr);
2304                 rd.reportDataRows = rdr;
2305                 when(Globals.isCoverPageNeeded()).thenReturn(true);
2306                 when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1");
2307                 when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1");
2308                 when(rr.isPDFCoverPage()).thenReturn(true);
2309                 when(rr.getReportID()).thenReturn("test");
2310                 when(rr.getPDFOrientation()).thenReturn("portait");
2311                 when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieOrder")).thenReturn("row");
2312                 when(AppUtils.getRequestNvlValue(mockedRequest, "multiplePieLabelDisplay")).thenReturn("test");
2313                 when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D");
2314                 when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr);
2315                 when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test");
2316                 ServletContext servConxt = mock(ServletContext.class);
2317                 when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt);
2318                 when(servConxt.getRealPath(File.separator)).thenReturn("testpath");
2319                 when(rr.getChartType()).thenReturn(AppConstants.GT_PIE_MULTIPLE);
2320                 when(rr.getDisplayChart()).thenReturn(true);
2321                 ArrayList paramNamePDFValues = new ArrayList();
2322                 paramNamePDFValues.add("test1");
2323                 paramNamePDFValues.add("test2");
2324                 when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues);
2325                 when(rr.getFormFieldComments(mockedRequest)).thenReturn("test");
2326                 when(rr.getLegendPosition()).thenReturn("test");
2327                 when(rr.hideChartToolTips()).thenReturn(true);
2328                 when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y");
2329                 when(rr.getLegendLabelAngle()).thenReturn("test");
2330                 when(rr.getMaxLabelsInDomainAxis()).thenReturn("test");
2331                 when(rr.getRangeAxisLowerLimit()).thenReturn("10");
2332                 when(rr.getRangeAxisUpperLimit()).thenReturn("10");
2333                 when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y");
2334                 List chartGroups = new ArrayList<>();
2335                 when(rr.getAllChartGroups()).thenReturn(chartGroups);
2336                 ReportParamValues reportValues = new ReportParamValues();
2337                 when(rr.getReportParamValues()).thenReturn(reportValues);
2338                 when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test");
2339                 when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test");
2340                 HashMap requestParams = new HashMap<>();
2341                 requestParams.put("", "test");
2342
2343                 DataSourceList dataSourceList = new DataSourceList();
2344
2345                 when(crType.getDataSourceList()).thenReturn(dataSourceList);
2346
2347                 when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams);
2348                 ds.set(0, "test");
2349                 when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds);
2350                 when(rr.hasSeriesColumn()).thenReturn(true);
2351                 TreeMap values = new TreeMap<>();
2352                 values.put("test", rr);
2353                 TreeMap values2 = new TreeMap<>();
2354                 values2.put("test3", rd);
2355                 TreeMap values3 = new TreeMap<>();
2356                 values3.put("test4", "c");
2357                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values);
2358                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2);
2359                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3);
2360                 Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REP_ID)).thenReturn("test123");
2361                 List newlist = new ArrayList<>();
2362                 newlist.add(1);
2363                 Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_FORMFIELD_DOWNLOAD_INFO))
2364                                 .thenReturn(newlist);
2365                 when(mockedRequest.getSession().getAttribute(AppConstants.RI_REPORT_DATA)).thenReturn(rd);
2366                 Mockito.when(rr.getReportType()).thenReturn("Linear");
2367                 Mockito.when(rd.getTotalColumnCount()).thenReturn(2);
2368                 PowerMockito.whenNew(ReportHandler.class).withNoArguments().thenReturn(reportHandler);
2369                 Mockito.when(reportHandler.loadReportDefinition(Matchers.any(HttpServletRequest.class), Matchers.anyString()))
2370                                 .thenReturn(rdef);
2371                 Mockito.when(rdef.getVisibleColumnCount()).thenReturn(2);
2372
2373                 List<DataColumnType> dataColumnTypeList = mockDataList();
2374                 List<DataColumnType> dataColumnTypeList1 = new ArrayList<>();
2375                 Mockito.when(rdef.getAllColumns()).thenReturn(dataColumnTypeList);
2376                 Mockito.when(Globals.getDataTableHeaderFontColor()).thenReturn("test");
2377                 PowerMockito.mockStatic(Color.class);
2378                 Color color = new Color(1);
2379                 Mockito.when(Color.decode(Matchers.anyString())).thenReturn(color);
2380                 when(mockedRequest.getSession().getAttribute("TITLE_0")).thenReturn("title");
2381                 when(mockedRequest.getSession().getAttribute("drilldown_index")).thenReturn("drilldown_index");
2382                 when(mockedRequest.getSession().getAttribute("SUBTITLE_0")).thenReturn("subtitle");
2383                 Mockito.when(mockedRequest.getAttribute(AppConstants.RI_REPORT_SQL_WHOLE)).thenReturn("test");
2384                 PowerMockito.mockStatic(ConnectionUtils.class);
2385
2386                 Mockito.when(ConnectionUtils.getConnection(Matchers.anyString())).thenReturn(conn);
2387                 Mockito.when(conn.createStatement()).thenReturn(st);
2388                 Mockito.when(st.executeQuery(Matchers.anyString())).thenReturn(resSet);
2389                 Mockito.when(resSet.getMetaData()).thenReturn(resSetMD);
2390                 Mockito.when(resSetMD.getColumnCount()).thenReturn(2);
2391                 Mockito.when(resSet.next()).thenReturn(false);
2392
2393                 rd.reportDataTotalRow = reportDataRows;
2394                 pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 3);
2395         }
2396
2397         @Test
2398         public void currentTimeTest() {
2399                 PowerMockito.mockStatic(Globals.class);
2400                 Mockito.when(Globals.getTimeZone()).thenReturn("EST");
2401                 pdfReportHandler.currentTime("11/11/2011 11:11:11");
2402         }
2403
2404         public List<DataColumnType> mockDataList() {
2405                 List<DataColumnType> dataColumnTypeList = new ArrayList<>();
2406                 DataColumnType dataColumnType = new DataColumnType();
2407                 dataColumnType.setChartGroup("test");
2408                 dataColumnType.setYAxis("test");
2409                 dataColumnType.setColName("[test");
2410                 dataColumnType.setColOnChart("LEGEND");
2411                 dataColumnType.setDisplayName("chart_total");
2412                 dataColumnType.setColId("1");
2413                 dataColumnType.setTableId("1");
2414                 dataColumnType.setColType("DATE");
2415                 dataColumnType.setCrossTabValue("ROW");
2416                 dataColumnType.setPdfDisplayWidthInPxls("0.0");
2417                 dataColumnType.setVisible(true);
2418                 dataColumnType.setCalculated(true);
2419                 dataColumnTypeList.add(dataColumnType);
2420                 DataColumnType dataColumnType1 = new DataColumnType();
2421                 dataColumnType1.setCrossTabValue("COLUMN");
2422                 dataColumnType1.setColId("1");
2423                 dataColumnType1.setVisible(true);
2424                 dataColumnType1.setPdfDisplayWidthInPxls("1.0");
2425                 return dataColumnTypeList;
2426         }
2427         
2428         
2429         
2430         @Test(expected = java.lang.NullPointerException.class)
2431         public void createPdfFileContent17Test() throws Exception {
2432                 PowerMockito.mockStatic(Image.class);
2433                 Document doc = mock(Document.class);
2434                 CustomReportType crType = mock(CustomReportType.class);
2435                 DataSet ds = mock(DataSet.class);
2436                 PowerMockito.whenNew(Document.class).withNoArguments().thenReturn(doc);
2437                 PowerMockito.when(doc.newPage()).thenReturn(true);
2438                 Rectangle rectangle = Mockito.mock(Rectangle.class);
2439                 Mockito.when(doc.getPageSize()).thenReturn(rectangle);
2440                 Mockito.when(rectangle.rotate()).thenReturn(rectangle);
2441                 when(AppUtils.getUserID(mockedRequest)).thenReturn("test");
2442                 ReportRuntime rr = mock(ReportRuntime.class);
2443                 ReportData rd = mock(ReportData.class);
2444                 when(Globals.isCoverPageNeeded()).thenReturn(true);
2445                 when(Globals.getSessionInfoForTheCoverPage()).thenReturn("test,test1");
2446                 when(AppUtils.getRequestNvlValue(mockedRequest, "test1")).thenReturn("test1");
2447                 when(rr.isPDFCoverPage()).thenReturn(true);
2448                 when(rr.getReportID()).thenReturn("test");
2449                 when(rr.getPDFOrientation()).thenReturn("portait");
2450                 when(AppUtils.getRequestNvlValue(mockedRequest, "chartOrientation")).thenReturn("vertical");
2451                 when(AppUtils.getRequestNvlValue(mockedRequest, "secondaryChartRenderer")).thenReturn("test");
2452                 when(AppUtils.getRequestNvlValue(mockedRequest, "chartDisplay")).thenReturn("3D");
2453                 when(mockedRequest.getSession().getAttribute("report_runtime")).thenReturn(rr);
2454                 when(mockedRequest.getSession().getAttribute("dashboard_report_id")).thenReturn("test123");
2455                 ServletContext servConxt = mock(ServletContext.class);
2456                 when(mockedRequest.getSession().getServletContext()).thenReturn(servConxt);
2457                 when(servConxt.getRealPath(File.separator)).thenReturn("testpath");
2458                 when(rr.getChartType()).thenReturn("");
2459                 when(rr.getDisplayChart()).thenReturn(true);
2460                 ArrayList paramNamePDFValues = new ArrayList();
2461                 paramNamePDFValues.add("test1");
2462                 paramNamePDFValues.add("test2");
2463                 when(rr.getParamNameValuePairsforPDFExcel(mockedRequest, 2)).thenReturn(paramNamePDFValues);
2464                 when(rr.getFormFieldComments(mockedRequest)).thenReturn("test");
2465                 when(rr.getLegendPosition()).thenReturn("test");
2466                 when(rr.hideChartToolTips()).thenReturn(true);
2467                 when(AppUtils.getRequestNvlValue(mockedRequest, "hideLegend")).thenReturn("Y");
2468                 when(rr.getLegendLabelAngle()).thenReturn("test");
2469                 when(rr.getMaxLabelsInDomainAxis()).thenReturn("test");
2470                 when(rr.getRangeAxisLowerLimit()).thenReturn("10");
2471                 when(rr.getRangeAxisUpperLimit()).thenReturn("10");
2472                 when(AppUtils.getRequestNvlValue(mockedRequest, "totalOnChart")).thenReturn("Y");
2473                 List chartGroups = new ArrayList<>();
2474                 chartGroups.add("test|123");
2475                 when(rr.getAllChartGroups()).thenReturn(chartGroups);
2476                 ReportParamValues reportValues = new ReportParamValues();
2477                 when(rr.getReportParamValues()).thenReturn(reportValues);
2478                 when(rr.getFormFieldFilled(rr.getChartLeftAxisLabel())).thenReturn("test");
2479                 when(rr.getFormFieldFilled(rr.getChartRightAxisLabel())).thenReturn("test");
2480                 HashMap requestParams = new HashMap<>();
2481                 requestParams.put("", "test");
2482
2483                 DataSourceList dataSourceList = new DataSourceList();
2484
2485                 List<DataSourceType> list = new ArrayList<>();
2486                 DataSourceType dataSourceType = new DataSourceType();
2487                 dataSourceType.setTableName("test");
2488                 dataSourceType.setRefTableId("1");
2489                 dataSourceType.setTableId("1");
2490                 List<DataColumnType> dataColumnTypeList = new ArrayList<>();
2491                 DataColumnType dataColumnType = new DataColumnType();
2492                 dataColumnType.setChartGroup("test");
2493                 dataColumnType.setYAxis("test");
2494                 dataColumnType.setColName("chart_total");
2495                 dataColumnType.setColOnChart("LEGEND");
2496                 dataColumnType.setDisplayName("chart_total");
2497                 dataColumnType.setColId("1");
2498                 dataColumnType.setTableId("1");
2499                 dataColumnType.setDependsOnFormField("test");
2500                 dataColumnType.setColType("DATE");
2501                 dataColumnType.setCrossTabValue("ROW");
2502                 dataColumnType.setPdfDisplayWidthInPxls("0.0");
2503                 dataColumnType.setVisible(true);
2504                 dataColumnType.setCalculated(true);
2505                 dataColumnType.setColType("chart_total");
2506                 dataColumnTypeList.add(dataColumnType);
2507                 DataColumnType dataColumnType1 = new DataColumnType();
2508                 dataColumnType1.setCrossTabValue("COLUMN");
2509                 dataColumnType1.setColId("1");
2510                 dataColumnType1.setVisible(true);
2511                 dataColumnType1.setPdfDisplayWidthInPxls("1.0");
2512                 dataColumnTypeList.add(dataColumnType1);
2513
2514                 DataColumnList dataColumnList = new DataColumnList();
2515                 dataColumnList.dataColumn = dataColumnTypeList;
2516                 dataSourceType.setDataColumnList(dataColumnList);
2517                 list.add(dataSourceType);
2518                 dataSourceList.dataSource = list;
2519                 when(crType.getDataSourceList()).thenReturn(dataSourceList);
2520
2521                 when(Globals.getRequestParamtersMap(mockedRequest, false)).thenReturn(requestParams);
2522                 ds.set(0, "test");
2523                 when(mockedRequest.getSession().getAttribute(AppConstants.RI_CHART_DATA)).thenReturn(ds);
2524                 when(rr.hasSeriesColumn()).thenReturn(true);
2525                 TreeMap values = new TreeMap<>();
2526                 values.put("test", rr);
2527                 TreeMap values2 = new TreeMap<>();
2528                 values2.put("test3", rd);
2529                 TreeMap values3 = new TreeMap<>();
2530                 values3.put("test4", "c");
2531                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP)).thenReturn(values);
2532                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP)).thenReturn(values2);
2533                 when(mockedRequest.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP)).thenReturn(values3);
2534
2535                 Mockito.when(rr.getAllColumns()).thenReturn(dataColumnTypeList);
2536                 ArrayList chartValueColAxis = new ArrayList();
2537                 chartValueColAxis.add("test|123");
2538                 Mockito.when(rr.getChartValueColumnAxisList(Matchers.anyInt(), Matchers.any(HashMap.class)))
2539                                 .thenReturn(chartValueColAxis);
2540                 Mockito.when(rr.getReportType()).thenReturn("Linear");
2541
2542                 
2543
2544                 ReportDataRows reportDataRows = new ReportDataRows();
2545                 DataRow dataRow1 = new DataRow();
2546                 DataRow dataRow = new DataRow();
2547
2548                 DataValue value = new DataValue();
2549                 DataValue value1 = new DataValue();
2550                 dataRow1.addDataValue(value);
2551                 dataRow1.addDataValue(value1);
2552                 reportDataRows.addDataRow(dataRow1);
2553                 reportDataRows.add(dataRow1);
2554                 reportDataRows.addDataRow(dataRow);
2555                 reportDataRows.add(dataRow);
2556                 rd.reportDataTotalRow = reportDataRows;
2557                 rd.reportDataRows = reportDataRows;
2558
2559                 ReportColumnHeaderRows reportColumnHeaderRows = new ReportColumnHeaderRows();
2560                 ColumnHeaderRow columnHeaderRow = new ColumnHeaderRow();
2561                 ColumnHeader columnHeader = new ColumnHeader();
2562                 columnHeaderRow.add(columnHeader);
2563                 ColumnHeader columnHeader1 = new ColumnHeader();
2564                 columnHeader1.setRowSpan(1);
2565                 columnHeaderRow.add(columnHeader1);
2566                 reportColumnHeaderRows.add(columnHeaderRow);
2567                 rd.reportColumnHeaderRows = reportColumnHeaderRows;
2568
2569                 ReportRowHeaderCols reportRowHeaderCols = new ReportRowHeaderCols();
2570                 RowHeaderCol rowHeaderCol = new RowHeaderCol();
2571
2572                 RowHeader rowHeader = new RowHeader();
2573                 RowHeader rowHeader1 = new RowHeader();
2574                 RowHeader rowHeader2 = new RowHeader();
2575
2576                 rowHeader.setBold(false);
2577                 rowHeader1.setBold(true);
2578                 rowHeaderCol.add(rowHeader);
2579                 rowHeaderCol.add(rowHeader1);
2580                 rowHeaderCol.add(rowHeader2);
2581
2582                 RowHeaderCol rowHeaderCol1 = new RowHeaderCol();
2583
2584                 rowHeaderCol1.add(rowHeader);
2585                 rowHeaderCol1.add(rowHeader1);
2586                 rowHeaderCol1.add(rowHeader2);
2587
2588                 reportRowHeaderCols.addRowHeaderCol(rowHeaderCol);
2589
2590                 reportRowHeaderCols.addRowHeaderCol(rowHeaderCol1);
2591                 rd.reportRowHeaderCols = reportRowHeaderCols;
2592
2593                 PowerMockito.whenNew(ReportHandler.class).withNoArguments().thenReturn(reportHandler);
2594                 Mockito.when(reportHandler.loadReportDefinition(Matchers.any(HttpServletRequest.class), Matchers.anyString()))
2595                                 .thenReturn(rdef);
2596                 Mockito.when(reportHandler.loadReportRuntime(Matchers.any(HttpServletRequest.class), Matchers.anyString(),
2597                                 Matchers.anyBoolean(), Matchers.anyInt())).thenReturn(rr);
2598                 Mockito.when(rr.getPDFOrientation()).thenReturn("orientation");
2599                 Mockito.when(rdef.getVisibleColumnCount()).thenReturn(1);
2600                 Mockito.when(Globals.getDataTableHeaderFontColor()).thenReturn("test");
2601                 PowerMockito.mockStatic(Color.class);
2602                 Color color = new Color(1);
2603                 Mockito.when(Color.decode(Matchers.anyString())).thenReturn(color);
2604                 Mockito.when(Globals.getDataFontSizeOffset()).thenReturn((float) 1.0);
2605                 when(mockedRequest.getSession().getAttribute("FOOTER_0")).thenReturn("footer");
2606                 List newlist = new ArrayList<>();
2607                 newlist.add(1);
2608                 Mockito.when(mockedRequest.getSession().getAttribute(AppConstants.SI_FORMFIELD_DOWNLOAD_INFO))
2609                                 .thenReturn(newlist);
2610                 Mockito.when(rd.getTotalColumnCount()).thenReturn(2);
2611                 pdfReportHandler.createPdfFileContent(mockedRequest, mockedResponse, 2);
2612         }
2613
2614
2615 }