summaryrefslogtreecommitdiffstats
path: root/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/web/RaptorControllerAsync.java
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/web/RaptorControllerAsync.java')
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/web/RaptorControllerAsync.java167
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();