summaryrefslogtreecommitdiffstats
path: root/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ReportRuntime.java
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ReportRuntime.java')
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ReportRuntime.java74
1 files changed, 43 insertions, 31 deletions
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 987a8227..1afd629c 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
@@ -56,6 +56,7 @@ import java.util.regex.Pattern;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.commons.lang.StringUtils;
+import org.apache.jcs.engine.CacheUtils;
import org.onap.portalsdk.analytics.error.RaptorException;
import org.onap.portalsdk.analytics.model.DataCache;
import org.onap.portalsdk.analytics.model.ReportHandler;
@@ -183,6 +184,16 @@ public class ReportRuntime extends ReportWrapper implements Cloneable, Serializa
private int DATE_OPTION = -1;
+ private boolean fromDashBoard = false;
+
+
+ public boolean isFromDashBoard() {
+ return fromDashBoard;
+ }
+
+ public void setFromDashBoard(boolean fromDashBoard) {
+ this.fromDashBoard = fromDashBoard;
+ }
public boolean isSinglePageDownload() {
return isSinglePageDownload;
@@ -622,11 +633,16 @@ public class ReportRuntime extends ReportWrapper implements Cloneable, Serializa
public ReportData loadReportData(int pageNo, String userId, int downloadLimit, HttpServletRequest request, boolean download) throws RaptorException {
ReportData rd = null;
boolean isGoBackAction = AppUtils.getRequestFlag(request, AppConstants.RI_GO_BACK);
+ boolean isPageDowload = Boolean.valueOf(request.getParameter(AppConstants.PAGE_DOWNLOAD));
if (pageNo >= 0)
if (pageNo == cachedPageNo && pageDataCache != null)
rd = pageDataCache;
if(isGoBackAction && rd!=null) return rd;
+ if(isPageDowload && pageDataCache != null) {
+ rd = pageDataCache;
+ return rd;
+ }
if (rd == null) {
if (getReportType().equals(AppConstants.RT_CROSSTAB))
rd = loadCrossTabReportData(pageNo, userId, downloadLimit, request, download);
@@ -936,7 +952,11 @@ public class ReportRuntime extends ReportWrapper implements Cloneable, Serializa
long startTime = System.currentTimeMillis();
logger.info("Session ID: " + request.getSession().getId());
boolean isSameSession = false;
-
+ boolean isChildReport = false;
+ if(request.getParameter(AppConstants.CHILD_REPORT) != null) {
+ isChildReport = Boolean.valueOf(request.getParameter(AppConstants.CHILD_REPORT));
+ }
+ //setFromDashBoard(isChildReport);
String action = nvl(request.getParameter(AppConstants.RI_ACTION), request.getParameter("action"));;
String reportSQL = "";
if(action.endsWith("session")) {
@@ -1028,13 +1048,19 @@ public class ReportRuntime extends ReportWrapper implements Cloneable, Serializa
if (ds.getRowCount() < getPageSize() && pageNo == 0) {
setReportDataSize(ds.getRowCount());
} else {
- if (CachingUtils.isTotalCountAvailable(request.getSession().getId() + wholeSQL) && !download) {
+ if (pageNo > 0 && CachingUtils.isTotalCountAvailable(request.getSession().getId() + wholeSQL) && !download) {
setReportDataSize(CachingUtils.getTotalRowsCount(request.getSession().getId() + wholeSQL));
} else {
DataSet countData = null;
+ if (!fromDashBoard) {
+ if(!isChildReport) {
countData = ConnectionUtils.getDataSet(SQLForCount, dbInfo);
setReportDataSize(countData.getInt(0, 0));
CachingUtils.cacheTotalRowCount(request.getSession().getId() + wholeSQL, countData.getInt(0, 0));
+ } else {
+ setReportDataSize(ds.getRowCount());
+ }
+ }
}
}
if(doesReportContainsGroupFormField()) {
@@ -1182,6 +1208,7 @@ public class ReportRuntime extends ReportWrapper implements Cloneable, Serializa
}
}
}
+ //}
String widthInPxls = dc.getDisplayWidthInPxls();
@@ -1218,9 +1245,9 @@ public class ReportRuntime extends ReportWrapper implements Cloneable, Serializa
DataColumnType dct = (DataColumnType) reportCols.get(c);
DataValue dv = new DataValue();
dr.addDataValue(dv);
- String reverseDispalyValue = reverseDisplayValue(ds.getString(r, ds.getColumnIndex(dct.getColId())));
+ String reverseDispalyValue = Utils.removeLinkToForDownload(ds.getString(r, ds.getColumnIndex(dct.getColId())));
reverseDispalyValue = StringUtils.substringBefore(reverseDispalyValue, ",");
- if(download)
+ if(download && Utils.isRemoveLinkToEligible(ds.getString(r, ds.getColumnIndex(dct.getColId()))))
dv.setDisplayValue(reverseDispalyValue);
else
dv.setDisplayValue(ds.getString(r, ds.getColumnIndex(dct.getColId())));
@@ -1438,6 +1465,7 @@ public class ReportRuntime extends ReportWrapper implements Cloneable, Serializa
}
}
}
+ //}
String widthInPxls = dc.getDisplayWidthInPxls();
@@ -2483,7 +2511,7 @@ public List getMapMarkers(ReportData rd, org.onap.portalsdk.analytics.xmlobj.Rep
String oldSQL = "";
IdNameList lookupList = null;
boolean readOnly = false;
- if(lookup!=null) {
+ if(lookup!=null && rd == null) {
if(!ff.hasPredefinedList) {
IdNameSql lu = (IdNameSql) lookup;
String SQL = lu.getSql();
@@ -2576,11 +2604,13 @@ public List getMapMarkers(ReportData rd, org.onap.portalsdk.analytics.xmlobj.Rep
}
if(getReportDataSize() > 0) {
count = 0;
+ DataRow dr = new DataRow();
+ DataValue dv = new DataValue();
for(rd.reportDataRows.resetNext(); rd.reportDataRows.hasNext(); count++) {
dvJSON = new HashMap<>();
- DataRow dr = rd.reportDataRows.getNext();
+ dr = rd.reportDataRows.getNext();
for(dr.resetNext(); dr.hasNext(); ) {
- DataValue dv = dr.getNext();
+ dv = dr.getNext();
try {
dvJSON.put(dv.getColId(), dv);
} catch (Exception ex) {
@@ -2592,11 +2622,13 @@ public List getMapMarkers(ReportData rd, org.onap.portalsdk.analytics.xmlobj.Rep
}
}
if(rd.reportDataTotalRow != null) {
+ DataRow dr = new DataRow();
+ DataValue dv = new DataValue();
for(rd.reportDataTotalRow.resetNext(); rd.reportDataTotalRow.hasNext(); count++) {
dvJSON = new HashMap<String,Object>();
- DataRow dr = rd.reportDataTotalRow.getNext();
+ dr = rd.reportDataTotalRow.getNext();
for(dr.resetNext(); dr.hasNext(); ) {
- DataValue dv = dr.getNext();
+ dv = dr.getNext();
try {
dvJSON.put(dv.getColId(), dv);
} catch (Exception ex) {
@@ -2609,8 +2641,8 @@ public List getMapMarkers(ReportData rd, org.onap.portalsdk.analytics.xmlobj.Rep
}
reportJSONRuntime.setReportDataColumns(colList);
reportJSONRuntime.setReportDataRows(reportDataRows);
- reportJSONRuntime.setPageSize(getPageSize());
reportJSONRuntime.setReportTotalDataRows(reportTotalDataRows);
+ reportJSONRuntime.setPageSize(getPageSize());
}
@@ -2908,24 +2940,4 @@ public String parseAndFillWithCurrentValues(HttpServletRequest request, String s
return sql;
}
- private static String reverseDisplayValue(String value) {
- int i = value.length() - 1;
- int start, end = i + 1;
- String result = "";
- while (i >= 0) {
- if (value.charAt(i) == ',') {
- start = i + 1;
- while (start != end)
- result += value.charAt(start++);
- result += ',';
- end = i;
- }
- i--;
- }
- start = 0;
- while (start != end)
- result += value.charAt(start++);
- return result;
- }
-
-}
+} \ No newline at end of file