summaryrefslogtreecommitdiffstats
path: root/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model')
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/ReportLoader.java2
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/ReportDefinition.java147
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/wizard/ColumnEditJSON.java103
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/wizard/DefinitionJSON.java83
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/wizard/FormEditJSON.java17
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/wizard/SearchFieldJSON.java7
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/pdf/PageEvent.java22
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ChartD3Helper.java105
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ReportRuntime.java1
9 files changed, 435 insertions, 52 deletions
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/ReportLoader.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/ReportLoader.java
index 378c6a87..66d6e965 100644
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/ReportLoader.java
+++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/ReportLoader.java
@@ -583,7 +583,7 @@ public class ReportLoader extends org.onap.portalsdk.analytics.RaptorObject {
String query = Globals.getLoadQuickLinks();
query = query.replace("[userID]", ESAPI.encoder().encodeForSQL( SecurityCodecUtil.getCodec(),userID));
- query = query.replace("[roleList.toString()]", ESAPI.encoder().encodeForSQL( SecurityCodecUtil.getCodec(),roleList.toString()));
+ query = query.replace("[roleList.toString()]", roleList.toString());
query = query.replace("[nvls(menuId)]", ESAPI.encoder().encodeForSQL( SecurityCodecUtil.getCodec(),nvls(menuId)));
DataSet ds = DbUtils
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/ReportDefinition.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/ReportDefinition.java
index 44a05512..72eb64b8 100644
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/ReportDefinition.java
+++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/ReportDefinition.java
@@ -1422,6 +1422,153 @@ public class ReportDefinition extends ReportWrapper implements Serializable {
resetCache(false);
} // parseReportSQL
+ public void parseReportSQL(String sql, boolean storeInSession) throws RaptorException {
+ StringBuffer parsedSQL = new StringBuffer();
+
+ Vector updatedReportCols = new Vector();
+
+ curSQLParsePos = 0;
+ int lastParsePos = curSQLParsePos;
+ String lastToken = null;
+ String nextToken = getNextSQLParseToken(sql, true);
+
+ String dbInfo = getDBInfo();
+ boolean isCYMBALScript = false;
+ if (!isNull(dbInfo) && (!dbInfo.equals(AppConstants.DB_LOCAL))) {
+ try {
+ org.onap.portalsdk.analytics.util.RemDbInfo remDbInfo = new org.onap.portalsdk.analytics.util.RemDbInfo();
+ String dbType = remDbInfo.getDBType(dbInfo);
+ if (dbType.equals("DAYTONA") && !(nextToken.toUpperCase().equals("SELECT"))) {
+ isCYMBALScript = true;
+ }
+ } catch (Exception ex) {
+ throw new RaptorException(ex);
+ }
+ }
+ if ( isCYMBALScript == false ) {
+ while (nextToken.length() > 0) {
+ if (parsedSQL.length() == 0) {
+ if (nextToken.toUpperCase().equals("SELECT"))
+ parsedSQL.append("SELECT ");
+ else
+ throw new org.onap.portalsdk.analytics.error.ValidationException(
+ "The SQL must start with the SELECT keyword.");
+ } else if (nextToken.toUpperCase().equals("DISTINCT")
+ && parsedSQL.toString().equals("SELECT ")) {
+ parsedSQL.append("DISTINCT ");
+ } else if (nextToken.equals("*")
+ && (parsedSQL.toString().equals("SELECT ") || parsedSQL.toString().equals(
+ "SELECT DISTINCT "))) {
+ throw new org.onap.portalsdk.analytics.error.ValidationException(
+ "You cannot use \"SELECT *\". Please specify select columns/expressions.");
+ } else if (nextToken.toUpperCase().equals("FROM")) {
+ if (lastToken != null) {
+ updatedReportCols.add(getParseSQLDataColumn(lastToken, null, parsedSQL,
+ updatedReportCols, false));
+ lastToken = null;
+ }
+
+ parsedSQL.append(" \n");
+ while (lastParsePos < sql.length()
+ && Character.isWhitespace(sql.charAt(lastParsePos)))
+ lastParsePos++;
+ parsedSQL.append(sql.substring(lastParsePos));
+ break;
+ } else {
+ if (nextToken.charAt(nextToken.length() - 1) == ',') {
+ // The token ends with ,
+ nextToken = nextToken.substring(0, nextToken.length() - 1);
+
+ if (nextToken.length() == 0) {
+ if (lastToken != null) {
+ updatedReportCols.add(getParseSQLDataColumn(lastToken, null,
+ parsedSQL, updatedReportCols, false));
+ lastToken = null;
+ } // else just comma => ignore it
+ } else {
+ if (lastToken != null) {
+ updatedReportCols.add(getParseSQLDataColumn(lastToken, nextToken,
+ parsedSQL, updatedReportCols, false));
+ lastToken = null;
+ } else
+ updatedReportCols.add(getParseSQLDataColumn(nextToken, null,
+ parsedSQL, updatedReportCols, false));
+ }
+ } else {
+ // The token doesn't end with ,
+ if (lastToken == null)
+ lastToken = nextToken;
+ else {
+ String token = getNextSQLParseToken(sql, false);
+ if (!token.toUpperCase().equals("FROM"))
+ throw new org.onap.portalsdk.analytics.error.ValidationException(
+ "|FROM keyword or a comma expected after [" + nextToken
+ + "].");
+
+ updatedReportCols.add(getParseSQLDataColumn(lastToken, nextToken,
+ parsedSQL, updatedReportCols, false));
+ lastToken = null;
+ } // else
+ } // else
+ } // else
+
+ lastParsePos = curSQLParsePos;
+ nextToken = getNextSQLParseToken(sql, true);
+ } // while
+ } else { // if CYMBAL Script
+ curSQLParsePos = 0;
+ Pattern re = null;
+ Matcher matcher = null;
+ String extracted = null;
+ nextToken = getNextCYMBALSQLParseToken(sql,true);
+ while (nextToken.length() > 0) {
+ if (lastToken == null) lastToken = nextToken;
+
+ if( lastToken.toUpperCase().startsWith("DO DISPLAY")) {
+ re = Pattern.compile("each(.*)\\[.(.*?)\\]"); //\\[(.*?)\\]
+ matcher = re.matcher(nextToken);
+ if (matcher.find()) {
+ extracted = matcher.group();
+ re = Pattern.compile("\\[(.*?)\\]");
+ matcher = re.matcher(nextToken);
+ if(matcher.find()) {
+ extracted = matcher.group();
+ extracted = extracted.substring(1,extracted.length()-1);
+ StringTokenizer sToken = new StringTokenizer(extracted, ",");
+ while(sToken.hasMoreTokens()) {
+ String str1 = sToken.nextToken().trim().substring(1);
+ updatedReportCols.add(getParseSQLDataColumn("", str1,
+ new StringBuffer(""), updatedReportCols, true));
+ }
+ }
+
+ }
+
+ }
+ lastToken = nextToken;
+ nextToken = getNextCYMBALSQLParseToken(sql, true);
+ }
+
+ }
+ if (updatedReportCols.size() == 0)
+ throw new org.onap.portalsdk.analytics.error.ValidationException(
+ "The SQL statement must have at least one column in the SELECT clause.");
+ if (getDataSourceList().getDataSource().size() == 0)
+ addDataSourceType(new ObjectFactory(), "du0", "DUAL", "", "DUAL", null, null, null);
+ DataSourceType dst = (DataSourceType) getDataSourceList().getDataSource().get(0);
+ dst.getDataColumnList().getDataColumn().clear();
+
+ for (int i = 0; i < updatedReportCols.size(); i++) {
+ DataColumnType dct = (DataColumnType) updatedReportCols.get(i);
+ dct.setTableId(dst.getTableId());
+ dct.setOrderSeq(i + 1);
+ dst.getDataColumnList().getDataColumn().add(dct);
+ } // for
+ if(storeInSession)
+ setReportSQL(parsedSQL.toString());
+ resetCache(false);
+ } // parseReportSQL
+
private String getNextCYMBALSQLParseToken(String sql, boolean updateParsePos) {
int braketCount = 0;
boolean isInsideQuote = false;
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/wizard/ColumnEditJSON.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/wizard/ColumnEditJSON.java
index e5fc94ae..3281eee7 100644
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/wizard/ColumnEditJSON.java
+++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/wizard/ColumnEditJSON.java
@@ -48,6 +48,14 @@ public class ColumnEditJSON implements WizardJSON {
private String displayHeaderAlignment;
private boolean sortable;
private boolean visible;
+ private Integer displayWidth;
+ private Integer displayWidthInPixel;
+ private String colType;
+ private Integer groupByPos;
+ private Integer level;
+ private String dataType;
+ private String noWrap;
+ private Integer indentation;
private String drilldownURL;
private String drilldownParams;
@@ -55,6 +63,13 @@ public class ColumnEditJSON implements WizardJSON {
private String errorMessage;
private String errorStackTrace;
+ private String depeondsOnForField;
+ private String subTotalCustomText;
+ private boolean hideRepeatedKey;
+ private Integer colspan;
+ private String displayName;
+ private String displayTotal;
+
public String getTabId() {
return tabId;
}
@@ -133,5 +148,93 @@ public class ColumnEditJSON implements WizardJSON {
public void setDrilldownType(String drilldownType) {
this.drilldownType = drilldownType;
}
+
+ public Integer getDisplayWidth() {
+ return displayWidth;
+ }
+ public void setDisplayWidth(Integer displayWidth) {
+ this.displayWidth = displayWidth;
+ }
+ public Integer getDisplayWidthInPixel() {
+ return displayWidthInPixel;
+ }
+ public void setDisplayWidthInPixel(Integer displayWidthInPixel) {
+ this.displayWidthInPixel = displayWidthInPixel;
+ }
+ public Integer getGroupByPos() {
+ return groupByPos;
+ }
+ public void setGroupByPos(Integer groupByPos) {
+ this.groupByPos = groupByPos;
+ }
+ public Integer getLevel() {
+ return level;
+ }
+ public void setLevel(Integer level) {
+ this.level = level;
+ }
+ public String getDataType() {
+ return dataType;
+ }
+ public void setDataType(String dataType) {
+ this.dataType = dataType;
+ }
+ 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 String getColType() {
+ return colType;
+ }
+ public void setColType(String colType) {
+ this.colType = colType;
+ }
+ public String getDepeondsOnForField() {
+ return depeondsOnForField;
+ }
+ public void setDepeondsOnForField(String depeondsOnForField) {
+ this.depeondsOnForField = depeondsOnForField;
+ }
+ public String getSubTotalCustomText() {
+ return subTotalCustomText;
+ }
+ public void setSubTotalCustomText(String subTotalCustomText) {
+ this.subTotalCustomText = subTotalCustomText;
+ }
+ public boolean isHideRepeatedKey() {
+ return hideRepeatedKey;
+ }
+ public void setHideRepeatedKey(boolean hideRepeatedKey) {
+ this.hideRepeatedKey = hideRepeatedKey;
+ }
+ public Integer getColspan() {
+ return colspan;
+ }
+ public void setColspan(Integer colspan) {
+ this.colspan = colspan;
+ }
+ public String getDisplayName() {
+ return displayName;
+ }
+ public void setDisplayName(String displayName) {
+ this.displayName = displayName;
+ }
+ public String getDisplayTotal() {
+ return displayTotal;
+ }
+ public void setDisplayTotal(String displayTotal) {
+ this.displayTotal = displayTotal;
+ }
+
+
+
}
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/wizard/DefinitionJSON.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/wizard/DefinitionJSON.java
index 73ac97d8..47b1ef9e 100644
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/wizard/DefinitionJSON.java
+++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/wizard/DefinitionJSON.java
@@ -64,7 +64,15 @@ public class DefinitionJSON implements WizardJSON {
private Integer numFormCols;
private String reportTitle;
private String reportSubTitle;
-
+ private String oneTimeRec;
+ private String hourlyRec;
+ private String dailyRec;
+ private String dailyMFRec;
+ private String weeklyRec;
+ private String monthlyRec;
+ private String allowScheduler;
+ private String sizedByContent;
+ private String repDefType;
@Override
public String getTabName() {
return tabName;
@@ -246,7 +254,78 @@ public class DefinitionJSON implements WizardJSON {
public void setReportSubTitle(String reportSubTitle) {
this.reportSubTitle = reportSubTitle;
}
+
+ public String getOneTimeRec() {
+ return oneTimeRec;
+ }
+
+ public void setOneTimeRec(String oneTimeRec) {
+ this.oneTimeRec = oneTimeRec;
+ }
+
+ public String getHourlyRec() {
+ return hourlyRec;
+ }
+
+ public void setHourlyRec(String hourlyRec) {
+ this.hourlyRec = hourlyRec;
+ }
+
+ public String getDailyRec() {
+ return dailyRec;
+ }
+
+ public void setDailyRec(String dailyRec) {
+ this.dailyRec = dailyRec;
+ }
+
+ public String getDailyMFRec() {
+ return dailyMFRec;
+ }
+
+ public void setDailyMFRec(String dailyMFRec) {
+ this.dailyMFRec = dailyMFRec;
+ }
+
+ public String getWeeklyRec() {
+ return weeklyRec;
+ }
+
+ public void setWeeklyRec(String weeklyRec) {
+ this.weeklyRec = weeklyRec;
+ }
+
+ public String getMonthlyRec() {
+ return monthlyRec;
+ }
+
+ public void setMonthlyRec(String monthlyRec) {
+ this.monthlyRec = monthlyRec;
+ }
+
+ public String getAllowScheduler() {
+ return allowScheduler;
+ }
+
+ public void setAllowScheduler(String allowScheduler) {
+ this.allowScheduler = allowScheduler;
+ }
+
+ public String getSizedByContent() {
+ return sizedByContent;
+ }
+
+ public void setSizedByContent(String sizedByContent) {
+ this.sizedByContent = sizedByContent;
+ }
+
+ public String getRepDefType() {
+ return repDefType;
+ }
+
+ public void setRepDefType(String repDefType) {
+ this.repDefType = repDefType;
+ }
-
}
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/wizard/FormEditJSON.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/wizard/FormEditJSON.java
index bc39006f..e8238534 100644
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/wizard/FormEditJSON.java
+++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/wizard/FormEditJSON.java
@@ -48,6 +48,7 @@ public class FormEditJSON implements WizardJSON {
private String fieldName;
private String fieldType;
private boolean visible;
+ private boolean groupFormField;
private String defaultValue;
private String fieldDefaultSQL;
private String fieldSQL;
@@ -56,7 +57,7 @@ public class FormEditJSON implements WizardJSON {
private String message;
private String errorMessage;
private String errorStackTrace;
-
+ private Integer orderSeq;
public String getMessage() {
return message;
@@ -145,5 +146,19 @@ public class FormEditJSON implements WizardJSON {
public void setFieldSQL(String fieldSQL) {
this.fieldSQL = fieldSQL;
}
+ public boolean isGroupFormField() {
+ return groupFormField;
+ }
+ public void setGroupFormField(boolean groupFormField) {
+ this.groupFormField = groupFormField;
+ }
+ public Integer getOrderSeq() {
+ return orderSeq;
+ }
+ public void setOrderSeq(Integer orderSeq) {
+ this.orderSeq = orderSeq;
+ }
+
+
}
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/wizard/SearchFieldJSON.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/wizard/SearchFieldJSON.java
index b3cfe243..f80ba993 100644
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/wizard/SearchFieldJSON.java
+++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/wizard/SearchFieldJSON.java
@@ -41,6 +41,7 @@ public class SearchFieldJSON implements ElementJSON {
private String id;
private String name;
+ private Integer orderSeq;
public String getId() {
return id;
}
@@ -53,6 +54,12 @@ public class SearchFieldJSON implements ElementJSON {
public void setName(String name) {
this.name = name;
}
+ public Integer getOrderSeq() {
+ return orderSeq;
+ }
+ public void setOrderSeq(Integer orderSeq) {
+ this.orderSeq = orderSeq;
+ }
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/pdf/PageEvent.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/pdf/PageEvent.java
index cfae1ab3..5ed8f9f6 100644
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/pdf/PageEvent.java
+++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/pdf/PageEvent.java
@@ -75,20 +75,6 @@ class PageEvent extends PdfPageEventHelper {
public PageEvent(PdfBean pb) {
this.pb = pb;
}
-
- private int getWidthEntries(int howManyLogos){
- int widthEntries = 0;
-
- if(howManyLogos == 2)
- widthEntries = 3;
- else
- if(howManyLogos == 1)
- widthEntries = 2;
- else
- widthEntries = 0;
-
- return widthEntries;
- }
private int getHowManyLogos(){
int howManyLogos = 0;
@@ -220,13 +206,6 @@ class PageEvent extends PdfPageEventHelper {
table.addCell(new Paragraph(pb.getLeftFooter(), font));
}
- private void addHeaderDummy(PdfPTable table, Font font) {
- Font font1 = new Font(font);
- font1.setSize(Globals.getPDFFooterFontSize());
-
- table.addCell(new Paragraph("Header row", font1));
- }
-
private void addLogo(PdfPTable table, Font font, String imgSrc, int alignment, int absoluteSize) {
Image img = null;
@@ -243,7 +222,6 @@ class PageEvent extends PdfPageEventHelper {
//log that the input file couldnt be loaded -
}
else{
- //img.scaleAbsolute(absoluteSize, absoluteSize);
img.scalePercent(absoluteSize, absoluteSize);
PdfPCell cell = new PdfPCell(img);
cell.setBorderColor(Color.WHITE);
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ChartD3Helper.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ChartD3Helper.java
index 80860912..ec83ffbf 100644
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ChartD3Helper.java
+++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ChartD3Helper.java
@@ -47,6 +47,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Enumeration;
+import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -54,6 +55,7 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.SortedSet;
+import java.util.TimeZone;
import java.util.TreeSet;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -68,6 +70,7 @@ import org.onap.portalsdk.analytics.model.ReportHandler;
import org.onap.portalsdk.analytics.model.base.ChartSeqComparator;
import org.onap.portalsdk.analytics.system.AppUtils;
import org.onap.portalsdk.analytics.system.ConnectionUtils;
+import org.onap.portalsdk.analytics.system.Globals;
import org.onap.portalsdk.analytics.util.AppConstants;
import org.onap.portalsdk.analytics.util.DataSet;
import org.onap.portalsdk.analytics.util.HtmlStripper;
@@ -1804,6 +1807,9 @@ public class ChartD3Helper {
}
wholeScript.append(" .tickFormat(function(d) { \n");
+ wholeScript.append(" var local_dt = new Date(); \n var utc = d + (local_dt.getTimezoneOffset() * 60000);\n");
+ wholeScript.append(" var nd = new Date(utc + (3600000*"+getCurrentTimezoneOffset()+")); ");
+
if(formatFlag==DAYFLAG)
wholeScript.append(" return d3.time.format('%m/%d/%Y')(new Date(d)) }); \n");
else if(formatFlag==HOURFLAG)
@@ -3569,6 +3575,11 @@ public class ChartD3Helper {
return title;
}
+ public java.util.Date timezoneConversion(SimpleDateFormat sdf, String dateStr) {
+ // sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
+ return sdf.parse(dateStr, new ParsePosition(0));
+ }
+
public java.util.Date getDateFromDateStr(String dateStr) {
SimpleDateFormat MMDDYYYYFormat = new SimpleDateFormat("MM/dd/yyyy");
SimpleDateFormat EEEMMDDYYYYFormat = new SimpleDateFormat("EEE, MM/dd/yyyy"); //2012-11-01 00:00:00
@@ -3619,117 +3630,142 @@ public class ChartD3Helper {
int flagDate = 10;
*/
- date = MMDDYYYYHHMMSSFormat.parse(dateStr, new ParsePosition(0));
+ //date = MMDDYYYYHHMMSSFormat.parse(dateStr, new ParsePosition(0));
+ date = timezoneConversion(MMDDYYYYHHMMSSFormat, dateStr);
if(date!=null) formatFlag = SECFLAG;
if(date==null) {
- date = EEEMMDDYYYYFormat.parse(dateStr, new ParsePosition(0));
+ //date = EEEMMDDYYYYFormat.parse(dateStr, new ParsePosition(0));
+ date = timezoneConversion(EEEMMDDYYYYFormat, dateStr);
if(date!=null) formatFlag = DAYOFTHEWEEKFLAG;
}
if(date==null) {
- date = MMDDYYYYHHMMFormat.parse(dateStr, new ParsePosition(0));
+ //date = MMDDYYYYHHMMFormat.parse(dateStr, new ParsePosition(0));
+ date = timezoneConversion(MMDDYYYYHHMMFormat, dateStr);
if(date!=null) formatFlag = MINFLAG;
}
if(date==null) {
//MMDDYYYYHHFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
- date = MMDDYYYYHHFormat.parse(dateStr, new ParsePosition(0));
+ //date = MMDDYYYYHHFormat.parse(dateStr, new ParsePosition(0));
+ date = timezoneConversion(MMDDYYYYHHFormat, dateStr);
if(date!=null) formatFlag = HOURFLAG;
}
if(date==null) {
- date = MMDDYYYYFormat.parse(dateStr, new ParsePosition(0));
+ //date = MMDDYYYYFormat.parse(dateStr, new ParsePosition(0));
+ date = timezoneConversion(MMDDYYYYFormat, dateStr);
if(date!=null) formatFlag = DAYFLAG;
}
if(date==null) {
- date = YYYYMMDDFormat.parse(dateStr, new ParsePosition(0));
+ //date = YYYYMMDDFormat.parse(dateStr, new ParsePosition(0));
+ date = timezoneConversion(YYYYMMDDFormat, dateStr);
if(date!=null) formatFlag = DAYFLAG;
}
if(date==null) {
- date = timestampFormat.parse(dateStr, new ParsePosition(0));
+ //date = timestampFormat.parse(dateStr, new ParsePosition(0));
+ date = timezoneConversion(timestampFormat, dateStr);
if(date!=null) formatFlag = SECFLAG;
}
if(date==null) {
- date = timestampHrFormat.parse(dateStr, new ParsePosition(0));
+ //date = timestampHrFormat.parse(dateStr, new ParsePosition(0));
+ date = timezoneConversion(timestampHrFormat, dateStr);
if(date!=null) formatFlag = HOURFLAG;
}
if(date==null) {
- date = timestampDayFormat.parse(dateStr, new ParsePosition(0));
+ //date = timestampDayFormat.parse(dateStr, new ParsePosition(0));
+ date = timezoneConversion(timestampDayFormat, dateStr);
if(date!=null) formatFlag = DAYFLAG;
}
if(date==null) {
- date = MONYYYYFormat.parse(dateStr, new ParsePosition(0));
+ //date = MONYYYYFormat.parse(dateStr, new ParsePosition(0));
+ date = timezoneConversion(MONYYYYFormat, dateStr);
if(date!=null) formatFlag = MONTHFLAG;
}
if(date==null) {
- date = MMYYYYFormat.parse(dateStr, new ParsePosition(0));
+ //date = MMYYYYFormat.parse(dateStr, new ParsePosition(0));
+ date = timezoneConversion(MMYYYYFormat, dateStr);
if(date!=null) formatFlag = MONTHFLAG;
}
if(date==null) {
- date = MMMMMDDYYYYFormat.parse(dateStr, new ParsePosition(0));
+ //date = MMMMMDDYYYYFormat.parse(dateStr, new ParsePosition(0));
+ date = timezoneConversion(MMMMMDDYYYYFormat, dateStr);
if(date!=null) formatFlag = DAYFLAG;
}
if(date==null) {
- date = MONTHYYYYFormat.parse(dateStr, new ParsePosition(0));
+ //date = MONTHYYYYFormat.parse(dateStr, new ParsePosition(0));
+ date = timezoneConversion(MONTHYYYYFormat, dateStr);
if(date!=null) formatFlag = MONTHFLAG;
}
if(date==null) {
- date = YYYYMMDDHHMMSSFormat.parse(dateStr, new ParsePosition(0));
+ //date = YYYYMMDDHHMMSSFormat.parse(dateStr, new ParsePosition(0));
+ date = timezoneConversion(YYYYMMDDHHMMSSFormat, dateStr);
if(date!=null) formatFlag = SECFLAG;
}
if(date==null) {
- date = YYYYMMDDHHMMFormat.parse(dateStr, new ParsePosition(0));
+ //date = YYYYMMDDHHMMFormat.parse(dateStr, new ParsePosition(0));
+ date = timezoneConversion(YYYYMMDDHHMMFormat, dateStr);
if(date!=null) formatFlag = MINFLAG;
}
if(date==null) {
- date = DDMONYYYYHHMMSSFormat.parse(dateStr, new ParsePosition(0));
+ //date = DDMONYYYYHHMMSSFormat.parse(dateStr, new ParsePosition(0));
+ date = timezoneConversion(DDMONYYYYHHMMSSFormat, dateStr);
if(date!=null) formatFlag = SECFLAG;
}
if(date==null) {
- date = DDMONYYYYHHMMFormat.parse(dateStr, new ParsePosition(0));
+ //date = DDMONYYYYHHMMFormat.parse(dateStr, new ParsePosition(0));
+ date = timezoneConversion(DDMONYYYYHHMMFormat, dateStr);
if(date!=null) formatFlag = MINFLAG;
}
if(date==null) {
- date = DDMONYYYYFormat.parse(dateStr, new ParsePosition(0));
+ //date = DDMONYYYYFormat.parse(dateStr, new ParsePosition(0));
+ date = timezoneConversion(DDMONYYYYFormat, dateStr);
if(date!=null) formatFlag = DAYFLAG;
}
if(date==null) {
- date = MMDDYYHHMMSSFormat.parse(dateStr, new ParsePosition(0));
+ //date = MMDDYYHHMMSSFormat.parse(dateStr, new ParsePosition(0));
+ date = timezoneConversion(MMDDYYHHMMSSFormat, dateStr);
if(date!=null) formatFlag = SECFLAG;
}
if(date==null) {
- date = MMDDYYHHMMFormat.parse(dateStr, new ParsePosition(0));
+ //date = MMDDYYHHMMFormat.parse(dateStr, new ParsePosition(0));
+ date = timezoneConversion(MMDDYYHHMMFormat, dateStr);
if(date!=null) formatFlag = MINFLAG;
}
if(date==null) {
- date = MMDDYYFormat.parse(dateStr, new ParsePosition(0));
+ //date = MMDDYYFormat.parse(dateStr, new ParsePosition(0));
+ date = timezoneConversion(MMDDYYFormat, dateStr);
if(date!=null) formatFlag = DAYFLAG;
}
if(date==null) {
- date = timestampFormat1.parse(dateStr, new ParsePosition(0));
+ //date = timestampFormat1.parse(dateStr, new ParsePosition(0));
+ date = timezoneConversion(timestampFormat1, dateStr);
if(date!=null) formatFlag = SECFLAG;
}
if(date==null) {
- date = MMDDYYYYHHMMZFormat.parse(dateStr, new ParsePosition(0));
+ //date = MMDDYYYYHHMMZFormat.parse(dateStr, new ParsePosition(0));
+ date = timezoneConversion(MMDDYYYYHHMMZFormat, dateStr);
if(date!=null) formatFlag = MINFLAG;
}
if(date==null) {
- date = YYYYFormat.parse(dateStr, new ParsePosition(0));
+ //date = YYYYFormat.parse(dateStr, new ParsePosition(0));
+ date = timezoneConversion(YYYYFormat, dateStr);
/* Some random numbers should not satisfy this year format. */
if(dateStr.length()>4) date = null;
if(date!=null) formatFlag = YEARFLAG;
}
if(date==null) {
- date = timestamp_W_dash.parse(dateStr, new ParsePosition(0));
+ //date = timestamp_W_dash.parse(dateStr, new ParsePosition(0));
+ date = timezoneConversion(timestamp_W_dash, dateStr);
if(date!=null) formatFlag = SECFLAG;
}
if(date==null)
@@ -4085,6 +4121,23 @@ public class ChartD3Helper {
return valuesMap;
- }
+ }
+
+ public static int getCurrentTimezoneOffset() {
+
+ TimeZone tz = TimeZone.getDefault();
+ java.util.Calendar cal = GregorianCalendar.getInstance(tz);
+ int offsetInMillis = tz.getOffset(cal.getTimeInMillis());
+ int hourOffset = Math.abs(offsetInMillis / 3600000) * 60;
+ boolean isDST = tz.inDaylightTime(new java.util.Date());
+ if(isDST){
+ hourOffset += 60;
+ }
+ int offset = hourOffset + Math.abs((offsetInMillis / 60000) % 60);
+ if (offsetInMillis > 0)
+ offset *= -1;
+
+ return Globals.getTimezoneOffset();
+ }
}
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 529790e9..bb99318f 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
@@ -2895,6 +2895,7 @@ public List getMapMarkers(ReportData rd, org.onap.portalsdk.analytics.xmlobj.Rep
reportJSONRuntime.setReportID(getReportID());
reportJSONRuntime.setReportName(getReportName());
reportJSONRuntime.setReportSubTitle(getReportSubTitle());
+ reportJSONRuntime.setAllowEdit(isAllowEdit(request));
reportJSONRuntime.setNumFormCols(getNumFormColsAsInt());
ArrayList<IdNameValue> formFieldValues = new ArrayList<IdNameValue>();
ArrayList<FormFieldJSON> formFieldJSONList = new ArrayList<FormFieldJSON>();