summaryrefslogtreecommitdiffstats
path: root/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime')
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/FormField.java35
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ReportFormFields.java11
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ReportJSONRuntime.java412
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ReportRuntime.java433
4 files changed, 504 insertions, 387 deletions
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/FormField.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/FormField.java
index 9a2233e3..9885f2de 100644
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/FormField.java
+++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/FormField.java
@@ -80,6 +80,7 @@ import org.onap.portalsdk.analytics.model.base.IdNameSql;
import org.onap.portalsdk.analytics.model.base.IdNameValue;
import org.onap.portalsdk.analytics.system.AppUtils;
import org.onap.portalsdk.analytics.system.ConnectionUtils;
+import org.onap.portalsdk.analytics.system.ExecuteQuery;
import org.onap.portalsdk.analytics.system.Globals;
import org.onap.portalsdk.analytics.util.DataSet;
import org.onap.portalsdk.analytics.util.Utils;
@@ -134,6 +135,16 @@ public class FormField extends org.onap.portalsdk.analytics.RaptorObject impleme
private boolean triggerThisFormfield = false;
+ private Integer orderBySeq;
+
+ public Integer getOrderBySeq() {
+ return orderBySeq;
+ }
+
+ public void setOrderBySeq(Integer orderBySeq) {
+ this.orderBySeq = orderBySeq;
+ }
+
// Form field types
public static final String FFT_TEXT_W_POPUP = "TEXT_WITH_POPUP";
@@ -181,15 +192,15 @@ public class FormField extends org.onap.portalsdk.analytics.RaptorObject impleme
private FormField(String fieldName, String fieldDisplayName, String fieldType, String validationType,
boolean required, String defaultValue, String helpText, boolean visible, String dependsOn,
Calendar rangeStartDate, Calendar rangeEndDate, String rangeStartDateSQL, String rangeEndDateSQL,
- String multiSelectListSize) {
+ String multiSelectListSize, Integer orderBySeq) {
this(fieldName, fieldDisplayName, fieldType, validationType, required, defaultValue, helpText, dependsOn,
- rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize);
+ rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize, orderBySeq);
setVisible(visible);
} // FormField
private FormField(String fieldName, String fieldDisplayName, String fieldType, String validationType,
boolean required, String defaultValue, String helpText, String dependsOn, Calendar rangeStartDate,
- Calendar rangeEndDate, String rangeStartDateSQL, String rangeEndDateSQL, String multiSelectListSize) {
+ Calendar rangeEndDate, String rangeStartDateSQL, String rangeEndDateSQL, String multiSelectListSize, Integer orderBySeq) {
super();
setFieldName(fieldName);
setFieldDisplayName(fieldDisplayName);
@@ -204,14 +215,15 @@ public class FormField extends org.onap.portalsdk.analytics.RaptorObject impleme
setRangeStartDateSQL(rangeStartDateSQL);
setRangeEndDateSQL(rangeEndDateSQL);
setMultiSelectListSize(multiSelectListSize);
+ setOrderBySeq(orderBySeq);
}
public FormField(String fieldName, String fieldDisplayName, String fieldType, String validationType,
boolean required, String defaultValue, String helpText, List predefinedValues, boolean visible,
String dependsOn, Calendar rangeStartDate, Calendar rangeEndDate, String rangeStartDateSQL,
- String rangeEndDateSQL, String multiSelectListSize) {
+ String rangeEndDateSQL, String multiSelectListSize, Integer orderBySeq) {
this(fieldName, fieldDisplayName, fieldType, validationType, required, defaultValue, helpText, visible,
- dependsOn, rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize);
+ dependsOn, rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize,orderBySeq);
if (predefinedValues != null)
setPredefinedListLookup(predefinedValues);
} // FormField
@@ -219,9 +231,9 @@ public class FormField extends org.onap.portalsdk.analytics.RaptorObject impleme
public FormField(String fieldName, String fieldDisplayName, String fieldType, String validationType,
boolean required, String defaultValue, String helpText, String lookupSql, boolean visible, String dependsOn,
Calendar rangeStartDate, Calendar rangeEndDate, String rangeStartDateSQL, String rangeEndDateSQL,
- String multiSelectListSize) {
+ String multiSelectListSize, Integer orderBySeq) {
this(fieldName, fieldDisplayName, fieldType, validationType, required, defaultValue, helpText, visible,
- dependsOn, rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize);
+ dependsOn, rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize,orderBySeq);
if (defaultValue != null && defaultValue.length() > 10
&& defaultValue.substring(0, 10).trim().toLowerCase().startsWith("select")) {
setFieldDefaultSQL(defaultValue);
@@ -233,19 +245,20 @@ public class FormField extends org.onap.portalsdk.analytics.RaptorObject impleme
public FormField(String fieldName, String fieldDisplayName, String fieldType, String validationType,
boolean required, String defaultValue, String helpText, String dbTableName, String dbIdField,
String dbNameField, String dbSortByField, boolean visible, String dependsOn, Calendar rangeStartDate,
- Calendar rangeEndDate, String rangeStartDateSQL, String rangeEndDateSQL, String multiSelectListSize) {
+ Calendar rangeEndDate, String rangeStartDateSQL, String rangeEndDateSQL, String multiSelectListSize, Integer orderBySeq) {
this(fieldName, fieldDisplayName, fieldType, validationType, required, defaultValue, helpText, dbTableName,
dbIdField, dbNameField, dbSortByField, dependsOn, rangeStartDate, rangeEndDate, rangeStartDateSQL,
- rangeEndDateSQL, multiSelectListSize);
+ rangeEndDateSQL, multiSelectListSize, orderBySeq);
setVisible(visible);
}
public FormField(String fieldName, String fieldDisplayName, String fieldType, String validationType,
boolean required, String defaultValue, String helpText, String dbTableName, String dbIdField,
String dbNameField, String dbSortByField, String dependsOn, Calendar rangeStartDate, Calendar rangeEndDate,
- String rangeStartDateSQL, String rangeEndDateSQL, String multiSelectListSize) {
+ String rangeStartDateSQL, String rangeEndDateSQL, String multiSelectListSize, Integer orderBySeq) {
this(fieldName, fieldDisplayName, fieldType, validationType, required, defaultValue, helpText, dependsOn,
- rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize);
+ rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize, orderBySeq);
+ // if(dependsOn !=null){ this.dependsOn = dependsOn; }else { this.dependsOn = ""
if (defaultValue != null && defaultValue.length() > 10
&& defaultValue.substring(0, 10).trim().toLowerCase().startsWith("select")) {
setFieldDefaultSQL(defaultValue);
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ReportFormFields.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ReportFormFields.java
index e50d465e..c59cd597 100644
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ReportFormFields.java
+++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ReportFormFields.java
@@ -79,6 +79,7 @@ public class ReportFormFields extends Vector {
String defaultValue = fft.getDefaultValue();
String fieldSQL = fft.getFieldSQL();
String fieldDefaultSQL = fft.getFieldDefaultSQL();
+ Integer orderBySeq = fft.getOrderBySeq();
String[] reqParameters = Globals.getRequestParams().split(",");
String[] sessionParameters = Globals.getSessionParams().split(",");
String[] scheduleSessionParameters = Globals.getSessionParamsForScheduling().split(",");
@@ -192,10 +193,10 @@ public class ReportFormFields extends Vector {
else if (nvl(defaultValue).equals(AppConstants.FILTER_MIN_VALUE))
defaultValue = (String) Collections.min(predefinedValues);
add(new FormField(fieldName, fieldDisplayName, fieldType, validationType,
- mandatory.equals("Y"), defaultValue, helpText, predefinedValues,visible.equals("Y"), dependsOn, rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize));
+ mandatory.equals("Y"), defaultValue, helpText, predefinedValues,visible.equals("Y"), dependsOn, rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize,orderBySeq));
} else if (nvl(fieldSQL).length() > 0) {
add(new FormField(fieldName, fieldDisplayName, fieldType, validationType,
- mandatory.equals("Y"), fieldDefaultSQL, helpText, fieldSQL,visible.equals("Y"), dependsOn, rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize));
+ mandatory.equals("Y"), fieldDefaultSQL, helpText, fieldSQL,visible.equals("Y"), dependsOn, rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize,orderBySeq));
} else {
String lTableName = null;
String lColumnName = null;
@@ -261,12 +262,12 @@ public class ReportFormFields extends Vector {
if (fieldDefaultSQL!=null && fieldDefaultSQL.length()>0 && (fieldDefaultSQL.trim().length()>10) && fieldDefaultSQL.substring(0,10).toLowerCase().startsWith("select")) {
add(new FormField(fieldName, fieldDisplayName, fieldType, validationType,
mandatory.equals("Y"), fieldDefaultSQL, helpText, lookupTable,
- lookupIdField, lookupNameField, lookupSortByField,visible.equals("Y"),dependsOn, rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize));
+ lookupIdField, lookupNameField, lookupSortByField,visible.equals("Y"),dependsOn, rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize,orderBySeq));
} else {
add(new FormField(fieldName, fieldDisplayName, fieldType, validationType,
mandatory.equals("Y"), defaultValue, helpText, lookupTable,
- lookupIdField, lookupNameField, lookupSortByField,visible.equals("Y"), dependsOn, rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize));
+ lookupIdField, lookupNameField, lookupSortByField,visible.equals("Y"), dependsOn, rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize,orderBySeq));
}
} // else
} // for
@@ -315,7 +316,7 @@ public class ReportFormFields extends Vector {
} // if
add(new FormField(fieldName, fieldDisplayName,
FormField.FFT_TEXT_W_POPUP, null, false, null, null,
- lookupTable, lookupIdField, lookupNameField, lookupSortByField,null, lookupRangeStartDate, lookupRangeEndDate, lookupRangeStartDateSQL, lookupRangeEndDateSQL, "0"));
+ lookupTable, lookupIdField, lookupNameField, lookupSortByField,null, lookupRangeStartDate, lookupRangeEndDate, lookupRangeStartDateSQL, lookupRangeEndDateSQL, "0",1));
} // if
} // for
} // if
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ReportJSONRuntime.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ReportJSONRuntime.java
index 384caf1e..5fbcecd7 100644
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ReportJSONRuntime.java
+++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ReportJSONRuntime.java
@@ -38,388 +38,47 @@
package org.onap.portalsdk.analytics.model.runtime;
import java.util.ArrayList;
-import java.util.Calendar;
import java.util.Map;
import org.onap.portalsdk.analytics.model.base.IdNameValue;
import org.onap.portalsdk.analytics.view.ColumnHeader;
-/*class MetaColumn {
- private String tableId;
- private String dbColName;
- private String crossTabValue;
- private String colName;
- private String displayName;
- private Integer displayWidth;
- private String displayWidthInPxls;
- private String pdfDisplayWidthInPxls;
- private String displayAlignment;
- private String displayHeaderAlignment;
- private int orderSeq;
- private boolean visible;
- private boolean calculated;
- private String colType;
- private String hyperlinkURL;
- private String hyperlinkType;
- private String actionImg;
- private Integer groupByPos;
- private String subTotalCustomText;
- private Boolean hideRepeatedKey;
- private String colFormat;
- private boolean groupBreak;
- private Integer orderBySeq;
- private String orderByAscDesc;
- private String displayTotal;
- private String colOnChart;
- private Integer chartSeq;
- private String chartColor;
- private String chartLineType;
- private Boolean chartSeries;
- private Boolean isRangeAxisFilled;
- private Boolean createInNewChart;
- private String drillDownType;
- private Boolean drillinPoPUp;
- private String drillDownURL;
- private String drillDownParams;
- private String comment;
- private ColFilterList colFilterList;
- private String semaphoreId;
- private String dbColType;
- private String chartGroup;
- private String yAxis;
- private String dependsOnFormField;
- private String nowrap;
- private Integer indentation;
- private Boolean enhancedPagination;
- private Integer level;
- private Integer start;
- private Integer colspan;
- private String dataMiningCol;
- private String colId;
-
- public String getTableId() {
- return tableId;
- }
- public void setTableId(String tableId) {
- this.tableId = tableId;
- }
- public String getDbColName() {
- return dbColName;
- }
- public void setDbColName(String dbColName) {
- this.dbColName = dbColName;
- }
- public String getCrossTabValue() {
- return crossTabValue;
- }
- public void setCrossTabValue(String crossTabValue) {
- this.crossTabValue = crossTabValue;
- }
- public String getColName() {
- return colName;
- }
- public void setColName(String colName) {
- this.colName = colName;
- }
- public String getDisplayName() {
- return displayName;
- }
- public void setDisplayName(String displayName) {
- this.displayName = displayName;
- }
- public Integer getDisplayWidth() {
- return displayWidth;
- }
- public void setDisplayWidth(Integer displayWidth) {
- this.displayWidth = displayWidth;
- }
- public String getDisplayWidthInPxls() {
- return displayWidthInPxls;
- }
- public void setDisplayWidthInPxls(String displayWidthInPxls) {
- this.displayWidthInPxls = displayWidthInPxls;
- }
- public String getPdfDisplayWidthInPxls() {
- return pdfDisplayWidthInPxls;
- }
- public void setPdfDisplayWidthInPxls(String pdfDisplayWidthInPxls) {
- this.pdfDisplayWidthInPxls = pdfDisplayWidthInPxls;
- }
- public String getDisplayAlignment() {
- return displayAlignment;
- }
- public void setDisplayAlignment(String displayAlignment) {
- this.displayAlignment = displayAlignment;
- }
- public String getDisplayHeaderAlignment() {
- return displayHeaderAlignment;
- }
- public void setDisplayHeaderAlignment(String displayHeaderAlignment) {
- this.displayHeaderAlignment = displayHeaderAlignment;
- }
- public int getOrderSeq() {
- return orderSeq;
- }
- public void setOrderSeq(int orderSeq) {
- this.orderSeq = orderSeq;
- }
- public boolean isVisible() {
- return visible;
- }
- public void setVisible(boolean visible) {
- this.visible = visible;
- }
- public boolean isCalculated() {
- return calculated;
- }
- public void setCalculated(boolean calculated) {
- this.calculated = calculated;
- }
- public String getColType() {
- return colType;
- }
- public void setColType(String colType) {
- this.colType = colType;
- }
- public String getHyperlinkURL() {
- return hyperlinkURL;
- }
- public void setHyperlinkURL(String hyperlinkURL) {
- this.hyperlinkURL = hyperlinkURL;
- }
- public String getHyperlinkType() {
- return hyperlinkType;
- }
- public void setHyperlinkType(String hyperlinkType) {
- this.hyperlinkType = hyperlinkType;
- }
- public String getActionImg() {
- return actionImg;
- }
- public void setActionImg(String actionImg) {
- this.actionImg = actionImg;
- }
- public Integer getGroupByPos() {
- return groupByPos;
- }
- public void setGroupByPos(Integer groupByPos) {
- this.groupByPos = groupByPos;
- }
- public String getSubTotalCustomText() {
- return subTotalCustomText;
- }
- public void setSubTotalCustomText(String subTotalCustomText) {
- this.subTotalCustomText = subTotalCustomText;
- }
- public Boolean getHideRepeatedKey() {
- return hideRepeatedKey;
- }
- public void setHideRepeatedKey(Boolean hideRepeatedKey) {
- this.hideRepeatedKey = hideRepeatedKey;
- }
- public String getColFormat() {
- return colFormat;
- }
- public void setColFormat(String colFormat) {
- this.colFormat = colFormat;
- }
- public boolean isGroupBreak() {
- return groupBreak;
- }
- public void setGroupBreak(boolean groupBreak) {
- this.groupBreak = groupBreak;
- }
- public Integer getOrderBySeq() {
- return orderBySeq;
- }
- public void setOrderBySeq(Integer orderBySeq) {
- this.orderBySeq = orderBySeq;
- }
- public String getOrderByAscDesc() {
- return orderByAscDesc;
- }
- public void setOrderByAscDesc(String orderByAscDesc) {
- this.orderByAscDesc = orderByAscDesc;
- }
- public String getDisplayTotal() {
- return displayTotal;
- }
- public void setDisplayTotal(String displayTotal) {
- this.displayTotal = displayTotal;
- }
- public String getColOnChart() {
- return colOnChart;
- }
- public void setColOnChart(String colOnChart) {
- this.colOnChart = colOnChart;
- }
- public Integer getChartSeq() {
- return chartSeq;
- }
- public void setChartSeq(Integer chartSeq) {
- this.chartSeq = chartSeq;
- }
- public String getChartColor() {
- return chartColor;
- }
- public void setChartColor(String chartColor) {
- this.chartColor = chartColor;
- }
- public String getChartLineType() {
- return chartLineType;
- }
- public void setChartLineType(String chartLineType) {
- this.chartLineType = chartLineType;
- }
- public Boolean getChartSeries() {
- return chartSeries;
- }
- public void setChartSeries(Boolean chartSeries) {
- this.chartSeries = chartSeries;
- }
- public Boolean getIsRangeAxisFilled() {
- return isRangeAxisFilled;
- }
- public void setIsRangeAxisFilled(Boolean isRangeAxisFilled) {
- this.isRangeAxisFilled = isRangeAxisFilled;
- }
- public Boolean getCreateInNewChart() {
- return createInNewChart;
- }
- public void setCreateInNewChart(Boolean createInNewChart) {
- this.createInNewChart = createInNewChart;
- }
- public String getDrillDownType() {
- return drillDownType;
- }
- public void setDrillDownType(String drillDownType) {
- this.drillDownType = drillDownType;
- }
- public Boolean getDrillinPoPUp() {
- return drillinPoPUp;
- }
- public void setDrillinPoPUp(Boolean drillinPoPUp) {
- this.drillinPoPUp = drillinPoPUp;
- }
- public String getDrillDownURL() {
- return drillDownURL;
- }
- public void setDrillDownURL(String drillDownURL) {
- this.drillDownURL = drillDownURL;
- }
- public String getDrillDownParams() {
- return drillDownParams;
- }
- public void setDrillDownParams(String drillDownParams) {
- this.drillDownParams = drillDownParams;
- }
- public String getComment() {
- return comment;
- }
- public void setComment(String comment) {
- this.comment = comment;
- }
- public ColFilterList getColFilterList() {
- return colFilterList;
- }
- public void setColFilterList(ColFilterList colFilterList) {
- this.colFilterList = colFilterList;
- }
- public String getSemaphoreId() {
- return semaphoreId;
- }
- public void setSemaphoreId(String semaphoreId) {
- this.semaphoreId = semaphoreId;
- }
- public String getDbColType() {
- return dbColType;
- }
- public void setDbColType(String dbColType) {
- this.dbColType = dbColType;
- }
- public String getChartGroup() {
- return chartGroup;
- }
- public void setChartGroup(String chartGroup) {
- this.chartGroup = chartGroup;
- }
- public String getyAxis() {
- return yAxis;
- }
- public void setyAxis(String yAxis) {
- this.yAxis = yAxis;
- }
- public String getDependsOnFormField() {
- return dependsOnFormField;
- }
- public void setDependsOnFormField(String dependsOnFormField) {
- this.dependsOnFormField = dependsOnFormField;
- }
- public String getNowrap() {
- return nowrap;
- }
- public void setNowrap(String nowrap) {
- this.nowrap = nowrap;
- }
- public Integer getIndentation() {
- return indentation;
- }
- public void setIndentation(Integer indentation) {
- this.indentation = indentation;
- }
- public Boolean getEnhancedPagination() {
- return enhancedPagination;
- }
- public void setEnhancedPagination(Boolean enhancedPagination) {
- this.enhancedPagination = enhancedPagination;
- }
- public Integer getLevel() {
- return level;
- }
- public void setLevel(Integer level) {
- this.level = level;
- }
- public Integer getStart() {
- return start;
- }
- public void setStart(Integer start) {
- this.start = start;
- }
- public Integer getColspan() {
- return colspan;
- }
- public void setColspan(Integer colspan) {
- this.colspan = colspan;
- }
- public String getDataMiningCol() {
- return dataMiningCol;
- }
- public void setDataMiningCol(String dataMiningCol) {
- this.dataMiningCol = dataMiningCol;
- }
- public String getColId() {
- return colId;
- }
- public void setColId(String colId) {
- this.colId = colId;
- }
-
-}*/
-
class FormFieldJSON {
private String fieldId;
private String fieldDisplayName;
private String fieldType;
private String validationType;
private boolean required;
- private Calendar rangeStartDate;
- private Calendar rangeEndDate;
+ private String rangeStartDate;
+ private String rangeEndDate;
+ private String rangeStartDateSQL = null;
+ private String rangeEndDateSQL = null;
private String multiSelectListSize;
private String helpText;
private boolean visible;
private boolean triggerOtherFormFields;
private ArrayList<IdNameValue> formFieldValues;
+ private Integer setOrderBySeq;
+
+ public String getRangeStartDateSQL() {
+ return rangeStartDateSQL;
+ }
+ public void setRangeStartDateSQL(String rangeStartDateSQL) {
+ this.rangeStartDateSQL = rangeStartDateSQL;
+ }
+ public String getRangeEndDateSQL() {
+ return rangeEndDateSQL;
+ }
+ public void setRangeEndDateSQL(String rangeEndDateSQL) {
+ this.rangeEndDateSQL = rangeEndDateSQL;
+ }
+ public Integer getSetOrderBySeq() {
+ return setOrderBySeq;
+ }
+ public void setSetOrderBySeq(Integer setOrderBySeq) {
+ this.setOrderBySeq = setOrderBySeq;
+ }
public String getFieldId() {
return fieldId;
}
@@ -450,16 +109,17 @@ class FormFieldJSON {
public void setRequired(boolean required) {
this.required = required;
}
- public Calendar getRangeStartDate() {
+
+ public String getRangeStartDate() {
return rangeStartDate;
}
- public void setRangeStartDate(Calendar rangeStartDate) {
+ public void setRangeStartDate(String rangeStartDate) {
this.rangeStartDate = rangeStartDate;
}
- public Calendar getRangeEndDate() {
+ public String getRangeEndDate() {
return rangeEndDate;
}
- public void setRangeEndDate(Calendar rangeEndDate) {
+ public void setRangeEndDate(String rangeEndDate) {
this.rangeEndDate = rangeEndDate;
}
public String getMultiSelectListSize() {
@@ -525,6 +185,8 @@ public class ReportJSONRuntime {
private String message;
private boolean hideFormFieldsAfterRun;
private Long totalRunTime;
+ private String reportHeader;
+ private String reportFooter;
public Long getTotalRunTime() {
@@ -697,6 +359,18 @@ public class ReportJSONRuntime {
public void setReportTotalDataRows(ArrayList<Map<String, Object>> reportTotalDataRows) {
this.reportTotalDataRows = reportTotalDataRows;
}
+ public String getReportHeader() {
+ return reportHeader;
+ }
+ public void setReportHeader(String reportHeader) {
+ this.reportHeader = reportHeader;
+ }
+ public String getReportFooter() {
+ return reportFooter;
+ }
+ public void setReportFooter(String reportFooter) {
+ this.reportFooter = reportFooter;
+ }
}
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ReportRuntime.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ReportRuntime.java
index 1afd629c..9e228244 100644
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ReportRuntime.java
+++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ReportRuntime.java
@@ -37,13 +37,16 @@
*/
package org.onap.portalsdk.analytics.model.runtime;
+import java.io.IOException;
import java.io.Serializable;
import java.sql.Connection;
+import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.Enumeration;
+import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -53,11 +56,16 @@ import java.util.Vector;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
+import javax.xml.datatype.XMLGregorianCalendar;
+
import org.apache.commons.lang.StringUtils;
-import org.apache.jcs.engine.CacheUtils;
+import org.json.JSONObject;
import org.onap.portalsdk.analytics.error.RaptorException;
+import org.onap.portalsdk.analytics.error.ReportSQLException;
import org.onap.portalsdk.analytics.model.DataCache;
import org.onap.portalsdk.analytics.model.ReportHandler;
import org.onap.portalsdk.analytics.model.ReportLoader;
@@ -66,6 +74,9 @@ import org.onap.portalsdk.analytics.model.base.IdNameSql;
import org.onap.portalsdk.analytics.model.base.IdNameValue;
import org.onap.portalsdk.analytics.model.base.ReportWrapper;
import org.onap.portalsdk.analytics.model.definition.Marker;
+import org.onap.portalsdk.analytics.model.definition.ReportDefinition;
+import org.onap.portalsdk.analytics.model.definition.wizard.QueryResultJSON;
+import org.onap.portalsdk.analytics.model.definition.wizard.RaptorResponse;
import org.onap.portalsdk.analytics.system.AppUtils;
import org.onap.portalsdk.analytics.system.ConnectionUtils;
import org.onap.portalsdk.analytics.system.DbUtils;
@@ -73,9 +84,12 @@ import org.onap.portalsdk.analytics.system.Globals;
import org.onap.portalsdk.analytics.util.AppConstants;
import org.onap.portalsdk.analytics.util.CachingUtils;
import org.onap.portalsdk.analytics.util.DataSet;
+import org.onap.portalsdk.analytics.util.RemDbInfo;
import org.onap.portalsdk.analytics.util.Utils;
+import org.onap.portalsdk.analytics.util.XSSFilter;
import org.onap.portalsdk.analytics.view.ColumnHeader;
import org.onap.portalsdk.analytics.view.ColumnHeaderRow;
+import org.onap.portalsdk.analytics.view.ColumnVisual;
import org.onap.portalsdk.analytics.view.CrossTabOrderManager;
import org.onap.portalsdk.analytics.view.CrossTabTotalValue;
import org.onap.portalsdk.analytics.view.DataRow;
@@ -87,10 +101,17 @@ import org.onap.portalsdk.analytics.xmlobj.DataColumnType;
import org.onap.portalsdk.analytics.xmlobj.FormFieldType;
import org.onap.portalsdk.analytics.xmlobj.ObjectFactory;
import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
+import org.onap.portalsdk.core.objectcache.jcs.JCSCacheManager;
import org.onap.portalsdk.core.util.SecurityCodecUtil;
import org.owasp.esapi.ESAPI;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
+
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
/**<HR/>
@@ -667,6 +688,8 @@ public class ReportRuntime extends ReportWrapper implements Cloneable, Serializa
setWholeSQL(reportSQL);
cachedSQL = reportSQL;
wholeSQL = reportSQL;
+ String pagedSQL = "";
+ pagedSQL = generatePagedSQL(pageNo, userId, request, false, null);
List reportCols = getAllColumns();
DataColumnType dataColumnRequest = getCrossTabValueColumn();
reportSQL = parseReportSQLForDrillDownParams(reportSQL, dataColumnRequest, request);
@@ -751,7 +774,7 @@ public class ReportRuntime extends ReportWrapper implements Cloneable, Serializa
DataColumnType dct = (DataColumnType) iter.next();
if (nvl(dct.getDrillDownURL()).length() > 0) {
- childReportFormFields = getChildReportFormFields(request,dct.getDrillDownURL());
+ childReportFormFields = getChildReportFormFields(request,AppUtils.getDrillActionURL()+""+dct.getDrillDownURL());
}
if (nvl(dct.getCrossTabValue()).equals(AppConstants.CV_ROW)) {
@@ -897,6 +920,8 @@ public class ReportRuntime extends ReportWrapper implements Cloneable, Serializa
v1 = drInFor1.getRowValues();
if(i<dataList.size()-1) {
v2 = ((DataRow)dataList.get(i+1)).getRowValues();
+ } else {
+ v2 = null;
}
for (int j = 0; j < v1.size(); j++) {
if(j==0) {
@@ -2466,6 +2491,164 @@ public List getMapMarkers(ReportData rd, org.onap.portalsdk.analytics.xmlobj.Rep
}
return allowEdit;
}
+
+ 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;
+ }
+
+ public String convertCalendarToDate(Date xc) {
+ DateFormat df = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
+ String dateString = df.format(xc);
+ return dateString;
+ }
+
+
+
+ public RaptorResponse retrieveDataForGivenQuery( String reQsql, HttpServletRequest request, FormField ff)
+ throws RaptorException {
+ RaptorResponse raptorResponse = new RaptorResponse();
+ String sql = reQsql;
+ String jsonInString = "";
+
+ ServletContext servletContext = request.getSession().getServletContext();
+ if (!Globals.isSystemInitialized()) {
+ Globals.initializeSystem(servletContext);
+ }
+
+
+ if (!sql.trim().toUpperCase().startsWith("SELECT")) {
+ ErrorJSONRuntime errorJSONRuntime = new ErrorJSONRuntime();
+ errorJSONRuntime.setErrormessage("Invalid statement - the SQL must start with the keyword SELECT");
+ errorJSONRuntime.setStacktrace("SQL Error");
+ ObjectMapper mapper = new ObjectMapper();
+ mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
+ mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+
+ try {
+ jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(errorJSONRuntime);
+ raptorResponse.data().put("elements", jsonInString);
+ return raptorResponse;
+
+ } catch (Exception ex) {
+ logger.error(EELFLoggerDelegate.errorLogger,
+ "[Controller.processRequest]Invalid raptor action [retrieveDataForGivenQuery].", ex);
+ }
+ } else {
+ DataSet ds = null;
+
+ String userId = AppUtils.getUserID(request);
+
+ sql = Utils.replaceInString(sql, "[LOGGED_USERID]", userId);
+ sql = Utils.replaceInString(sql, "[USERID]", userId);
+ String[] reqParameters = Globals.getRequestParams().split(",");
+ String[] sessionParameters = Globals.getSessionParams().split(",");
+ javax.servlet.http.HttpSession session = request.getSession();
+ logger.debug(EELFLoggerDelegate.debugLogger, ("B4 testRunSQL " + sql));
+ if (request != null) {
+ for (int i = 0; i < reqParameters.length; i++) {
+ if (!reqParameters[i].startsWith("ff"))
+ sql = Utils.replaceInString(sql, "[" + reqParameters[i].toUpperCase() + "]",
+ ESAPI.encoder().encodeForSQL( SecurityCodecUtil.getCodec(),request.getParameter(reqParameters[i].toUpperCase())));
+ else
+ sql = Utils.replaceInString(sql, "[" + reqParameters[i].toUpperCase() + "]",
+ ESAPI.encoder().encodeForSQL( SecurityCodecUtil.getCodec(),request.getParameter(reqParameters[i])));
+ }
+ }
+ if (session != null) {
+ for (int i = 0; i < sessionParameters.length; i++) {
+ logger.debug(EELFLoggerDelegate.debugLogger, (" Session " + " sessionParameters[i] "
+ + sessionParameters[i] + " " + (String) session.getAttribute(sessionParameters[i])));
+ sql = Utils.replaceInString(sql, "[" + sessionParameters[i].toUpperCase() + "]",
+ (String) session.getAttribute(sessionParameters[i]));
+ }
+ }
+ logger.debug(EELFLoggerDelegate.debugLogger, ("After testRunSQL " + sql));
+ try {
+
+ ds = ConnectionUtils.getDataSet(sql, ff.getDbInfo(), true);
+
+ QueryResultJSON queryResultJSON = new QueryResultJSON();
+ queryResultJSON.setTotalRows(ds.getRowCount());
+
+ Map<String, String> dvJSON;
+ ArrayList<String> colList = new ArrayList<>();
+ ArrayList<Map<String, String>> reportDataRows = new ArrayList<>();
+ if (!ds.isEmpty()) {
+
+ for (int i = 0; i < ds.getColumnCount(); i++) {
+ colList.add(ds.getColumnName(i));
+ }
+ queryResultJSON.setReportDataColumns(colList);
+ if (queryResultJSON.getTotalRows() > 0) {
+ for (int r = 0; r < Math.min(ds.getRowCount(), 100); r++) {
+ dvJSON = new HashMap<>();
+ for (int c = 0; c < ds.getColumnCount(); c++) {
+ try {
+ dvJSON.put(ds.getColumnName(c), ds.getString(r, c));
+ } catch (Exception ex) {
+ logger.error(EELFLoggerDelegate.errorLogger,
+ "[Controller.processRequest]Invalid raptor action [retrieveDataForGivenQuery].",
+ ex);
+ }
+ }
+ reportDataRows.add(dvJSON);
+
+ }
+ }
+
+ }
+ queryResultJSON.setReportDataRows(reportDataRows);
+ ObjectMapper mapper = new ObjectMapper();
+ mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
+ mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+
+ try {
+ jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(queryResultJSON);
+ raptorResponse.data().put("elements", jsonInString);
+ return raptorResponse;
+
+ } catch (Exception ex) {
+ logger.error(EELFLoggerDelegate.errorLogger,
+ "[Controller.processRequest]Invalid raptor action [retrieveDataForGivenQuery]. RaptorException: ",
+ ex);
+ }
+ } catch (ReportSQLException ex) {
+ ErrorJSONRuntime errorJSONRuntime = new ErrorJSONRuntime();
+ if (sql.contains("[")) {
+ errorJSONRuntime.setErrormessage(
+ "Formfield information is present in the query, hence couldn't execute");
+ errorJSONRuntime
+ .setStacktrace("Formfield information is present in the query, hence couldn't execute");
+
+
+ } else {
+ errorJSONRuntime.setErrormessage(ex.getMessage());
+ }
+ ObjectMapper mapper = new ObjectMapper();
+
+ try {
+ jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(errorJSONRuntime);
+ raptorResponse.data().put("elements", jsonInString);
+ return raptorResponse;
+
+ } catch (Exception ex1) {
+ logger.error(EELFLoggerDelegate.errorLogger,
+ "[Controller.processRequest]Invalid raptor action [retrieveDataForGivenQuery].", ex1);
+ }
+ }
+
+ }
+
+ raptorResponse.data().put("elements", jsonInString);
+ return raptorResponse;
+ }
+
public ReportJSONRuntime createReportJSONRuntime(HttpServletRequest request, ReportData rd) {
String userId = AppUtils.getUserID(request);
ObjectMapper mapper = new ObjectMapper();
@@ -2479,6 +2662,8 @@ public List getMapMarkers(ReportData rd, org.onap.portalsdk.analytics.xmlobj.Rep
reportJSONRuntime.setAllowEdit(isAllowEdit(request));
reportJSONRuntime.setColIdxTobeFreezed(getFrozenColumnId());
reportJSONRuntime.setNumFormCols(getNumFormColsAsInt());
+ reportJSONRuntime.setReportHeader(getReportHeader());
+ reportJSONRuntime.setReportFooter(getReportFooter());
reportJSONRuntime.setBackBtnURL("");
String chartType = getChartType();
boolean displayChart = (nvl(chartType).length()>0)&&getDisplayChart();
@@ -2505,6 +2690,50 @@ public List getMapMarkers(ReportData rd, org.onap.portalsdk.analytics.xmlobj.Rep
ffJSON.setHelpText(ff.getHelpText());
ffJSON.setValidationType(ff.getValidationType());
ffJSON.setVisible(ff.isVisible());
+ ffJSON.setSetOrderBySeq(ff.getOrderBySeq());
+ if (ff.getRangeStartDate() != null)
+ ffJSON.setRangeStartDate(convertCalendarToDate(ff.getRangeStartDate().getTime()));
+ if (ff.getRangeEndDate() != null)
+ ffJSON.setRangeEndDate(convertCalendarToDate(ff.getRangeEndDate().getTime()));
+ if (ff.getRangeStartDateSQL() != null) {
+ try {
+ RaptorResponse re = retrieveDataForGivenQuery(ff.getRangeStartDateSQL(), request, ff);
+ QueryResultJSON queryResultJSON = new QueryResultJSON();
+ String resultDate = "";
+ try {
+ JSONObject jsonObj = new JSONObject(re.getData());
+ queryResultJSON = mapper.readValue(jsonObj.getString("elements"), QueryResultJSON.class);
+ resultDate = queryResultJSON.getReportDataRows().get(0).get("ID");
+
+ } catch (Exception e) {
+ resultDate = "";
+ e.printStackTrace();
+ }
+ ffJSON.setRangeStartDateSQL(resultDate);
+ } catch (RaptorException e) {
+ e.printStackTrace();
+ }
+ }
+
+ if (ff.getRangeEndDateSQL() != null) {
+ try {
+ RaptorResponse re = retrieveDataForGivenQuery(ff.getRangeEndDateSQL(), request, ff);
+ QueryResultJSON queryResultJSON = new QueryResultJSON();
+ String resultDate = "";
+ try {
+ JSONObject jsonObj = new JSONObject(re.getData());
+ queryResultJSON = mapper.readValue(jsonObj.getString("elements"), QueryResultJSON.class);
+ resultDate = queryResultJSON.getReportDataRows().get(0).get("ID");
+
+ } catch (Exception e) {
+ resultDate = "";
+ e.printStackTrace();
+ }
+ ffJSON.setRangeEndDateSQL(resultDate);
+ } catch (RaptorException e) {
+ e.printStackTrace();
+ }
+ }
IdNameList lookup = null;
lookup = ff.getLookupList();
String selectedValue = "";
@@ -2654,6 +2883,206 @@ public List getMapMarkers(ReportData rd, org.onap.portalsdk.analytics.xmlobj.Rep
}
+ public ReportJSONRuntime createCrossTabReportJSONRuntime(HttpServletRequest request, ReportData rd) {
+ String userId = AppUtils.getUserID(request);
+ ObjectMapper mapper = new ObjectMapper();
+ ReportJSONRuntime reportJSONRuntime = new ReportJSONRuntime();
+ reportJSONRuntime.setReportTitle(getReportTitle());
+ reportJSONRuntime.setReportID(getReportID());
+ reportJSONRuntime.setReportDescr(getReportDescr());
+ reportJSONRuntime.setReportName(getReportName());
+ reportJSONRuntime.setReportSubTitle(getReportSubTitle());
+ reportJSONRuntime.setAllowSchedule(isAllowSchedule());
+ reportJSONRuntime.setAllowEdit(isAllowEdit(request));
+ reportJSONRuntime.setColIdxTobeFreezed(getFrozenColumnId());
+ reportJSONRuntime.setNumFormCols(getNumFormColsAsInt());
+ reportJSONRuntime.setBackBtnURL("");
+ reportJSONRuntime.setReportHeader(getReportHeader());
+ reportJSONRuntime.setReportFooter(getReportFooter());
+ String chartType = getChartType();
+ boolean displayChart = (nvl(chartType).length()>0)&&getDisplayChart();
+ boolean displayChartWizard = getDisplayChart();
+ reportJSONRuntime.setChartAvailable(displayChart);
+ reportJSONRuntime.setChartWizardAvailable(displayChartWizard);
+ reportJSONRuntime.setDisplayData(!isDisplayOptionHideData());
+ reportJSONRuntime.setDisplayForm(!isDisplayOptionHideForm());
+ reportJSONRuntime.setHideFormFieldsAfterRun(isHideFormFieldAfterRun());
+ reportJSONRuntime.setDisplayExcel(!isDisplayOptionHideExcelIcons());
+ reportJSONRuntime.setDisplayPDF(!isDisplayOptionHidePDFIcons());
+ reportJSONRuntime.setPageSize(getPageSize());
+
+ ArrayList<ColumnHeader> colList = new ArrayList<ColumnHeader>();
+ ArrayList<Map<String,Object>> reportDataRows = new ArrayList<Map<String,Object>>();
+ ArrayList<Map<String,Object>> reportTotalDataRows = new ArrayList<Map<String,Object>>();
+ if(rd != null) {
+ reportJSONRuntime.setTotalRows(getReportDataSize());
+
+ Map<String, Object> dvJSON = null;
+ int commonRowCount = 0;
+ if (rd.getReportDataList().size() > 0) {
+ List reportCols = getAllColumns();
+ List<DataColumnType> listofReportCols = new ArrayList<>();
+ for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
+ DataColumnType dc = (DataColumnType) iter.next();
+ listofReportCols.add(dc);
+ }
+ DataRow drows = (DataRow) rd.getReportDataList().get(0);
+ for (int j = 0; j < drows.getRowValues().size(); j++) {
+ DataValue dVal = drows.getRowValues().get(j);
+ ColumnHeader colHeader = new ColumnHeader();
+ colHeader.setColId(dVal.getColId());
+ colHeader.setColumnTitle(dVal.getDisplayName());
+ DataColumnType matchingObject = listofReportCols.stream()
+ .filter(p -> p.getColId().equals(colHeader.getColId())).findAny().orElse(null);
+
+ if (matchingObject != null)
+ colHeader.setVisible(matchingObject.isVisible());
+ colList.add(colHeader);
+ commonRowCount++;
+ }
+ }
+ /*
+ * System.out.println("commonRowCount: "+commonRowCount); if(getReportDataSize()
+ * > 0) { int count = 0; for(int i =0 ; i < rd.getReportDataList().size() ; i++)
+ * { dvJSON = new HashMap<String,Object>(); DataRow drow = (DataRow)
+ * rd.getReportDataList().get(i); for(int j = 0 ; j<drow.getRowValues().size();
+ * j++) { DataValue dVal = (DataValue) drow.getRowValues().get(j);
+ * dVal.setColId(colList.get(j).getColId());
+ * dvJSON.put(colList.get(j).getColId(), dVal);
+ * System.out.println(dVal.toString()); } reportDataRows.add(dvJSON); } }
+ */
+
+ for (int i = 0; i < rd.getColumnVisuals().size(); i++) {
+ ColumnVisual col = (ColumnVisual) rd.getColumnVisuals().get(i);
+ ColumnHeader colHeader = new ColumnHeader();
+ colHeader.setColId(col.getColId());
+ colHeader.setColumnTitle(col.getColDisplay());
+ colList.add(colHeader);
+ }
+ if(getReportDataSize() > 0) {
+ int count = 0;
+ for(int i =0 ; i < rd.getReportDataList().size() ; i++) {
+ dvJSON = new HashMap<String,Object>();
+ DataRow drow = (DataRow) rd.getReportDataList().get(i);
+ for(int j = 0 ; j<drow.getDataValueList().size(); j++) {
+ DataValue dVal = (DataValue) drow.getDataValueList().get(j);
+ dVal.setColId(colList.get(j+commonRowCount).getColId());
+ dvJSON.put(colList.get(j+commonRowCount).getColId(), dVal);
+ System.out.println(dVal.toString());
+ }
+ for(int j = 0 ; j<drow.getRowValues().size(); j++) {
+ DataValue dVal = (DataValue) drow.getRowValues().get(j);
+ dVal.setColId(colList.get(j).getColId());
+ dvJSON.put(colList.get(j).getColId(), dVal);
+ System.out.println(dVal.toString());
+ }
+ reportDataRows.add(dvJSON);
+ }
+ }
+ }
+ reportJSONRuntime.setReportDataColumns(colList);
+ reportJSONRuntime.setReportDataRows(reportDataRows);
+ ArrayList<FormFieldJSON> formFieldJSONList = new ArrayList<FormFieldJSON>();
+ ArrayList<IdNameValue> formFieldValues = new ArrayList<IdNameValue>();
+
+ if(getReportFormFields()!=null) {
+ formFieldJSONList = new ArrayList<FormFieldJSON>(getReportFormFields().size());
+ for (Iterator iter = getReportFormFields().iterator(); iter.hasNext();) {
+ formFieldValues = new ArrayList<IdNameValue>();
+ FormField ff = (FormField) iter.next();
+ ff.setDbInfo(getDbInfo());
+ FormFieldJSON ffJSON = new FormFieldJSON();
+ ffJSON.setFieldId(ff.getFieldName());
+ ffJSON.setFieldType(ff.getFieldType());
+ ffJSON.setFieldDisplayName(ff.getFieldDisplayName());
+ ffJSON.setHelpText(ff.getHelpText());
+ ffJSON.setValidationType(ff.getValidationType());
+ ffJSON.setVisible(ff.isVisible());
+ IdNameList lookup = null;
+ lookup = ff.getLookupList();
+ String selectedValue = "";
+ String oldSQL = "";
+ IdNameList lookupList = null;
+ boolean readOnly = false;
+ if(lookup!=null && rd == null) {
+ if(!ff.hasPredefinedList) {
+ IdNameSql lu = (IdNameSql) lookup;
+ String SQL = lu.getSql();
+ oldSQL = lu.getSql();
+ setTriggerFormFieldCheck( getReportFormFields(), ff);
+ ffJSON.setTriggerOtherFormFields(ff.isTriggerOtherFormFields());
+ SQL = parseAndFillReq_Session_UserValues(request, SQL, userId);
+ SQL = parseAndFillWithCurrentValues(request, SQL, ff);
+ String defaultSQL = lu.getDefaultSQL();
+ defaultSQL = parseAndFillReq_Session_UserValues(request, defaultSQL, userId);
+ defaultSQL = parseAndFillWithCurrentValues(request, defaultSQL, ff);
+ lookup = new IdNameSql(-1,SQL,defaultSQL);
+
+ lookupList = lookup;
+ try {
+ lookup.loadUserData(0, "", ff.getDbInfo(), ff.getUserId());
+ } catch (Exception e ){ e.printStackTrace();
+ }
+ }
+ lookup.trimToSize();
+
+ String[] requestValue = request.getParameterValues(ff.getFieldName());
+
+ if(lookup != null && lookup.size() > 0) {
+ for (lookup.resetNext(); lookup.hasNext();) {
+ IdNameValue value = lookup.getNext();
+ readOnly = value.isReadOnly();
+ if(requestValue != null && Arrays.asList(requestValue).contains(value.getId())) {
+ value.setDefaultValue(true);
+ } else if (AppUtils.nvl(ff.getDefaultValue()).length()>0) {
+ if(ff.getDefaultValue().equals(value.getId())) {
+ value.setDefaultValue(true);
+ }
+ }
+ if(!(ff.getFieldType().equals(FormField.FFT_CHECK_BOX) || ff.getFieldType().equals(FormField.FFT_COMBO_BOX) || ff.getFieldType().equals(FormField.FFT_LIST_BOX)
+ || ff.getFieldType().equals(FormField.FFT_LIST_MULTI)) && value.isDefaultValue())
+ formFieldValues.add(value);
+ else if(ff.getFieldType().equals(FormField.FFT_CHECK_BOX) || ff.getFieldType().equals(FormField.FFT_COMBO_BOX) || ff.getFieldType().equals(FormField.FFT_LIST_BOX)
+ || ff.getFieldType().equals(FormField.FFT_LIST_MULTI)) {
+ formFieldValues.add(value);
+ }
+
+ }
+ } else {
+ if(requestValue!=null && requestValue.length>0) {
+ IdNameValue value = new IdNameValue(requestValue[0], requestValue[0], true, false);
+ formFieldValues.add(value);
+ }
+ }
+
+ } else {
+ setTriggerFormFieldCheck( getReportFormFields(), ff);
+ ffJSON.setTriggerOtherFormFields(ff.isTriggerOtherFormFields());
+ String[] requestValue = request.getParameterValues(ff.getFieldName());
+ if(requestValue!=null && requestValue.length>0) {
+ IdNameValue value = new IdNameValue(requestValue[0], requestValue[0], true, false);
+ formFieldValues.add(value);
+ } else if (AppUtils.nvl(ff.getDefaultValue()).length()>0) {
+ IdNameValue value = new IdNameValue(ff.getDefaultValue(), ff.getDefaultValue(), true, false);
+ formFieldValues.add(value);
+ }
+ }
+ if(!ff.hasPredefinedList) {
+ if(oldSQL != null && !oldSQL.equals("") && lookup!=null) {
+ ((IdNameSql)lookup).setSQL(oldSQL);
+ }
+ }
+ ffJSON.setFormFieldValues(formFieldValues);
+ formFieldJSONList.add(ffJSON);
+ } // for
+ }
+
+
+ reportJSONRuntime.setFormFieldList(formFieldJSONList);
+ return reportJSONRuntime;
+
+ }
+
public ReportJSONRuntime createFormFieldJSONRuntime(HttpServletRequest request) {
String userId = AppUtils.getUserID(request);
ObjectMapper mapper = new ObjectMapper();