diff options
Diffstat (limited to 'ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion')
-rw-r--r-- | ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/web/RaptorControllerAsync.java | 167 |
1 files changed, 156 insertions, 11 deletions
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/web/RaptorControllerAsync.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/web/RaptorControllerAsync.java index 333690fe..89b53f8c 100644 --- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/web/RaptorControllerAsync.java +++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/web/RaptorControllerAsync.java @@ -44,8 +44,13 @@ import java.io.StringWriter; import java.io.Writer; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Date; import java.util.Enumeration; +import java.util.GregorianCalendar; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; @@ -57,6 +62,8 @@ import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; +import javax.xml.datatype.DatatypeFactory; +import javax.xml.datatype.XMLGregorianCalendar; import org.onap.portalsdk.analytics.controller.Action; import org.onap.portalsdk.analytics.controller.ErrorHandler; @@ -210,7 +217,7 @@ public class RaptorControllerAsync extends RestrictedBaseController { if (rr != null) downloadLimit = (rr.getMaxRowsInExcelDownload() > 0 && (rr.getMaxRowsInExcelDownload() < Globals.getDownloadLimit())) ? rr.getMaxRowsInExcelDownload() : Globals.getDownloadLimit(); - if ("report.download.csv.download".equals(actionKey)) + if ("report.download.csv.session".equals(actionKey)) downloadLimit = Globals.getCSVDownloadLimit(); final boolean isDashboard = (session.getAttribute(AppConstants.SI_DASHBOARD_REP_ID) != null) && @@ -358,10 +365,20 @@ public class RaptorControllerAsync extends RestrictedBaseController { columnJSON = new ColumnJSON(); columnJSON.setId(reportColumnType.getColId()); columnJSON.setName(reportColumnType.getDisplayName()); + if(rdef.getReportType().equals("Cross-Tab")) { + columnJSON.setCrossTabValue(getCrossTabDisplayValue(reportColumnType.getCrossTabValue())); + columnJSON.setRepType("Cross-Tab"); + } listJSON.add(columnJSON); } return listJSON; } + public String getCrossTabDisplayValue(String crossTabValue) { + return nvl(crossTabValue).equals(AppConstants.CV_ROW) ? "Row headings" : (nvl( + crossTabValue).equals(AppConstants.CV_COLUMN) ? "Column headings" : (nvl( + crossTabValue).equals(AppConstants.CV_VALUE) ? "Report values" : "Invisible/Filter")); + } // getCrossTabDisplayValue + @GetMapping(value = "/report/wizard/list_drilldown_reports", produces = "application/json") public @ResponseBody ArrayList<ColumnJSON> list_drilldown_reports(HttpServletRequest request, @@ -466,6 +483,7 @@ public class RaptorControllerAsync extends RestrictedBaseController { fieldJSON = new SearchFieldJSON(); fieldJSON.setId(ff.getFieldName()); fieldJSON.setName(ff.getFieldDisplayName()); + fieldJSON.setValidationType(ff.getValidationType()); listJSON.add(fieldJSON); } } @@ -608,6 +626,36 @@ public class RaptorControllerAsync extends RestrictedBaseController { return messageJSON; } + + + public XMLGregorianCalendar returnDate(String str) throws Exception { + XMLGregorianCalendar result = null; + Date date; + SimpleDateFormat simpleDateFormat; + GregorianCalendar gregorianCalendar; + + simpleDateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss"); + date = simpleDateFormat.parse(str); + gregorianCalendar = (GregorianCalendar) GregorianCalendar.getInstance(); + gregorianCalendar.setTime(date); + return result = DatatypeFactory.newInstance().newXMLGregorianCalendar(gregorianCalendar); + + } + + public String convertToDate(XMLGregorianCalendar xc) { + DateFormat df = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss"); + GregorianCalendar gCalendar = xc.toGregorianCalendar(); + //Converted to date object + Date date = gCalendar.getTime(); + //Formatted to String value + String dateString = df.format(date); + return dateString; + } + + + + + @PostMapping(value = "report/wizard/save_formfield_tab_data") public @ResponseBody MessageJSON saveFFTabWiseData(@RequestBody FormEditJSON formEditJSON, HttpServletRequest request, HttpServletResponse response) { @@ -641,6 +689,19 @@ public class RaptorControllerAsync extends RestrictedBaseController { fft.setValidationType(formEditJSON.getValidationType()); fft.setGroupFormField(formEditJSON.isGroupFormField()); fft.setOrderBySeq(formEditJSON.getOrderSeq()); + if (formEditJSON.getRangeStartDate() != null + && !formEditJSON.getRangeStartDate().equals("")) { + fft.setRangeStartDate(returnDate(formEditJSON.getRangeStartDate())); + }else if(formEditJSON.getRangeStartDate() == null || formEditJSON.getRangeStartDate().equals("")) { + fft.setRangeStartDate(null); + } + if (formEditJSON.getRangeEndDate() != null && !formEditJSON.getRangeEndDate().equals("")) { + fft.setRangeEndDate(returnDate(formEditJSON.getRangeEndDate())); + }else if(formEditJSON.getRangeEndDate() == null || formEditJSON.getRangeEndDate().equals("")) { + fft.setRangeEndDate(null); + } + fft.setRangeEndDateSQL(formEditJSON.getRangeEndDateSQL()); + fft.setRangeStartDateSQL(formEditJSON.getRangeStartDateSQL()); // clear predefined value PredefinedValueList predefinedValueList = new ObjectFactory().createPredefinedValueList(); fft.setPredefinedValueList(predefinedValueList); @@ -694,6 +755,46 @@ public class RaptorControllerAsync extends RestrictedBaseController { return messageJSON; } + + + @RequestMapping(value = "report/wizard/reorder", method = RequestMethod.POST) + public @ResponseBody ArrayList<SearchFieldJSON> reorder(HttpServletRequest request, HttpServletResponse response) { + ReportDefinition rdef = null; + rdef = (ReportDefinition) request.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION); + ArrayList<SearchFieldJSON> listJSON = new ArrayList<>(); + + try { + if (rdef != null) { + if (rdef.getFormFieldList() != null) { + for(int ffValue=0; ffValue<rdef.getFormFieldList().getFormField().size(); ffValue++) { + rdef.getFormFieldList().getFormField().get(ffValue).setOrderBySeq(ffValue+1); + } + } + System.out.println(rdef.getFormFieldList().getFormField()); + persistReportDefinition(request, rdef); + + SearchFieldJSON fieldJSON; + if (rdef.getFormFieldList() != null) { + for (Iterator iter = rdef.getFormFieldList().getFormField().iterator(); iter.hasNext();) { + fieldJSON = new SearchFieldJSON(); + FormFieldType fft = (FormFieldType) iter.next(); + String fieldId = fft.getFieldId(); + String fieldDisplay = fft.getFieldName(); + fieldJSON.setId(fieldId); + fieldJSON.setName(fieldDisplay); + fieldJSON.setOrderSeq(fft.getOrderBySeq()); + listJSON.add(fieldJSON); + } + } + return listJSON; + } + } catch (Exception ex) { + return listJSON; + } + + return listJSON; + } + @PostMapping(value = "report/wizard/add_formfield_tab_data") public @ResponseBody MessageJSON addFFTabWiseData(@RequestBody FormEditJSON formEditJSON, HttpServletRequest request, HttpServletResponse response) { @@ -732,6 +833,21 @@ public class RaptorControllerAsync extends RestrictedBaseController { currField.setFieldSQL(formEditJSON.getFieldSQL()); currField.setValidationType(formEditJSON.getValidationType()); currField.setGroupFormField(formEditJSON.isGroupFormField()); + + if (formEditJSON.getRangeStartDate() != null + && !formEditJSON.getRangeStartDate().equals("")) { + currField.setRangeStartDate(returnDate(formEditJSON.getRangeStartDate())); + }else if(formEditJSON.getRangeStartDate() == null || formEditJSON.getRangeStartDate().equals("")) { + currField.setRangeStartDate(null); + } + if (formEditJSON.getRangeEndDate() != null && !formEditJSON.getRangeEndDate().equals("")) { + currField.setRangeEndDate(returnDate(formEditJSON.getRangeEndDate())); + }else if(formEditJSON.getRangeEndDate() == null || formEditJSON.getRangeEndDate().equals("")) { + currField.setRangeEndDate(null); + } + currField.setRangeEndDateSQL(formEditJSON.getRangeEndDateSQL()); + currField.setRangeStartDateSQL(formEditJSON.getRangeStartDateSQL()); + persistReportDefinition(request, rdef); messageJSON.setMessage("Success formfield Details of given report is saved in session."); @@ -792,7 +908,9 @@ public class RaptorControllerAsync extends RestrictedBaseController { if(columnEditJSON.getDisplayTotal()!=null) reportColumnType.setDisplayTotal(columnEditJSON.getDisplayTotal()); reportColumnType.setSemaphoreId(columnEditJSON.getSemaphoreId()); - + if(rdef.getReportType().equals("Cross-Tab")) { + reportColumnType.setCrossTabValue(columnEditJSON.getCrossTabValue()); + } } @@ -877,6 +995,12 @@ public class RaptorControllerAsync extends RestrictedBaseController { rdef.setReportType(definitionJSON.getReportType()); rdef.setDataContainerHeight(definitionJSON.getDataContainerHeight()); rdef.setDataContainerWidth(definitionJSON.getDataContainerWidth()); + + if(rdef.getReportType().equals(AppConstants.RT_CROSSTAB) || rdef.getReportType().equals(AppConstants.RT_LINEAR )) { + rdef.setReportHeader(definitionJSON.getReportHeader()); + rdef.setReportFooter(definitionJSON.getReportFooter()); + } + if(definitionJSON.getAllowScheduler()!=null) rdef.setAllowSchedule(definitionJSON.getAllowScheduler().equals("Y")?"Y":"N"); @@ -1055,6 +1179,18 @@ public class RaptorControllerAsync extends RestrictedBaseController { wizardJSON.setFieldDefaultSQL(currField.getFieldDefaultSQL()); wizardJSON.setFieldSQL(currField.getFieldSQL()); wizardJSON.setValidationType(currField.getValidationType()); + wizardJSON.setRangeStartDateSQL(currField.getRangeStartDateSQL()); + wizardJSON.setRangeEndDateSQL(currField.getRangeEndDateSQL()); + if(currField.getRangeStartDate() != null && !currField.getRangeStartDate().equals("")) { + wizardJSON.setRangeStartDate(convertToDate(currField.getRangeStartDate())); } + else { + wizardJSON.setRangeStartDate(null); + } + if(currField.getRangeEndDate() != null && !currField.getRangeEndDate().equals("")) { + wizardJSON.setRangeEndDate(convertToDate(currField.getRangeEndDate()));} + else { + wizardJSON.setRangeEndDate(null); + } persistReportDefinition(request, rdef); } else if (action.equals("delete")) { @@ -1075,6 +1211,18 @@ public class RaptorControllerAsync extends RestrictedBaseController { wizardJSON.setValidationType(fft.getValidationType()); wizardJSON.setGroupFormField(fft.isGroupFormField()); wizardJSON.setOrderSeq(fft.getOrderBySeq()); + wizardJSON.setRangeStartDateSQL(fft.getRangeStartDateSQL()); + wizardJSON.setRangeEndDateSQL(fft.getRangeEndDateSQL()); + if (fft.getRangeStartDate() != null && !fft.getRangeStartDate().equals("")) { + wizardJSON.setRangeStartDate(convertToDate(fft.getRangeStartDate())); + } else { + wizardJSON.setRangeStartDate(null); + } + if (fft.getRangeEndDate() != null && !fft.getRangeEndDate().equals("")) { + wizardJSON.setRangeEndDate(convertToDate(fft.getRangeEndDate())); + } else { + wizardJSON.setRangeEndDate(null); + } PredefinedValueList preDefined = fft.getPredefinedValueList(); if (preDefined != null) { @@ -1134,6 +1282,9 @@ public class RaptorControllerAsync extends RestrictedBaseController { for (DataColumnType reportColumnType : reportColumnList) { if (reportColumnType.getColId().equals(id)) { wizardJSON.setColId(reportColumnType.getColId()); + if(rdef.getReportType().equals("Cross-Tab")) { + wizardJSON.setCrossTabValue(reportColumnType.getCrossTabValue()); + } wizardJSON.setColName(reportColumnType.getColName()); wizardJSON.setDisplayAlignment(reportColumnType.getDisplayAlignment()); wizardJSON.setDisplayHeaderAlignment(reportColumnType.getDisplayHeaderAlignment()); @@ -1577,8 +1728,6 @@ public class RaptorControllerAsync extends RestrictedBaseController { request.getSession().setAttribute(AppConstants.SI_REPORT_DEFINITION, rdef); } else if (rdef == null) { rdef = (new ReportHandler()).loadReportDefinition(request, id); - String session_id = request.getSession().getId(); - Object obj = request.getAttributeNames(); request.getSession().setAttribute(AppConstants.SI_REPORT_DEFINITION, rdef); } @@ -1598,8 +1747,10 @@ public class RaptorControllerAsync extends RestrictedBaseController { wizardJSON.setDataContainerWidth((rdef != null) ? rdef.getDataContainerWidth() : "900"); wizardJSON.setAllowScheduler((rdef != null) ? rdef.getAllowSchedule() : "false"); - if(wizardJSON.getReportType().equals(AppConstants.RT_LINEAR)) { + if(wizardJSON.getReportType().equals(AppConstants.RT_LINEAR) || wizardJSON.getReportType().equals(AppConstants.RT_CROSSTAB)) { wizardJSON.setDbInfo((rdef != null) ? rdef.getDBInfo() : ""); + wizardJSON.setReportHeader(rdef.getReportHeader()); + wizardJSON.setReportFooter(rdef.getReportFooter()); wizardJSON.setFormHelpText((rdef != null) ? rdef.getFormHelpText() : ""); wizardJSON.setPageSize((rdef != null) ? rdef.getPageSize() : 50); List<IdNameBooleanJSON> displayArea = new ArrayList<>(); @@ -1694,10 +1845,6 @@ public class RaptorControllerAsync extends RestrictedBaseController { mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - String session_id = request.getSession().getId(); - Object obj = request.getAttributeNames(); - ReportDefinition report_def = (ReportDefinition) request.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION); - return wizardJSON; } @@ -1715,8 +1862,6 @@ public class RaptorControllerAsync extends RestrictedBaseController { Globals.initializeSystem(servletContext); } - String session_id = request.getSession().getId(); - Object obj = request.getAttributeNames(); ReportDefinition rdef = (ReportDefinition) request.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION); if (rdef == null) { ErrorJSONRuntime errorJSONRuntime = new ErrorJSONRuntime(); |