From 6beb446925c967aca92f5513adf36c5db77c00d6 Mon Sep 17 00:00:00 2001 From: TATTAVARADA Date: Thu, 27 Apr 2017 07:53:18 -0400 Subject: [PORTAL-7] Rebase This rebasing includes common libraries and common overlays projects abstraction of components Change-Id: Ia1efa4deacdc5701e6205104ac021a6c80ed60ba Signed-off-by: st782s --- .../analytics/model/base/ChartSeqComparator.java | 49 - .../analytics/model/base/IdNameColLookup.java | 35 - .../portalsdk/analytics/model/base/IdNameList.java | 183 - .../analytics/model/base/IdNameLookup.java | 198 - .../portalsdk/analytics/model/base/IdNameSql.java | 400 -- .../analytics/model/base/IdNameValue.java | 100 - .../analytics/model/base/NameComparator.java | 32 - .../analytics/model/base/OrderBySeqComparator.java | 37 - .../analytics/model/base/OrderSeqComparator.java | 37 - .../analytics/model/base/ReportSecurity.java | 407 -- .../analytics/model/base/ReportWrapper.java | 5719 -------------------- 11 files changed, 7197 deletions(-) delete mode 100644 ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ChartSeqComparator.java delete mode 100644 ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameColLookup.java delete mode 100644 ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameList.java delete mode 100644 ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameLookup.java delete mode 100644 ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameSql.java delete mode 100644 ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameValue.java delete mode 100644 ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/NameComparator.java delete mode 100644 ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/OrderBySeqComparator.java delete mode 100644 ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/OrderSeqComparator.java delete mode 100644 ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportSecurity.java delete mode 100644 ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportWrapper.java (limited to 'ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base') diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ChartSeqComparator.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ChartSeqComparator.java deleted file mode 100644 index 7b15db55..00000000 --- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ChartSeqComparator.java +++ /dev/null @@ -1,49 +0,0 @@ -/*- - * ================================================================================ - * eCOMP Portal SDK - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ================================================================================ - */ -package org.openecomp.portalsdk.analytics.model.base; - -import java.util.Comparator; - -import org.openecomp.portalsdk.analytics.xmlobj.DataColumnType; - -public class ChartSeqComparator implements Comparator { - - public int compare(Object o1, Object o2) { - DataColumnType dct1 = (DataColumnType) o1; - DataColumnType dct2 = (DataColumnType) o2; - - int dct1ChartSeq = (dct1.getChartSeq()!=null ? dct1.getChartSeq().intValue(): -1); - int dct2ChartSeq = (dct2.getChartSeq()!=null ? dct2.getChartSeq().intValue(): -1); - - if (dct1ChartSeq == dct2ChartSeq) - return 0; - else if (dct1ChartSeq < 0) // Position columns - // with seq -1 at - // the end - return 1; - else if (dct2ChartSeq < 0) - return -1; - else if (dct1ChartSeq < dct2ChartSeq) - return -1; - else - return 1; - } // compare - -} // ChartSeqComparator diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameColLookup.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameColLookup.java deleted file mode 100644 index d7fdc33a..00000000 --- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameColLookup.java +++ /dev/null @@ -1,35 +0,0 @@ -/*- - * ================================================================================ - * eCOMP Portal SDK - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ================================================================================ - */ -package org.openecomp.portalsdk.analytics.model.base; - -public class IdNameColLookup extends IdNameLookup { - private String colId = null; - - public IdNameColLookup(String colId, String dbTableName, String dbIdField, - String dbNameField, String dbSortByField) { - super(dbTableName, dbIdField, dbNameField, dbSortByField, false); - this.colId = colId; - } // IdNameColLookup - - public String getColId() { - return colId; - } - -} // IdNameColLookup diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameList.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameList.java deleted file mode 100644 index dba3db03..00000000 --- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameList.java +++ /dev/null @@ -1,183 +0,0 @@ -/*- - * ================================================================================ - * eCOMP Portal SDK - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ================================================================================ - */ -package org.openecomp.portalsdk.analytics.model.base; - -import java.util.Vector; - -import org.openecomp.portalsdk.analytics.error.RaptorException; -import org.openecomp.portalsdk.analytics.system.Globals; - -public class IdNameList extends Vector { - protected int pageNo = -1; - - protected int pageSize = 50; - - private int nextElemIdx = 0; - - private String oldSql = null; - - public IdNameList() { - super(); - pageSize = Globals.getFormFieldsListSize(); - } // IdNameList - - public int getPageNo() { - return pageNo; - } // getPageNo - - public int getPageSize() { - return pageSize; - } // getPageSize - - public int getDataSize() { - return size(); - } // getDataSize - - public void resetNext() { - resetNext(0); - } // resetNext - - public void resetNext(int toPos) { - nextElemIdx = toPos; - } // resetNext - - public boolean hasNext() { - return (nextElemIdx < size()); - } // hasNext - - public IdNameValue getNext() { - return hasNext() ? getValue(nextElemIdx++) : null; - } // getNext - - public int getCount() { - return size(); - } // getCount - - public IdNameValue getValue(int idx) { - return (IdNameValue) get(idx); - } // getValue - - public void addValue(IdNameValue value) { - add(value); - } // addValue - - public void addValue(String id, String name, boolean defaultValue) { - addValue(new IdNameValue(id, name, defaultValue)); - } // addValue - - public void addValue(String id, String name, boolean defaultValue, boolean readOnly) { - addValue(new IdNameValue(id, name, defaultValue, readOnly)); - } // addValue - - public void addValue(String id, String name) { - addValue(new IdNameValue(id, name)); - } // addValue - - public void addValue(int idx, IdNameValue value) { - add(idx, value); - } // addValue - - public void addValue(int idx, String id, String name) { - addValue(idx, new IdNameValue(id, name)); - } // addValue - - public String getNameById(String id) { - for (int i = 0; i < size(); i++) { - IdNameValue value = getValue(i); - if (value.getId().equals(id)) - return value.getName(); - } // for - - return null; - } // getNameById - - public String getIdByName(String name) { - for (int i = 0; i < size(); i++) { - IdNameValue value = getValue(i); - if (value.getName().equals(name)) - return value.getId(); - } // for - - return null; - } // getIdByName - - public boolean canUseSearchString() { - return true; - } - - public String getBaseSQL() { - return null; - } - - public String getOldSql() { - return oldSql; - } - - public void setOldSql(String oldSql) { - this.oldSql = oldSql; - } - public String getBaseWholeSQL() { - return null; - } - - public String getBaseWholeReadonlySQL() { - return null; - } - - public String getBaseSQLForPDFExcel(boolean multiParam) { - return null; - } - - public void clearData() { - } - - public void loadData(String pageNo, String searchString, String dbInfo,String userId) throws RaptorException {} - public void loadUserData(String pageNo, String searchString, String dbInfo,String userId) throws RaptorException {} - public void loadUserData(int pageNo, String searchString, String dbInfo, String userId) throws RaptorException {} - public void loadUserData(String searchString, int pageNo, String dbInfo) throws RaptorException {} - - public void loadData(String pageNo) throws RaptorException {} - public void loadData(int pageNo) throws RaptorException {} - public void loadData(String pageNo, String searchString, String dbInfo) throws RaptorException {} - private void loadData(int pageNo, String searchString, String dbInfo) throws RaptorException {} - -/* - public void loadData(int pageNo, String dbInfo) throws RaptorException { - } - - public void loadUserData(int pageNo, String dbInfo, String userId) throws RaptorException { - } - - - - - public void loadData(String pageNo, String searchString) throws RaptorException { - } - -*/ - protected static String nvl(String s) { - return (s == null) ? "" : s; - } - - protected static String nvl(String s, String sDefault) { - return nvl(s).equals("") ? sDefault : s; - } - -} // IdNameList diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameLookup.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameLookup.java deleted file mode 100644 index e4424f62..00000000 --- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameLookup.java +++ /dev/null @@ -1,198 +0,0 @@ -/*- - * ================================================================================ - * eCOMP Portal SDK - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ================================================================================ - */ -package org.openecomp.portalsdk.analytics.model.base; - -import org.openecomp.portalsdk.analytics.error.RaptorException; - -public class IdNameLookup extends IdNameSql { - private String dbTableName = null; - - private String dbIdField = null; - - private String dbNameField = null; - - private String dbSortByField = null; - - private String searchString = ""; - - public IdNameLookup(int pageNo, String dbTableName, String dbIdField, String dbNameField) { - this(dbTableName, dbIdField, dbNameField); - - this.pageNo = pageNo; - } // IdNameLookup - - public IdNameLookup(String dbTableName, String dbIdField, String dbNameField) { - this(dbTableName, dbIdField, dbNameField, null, "", false); - } // IdNameLookup - -/* public IdNameLookup(String dbTableName, String dbIdField, String dbNameField, - String dbSortByField) { - super(); - - setDbTableName(dbTableName); - setDbIdField(dbIdField); - setDbNameField(dbNameField); - setDbSortByField(dbSortByField); - updateParentSQL(); - } // IdNameLookup - - public IdNameLookup(String dbTableName, String dbIdField, String dbNameField, - String dbSortByField, String defaultSQL) { - super(); - - setDbTableName(dbTableName); - setDbIdField(dbIdField); - setDbNameField(dbNameField); - setDbSortByField(dbSortByField); - setDefaultSQL(defaultSQL); - updateParentSQL(); - } // IdNameLookup -*/ - public IdNameLookup(String dbTableName, String dbIdField, String dbNameField, - String dbSortByField, boolean textField) { - super(); - setDbTableName(dbTableName); - setDbIdField(dbIdField); - setDbNameField(dbNameField); - setDbSortByField(dbSortByField); - if(!textField) - updateParentSQL(); - } // IdNameLookup - - public IdNameLookup(String dbTableName, String dbIdField, String dbNameField, - String dbSortByField, String defaultSQL, boolean textField) { - super(); - - setDbTableName(dbTableName); - setDbIdField(dbIdField); - setDbNameField(dbNameField); - setDbSortByField(dbSortByField); - setDefaultSQL(defaultSQL); - if(!textField) - updateParentSQL(); - } // IdNameLookup - - public String getDbTableName() { - return dbTableName; - } - - public String getDbIdField() { - return dbIdField; - } - - public String getDbNameField() { - return dbNameField; - } - - public String getDbSortByField() { - return dbSortByField; - } - - public void setDbTableName(String dbTableName) { - this.dbTableName = dbTableName; - } - - public void setDbIdField(String dbIdField) { - this.dbIdField = dbIdField; - } - - public void setDbNameField(String dbNameField) { - this.dbNameField = dbNameField; - } - - - public void setDbSortByField(String dbSortByField) { - this.dbSortByField = dbSortByField; - } - - private void updateParentSQL() { - String sql_start = "SELECT DISTINCT " + dbIdField + " id, " + dbNameField + " name"; - String sql_end = " FROM " + dbTableName + " WHERE " + dbIdField + " IS NOT NULL"; - if (searchString.length() > 0) - sql_end += " AND UPPER(" + dbNameField + ") LIKE UPPER('" + searchString + "')"; - - String sql_middle = ""; - if (dbSortByField != null && (!dbSortByField.equals(dbNameField)) && (!dbSortByField.trim().startsWith("TO_DATE"))) - sql_middle = ", " - + ((dbSortByField.indexOf(' ') > 0) ? dbSortByField.substring(0, - dbSortByField.indexOf(' ')) : dbSortByField) + " sort"; - - setSqlNoOrderBy(sql_start + sql_middle + sql_end); -// System.out.println("SQL Start " + sql_start); -// System.out.println("SQL Middle " + sql_middle); -// System.out.println("SQL End " + sql_end); -// System.out.println("DbSortByField " + dbSortByField); - - setSql(sql_start + sql_middle + sql_end + " ORDER BY " + nvl(dbSortByField, "2")); - } // updateParentSQL - - public boolean canUseSearchString() { - return true; - } - - public String getBaseSQL() { - return "SELECT " + dbIdField + " FROM " + dbTableName; - } // getBaseSQL - - public String getBaseWholeSQL() { - return "SELECT " + dbIdField + " FROM " + dbTableName; - } // getBaseSQL - - /* - public void loadData(int pageNo) throws RaptorException { - loadData(pageNo, ""); - } // loadData - - public void loadData(String pageNo) throws RaptorException { - loadData(pageNo, ""); - } // loadData -*/ - - public void loadData(String pageNo, String searchString, String dbInfo) throws RaptorException { - int iPageNo = 0; - - if (pageNo != null) - try { - iPageNo = Integer.parseInt(pageNo); - } catch (NumberFormatException e) { - } - - loadData(iPageNo, searchString, dbInfo); - } // loadData - - private void loadData(int pageNo, String searchString, String dbInfo) throws RaptorException { - boolean dataAlreadyLoaded = (this.pageNo == pageNo) - && (this.searchString.equals(searchString)); - - if (dataAlreadyLoaded) - return; - - if (!this.searchString.equals(searchString)) { - dataSize = -1; - pageNo = 0; - } // if - - this.pageNo = pageNo; - this.searchString = searchString; - updateParentSQL(); - performLoadData(searchString,dbInfo); - } // loadData - -} // IdNameLookup diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameSql.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameSql.java deleted file mode 100644 index 9928ad80..00000000 --- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameSql.java +++ /dev/null @@ -1,400 +0,0 @@ -/*- - * ================================================================================ - * eCOMP Portal SDK - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ================================================================================ - */ -/* =========================================================================================== - * This class is part of RAPTOR (Rapid Application Programming Tool for OLAP Reporting) - * Raptor : This tool is used to generate different kinds of reports with lot of utilities - * =========================================================================================== - * - * ------------------------------------------------------------------------------------------- - * IdNameSql.java - This class is used to generate form field items when sql is provided. - * ------------------------------------------------------------------------------------------- - * - * Created By : Stan Pishamanov - * Modified By: Sundar Ramalingam - * - * Changes - * ------- - * 08-Jun-2009 : Version 8.3 (RS); Rownum references is avoided for reports connnecting to Daytona - * Database. - * - */ -package org.openecomp.portalsdk.analytics.model.base; - -import java.util.HashMap; - -import org.openecomp.portalsdk.analytics.error.RaptorException; -import org.openecomp.portalsdk.analytics.system.ConnectionUtils; -import org.openecomp.portalsdk.analytics.system.Globals; -import org.openecomp.portalsdk.analytics.util.AppConstants; -import org.openecomp.portalsdk.analytics.util.DataSet; -import org.openecomp.portalsdk.analytics.util.Utils; -import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate; - -public class IdNameSql extends IdNameList { - - EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(IdNameSql.class); - - - protected int dataSize = -1; - - protected int dataSizeUsedInPopup = -1; - - private String sql = null; - - private String oldSql = null; - - private String defaultSQL = null; - - private String sqlNoOrderBy = null; - - public IdNameSql(int pageNo, String sql, String defaultSQL) { - this(sql,defaultSQL); - this.pageNo = pageNo; - } // IdNameSql - - public IdNameSql(String sql) { - this(); - setSql(sql); - } // IdNameSql - - public IdNameSql(String sql, String defaultSQL) { - this(); - setDefaultSQL(defaultSQL); - setSql(sql); - } // IdNameSql - - protected IdNameSql() { - super(); - } // IdNameSql - - public boolean canUseSearchString() { - return true; - } - - public String getSql() { - return sql; - } - - public String getOldSql() { - return oldSql; - } - - public String getBaseSQL() { - return "SELECT id FROM (" + sql + ") xid"; - } - - public String getBaseWholeSQL() { - return "SELECT id, name FROM (" + sql + ") xid"; - } - - public String getBaseWholeReadonlySQL() { - return "SELECT id, name, ff_readonly FROM (" + sql + ") xid"; - } - - public String getBaseSQLForPDFExcel(boolean multiParam) { - if(!multiParam) - return "SELECT id, name FROM (" + sql + ") xid where id = '[VALUE]'"; - else - return "SELECT id, name FROM (" + sql + ") xid where id in [VALUE]"; - - } - - // public String getSqlNoOrderBy() { return sqlNoOrderBy; } - - protected void setSql(String sql) { - this.sql = sql; - } - - public void setOldSql(String oldSql) { - this.oldSql = oldSql; - } - - protected void setSqlNoOrderBy(String sql) { - this.sqlNoOrderBy = sql; - } - - public int getDataSize() { - return dataSize; - } // getDataSize - - public int getDataSizeUsedinPopup() { - return dataSizeUsedInPopup; - } // getDataSizeUsedinPopup - - public void setDataSizeUsedinPopup(int dataSizePop) { - this.dataSizeUsedInPopup = dataSizePop; - } // getDataSizeUsedinPopup - - public void clearData() { - removeAllElements(); - } // clearData - -/* public void loadData(String pageNo, String searchString, String dbInfo, String userId) throws RaptorException { - // setSql(searchString); - loadUserData(pageNo, searchString, dbInfo,userId); - } // loadData -*/ - - public void loadUserData(String pageNo, String searchString, String dbInfo,String userId) throws RaptorException { - int iPageNo = 0; - - if (pageNo != null) - try { - iPageNo = Integer.parseInt(pageNo); - } catch (NumberFormatException e) { - } - - loadUserData(iPageNo, searchString, dbInfo,userId); - } // loadData - - public void loadUserData(int pageNo, String searchString, String dbInfo, String userId) throws RaptorException { - if(userId!=null) { - String sql = Utils.replaceInString(getSql(), "[LOGGED_USERID]", userId); - //String defaultSQL = ""; - if(defaultSQL!=null && (defaultSQL.trim().toLowerCase().startsWith("select")) ) { - defaultSQL = Utils.replaceInString(getDefaultSQL(), "[LOGGED_USERID]", userId); - setDefaultSQL(defaultSQL); - } - setSql(sql); - - } - loadData(searchString,pageNo, dbInfo); - } - - public void loadData(String searchString, int pageNo, String dbInfo) throws RaptorException { - - //boolean dataAlreadyLoaded = (this.pageNo == pageNo); - - //if (dataAlreadyLoaded) - // return; - - this.pageNo = pageNo; - - performLoadData(searchString, dbInfo); - } // loadData - - protected void performLoadData(String searchString, String dbInfo) throws RaptorException { - long currentTime = System.currentTimeMillis(); - int startRow = 0; - int endRow = dataSize; - String readOnlyInSql = "ff_readonly"; - String dbType = Globals.getDBType(); - if (!isNull(dbInfo) && (!dbInfo.equals(AppConstants.DB_LOCAL))) { - try { - org.openecomp.portalsdk.analytics.util.RemDbInfo remDbInfo = new org.openecomp.portalsdk.analytics.util.RemDbInfo(); - dbType = remDbInfo.getDBType(dbInfo); - } catch (Exception ex) { - throw new RaptorException(ex); - } - } - if (pageNo >= 0) { - startRow = pageNo * pageSize; - endRow = startRow + pageSize; - } // if - DataSet ds = null; - DataSet dsDefault = null; - StringBuffer query = new StringBuffer(""); - StringBuffer queryPop = new StringBuffer(""); - String sql = getSql(); - boolean avail_ReadOnly = (sql.toLowerCase().indexOf(readOnlyInSql)!=-1); - - if (dbType.equals("DAYTONA") && getSql().trim().toUpperCase().startsWith("SELECT")) { - query.append(getSql()); - } else { - if(avail_ReadOnly) // need to add readonlyinsql - if(!(Globals.isMySQL() && dbType.equals(AppConstants.MYSQL))) - query.append("SELECT rownum, id, name, " + readOnlyInSql +" FROM ("+ Globals.getReportSqlForFormfield() +", " + readOnlyInSql + " FROM (" + sql - + ") x "+ Globals.getReportSqlForFormfieldSuffix()); - else - query.append("SELECT id, name, " + readOnlyInSql +" FROM ("+ Globals.getReportSqlForFormfield() +", " + readOnlyInSql + " FROM (" + sql - + ") x "+ Globals.getReportSqlForFormfieldSuffix()); - else - query.append(Globals.getReportSqlForFormfieldPrefix()+ Globals.getReportSqlForFormfield() +" FROM (" + sql - + ") x " + Globals.getReportSqlForFormfieldSuffix()); - if(pageNo!= -2 && (dbType.equals(AppConstants.ORACLE)) ) { - query.append(" WHERE rownum <= " + ((dataSize < 0) ? (endRow + 1) : endRow)); - } else if(pageNo!=2 && (dbType.equals(AppConstants.POSTGRESQL))) { - query.append(" LIMIT " + ((dataSize < 0) ? (endRow + 1) : endRow)); - - } else if(pageNo!=2 && (dbType.equals(AppConstants.MYSQL))) { - query.append(" LIMIT " + startRow); //((dataSize < 0) ? (endRow + 1) : endRow) - - } - if(searchString!=null && searchString.length()>0 && !searchString.equals("%")) { - if(pageNo == -2) query.append(" WHERE "); - else query.append(" and "); - query.append("name like '"+ searchString +"'"); - } - if(dbType.equals(AppConstants.POSTGRESQL)) { - query.append(") xx OFFSET " + startRow); - } else if(dbType.equals(AppConstants.MYSQL)) { - query.append(" ," + ((dataSize < 0) ? (endRow + 1) : endRow) +") xx"); - } else if(dbType.equals(AppConstants.ORACLE)) - query.append(") xx WHERE rownum>" + startRow); - } - String defaultQuery =""; - boolean readOnly = true; - ds = ConnectionUtils.getDataSet(query.toString(), dbInfo); - - // if ( (dbInfo!=null) && (!dbInfo.equals(AppConstants.DB_LOCAL))) { - // Globals.getRDbUtils().setDBPrefix(dbInfo); - // ds = RemDbUtils.executeQuery(query); - // } - // else - // ds = DbUtils.executeQuery(query); - clearData(); - if (dbType.equals("DAYTONA") && (getDefaultSQL()!=null && getDefaultSQL().trim().toUpperCase().startsWith("SELECT"))) { - defaultQuery = getDefaultSQL(); - } else if (getDefaultSQL()!=null && getDefaultSQL().length()>10 && getDefaultSQL().substring(0,10).toLowerCase().startsWith("select")) { - defaultQuery = Globals.getReportSqlForFormfieldPrefix()+ Globals.getReportSqlForFormfield() +" FROM (" + getDefaultSQL() - + ") x " - + ") xx "; - logger.debug(EELFLoggerDelegate.debugLogger, ("Default Query " +defaultQuery)); - } - HashMap defaultMap = new HashMap(); - if(!isNull(defaultQuery)) { - dsDefault = ConnectionUtils.getDataSet(defaultQuery, dbInfo); - if(dsDefault!=null && dsDefault.getRowCount()>0) { - for (int i = 0; i < dsDefault.getRowCount(); i++) { - //addValue(dsDefault.getString(i, 0), dsDefault.getString(i, 1), true); - defaultMap.put(dsDefault.getString(i, "id"), dsDefault.getString(i, "name")); - } - } - } - - for (int i = 0; i < ((pageNo!=-2)?Math.min(ds.getRowCount(), pageSize):ds.getRowCount()); i++) { - //if(getCount()==0) - // addValue(ds.getString(i, 0), ds.getString(i, 1)); - if(i==0 && avail_ReadOnly) - readOnly = ds.getString(i, "ff_readonly").toUpperCase().startsWith("Y")||ds.getString(i, "ff_readonly").toUpperCase().startsWith("T"); - if(getCount()>=0) {//&& !((IdNameValue)getValue(0)).getId().equals(ds.getString(i, 0))) - if(defaultMap.get(ds.getString(i, "id")) == null) - if(avail_ReadOnly) - addValue(ds.getString(i, "id"), ds.getString(i, "name"), false, readOnly); - else - addValue(ds.getString(i, "id"), ds.getString(i, "name"), false); - else - if(avail_ReadOnly) - addValue(ds.getString(i, "id"), ds.getString(i, "name"), true, readOnly); - else - addValue(ds.getString(i, "id"), ds.getString(i, "name"), true); - } - } - - if (!(dbType.equals("DAYTONA"))) { - if (ds.getRowCount() <= pageSize) { - if(dsDefault!=null && dsDefault.getRowCount()>0) - dataSize = ds.getRowCount()+1; - else - dataSize = ds.getRowCount(); - - //System.out.println("IDNAME SQL COUNT");*/ - if(searchString!=null && searchString.length()>0 && !searchString.equals("%")) { - queryPop = new StringBuffer(""); - queryPop.append("SELECT count(*) num_rows FROM ("+ Globals.getReportSqlForFormfield() +", name FROM (" + sql - + ") x "); - if(searchString!=null && searchString.length()>0 && !searchString.equals("%")) - queryPop.append(" where name like '"+ searchString +"'"); - queryPop.append(") xx "); - - ds = ConnectionUtils.getDataSet(queryPop.toString(), dbInfo); - try { - dataSizeUsedInPopup = Integer.parseInt(ds.getString(0, 0)); - } catch (NumberFormatException e) { - } - } else if(dataSizeUsedInPopup == -3) { - queryPop = new StringBuffer(""); - //System.out.println("IDNAME SQL COUNT"); - //queryPop.append("SELECT count(*) num_rows FROM ("+query.toString()+") x"); - queryPop.append("SELECT count(*) num_rows FROM ("+ Globals.getReportSqlForFormfield() +", name FROM (" + sql - + ") x "); - queryPop.append(") xx "); - - ds = ConnectionUtils.getDataSet(queryPop.toString(), dbInfo); - // if ( (dbInfo!=null) && - // (!dbInfo.equals(AppConstants.DB_LOCAL))) { - // Globals.getRDbUtils().setDBPrefix(dbInfo); - // ds = RemDbUtils.executeQuery(query); - // } - // else - // ds = DbUtils.executeQuery(query); - // - try { - dataSizeUsedInPopup = Integer.parseInt(ds.getString(0, 0)); - } catch (NumberFormatException e) { - } - - } - - } else { - //pageNo = 0; - if(pageNo!= -2) { - queryPop = new StringBuffer(""); - //System.out.println("IDNAME SQL COUNT"); - //queryPop.append("SELECT count(*) num_rows FROM ("+query.toString()+") x"); - queryPop.append("SELECT count(*) num_rows FROM ("+ Globals.getReportSqlForFormfield() +" FROM (" + sql - + ") x "); - queryPop.append(") xx "); - - ds = ConnectionUtils.getDataSet(queryPop.toString(), dbInfo); - // if ( (dbInfo!=null) && - // (!dbInfo.equals(AppConstants.DB_LOCAL))) { - // Globals.getRDbUtils().setDBPrefix(dbInfo); - // ds = RemDbUtils.executeQuery(query); - // } - // else - // ds = DbUtils.executeQuery(query); - // - try { - dataSize = Integer.parseInt(ds.getString(0, 0)); - dataSizeUsedInPopup = Integer.parseInt(ds.getString(0, 0)); - } catch (NumberFormatException e) { - } - } - } // else - } // dataSize < 0 - long totalTime = System.currentTimeMillis() - currentTime; - logger.debug(EELFLoggerDelegate.debugLogger, ("[DEBUG MESSAGE FROM RAPTOR] ------->Time Taken to the above formfield Query (+ count Query if any) --- " + totalTime)); - } // performLoadData - - - public String getDefaultSQL() { - - return defaultSQL; - } - - - public void setDefaultSQL(String defaultSQL) { - - this.defaultSQL = defaultSQL; - } - - public void setSQL(String sql_) - { - this.sql = sql_; - } - - public static boolean isNull(String a) { - if ((a == null) || (a.length() == 0) || a.equalsIgnoreCase("null")) - return true; - else - return false; - } -} // IdNameSql diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameValue.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameValue.java deleted file mode 100644 index 5ac81f7b..00000000 --- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameValue.java +++ /dev/null @@ -1,100 +0,0 @@ -/*- - * ================================================================================ - * eCOMP Portal SDK - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ================================================================================ - */ -package org.openecomp.portalsdk.analytics.model.base; - -public class IdNameValue { - private String id = null; - - private String name = null; - - private boolean defaultValue = false; - - private boolean readOnly = false; - - public IdNameValue() { - super(); - } - - public IdNameValue(String id, String name) { - this(); - - setId(id); - setName(name); - setDefaultValue(false); - - } // IdNameValue - - public IdNameValue(String id, String name, boolean defaultValue) { - this(); - - setId(id); - setName(name); - setDefaultValue(defaultValue); - } // IdNameValue - - public IdNameValue(String id, String name, boolean defaultValue, boolean readOnly) { - this(); - - setId(id); - setName(name); - setDefaultValue(defaultValue); - setReadOnly(readOnly); - } // IdNameValue - - public String getId() { - return id; - } - - public String getName() { - return name; - } - - public void setId(String id) { - this.id = id; - } - - public void setName(String name) { - this.name = name; - } - - public boolean isDefaultValue() { - return defaultValue; - } - - public void setDefaultValue(boolean defaultValue) { - this.defaultValue = defaultValue; - } - - /** - * @return the visibility - */ - public boolean isReadOnly() { - return readOnly; - } - - /** - * @param visibility the visibility to set - */ - public void setReadOnly(boolean readOnly) { - this.readOnly = readOnly; - } - - -} // IdNameValue diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/NameComparator.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/NameComparator.java deleted file mode 100644 index 8a6f2a9e..00000000 --- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/NameComparator.java +++ /dev/null @@ -1,32 +0,0 @@ -/*- - * ================================================================================ - * eCOMP Portal SDK - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ================================================================================ - */ -package org.openecomp.portalsdk.analytics.model.base; - -import java.util.Comparator; - -public class NameComparator implements Comparator { - - public int compare(Object o1, Object o2) { - return ((IdNameValue) o1).getName() - .compareToIgnoreCase((((IdNameValue) o2).getName())); - } // compare - -} // NameComparator - diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/OrderBySeqComparator.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/OrderBySeqComparator.java deleted file mode 100644 index 930f508c..00000000 --- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/OrderBySeqComparator.java +++ /dev/null @@ -1,37 +0,0 @@ -/*- - * ================================================================================ - * eCOMP Portal SDK - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ================================================================================ - */ -package org.openecomp.portalsdk.analytics.model.base; - -import java.util.Comparator; - -import org.openecomp.portalsdk.analytics.xmlobj.DataColumnType; - -public class OrderBySeqComparator implements Comparator { - - public int compare(Object o1, Object o2) { - if (((DataColumnType) o1).getOrderBySeq() == ((DataColumnType) o2).getOrderBySeq()) - return 0; - else if (((DataColumnType) o1).getOrderBySeq() < ((DataColumnType) o2).getOrderBySeq()) - return -1; - else - return 1; - } // compare - -} // OrderSeqComparator diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/OrderSeqComparator.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/OrderSeqComparator.java deleted file mode 100644 index e6c013dc..00000000 --- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/OrderSeqComparator.java +++ /dev/null @@ -1,37 +0,0 @@ -/*- - * ================================================================================ - * eCOMP Portal SDK - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ================================================================================ - */ -package org.openecomp.portalsdk.analytics.model.base; - -import java.util.Comparator; - -import org.openecomp.portalsdk.analytics.xmlobj.DataColumnType; - -public class OrderSeqComparator implements Comparator { - - public int compare(Object o1, Object o2) { - if (((DataColumnType) o1).getOrderSeq() == ((DataColumnType) o2).getOrderSeq()) - return 0; - else if (((DataColumnType) o1).getOrderSeq() < ((DataColumnType) o2).getOrderSeq()) - return -1; - else - return 1; - } // compare - -} // OrderSeqComparator diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportSecurity.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportSecurity.java deleted file mode 100644 index f281ac4d..00000000 --- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportSecurity.java +++ /dev/null @@ -1,407 +0,0 @@ -/*- - * ================================================================================ - * eCOMP Portal SDK - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ================================================================================ - */ -package org.openecomp.portalsdk.analytics.model.base; - -import java.util.Hashtable; -import java.util.Iterator; -import java.util.Vector; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpSession; - -import org.openecomp.portalsdk.analytics.error.RaptorException; -import org.openecomp.portalsdk.analytics.error.UserAccessException; -import org.openecomp.portalsdk.analytics.model.definition.SecurityEntry; -import org.openecomp.portalsdk.analytics.system.AppUtils; -import org.openecomp.portalsdk.analytics.system.DbUtils; -import org.openecomp.portalsdk.analytics.system.Globals; -import org.openecomp.portalsdk.analytics.util.AppConstants; -import org.openecomp.portalsdk.analytics.util.DataSet; -import org.openecomp.portalsdk.analytics.util.Utils; -import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate; - -public class ReportSecurity extends org.openecomp.portalsdk.analytics.RaptorObject { - - EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(ReportSecurity.class); - - - private String reportID = null; - - private String ownerID = null; - - private String createID = null; - - private String createDate = null; - - private String updateID = null; - - private String updateDate = null; - - private boolean isPublic = false; - - private Hashtable reportRoles = new Hashtable(); - - private Hashtable reportUsers = new Hashtable(); - - public ReportSecurity(String reportID) { - this(reportID, null, null, null, null, null, false); - } // ReportSecurity - - public ReportSecurity(String reportID, String ownerID, String createID, String createDate, - String updateID, String updateDate, boolean isPublic) { - super(); - - if (ownerID == null) - // Need to load the report record from the database - if (!reportID.equals("-1")) - try { - /*DataSet ds = DbUtils - .executeQuery("SELECT NVL(cr.owner_id, cr.create_id) owner_id, cr.create_id, TO_CHAR(cr.create_date, '" - + Globals.getOracleTimeFormat() - + "') create_date, maint_id, TO_CHAR(cr.maint_date, '" - + Globals.getOracleTimeFormat() - + "') update_date, cr.public_yn FROM cr_report cr WHERE cr.rep_id=" - + reportID);*/ - String sql = Globals.getReportSecurity(); - sql = sql.replace("[rw.getReportID()]", reportID); - DataSet ds = DbUtils.executeQuery(sql); - ownerID = ds.getString(0, 0); - createID = ds.getString(0, 1); - createDate = ds.getString(0, 2); - updateID = ds.getString(0, 3); - updateDate = ds.getString(0, 4); - isPublic = nvl(ds.getString(0, 5)).equals("Y"); - } catch (Exception e) { - String eMsg = "ReportSecurity.ReportSecurity: Unable to load report record details. Exception: " - + e.getMessage(); - //Log.write(eMsg); - logger.debug(EELFLoggerDelegate.debugLogger, ("[EXCEPTION ENCOUNTERED IN RAPTOR] "+eMsg)); - throw new RuntimeException(eMsg); - } - - this.reportID = reportID; - this.ownerID = ownerID; - this.createID = createID; - this.createDate = createDate; - this.updateID = updateID; - this.updateDate = updateDate; - this.isPublic = isPublic; - - /* - * reportUsers.put(ownerID, "N"); // Owner has full access - * reportRoles.put(AppUtils.getSuperRoleID(), "N"); // Super role has - * full access for(Iterator iter=AppUtils.getAdminRoleIDs().iterator(); - * iter.hasNext(); ) reportRoles.put((String) iter.next(), "Y"); // - * Admin role(s) have read-only access - */ - try { - String reportUserAccessSql= Globals.getReportUserAccess(); - reportUserAccessSql = reportUserAccessSql.replace("[reportID]", reportID); - - DataSet ds = DbUtils - .executeQuery(reportUserAccessSql); - for (int i = 0; i < ds.getRowCount(); i++) { - String roleID = nvl(ds.getString(i, 0)); - if (roleID.length() > 0) - reportRoles.put(roleID, ds.getString(i, 2)); - - String userID = nvl(ds.getString(i, 1)); - if (userID.length() > 0) - reportUsers.put(userID, ds.getString(i, 2)); - } // for - } catch (Exception e) { - String eMsg = "ReportSecurity.ReportSecurity: Unable to load access priviledges - error " - + e.getMessage(); - logger.error(EELFLoggerDelegate.debugLogger, ("[EXCEPTION ENCOUNTERED IN RAPTOR] " + eMsg)); - throw new RuntimeException(eMsg); - } - } // ReportSecurity - - public String getOwnerID() { - return ownerID; - } - - public String getCreateID() { - return createID; - } - - public String getCreateDate() { - return createDate; - } - - public String getUpdateID() { - return updateID; - } - - public String getUpdateDate() { - return updateDate; - } - - public void setOwnerID(String ownerID) { - this.ownerID = ownerID; - } - - public void setPublic(boolean isPublic) { - this.isPublic = isPublic; - } - - public void reportCreate(String reportID, String userID, boolean isPublic) { - this.reportID = reportID; - this.ownerID = userID; - this.createID = userID; - this.createDate = Utils.getCurrentDateTime(); - this.updateID = userID; - this.updateDate = this.createDate; - this.isPublic = isPublic; - } // reportCreate - - public void reportUpdate(HttpServletRequest request) throws RaptorException { - checkUserWriteAccess(request); - String userID = AppUtils.getUserID(request); - this.updateID = userID; - this.updateDate = Utils.getCurrentDateTime(); - } // reportUpdate - - /** ************************************************************* */ - - public Vector getReportUsers(HttpServletRequest request) throws RaptorException { - HttpSession session = request.getSession(); - String query = Globals.getCustomizedScheduleQueryForUsers(); - String[] sessionParameters = Globals.getSessionParams().split(","); - session.setAttribute("login_id", AppUtils.getUserBackdoorLoginId(request)); - String param = ""; - for (int i = 0; i < sessionParameters.length; i++) { - param = (String)session.getAttribute(sessionParameters[0]); - query = Utils.replaceInString(query, "[" + sessionParameters[i].toUpperCase()+"]", (String)session.getAttribute(sessionParameters[i]) ); - } - boolean isAdmin = AppUtils.isAdminUser(request); - Vector allUsers = AppUtils.getAllUsers(query,param, isAdmin); - Vector rUsers = new Vector(allUsers.size()); - - for (Iterator iter = allUsers.iterator(); iter.hasNext();) { - IdNameValue user = (IdNameValue) iter.next(); - String readOnlyAccess = (String) reportUsers.get(user.getId()); - if (readOnlyAccess != null) - rUsers.add(new SecurityEntry(user.getId(), user.getName(), readOnlyAccess - .equals("Y"))); - } // for - - return rUsers; - } // getReportUsers - - public Vector getReportRoles(HttpServletRequest request) throws RaptorException { - HttpSession session = request.getSession(); - String query = Globals.getCustomizedScheduleQueryForRoles(); - String[] sessionParameters = Globals.getSessionParams().split(","); - String param = ""; - for (int i = 0; i < sessionParameters.length; i++) { - param = (String)session.getAttribute(sessionParameters[0]); - query = Utils.replaceInString(query, "[" + sessionParameters[i].toUpperCase()+"]", (String)session.getAttribute(sessionParameters[i]) ); - - } - boolean isAdmin = AppUtils.isAdminUser(request); - Vector allRoles = AppUtils.getAllRoles(query, param, isAdmin); - Vector rRoles = new Vector(allRoles.size()); - - for (Iterator iter = allRoles.iterator(); iter.hasNext();) { - IdNameValue role = (IdNameValue) iter.next(); - String readOnlyAccess = (String) reportRoles.get(role.getId()); - if (readOnlyAccess != null) - rRoles.add(new SecurityEntry(role.getId(), role.getName(), readOnlyAccess - .equals("Y"))); - } // for - - return rRoles; - } // getReportRoles - - /** ************************************************************* */ - - private void validateReadOnlyAccess(String readOnlyAccess) throws Exception { - if (!(readOnlyAccess != null && (readOnlyAccess.equals("Y") || readOnlyAccess - .equals("N")))) - throw new RuntimeException( - "[ReportSecurity.validateReadOnlyAccess] Invalid parameter value"); - } // validateReadOnlyAccess - - public void addUserAccess(String userID, String readOnlyAccess) throws Exception { - validateReadOnlyAccess(readOnlyAccess); - reportUsers.put(userID, readOnlyAccess); - String addUserAccessSql= Globals.getAddUserAccess(); - addUserAccessSql = addUserAccessSql.replace("[reportID]", reportID); - addUserAccessSql = addUserAccessSql.replace("[userID]", userID); - addUserAccessSql = addUserAccessSql.replace("[readOnlyAccess]", readOnlyAccess); - DbUtils - .executeUpdate(addUserAccessSql); - } // addUserAccess - - public void updateUserAccess(String userID, String readOnlyAccess) throws Exception { - validateReadOnlyAccess(readOnlyAccess); - reportUsers.remove(userID); - reportUsers.put(userID, readOnlyAccess); - String updateUserAccessSql= Globals.getUpdateUserAccess(); - updateUserAccessSql = updateUserAccessSql.replace("[reportID]", reportID); - updateUserAccessSql = updateUserAccessSql.replace("[userID]", userID); - updateUserAccessSql = updateUserAccessSql.replace("[readOnlyAccess]", readOnlyAccess); - DbUtils.executeUpdate(updateUserAccessSql); - } // updateUserAccess - - public void removeUserAccess(String userID) throws Exception { - reportUsers.remove(userID); - - String removeUserAccessSql= Globals.getRemoveUserAccess(); - removeUserAccessSql = removeUserAccessSql.replace("[reportID]", reportID); - removeUserAccessSql = removeUserAccessSql.replace("[userID]", userID); - DbUtils.executeUpdate(removeUserAccessSql); - } // removeUserAccess - - public void addRoleAccess(String roleID, String readOnlyAccess) throws Exception { - validateReadOnlyAccess(readOnlyAccess); - reportRoles.put(roleID, readOnlyAccess); - String addRoleAccessSql= Globals.getAddRoleAccess(); - addRoleAccessSql = addRoleAccessSql.replace("[reportID]", reportID); - addRoleAccessSql = addRoleAccessSql.replace("[roleID]", roleID); - addRoleAccessSql = addRoleAccessSql.replace("[readOnlyAccess]", readOnlyAccess); - DbUtils - .executeUpdate(addRoleAccessSql); - } // addRoleAccess - - public void updateRoleAccess(String roleID, String readOnlyAccess) throws Exception { - validateReadOnlyAccess(readOnlyAccess); - reportRoles.remove(roleID); - reportRoles.put(roleID, readOnlyAccess); - String updateRoleAccessSql= Globals.getUpdateRoleAccess(); - updateRoleAccessSql = updateRoleAccessSql.replace("[reportID]", reportID); - updateRoleAccessSql = updateRoleAccessSql.replace("[roleID]", roleID); - updateRoleAccessSql = updateRoleAccessSql.replace("[readOnlyAccess]", readOnlyAccess); - DbUtils.executeUpdate(updateRoleAccessSql); - } // updateRoleAccess - - public void removeRoleAccess(String roleID) throws Exception { - reportRoles.remove(roleID); - String removeRoleAccessSql= Globals.getRemoveRoleAccess(); - removeRoleAccessSql = removeRoleAccessSql.replace("[reportID]", reportID); - removeRoleAccessSql = removeRoleAccessSql.replace("[roleID]", roleID); - DbUtils.executeUpdate(removeRoleAccessSql); - } // removeRoleAccess - - /** ************************************************************* */ - - public void checkUserReadAccess(HttpServletRequest request, String userID) throws RaptorException { - if(userID == null) - userID = AppUtils.getUserID(request); - if(userID != null) { - //userID = AppUtils.getUserID(request); - if (nvl(reportID).equals("-1")) - return; - - if (true) //todo: replace with proper check isPublic - return; - - if (userID.equals(ownerID)) - return; - - if (reportUsers.get(userID) != null) - return; - } - Vector userRoles = null; - String userName = null; - if(userID == null) { - userRoles = AppUtils.getUserRoles(request); - userName = AppUtils.getUserName(request); - userID = AppUtils.getUserID(request); - } else { - userRoles = AppUtils.getUserRoles(userID); - userName = AppUtils.getUserName(userID); - } - if (nvl(reportID).equals("-1")) - return; - - if (isPublic) - return; - - if (userID.equals(ownerID)) - return; - - if (reportUsers.get(userID) != null) - return; - - for (Iterator iter = userRoles.iterator(); iter.hasNext();) { - String userRole = (String) iter.next(); - if (nvl(userRole).equals(AppUtils.getSuperRoleID())) - return; - } - for (Iterator iter = userRoles.iterator(); iter.hasNext();) { - String userRole = (String) iter.next(); - - if (nvl(userRole).equals(AppUtils.getSuperRoleID())) - return; - - if (reportRoles.get(userRole) != null) - return; - - for (Iterator iterA = AppUtils.getAdminRoleIDs().iterator(); iterA.hasNext();) - if (nvl(userRole).equals((String) iterA.next())) - return; - } // for - - throw new UserAccessException(reportID, "[" + userID + "] " - + userName, AppConstants.UA_READ); - } // checkUserReadAccess - - public void checkUserWriteAccess(HttpServletRequest request) throws RaptorException { - String userID = AppUtils.getUserID(request); - if (nvl(reportID).equals("-1")) - return; - - if (userID.equals(ownerID)) - return; - - if (nvl((String) reportUsers.get(userID)).equals("N")) - return; - - for (Iterator iter = AppUtils.getUserRoles(request).iterator(); iter.hasNext();) { - String userRole = (String) iter.next(); - - if (nvl(userRole).equals(AppUtils.getSuperRoleID())) - return; - - if (nvl((String) reportRoles.get(userRole)).equals("N")) - return; - - for (Iterator iterA = AppUtils.getAdminRoleIDs().iterator(); iterA.hasNext();) - if (nvl(userRole).equals((String) iterA.next())) - return; - } // for - - throw new UserAccessException(reportID, "[" + userID + "] " - + AppUtils.getUserName(request), AppConstants.UA_WRITE); - } // checkUserWriteAccess - - public void checkUserDeleteAccess(HttpServletRequest request) throws RaptorException { - String userID = AppUtils.getUserID(request); - if (Globals.getDeleteOnlyByOwner()) { - if (!userID.equals(ownerID)) - throw new UserAccessException(reportID, "[" + userID + "] " - + AppUtils.getUserName(request), AppConstants.UA_DELETE); - } else - checkUserWriteAccess(request); - } // checkUserDeleteAccess - -} // ReportSecurity diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportWrapper.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportWrapper.java deleted file mode 100644 index f856318d..00000000 --- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportWrapper.java +++ /dev/null @@ -1,5719 +0,0 @@ -/*- - * ================================================================================ - * eCOMP Portal SDK - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ================================================================================ - */ -package org.openecomp.portalsdk.analytics.model.base; - -import java.io.StringWriter; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Collections; -import java.util.GregorianCalendar; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; -import java.util.StringTokenizer; -import java.util.TreeSet; -import java.util.Vector; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import javax.servlet.http.HttpServletRequest; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Marshaller; -import javax.xml.bind.Unmarshaller; -import javax.xml.datatype.DatatypeConfigurationException; -import javax.xml.datatype.DatatypeFactory; -import javax.xml.transform.stream.StreamResult; - -import org.openecomp.portalsdk.analytics.error.RaptorException; -import org.openecomp.portalsdk.analytics.error.RaptorRuntimeException; -import org.openecomp.portalsdk.analytics.error.UserDefinedException; -import org.openecomp.portalsdk.analytics.model.DataCache; -import org.openecomp.portalsdk.analytics.model.ReportLoader; -import org.openecomp.portalsdk.analytics.model.definition.TableSource; -import org.openecomp.portalsdk.analytics.model.runtime.FormField; -import org.openecomp.portalsdk.analytics.model.runtime.ReportParamValues; -import org.openecomp.portalsdk.analytics.model.runtime.ReportRuntime; -import org.openecomp.portalsdk.analytics.system.AppUtils; -import org.openecomp.portalsdk.analytics.system.ConnectionUtils; -import org.openecomp.portalsdk.analytics.system.DbUtils; -import org.openecomp.portalsdk.analytics.system.Globals; -import org.openecomp.portalsdk.analytics.util.AppConstants; -import org.openecomp.portalsdk.analytics.util.DataSet; -import org.openecomp.portalsdk.analytics.util.SQLCorrector; -import org.openecomp.portalsdk.analytics.util.Utils; -import org.openecomp.portalsdk.analytics.xmlobj.ChartAdditionalOptions; -import org.openecomp.portalsdk.analytics.xmlobj.ChartDrillFormfield; -import org.openecomp.portalsdk.analytics.xmlobj.ChartDrillOptions; -import org.openecomp.portalsdk.analytics.xmlobj.ColFilterList; -import org.openecomp.portalsdk.analytics.xmlobj.ColFilterType; -import org.openecomp.portalsdk.analytics.xmlobj.CustomReportType; -import org.openecomp.portalsdk.analytics.xmlobj.DashboardEditorList; -import org.openecomp.portalsdk.analytics.xmlobj.DashboardReports; -import org.openecomp.portalsdk.analytics.xmlobj.DashboardReportsNew; -import org.openecomp.portalsdk.analytics.xmlobj.DataColumnList; -import org.openecomp.portalsdk.analytics.xmlobj.DataColumnType; -import org.openecomp.portalsdk.analytics.xmlobj.DataSourceList; -import org.openecomp.portalsdk.analytics.xmlobj.DataSourceType; -import org.openecomp.portalsdk.analytics.xmlobj.DataminingOptions; -import org.openecomp.portalsdk.analytics.xmlobj.FormFieldList; -import org.openecomp.portalsdk.analytics.xmlobj.FormFieldType; -import org.openecomp.portalsdk.analytics.xmlobj.FormatList; -import org.openecomp.portalsdk.analytics.xmlobj.FormatType; -import org.openecomp.portalsdk.analytics.xmlobj.JavascriptItemType; -import org.openecomp.portalsdk.analytics.xmlobj.JavascriptList; -import org.openecomp.portalsdk.analytics.xmlobj.Marker; -import org.openecomp.portalsdk.analytics.xmlobj.ObjectFactory; -import org.openecomp.portalsdk.analytics.xmlobj.PDFAdditionalOptions; -import org.openecomp.portalsdk.analytics.xmlobj.PredefinedValueList; -import org.openecomp.portalsdk.analytics.xmlobj.ReportMap; -import org.openecomp.portalsdk.analytics.xmlobj.Reports; -import org.openecomp.portalsdk.analytics.xmlobj.SemaphoreList; -import org.openecomp.portalsdk.analytics.xmlobj.SemaphoreType; -import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate; - -/**
- * This class is part of RAPTOR (Rapid Application Programming Tool for OLAP Reporting)
- *
- * - * --------------------------------------------------------------------------------------------------
- * ReportWrapper.java - This is the base class for the RAPTOR. This involves in creating,
- * modifying, running RAPTOR reports.
- * --------------------------------------------------------------------------------------------------
- * - * - * Change Log

- * - * 31-Aug-2009 : Version 8.5.1 (Sundar); - * 18-Aug-2009 : Version 8.5.1 (Sundar); - * 27-Jul-2009 : Version 8.4 (Sundar); - * 09-Jul-2009 : Version 8.4 (Sundar); - * 08-Jul-2009 : Version 8.4 (Sundar); - * 29-Jun-2009 : Version 8.4 (Sundar); - * 23-Jun-2009 : Version 8.4 (Sundar); - * 22-Jun-2009 : Version 8.4 (Sundar); - * - */ - -public class ReportWrapper extends org.openecomp.portalsdk.analytics.RaptorObject { - - EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(ReportWrapper.class); - - - protected CustomReportType cr = null; - - protected Vector allColumns = null; - - protected Vector allVisibleColumns = null; - - protected Vector allFilters = null; - - protected String generatedSQL = null; - - protected String generatedChartSQL = null; - - protected String wholeSQL = null; // For display purposes only - - - protected String reportID = null; - - protected String menuID = ""; - - protected boolean menuApproved = false; - - protected String reportDefType = ""; - - protected ReportSecurity reportSecurity = null; - - protected String reportSQLWithRowNum = null; - - protected String reportSQLOnlyFirstPart = null; - - - private ReportWrapper(CustomReportType cr, String reportID, ReportSecurity reportSecurity) { - super(); - - if (reportID == null) - reportID = "-1"; - - this.cr = cr; - this.reportID = reportID; - - this.reportSecurity = reportSecurity; - } // ReportWrapper - - public ReportWrapper(ReportWrapper rw) { - this(rw.getCustomReport(), // .cloneCustomReport() - rw.getReportID(), rw.reportSecurity); - - this.menuID = rw.getMenuID(); - this.menuApproved = rw.isMenuApproved(); - - this.reportDefType = rw.getReportDefType(); - } // ReportWrapper - - public ReportWrapper(CustomReportType cr, String reportID, String ownerID, String createID, - String createDate, String updateID, String updateDate, String menuID, - boolean menuApproved) throws RaptorException { - this(cr, reportID, null); - - if (ownerID == null) - // Need to load the report record from the database - if (!reportID.equals("-1")) - try { - /*DataSet ds = DbUtils - .executeQuery("SELECT NVL(cr.owner_id, cr.create_id) owner_id, cr.create_id, TO_CHAR(cr.create_date, '" - + Globals.getOracleTimeFormat() - + "') create_date, maint_id, TO_CHAR(cr.maint_date, '" - + Globals.getOracleTimeFormat() - + "') update_date, cr.menu_id, cr.menu_approved_yn FROM cr_report cr WHERE cr.rep_id=" - + reportID);*/ - - String r_sql = Globals.getReportWrapperFormat(); - r_sql = r_sql.replace("[Globals.getOracleTimeFormat()]", Globals.getOracleTimeFormat()); - r_sql = r_sql.replace("[reportID]", reportID); - - DataSet ds = DbUtils - .executeQuery(r_sql); - - ownerID = ds.getString(0, 0); - createID = ds.getString(0, 1); - createDate = ds.getString(0, 2); - updateID = ds.getString(0, 3); - updateDate = ds.getString(0, 4); - menuID = nvl(ds.getString(0, 5)); - menuApproved = nvl(ds.getString(0, 6)).equals("Y"); - } catch (Exception e) { - String eMsg = "ReportWrapper.ReportWrapper: Unable to load report record details. Exception: " - + e.getMessage(); - //Log.write(eMsg); - logger.error(EELFLoggerDelegate.debugLogger, ("[EXCEPTION ENCOUNTERED IN RAPTOR] "+ eMsg)); - throw new RaptorRuntimeException(eMsg); - } - - this.menuID = nvl(menuID); - this.menuApproved = menuApproved; - - if (!reportID.equals("-1")) - updateReportDefType(); - - reportSecurity = new ReportSecurity(reportID, ownerID, createID, createDate, updateID, - updateDate, cr.isPublic()); - } // ReportWrapper - - public CustomReportType getCustomReport() { - return cr; - } - - public String getReportID() { - return reportID; - } - - public String getMenuID() { - return menuID; - } - - public boolean checkMenuIDSelected(String chkMenuID) { - return ("|" + menuID + "|").indexOf("|" + chkMenuID + "|") >= 0; - } - - public boolean isMenuApproved() { - return menuApproved; - } - - public String getReportDefType() { - return reportDefType; - } - - public void setMenuID(String menuID) { - this.menuID = menuID; - } - - public void setMenuApproved(boolean menuApproved) { - this.menuApproved = menuApproved; - } - - public void setReportDefType(String reportDefType) { - this.reportDefType = reportDefType; - } - - public void updateReportDefType() { - this.reportDefType = (nvl(cr.getReportSQL()).length() > 0) ? ((cr.getDataminingOptions()!=null && nvl(cr.getDataminingOptions().getClassifier()).length()>0) ? - AppConstants.RD_SQL_BASED_DATAMIN:AppConstants.RD_SQL_BASED) - : AppConstants.RD_VISUAL; - } - - public String getJavascriptElement() { - return cr.getJavascriptElement(); - } - - public int getPageSize() { - return cr.getPageSize()==null?50:cr.getPageSize(); - } - - public int getMaxRowsInExcelDownload() { - return cr.getMaxRowsInExcelDownload()==null?500:cr.getMaxRowsInExcelDownload(); - } - - public boolean isDisplayFolderTree() { - return cr.isDisplayFolderTree()!=null?cr.isDisplayFolderTree().booleanValue():false; - } - - public boolean isHideFormFieldAfterRun() { - return cr.isHideFormFieldAfterRun()!=null?cr.isHideFormFieldAfterRun().booleanValue():false; - } - - public void setHideFormFieldAfterRun(boolean hideFormFieldAfterRun) { - cr.setHideFormFieldAfterRun(hideFormFieldAfterRun); - } - - public boolean isReportInNewWindow() { - return cr.isReportInNewWindow()!=null?cr.isReportInNewWindow().booleanValue():false; - } - - public String getReportType() { - return cr.getReportType(); - } - - public String getReportName() { - return cr.getReportName(); - } - - public String getDBInfo() { - return cr.getDbInfo(); - } - - public String getDBType() { - return cr.getDbType(); - } - - public boolean isDrillDownURLInPopupPresent() { - return cr.isDrillURLInPoPUpPresent()!=null?cr.isDrillURLInPoPUpPresent().booleanValue():false; - } - - public void setDrillDownURLInPopupPresent(boolean value) { - cr.setDrillURLInPoPUpPresent(value); - } - - public String getReportDescr() { - return cr.getReportDescr(); - } - - public String getChartType() { - return cr.getChartType(); - } - - public boolean displayChartTitle() { - return cr.isShowChartTitle(); - } - - public void setShowChartTitle(boolean showTitle) { - cr.setShowChartTitle(showTitle); - } - - - public String getChartTypeFixed() { - return cr.getChartTypeFixed(); - } - - public boolean isChartTypeFixed() { - return nvl(cr.getChartTypeFixed()).length() > 0 ? cr.getChartTypeFixed().equals("Y") - : (!Globals.getAllowRuntimeChartSel()); - } - - public String getChartLeftAxisLabel() { - return cr.getChartLeftAxisLabel(); - } - - public String getChartRightAxisLabel() { - return cr.getChartRightAxisLabel(); - } - - public String getChartWidth() { - return cr.getChartWidth(); - } - - public int getChartWidthAsInt() { - return getIntValue(cr.getChartWidth(), Globals.getDefaultChartWidth()); - } - - public String getChartHeight() { - return cr.getChartHeight()==null?"500":cr.getChartHeight(); - } - - /*public boolean isChartMultiSeries() { - //String s = cr.getChartMultiSeries(); - return - return (nvl(s).length()>0)? (s.equals("Y")||s.equals("y")||s.equalsIgnoreCase("true")?true:false):true; - }*/ - - public boolean displayPieOrderinRunPage() { - String s = ""; - s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getChartMultiplePieOrder():""; - if(nvl(s).indexOf("|")!= -1) { - s = s.substring(s.indexOf("|")+1); - return getFlagInBoolean(s); - } else return false; - } - - public boolean isMultiplePieOrderByRow() { - String s = ""; - s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getChartMultiplePieOrder():""; - if(nvl(s).indexOf("|")!= -1) s = s.substring(0, s.indexOf("|")); - return (nvl(s).length()>0)? (s.equals("row")?true:false):true; - } - - public boolean isMultiplePieOrderByColumn() { - String s = ""; - s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getChartMultiplePieOrder():""; - if(nvl(s).indexOf("|")!= -1) s = s.substring(0, s.indexOf("|")); - return (nvl(s).length()>0)&&(s.equals("column"))?true:false; - } - - public boolean displayPieLabelDisplayinRunPage() { - String s = ""; - s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getChartMultiplePieLabelDisplay():""; - if(nvl(s).indexOf("|")!= -1) { - s = s.substring(s.indexOf("|")+1); - return getFlagInBoolean(s); - } else return false; - } - - public String getMultiplePieLabelDisplay() { - String s = ""; - s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getChartMultiplePieLabelDisplay():""; - if(nvl(s).indexOf("|")!= -1) s = s.substring(0, s.indexOf("|")); - return s; - } - - public boolean displayChartDisplayinRunPage() { - String s = ""; - s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getChartDisplay():""; - if(nvl(s).indexOf("|")!= -1) { - s = s.substring(s.indexOf("|")+1); - return getFlagInBoolean(s); - } else return false; - } - - public boolean isChartDisplayIn3D() { - String s = ""; - s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getChartDisplay():""; - if(nvl(s).length()<=0) return true; - if(nvl(s).indexOf("|")!= -1) s = s.substring(0, s.indexOf("|")); - return (nvl(s).length()>0)&&(s.equals("3D"))?true:false; - } - - public boolean displayChartOrientationInRunPage() { - String s = ""; - s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getChartOrientation():""; - if(nvl(s).indexOf("|")!= -1) { - s = s.substring(s.indexOf("|")+1); - return getFlagInBoolean(s); - } else return false; - - } - - public String getLinearRegression() { - String s = ""; - s = nvl((cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getLinearRegression():"Y"); - return s; - } - - public void setLinearRegression(String linear) { - cr.getChartAdditionalOptions().setLinearRegression(linear); - } - - public String getLinearRegressionColor() { - return (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getLinearRegressionColor():""; - } - - public String getCustomizedRegressionPoint() { - return (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getMaxRegression():""; - } - - public void setCustomizedRegressionPoint( String d) { - cr.getChartAdditionalOptions().setMaxRegression(d); - } - - public void setLinearRegressionColor(String color) { - cr.getChartAdditionalOptions().setLinearRegressionColor(color); - } - - public String getExponentialRegressionColor() { - return (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getExponentialRegressionColor():""; - } - - public void setExponentialRegressionColor(String color) { - cr.getChartAdditionalOptions().setExponentialRegressionColor(color); - } - - public void setRangeAxisUpperLimit(String d) { - if(cr.getChartAdditionalOptions()!=null) - cr.getChartAdditionalOptions().setRangeAxisUpperLimit(d); - } - - public void setRangeAxisLowerLimit(String d) { - if(cr.getChartAdditionalOptions()!=null) - cr.getChartAdditionalOptions().setRangeAxisLowerLimit(d); - } - - public String getRangeAxisUpperLimit() { - return (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getRangeAxisUpperLimit():""; - } - - public String getRangeAxisLowerLimit() { - return (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getRangeAxisLowerLimit():""; - } - - public boolean isChartAnimate() { - return (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().isAnimate()!=null?cr.getChartAdditionalOptions().isAnimate():false):false; - } - - public boolean isAnimateAnimatedChart() { - return (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().isAnimateAnimatedChart()!=null?cr.getChartAdditionalOptions().isAnimateAnimatedChart():false):true; - } - - public void setAnimateAnimatedChart(boolean animate) { - cr.getChartAdditionalOptions().setAnimateAnimatedChart(animate); - } - - public void setChartStacked(boolean stacked) { - cr.getChartAdditionalOptions().setStacked(stacked); - } - - public boolean isChartStacked() { - return (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().isStacked()!=null?cr.getChartAdditionalOptions().isStacked():true):false; - } - - public void setBarControls(boolean barControls) { - cr.getChartAdditionalOptions().setBarControls(barControls); - } - - public boolean displayBarControls() { - return (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().isBarControls()!=null?cr.getChartAdditionalOptions().isBarControls():false):false; - } - - public void setXAxisDateType(boolean dateType) { - cr.getChartAdditionalOptions().setXAxisDateType(dateType); - } - - public boolean isXAxisDateType() { - return (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().isXAxisDateType()!=null?cr.getChartAdditionalOptions().isXAxisDateType():false):false; - } - - public void setLessXaxisTickers(boolean lessTickers) { - cr.getChartAdditionalOptions().setLessXaxisTickers(lessTickers); - } - - public boolean isLessXaxisTickers() { - return (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().isLessXaxisTickers()!=null?cr.getChartAdditionalOptions().isLessXaxisTickers():false):false; - } - - public void setTimeAxis(boolean timeAxis) { - cr.getChartAdditionalOptions().setTimeAxis(timeAxis); - } - - public boolean isTimeAxis() { - return (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().isTimeAxis()!=null?cr.getChartAdditionalOptions().isTimeAxis():true):true; - } - - public void setLogScale(boolean logScale) { - cr.getChartAdditionalOptions().setLogScale(logScale); - } - - public boolean isLogScale() { - return (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().isLogScale()!=null?cr.getChartAdditionalOptions().isLogScale():false):false; - } - - - public void setMultiSeries(boolean multiSeries) { - cr.getChartAdditionalOptions().setMultiSeries(multiSeries); - cr.setChartMultiSeries(multiSeries?"Y":"N"); - } - - public boolean isMultiSeries() { - if(AppUtils.nvl(cr.getChartMultiSeries()).equals("Y")) - cr.getChartAdditionalOptions().setMultiSeries(true); - return (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().isMultiSeries()!=null?cr.getChartAdditionalOptions().isMultiSeries():false):false; - } - - public void setTimeSeriesRender(String timeSeriesRenderer) { - cr.getChartAdditionalOptions().setTimeSeriesRender(timeSeriesRenderer); - } - - public String getTimeSeriesRender() { - return (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getTimeSeriesRender():"line"; - } - - public void setShowXAxisLabel(boolean showXaxisLabel) { - cr.getChartAdditionalOptions().setShowXAxisLabel(showXaxisLabel); - } - - public boolean isShowXaxisLabel() { - return (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().isShowXAxisLabel()!=null?cr.getChartAdditionalOptions().isShowXAxisLabel():false):false; - } - - public void setAddXAxisTickers(boolean addXAxisTickers) { - cr.getChartAdditionalOptions().setAddXAxisTickers(addXAxisTickers); - } - - public boolean isAddXAxisTickers() { - return (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().isAddXAxisTickers()!=null?cr.getChartAdditionalOptions().isAddXAxisTickers():false):true; - } - - public void setZoomIn(Integer zoomIn) { - cr.getChartAdditionalOptions().setZoomIn(zoomIn); - } - - public Integer getZoomIn() { - return (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().getZoomIn()!=null?cr.getChartAdditionalOptions().getZoomIn():new Integer("25")): new Integer("25"); - } - - public void setTimeAxisType(String timeAxisType) { - cr.getChartAdditionalOptions().setTimeAxisType(timeAxisType); - } - - public String getTimeAxisType() { - return (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().getTimeAxisType()!=null?cr.getChartAdditionalOptions().getTimeAxisType():"hourly"): "hourly"; - } - - public void setTopMargin(Integer topMargin) { - cr.getChartAdditionalOptions().setTopMargin(topMargin); - } - - public Integer getTopMargin() { - return (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getTopMargin(): new Integer("30"); - } - - public void setBottomMargin(Integer bottomMargin) { - cr.getChartAdditionalOptions().setBottomMargin(bottomMargin); - } - - public Integer getBottomMargin() { - return (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getBottomMargin(): new Integer("50"); - } - - public void setRightMargin(Integer rightMargin) { - cr.getChartAdditionalOptions().setRightMargin(rightMargin); - } - - public Integer getRightMargin() { - return (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getRightMargin(): new Integer("60"); - } - - public void setLeftMargin(Integer leftMargin) { - cr.getChartAdditionalOptions().setLeftMargin(leftMargin); - } - - public Integer getLeftMargin() { - return (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getLeftMargin(): new Integer("100"); - } - - - public boolean isVerticalOrientation() { - String s = ""; - s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getChartOrientation():""; - if(nvl(s).length()<=0) return true; - if(nvl(s).indexOf("|")!= -1) s = s.substring(0, s.indexOf("|")); - return (nvl(s).length()>0)&&(s.equals("vertical"))?true:false; - } - - public boolean isHorizontalOrientation() { - String s = ""; - s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getChartOrientation():""; - if(nvl(s).indexOf("|")!= -1) s = s.substring(0, s.indexOf("|")); - return (nvl(s).length()>0)&&(s.equals("horizontal"))?true:false; - } - - public boolean displaySecondaryChartRendererInRunPage() { - String s = ""; - s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getSecondaryChartRenderer():""; - if(nvl(s).indexOf("|")!= -1) { - s = s.substring(s.indexOf("|")+1); - return getFlagInBoolean(s); - } else return false; - - } - - public String getSecondaryChartRenderer() { - String s = ""; - s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getSecondaryChartRenderer():""; - if(nvl(s).indexOf("|")!= -1) s = s.substring(0, s.indexOf("|")); - return s; - } - - public String getOverlayItemValueOnStackBar() { - String s = ""; - s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getOverlayItemValueOnStackBar():"N"; - return s; - } - - public boolean displayIntervalInputInRunPage() { - String s = ""; - s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getIntervalFromdate():""; - if(nvl(s).indexOf("|")!= -1) { - s = s.substring(s.indexOf("|")+1); - return getFlagInBoolean(s); - } else return false; - } - - public boolean showLegendDisplayOptionsInRunPage() { - String s = ""; - s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getHidechartLegend():""; - if(nvl(s).indexOf("|")!= -1) { - s = s.substring(s.indexOf("|")+1); - return getFlagInBoolean(s); - } else return false; - } - - public String getIntervalFromdate() { - String s = ""; - s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getIntervalFromdate():""; - if(nvl(s).indexOf("|")!= -1) s = s.substring(0, s.indexOf("|")); - return nvl(s,""); - } - - public String getIntervalTodate() { - String s = ""; - s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getIntervalTodate():""; - if(nvl(s).indexOf("|")!= -1) s = s.substring(0, s.indexOf("|")); - return nvl(s,""); - } - - public String getIntervalLabel() { - return cr.getChartAdditionalOptions()!=null ? nvl(cr.getChartAdditionalOptions().getIntervalLabel()):""; - } - - public String getLegendPosition() { - String s = ""; - s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getLegendPosition():""; - return nvl(s,"bottom"); - } - - public String getLegendLabelAngle() { - String s = ""; - s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getLabelAngle():""; - return nvl(s,"UP90"); - } - - public String getMaxLabelsInDomainAxis() { - String s = ""; - s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getMaxLabelsInDomainAxis():""; - return nvl(s,"99"); - } - - public boolean isLastSeriesALineChart() { - String s = ""; - s = nvl((cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getLastSeriesALineChart():""); - return s.equals("Y"); - } - - public boolean isLastSeriesABarChart() { - String s = ""; - s = nvl((cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getLastSeriesABarChart():""); - return s.equals("Y"); - } - - public void setChartLegendDisplay(String value) { - cr.getChartAdditionalOptions().setHidechartLegend(value); - } - - public boolean hideChartLegend() { - String s = ""; - s = nvl((cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getHidechartLegend():"N"); - if(nvl(s).length()<=0) s = "N"; - if(nvl(s).indexOf("|")!= -1) s = s.substring(0, s.indexOf("|")); - return s.equals("Y"); - } - - public void setChartToolTips(String value) { - cr.getChartAdditionalOptions().setHideToolTips(value); - } - - public void setDomainAxisValuesAsString(String value) { - cr.getChartAdditionalOptions().setKeepDomainAxisValueAsString(value); - } - - public boolean hideChartToolTips() { - boolean s = true; - s = (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().getHideToolTips()!=null? - (cr.getChartAdditionalOptions().getHideToolTips().equals("Y")?true:false):(Globals.hideToolTipsGlobally()?true:false)):(Globals.hideToolTipsGlobally()?true:false); - return s; - } - - public boolean keepDomainAxisValueInChartAsString() { - boolean s = true; - s = (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().getKeepDomainAxisValueAsString()!=null? - (cr.getChartAdditionalOptions().getKeepDomainAxisValueAsString().equals("Y")?true:false):false):false; - return s; - } - - public int getChartHeightAsInt() { - return getIntValue(cr.getChartHeight(), Globals.getDefaultChartHeight()); - } - - public boolean isPublic() { - return cr.isPublic(); - } - - public boolean isDashboardType() throws RaptorException { - return cr.isDashboardType()!=null?cr.isDashboardType().booleanValue():false; - } - - // public String getCreateId() { return cr.getCreateId(); } - // public Calendar getCreateDate() { return cr.getCreateDate(); } - public String getReportSQL() { - return cr.getReportSQL(); - } - - public String getReportTitle() { - return cr.getReportTitle(); - } - - public String getReportSubTitle() { - return cr.getReportSubTitle(); - } - - public String getReportHeader() { - return cr.getReportHeader(); - } - - public String getReportFooter() { - return cr.getReportFooter(); - } - - public String getNumDashCols() { - return cr.getNumDashCols(); - } - - public int getNumDashColsAsInt() { - return getIntValue(cr.getNumDashCols(), 1); - } - - public String getNumFormCols() { - return cr.getNumFormCols(); - } - - public int getNumFormColsAsInt() { - return getIntValue(cr.getNumFormCols(), 5); - } - - public String getDisplayOptions() { - return cr.getDisplayOptions(); - } - - - -//Additional Methods - - public int getJumpTo() { - return cr.getJumpTo()==null?1:cr.getJumpTo(); - } - public void setJumpTo(int value){ - cr.setJumpTo(value); - } - - - public int getSearchPageSize(){ - return cr.getSearchPageSize()==null?20:cr.getSearchPageSize(); - } - public void setSearchPageSize(int value){ - cr.setSearchPageSize(value); - } - - - public boolean isToggleLayout(){ - if(cr.isToggleLayout()!=null) - return cr.isToggleLayout(); - - else - return Globals.displayRuntimeOptionsAsDefault(); - - } - public void setToggleLayout(boolean value){ - cr.setToggleLayout(value); - } - - public boolean isShowPageSize(){ - if(cr.isShowPageSize()!=null) - return cr.isShowPageSize(); - - else - return Globals.displayRuntimeOptionsAsDefault(); - - } - public void setShowPageSize(boolean value){ - cr.setShowPageSize(value); - } - - public boolean isShowNavPos(){ - if(cr.isShowNavPos()!=null) - return cr.isShowNavPos(); - - else - return Globals.displayRuntimeOptionsAsDefault(); - - } - public void setShowNavPos(boolean value){ - cr.setShowNavPos(value); - } - - public boolean isShowGotoOption(){ - if(cr.isShowGotoOption()!=null) - return cr.isShowGotoOption(); - - else - return Globals.displayRuntimeOptionsAsDefault(); - - } - public void setShowGotoOption(boolean value){ - cr.setShowGotoOption(value); - } - - public boolean isPageNav(){ - - if(cr.isPageNav()!=null) - return cr.isPageNav(); - - else - return Globals.displayRuntimeOptionsAsDefault(); - - } - - public void setPageNav(boolean value){ - cr.setPageNav(value); - } - - - public String getNavPosition(){ - if(cr.getNavPosition()!=null) - return cr.getNavPosition(); - - else - return "top"; - //return cr.getNavPosition(); - } - public void setNavPosition(String value){ - cr.setNavPosition(value); - } - - - public String getDashboardEditor(){ - return getDashBoardReportsNew().getDashboardEditor(); - } - - public void setDashboardEditor(String value){ - getDashBoardReportsNew().setDashboardEditor(value); - } - - - public DashboardEditorList getDashboardEditorList(){ - return getDashBoardReportsNew().getDashboardEditorList(); - } - - public void setDashboardEditorList(DashboardEditorList value){ - getDashBoardReportsNew().setDashboardEditorList(value); - } - - public PDFAdditionalOptions getPDFAdditionalOptions() { - try { - if(cr.getPdfAdditionalOptions()==null) - addPDFAdditionalOptions(new ObjectFactory()); - } catch(RaptorException ex) { - ex.printStackTrace(); - } - return cr.getPdfAdditionalOptions(); - } - - public String getPDFFont(){ - return getPDFAdditionalOptions().getPDFFont()!=null?getPDFAdditionalOptions().getPDFFont():Globals.getDataFontFamily(); - } - public void setPDFFont(String value){ - getPDFAdditionalOptions().setPDFFont(value); - } - - public int getPDFFontSize() { - return getPDFAdditionalOptions().getPDFFontSize()==null?9:getPDFAdditionalOptions().getPDFFontSize(); - } - public void setPDFFontSize(int value){ - getPDFAdditionalOptions().setPDFFontSize(value); - } - - public String getPDFOrientation(){ - return getPDFAdditionalOptions().getPDFOrientation()!=null?"portrait":"landscape"; - } - public void setPDFOrientation(String value){ - getPDFAdditionalOptions().setPDFOrientation(value); - } - - public String getPDFLogo1(){ - return getPDFAdditionalOptions().getPDFLogo1(); - } - public void setPDFLogo1(String value){ - getPDFAdditionalOptions().setPDFLogo1(value); - } - - public String getPDFLogo2(){ - return getPDFAdditionalOptions().getPDFLogo2(); - } - public void setPDFLogo2(String value){ - getPDFAdditionalOptions().setPDFLogo2(value); - } - - public int getPDFLogo1Size() { - return getPDFAdditionalOptions().getPDFLogo1Size()==null?0:getPDFAdditionalOptions().getPDFLogo1Size(); - } - public void setPDFLogo1Size(int value){ - getPDFAdditionalOptions().setPDFLogo1Size(value); - } - - public int getPDFLogo2Size() { - return getPDFAdditionalOptions().getPDFLogo2Size()==null?0:getPDFAdditionalOptions().getPDFLogo2Size(); - } - public void setPDFLogo2Size(int value){ - getPDFAdditionalOptions().setPDFLogo2Size(value); - } - - public boolean isPDFCoverPage(){ - - if(getPDFAdditionalOptions().isPDFCoverPage()!=null) - return getPDFAdditionalOptions().isPDFCoverPage(); - - else - return true; - - } - - public void setPDFCoverPage(boolean value){ - getPDFAdditionalOptions().setPDFCoverPage(value); - } - - public String getPDFFooter1(){ - return getPDFAdditionalOptions().getPDFFooter1(); - } - public void setPDFFooter1(String value){ - getPDFAdditionalOptions().setPDFFooter1(value); - } - - public String getPDFFooter2(){ - return getPDFAdditionalOptions().getPDFFooter2(); - } - public void setPDFFooter2(String value){ - getPDFAdditionalOptions().setPDFFooter2(value); - } - - - -//End of Additional Methods - - public String getDataContainerHeight() { - return cr.getDataContainerHeight(); - } - - public String getDataContainerWidth() { - return cr.getDataContainerWidth(); - } - - public boolean isAllowSchedule() { - String allowSchedule = getAllowSchedule(); - return (allowSchedule !=null )? allowSchedule.startsWith("Y"):false; - } - - public String getAllowSchedule() { - return cr.getAllowSchedule(); - } - - /* Multi Group */ - - public boolean isMultiGroupColumn() { - String multiGroupColumn = getMultiGroupColumn(); - return (multiGroupColumn !=null )? multiGroupColumn.startsWith("Y"):false; - } - - public String getMultiGroupColumn() { - return cr.getMultiGroupColumn(); - } - - public void setMultiGroupColumn(String value) { - cr.setMultiGroupColumn(value); - } - - private int getColumnGroupLevel(String colId) throws RaptorException { - DataColumnType dc = getColumnById(colId); - return (dc == null) ? 0 : dc.getLevel(); - } // getColumnGroupLevel - - public int getMaxGroupLevel() { - List reportCols = getAllColumns(); - int maxLevel = 0; - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dc = (DataColumnType) iter.next(); - if (dc.getLevel()!=null) { - if(maxLevel < dc.getLevel()) - maxLevel = dc.getLevel(); - } - } // for - return maxLevel; - } // getMaxGroupLevel - - private int getColumnGroupStart(String colId) throws RaptorException { - DataColumnType dc = getColumnById(colId); - return (dc == null) ? 0 : dc.getStart(); - } // getColumnGroupStart - - private int getColumnGroupColSpan(String colId) throws RaptorException { - DataColumnType dc = getColumnById(colId); - return (dc == null) ? 0 : dc.getColspan(); - } // getColumnGroupColSpan - - public void setTopDown(String value) { - cr.setTopDown(value); - } - - public boolean isTopDown() { - String topDown = getTopDownOption(); - return (topDown !=null )? topDown.startsWith("Y"):false; - } - - public String getTopDownOption() { - return cr.getTopDown(); - } - - public void setSizedByContent(String value) { - cr.setSizedByContent(value); - } - - public boolean isSizedByContent() { - String sizedByContent = getSizedByContentOption(); - return (sizedByContent !=null )? sizedByContent.startsWith("Y"):false; - } - - public String getSizedByContentOption() { - return cr.getSizedByContent(); - } - - public String getDashboardOptions() { - return cr.getDashboardOptions(); - } - - public boolean isDashboardOptionHideChart() { - return nvl(getDashboardOptions()).length() > 0 && (getDashboardOptions().charAt(0) == 'Y'); - } - - public boolean isDashboardOptionHideData() { - return nvl(getDashboardOptions()).length() > 0 && (getDashboardOptions().charAt(1) == 'Y'); - } - - public boolean isDashboardOptionHideBtns() { - return nvl(getDashboardOptions()).length() > 0 && (getDashboardOptions().charAt(2) == 'Y'); - } - - public boolean isDisplayOptionHideForm() { - return nvl(getDisplayOptions()).length() > 0 && (getDisplayOptions().charAt(0) == 'Y'); - } - - public boolean isDisplayOptionHideChart() { - return nvl(getDisplayOptions()).length() > 1 && (getDisplayOptions().charAt(1) == 'Y'); - } - - public boolean isDisplayOptionHideData() { - return nvl(getDisplayOptions()).length() > 2 && (getDisplayOptions().charAt(2) == 'Y'); - } - - public boolean isDisplayOptionHideBtns() { - return nvl(getDisplayOptions()).length() > 3 && (getDisplayOptions().charAt(3) == 'Y'); - } - - public boolean isDisplayOptionHideMap() { - return nvl(getDisplayOptions()).length() > 4 && (getDisplayOptions().charAt(4) == 'Y'); - } - - public boolean isDisplayOptionHideExcelIcons() { - return nvl(getDisplayOptions()).length() > 5 && (getDisplayOptions().charAt(5) == 'Y'); - } - - public boolean isDisplayOptionHidePDFIcons() { - return nvl(getDisplayOptions()).length() > 6 && (getDisplayOptions().charAt(6) == 'Y'); - } - - public String getComment() { - return cr.getComment(); - } - - public DataSourceList getDataSourceList() { - return cr.getDataSourceList(); - } - - public ChartAdditionalOptions getChartAdditionalOptions() { - return cr.getChartAdditionalOptions(); - } - - public ChartDrillOptions getChartDrillOptions() { - return cr.getChartDrillOptions(); - } - - - public DataminingOptions getDataminingOptions() { - return cr.getDataminingOptions(); - } - - public DashboardReports getDashBoardReports() { - return cr.getDashBoardReports(); - } - - - public DashboardReportsNew getDashBoardReportsNew() { - try { - if(cr.getDashBoardReportsNew()==null) - addDashboardReportsNew(new ObjectFactory()); - } catch(RaptorException ex) { - ex.printStackTrace(); - } - return cr.getDashBoardReportsNew(); - } - - public String getDashboardLayoutHTML() { - return cr.getDashboardLayoutHTML(); - } - - public FormFieldList getFormFieldList() { - return cr.getFormFieldList(); - } - - public JavascriptList getJavascriptList() { - return cr.getJavascriptList(); - } - - public SemaphoreList getSemaphoreList() { - return cr.getSemaphoreList(); - } - - public void setPageSize(int value) { - cr.setPageSize(value); - } - - public void setAllowSchedule(String value) { - cr.setAllowSchedule(value); - } - - public void setMaxRowsInExcelDownload(int value) { - cr.setMaxRowsInExcelDownload(value); - } - - public void setReportInNewWindow (boolean value) { - cr.setReportInNewWindow(value); - } - - public void setDisplayFolderTree (boolean value) { - cr.setDisplayFolderTree(value); - } - - public void setReportType(String value) { - cr.setReportType(value); - } - - public void setReportName(String value) { - cr.setReportName(value); - } - - public void setDBInfo(String value) { - if (!(cr.getDbInfo() != null && cr.getDbInfo().length() > 0)) - cr.setDbInfo(value); - } - - public void setDBType(String value) { - if (!(cr.getDbType() != null && cr.getDbType().length() > 0)) - cr.setDbType(value); - } - - public void setReportDescr(String value) { - cr.setReportDescr(value); - } - - public void setChartType(String value) { - cr.setChartType(value); - } - - public void setChartMultiplePieOrder(String value) { - cr.getChartAdditionalOptions().setChartMultiplePieOrder(value); - } - - public void setChartMultiplePieLabelDisplay(String value) { - cr.getChartAdditionalOptions().setChartMultiplePieLabelDisplay(value); - } - - public void setChartOrientation(String value) { - cr.getChartAdditionalOptions().setChartOrientation(value); - } - - public void setSecondaryChartRenderer(String value) { - cr.getChartAdditionalOptions().setSecondaryChartRenderer(value); - } - - public void setOverlayItemValueOnStackBar(String value) { - cr.getChartAdditionalOptions().setOverlayItemValueOnStackBar(value); - } - - public void setIntervalFromdate(String value) { - cr.getChartAdditionalOptions().setIntervalFromdate(value); - } - - public void setIntervalLabel(String value) { - cr.getChartAdditionalOptions().setIntervalLabel(value); - } - - public void setIntervalTodate(String value) { - cr.getChartAdditionalOptions().setIntervalTodate(value); - } - - public void setLegendPosition(String value) { - cr.getChartAdditionalOptions().setLegendPosition(value); - } - - public void setLegendLabelAngle(String value) { - cr.getChartAdditionalOptions().setLabelAngle(value); - } - - public void setMaxLabelsInDomainAxis(String value) { - if(nvl(value).length()<=0) value = "99"; - cr.getChartAdditionalOptions().setMaxLabelsInDomainAxis(value); - } - - public void setLastSeriesALineChart(String value) { - cr.getChartAdditionalOptions().setLastSeriesALineChart(value); - } - - public void setLastSeriesABarChart(String value) { - cr.getChartAdditionalOptions().setLastSeriesABarChart(value); - } - - public void setChartDisplay(String value) { - cr.getChartAdditionalOptions().setChartDisplay(value); - } - - public void setChartAnimate(boolean animate) { - if(cr.getChartAdditionalOptions()!=null) - cr.getChartAdditionalOptions().setAnimate(animate); - else { - try { - if(getChartAdditionalOptions()==null) - addChartAdditionalOptions(new ObjectFactory()); - } catch(RaptorException ex) { - ex.printStackTrace(); - } - if(cr.getChartAdditionalOptions()!=null) - cr.getChartAdditionalOptions().setAnimate(animate); - - } - - } - - public void addChartAdditionalOptions(ObjectFactory objFactory) throws RaptorException { - ChartAdditionalOptions chartOptions = objFactory.createChartAdditionalOptions(); - cr.setChartAdditionalOptions(chartOptions); - } - - public void addDashboardReportsNew(ObjectFactory objFactory) throws RaptorException { - DashboardReportsNew dashboardReports = objFactory.createDashboardReportsNew(); - cr.setDashBoardReportsNew(dashboardReports); - } - - public void addPDFAdditionalOptions(ObjectFactory objFactory) throws RaptorException { - PDFAdditionalOptions pdfOptions = objFactory.createPDFAdditionalOptions(); - cr.setPdfAdditionalOptions(pdfOptions); - } - - public void setChartTypeFixed(String value) { - cr.setChartTypeFixed(value); - } - - public void setChartLeftAxisLabel(String value) { - cr.setChartLeftAxisLabel(value); - } - - public void setChartRightAxisLabel(String value) { - cr.setChartRightAxisLabel(value); - } - - public void setChartWidth(String value) { - cr.setChartWidth(value); - } - - public void setChartHeight(String value) { - cr.setChartHeight(value); - } - - public void setChartMultiSeries(String value) { - cr.setChartMultiSeries(value); - } - - public void setPublic(boolean value) { - cr.setPublic(value); - if (reportSecurity != null) - reportSecurity.setPublic(value); - } - - // public void setCreateId(String value) { cr.setCreateId(value); } - // public void setCreateDate(Calendar value) { cr.setCreateDate(value); } - public void setReportSQL(String value) { - cr.setReportSQL(value); - } - - public void setReportTitle(String value) { - cr.setReportTitle(value); - } - - public void setReportSubTitle(String value) { - cr.setReportSubTitle(value); - } - - public void setReportHeader(String value) { - cr.setReportHeader(value); - } - - public void setReportFooter(String value) { - cr.setReportFooter(value); - } - - public void setNumFormCols(String value) { - cr.setNumFormCols(value); - } - - public void setNumDashCols(String value) { - cr.setNumDashCols(value); - } - - public void setDisplayOptions(String value) { - cr.setDisplayOptions(value); - } - - public void setDataContainerHeight(String value) { - cr.setDataContainerHeight(value); - } - - public void setDataContainerWidth(String value) { - cr.setDataContainerWidth(value); - } - - public void setDashboardOptions(String value) { - cr.setDashboardOptions(value); - } - - public void setComment(String value) { - cr.setComment(value); - } - - public void setDashboardType(boolean dashboardType) { - cr.setDashboardType(dashboardType); - } - - public void setDashboardLayoutHTML(String html) { - cr.setDashboardLayoutHTML(html); - } - - public void setDataSourceList(DataSourceList value) { - cr.setDataSourceList(value); - } - - public void setFormFieldList(FormFieldList value) { - cr.setFormFieldList(value); - } - - public void setDashBoardReports(DashboardReports value) { - cr.setDashBoardReports(value); - } - - public void setSemaphoreList(SemaphoreList value) { - cr.setSemaphoreList(value); - } - - public void setJavascriptList(JavascriptList value) { - cr.setJavascriptList(value); - } - - public void setJavascriptElement(String javascriptElement) { - cr.setJavascriptElement(javascriptElement); - } - - public void checkUserReadAccess(HttpServletRequest request) throws RaptorException { - reportSecurity.checkUserReadAccess(request, null); - } - public void checkUserReadAccess(HttpServletRequest request, String userID) throws RaptorException { - reportSecurity.checkUserReadAccess(request, userID); - } - - public void checkUserWriteAccess(HttpServletRequest request) throws RaptorException { - reportSecurity.checkUserWriteAccess(request); - verifySQLBasedReportAccess(request); - } - - public String getOwnerID() { - return reportSecurity.getOwnerID(); - } - - public String getCreateID() { - return reportSecurity.getCreateID(); - } - - public String getCreateDate() { - return reportSecurity.getCreateDate(); - } - - public String getUpdateID() { - return reportSecurity.getUpdateID(); - } - - public String getUpdateDate() { - return reportSecurity.getUpdateDate(); - } - - public ReportSecurity getReportSecurity() { - return reportSecurity; - } - - /****Report Maps - Start****/ - public ReportMap getReportMap() { - return cr.getReportMap(); - } - - public void setReportMap(ReportMap reportMap) { - cr.setReportMap(reportMap); - } - /****Report Maps - End****/ - - /****Report Chart Drilldown - Start****/ - public ChartDrillOptions getReportChartDrillOptions() { - return cr.getChartDrillOptions(); - } - - public void setReportChartDrillOptions(ChartDrillOptions chartDrillOptions) { - cr.setChartDrillOptions(chartDrillOptions); - } - /****Report Maps - End****/ - - - /** ************************************************************************************************* */ - - public String getFormHelpText() { - String formHelpText = nvl(getComment()); - - if (formHelpText.indexOf('|') >= 0) - formHelpText = formHelpText.substring(formHelpText.lastIndexOf('|') + 1); - - return formHelpText; - } // getFormHelpText - - public void setFormHelpText(String formHelpText) { - String comment = nvl(getComment()); - - if (comment.indexOf('|') >= 0) - comment = comment.substring(0, comment.lastIndexOf('|')); - if (comment.length() > 0) - comment += '|'; - - setComment(comment + formHelpText); - } // setFormHelpText - - public boolean isRuntimeColSortDisabled() { - String comment = nvl(getComment()); - - if (comment.indexOf('|') < 0) - return false; - - return comment.substring(0, comment.indexOf('|')).equals("Y"); - } // isRuntimeColSortDisabled - - public void setRuntimeColSortDisabled(boolean value) { - String comment = nvl(getComment()); - - if (comment.indexOf('|') >= 0) - comment = comment.substring(comment.indexOf('|') + 1); - - setComment((value ? "Y" : "N") + "|" + comment); - } // setRuntimeColSortDisabled - - /** ************************************************************************************************* */ - - protected void verifySQLBasedReportAccess(HttpServletRequest request) throws RaptorException { - String userID = AppUtils.getUserID(request); - if (getReportDefType().equals(AppConstants.RD_SQL_BASED) - && (!Globals.getAllowSQLBasedReports()) && (!AppUtils.isAdminUser(request))) - throw new org.openecomp.portalsdk.analytics.error.UserAccessException(reportID, "[" + userID + "] " - + AppUtils.getUserName(request), AppConstants.UA_WRITE); - } // verifySQLBasedReportAccess - - /** ************************************************************************************************* */ - - private String getColumnNameById(String colId) throws RaptorException { - DataColumnType dc = getColumnById(colId); - return (dc == null) ? "NULL" : dc.getColName(); - } // getColumnNameById - - // Checks if drill-down URL points to individual record display (return - // true) or another report (return false) - private boolean isViewAction(String value) throws RaptorException { - try { - Vector viewActions = org.openecomp.portalsdk.analytics.model.DataCache.getDataViewActions(); - - for (int i = 0; i < viewActions.size(); i++) - if (value.equals(AppUtils.getBaseActionURL() + ((String) viewActions.get(i)))) - return true; - } catch (Exception e) { - throw new RaptorRuntimeException("ReportWrapper.isViewAction Exception: " - + e.getMessage()); - } - - return false; - } // isViewAction - - public String getSelectExpr(DataColumnType dct) { - // String colName = - // dct.isCalculated()?dct.getColName():((nvl(dct.getTableId()).length()>0)?(dct.getTableId()+"."+dct.getColName()):dct.getColName()); - return getSelectExpr(dct, dct.getColName() /* colName */); - } // getSelectExpr - - /*private String getSelectExpr(DataColumnType dct, String colName) { - String colType = dct.getColType(); - if (colType.equals(AppConstants.CT_CHAR) - || ((nvl(dct.getColFormat()).length() == 0) && (!colType - .equals(AppConstants.CT_DATE)))) - return colName; - else - return "TO_CHAR(" + colName + ", '" - + nvl(dct.getColFormat(), AppConstants.DEFAULT_DATE_FORMAT) + "')"; - } // getSelectExpr - */ - - private String getSelectExpr(DataColumnType dct, String colName) { - String colType = dct.getColType(); - if(colType.equals(AppConstants.CT_NUMBER)) { - return colName; - } else - if (colType.equals(AppConstants.CT_CHAR) - || ((nvl(dct.getColFormat()).length() == 0) && (!colType - .equals(AppConstants.CT_DATE)))) - return colName; - - else - return "TO_CHAR(" + colName + ", '" - + nvl(dct.getColFormat(), AppConstants.DEFAULT_DATE_FORMAT) + "')"; - } // getSelectExpr - - - /** ************************************************************************************************* */ - - public DataSourceType getTableById(String tableId) { - for (Iterator iter = getDataSourceList().getDataSource().iterator(); iter.hasNext();) { - DataSourceType ds = (DataSourceType) iter.next(); - if (ds.getTableId().equals(tableId)) - return ds; - } // for - - return null; - } // getTableById - - public DataSourceType getTableByDBName(String tableName) { - for (Iterator iter = getDataSourceList().getDataSource().iterator(); iter.hasNext();) { - DataSourceType ds = (DataSourceType) iter.next(); - if (ds.getTableName().equals(tableName)) - return ds; - } // for - - return null; - } // getTableByDBName - - public DataSourceType getColumnTableById(String colId) { - return getTableById(getColumnById(colId).getTableId()); - } // getColumnTableById - - public DataColumnType getColumnById(String colId) { - List reportCols = getAllColumns(); - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dc = (DataColumnType) iter.next(); - if (dc.getColId().toLowerCase().equals(colId.toLowerCase())) - return dc; - } // for - - return null; - } // getColumnById - - public DataColumnType getChartLegendColumn() { - List reportCols = getAllColumns(); - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dc = (DataColumnType) iter.next(); - if (nvl(dc.getColOnChart()).equals(AppConstants.GC_LEGEND)) - return dc; - } // for - return null; - } // getChartLegendColumn - - /* - * public DataColumnType getChartValueColumn() { List reportCols = - * getAllColumns(); for(Iterator iter=reportCols.iterator(); iter.hasNext(); ) { - * DataColumnType dc = (DataColumnType) iter.next(); if(dc.getChartSeq()>0) - * return dc; } // for - * - * return null; } // getChartValueColumn - */ - - public List getChartValueColumnsList( int filter, HashMap formValues) { /*filter; all=0;create without new chart =1; createNewChart=2 */ - List reportCols = getAllColumns(); - - ArrayList chartValueCols = new ArrayList(); - int flag = 0; - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - flag = 0; - DataColumnType dc = (DataColumnType) iter.next(); -// if(filter == 2 || filter == 1) { - flag = getDependsOnFormFieldFlag(dc, formValues); - - if( (dc.getChartSeq()!=null && dc.getChartSeq()> 0) && flag == 0 ) { - if(!AppUtils.nvl(dc.getColOnChart()).equals(AppConstants.GC_LEGEND)) { - if(nvl(dc.getChartGroup()).length()<=0) { - if( filter == 2 && (dc.isCreateInNewChart()!=null && dc.isCreateInNewChart().booleanValue())) { - chartValueCols.add(dc); - } else if (filter == 1 && (dc.isCreateInNewChart()==null || !dc.isCreateInNewChart().booleanValue())) { - chartValueCols.add(dc); - } - else if(filter == 0) chartValueCols.add(dc); - } else chartValueCols.add(dc); - } - } -// } else -// chartValueCols.add(dc); - } // for - Collections.sort(chartValueCols, new ChartSeqComparator()); - return chartValueCols; - } // getChartValueColumnsList - - - /* public ListModelList getChartValueColumnsListModelList( int filter, HashMap formValues) { / *filter; all=0;create without new chart =1; createNewChart=2 * / - List reportCols = getAllColumns(); - - ArrayList chartValueCols = new ArrayList(); - ListModelList chartValueListModelList = new ListModelList(); - int flag = 0; - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - flag = 0; - DataColumnType dc = (DataColumnType) iter.next(); -// if(filter == 2 || filter == 1) { - flag = getDependsOnFormFieldFlag(dc, formValues); - - if( (dc.getChartSeq()!=null && dc.getChartSeq()> 0) && flag == 0 ) { - if(nvl(dc.getChartGroup()).length()<=0) { - if( filter == 2 && (dc.isCreateInNewChart()!=null && dc.isCreateInNewChart().booleanValue())) { - chartValueCols.add(dc); - } else if (filter == 1 && (dc.isCreateInNewChart()==null || !dc.isCreateInNewChart().booleanValue())) { - chartValueCols.add(dc); - } - else if(filter == 0) chartValueCols.add(dc); - } else chartValueCols.add(dc); - } -// } else -// chartValueCols.add(dc); - chartValueListModelList.add(new Item(dc.getColId(), dc.getDisplayName())); - } // for - Collections.sort(chartValueCols, new ChartSeqComparator()); - return chartValueListModelList; - } // getChartValueColumnsList */ - - - /** Check whether chart has series (Category) columns **/ - public boolean hasSeriesColumn() { - List reportCols = getAllColumns(); - - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dc = (DataColumnType) iter.next(); - if (dc.isChartSeries()!=null && dc.isChartSeries().booleanValue()) - return true; - } // for - return false; - } // hasSeriesColumn - - - public List getChartDisplayNamesList( int filter, HashMap formValues) { /*filter; all=0;create without new chart =1; createNewChart=2 */ - List reportCols = getAllColumns(); - ArrayList chartValueColNames = new ArrayList(); - int flag = 0; - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - flag = 0; - DataColumnType dc = (DataColumnType) iter.next(); -// if(filter == 2 || filter == 1) { - flag = getDependsOnFormFieldFlag(dc, formValues); - - if( (dc.getChartSeq()!=null && dc.getChartSeq()> 0) && flag == 0) { - if(nvl(dc.getChartGroup()).length()<=0) { - if( filter == 2 && (dc.isCreateInNewChart()!=null && dc.isCreateInNewChart().booleanValue()) ) { - chartValueColNames.add(dc.getDisplayName()); - } else if (filter == 1 && (dc.isCreateInNewChart()==null || !dc.isCreateInNewChart().booleanValue())) { - chartValueColNames.add(dc.getDisplayName()); - } - else if(filter == 0) chartValueColNames.add(dc.getDisplayName()); - } else if(filter == 0) chartValueColNames.add(dc.getDisplayName()); - } - // } else - // chartValueColNames.add(dc.getDisplayName()); - - } - return chartValueColNames; - } // getChartDisplayNamesList - - - public List getChartColumnColorsList(int filter, HashMap formValues) { /*filter; all=0;create without new chart =1; createNewChart=2 */ - List reportCols = getAllColumns(); - ArrayList chartValueColColors = new ArrayList(); - int flag = 0; - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - flag = 0; - DataColumnType dc = (DataColumnType) iter.next(); -// if(filter == 2 || filter == 1) { - flag = getDependsOnFormFieldFlag(dc, formValues); - - if( (dc.getChartSeq()!=null && dc.getChartSeq()> 0) && flag == 0) { - if(nvl(dc.getChartGroup()).length()<=0) { - if( filter == 2 && (dc.isCreateInNewChart()!=null && dc.isCreateInNewChart().booleanValue()) ) { - chartValueColColors.add(dc.getChartColor()); - } else if (filter == 1 && (dc.isCreateInNewChart()==null || !dc.isCreateInNewChart().booleanValue())) { - chartValueColColors.add(dc.getChartColor()); - } - else if(filter == 0) chartValueColColors.add(dc.getChartColor()); - } else if(filter == 0) chartValueColColors.add(dc.getChartColor()); - } -// } else -// chartValueColColors.add(dc.getChartColor()); - } - return chartValueColColors; - } // getChartColumnColorsList - - public List getChartValueColumnAxisList( int filter, HashMap formValues) { /*filter; all=0;create without new chart =1; createNewChart=2 */ - List reportCols = getAllColumns(); - ArrayList chartValueColAxis = new ArrayList(); - int flag = 0; - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - flag = 0; - DataColumnType dc = (DataColumnType) iter.next(); -// if(filter == 2 || filter == 1) { - flag = getDependsOnFormFieldFlag(dc, formValues); - - if( (dc.getChartSeq()!=null && dc.getChartSeq()> 0) && flag == 0) { - if(nvl(dc.getChartGroup()).length()<=0) { - if( filter == 2 && (dc.isCreateInNewChart()!=null && dc.isCreateInNewChart().booleanValue())) { - chartValueColAxis.add(nvl(dc.getColOnChart(), "0")); - } else if (filter == 1 && (dc.isCreateInNewChart()==null || !dc.isCreateInNewChart().booleanValue())) { - chartValueColAxis.add(nvl(dc.getColOnChart(), "0")); - } - else if(filter == 0) chartValueColAxis.add(nvl(dc.getColOnChart(), "0")); - } else if(filter == 0) chartValueColAxis.add(nvl(dc.getColOnChart(), "0")); - } -// } else -// chartValueColAxis.add(nvl(dc.getColOnChart(), "0")); - } - return chartValueColAxis; - } // getChartColumnAxisList - - - public List getChartValueNewChartList() { - ArrayList chartValueNewChartAxis = new ArrayList(); - for (Iterator iter = getChartValueColumnsList(2, null).iterator(); iter.hasNext();) - chartValueNewChartAxis.add(new Boolean(((DataColumnType) iter.next()).isCreateInNewChart())); - return chartValueNewChartAxis; - } // getChartValueNewChartList - - public List getAllChartGroups() { - ArrayList chartGroups = new ArrayList(); - String chartGroupName=""; - List reportCols = getAllColumns(); - Set groupSet = new TreeSet(); - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dc = (DataColumnType) iter.next(); - if(dc.getChartSeq()!=null && dc.getChartSeq()> 0) { - chartGroupName = dc.getChartGroup(); - if(nvl(chartGroupName).length()>0) - groupSet.add(chartGroupName); - } - } - List l = new ArrayList(groupSet); - return l; - } // getAllChartGroups - - public HashMap getAllChartYAxis(ReportParamValues reportParamValues) { - String chartYAxis=""; - List reportCols = getAllColumns(); - HashMap hashMap = new HashMap(); - FormFieldList formFieldList = getFormFieldList(); - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dc = (DataColumnType) iter.next(); - if(dc.getChartSeq()!=null && dc.getChartSeq()> 0) { - chartYAxis = dc.getYAxis(); - if(formFieldList!=null && reportParamValues!=null) { - for (Iterator iter1 = getFormFieldList().getFormField().iterator(); iter1.hasNext();) { - FormFieldType fft = (FormFieldType) iter1.next(); - String fieldDisplay = getFormFieldDisplayName(fft); - String fieldId = fft.getFieldId(); - if(!fft.getFieldType().equals(FormField.FFT_BLANK) && !fft.getFieldType().equals(FormField.FFT_LIST_MULTI) && !fft.getFieldType().equals(FormField.FFT_TEXTAREA)) { - String paramValue = Utils.oracleSafe(nvl(reportParamValues.getParamValue(fieldId))); - chartYAxis = Utils.replaceInString(chartYAxis, fieldDisplay, nvl( - paramValue, "")); - } - } - } - if(nvl(dc.getChartGroup()).length()>0) - hashMap.put(dc.getChartGroup(),chartYAxis); - } - } - return hashMap; - } // getAllChartGroups - - public List getChartGroupColumnAxisList( String chartGroupName, HashMap formValues ) { /*filter; all=0;create without new chart =1; createNewChart=2 */ - List reportCols = getAllColumns(); - ArrayList chartGroupColAxis = new ArrayList(); - String chartGroup = chartGroupName.substring(0,chartGroupName.lastIndexOf("|")); - int flag = 0; - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - flag = 0; - DataColumnType dc = (DataColumnType) iter.next(); -// if(filter == 2 || filter == 1) { - flag = getDependsOnFormFieldFlag(dc, formValues); - - if( (dc.getChartSeq()!=null && dc.getChartSeq()> 0) && flag == 0) { - if( nvl(dc.getChartGroup()).indexOf("|") > 0 && (nvl(dc.getChartGroup().substring(0,dc.getChartGroup().lastIndexOf("|"))).equals(chartGroup))) { - //if( nvl(dc.getChartGroup().substring(0,dc.getChartGroup().lastIndexOf("|"))).equals(chartGroup)) { - //System.out.println("$$$$$$$DC " + dc.getColId()+ " " + dc.getColOnChart()); - chartGroupColAxis.add(dc); - } - } -// } else -// chartValueColAxis.add(nvl(dc.getColOnChart(), "0")); - } - Collections.sort(chartGroupColAxis, new ChartSeqComparator()); - return chartGroupColAxis; - } // getChartColumnAxisList - - public List getChartGroupValueColumnAxisList( String chartGroupName, HashMap formValues ) { - List reportCols = getAllColumns(); - String index = chartGroupName.substring(chartGroupName.lastIndexOf("|")+1); - String chartGroup = chartGroupName.substring(0,chartGroupName.lastIndexOf("|")); - //System.out.println("$$$$INDEX " + index); - ArrayList chartGroupValueColAxis = new ArrayList(); - int flag = 0; - - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - flag = 0; - DataColumnType dc = (DataColumnType) iter.next(); - flag = getDependsOnFormFieldFlag(dc, formValues); - - if( (dc.getChartSeq()!=null && dc.getChartSeq()> 0) && flag == 0) { - //System.out.println(" Chartgroup " + dc.getChartGroup().substring(0,dc.getChartGroup().lastIndexOf("|"))); - if( nvl(dc.getChartGroup()).indexOf("|") > 0 && (nvl(dc.getChartGroup().substring(0,dc.getChartGroup().lastIndexOf("|"))).equals(chartGroup))) { - //if( nvl(dc.getChartGroup().substring(0,dc.getChartGroup().lastIndexOf("|"))).equals(chartGroup)) { - //System.out.println(" Added Chartgroupname " + chartGroup + " " + dc.getChartGroup() + " " + index); - chartGroupValueColAxis.add(dc); - } - } - } - return chartGroupValueColAxis; - } // getChartColumnAxisList - - public List getChartGroupDisplayNamesList( String chartGroupName, HashMap formValues) { - List reportCols = getAllColumns(); - ArrayList chartGroupValueColNames = new ArrayList(); - String chartGroup = chartGroupName.substring(0,chartGroupName.lastIndexOf("|")); - int flag = 0; - - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - flag = 0; - DataColumnType dc = (DataColumnType) iter.next(); - //System.out.println("$$$$$CHART " + dc.getChartSeq()+ " " + dc.getChartGroup()+ " " + chartGroup); - flag = getDependsOnFormFieldFlag(dc, formValues); - - if( (dc.getChartSeq()!=null && dc.getChartSeq()> 0) && flag == 0 ) { - if( nvl(dc.getChartGroup()).indexOf("|") > 0 && (nvl(dc.getChartGroup().substring(0,dc.getChartGroup().lastIndexOf("|"))).equals(chartGroup))) { - chartGroupValueColNames.add(dc.getDisplayName()); - } - } - } - return chartGroupValueColNames; - } // getChartDisplayNamesList - - - public List getChartGroupColumnColorsList(String chartGroupName, HashMap formValues) { - List reportCols = getAllColumns(); - ArrayList chartValueColColors = new ArrayList(); - String chartGroup = chartGroupName.substring(0,chartGroupName.lastIndexOf("|")); - int flag = 0; - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - flag = 0; - DataColumnType dc = (DataColumnType) iter.next(); - flag = getDependsOnFormFieldFlag(dc, formValues); - - if( (dc.getChartSeq()!=null && dc.getChartSeq()> 0) && flag == 0 ) { - if( nvl(dc.getChartGroup()).indexOf("|") > 0 && (nvl(dc.getChartGroup().substring(0,dc.getChartGroup().lastIndexOf("|"))).equals(chartGroup))) { - //if( nvl(dc.getChartGroup().substring(0,dc.getChartGroup().lastIndexOf("|"))).equals(chartGroup)) { - chartValueColColors.add(dc.getChartColor()); - } - } - } - return chartValueColColors; - } // getChartColumnColorsList - - - public List getCrossTabRowColumns() { - List reportCols = getAllColumns(); - Vector v = new Vector(reportCols.size()); - - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dc = (DataColumnType) iter.next(); - if (nvl(dc.getCrossTabValue()).equals(AppConstants.CV_ROW)) - v.add(dc); - } // for - - return v; - } // getCrossTabRowColumns - - public List getCrossTabColColumns() { - List reportCols = getAllColumns(); - Vector v = new Vector(reportCols.size()); - - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dc = (DataColumnType) iter.next(); - if (nvl(dc.getCrossTabValue()).equals(AppConstants.CV_COLUMN)) - v.add(dc); - } // for - - return v; - } // getCrossTabColColumns - - public String getCrossTabDisplayTotal(String rowColPos) { - DataColumnType dct = getCrossTabValueColumn(); - if (dct == null) - return ""; - - String displayTotal = nvl(dct.getDisplayTotal()); - if (displayTotal.indexOf('|') >= 0) { - String displayColTotal = displayTotal.substring(0, displayTotal.indexOf('|')); - String displayRowTotal = displayTotal.substring(displayTotal.indexOf('|') + 1); - - if (rowColPos.equals(AppConstants.CV_COLUMN)) - displayTotal = displayColTotal; - else if (rowColPos.equals(AppConstants.CV_ROW)) - displayTotal = displayRowTotal; - else if (displayColTotal.equals(displayRowTotal)) - displayTotal = displayColTotal; - } // if - - return displayTotal; - } // getCrossTabDisplayTotal - - public DataColumnType getCrossTabValueColumn() { - List reportCols = getAllColumns(); - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dc = (DataColumnType) iter.next(); - if (nvl(dc.getCrossTabValue()).equals(AppConstants.CV_VALUE)) - return dc; - } // for - - return null; - } // getCrossTabValueColumn - - public int getCrossTabValueColumnIndex() { // Returns the index counting - // only visible columns - List reportCols = getAllColumns(); - - int idx = 0; - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dc = (DataColumnType) iter.next(); - if (nvl(dc.getCrossTabValue()).equals(AppConstants.CV_VALUE)) - break; - if (dc.isVisible()) - idx++; - } // for - - return idx; - } // getCrossTabValueColumnIndex - - public ColFilterType getFilterById(String colId, int filterIndex) { - DataColumnType dc = getColumnById(colId); - try { - return (ColFilterType) dc.getColFilterList().getColFilter().get(filterIndex); - } catch (Exception e) { - return null; - } - } // getFilterById - - public boolean needFormInput() { - List reportCols = getAllColumns(); - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dct = (DataColumnType) iter.next(); - - if (dct.getColFilterList() != null) { - List fList = dct.getColFilterList().getColFilter(); - for (Iterator iterF = fList.iterator(); iterF.hasNext();) { - ColFilterType cft = (ColFilterType) iterF.next(); - - if (nvl(cft.getArgType()).equals(AppConstants.AT_FORM)) - return true; - } // for - } // if - } // for - - return false; - } // needFormInput - - public int getNumSortColumns() { - int numSortCols = 0; - for (Iterator iter = getAllColumns().iterator(); iter.hasNext();) { - DataColumnType dct = (DataColumnType) iter.next(); - if (dct.getOrderBySeq() != null && dct.getOrderBySeq() > 0) - numSortCols++; - } // for - - return numSortCols; - } // getNumSortColumns - - public SemaphoreType getSemaphoreById(String semaphoreId) { - if (getSemaphoreList() != null && semaphoreId != null) - for (Iterator iter = getSemaphoreList().getSemaphore().iterator(); iter.hasNext();) { - SemaphoreType sem = (SemaphoreType) iter.next(); - if (sem.getSemaphoreId().equals(semaphoreId)) - return sem; - } // for - - return null; - } // getSemaphoreById - - public void deleteSemaphore(SemaphoreType semaphore) { - if (getSemaphoreList() != null) { - if(getSemaphoreList().getSemaphore()!= null) - getSemaphoreList().getSemaphore().remove((SemaphoreType) semaphore); - } - } // deleteSemaphore - - - public void setSemaphore(SemaphoreType sem) { - if (getSemaphoreList() != null) { - getSemaphoreList().getSemaphore().add(sem); - } - - } // setSemaphore - - public static FormatType getSemaphoreFormatById(SemaphoreType semaphore, String formatId) { - if (semaphore != null) - for (Iterator iter = semaphore.getFormatList().getFormat().iterator(); iter - .hasNext();) { - FormatType fmt = (FormatType) iter.next(); - if (fmt.getFormatId().equals(formatId)) - return fmt; - } // for - - return null; - } // getSemaphoreFormatById - - public FormFieldType getFormFieldById(String fieldId) { - if (getFormFieldList() != null && fieldId != null) - for (Iterator iter = getFormFieldList().getFormField().iterator(); iter.hasNext();) { - FormFieldType fft = (FormFieldType) iter.next(); - if (fft.getFieldId().equals(fieldId)) - return fft; - } // for - - return null; - } // getFormFieldById - - public FormFieldType getFormFieldByDisplayValue(String fieldDisplay) { - // fieldDisplay expected to be [fieldName] - if (getFormFieldList() != null && fieldDisplay != null) - for (Iterator iter = getFormFieldList().getFormField().iterator(); iter.hasNext();) { - FormFieldType fft = (FormFieldType) iter.next(); - if (fieldDisplay.equals(getFormFieldDisplayName(fft))) - return fft; - } // for - - return null; - } // getFormFieldById - - public String getFormFieldDisplayName(FormFieldType fft) { - return "[" + fft.getFieldName() + "]"; - } // getFormFieldDisplayName - - /** ************************************************************************************************* */ - - public void resetCache(boolean sqlOnly) { - generatedSQL = null; - if (!sqlOnly) { - allColumns = null; - allFilters = null; - } - } // resetCache - - public String getOuterJoinType(DataSourceType curTable) { - String refDefinition = nvl(curTable.getRefDefinition()); - int outerJoinIdx = refDefinition.indexOf(" (+)"); - if (outerJoinIdx < 0) - // No outer join - return ""; - - int equalSignIdx = refDefinition.indexOf("="); - if (refDefinition.indexOf(curTable.getTableId()) < equalSignIdx) - // Cur. table is on the left side - return (outerJoinIdx < equalSignIdx) ? AppConstants.OJ_CURRENT - : AppConstants.OJ_JOINED; - else - // Joined table is on the left side - return (outerJoinIdx < equalSignIdx) ? AppConstants.OJ_JOINED - : AppConstants.OJ_CURRENT; - } // getOuterJoinType - - public String getFormFieldName(ColFilterType filter) { - FormFieldType fft = null; - if (filter.getArgType().equals(AppConstants.AT_FORM)) - fft = getFormFieldByDisplayValue(filter.getArgValue()); - - return (fft != null) ? fft.getFieldId() : filter.getColId() + "_f" - + filter.getFilterSeq(); - } // getFormFieldName - - public String getFormFieldDisplayName(DataColumnType column, ColFilterType filter) { - FormFieldType fft = null; - if (filter.getArgType().equals(AppConstants.AT_FORM)) - fft = getFormFieldByDisplayValue(filter.getArgValue()); - - return (fft != null) ? fft.getFieldName() : column.getDisplayName() + " " - + filter.getExpression(); - } // getFormFieldDisplayName - - public Calendar getFormFieldRangeStart(ColFilterType filter) { - FormFieldType fft = null; - if (filter.getArgType().equals(AppConstants.AT_FORM)) - fft = getFormFieldByDisplayValue(filter.getArgValue()); - - return (fft != null) ? fft.getRangeStartDate().toGregorianCalendar() : null; - } // getFormFieldRangeStart - - public Calendar getFormFieldRangeEnd(ColFilterType filter) { - FormFieldType fft = null; - if (filter.getArgType().equals(AppConstants.AT_FORM)) - fft = getFormFieldByDisplayValue(filter.getArgValue()); - - //System.out.println("as " + fft.getRangeEndDate()); - return (fft != null) ? fft.getRangeEndDate().toGregorianCalendar() : null; - } // getFormFieldRangeEnd - - public String getFormFieldRangeStartSQL(ColFilterType filter) { - FormFieldType fft = null; - if (filter.getArgType().equals(AppConstants.AT_FORM)) - fft = getFormFieldByDisplayValue(filter.getArgValue()); - - return (fft != null) ? fft.getRangeStartDateSQL() : null; - } // getFormFieldRangeStart - - public String getFormFieldRangeEndSQL(ColFilterType filter) { - FormFieldType fft = null; - if (filter.getArgType().equals(AppConstants.AT_FORM)) - fft = getFormFieldByDisplayValue(filter.getArgValue()); - - //System.out.println("as " + fft.getRangeEndDate()); - return (fft != null) ? fft.getRangeEndDateSQL() : null; - } // getFormFieldRangeEnd - - public String getUniqueTableId(String tableName) { - String tableIdPrefix = tableName.startsWith("MSA_") ? tableName.substring(4, 6) - : tableName.substring(0, 2); - String tableId = ""; - - int tableIdN = getDataSourceList().getDataSource().size() + 1; - do { - tableId = tableIdPrefix.toLowerCase() + (tableIdN++); - } while (getTableById(tableId) != null); - - return tableId; - } // getUniqueTableId - - /** ************************************************************************************************* */ - - protected void deleteDataSourceType(String tableId) { - List dsList = getDataSourceList().getDataSource(); - for (Iterator iter = dsList.iterator(); iter.hasNext();) { - DataSourceType dst = (DataSourceType) iter.next(); - if (dst.getTableId().equals(tableId)) - iter.remove(); - else if (nvl(dst.getRefTableId()).equals(tableId)) { - dst.setRefTableId(null); - dst.setRefDefinition(null); - } - } // for - - resetCache(false); - } // deleteDataSourceType - - public static void adjustColumnType(DataColumnType dct) { - dct.setColType(dct.getDbColType()); - - if (dct.isCalculated()) - if (dct.getColName().startsWith("SUM(") || dct.getColName().startsWith("COUNT(") - || dct.getColName().startsWith("AVG(") - || dct.getColName().startsWith("STDDEV(") - || dct.getColName().startsWith("VARIANCE(")) - dct.setColType(AppConstants.CT_NUMBER); - else if (dct.getColName().startsWith("DECODE(") || dct.getColName().startsWith("coalesce(")) - dct.setColType(AppConstants.CT_CHAR); - } // adjustColumnType - - public static boolean getColumnNoParseDateFlag(DataColumnType dct) { - return (nvls(dct.getComment()).indexOf(AppConstants.CF_NO_PARSE_DATE) >= 0); - } // getColumnNoParseDateFlag - - public static void setColumnNoParseDateFlag(DataColumnType dct, boolean noParseDateFlag) { - dct.setComment(noParseDateFlag ? AppConstants.CF_NO_PARSE_DATE : null); - } // setColumnNoParseDateFlag - - /** ************************************************************************************************* */ - - public static String getSQLBasedFFTColTableName(String fftColId) { - return fftColId.substring(0, fftColId.indexOf('.')); - } // getSQLBasedFFTColTableName - - public static String getSQLBasedFFTColColumnName(String fftColId) { - fftColId = (fftColId.indexOf('|') < 0) ? fftColId : fftColId.substring(0, fftColId - .indexOf('|')); - return fftColId.substring(fftColId.indexOf('.') + 1); - } // getSQLBasedFFTColColumnName - - public static String getSQLBasedFFTColDisplayFormat(String fftColId) { - return (fftColId.indexOf('|') < 0) ? "" : fftColId - .substring(fftColId.indexOf('|') + 1); - } // getSQLBasedFFTColDisplayFormat - - /** ************************************************************************************************* */ - - public List getAllColumns() { - if (cr == null) - throw new NullPointerException("CustomReport not initialized"); - - if (allColumns == null) { - allColumns = new Vector(); - - List dsList = getDataSourceList().getDataSource(); - for (Iterator iter = dsList.iterator(); iter.hasNext();) { - DataSourceType ds = (DataSourceType) iter.next(); - - // allColumns.addAll(ds.getDataColumnList().getDataColumn()); - List dcList = ds.getDataColumnList().getDataColumn(); - for (Iterator iterC = dcList.iterator(); iterC.hasNext();) { - DataColumnType dc = (DataColumnType) iterC.next(); - - allColumns.add(dc); - } // for - } // for - - Collections.sort(allColumns, new OrderSeqComparator()); - } // if - - return allColumns; - } // getAllColumns - - public List getOnlyVisibleColumns() { - if (cr == null) - throw new NullPointerException("CustomReport not initialized"); - - if (allVisibleColumns == null) { - allVisibleColumns = new Vector(); - - List dsList = getDataSourceList().getDataSource(); - for (Iterator iter = dsList.iterator(); iter.hasNext();) { - DataSourceType ds = (DataSourceType) iter.next(); - - // allColumns.addAll(ds.getDataColumnList().getDataColumn()); - List dcList = ds.getDataColumnList().getDataColumn(); - for (Iterator iterC = dcList.iterator(); iterC.hasNext();) { - DataColumnType dc = (DataColumnType) iterC.next(); - if(dc.isVisible()) - allVisibleColumns.add(dc); - } // for - } // for - - Collections.sort(allVisibleColumns, new OrderSeqComparator()); - } // if - - return allVisibleColumns; - } // getOnlyVisibleColumns - public int getVisibleColumnCount() { - if (cr == null) - throw new NullPointerException("CustomReport not initialized"); - int colCount = 0; - List dsList = getDataSourceList().getDataSource(); - for (Iterator iter = dsList.iterator(); iter.hasNext();) { - DataSourceType ds = (DataSourceType) iter.next(); - - // allColumns.addAll(ds.getDataColumnList().getDataColumn()); - List dcList = ds.getDataColumnList().getDataColumn(); - for (Iterator iterC = dcList.iterator(); iterC.hasNext();) { - DataColumnType dc = (DataColumnType) iterC.next(); - if(dc.isVisible()) colCount ++; - } // for - } // for - - return colCount; - } - - public List getAllFilters() { - if (cr == null) - throw new NullPointerException("CustomReport not initialized"); - - // if(allFilters==null) { - allFilters = new Vector(); - - List reportCols = getAllColumns(); - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dct = (DataColumnType) iter.next(); - - if (dct.getColFilterList() != null) { - List colFilters = dct.getColFilterList().getColFilter(); - - for (Iterator iterF = colFilters.iterator(); iterF.hasNext();) { - ColFilterType cft = (ColFilterType) iterF.next(); - - allFilters.add(cft); - } // for - } // if - } // for - - // Collections.sort(allFilters, ??); - // } // if - - return allFilters; - } // getAllFilters - - private String formatValue(String value, DataColumnType dc, boolean useDefaultDateFormat) throws RaptorException { - return formatValue(value, dc, useDefaultDateFormat, getColumnTableById(dc.getColId()), null); - } // formatValue - - private String formatValue(String value, DataColumnType dc, boolean useDefaultDateFormat, - DataSourceType ds, FormFieldType fft) throws RaptorException { - String fmtValue = null; - - if (nvl(value).length() == 0) - fmtValue = ""; - else if (value.equals(AppConstants.FILTER_MAX_VALUE) - || value.equals(AppConstants.FILTER_MIN_VALUE)) - fmtValue = "(SELECT " - + (value.equals(AppConstants.FILTER_MAX_VALUE) ? "MAX" : "MIN") + "(" - + dc.getColName() + ") FROM " + ds.getTableName() + ")"; - else if (dc.getColType().equals(AppConstants.CT_NUMBER)) { - try { - double vD = Double.parseDouble(value); - fmtValue = value; - } catch(NumberFormatException ex) { - throw new UserDefinedException("Expected number, Given String for the form field \"" + fft.getFieldName()+"\""); - } - } - else if (dc.getColType().equals(AppConstants.CT_DATE)) { - if (fft!=null && (fft.getValidationType().equals(FormField.VT_TIMESTAMP_HR) || fft.getValidationType().equals(FormField.VT_TIMESTAMP_MIN) || fft.getValidationType().equals(FormField.VT_TIMESTAMP_SEC)) ) { - fmtValue = "TO_DATE('" - + value - + "', '" - + (useDefaultDateFormat ? AppConstants.DEFAULT_DATE_FORMAT : nvl(dc - .getColFormat(), AppConstants.DEFAULT_DATE_FORMAT));//+" HH24:MI:SS')"; - fmtValue = fmtValue + " HH24"; - if(fft.getValidationType().equals(FormField.VT_TIMESTAMP_MIN) || fft.getValidationType().equals(FormField.VT_TIMESTAMP_SEC)) - fmtValue = fmtValue + ":MI"; - if(fft.getValidationType().equals(FormField.VT_TIMESTAMP_SEC)) - fmtValue = fmtValue + " HH24:MI:SS"; - } else { - fmtValue = "TO_DATE('" - + value - + "', '" - + (useDefaultDateFormat ? AppConstants.DEFAULT_DATE_FORMAT : nvl(dc - .getColFormat(), AppConstants.DEFAULT_DATE_FORMAT)) + "')"; - if (Globals.getMonthFormatUseLastDay()) - if (!useDefaultDateFormat) - if (nvl(dc.getColFormat(), AppConstants.DEFAULT_DATE_FORMAT).equals( - "MM/YYYY") - || nvl(dc.getColFormat(), AppConstants.DEFAULT_DATE_FORMAT) - .equals("MONTH, YYYY")) - fmtValue = "ADD_MONTHS(" + fmtValue + ", 1)-1"; - } - }else { - fmtValue = value; - if (!fmtValue.startsWith("'")) - fmtValue = "'" + fmtValue + "'"; - } - - return fmtValue; - } // formatValue - - private String formatListValue(String listValue, DataColumnType dc, - boolean useDefaultDateFormat, boolean useOnlyPipeDelimiter) throws RaptorException { - return formatListValue("", listValue, dc, useDefaultDateFormat, useOnlyPipeDelimiter, - getColumnTableById(dc.getColId()), null); - } // formatListValue - - public String formatListValue(String fieldDisplay, String listValue, DataColumnType dc, - boolean useDefaultDateFormat, boolean useOnlyPipeDelimiter, DataSourceType ds, - String listBaseSQL) throws RaptorException { - StringBuffer fmtValue = new StringBuffer(""); - //if(nvl(listValue,"").trim().length()>0) { - // The below statement is commented so that pipe is taken out from parsing for text area form field -// StringTokenizer st = new StringTokenizer(listValue, useOnlyPipeDelimiter ? "|" - //: ",|\n\r\f"); - StringTokenizer st = new StringTokenizer(listValue, useOnlyPipeDelimiter ? "|" - : ",\n\r\f"); - - while (st.hasMoreTokens()) { - if (fmtValue.length() > 0) - fmtValue.append(", "); - - if (dc == null) { - // For SQL-based reports - value always string - String value = st.nextToken().trim(); - if (value.startsWith("'")) - fmtValue.append(value); - else - fmtValue.append("'" + value + "'"); - } else - fmtValue.append(formatValue(st.nextToken().trim(), dc, useDefaultDateFormat, - ds, null) ); - - } // while - - if (fmtValue.length() == 0) { - if(nvl(fieldDisplay).length() > 0) { - fmtValue.append(""); - } else { - fmtValue.append("("); - fmtValue.append(nvl(listBaseSQL, "NULL")); - fmtValue.append(")"); - } - } else if (fmtValue.charAt(0) != '(') { - fmtValue.insert(0, '('); - fmtValue.append(')'); - } - /* } else { - fmtValue = new StringBuffer("()"); - }*/ - return fmtValue.toString(); - } // formatListValue - - private String getColumnSelectStr(DataColumnType dc, ReportParamValues paramValues) { - String colName = dc.isCalculated() ? dc.getColName() - : ((nvl(dc.getTableId()).length() > 0) ? (dc.getTableId() + "." + dc - .getColName()) : dc.getColName()); - String paramValue = null; - if (dc.isCalculated()) - if (getFormFieldList() != null) - for (Iterator iter2 = getFormFieldList().getFormField().iterator(); iter2 - .hasNext();) { - FormFieldType fft = (FormFieldType) iter2.next(); - String fieldId = fft.getFieldId(); - String fieldDisplay = getFormFieldDisplayName(fft); - if (!paramValues.isParameterMultiValue(fieldId)) { - paramValue = paramValues.getParamValue(fieldId); - if(paramValue!=null && paramValue.length() > 0) { - colName = Utils.replaceInString(colName, fieldDisplay, Utils - .oracleSafe(nvl(paramValue, "NULL"))); - } else { - colName = Utils.replaceInString(colName, "'" + fieldDisplay + "'", nvl( - paramValue, "NULL")); - colName = Utils.replaceInString(colName, fieldDisplay, nvl( - paramValue, "NULL")); - } - } - } // for - - return colName; - } // getColumnSelectStr - - private void addExtraIdSelect(StringBuffer selectExtraIdCl, String drillDownParams, - boolean includeSelectExpr) { - // drillDownParams - example value "c_master=[bo1.RECID$]" - drillDownParams = drillDownParams.substring(10, drillDownParams.length() - 1); // i.e. - // "bo1.RECID$" - - selectExtraIdCl.append(", "); - if (includeSelectExpr) { - selectExtraIdCl.append(drillDownParams); - selectExtraIdCl.append(" "); - } // if - selectExtraIdCl.append(drillDownParams.replace('.', '_')); // i.e. - // "bo1_RECID$" - } // addExtraIdSelect - - private void addExtraDateSelect(StringBuffer selectExtraDateCl, String drillDownParams, - ReportParamValues paramValues, boolean includeSelectExpr) { - // drillDownParams - example value "ff1=[dl1]&fc2=[mo3]" - String colId = ""; - while (drillDownParams.indexOf('[') >= 0) { - int startIdx = drillDownParams.indexOf('['); - int endIdx = drillDownParams.indexOf(']'); - - if(startIdx<=endIdx) { - colId = drillDownParams.substring(startIdx + 1, endIdx); // i.e. - } else { - drillDownParams = drillDownParams.substring(endIdx + 1); - continue; - } - // "dl1" - - DataColumnType column = getColumnById(colId); - if (column != null) - if (column.getColType().equals(AppConstants.CT_DATE)) - if (!nvl(column.getColFormat(), AppConstants.DEFAULT_DATE_FORMAT).equals( - AppConstants.DEFAULT_DATE_FORMAT)) - if (selectExtraDateCl.toString().indexOf( - " " + colId + AppConstants.DD_COL_EXTENSION) < 0) { - selectExtraDateCl.append(", "); - if (includeSelectExpr) { - selectExtraDateCl.append("TO_CHAR(" - + getColumnSelectStr(column, paramValues) + ", '" - + AppConstants.DEFAULT_DATE_FORMAT + "')"); - selectExtraDateCl.append(" "); - } // if - selectExtraDateCl.append(colId + AppConstants.DD_COL_EXTENSION); // i.e. - // "dl1_dde" - } // if - - drillDownParams = drillDownParams.substring(endIdx + 1); - } // while - } // addExtraDateSelect - - /* - * public String generateSQL() { return generateSQL(null); } // generateSQL - */ - public String generateSQL(String userId, HttpServletRequest request) throws RaptorException { - return generateSQL(new ReportParamValues(), userId, request); - } // generateSQL - - public String generateSQL(ReportParamValues paramValues, String userId, HttpServletRequest request) throws RaptorException { - return generateSQL(paramValues, null, AppConstants.SO_ASC, userId, request); - } // generateSQL - - public String generateSQL(ReportParamValues paramValues, String overrideSortByColId, - String overrideSortByAscDesc, String userId, HttpServletRequest request) throws RaptorException { - if (cr == null) - throw new NullPointerException("CustomReport not initialized"); - if(nvl(getWholeSQL()).length()>0) return getWholeSQL(); - if (paramValues.size() > 0) - resetCache(true); - //resetCache(true); - if (generatedSQL == null) { - if (getReportDefType().equals(AppConstants.RD_SQL_BASED) || getReportDefType().equals(AppConstants.RD_SQL_BASED_DATAMIN)) { - generatedSQL = generateSQLSQLBased(paramValues, overrideSortByColId, - overrideSortByAscDesc, userId, request ); - generatedChartSQL = generateSQLSQLBased(paramValues, null, - AppConstants.SO_ASC, userId, request ); - } else if (getReportDefType().equals(AppConstants.RD_VISUAL) && !getReportType().equals(AppConstants.RT_CROSSTAB)) { - generatedSQL = generateSQLVisual(paramValues, overrideSortByColId, - overrideSortByAscDesc, userId, request); - generatedChartSQL = generateSQLVisual(paramValues, null, - AppConstants.SO_ASC, userId, request); - } else { - generatedSQL = generateSQLCrossTabVisual(paramValues, overrideSortByColId, - overrideSortByAscDesc, userId, request); - } - - //debugLogger.debug("******************"); - //debugLogger.debug("SQL Before Changing new line \n" + generatedSQL); - //debugLogger.debug("******************"); - generatedSQL = replaceNewLine(generatedSQL, ""+ '\n', " "+'\n'+" " ); - //chart sql should not be null - if(nvl(generatedChartSQL).trim().length()>0) - generatedChartSQL = replaceNewLine(generatedChartSQL, ""+ '\n', " "+'\n'+" " ); - //(generatedSQL, "\n", " \n "); - //debugLogger.debug("******************"); - //debugLogger.debug("SQL After Changing new line \n" + generatedSQL); - //debugLogger.debug("******************"); - //generatedSQL = replaceNewLine(generatedSQL, "SELECT", "SELECT "); - //generatedSQL = replaceNewLine(generatedSQL, "select", "select "); - //debugLogger.debug("SQL After Changing new line \n" + generatedSQL); - //debugLogger.debug("[[[[[[[[[[[[[[[[[["); - //generatedSQL = Utils.replaceInString(generatedSQL, "\n", " "); - //generatedSQL = Utils.replaceInString(generatedSQL, "\t", " "); - } // if - - return generatedSQL; - } // generateSQL - - public String generateSQLSQLBased(ReportParamValues paramValues, - String overrideSortByColId, String overrideSortByAscDesc, String userId, HttpServletRequest request) throws RaptorException { - String sql = getReportSQL(); - DataSet ds = null; - //debugLogger.debug(" generateSQLSQLBased " + sql); - String[] reqParameters = Globals.getRequestParams().split(","); - String[] sessionParameters = Globals.getSessionParams().split(","); - String[] scheduleSessionParameters = Globals.getSessionParamsForScheduling().split(","); - javax.servlet.http.HttpSession session = request.getSession(); - String dbType = ""; - String dbInfo = getDBInfo(); - int fieldCount = 0; - // For Daytona removing all formfields which has null param value - Pattern re1 = null; - Matcher matcher = null; - int index = 0; - int posFormField = 0; - int posAnd = 0; - if (!isNull(dbInfo) && (!dbInfo.equals(AppConstants.DB_LOCAL))) { - try { - org.openecomp.portalsdk.analytics.util.RemDbInfo remDbInfo = new org.openecomp.portalsdk.analytics.util.RemDbInfo(); - dbType = remDbInfo.getDBType(dbInfo); - } catch (Exception ex) { - throw new RaptorException(ex); - } - } - - sql = sql + " "; - sql = Pattern.compile("(^[\r\n]*|([\\s]))[Ss][Ee][Ll][Ee][Cc][Tt]([\r\n]*|[\\s]*)",Pattern.DOTALL).matcher(sql).replaceAll(" SELECT "); - //sql = Pattern.compile("(^[\r\n]*|([\\s]))[Ff][Rr][Oo][Mm]([\r\n]*|[\\s]*)",Pattern.DOTALL).matcher(sql).replaceAll(" FROM "); - sql = Pattern.compile("(^[\r\n]*|([\\s]))[Ww][Hh][Ee][Rr][Ee]([\r\n]*|[\\s]*)",Pattern.DOTALL).matcher(sql).replaceAll(" WHERE "); - sql = Pattern.compile("(^[\r\n]*|([\\s]))[Ww][Hh][Ee][Nn]([\r\n]*|[\\s]*)",Pattern.DOTALL).matcher(sql).replaceAll(" WHEN "); - sql = Pattern.compile("(^[\r\n]*|([\\s]))[Aa][Nn][Dd]([\r\n]*|[\\s]*)",Pattern.DOTALL).matcher(sql).replaceAll(" AND "); - - if (getFormFieldList() != null) { - for (Iterator iter = getFormFieldList().getFormField().iterator(); iter.hasNext();) { - - FormFieldType fft = (FormFieldType) iter.next(); - String fieldId = fft.getFieldId(); - String fieldDisplay = getFormFieldDisplayName(fft); - if(!fft.getFieldType().equals(FormField.FFT_BLANK)) { - if (paramValues.isParameterMultiValue(fieldId)) { - String replaceValue = formatListValue(fieldDisplay, Utils - .oracleSafe(nvl(paramValues.getParamValue(fieldId))), null, false, - true, null, paramValues.getParamBaseSQL(fieldId)); - if(replaceValue.length() > 0) { - sql = Utils.replaceInString(sql, fieldDisplay, replaceValue); - } else { - fieldCount++; - if(fieldCount == 1) { - //sql = sql + " "; - //sql = Pattern.compile("(^[\r\n]*|([\\s]))[Ss][Ee][Ll][Ee][Cc][Tt]([\r\n]*|[\\s]*)",Pattern.DOTALL).matcher(sql).replaceAll(" SELECT "); - //sql = Pattern.compile("(^[\r\n]*|([\\s]))[Ww][Hh][Ee][Rr][Ee]([\r\n]*|[\\s]*)",Pattern.DOTALL).matcher(sql).replaceAll(" WHERE "); - //sql = Pattern.compile("(^[\r\n]*|([\\s]))[Aa][Nn][Dd]([\r\n]*|[\\s]*)",Pattern.DOTALL).matcher(sql).replaceAll(" AND "); - } - //sql = getReportSQL(); - while(sql.indexOf(fieldDisplay) > 0) { -/* sql = Utils.replaceInString(sql, "SELECT ", "select "); - sql = Utils.replaceInString(sql, "WHERE", "where"); - sql = Utils.replaceInString(sql, " AND ", " and "); -*/ - re1 = Pattern.compile("(^[\r\n]|[\\s])AND(.*?[^\r\n]*)"+ "\\["+fft.getFieldName()+ "\\](.*?)\\s", Pattern.DOTALL); - //re1 = Pattern.compile("(^[\r\n]|[\\s])AND(.*?[^\r\n]*)"+ "\\["+fft.getFieldName()+ "\\]", Pattern.DOTALL); -/* posFormField = sql.indexOf(fieldDisplay); - posAnd = sql.lastIndexOf("and", posFormField); - if(posAnd < 0) posAnd = 0; - else if (posAnd > 2) posAnd = posAnd - 2; - matcher = re1.matcher(sql); -*/ - posFormField = sql.indexOf(fieldDisplay); - int posSelectField = sql.lastIndexOf("SELECT ", posFormField); - int andField = 0; - int whereField = 0, whenField = 0; - andField = sql.lastIndexOf(" AND ", posFormField); - whereField = sql.indexOf(" WHERE" , posSelectField); - whenField = sql.indexOf(" WHEN" , posSelectField); - - if(posFormField > whereField) - andField = sql.lastIndexOf(" AND ", posFormField); - if (posFormField > andField && (andField > whereField || andField > whenField)) - posAnd = andField; - else - posAnd = 0; - matcher = re1.matcher(sql); - - - if (posAnd > 0 && matcher.find(posAnd-1)) { - //sql = Utils.replaceInString(sql, matcher.group(), " "); - matcher = re1.matcher(sql); - index = sql!=null?sql.lastIndexOf("["+fft.getFieldName()+"]"):-1; - - if(andField>0) - index = andField; - else - index = whereField; - if(index >= 0 && matcher.find(index-1)) { - sql = sql.replace(matcher.group(), " "); - } - } else { - - //sql = sql.replace - re1 = Pattern.compile("(^[\r\n]|[\\s])WHERE(.*?[^\r\n]*)\\["+fft.getFieldName()+ "\\](.*?)\\s", Pattern.DOTALL); - matcher = re1.matcher(sql); - if(whereField != -1) { - if(matcher.find(whereField-1)) { - matcher = re1.matcher(sql); - index = sql!=null?sql.lastIndexOf("["+fft.getFieldName()+"]"):-1; - if(index >= 0 && matcher.find(index-30)) { - sql = sql.replace(matcher.group(), " WHERE 1=1 "); - } - //sql = Utils.replaceInString(sql, matcher.group(), " where 1=1 "); - } /*else { - replaceValue = formatListValue("", Utils - .oracleSafe(nvl(paramValues.getParamValue(fieldId))), null, false, - true, null, paramValues.getParamBaseSQL(fieldId)); - sql = Utils.replaceInString(sql, fieldDisplay, replaceValue); - }*/ - } else { - sql = Utils.replaceInString(sql, fieldDisplay, replaceValue); - } - - } - } - } - - //sql = Utils.replaceInString(sql, " select ", " SELECT "); - //sql = Utils.replaceInString(sql, " where ", " WHERE "); - //sql = Utils.replaceInString(sql, " and ", " AND "); - - } else { - String paramValue = ""; - if(paramValues.isParameterTextAreaValueAndModified(fieldId)) { - String value = ""; - value = nvl(paramValues - .getParamValue(fieldId)); -// value = Utils.oracleSafe(nvl(value)); -// if (!(dbType.equals("DAYTONA") && sql.trim().toUpperCase().startsWith("SELECT"))) { -// value = "('" + Utils.replaceInString(value, ",", "'|'") + "')"; -// value = Utils.replaceInString(value, "|", ","); -// paramValue = XSSFilter.filterRequestOnlyScript(value); -// } else if (nvl(value.trim()).length()>0) { -// value = "('" + Utils.replaceInString(value, ",", "'|'") + "')"; -// value = Utils.replaceInString(value, "|", ","); -// paramValue = XSSFilter.filterRequestOnlyScript(value); -// } - paramValue = value; - } else - paramValue = Utils.oracleSafe(nvl(paramValues - .getParamValue(fieldId))); - - if (paramValue!=null && paramValue.length() > 0) { - if(paramValue.toLowerCase().trim().startsWith("select ")) { - paramValue = Utils.replaceInString(paramValue, "[LOGGED_USERID]", userId); - paramValue = Utils.replaceInString(paramValue, "[USERID]", userId); - paramValue = Utils.replaceInString(paramValue, "[USER_ID]", userId); - - paramValue = Utils.replaceInString(paramValue, "''", "'"); - ds = ConnectionUtils.getDataSet(paramValue, dbInfo); - if (ds.getRowCount() > 0) paramValue = ds.getString(0, 0); - } - //debugLogger.debug("SQLSQLBASED B4^^^^^^^^^ " + sql + " " + fft.getValidationType() + " " + fft.getFieldName() + " " + fft.getFieldId()); - if(fft!=null && (fft.getValidationType()!=null && (fft.getValidationType().equals(FormField.VT_TIMESTAMP_HR) || fft.getValidationType().equals(FormField.VT_TIMESTAMP_MIN) ||fft.getValidationType().equals(FormField.VT_TIMESTAMP_SEC) ||fft.getValidationType().equals(FormField.VT_DATE) ))) { - //System.out.println("paramValues.getParamValue(fieldId_Hr) Inside if " + fft.getValidationType() + " " + fieldDisplay); - if(fft.getValidationType().equals(FormField.VT_TIMESTAMP_HR)) { - sql = Utils.replaceInString(sql, fieldDisplay, nvl( - paramValue) +((nvl(paramValues - .getParamValue(fieldId+"_Hr") ).length()>0)?" "+addZero(Utils.oracleSafe(nvl(paramValues - .getParamValue(fieldId+"_Hr") ) ) ):"")); - } - else if(fft.getValidationType().equals(FormField.VT_TIMESTAMP_MIN)) { -/* System.out.println("paramValues.getParamValue(fieldId_Hr)" + paramValues - .getParamValue(fieldId+"_Hr") + " " + paramValues - .getParamValue(fieldId+"_Min")) ; -*/ sql = Utils.replaceInString(sql, fieldDisplay, nvl( - paramValue) + ((nvl(paramValues - .getParamValue(fieldId+"_Hr") ).length()>0)?" "+addZero(Utils.oracleSafe(nvl(paramValues - .getParamValue(fieldId+"_Hr") ) ) ):"") + ((nvl(paramValues - .getParamValue(fieldId+"_Min") ).length()>0)?":" + addZero(Utils.oracleSafe(nvl(paramValues - .getParamValue(fieldId+"_Min") ) ) ) : "") ) ; - } - else if(fft.getValidationType().equals(FormField.VT_TIMESTAMP_SEC)) { - sql = Utils.replaceInString(sql, fieldDisplay, nvl( - paramValue) + ((nvl(paramValues - .getParamValue(fieldId+"_Hr") ).length()>0)?" "+addZero(Utils.oracleSafe(nvl(paramValues - .getParamValue(fieldId+"_Hr") ) ) ):"") + ((nvl(paramValues - .getParamValue(fieldId+"_Min") ).length()>0)?":" + addZero(Utils.oracleSafe(nvl(paramValues - .getParamValue(fieldId+"_Min") ) ) ) : "") + ((nvl(paramValues - .getParamValue(fieldId+"_Sec") ).length()>0)?":"+addZero(Utils.oracleSafe(nvl(paramValues - .getParamValue(fieldId+"_Sec") ) ) ) : "" ) ) ; - } else { - sql = Utils.replaceInString(sql, fieldDisplay, nvl( - paramValue, "NULL")); - } - - - } else { - if(paramValue!=null && paramValue.length() > 0) { - if(sql.indexOf("'"+fieldDisplay+"'")!=-1 || sql.indexOf("'"+fieldDisplay)!=-1 || sql.indexOf(fieldDisplay+"'")!=-1 - || sql.indexOf("'%"+fieldDisplay+"%'")!=-1 || sql.indexOf("'%"+fieldDisplay)!=-1 || sql.indexOf(fieldDisplay+"%'")!=-1 - || sql.indexOf("'_"+fieldDisplay+"_'")!=-1 || sql.indexOf("'_"+fieldDisplay)!=-1 || sql.indexOf(fieldDisplay+"_'")!=-1 - || sql.indexOf("'%_"+fieldDisplay+"_%'")!=-1 || sql.indexOf("^"+fieldDisplay+"^")!=-1 || sql.indexOf("'%_"+fieldDisplay)!=-1 || sql.indexOf(fieldDisplay+"_%'")!=-1) { - sql = Utils.replaceInString(sql, fieldDisplay, nvl( - paramValue, "NULL")); - } else { - if(sql.indexOf(fieldDisplay)!=-1) { - if(nvl(paramValue).length()>0) { - try { - double vD = Double.parseDouble(paramValue); - sql = Utils.replaceInString(sql, fieldDisplay, nvl( - paramValue, "NULL")); - - } catch (NumberFormatException ex) { - if (/*dbType.equals("DAYTONA") &&*/ sql.trim().toUpperCase().startsWith("SELECT")) { - sql = Utils.replaceInString(sql, fieldDisplay, nvl( - paramValue, "NULL")); - } else - throw new UserDefinedException("Expected number, Given String for the form field \"" + fieldDisplay+"\""); - } - /*sql = Utils.replaceInString(sql, fieldDisplay, nvl( - paramValue, "NULL"));*/ - } else - sql = Utils.replaceInString(sql, fieldDisplay, nvl( - paramValue, "NULL")); - - } - } - } - else { - if (dbType.equals("DAYTONA") && sql.trim().toUpperCase().startsWith("SELECT")) { - sql = sql + " "; - re1 = Pattern.compile("(^[\r\n]|[\\s]|[^0-9a-zA-Z])AND(.*?[^\r\n]*)"+ "\\["+fft.getFieldName()+ "\\](.*?)\\s", Pattern.DOTALL); - posFormField = sql.indexOf(fieldDisplay); - posAnd = sql.lastIndexOf(" AND ", posFormField); - if(posAnd < 0) posAnd = 0; - else if (posAnd > 2) posAnd = posAnd - 2; - matcher = re1.matcher(sql); - if (matcher.find(posAnd)) { - sql = sql.replace(matcher.group(), ""); - } - } else { - sql = Utils.replaceInString(sql, "'" + fieldDisplay + "'", nvl( - paramValue, "NULL")); - sql = Utils.replaceInString(sql, fieldDisplay, nvl( - paramValue, "NULL")); - } - } - } - - } - - if (dbType.equals("DAYTONA") && sql.trim().toUpperCase().startsWith("SELECT")) { - sql = sql + " "; - re1 = Pattern.compile("(^[\r\n]|[\\s]|[^0-9a-zA-Z])AND(.*?[^\r\n]*)"+ "\\["+fft.getFieldName()+ "\\](.*?)\\s", Pattern.DOTALL); //+[\'\\)|\'|\\s] - posFormField = sql.indexOf(fieldDisplay); - posAnd = sql.lastIndexOf(" AND ", posFormField); - if(posAnd < 0) posAnd = 0; - else if (posAnd > 2) posAnd = posAnd - 2; - matcher = re1.matcher(sql); - if (matcher.find(posAnd)) { - sql = sql.replace(matcher.group(), " "); - } - } else { - if( fft.isGroupFormField()!=null && fft.isGroupFormField().booleanValue()) { - sql = Pattern.compile("[[\\s*][,]]\\["+fft.getFieldName()+"\\](.*?)[,]",Pattern.MULTILINE).matcher(sql).replaceAll(" "); - //sql = Pattern.compile("[,][\\s*]\\["+fft.getFieldName()+"\\][\\s]",Pattern.MULTILINE).matcher(sql).replaceAll(" "); - sql = Pattern.compile("(,.+?)[\\s*]\\["+fft.getFieldName()+"\\][\\s]",Pattern.MULTILINE).matcher(sql).replaceAll(" "); - //sql = Pattern.compile("(?:,?)[\\s*]\\["+fft.getFieldName()+"\\]",Pattern.MULTILINE).matcher(sql).replaceAll(""); - //sql = Pattern.compile("[,][\\s*]\\["+fft.getFieldName()+"\\]",Pattern.MULTILINE).matcher(sql).replaceAll(" "); - //sql = Pattern.compile( "\\["+fft.getFieldName()+"\\](.*?[^\r\n]*)[,]",Pattern.DOTALL).matcher(sql).replaceAll(""); - - //sql = Pattern.compile("[,]|(.*?[^\r\n]*)"+fieldDisplay+"(.*?)\\s",Pattern.DOTALL).matcher(sql).replaceAll(""); - //sql = Pattern.compile("(.*?[^\r\n]*)"+fieldDisplay+"(.*?)\\s|[,]",Pattern.DOTALL).matcher(sql).replaceAll(""); -/* sql = Utils.replaceInString(sql, "," + fieldDisplay , nvl( - paramValue, "")); - sql = Utils.replaceInString(sql, fieldDisplay + "," , nvl( - paramValue, "")); -*/ } else { - //debugLogger.debug("ParamValue |" + paramValue + "| Sql |" + sql + "| Multi Value |" + paramValues.isParameterMultiValue(fieldId)); - sql = Utils.replaceInString(sql, "'" + fieldDisplay + "'", nvl( - paramValue, "NULL")); - sql = Utils.replaceInString(sql, fieldDisplay , nvl( - paramValue, "NULL")); - //debugLogger.debug("SQLSQLBASED AFTER^^^^^^^^^ " + sql); - } - } - - } // else - } // if BLANK - } // for - if(request != null ) { - for (int i = 0; i < reqParameters.length; i++) { - if(!reqParameters[i].startsWith("ff")) { - if (nvl(request.getParameter(reqParameters[i].toUpperCase())).length() > 0) - sql = Utils.replaceInString(sql, "[" + reqParameters[i].toUpperCase()+"]", request.getParameter(reqParameters[i].toUpperCase()) ); - } - else - sql = Utils.replaceInString(sql, "[" + reqParameters[i].toUpperCase()+"]", request.getParameter(reqParameters[i]) ); - } - - for (int i = 0; i < scheduleSessionParameters.length; i++) { - if(nvl(request.getParameter(scheduleSessionParameters[i])).trim().length()>0 ) - sql = Utils.replaceInString(sql, "[" + scheduleSessionParameters[i].toUpperCase()+"]", request.getParameter(scheduleSessionParameters[i]) ); - } - } - if(session != null ) { - for (int i = 0; i < sessionParameters.length; i++) { - //if(!sessionParameters[i].startsWith("ff")) - // paramValue = Utils.replaceInString(paramValue, "[" + sessionParameters[i].toUpperCase()+"]", (String)session.getAttribute(sessionParameters[i].toUpperCase()) ); - // else { - //debugLogger.debug(" Session " + " sessionParameters[i] " + sessionParameters[i] + " " + (String)session.getAttribute(sessionParameters[i])); - sql = Utils.replaceInString(sql, "[" + sessionParameters[i].toUpperCase()+"]", (String)session.getAttribute(sessionParameters[i]) ); - //} - } - } - } else { - //debugLogger.debug("BEFORE LOGGED USERID REPLACE " + sql); - //sql = Utils.replaceInString(sql, "'[logged_userId]'", "'"+userId+"'"); - //debugLogger.debug("Replacing string 2 " + sql); - sql = Utils.replaceInString(sql, "[LOGGED_USERID]", userId); - sql = Utils.replaceInString(sql, "[USERID]", userId); - sql = Utils.replaceInString(sql, "[USER_ID]", userId); - //debugLogger.debug("AFTER LOGGED USERID REPLACE " + sql); - // Added for Simon's GM Project where they need to get page_id in their query - //debugLogger.debug("SQLSQLBASED no formfields " + sql); - if(request != null ) { - for (int i = 0; i < reqParameters.length; i++) { - sql = Utils.replaceInString(sql, "[" + reqParameters[i].toUpperCase()+"]", request.getParameter(reqParameters[i]) ); - } - } - if(session != null ) { - for (int i = 0; i < sessionParameters.length; i++) { - //debugLogger.debug(" Session " + " sessionParameters[i] " + sessionParameters[i] + " " + (String)session.getAttribute(sessionParameters[i])); - sql = Utils.replaceInString(sql, "[" + sessionParameters[i].toUpperCase()+"]", (String)session.getAttribute(sessionParameters[i]) ); - } - } - } - // if it is not multiple select and ParamValue is empty this is the place it can be replaced. - sql = Utils.replaceInString(sql, "[LOGGED_USERID]", userId); - sql = Utils.replaceInString(sql, "[USERID]", userId); - sql = Utils.replaceInString(sql, "[USER_ID]", userId); - //debugLogger.debug("SQLSQLBASED no formfields after" + sql); - //debugLogger.debug("Replacing String 2 "+ sql); - //debugLogger.debug("Replaced String " + sql); - - int closeBracketPos = 0; - if (nvl(overrideSortByColId).length() > 0) { - if(sql.lastIndexOf(")")!= -1) closeBracketPos = sql.lastIndexOf(")"); - int idxOrderBy = (closeBracketPos>0)?sql.toUpperCase().indexOf("ORDER BY", closeBracketPos):sql.toUpperCase().lastIndexOf("ORDER BY"); - DataColumnType dct = getColumnById(overrideSortByColId+"_sort"); - if(dct!=null && dct.getColName().length()>0) { - overrideSortByColId = overrideSortByColId+"_sort"; - } - if (idxOrderBy < 0) - sql += " ORDER BY " + overrideSortByColId + " " + overrideSortByAscDesc; - else { - int braketCount = 0; - int idxOrderByClauseEnd = 0; - for (idxOrderByClauseEnd = idxOrderBy; idxOrderByClauseEnd < sql.length(); idxOrderByClauseEnd++) { - char ch = sql.charAt(idxOrderByClauseEnd); - - if (ch == '(') - braketCount++; - else if (ch == ')') { - if (braketCount == 0) - break; - braketCount--; - } - } // for - - sql = sql.substring(0, idxOrderBy) + " ORDER BY " + overrideSortByColId + " " - + overrideSortByAscDesc + sql.substring(idxOrderByClauseEnd); - } // else - } // if - sql = Pattern.compile("([\n][\\s]*)",Pattern.DOTALL).matcher(sql).replaceAll(" "); - return sql; - } // generateSQLSQLBased - - public String generateSQLVisual(ReportParamValues paramValues, String overrideSortByColId, - String overrideSortByAscDesc, String userId, HttpServletRequest request)throws RaptorException { - StringBuffer selectCl = new StringBuffer(); - StringBuffer fromCl = new StringBuffer(); - StringBuffer whereCl = new StringBuffer(); - StringBuffer groupByCl = new StringBuffer(); - StringBuffer havingCl = new StringBuffer(); - StringBuffer orderByCl = new StringBuffer(); - StringBuffer selectExtraIdCl = new StringBuffer(); - StringBuffer selectExtraDateCl = new StringBuffer(); - - int whereClBracketCount = 0; - int havingClBracketCount = 0; - int whereClCarryoverBrackets = 0; - int havingClCarryoverBrackets = 0; - - // Identifying FROM clause tables and WHERE clause joins - List dsList = getDataSourceList().getDataSource(); - for (Iterator iter = dsList.iterator(); iter.hasNext();) { - DataSourceType ds = (DataSourceType) iter.next(); - - if (fromCl.length() > 0) - fromCl.append(", "); - fromCl.append(ds.getTableName()); - fromCl.append(" "); - fromCl.append(ds.getTableId()); - - if (nvl(ds.getRefTableId()).length() > 0) { - if (whereCl.length() > 0) - whereCl.append(" AND "); - whereCl.append(ds.getRefDefinition()); - } // if - // Add the condition. - TableSource tableSource = null; - String dBInfo = this.cr.getDbInfo(); - Vector userRoles = AppUtils.getUserRoles(request); - tableSource = DataCache.getTableSource(ds.getTableName(), dBInfo,userRoles,userId, request); - if (userId != null && (!AppUtils.isSuperUser(request)) - && (!AppUtils.isAdminUser(request)) && tableSource != null - && nvl(tableSource.getFilterSql()).length() > 0) { - if (whereCl.length() > 0) - whereCl.append(" AND "); - whereCl.append(Utils.replaceInString(Utils.replaceInString(tableSource - .getFilterSql(), "[" + ds.getTableName() + "]", ds.getTableId()), - "[USER_ID]", userId)); - } // if - } // for - - List reportCols = getAllColumns(); - - boolean isGroupStmt = false; - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dc = (DataColumnType) iter.next(); - if (dc.isGroupBreak()) { - isGroupStmt = true; - break; - } // if - } // for - - // Identifying SELECT and GROUP BY clause fields and WHERE and HAVING - // clause filters - // Collections.sort(reportCols, new OrderSeqComparator()); - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dc = (DataColumnType) iter.next(); - String colName = getColumnSelectStr(dc, paramValues); - - // SELECT clause fields - //TODO: Uncomment if it's not working -- if (dc.isVisible()) { - if (selectCl.length() > 0) - selectCl.append(", "); - selectCl.append(getSelectExpr(dc, colName)); - selectCl.append(" "); - selectCl.append(dc.getColId()); - //TODO } // if - - // Checking for extra fields necessary for drill-down - if (nvl(dc.getDrillDownURL()).length() > 0) - if (isViewAction(dc.getDrillDownURL())) - addExtraIdSelect(selectExtraIdCl, nvl(dc.getDrillDownParams()), true); - else - addExtraDateSelect(selectExtraDateCl, nvl(dc.getDrillDownParams()), - paramValues, true); - - // GROUP BY clause fields - if (dc.isGroupBreak()) { - if (groupByCl.length() > 0) - groupByCl.append(", "); - groupByCl.append(colName); - } // if - - // WHERE/HAVING clause fields - //boolean isHavingCl = isGroupStmt && dc.isVisible() && (!dc.isGroupBreak()); - boolean isHavingCl = isGroupStmt && (!dc.isGroupBreak()); - StringBuffer filterCl = isHavingCl ? havingCl : whereCl; - // StringBuffer filterCl = - // isGroupStmt?(dc.isVisible()?(dc.isGroupBreak()?whereCl:havingCl):whereCl):whereCl; - if (dc.getColFilterList() != null) { - int fNo = 0; - List fList = dc.getColFilterList().getColFilter(); - for (Iterator iterF = fList.iterator(); iterF.hasNext(); fNo++) { - ColFilterType cf = (ColFilterType) iterF.next(); - - StringBuffer curFilter = new StringBuffer(); - if (filterCl.length() > 0) - curFilter.append(" " + cf.getJoinCondition() + " "); - if ((isHavingCl ? havingClCarryoverBrackets : whereClCarryoverBrackets) > 0) - for (int b = 0; b < (isHavingCl ? havingClCarryoverBrackets - : whereClCarryoverBrackets); b++) - filterCl.append('('); - curFilter.append(nvl(cf.getOpenBrackets())); - curFilter.append(colName + " "); - curFilter.append(cf.getExpression() + " "); - - boolean applyFilter = true; - if ((nvl(cf.getArgValue()).length() > 0) - || (nvl(cf.getArgType()).equals(AppConstants.AT_FORM))) - if (nvl(cf.getArgType()).equals(AppConstants.AT_FORMULA)) - curFilter.append(cf.getArgValue()); - else if (nvl(cf.getArgType()).equals(AppConstants.AT_VALUE)) - curFilter.append(formatValue(cf.getArgValue(), dc, false)); - else if (nvl(cf.getArgType()).equals(AppConstants.AT_LIST)) - curFilter.append(formatListValue(cf.getArgValue(), dc, false, - false)); - else if (nvl(cf.getArgType()).equals(AppConstants.AT_COLUMN)) - curFilter.append(getColumnNameById(cf.getArgValue())); - else if (nvl(cf.getArgType()).equals(AppConstants.AT_FORM)) { - String fieldName = getFormFieldName(cf); - String fieldValue = Utils.oracleSafe(paramValues - .getParamValue(fieldName)); - boolean isMultiValue = paramValues - .isParameterMultiValue(fieldName); - boolean usePipeDelimiterOnly = false; - - FormFieldType fft = getFormFieldByDisplayValue(cf.getArgValue()); - if (fft == null) - // If not FormField => applying default value - fieldValue = nvl(fieldValue, Utils - .oracleSafe(cf.getArgValue())); - else - usePipeDelimiterOnly = fft.getFieldType().equals( - FormField.FFT_CHECK_BOX) - || fft.getFieldType().equals(FormField.FFT_LIST_MULTI); - //Added for TimeStamp validation - String fieldId = fft.getFieldId(); - if(fft.getValidationType().equals(FormField.VT_TIMESTAMP_HR)||fft.getValidationType().equals(FormField.VT_TIMESTAMP_MIN)||fft.getValidationType().equals(FormField.VT_TIMESTAMP_SEC)) { - fieldValue = nvl( - fieldValue + " " + addZero(Utils.oracleSafe(nvl(paramValues - .getParamValue(fieldId+"_Hr") ) ) ) ) ; - if(fft.getValidationType().equals(FormField.VT_TIMESTAMP_MIN) || fft.getValidationType().equals(FormField.VT_TIMESTAMP_SEC)) { - fieldValue = fieldValue + (nvl(paramValues - .getParamValue(fieldId+"_Min")).length()>0 ? ":" + addZero(Utils.oracleSafe(nvl(paramValues - .getParamValue(fieldId+"_Min")))): "") ; - } - if(fft.getValidationType().equals(FormField.VT_TIMESTAMP_SEC)) { - fieldValue = fieldValue + (nvl(paramValues - .getParamValue(fieldId+"_Sec")).length()>0 ? ":"+ addZero(Utils.oracleSafe(nvl(paramValues - .getParamValue(fieldId+"_Sec")))) : ""); - } - } - - // End - if (nvl(fieldValue).length() == 0) - // Does not append filter with missing form - // field argument - applyFilter = false; - else if (isMultiValue || nvl(cf.getExpression()).equals("IN") - || nvl(cf.getExpression()).equals("NOT IN")) - curFilter.append(formatListValue(fieldValue, dc, true, - usePipeDelimiterOnly)); - else - curFilter.append(formatValue(fieldValue, dc, true, null, fft)); - } // else - curFilter.append(nvl(cf.getCloseBrackets())); - - if (applyFilter) { - filterCl.append(curFilter.toString()); - - if (isHavingCl) { - havingClBracketCount += (nvl(cf.getOpenBrackets()).length() - nvl( - cf.getCloseBrackets()).length()); - havingClCarryoverBrackets = 0; - } else { - whereClBracketCount += (nvl(cf.getOpenBrackets()).length() - nvl( - cf.getCloseBrackets()).length()); - whereClCarryoverBrackets = 0; - } - } else if (nvl(cf.getOpenBrackets()).length() != nvl(cf.getCloseBrackets()) - .length()) - if (nvl(cf.getOpenBrackets()).length() > nvl(cf.getCloseBrackets()) - .length()) { - // Carry over opening brackets - if (isHavingCl) - havingClCarryoverBrackets += (nvl(cf.getOpenBrackets()) - .length() - nvl(cf.getCloseBrackets()).length()); - else - whereClCarryoverBrackets += (nvl(cf.getOpenBrackets()) - .length() - nvl(cf.getCloseBrackets()).length()); - - if (isHavingCl) - havingClBracketCount += (nvl(cf.getOpenBrackets()).length() - nvl( - cf.getCloseBrackets()).length()); - else - whereClBracketCount += (nvl(cf.getOpenBrackets()).length() - nvl( - cf.getCloseBrackets()).length()); - } else { - // Adding closing brackets - if (filterCl.length() > 0) { - for (int b = 0; b < nvl(cf.getCloseBrackets()).length() - - nvl(cf.getOpenBrackets()).length(); b++) - filterCl.append(')'); - - if (isHavingCl) - havingClBracketCount += (nvl(cf.getOpenBrackets()) - .length() - nvl(cf.getCloseBrackets()).length()); - else - whereClBracketCount += (nvl(cf.getOpenBrackets()).length() - nvl( - cf.getCloseBrackets()).length()); - } // if - } // else - } // for - } // if - } // for - - // Identifying ORDER BY clause fields - DataColumnType overrideSortByCol = null; - if (overrideSortByColId != null) - overrideSortByCol = getColumnById(overrideSortByColId); - - if (overrideSortByCol != null) { - orderByCl.append(getColumnSelectStr(overrideSortByCol, paramValues)); - orderByCl.append(" "); - orderByCl.append(nvl(overrideSortByAscDesc, AppConstants.SO_ASC)); - } else if (getReportType().equals(AppConstants.RT_CROSSTAB)) { - /* - * for(Iterator iter=reportCols.iterator(); iter.hasNext(); ) { - * DataColumnType dc = (DataColumnType) iter.next(); - * - * if(nvl(dc.getCrossTabValue()).equals(AppConstants.CV_ROW)||nvl(dc.getCrossTabValue()).equals(AppConstants.CV_COLUMN)) { - * if(orderByCl.length()>0) orderByCl.append(", "); - * orderByCl.append(getColumnSelectStr(dc, paramValues)); - * orderByCl.append(" "); - * if(dc.getColType().equals(AppConstants.CT_DATE)) - * orderByCl.append(AppConstants.SO_DESC); else - * orderByCl.append(AppConstants.SO_ASC); } // if } // for - */ - } else { - Collections.sort(reportCols, new OrderBySeqComparator()); - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dc = (DataColumnType) iter.next(); - - if (dc.getOrderBySeq() > 0) { - if (orderByCl.length() > 0) - orderByCl.append(", "); - orderByCl.append(getColumnSelectStr(dc, paramValues)); - orderByCl.append(" "); - orderByCl.append(dc.getOrderByAscDesc()); - } // if - } // for - Collections.sort(reportCols, new OrderSeqComparator()); - } // else - - // Adding up the actual statement - StringBuffer sql = new StringBuffer(); - //sql.append("SELECT "); // Need to add PK for /*+ FIRST_ROWS */ "); - sql.append(Globals.getGenerateSqlVisualSelect()); - //sql.append((selectCl.length() == 0) ? "COUNT(*) cnt" : selectCl.toString()); - sql.append((selectCl.length() == 0) ? Globals.getGenerateSqlVisualCount() : selectCl.toString()); - if (groupByCl.length() == 0) - sql.append(selectExtraIdCl.toString()); - sql.append(selectExtraDateCl.toString()); - // sql.append(" FROM "); - sql.append((fromCl.length() == 0) ? Globals.getGenerateSqlVisualDual() : "FROM "+fromCl.toString()); - if (whereCl.length() > 0) { - if (whereClBracketCount > 0) { - for (int b = 0; b < whereClBracketCount; b++) - whereCl.append(')'); - } else if (whereClBracketCount < 0) { - for (int b = 0; b < Math.abs(whereClBracketCount); b++) - whereCl.insert(0, '('); - } // else - - sql.append(" WHERE "); - sql.append(whereCl.toString()); - } // if - if (groupByCl.length() > 0) { - sql.append(" GROUP BY "); - sql.append(groupByCl.toString()); - - if (havingCl.length() > 0) { - if (havingClBracketCount > 0) { - for (int b = 0; b < havingClBracketCount; b++) - havingCl.append(')'); - } else if (havingClBracketCount < 0) { - for (int b = 0; b < Math.abs(havingClBracketCount); b++) - havingCl.insert(0, '('); - } // else - - sql.append(" HAVING "); - sql.append(havingCl.toString()); - } - } - if (orderByCl.length() > 0) { - sql.append(" ORDER BY "); - sql.append(orderByCl.toString()); - } - //String sqlStr = Utils.replaceInString(sql.toString(), "[LOGGED_USERID]", userId); - //return sqlStr; - return sql.toString(); - } // generateSQLVisual - - public String generateSQLCrossTabVisual(ReportParamValues paramValues, String overrideSortByColId, - String overrideSortByAscDesc, String userId, HttpServletRequest request) throws RaptorException { - StringBuffer selectCl = new StringBuffer(); - StringBuffer fromCl = new StringBuffer(); - StringBuffer whereCl = new StringBuffer(); - StringBuffer groupByCl = new StringBuffer(); - StringBuffer havingCl = new StringBuffer(); - StringBuffer orderByCl = new StringBuffer(); - StringBuffer selectExtraIdCl = new StringBuffer(); - StringBuffer selectExtraDateCl = new StringBuffer(); - - int whereClBracketCount = 0; - int havingClBracketCount = 0; - int whereClCarryoverBrackets = 0; - int havingClCarryoverBrackets = 0; - - // Identifying FROM clause tables and WHERE clause joins - List dsList = getDataSourceList().getDataSource(); - for (Iterator iter = dsList.iterator(); iter.hasNext();) { - DataSourceType ds = (DataSourceType) iter.next(); - - if (fromCl.length() > 0) - fromCl.append(", "); - fromCl.append(ds.getTableName()); - fromCl.append(" "); - fromCl.append(ds.getTableId()); - - if (nvl(ds.getRefTableId()).length() > 0) { - if (whereCl.length() > 0) - whereCl.append(" AND "); - whereCl.append(ds.getRefDefinition()); - } // if - // Add the condition. - TableSource tableSource = null; - String dBInfo = this.cr.getDbInfo(); - Vector userRoles = AppUtils.getUserRoles(request); - tableSource = DataCache.getTableSource(ds.getTableName(), dBInfo,userRoles,userId, request); - if (userId != null && (!AppUtils.isSuperUser(request)) - && (!AppUtils.isAdminUser(request)) && tableSource != null - && nvl(tableSource.getFilterSql()).length() > 0) { - if (whereCl.length() > 0) - whereCl.append(" AND "); - whereCl.append(Utils.replaceInString(Utils.replaceInString(tableSource - .getFilterSql(), "[" + ds.getTableName() + "]", ds.getTableId()), - "[USER_ID]", userId)); - } // if - } // for - - List reportCols = getAllColumns(); - - boolean isGroupStmt = false; - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dc = (DataColumnType) iter.next(); - if (dc.isGroupBreak()) { - isGroupStmt = true; - break; - } // if - } // for - - // Identifying SELECT and GROUP BY clause fields and WHERE and HAVING - // clause filters - // Collections.sort(reportCols, new OrderSeqComparator()); - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dc = (DataColumnType) iter.next(); - String colName = getColumnSelectStr(dc, paramValues); - - // SELECT clause fields - if (dc.isVisible()) { - if (selectCl.length() > 0) - selectCl.append(", "); - selectCl.append(getSelectExpr(dc, colName)); - selectCl.append(" "); - selectCl.append(dc.getColId()); - } // if - - // Checking for extra fields necessary for drill-down - if (nvl(dc.getDrillDownURL()).length() > 0) - if (isViewAction(dc.getDrillDownURL())) - addExtraIdSelect(selectExtraIdCl, nvl(dc.getDrillDownParams()), true); - else - addExtraDateSelect(selectExtraDateCl, nvl(dc.getDrillDownParams()), - paramValues, true); - - // GROUP BY clause fields - if (dc.isGroupBreak()) { - if (groupByCl.length() > 0) - groupByCl.append(", "); - groupByCl.append(colName); - } // if - - // WHERE/HAVING clause fields - boolean isHavingCl = isGroupStmt && dc.isVisible() && (!dc.isGroupBreak()); - //boolean isHavingCl = isGroupStmt && (!dc.isGroupBreak()); - //StringBuffer filterCl = isHavingCl ? havingCl : whereCl; - StringBuffer filterCl = - isGroupStmt?(dc.isVisible()?(dc.isGroupBreak()?whereCl:havingCl):whereCl):whereCl; - if (dc.getColFilterList() != null) { - int fNo = 0; - List fList = dc.getColFilterList().getColFilter(); - for (Iterator iterF = fList.iterator(); iterF.hasNext(); fNo++) { - ColFilterType cf = (ColFilterType) iterF.next(); - - StringBuffer curFilter = new StringBuffer(); - if (filterCl.length() > 0) - curFilter.append(" " + cf.getJoinCondition() + " "); - if ((isHavingCl ? havingClCarryoverBrackets : whereClCarryoverBrackets) > 0) - for (int b = 0; b < (isHavingCl ? havingClCarryoverBrackets - : whereClCarryoverBrackets); b++) - filterCl.append('('); - curFilter.append(nvl(cf.getOpenBrackets())); - curFilter.append(colName + " "); - curFilter.append(cf.getExpression() + " "); - - boolean applyFilter = true; - if ((nvl(cf.getArgValue()).length() > 0) - || (nvl(cf.getArgType()).equals(AppConstants.AT_FORM))) - if (nvl(cf.getArgType()).equals(AppConstants.AT_FORMULA)) - curFilter.append(cf.getArgValue()); - else if (nvl(cf.getArgType()).equals(AppConstants.AT_VALUE)) - curFilter.append(formatValue(cf.getArgValue(), dc, false)); - else if (nvl(cf.getArgType()).equals(AppConstants.AT_LIST)) - curFilter.append(formatListValue(cf.getArgValue(), dc, false, - false)); - else if (nvl(cf.getArgType()).equals(AppConstants.AT_COLUMN)) - curFilter.append(getColumnNameById(cf.getArgValue())); - else if (nvl(cf.getArgType()).equals(AppConstants.AT_FORM)) { - String fieldName = getFormFieldName(cf); - String fieldValue = Utils.oracleSafe(paramValues - .getParamValue(fieldName)); - boolean isMultiValue = paramValues - .isParameterMultiValue(fieldName); - boolean usePipeDelimiterOnly = false; - - FormFieldType fft = getFormFieldByDisplayValue(cf.getArgValue()); - if (fft == null) - // If not FormField => applying default value - fieldValue = nvl(fieldValue, Utils - .oracleSafe(cf.getArgValue())); - else - usePipeDelimiterOnly = fft.getFieldType().equals( - FormField.FFT_CHECK_BOX) - || fft.getFieldType().equals(FormField.FFT_LIST_MULTI); - - if (nvl(fieldValue).length() == 0) - // Does not append filter with missing form - // field argument - applyFilter = false; - else if (isMultiValue || nvl(cf.getExpression()).equals("IN") - || nvl(cf.getExpression()).equals("NOT IN")) - curFilter.append(formatListValue(fieldValue, dc, true, - usePipeDelimiterOnly)); - else - curFilter.append(formatValue(fieldValue, dc, true)); - } // else - curFilter.append(nvl(cf.getCloseBrackets())); - - if (applyFilter) { - filterCl.append(curFilter.toString()); - - if (isHavingCl) { - havingClBracketCount += (nvl(cf.getOpenBrackets()).length() - nvl( - cf.getCloseBrackets()).length()); - havingClCarryoverBrackets = 0; - } else { - whereClBracketCount += (nvl(cf.getOpenBrackets()).length() - nvl( - cf.getCloseBrackets()).length()); - whereClCarryoverBrackets = 0; - } - } else if (nvl(cf.getOpenBrackets()).length() != nvl(cf.getCloseBrackets()) - .length()) - if (nvl(cf.getOpenBrackets()).length() > nvl(cf.getCloseBrackets()) - .length()) { - // Carry over opening brackets - if (isHavingCl) - havingClCarryoverBrackets += (nvl(cf.getOpenBrackets()) - .length() - nvl(cf.getCloseBrackets()).length()); - else - whereClCarryoverBrackets += (nvl(cf.getOpenBrackets()) - .length() - nvl(cf.getCloseBrackets()).length()); - - if (isHavingCl) - havingClBracketCount += (nvl(cf.getOpenBrackets()).length() - nvl( - cf.getCloseBrackets()).length()); - else - whereClBracketCount += (nvl(cf.getOpenBrackets()).length() - nvl( - cf.getCloseBrackets()).length()); - } else { - // Adding closing brackets - if (filterCl.length() > 0) { - for (int b = 0; b < nvl(cf.getCloseBrackets()).length() - - nvl(cf.getOpenBrackets()).length(); b++) - filterCl.append(')'); - - if (isHavingCl) - havingClBracketCount += (nvl(cf.getOpenBrackets()) - .length() - nvl(cf.getCloseBrackets()).length()); - else - whereClBracketCount += (nvl(cf.getOpenBrackets()).length() - nvl( - cf.getCloseBrackets()).length()); - } // if - } // else - } // for - } // if - } // for - - // Identifying ORDER BY clause fields - DataColumnType overrideSortByCol = null; - if (overrideSortByColId != null) - overrideSortByCol = getColumnById(overrideSortByColId); - - if (overrideSortByCol != null) { - orderByCl.append(getColumnSelectStr(overrideSortByCol, paramValues)); - orderByCl.append(" "); - orderByCl.append(nvl(overrideSortByAscDesc, AppConstants.SO_ASC)); - } else if (getReportType().equals(AppConstants.RT_CROSSTAB)) { - /* - * for(Iterator iter=reportCols.iterator(); iter.hasNext(); ) { - * DataColumnType dc = (DataColumnType) iter.next(); - * - * if(nvl(dc.getCrossTabValue()).equals(AppConstants.CV_ROW)||nvl(dc.getCrossTabValue()).equals(AppConstants.CV_COLUMN)) { - * if(orderByCl.length()>0) orderByCl.append(", "); - * orderByCl.append(getColumnSelectStr(dc, paramValues)); - * orderByCl.append(" "); - * if(dc.getColType().equals(AppConstants.CT_DATE)) - * orderByCl.append(AppConstants.SO_DESC); else - * orderByCl.append(AppConstants.SO_ASC); } // if } // for - */ - } else { - Collections.sort(reportCols, new OrderBySeqComparator()); - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dc = (DataColumnType) iter.next(); - - if (dc.getOrderBySeq() > 0) { - if (orderByCl.length() > 0) - orderByCl.append(", "); - orderByCl.append(getColumnSelectStr(dc, paramValues)); - orderByCl.append(" "); - orderByCl.append(dc.getOrderByAscDesc()); - } // if - } // for - Collections.sort(reportCols, new OrderSeqComparator()); - } // else - - // Adding up the actual statement - StringBuffer sql = new StringBuffer(); - //sql.append("SELECT "); // Need to add PK for /*+ FIRST_ROWS */ "); - sql.append(Globals.getGenerateSqlVisualSelect()); - // sql.append((selectCl.length() == 0) ? "COUNT(*) cnt" : selectCl.toString()); - sql.append((selectCl.length() == 0) ? Globals.getGenerateSqlVisualCount() : selectCl.toString()); - if (groupByCl.length() == 0) - sql.append(selectExtraIdCl.toString()); - sql.append(selectExtraDateCl.toString()); - // sql.append(" FROM "); - sql.append((fromCl.length() == 0) ? Globals.getGenerateSqlVisualDual() : "FROM "+fromCl.toString()); - if (whereCl.length() > 0) { - if (whereClBracketCount > 0) { - for (int b = 0; b < whereClBracketCount; b++) - whereCl.append(')'); - } else if (whereClBracketCount < 0) { - for (int b = 0; b < Math.abs(whereClBracketCount); b++) - whereCl.insert(0, '('); - } // else - - sql.append(" WHERE "); - sql.append(whereCl.toString()); - } // if - if (groupByCl.length() > 0) { - sql.append(" GROUP BY "); - sql.append(groupByCl.toString()); - - if (havingCl.length() > 0) { - if (havingClBracketCount > 0) { - for (int b = 0; b < havingClBracketCount; b++) - havingCl.append(')'); - } else if (havingClBracketCount < 0) { - for (int b = 0; b < Math.abs(havingClBracketCount); b++) - havingCl.insert(0, '('); - } // else - - sql.append(" HAVING "); - sql.append(havingCl.toString()); - } - } - if (orderByCl.length() > 0) { - sql.append(" ORDER BY "); - sql.append(orderByCl.toString()); - } - - System.out.println("Created SQL statement: "+sql); - - //String sqlStr = Utils.replaceInString(sql.toString(), "[LOGGED_USERID]", userId); - //return sqlStr; - return sql.toString(); - } // generateSQLCrossTabVisual - - - public String generatePagedSQL(int pageNo, String userId, HttpServletRequest request, boolean getColumnNamesFromReportSQL, ReportParamValues paramValues) throws RaptorException { - int counter = 0; - if(!Globals.isMySQL()) - counter = 1; - return generateSubsetSQL(pageNo * getPageSize() + counter, ((pageNo + 1) * getPageSize()) - + ((pageNo == 0) ? 1 : 0), userId, request, getColumnNamesFromReportSQL, paramValues); - } // generatePagedSQL - - public String generateSubsetSQL(int startRow, int endRow, String userId, HttpServletRequest request, boolean getColumnNamesFromReportSQL, ReportParamValues paramValues) throws RaptorException { - //debugLogger.debug(" ******** End Row ********* " + endRow); - String dbInfo = getDBInfo(); - String dbType = ""; - if (!isNull(dbInfo) && (!dbInfo.equals(AppConstants.DB_LOCAL))) { - try { - org.openecomp.portalsdk.analytics.util.RemDbInfo remDbInfo = new org.openecomp.portalsdk.analytics.util.RemDbInfo(); - dbType = remDbInfo.getDBType(dbInfo); - } catch (Exception ex) { - throw new RaptorException(ex); - } - } - List reportCols = getAllColumns(); - String wholeSQL_OrderBy = getWholeSQL(); - String reportSQL = getWholeSQL(); - reportSQL = reportSQL.replace(";", ""); - setWholeSQL(reportSQL); - if(nvl(reportSQL).length()>0) - reportSQL = generateSQL(userId, request); - - if (reportSQL.toUpperCase().indexOf("ORDER BY ") < 0) { - StringBuffer sortBy = null; - - if (reportSQL.toUpperCase().indexOf("GROUP BY ") < 0) - if (getDataSourceList().getDataSource().size() > 0) { - DataSourceType dst = (DataSourceType) getDataSourceList().getDataSource() - .get(0); - String tId = dst.getTableId(); - String tPK = dst.getTablePK(); - if (nvl(tPK).length() > 0) { - sortBy = new StringBuffer(); - StringTokenizer st = new StringTokenizer(tPK, ", "); - while (st.hasMoreTokens()) { - if (sortBy.length() > 0) - sortBy.append(","); - sortBy.append(tId); - sortBy.append("."); - sortBy.append(st.nextToken()); - } // while - } - } // if - if (reportSQL.trim().toUpperCase().startsWith("SELECT")) { - //if (!(dbType.equals("DAYTONA") && reportSQL.trim().toUpperCase().startsWith("SELECT"))) - // reportSQL += " ORDER BY " + ((sortBy == null) ? "1" : sortBy.toString()); - } - } - - StringBuffer colNames = new StringBuffer(); - StringBuffer colExtraIdNames = new StringBuffer(); - StringBuffer colExtraDateNames = new StringBuffer(); - - if(getColumnNamesFromReportSQL) { - DataSet ds = ConnectionUtils.getDataSet(reportSQL, dbInfo); - List reportCols1 = getAllColumns(); - reportCols = new Vector(); - outer: - for (Iterator iter = reportCols1.iterator(); iter.hasNext();) { - DataColumnType dct = (DataColumnType) iter.next(); - for (int k=0; k 0) - colNames.append(", "); - colNames.append(dc.getColId()); - //TODO uncomment if it's not working} // if - - // Checking for extra fields necessary for drill-down - if (nvl(dc.getDrillDownURL()).length() > 0) - if (isViewAction(dc.getDrillDownURL())) - addExtraIdSelect(colExtraIdNames, nvl(dc.getDrillDownParams()), false); - else - addExtraDateSelect(colExtraDateNames, nvl(dc.getDrillDownParams()), null, - false); - } // for - - if (reportSQL.toUpperCase().indexOf("GROUP BY ") < 0) - colNames.append(colExtraIdNames.toString()); - //commented to avoid coldId_dde - //colNames.append(colExtraDateNames.toString()); - - /* - * if(pageNo==0) if(reportSQL.toUpperCase().indexOf(" WHERE ")<0) - * if(reportSQL.toUpperCase().indexOf(" GROUP BY ")<0) reportSQL = - * reportSQL.substring(0, reportSQL.toUpperCase().indexOf(" ORDER BY - * "))+" WHERE ROWNUM <= - * "+getPageSize()+reportSQL.substring(reportSQL.toUpperCase().indexOf(" - * ORDER BY ")); else reportSQL = "SELECT "+colNames.toString()+" FROM - * (SELECT ROWNUM rnum, "+colNames.toString()+" FROM ("+reportSQL+") x) - * y WHERE rnum <= "+getPageSize()+" ORDER BY rnum"; else reportSQL = - * reportSQL.substring(0, reportSQL.toUpperCase().indexOf(" WHERE "))+" - * WHERE ROWNUM <= "+getPageSize()+" AND - * "+reportSQL.substring(reportSQL.toUpperCase().indexOf(" WHERE ")+7); - * else reportSQL = "SELECT "+colNames.toString()+" FROM (SELECT ROWNUM - * rnum, "+colNames.toString()+" FROM ("+reportSQL+") x) y WHERE rnum >= - * "+(pageNo*getPageSize()+1)+" AND rnum <= - * "+((pageNo+1)*getPageSize())+" ORDER BY rnum"; - */ - if (dbType.equals("DAYTONA") && reportSQL.trim().toUpperCase().startsWith("SELECT")) { - if(endRow == -1) endRow = (getMaxRowsInExcelDownload()>0)?getMaxRowsInExcelDownload():Globals.getDownloadLimit(); - reportSQL = reportSQL + " LIMIT TO " +(startRow==0?startRow+1:startRow)+"->"+endRow; - return reportSQL; - } else if (dbType.equals("DAYTONA")) { - return reportSQL; - } - - //reportSQL = "SELECT " + colNames.toString() + " FROM (SELECT ROWNUM rnum, " - // + colNames.toString() + " FROM (" + reportSQL + ") x "; - - String rSQL = Globals.getGenerateSubsetSql(); - rSQL = rSQL.replace("[colNames.toString()]", colNames.toString()); - rSQL = rSQL.replace("[reportSQL]", reportSQL); - - reportSQL=rSQL; - //added rownum for total report where row header need to be shown - //reportSQLOnlyFirstPart = "SELECT rnum," + colNames.toString() + " FROM (SELECT ROWNUM rnum, " - //+ colNames.toString() + " FROM (" ; - - reportSQLOnlyFirstPart = Globals.getReportSqlOnlyFirstPart(); - reportSQLOnlyFirstPart = reportSQLOnlyFirstPart.replace("[colNames.toString()]", colNames.toString()); - - - reportSQLWithRowNum = reportSQL; - - /* if( endRow != -1) - reportSQL += " WHERE ROWNUM <= " + endRow; - reportSQL += " ) y WHERE rnum >= " + startRow + " ORDER BY rnum"; - return reportSQL;*/ - String parta = Globals.getReportSqlOnlySecondPartA(); - String partb = Globals.getReportSqlOnlySecondPartB(); - - String partSql = ""; - if(!AppUtils.isNotEmpty(getDBType())){ - setDBType(Globals.getDBType()); - } - - int closeBracketPos = 0; - if(wholeSQL_OrderBy.lastIndexOf(")")!= -1) closeBracketPos = wholeSQL_OrderBy.lastIndexOf(")"); - int idxOrderBy = (closeBracketPos>0)?wholeSQL_OrderBy.toUpperCase().indexOf("ORDER BY", closeBracketPos):wholeSQL_OrderBy.toUpperCase().lastIndexOf("ORDER BY"); - String orderbyclause = ""; - if (idxOrderBy < 0) { - orderbyclause = " ORDER BY 1 "; - partSql += " "+ orderbyclause+ " "; - } - else { - orderbyclause = wholeSQL_OrderBy.substring(idxOrderBy); - partSql += " "+ orderbyclause+ " "; - } - - if(getDBType().equals(AppConstants.MYSQL)) { - partSql = "LIMIT "+ String.valueOf(startRow)+" , "+ String.valueOf(getPageSize()); - } else if(getDBType().equals(AppConstants.ORACLE)) { - reportSQL = reportSQL.replace(" AS ", " "); - partSql = "where rownum >= "+ String.valueOf(startRow)+" and rownum <= "+(Integer.parseInt(String.valueOf(startRow)) + Integer.parseInt(String.valueOf(getPageSize()))); - } else if(getDBType().equals(AppConstants.POSTGRESQL)) { - partSql = "LIMIT "+ String.valueOf(getPageSize())+" , "+ String.valueOf(startRow);//limit [pageSize] offset [startRow] - } - - // Limit only to MYSQL or MariaDB - //if (reportSQL.toUpperCase().indexOf("ORDER BY ") < 0) - //partSql += " ORDER BY 1"; - //else { - - - - /*if(!Globals.isMySQL()) - parta = parta.replace("[endRow]", String.valueOf(endRow)); - else - parta = parta.replace("[startRow]", String.valueOf(startRow)); - - //String partb = Globals.getReportSqlOnlySecondPartB(); - if(!Globals.isMySQL()) - partb = partb.replace("[startRow]", String.valueOf(startRow)); - else - partb = partb.replace("[pageSize]", String.valueOf(getPageSize())); - - if( endRow != -1) - reportSQL += parta;*/ - reportSQL += partSql; - - return reportSQL; - - } // generateSubsetSQL - - public String generateChartSQL(ReportParamValues paramValues, String userId, HttpServletRequest request ) throws RaptorException { - List reportCols = getAllColumns(); - List chartValueCols = getChartValueColumnsList(AppConstants.CHART_ALL_COLUMNS, null); // parameter is 0 has this requires all columns. - String reportSQL = generateSQL(userId, request); - //if(nvl(reportSQL).length()>0) reportSQL = generatedChartSQL; - logger.debug(EELFLoggerDelegate.debugLogger, ("SQL " + reportSQL)); - String legendCol = "1 a"; - // String valueCol = "1"; - StringBuffer groupCol = new StringBuffer(); - StringBuffer seriesCol = new StringBuffer(); - StringBuffer valueCols = new StringBuffer(); - - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dc = (DataColumnType) iter.next(); - String colName = getColumnSelectStr(dc, paramValues); - if (nvl(dc.getColOnChart()).equals(AppConstants.GC_LEGEND)) - legendCol = getSelectExpr(dc, colName)+" " + dc.getColId(); - // if(dc.getChartSeq()>0) - // valueCol = "NVL("+colName+", 0) "+dc.getColId(); - if ((!nvl(dc.getColOnChart()).equals(AppConstants.GC_LEGEND)) - && (dc.getChartSeq()==null || dc.getChartSeq() <= 0) && dc.isGroupBreak()) { - groupCol.append(", "); - groupCol.append(colName + " " + dc.getColId()); - } - } // for - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dc = (DataColumnType) iter.next(); - if(dc.isChartSeries()!=null && dc.isChartSeries().booleanValue()) { - //System.out.println("*****************, "+ " " +getColumnSelectStr(dc, paramValues)+ " "+ getSelectExpr(dc,getColumnSelectStr(dc, paramValues))); - seriesCol.append(", "+ getSelectExpr(dc,getColumnSelectStr(dc, paramValues))+ " " + dc.getColId()); - } - } - - /*for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dc = (DataColumnType) iter.next(); - if(!dc.isChartSeries() && !(nvl(dc.getColOnChart()).equals(AppConstants.GC_LEGEND))) { - //System.out.println("*****************, "+ " " +getColumnSelectStr(dc, paramValues)+ " "+ getSelectExpr(dc,getColumnSelectStr(dc, paramValues))); - seriesCol.append(", "+ formatChartColumn(getSelectExpr(dc,getColumnSelectStr(dc, paramValues)))+ " " + dc.getColId()); - } - }*/ - - for (Iterator iter = chartValueCols.iterator(); iter.hasNext();) { - DataColumnType dc = (DataColumnType) iter.next(); - String colName = getColumnSelectStr(dc, paramValues); - //valueCols.append(", NVL(" + formatChartColumn(colName) + ",0) " + dc.getColId()); - seriesCol.append("," + formatChartColumn(colName) + " " + dc.getColId()); - } // for - - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dc = (DataColumnType) iter.next(); - String colName = getColumnSelectStr(dc, paramValues); - if(colName.equals(AppConstants.RI_CHART_TOTAL_COL)) - seriesCol.append(", " + AppConstants.RI_CHART_TOTAL_COL + " " + AppConstants.RI_CHART_TOTAL_COL ); - if (colName.equals(AppConstants.RI_CHART_COLOR)) - seriesCol.append(", " + AppConstants.RI_CHART_COLOR + " " + AppConstants.RI_CHART_COLOR ); - if(colName.equals(AppConstants.RI_CHART_MARKER_START)) - seriesCol.append(", " + AppConstants.RI_CHART_MARKER_START + " " + AppConstants.RI_CHART_MARKER_START ); - if(colName.equals(AppConstants.RI_CHART_MARKER_END)) - seriesCol.append(", " + AppConstants.RI_CHART_MARKER_END + " " + AppConstants.RI_CHART_MARKER_END ); - if(colName.equals(AppConstants.RI_CHART_MARKER_TEXT_LEFT)) - seriesCol.append(", " + AppConstants.RI_CHART_MARKER_TEXT_LEFT + " " + AppConstants.RI_CHART_MARKER_TEXT_LEFT ); - if(colName.equals(AppConstants.RI_CHART_MARKER_TEXT_RIGHT)) - seriesCol.append(", " + AppConstants.RI_CHART_MARKER_TEXT_RIGHT + " " + AppConstants.RI_CHART_MARKER_TEXT_RIGHT ); - if(colName.equals(AppConstants.RI_ANOMALY_TEXT)) - seriesCol.append(", " + AppConstants.RI_ANOMALY_TEXT + " " + AppConstants.RI_ANOMALY_TEXT ); - } - - //debugLogger.debug("ReportSQL Chart " + reportSQL ); - /*for (Iterator iter = chartValueCols.iterator(); iter.hasNext();) { - DataColumnType dc = (DataColumnType) iter.next(); - String colName = getColumnSelectStr(dc, paramValues); - //valueCols.append(", NVL(" + formatChartColumn(colName) + ",0) " + dc.getColId()); - valueCols.append("," + formatChartColumn(colName) + " " + dc.getColId()); - } // for - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dc = (DataColumnType) iter.next(); - String colName = getColumnSelectStr(dc, paramValues); - //if(colName.equals(AppConstants.RI_CHART_TOTAL_COL) || colName.equals(AppConstants.RI_CHART_COLOR)) { - if(colName.equals(AppConstants.RI_CHART_TOTAL_COL)) - valueCols.append(", " + AppConstants.RI_CHART_TOTAL_COL + " " + AppConstants.RI_CHART_TOTAL_COL ); - if (colName.equals(AppConstants.RI_CHART_COLOR)) - valueCols.append(", " + AppConstants.RI_CHART_COLOR + " " + AppConstants.RI_CHART_COLOR ); - if (colName.equals(AppConstants.RI_CHART_INCLUDE)) - valueCols.append(", " + AppConstants.RI_CHART_INCLUDE + " " + AppConstants.RI_CHART_INCLUDE ); - //} - }*/ - String final_sql = ""; - reportSQL = Utils.replaceInString(reportSQL, " from ", " FROM "); - reportSQL = Utils.replaceInString(reportSQL, " select ", " SELECT "); - reportSQL = Utils.replaceInString(reportSQL, " union ", " UNION "); - //reportSQL = reportSQL.replaceAll("[\\s]*\\(", "("); -// if(reportSQL.indexOf("UNION") != -1) { -// if(reportSQL.indexOf("FROM(")!=-1) -// final_sql += " "+reportSQL.substring(reportSQL.indexOf("FROM(") ); -// else if (reportSQL.indexOf("FROM (")!=-1) -// final_sql += " "+reportSQL.substring(reportSQL.indexOf("FROM (") ); -// //TODO ELSE THROW ERROR -// } -// else { -// final_sql += " "+reportSQL.substring(reportSQL.toUpperCase().indexOf(" FROM ")); -// } - int pos = 0; - int pos_first_select = 0; - int pos_dup_select = 0; - int pos_prev_select = 0; - int pos_last_select = 0; - if (reportSQL.indexOf("FROM", pos)!=-1) { - pos = reportSQL.indexOf("FROM", pos); - pos_dup_select = reportSQL.lastIndexOf("SELECT",pos); - pos_first_select = reportSQL.indexOf("SELECT");//,pos); - logger.debug(EELFLoggerDelegate.debugLogger, ("pos_select " + pos_first_select + " " + pos_dup_select)); - if(pos_dup_select > pos_first_select) { - logger.debug(EELFLoggerDelegate.debugLogger, ("********pos_dup_select ********" + pos_dup_select)); - //pos_dup_select1 = pos_dup_select; - pos_prev_select = pos_first_select; - pos_last_select = pos_dup_select; - while (pos_last_select > pos_prev_select) { - logger.debug(EELFLoggerDelegate.debugLogger, ("pos_last , pos_prev " + pos_last_select + " " + pos_prev_select)); - pos = reportSQL.indexOf("FROM", pos+2); - pos_prev_select = pos_last_select; - pos_last_select = reportSQL.lastIndexOf("SELECT",pos); - logger.debug(EELFLoggerDelegate.debugLogger, ("in WHILE LOOP LAST " + pos_last_select)); - } - } - - } - final_sql += " "+reportSQL.substring(pos); - logger.debug(EELFLoggerDelegate.debugLogger, ("Final SQL " + final_sql)); - String sql = "SELECT " + legendCol + ", " + legendCol+"_1" + seriesCol.toString()+ nvl(valueCols.toString(), ", 1") - + groupCol.toString() - + final_sql; - logger.debug(EELFLoggerDelegate.debugLogger, ("Final sql in generateChartSQL " +sql)); - - return sql; - } // generateChartSQL - - private String formatChartColumn(String colName) { - - logger.debug(EELFLoggerDelegate.debugLogger, ("Format Chart Column Input colName" + colName)); - colName = colName.trim(); - colName = Utils.replaceInString(colName, "TO_CHAR", "to_char"); - colName = Utils.replaceInString(colName, "to_number", "TO_NUMBER"); - //reportSQL = reportSQL.replaceAll("[\\s]*\\(", "("); - colName = colName.replaceAll(",[\\s]*\\(", ",("); - StringBuffer colNameBuf = new StringBuffer(colName); - int pos = 0, posFormatStart = 0, posFormatEnd = 0; - String format = ""; - if(colNameBuf.indexOf("999")==-1 && colNameBuf.indexOf("990")==-1) { - logger.debug(EELFLoggerDelegate.debugLogger, (" return colName " + colNameBuf.toString())); - return colNameBuf.toString(); - } - while (colNameBuf.indexOf("to_char")!=-1) { - if(colNameBuf.indexOf("999")!=-1 || colNameBuf.indexOf("990")!=-1) { - pos = colNameBuf.indexOf("to_char"); - colNameBuf.insert(pos, " TO_NUMBER ( CR_RAPTOR.SAFE_TO_NUMBER ("); - pos = colNameBuf.indexOf("to_char"); - colNameBuf.replace(pos, pos+7, "TO_CHAR"); - //colName = Utils.replaceInString(colNameBuf.toString(), "to_char", " TO_NUMBER ( CR_RAPTOR.SAFE_TO_NUMBER ( TO_CHAR "); - logger.debug(EELFLoggerDelegate.debugLogger, ("After adding to_number " + colNameBuf.toString())); - //posFormatStart = colNameBuf.lastIndexOf(",'")+1; - posFormatStart = colNameBuf.indexOf(",'", pos)+1; - posFormatEnd = colNameBuf.indexOf(")",posFormatStart); - logger.debug(EELFLoggerDelegate.debugLogger, (posFormatStart + " " + posFormatEnd + " "+ pos)); - format = colNameBuf.substring(posFormatStart, posFormatEnd); - //posFormatEnd = colNameBuf.indexOf(")",posFormatEnd); - colNameBuf.insert(posFormatEnd+1, " ," + format + ") , "+ format + ")"); - logger.debug(EELFLoggerDelegate.debugLogger, ("colNameBuf " + colNameBuf.toString())); - } - } - logger.debug(EELFLoggerDelegate.debugLogger, (" return colName " + colNameBuf.toString())); - return colNameBuf.toString(); - } - public String generateTotalSQLLinear(ReportParamValues paramValues, String userId, HttpServletRequest request) throws RaptorException { - List reportCols = getAllColumns(); - String reportSQL = generateSQL(userId,request); - //debugLogger.debug("After GenerateSQL " + reportSQL); - - StringBuffer sbSelect = new StringBuffer(); - StringBuffer sbTotal = new StringBuffer(); - StringBuffer colNames = new StringBuffer(); - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - - DataColumnType dc = (DataColumnType) iter.next(); - if (colNames.length() > 0) - colNames.append(", "); - colNames.append(dc.getColId()); - } - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dct = (DataColumnType) iter.next(); - - //if (!dct.isVisible()) - // continue; - - String colName = getColumnSelectStr(dct, paramValues); - - sbSelect.append((sbSelect.length() == 0) ? "SELECT " : ", "); - - sbSelect.append(colName); - sbSelect.append(" "); - sbSelect.append(dct.getColId()); - - - sbTotal.append((sbTotal.length() == 0) ? "SELECT " : ", "); - if (nvl(dct.getDisplayTotal()).length() > 0) { - // sbTotal.append(getSelectExpr(dct, - // dct.getDisplayTotal()+dct.getColId()+")")); - String displayTotal = dct.getDisplayTotal(); - StringBuffer sb = new StringBuffer(); - for (int i = 0; i < displayTotal.length(); i++) { - char ch = displayTotal.charAt(i); - if (ch == '+' || ch == '-') - sb.append(dct.getColId() + ")"); - sb.append(ch); - } // for - sb.append(dct.getColId() + ")"); - - //debugLogger.debug("SB " + sb.toString() + "\n " + getSelectExpr(dct, sb.toString())); - sbTotal.append(getSelectExpr(dct, sb.toString())); - //debugLogger.debug("SBTOTAL " + sbTotal.toString()); - } else - sbTotal.append("NULL"); - sbTotal.append(" total_"); - sbTotal.append(dct.getColId()); - } // for - - //debugLogger.debug(" ****** " + sbTotal.toString()); - logger.debug(EELFLoggerDelegate.debugLogger, ("REPORTWRAPPER " + reportSQL)); - int pos = 0; - int pos_first_select = 0; - int pos_dup_select = 0; - int pos_prev_select = 0; - int pos_last_select = 0; - - //reportSQL = Utils.replaceInString(reportSQL, " from ", " FROM "); - //reportSQL = Utils.replaceInString(reportSQL, "select ", "SELECT "); - reportSQL = replaceNewLine(reportSQL, " from ", " FROM "); - reportSQL = replaceNewLine(reportSQL, "from ", " FROM "); - reportSQL = replaceNewLine(reportSQL, "FROM ", " FROM "); - - reportSQL = " "+reportSQL; - reportSQL = replaceNewLine(reportSQL, "select ", " SELECT "); - reportSQL = replaceNewLine(reportSQL, "SELECT ", " SELECT "); - if (reportSQL.indexOf("FROM", pos)!=-1) { - pos = reportSQL.indexOf("FROM", pos); - pos_dup_select = reportSQL.lastIndexOf("SELECT",pos); - pos_first_select = reportSQL.indexOf("SELECT");//,pos); - logger.debug(EELFLoggerDelegate.debugLogger, ("pos_select " + pos_first_select + " " + pos_dup_select)); - if(pos_dup_select > pos_first_select) { - logger.debug(EELFLoggerDelegate.debugLogger, ("********pos_dup_select ********" + pos_dup_select)); - //pos_dup_select1 = pos_dup_select; - pos_prev_select = pos_first_select; - pos_last_select = pos_dup_select; - while (pos_last_select > pos_prev_select) { - logger.debug(EELFLoggerDelegate.debugLogger, ("pos_last , pos_prev " + pos_last_select + " " + pos_prev_select)); - pos = reportSQL.indexOf("FROM", pos+2); - pos_prev_select = pos_last_select; - pos_last_select = reportSQL.lastIndexOf("SELECT",pos); - logger.debug(EELFLoggerDelegate.debugLogger, ("in WHILE LOOP LAST " + pos_last_select)); - } - } - - } - - - //sbSelect.append(reportSQL.substring(reportSQL.toUpperCase().indexOf(" FROM "))); - - logger.debug(EELFLoggerDelegate.debugLogger, (" *************** " + pos + " " + reportSQL)); - //sbSelect.append(" "+ reportSQL.substring(pos)); - sbSelect.append(" "+reportSQL.substring(pos)); - logger.debug(EELFLoggerDelegate.debugLogger, (" **************** " + sbSelect.toString())); - sbTotal.append(" FROM ("); - sbTotal.append(sbSelect.toString()); - sbTotal.append(") totalSQL"); - - String dbType = ""; - String dbInfo = getDBInfo(); - if (!isNull(dbInfo) && (!dbInfo.equals(AppConstants.DB_LOCAL))) { - try { - org.openecomp.portalsdk.analytics.util.RemDbInfo remDbInfo = new org.openecomp.portalsdk.analytics.util.RemDbInfo(); - dbType = remDbInfo.getDBType(dbInfo); - } catch (Exception ex) { - throw new RaptorException(ex); - } - } - if (dbType.equals("DAYTONA")) { - sbTotal.append("("+ colNames+ ")"); - } - String sql = sbTotal.toString(); - sql = Utils.replaceInString(sql, " from ", " FROM "); - sql = Utils.replaceInString(sql, "select ", "SELECT "); - //sql = Utils.replaceInString(sql, " select ", " SELECT "); - logger.debug(EELFLoggerDelegate.debugLogger, ("Before SQL Corrector " + sql)); - String corrected_SQL = new SQLCorrector().fixSQL(new StringBuffer(sql)); - logger.debug(EELFLoggerDelegate.debugLogger, ("************")); - logger.debug(EELFLoggerDelegate.debugLogger, ("Corrected SQL " + corrected_SQL)); - return corrected_SQL; - //return sbTotal.toString(); - } // generateTotalSQLLinear - - public String generateTotalSQLCrossTab(String sql, String rowColPos, - String userId, HttpServletRequest request, ReportParamValues paramValues) throws RaptorException { - List reportCols = getAllColumns(); - String reportSQL = sql; - - StringBuffer sbSelect = new StringBuffer(); - StringBuffer sbGroup = new StringBuffer(); - // StringBuffer sbOrder = new StringBuffer(); - StringBuffer sbTotal = new StringBuffer(); - StringBuffer colNames = new StringBuffer(); - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - - DataColumnType dc = (DataColumnType) iter.next(); - if (colNames.length() > 0) - colNames.append(", "); - colNames.append(dc.getColId()); - } - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dct = (DataColumnType) iter.next(); - - if (!dct.isVisible()) - continue; - - - String colName = getColumnSelectStr(dct, paramValues); - String colExpr = getSelectExpr(dct, colName); - - sbSelect.append((sbSelect.length() == 0) ? "SELECT " : ", "); - - if (nvl(dct.getCrossTabValue()).equals(rowColPos)) { - //sbSelect.append(colExpr); - sbSelect.append(dct.getColId()); - sbGroup.append((sbGroup.length() == 0) ? " GROUP BY " : ", "); - sbGroup.append(dct.getColId()); - - /* - * sbOrder.append((sbOrder.length()==0)?" ORDER BY ":", "); - * sbOrder.append(dct.getColId()); - * if(dct.getColType().equals(AppConstants.CT_DATE)) - * sbOrder.append(" DESC"); - */ - - sbTotal.append((sbTotal.length() == 0) ? "SELECT " : ", "); - sbTotal.append(dct.getColId()); - } else if (nvl(dct.getCrossTabValue()).equals(AppConstants.CV_VALUE)) { - //sbSelect.append(colName); - sbSelect.append(dct.getColId()); - - String displayTotal = getCrossTabDisplayTotal(rowColPos); - if (displayTotal.length() > 0) { - // displayTotal += dct.getColId()+")"; - StringBuffer sb = new StringBuffer(); - for (int i = 0; i < displayTotal.length(); i++) { - char ch = displayTotal.charAt(i); - if (ch == '+' || ch == '-') - sb.append(dct.getColId() + ")"); - sb.append(ch); - } // for - sb.append(dct.getColId() + ")"); - - displayTotal = sb.toString(); - } else - displayTotal = "COUNT(*)"; - - sbTotal.append((sbTotal.length() == 0) ? "SELECT " : ", "); - sbTotal.append(getSelectExpr(dct, displayTotal)); - sbTotal.append(" total_"); - sbTotal.append(dct.getColId()); - } else { - //sbSelect.append(colExpr); - sbSelect.append(dct.getColId()); - } // if - - sbSelect.append(" "); - sbSelect.append(dct.getColId()); - } // for - - sbSelect.append(reportSQL.substring(reportSQL.toUpperCase().indexOf(" FROM "))); - - sbTotal.append(" FROM ("); - sbTotal.append(sbSelect.toString()); - sbTotal.append(") totalSQL"); - sbTotal.append(sbGroup.toString()); - String dbType = ""; - String dbInfo = getDBInfo(); - if (!isNull(dbInfo) && (!dbInfo.equals(AppConstants.DB_LOCAL))) { - try { - org.openecomp.portalsdk.analytics.util.RemDbInfo remDbInfo = new org.openecomp.portalsdk.analytics.util.RemDbInfo(); - dbType = remDbInfo.getDBType(dbInfo); - } catch (Exception ex) { - throw new RaptorException(ex); - } - } - if (dbType.equals("DAYTONA")) { - sbTotal.append("("+ colNames+ ")"); - } - - // sbTotal.append(sbOrder.toString()); - - //debugLogger.debug(getReportDefType() + " " + AppConstants.RD_SQL_BASED); - //debugLogger.debug("SQL To Delete " + sbTotal.toString()); - sql = ""; - if (getReportDefType().equals(AppConstants.RD_SQL_BASED)) { - sql = Utils.replaceInString(sbTotal.toString(), " from ", " FROM "); - sql = Utils.replaceInString(sql, "select ", "SELECT "); - return new SQLCorrector().fixSQL(new StringBuffer(sql)); - } - - return sbTotal.toString(); - - } // generateTotalSQLCrossTab - - - public String generateTotalSQLCrossTab(ReportParamValues paramValues, String rowColPos, - String userId, HttpServletRequest request) throws RaptorException { - List reportCols = getAllColumns(); - String reportSQL = generateSQL(userId, request); - - StringBuffer sbSelect = new StringBuffer(); - StringBuffer sbGroup = new StringBuffer(); - // StringBuffer sbOrder = new StringBuffer(); - StringBuffer sbTotal = new StringBuffer(); - StringBuffer colNames = new StringBuffer(); - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - - DataColumnType dc = (DataColumnType) iter.next(); - if (colNames.length() > 0) - colNames.append(", "); - colNames.append(dc.getColId()); - } - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dct = (DataColumnType) iter.next(); - - if (!dct.isVisible()) - continue; - - String colName = getColumnSelectStr(dct, paramValues); - String colExpr = getSelectExpr(dct, colName); - - sbSelect.append((sbSelect.length() == 0) ? "SELECT " : ", "); - - if (nvl(dct.getCrossTabValue()).equals(rowColPos)) { - sbSelect.append(colExpr); - - sbGroup.append((sbGroup.length() == 0) ? " GROUP BY " : ", "); - sbGroup.append(dct.getColId()); - - /* - * sbOrder.append((sbOrder.length()==0)?" ORDER BY ":", "); - * sbOrder.append(dct.getColId()); - * if(dct.getColType().equals(AppConstants.CT_DATE)) - * sbOrder.append(" DESC"); - */ - - sbTotal.append((sbTotal.length() == 0) ? "SELECT " : ", "); - sbTotal.append(dct.getColId()); - } else if (nvl(dct.getCrossTabValue()).equals(AppConstants.CV_VALUE)) { - sbSelect.append(colName); - - String displayTotal = getCrossTabDisplayTotal(rowColPos); - if (displayTotal.length() > 0) { - // displayTotal += dct.getColId()+")"; - StringBuffer sb = new StringBuffer(); - for (int i = 0; i < displayTotal.length(); i++) { - char ch = displayTotal.charAt(i); - if (ch == '+' || ch == '-') - sb.append(dct.getColId() + ")"); - sb.append(ch); - } // for - sb.append(dct.getColId() + ")"); - - displayTotal = sb.toString(); - } else - displayTotal = "COUNT(*)"; - - sbTotal.append((sbTotal.length() == 0) ? "SELECT " : ", "); - sbTotal.append(getSelectExpr(dct, displayTotal)); - sbTotal.append(" total_"); - sbTotal.append(dct.getColId()); - } else { - sbSelect.append(colExpr); - } // if - - sbSelect.append(" "); - sbSelect.append(dct.getColId()); - } // for - - sbSelect.append(reportSQL.substring(reportSQL.toUpperCase().indexOf(" FROM "))); - - sbTotal.append(" FROM ("); - sbTotal.append(sbSelect.toString()); - sbTotal.append(") totalSQL"); - sbTotal.append(sbGroup.toString()); - String dbType = ""; - String dbInfo = getDBInfo(); - if (!isNull(dbInfo) && (!dbInfo.equals(AppConstants.DB_LOCAL))) { - try { - org.openecomp.portalsdk.analytics.util.RemDbInfo remDbInfo = new org.openecomp.portalsdk.analytics.util.RemDbInfo(); - dbType = remDbInfo.getDBType(dbInfo); - } catch (Exception ex) { - throw new RaptorException(ex); - } - } - if (dbType.equals("DAYTONA")) { - sbTotal.append("("+ colNames+ ")"); - } - - // sbTotal.append(sbOrder.toString()); - - //debugLogger.debug(getReportDefType() + " " + AppConstants.RD_SQL_BASED); - //debugLogger.debug("SQL To Delete " + sbTotal.toString()); - String sql = ""; - if (getReportDefType().equals(AppConstants.RD_SQL_BASED)) { - sql = Utils.replaceInString(sbTotal.toString(), " from ", " FROM "); - sql = Utils.replaceInString(sql, "select ", "SELECT "); - return new SQLCorrector().fixSQL(new StringBuffer(sql)); - } - - return sbTotal.toString(); - - } // generateTotalSQLCrossTab - - public String generateDistinctValuesSQL(ReportParamValues paramValues, DataColumnType dct, - String userId, HttpServletRequest request) throws RaptorException { - DataSourceType dst = getColumnTableById(dct.getColId()); - String colName = getColumnSelectStr(dct, paramValues); - String colExpr = getSelectExpr(dct, colName); - ReportRuntime rr = (ReportRuntime) request.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME); - StringBuffer sb = new StringBuffer(); - sb.append("SELECT DISTINCT "); - if (getReportDefType().equals(AppConstants.RD_SQL_BASED)) { - sb.append(dct.getColId()); - sb.append(" FROM ("); - //paramvalues added below to filter distinct values based on formfields. - //sb.append(generateSQL(paramValues, userId, request)); - sb.append(rr.getWholeSQL()); - sb.append(") " + (Globals.isPostgreSQL() || Globals.isMySQL() ?" AS ":"") + " report_sql ORDER BY 1"); - } else { - sb.append(colExpr); - sb.append(" "); - sb.append(dct.getColId()); - if (!colExpr.equals(colName)) { - sb.append(", "); - sb.append(colName); - } // if - sb.append(" FROM "); - sb.append(dst.getTableName()); - sb.append(" "); - sb.append(dst.getTableId()); - sb.append(" ORDER BY "); - sb.append(colName); - if (dct.getColType().equals(AppConstants.CT_DATE)) - sb.append(" DESC"); - } // else - - return sb.toString(); - } // generateDistinctValuesSQL - - /** ************************************************************************************************* */ - - public DataSourceType getTableWithoutColumns() { - List dsList = getDataSourceList().getDataSource(); - for (Iterator iter = dsList.iterator(); iter.hasNext();) { - DataSourceType ds = (DataSourceType) iter.next(); - - if (ds.getDataColumnList().getDataColumn().size() == 0) - return ds; - } // for - - return null; - } // getTableWithoutColumns - - public CustomReportType cloneCustomReportClearTables() throws RaptorException { - ReportWrapper nrw = new ReportWrapper(cloneCustomReport(), reportID, getOwnerID(), - getCreateID(), getCreateDate(), getUpdateID(), getUpdateDate(), getMenuID(), - isMenuApproved()); - - DataSourceType ndst = null; - while ((ndst = nrw.getTableWithoutColumns()) != null) - nrw.deleteDataSourceType(ndst.getTableId()); - - return nrw.getCustomReport(); - } // cloneCustomReportClearTables - - public String marshal() throws RaptorException { - StringWriter sw = new StringWriter(); - ObjectFactory objFactory = new ObjectFactory(); - - try { - JAXBContext jc = JAXBContext.newInstance("org.openecomp.portalsdk.analytics.xmlobj"); - Marshaller m = jc.createMarshaller(); - m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); - //JAXBElement jaxbElement = new JAXBElement(new QName("customReport"), Object.class, ""); - //m.marshal( System.out ); - //m.marshal(jaxbElement, new StreamResult(sw)); - m.marshal((getTableWithoutColumns() == null) ? objFactory.createCustomReport(cr) : objFactory.createCustomReport(cloneCustomReportClearTables()), - new StreamResult(sw)); - } catch (JAXBException ex) { - throw new RaptorException (ex.getMessage(), ex.getCause()); - } - return sw.toString(); - } // marshal - - public static CustomReportType unmarshalCR(String reportXML) throws RaptorException { - //CustomReport cr = null; - try { - JAXBContext jc = JAXBContext.newInstance("org.openecomp.portalsdk.analytics.xmlobj"); - Unmarshaller u = jc.createUnmarshaller(); - javax.xml.bind.JAXBElement doc = (javax.xml.bind.JAXBElement) u.unmarshal(new java.io.StringReader( - reportXML)); - return doc.getValue(); - } catch (JAXBException ex) { - ex.printStackTrace(); - throw new RaptorException (ex.getMessage(), ex.getCause()); - } - - - } // unmarshal - - protected static CustomReportType createBlankCR() throws RaptorException { - return createBlankCR("N/A"); - } // createBlank - - protected static CustomReportType createBlankCR(String createID) throws RaptorException { - ObjectFactory objFactory = new ObjectFactory(); - CustomReportType cr = objFactory.createCustomReportType(); - //CustomReport cr = null; - try { - //cr = (CustomReport) objFactory.createCustomReport(customReportType); - - cr.setReportName(""); - cr.setReportDescr(""); - cr.setChartType(""); - cr.setPublic(false); - cr.setCreateId(createID); - cr.setCreateDate(DatatypeFactory.newInstance().newXMLGregorianCalendar(new GregorianCalendar())); - // cr.setReportSQL(""); - cr.setReportType(""); - cr.setPageSize(50); - - DataSourceList dataSourceList = objFactory.createDataSourceList(); - cr.setDataSourceList(dataSourceList); - } catch (DatatypeConfigurationException ex) { - throw new RaptorException (ex.getMessage(), ex.getCause()); - } - return cr; - } // createBlank - - protected void replaceCustomReportWithClone() throws RaptorException { - try { - CustomReportType clone = cloneCustomReport(); - this.cr = clone; - } catch (Exception e) { - e.printStackTrace(); - logger.debug(EELFLoggerDelegate.debugLogger, ("[SYSTEM ERROR] ReportWrapper.replaceCustomReportWithClone generated exception for report [" - + reportID + "]. Exception: " + e.getMessage())); - throw new RaptorException("[SYSTEM ERROR] ReportWrapper.replaceCustomReportWithClone generated exception for report [" - + reportID + "]. Exception: " + e.getMessage(), e.getCause()); - } - } // replaceCustomReportWithClone - - /** ************************************************************************************************* */ - - public FormatType cloneFormatType(ObjectFactory objFactory, FormatType ft) - throws JAXBException { - FormatType nft = objFactory.createFormatType(); - - nft.setLessThanValue(ft.getLessThanValue()); - nft.setExpression(ft.getExpression()); - nft.setBold(ft.isBold()); - nft.setItalic(ft.isItalic()); - nft.setUnderline(ft.isUnderline()); - if (nvl(ft.getBgColor()).length() > 0) - nft.setBgColor(ft.getBgColor()); - if (nvl(ft.getFontColor()).length() > 0) - nft.setFontColor(ft.getFontColor()); - if (nvl(ft.getFontFace()).length() > 0) - nft.setFontFace(ft.getFontFace()); - if (nvl(ft.getFontSize()).length() > 0) - nft.setFontSize(ft.getFontSize()); - if (nvl(ft.getAlignment()).length() > 0) - nft.setAlignment(ft.getAlignment()); - if (nvl(ft.getComment()).length() > 0) - nft.setComment(ft.getComment()); - - nft.setFormatId(ft.getFormatId()); - - return nft; - } // cloneFormatType - - public SemaphoreType cloneSemaphoreType(ObjectFactory objFactory, SemaphoreType st) - throws JAXBException { - SemaphoreType nst = objFactory.createSemaphoreType(); - - nst.setSemaphoreName(st.getSemaphoreName()); - nst.setSemaphoreType(st.getSemaphoreType()); - nst.setSemaphoreId(st.getSemaphoreId()); - if (nvl(st.getComment()).length() > 0) - nst.setComment(st.getComment()); - - if (st.getFormatList() != null) { - FormatList formatList = objFactory.createFormatList(); - nst.setFormatList(formatList); - - for (Iterator iter = st.getFormatList().getFormat().iterator(); iter.hasNext();) - formatList.getFormat().add( - cloneFormatType(objFactory, (FormatType) iter.next())); - } // if - - return nst; - } // cloneSemaphoreType - - public Reports cloneDashboardType(ObjectFactory objFactory, Reports rpt) - throws JAXBException { - Reports nrpt = objFactory.createReports(); - - nrpt.setReportId(rpt.getReportId()); - nrpt.setBgcolor(rpt.getBgcolor()); - return nrpt; - } // cloneDashboardType - - public Marker cloneMarkerType(ObjectFactory objFactory, Marker marker) - throws JAXBException { - Marker nMarker = objFactory.createMarker(); - nMarker.setAddressColumn(marker.getAddressColumn()); - nMarker.setDataColumn(marker.getDataColumn()); - nMarker.setDataHeader(marker.getDataHeader()); - nMarker.setMarkerColor(marker.getMarkerColor()); - return nMarker; - } // cloneDashboardType - - public ChartDrillFormfield cloneChartDrillFormfield(ObjectFactory objFactory, ChartDrillFormfield chartDrillFormfield) - throws JAXBException { - ChartDrillFormfield nChartDrillFormfield = objFactory.createChartDrillFormfield(); - nChartDrillFormfield.setFormfield(chartDrillFormfield.getFormfield()); - return nChartDrillFormfield; - } // cloneDashboardType - - public boolean isChartDrillDownContainsName(String name) { - for (Iterator iter = getChartDrillOptions().getTargetFormfield().iterator(); iter - .hasNext();) { - org.openecomp.portalsdk.analytics.xmlobj.ChartDrillFormfield cdf = (org.openecomp.portalsdk.analytics.xmlobj.ChartDrillFormfield) iter.next(); - if(cdf.getFormfield().equals(name)) { - return true; - } - } - return false; - } - public FormFieldType cloneFormFieldType(ObjectFactory objFactory, FormFieldType fft) - throws JAXBException { - FormFieldType nfft = objFactory.createFormFieldType(); - - nfft.setColId(fft.getColId()); - nfft.setFieldName(fft.getFieldName()); - nfft.setFieldType(fft.getFieldType()); - if (nvl(fft.getVisible()).length() > 0) - nfft.setVisible(fft.getVisible()); - if (nvl(fft.getValidationType()).length() > 0) - nfft.setValidationType(fft.getValidationType()); - if (nvl(fft.getMandatory()).length() > 0) - nfft.setMandatory(fft.getMandatory()); - if (nvl(fft.getDefaultValue()).length() > 0) - nfft.setDefaultValue(fft.getDefaultValue()); - nfft.setOrderBySeq(fft.getOrderBySeq()); - if (nvl(fft.getFieldSQL()).length() > 0) - nfft.setFieldSQL(fft.getFieldSQL()); - if (nvl(fft.getFieldDefaultSQL()).length() > 0) - nfft.setFieldDefaultSQL(fft.getFieldDefaultSQL()); - if(fft.getRangeStartDate()!=null) - nfft.setRangeStartDate(fft.getRangeStartDate()); - if(fft.getRangeEndDate()!=null) - nfft.setRangeEndDate(fft.getRangeEndDate()); - if(fft.getRangeStartDateSQL()!=null) - nfft.setRangeStartDateSQL(fft.getRangeStartDateSQL()); - if(fft.getRangeEndDateSQL()!=null) - nfft.setRangeEndDateSQL(fft.getRangeEndDateSQL()); - - if (nvl(fft.getComment()).length() > 0) - nfft.setComment(fft.getComment()); - - if (fft.getPredefinedValueList() != null) { - PredefinedValueList predefinedValueList = objFactory.createPredefinedValueList(); - nfft.setPredefinedValueList(predefinedValueList); - - for (Iterator iter = fft.getPredefinedValueList().getPredefinedValue().iterator(); iter - .hasNext();) - predefinedValueList.getPredefinedValue().add(new String((String) iter.next())); - } // if - if (nvl(fft.getDependsOn()).length() > 0) - nfft.setDependsOn(fft.getDependsOn()); - - nfft.setGroupFormField((fft.isGroupFormField()!=null && fft.isGroupFormField().booleanValue())?true:false); - if (nvl(fft.getMultiSelectListSize()).length() > 0) - nfft.setMultiSelectListSize(fft.getMultiSelectListSize()); - - nfft.setFieldId(fft.getFieldId()); - return nfft; - } // cloneFormFieldType - - public JavascriptItemType cloneJavascriptType(ObjectFactory objFactory, JavascriptItemType jit) - throws JAXBException { - JavascriptItemType njit = objFactory.createJavascriptItemType(); - - njit.setId(jit.getId()); - njit.setFieldId(jit.getFieldId()); - njit.setCallText(jit.getCallText()); - return njit; - } // cloneJavascriptType - - public ColFilterType cloneColFilterType(ObjectFactory objFactory, ColFilterType cft) - throws JAXBException { - ColFilterType ncft = objFactory.createColFilterType(); - - ncft.setColId(cft.getColId()); - ncft.setFilterSeq(cft.getFilterSeq()); - ncft.setJoinCondition(cft.getJoinCondition()); - if (nvl(cft.getOpenBrackets()).length() > 0) - ncft.setOpenBrackets(cft.getOpenBrackets()); - ncft.setExpression(cft.getExpression()); - if (nvl(cft.getArgType()).length() > 0) - ncft.setArgType(cft.getArgType()); - if (nvl(cft.getArgValue()).length() > 0) - ncft.setArgValue(cft.getArgValue()); - if (nvl(cft.getCloseBrackets()).length() > 0) - ncft.setCloseBrackets(cft.getCloseBrackets()); - if (nvl(cft.getComment()).length() > 0) - ncft.setComment(cft.getComment()); - - return ncft; - } // cloneColFilterType - - public DataColumnType cloneDataColumnType(ObjectFactory objFactory, DataColumnType dct) - throws JAXBException { - DataColumnType ndct = objFactory.createDataColumnType(); - - ndct.setTableId(dct.getTableId()); - ndct.setDbColName(dct.getDbColName()); - if (nvl(dct.getCrossTabValue()).length() > 0) - ndct.setCrossTabValue(dct.getCrossTabValue()); - ndct.setColName(dct.getColName()); - ndct.setDisplayName(dct.getDisplayName()); - if (dct.getDisplayWidth() > 0) - ndct.setDisplayWidth(dct.getDisplayWidth()); - if (nvl(dct.getDisplayWidthInPxls()).length()>0) - ndct.setDisplayWidthInPxls(dct.getDisplayWidthInPxls()); - if (nvl(dct.getDisplayAlignment()).length() > 0) - ndct.setDisplayAlignment(dct.getDisplayAlignment()); - if (nvl(dct.getDisplayHeaderAlignment()).length() > 0) - ndct.setDisplayHeaderAlignment(dct.getDisplayHeaderAlignment()); - ndct.setOrderSeq(dct.getOrderSeq()); - ndct.setVisible(dct.isVisible()); - ndct.setCalculated(dct.isCalculated()); - ndct.setColType(dct.getColType()); - if(dct.getColType().equals(AppConstants.CT_HYPERLINK)) { - ndct.setHyperlinkURL(dct.getHyperlinkURL()); - ndct.setHyperlinkType(dct.getHyperlinkType()); - if(dct.getHyperlinkType().equals("IMAGE")) { - ndct.setActionImg(dct.getActionImg()); - } - } - - if(dct.getIndentation()!=null) { - ndct.setIndentation(dct.getIndentation()); - } - - if (nvl(dct.getColFormat()).length() > 0) - ndct.setColFormat(dct.getColFormat()); - ndct.setGroupBreak(dct.isGroupBreak()); - ndct.setNowrap(dct.getNowrap()); - if (nvl(dct.getYAxis()).length() > 0) - ndct.setYAxis(dct.getYAxis()); - if (dct.getOrderBySeq()!=null && dct.getOrderBySeq() > 0) - ndct.setOrderBySeq(dct.getOrderBySeq()); - if (nvl(dct.getOrderByAscDesc()).length() > 0) - ndct.setOrderByAscDesc(dct.getOrderByAscDesc()); - if (nvl(dct.getDisplayTotal()).length() > 0) - ndct.setDisplayTotal(dct.getDisplayTotal()); - if (nvl(dct.getColOnChart()).length() > 0) - ndct.setColOnChart(dct.getColOnChart()); - if (dct.getChartSeq() !=null) - ndct.setChartSeq(dct.getChartSeq()); - if (nvl(dct.getChartColor()).length() > 0) - ndct.setChartColor(dct.getChartColor()); - if (nvl(dct.getChartLineType()).length() > 0) - ndct.setChartLineType(dct.getChartLineType()); - ndct.setChartSeries((dct.isChartSeries()!=null && dct.isChartSeries().booleanValue())?true:false); - ndct.setIsRangeAxisFilled((dct.isIsRangeAxisFilled()!=null && dct.isIsRangeAxisFilled().booleanValue())?true:false); - - if (dct.isCreateInNewChart()!=null) - ndct.setCreateInNewChart(dct.isCreateInNewChart()); - if (nvl(dct.getDrillDownType()).length() > 0) - ndct.setDrillDownType(dct.getDrillDownType()); - ndct.setDrillinPoPUp(dct.isDrillinPoPUp()!=null?dct.isDrillinPoPUp():false); - if (nvl(dct.getDrillDownURL()).length() > 0) - ndct.setDrillDownURL(dct.getDrillDownURL()); - if (nvl(dct.getDrillDownParams()).length() > 0) - ndct.setDrillDownParams(dct.getDrillDownParams()); - if (nvl(dct.getComment()).length() > 0) - ndct.setComment(dct.getComment()); - if (nvl(dct.getDependsOnFormField()).length() > 0) - ndct.setDependsOnFormField(dct.getDependsOnFormField()); - if (dct.getColFilterList() != null) { - ColFilterList colFilterList = objFactory.createColFilterList(); - ndct.setColFilterList(colFilterList); - - for (Iterator iter = dct.getColFilterList().getColFilter().iterator(); iter - .hasNext();) - colFilterList.getColFilter().add( - cloneColFilterType(objFactory, (ColFilterType) iter.next())); - } // if - - if (nvl(dct.getSemaphoreId()).length() > 0) - ndct.setSemaphoreId(dct.getSemaphoreId()); - if (nvl(dct.getDbColType()).length() > 0) - ndct.setDbColType(dct.getDbColType()); - else { - ndct.setDbColType(dct.getColType()); - adjustColumnType(ndct); - } - if (nvl(dct.getChartGroup()).length() > 0) - ndct.setChartGroup(dct.getChartGroup()); - - if (nvl(dct.getYAxis()).length() > 0) - ndct.setYAxis(dct.getYAxis()); - - if (nvl(dct.getDependsOnFormField()).length() > 0) - ndct.setDependsOnFormField(dct.getDependsOnFormField()); - - - - if(nvl(dct.getNowrap()).length() > 0) - ndct.setNowrap(dct.getNowrap()); - - if(dct.getIndentation()!=null) { - ndct.setIndentation(dct.getIndentation()); - } - - ndct.setEnhancedPagination((dct.isEnhancedPagination()!=null && dct.isEnhancedPagination().booleanValue())?true:false); - if(nvl(dct.getDataMiningCol()).length() > 0) - ndct.setDataMiningCol(dct.getDataMiningCol()); - - ndct.setColId(dct.getColId()); - - // ndct.setSemaphoreId(nvl(dct.getSemaphoreId())); - // if(nvl(dct.getDbColType()).length()>0) - // ndct.setDbColType(dct.getDbColType()); - return ndct; - } // cloneDataColumnType - - public DataSourceType cloneDataSourceType(ObjectFactory objFactory, DataSourceType dst) - throws JAXBException { - DataSourceType ndst = objFactory.createDataSourceType(); - - ndst.setTableName(dst.getTableName()); - ndst.setTablePK(dst.getTablePK()); - ndst.setDisplayName(dst.getDisplayName()); - if (nvl(dst.getRefTableId()).length() > 0) - ndst.setRefTableId(dst.getRefTableId()); - if (nvl(dst.getRefDefinition()).length() > 0) - ndst.setRefDefinition(dst.getRefDefinition()); - if (nvl(dst.getComment()).length() > 0) - ndst.setComment(dst.getComment()); - DataColumnList dataColumnList = objFactory.createDataColumnList(); - ndst.setDataColumnList(dataColumnList); - - for (Iterator iter = dst.getDataColumnList().getDataColumn().iterator(); iter - .hasNext();) - dataColumnList.getDataColumn().add( - cloneDataColumnType(objFactory, (DataColumnType) iter.next())); - ndst.setTableId(dst.getTableId()); - - - return ndst; - } // cloneDataSourceType - - public CustomReportType cloneCustomReport() throws RaptorException { - ObjectFactory objFactory = new ObjectFactory(); - CustomReportType ncr = objFactory.createCustomReportType(); - - //CustomReport ncr = null; - try { - //ncr = (CustomReport) objFactory.createCustomReport(customReportType); - ncr.setReportName(cr.getReportName()); - ncr.setReportDescr(cr.getReportDescr()); - if (nvl(cr.getNumDashCols()).length() > 0) - ncr.setNumDashCols(cr.getNumDashCols()); - if (nvl(cr.getDashboardLayoutHTML()).length() > 0) - ncr.setDashboardLayoutHTML(cr.getDashboardLayoutHTML()); - if (nvl(cr.getDbInfo()).length() > 0) - ncr.setDbInfo(cr.getDbInfo()); - ncr.setChartType(cr.getChartType()); - if (nvl(cr.getChartTypeFixed()).length() > 0) - ncr.setChartTypeFixed(cr.getChartTypeFixed()); - if (nvl(cr.getChartMultiSeries()).length() > 0) - ncr.setChartMultiSeries(cr.getChartMultiSeries()); - if (nvl(cr.getChartLeftAxisLabel()).length() > 0) - ncr.setChartLeftAxisLabel(cr.getChartLeftAxisLabel()); - if (nvl(cr.getChartRightAxisLabel()).length() > 0) - ncr.setChartRightAxisLabel(cr.getChartRightAxisLabel()); - if (nvl(cr.getChartWidth()).length() > 0) - ncr.setChartWidth(cr.getChartWidth()); - if (nvl(cr.getChartHeight()).length() > 0) - ncr.setChartHeight(cr.getChartHeight()); - ncr.setShowChartTitle(cr.isShowChartTitle()); - ncr.setPublic(cr.isPublic()); - ncr.setHideFormFieldAfterRun(cr.isHideFormFieldAfterRun()); - ncr.setCreateId(cr.getCreateId()); - ncr.setCreateDate(cr.getCreateDate()); - if (nvl(cr.getReportSQL()).length() > 0) - ncr.setReportSQL(cr.getReportSQL()); - if (nvl(cr.getReportTitle()).length() > 0) - ncr.setReportTitle(cr.getReportTitle()); - if (nvl(cr.getReportSubTitle()).length() > 0) - ncr.setReportSubTitle(cr.getReportSubTitle()); - if (nvl(cr.getReportHeader()).length() > 0) - ncr.setReportHeader(cr.getReportHeader()); - if (cr.getFrozenColumns()!=null) - ncr.setFrozenColumns(cr.getFrozenColumns()); - if (nvl(cr.getPdfImgLogo()).length()>0) - ncr.setPdfImgLogo(cr.getPdfImgLogo()); - if (nvl(cr.getEmptyMessage()).length()>0) - ncr.setEmptyMessage(cr.getEmptyMessage()); - if (nvl(cr.getWidthNoColumn()).length()>0) - ncr.setWidthNoColumn(cr.getWidthNoColumn()); - if (nvl(cr.getDataGridAlign()).length()>0) - ncr.setDataGridAlign(cr.getDataGridAlign()); - - if (nvl(cr.getReportFooter()).length() > 0) - ncr.setReportFooter(cr.getReportFooter()); - if (nvl(cr.getNumFormCols()).length() > 0) - ncr.setNumFormCols(cr.getNumFormCols()); - if (nvl(cr.getDisplayOptions()).length() > 0) - ncr.setDisplayOptions(cr.getDisplayOptions()); - if (nvl(cr.getDataContainerHeight()).length() > 0) - ncr.setDataContainerHeight(cr.getDataContainerHeight()); - if (nvl(cr.getDataContainerWidth()).length() > 0) - ncr.setDataContainerWidth(cr.getDataContainerWidth()); - if (nvl(cr.getAllowSchedule()).length() > 0) - ncr.setAllowSchedule(cr.getAllowSchedule()); - if (nvl(cr.getTopDown()).length() > 0) - ncr.setTopDown(cr.getTopDown()); - if (nvl(cr.getSizedByContent()).length() > 0) - ncr.setSizedByContent(cr.getSizedByContent()); - if (nvl(cr.getComment()).length() > 0) - ncr.setComment(cr.getComment()); - if (nvl(cr.getDashboardOptions()).length()>0) - ncr.setDashboardOptions(cr.getDashboardOptions()); - - if(cr.isDashboardType()!=null) - ncr.setDashboardType(cr.isDashboardType()); - if(cr.isReportInNewWindow()!=null) - ncr.setReportInNewWindow(cr.isReportInNewWindow()); - ncr.setDisplayFolderTree(cr.isDisplayFolderTree()); - if (cr.getDashBoardReports() == null) { - if (cr.getMaxRowsInExcelDownload()!=null && cr.getMaxRowsInExcelDownload()>0) - ncr.setMaxRowsInExcelDownload(cr.getMaxRowsInExcelDownload()); - } - - if (nvl(cr.getJavascriptElement()).length()>0) - ncr.setJavascriptElement(cr.getJavascriptElement()); - if (nvl(cr.getFolderId()).length()>0) - ncr.setFolderId(cr.getFolderId()); - ncr.setDrillURLInPoPUpPresent((cr.isDrillURLInPoPUpPresent()!=null && cr.isDrillURLInPoPUpPresent().booleanValue())?true:false); - - if (nvl(cr.getIsOneTimeScheduleAllowed()).length()>0) - ncr.setIsOneTimeScheduleAllowed(cr.getIsOneTimeScheduleAllowed()); - if (nvl(cr.getIsHourlyScheduleAllowed()).length()>0) - ncr.setIsHourlyScheduleAllowed(cr.getIsHourlyScheduleAllowed()); - if (nvl(cr.getIsDailyScheduleAllowed()).length()>0) - ncr.setIsDailyScheduleAllowed(cr.getIsDailyScheduleAllowed()); - if (nvl(cr.getIsDailyMFScheduleAllowed()).length()>0) - ncr.setIsDailyMFScheduleAllowed(cr.getIsDailyMFScheduleAllowed()); - if (nvl(cr.getIsWeeklyScheduleAllowed()).length()>0) - ncr.setIsWeeklyScheduleAllowed(cr.getIsWeeklyScheduleAllowed()); - if (nvl(cr.getIsMonthlyScheduleAllowed()).length()>0) - ncr.setIsMonthlyScheduleAllowed(cr.getIsMonthlyScheduleAllowed()); - - ncr.setPageSize(cr.getPageSize()); - ncr.setReportType(cr.getReportType()); - - - DataSourceList dataSourceList = objFactory.createDataSourceList(); - ncr.setDataSourceList(dataSourceList); - - for (Iterator iter = cr.getDataSourceList().getDataSource().iterator(); iter.hasNext();) { - dataSourceList.getDataSource().add( - cloneDataSourceType(objFactory, (DataSourceType) iter.next())); - } - - if (cr.getFormFieldList() != null) { - FormFieldList formFieldList = objFactory.createFormFieldList(); - ncr.setFormFieldList(formFieldList); - ncr.getFormFieldList().setComment(formFieldList.getComment()); - - for (Iterator iter = cr.getFormFieldList().getFormField().iterator(); iter - .hasNext();) - formFieldList.getFormField().add( - cloneFormFieldType(objFactory, (FormFieldType) iter.next())); - formFieldList.setComment(cr.getFormFieldList().getComment()); - } // if - - if (cr.getJavascriptList() != null) { - JavascriptList javascriptList = objFactory.createJavascriptList(); - ncr.setJavascriptList(javascriptList); - - for (Iterator iter = cr.getJavascriptList().getJavascriptItem().iterator(); iter - .hasNext();) - javascriptList.getJavascriptItem().add( - cloneJavascriptType(objFactory, (JavascriptItemType) iter.next())); - } // if - - if (cr.getSemaphoreList() != null) { - SemaphoreList semaphoreList = objFactory.createSemaphoreList(); - ncr.setSemaphoreList(semaphoreList); - - for (Iterator iter = cr.getSemaphoreList().getSemaphore().iterator(); iter - .hasNext();) { - semaphoreList.getSemaphore().add( - cloneSemaphoreType(objFactory, (SemaphoreType) iter.next())); - } - } // if - - if (nvl(cr.getDashboardOptions()).length()>0) - ncr.setDashboardOptions(cr.getDashboardOptions()); - if(cr.isDashboardType()!=null) - ncr.setDashboardType(cr.isDashboardType()); - if(cr.isReportInNewWindow()!=null) - ncr.setReportInNewWindow(cr.isReportInNewWindow()); - ncr.setDisplayFolderTree(cr.isDisplayFolderTree()); - if (cr.getDashBoardReports() == null) { - if (cr.getMaxRowsInExcelDownload()!=null && cr.getMaxRowsInExcelDownload()>0) - ncr.setMaxRowsInExcelDownload(cr.getMaxRowsInExcelDownload()); - } - - if (cr.getDashBoardReports() != null) { - DashboardReports dashboardReports = objFactory.createDashboardReports(); - ncr.setDashBoardReports(dashboardReports); - - for (Iterator iter = cr.getDashBoardReports().getReportsList().iterator(); iter - .hasNext();) { - dashboardReports.getReportsList().add( - cloneDashboardType(objFactory, (Reports) iter.next())); - } - } // if - - if (cr.getChartAdditionalOptions() != null) { - ChartAdditionalOptions chartAdditionalOptions = objFactory.createChartAdditionalOptions(); - if(nvl(cr.getChartAdditionalOptions().getChartMultiplePieOrder()).length()>0) - chartAdditionalOptions.setChartMultiplePieOrder(cr.getChartAdditionalOptions().getChartMultiplePieOrder()); - if(nvl(cr.getChartAdditionalOptions().getChartMultiplePieLabelDisplay()).length()>0) - chartAdditionalOptions.setChartMultiplePieLabelDisplay(cr.getChartAdditionalOptions().getChartMultiplePieLabelDisplay()); - - if(nvl(cr.getChartAdditionalOptions().getChartOrientation()).length()>0) - chartAdditionalOptions.setChartOrientation(cr.getChartAdditionalOptions().getChartOrientation()); - if(nvl(cr.getChartAdditionalOptions().getSecondaryChartRenderer()).length()>0) - chartAdditionalOptions.setSecondaryChartRenderer(cr.getChartAdditionalOptions().getSecondaryChartRenderer()); - - if(nvl(cr.getChartAdditionalOptions().getChartDisplay()).length()>0) - chartAdditionalOptions.setChartDisplay(cr.getChartAdditionalOptions().getChartDisplay()); - if(nvl(cr.getChartAdditionalOptions().getHideToolTips()).length()>0) - chartAdditionalOptions.setHideToolTips(cr.getChartAdditionalOptions().getHideToolTips()); - if(nvl(cr.getChartAdditionalOptions().getHidechartLegend()).length()>0) - chartAdditionalOptions.setHidechartLegend(cr.getChartAdditionalOptions().getHidechartLegend()); - if(nvl(cr.getChartAdditionalOptions().getLegendPosition()).length()>0) - chartAdditionalOptions.setLegendPosition(cr.getChartAdditionalOptions().getLegendPosition()); - if(nvl(cr.getChartAdditionalOptions().getLabelAngle()).length()>0) - chartAdditionalOptions.setLabelAngle(cr.getChartAdditionalOptions().getLabelAngle()); - - if(nvl(cr.getChartAdditionalOptions().getIntervalFromdate()).length()>0) - chartAdditionalOptions.setIntervalFromdate(cr.getChartAdditionalOptions().getIntervalFromdate()); - if(nvl(cr.getChartAdditionalOptions().getIntervalTodate()).length()>0) - chartAdditionalOptions.setIntervalTodate(cr.getChartAdditionalOptions().getIntervalTodate()); - if(nvl(cr.getChartAdditionalOptions().getIntervalLabel()).length()>0) - chartAdditionalOptions.setIntervalLabel(cr.getChartAdditionalOptions().getIntervalLabel()); - - if(nvl(cr.getChartAdditionalOptions().getLastSeriesALineChart()).length()>0) - chartAdditionalOptions.setLastSeriesALineChart(cr.getChartAdditionalOptions().getLastSeriesALineChart()); - if(nvl(cr.getChartAdditionalOptions().getLastSeriesABarChart()).length()>0) - chartAdditionalOptions.setLastSeriesABarChart(cr.getChartAdditionalOptions().getLastSeriesABarChart()); - - if(nvl(cr.getChartAdditionalOptions().getMaxLabelsInDomainAxis()).length()>0) - chartAdditionalOptions.setMaxLabelsInDomainAxis(cr.getChartAdditionalOptions().getMaxLabelsInDomainAxis()); - if(nvl(cr.getChartAdditionalOptions().getLinearRegression()).length()>0) - chartAdditionalOptions.setLinearRegression(cr.getChartAdditionalOptions().getLinearRegression()); - if(nvl(cr.getChartAdditionalOptions().getLinearRegressionColor()).length()>0) - chartAdditionalOptions.setLinearRegressionColor(cr.getChartAdditionalOptions().getLinearRegressionColor()); - if(nvl(cr.getChartAdditionalOptions().getExponentialRegressionColor()).length()>0) - chartAdditionalOptions.setExponentialRegressionColor(cr.getChartAdditionalOptions().getExponentialRegressionColor()); - if(nvl(cr.getChartAdditionalOptions().getMaxRegression()).length()>0) - chartAdditionalOptions.setMaxRegression(cr.getChartAdditionalOptions().getMaxRegression()); - if(nvl(cr.getChartAdditionalOptions().getRangeAxisUpperLimit()).length()>0) - chartAdditionalOptions.setRangeAxisUpperLimit(cr.getChartAdditionalOptions().getRangeAxisUpperLimit()); - if(nvl(cr.getChartAdditionalOptions().getRangeAxisLowerLimit()).length()>0) - chartAdditionalOptions.setRangeAxisLowerLimit(cr.getChartAdditionalOptions().getRangeAxisLowerLimit()); - if(nvl(cr.getChartAdditionalOptions().getOverlayItemValueOnStackBar()).length()>0) - chartAdditionalOptions.setOverlayItemValueOnStackBar(cr.getChartAdditionalOptions().getOverlayItemValueOnStackBar()); - chartAdditionalOptions.setAnimate((cr.getChartAdditionalOptions().isAnimate()!=null && cr.getChartAdditionalOptions().isAnimate().booleanValue())?true:false); - - if(nvl(cr.getChartAdditionalOptions().getKeepDomainAxisValueAsString()).length()>0) - chartAdditionalOptions.setKeepDomainAxisValueAsString(cr.getChartAdditionalOptions().getKeepDomainAxisValueAsString()); - - - // Animate - chartAdditionalOptions.setAnimateAnimatedChart((cr.getChartAdditionalOptions().isAnimateAnimatedChart()!=null && cr.getChartAdditionalOptions().isAnimateAnimatedChart().booleanValue())?true:false); - chartAdditionalOptions.setStacked((cr.getChartAdditionalOptions().isStacked()!=null && cr.getChartAdditionalOptions().isStacked().booleanValue())?true:false); - chartAdditionalOptions.setBarControls((cr.getChartAdditionalOptions().isBarControls()!=null && cr.getChartAdditionalOptions().isBarControls().booleanValue())?true:false); - chartAdditionalOptions.setXAxisDateType((cr.getChartAdditionalOptions().isXAxisDateType()!=null && cr.getChartAdditionalOptions().isXAxisDateType().booleanValue())?true:false); - chartAdditionalOptions.setLessXaxisTickers((cr.getChartAdditionalOptions().isLessXaxisTickers()!=null && cr.getChartAdditionalOptions().isLessXaxisTickers().booleanValue())?true:false); - chartAdditionalOptions.setTimeAxis((cr.getChartAdditionalOptions().isTimeAxis()!=null && cr.getChartAdditionalOptions().isTimeAxis().booleanValue())?true:false); - - if(nvl(cr.getChartAdditionalOptions().getTimeSeriesRender()).length()>0) - chartAdditionalOptions.setTimeSeriesRender(cr.getChartAdditionalOptions().getTimeSeriesRender()); - - chartAdditionalOptions.setMultiSeries((cr.getChartAdditionalOptions().isMultiSeries()!=null && cr.getChartAdditionalOptions().isMultiSeries().booleanValue())?true:false); - - chartAdditionalOptions.setTopMargin(cr.getChartAdditionalOptions().getTopMargin()!=null?cr.getChartAdditionalOptions().getTopMargin():new Integer(30)); - chartAdditionalOptions.setBottomMargin(cr.getChartAdditionalOptions().getBottomMargin()!=null?cr.getChartAdditionalOptions().getBottomMargin():new Integer(50)); - chartAdditionalOptions.setLeftMargin(cr.getChartAdditionalOptions().getLeftMargin()!=null?cr.getChartAdditionalOptions().getLeftMargin():new Integer(100)); - chartAdditionalOptions.setRightMargin(cr.getChartAdditionalOptions().getRightMargin()!=null?cr.getChartAdditionalOptions().getRightMargin():new Integer(60)); - - - ncr.setChartAdditionalOptions(chartAdditionalOptions); - } // if - - if (nvl(cr.getJavascriptElement()).length()>0) - ncr.setJavascriptElement(cr.getJavascriptElement()); - if (nvl(cr.getFolderId()).length()>0) - ncr.setFolderId(cr.getFolderId()); - - if (cr.getChartDrillOptions() != null) { - ChartDrillOptions chartDrillOptions = objFactory.createChartDrillOptions(); - - if(nvl(cr.getChartDrillOptions().getDrillReportId()).length()>0) - chartDrillOptions.setDrillReportId(cr.getChartDrillOptions().getDrillReportId()); - - for (Iterator iter = cr.getChartDrillOptions().getTargetFormfield().iterator(); iter - .hasNext();) { - chartDrillOptions.getTargetFormfield().add( - cloneChartDrillFormfield(objFactory, (ChartDrillFormfield)iter.next())); - - } - - if(nvl(cr.getChartDrillOptions().getDrillXAxisFormField()).length()>0) - chartDrillOptions.setDrillXAxisFormField(cr.getChartDrillOptions().getDrillXAxisFormField()); - if(nvl(cr.getChartDrillOptions().getDrillYAxisFormField()).length()>0) - chartDrillOptions.setDrillYAxisFormField(cr.getChartDrillOptions().getDrillYAxisFormField()); - if(nvl(cr.getChartDrillOptions().getDrillSeriesFormField()).length()>0) - chartDrillOptions.setDrillSeriesFormField(cr.getChartDrillOptions().getDrillSeriesFormField()); - - - ncr.setChartDrillOptions(chartDrillOptions); - } - - if (nvl(cr.getIsOneTimeScheduleAllowed()).length()>0) - ncr.setIsOneTimeScheduleAllowed(cr.getIsOneTimeScheduleAllowed()); - if (nvl(cr.getIsHourlyScheduleAllowed()).length()>0) - ncr.setIsHourlyScheduleAllowed(cr.getIsHourlyScheduleAllowed()); - if (nvl(cr.getIsDailyScheduleAllowed()).length()>0) - ncr.setIsDailyScheduleAllowed(cr.getIsDailyScheduleAllowed()); - if (nvl(cr.getIsDailyMFScheduleAllowed()).length()>0) - ncr.setIsDailyMFScheduleAllowed(cr.getIsDailyMFScheduleAllowed()); - if (nvl(cr.getIsWeeklyScheduleAllowed()).length()>0) - ncr.setIsWeeklyScheduleAllowed(cr.getIsWeeklyScheduleAllowed()); - if (nvl(cr.getIsMonthlyScheduleAllowed()).length()>0) - ncr.setIsMonthlyScheduleAllowed(cr.getIsMonthlyScheduleAllowed()); - - ncr.setPageSize(cr.getPageSize()); - ncr.setReportType(cr.getReportType()); - - if (cr.getReportMap() != null){ - ReportMap repMap = objFactory.createReportMap(); - if(nvl(cr.getReportMap().getMarkerColor()).length()>0) - repMap.setMarkerColor(cr.getReportMap().getMarkerColor()); - if(nvl(cr.getReportMap().getUseDefaultSize()).length()>0) - repMap.setUseDefaultSize(cr.getReportMap().getUseDefaultSize()); - if(nvl(cr.getReportMap().getHeight()).length()>0) - repMap.setHeight(cr.getReportMap().getHeight()); - if(nvl(cr.getReportMap().getWidth()).length()>0) - repMap.setWidth(cr.getReportMap().getWidth()); - if(nvl(cr.getReportMap().getIsMapAllowedYN()).length()>0) - repMap.setIsMapAllowedYN(cr.getReportMap().getIsMapAllowedYN()); - if(nvl(cr.getReportMap().getAddAddressInDataYN()).length()>0) - repMap.setAddAddressInDataYN(cr.getReportMap().getAddAddressInDataYN()); - if(nvl(cr.getReportMap().getAddressColumn()).length()>0) - repMap.setAddressColumn(cr.getReportMap().getAddressColumn()); - if(nvl(cr.getReportMap().getDataColumn()).length()>0) - repMap.setDataColumn(cr.getReportMap().getDataColumn()); - if(nvl(cr.getReportMap().getDefaultMapType()).length()>0) - repMap.setDefaultMapType(cr.getReportMap().getDefaultMapType()); - if(nvl(cr.getReportMap().getLatColumn()).length()>0) - repMap.setLatColumn(cr.getReportMap().getLatColumn()); - if(nvl(cr.getReportMap().getLongColumn()).length()>0) - repMap.setLongColumn(cr.getReportMap().getLongColumn()); - if(nvl(cr.getReportMap().getColorColumn()).length()>0) - repMap.setColorColumn(cr.getReportMap().getColorColumn()); - if(nvl(cr.getReportMap().getLegendColumn()).length()>0) - repMap.setLegendColumn(cr.getReportMap().getLegendColumn()); - - - for (Iterator iter = cr.getReportMap().getMarkers().iterator(); iter - .hasNext();) { - repMap.getMarkers().add( - cloneMarkerType(objFactory, (Marker)iter.next())); - - } - - ncr.setReportMap(repMap); - } - - - - } catch (JAXBException ex) { // try - throw new RaptorException(ex.getMessage(), ex.getCause()); - } - - return ncr; - } // cloneCustomReport - - /** ************************************************************************************************* */ - - public void printFormatType(FormatType ft) { - System.out.println("------------------------------------------------"); - System.out.println("Semaphore Col Format"); - System.out.println("------------------------------------------------"); - System.out.println("FormatId: [" + ft.getFormatId() + "]"); - System.out.println("LessThanValue: [" + ft.getLessThanValue() + "]"); - System.out.println("Expression: [" + ft.getExpression() + "]"); - System.out.println("Bold: [" + ft.isBold() + "]"); - System.out.println("Italic: [" + ft.isItalic() + "]"); - System.out.println("Underline: [" + ft.isUnderline() + "]"); - System.out.println("BgColor: [" + ft.getBgColor() + "]"); - System.out.println("FontColor: [" + ft.getFontColor() + "]"); - System.out.println("FontFace: [" + ft.getFontFace() + "]"); - System.out.println("FontSize: [" + ft.getFontSize() + "]"); - System.out.println("Alignment: [" + ft.getAlignment() + "]"); - System.out.println("Comment: [" + ft.getComment() + "]"); - System.out.println("------------------------------------------------"); - } // printFormatType - - public void printSemaphoreType(SemaphoreType st) { - System.out.println("------------------------------------------------"); - System.out.println("Semaphore"); - System.out.println("------------------------------------------------"); - System.out.println("SemaphoreId: [" + st.getSemaphoreId() + "]"); - System.out.println("SemaphoreName: [" + st.getSemaphoreName() + "]"); - System.out.println("SemaphoreType: [" + st.getSemaphoreType() + "]"); - System.out.println("Comment: [" + st.getComment() + "]"); - - if (st.getFormatList() != null) - for (Iterator iter = st.getFormatList().getFormat().iterator(); iter.hasNext();) - printFormatType((FormatType) iter.next()); - - System.out.println("------------------------------------------------"); - } // printSemaphoreType - - public void printFormFieldType(FormFieldType fft) { - System.out.println("------------------------------------------------"); - System.out.println("Form Field"); - System.out.println("------------------------------------------------"); - System.out.println("FieldId: [" + fft.getFieldId() + "]"); - System.out.println("ColId: [" + fft.getColId() + "]"); - System.out.println("FieldName: [" + fft.getFieldName() + "]"); - System.out.println("FieldType: [" + fft.getFieldType() + "]"); - System.out.println("ValidationType: [" + fft.getValidationType() + "]"); - System.out.println("Mandatory: [" + fft.getMandatory() + "]"); - System.out.println("DefaultValue: [" + fft.getDefaultValue() + "]"); - System.out.println("OrderBySeq: [" + fft.getOrderBySeq() + "]"); - System.out.println("FieldSQL: [" + fft.getFieldSQL() + "]"); - System.out.println("Comment: [" + fft.getComment() + "]"); - if (fft.getPredefinedValueList() != null) - for (Iterator iter = fft.getPredefinedValueList().getPredefinedValue().iterator(); iter - .hasNext();) - System.out.println("PredefinedValues: [" + ((String) iter.next()) + "]"); - - System.out.println("------------------------------------------------"); - } // printFormFieldType - - public void printColFilterType(ColFilterType cft) { - System.out.println("------------------------------------------------"); - System.out.println("Col Filter"); - System.out.println("------------------------------------------------"); - System.out.println("ColId: [" + cft.getColId() + "]"); - System.out.println("FilterSeq: [" + cft.getFilterSeq() + "]"); - System.out.println("JoinCondition: [" + cft.getJoinCondition() + "]"); - System.out.println("OpenBrackets: [" + cft.getOpenBrackets() + "]"); - System.out.println("Expression: [" + cft.getExpression() + "]"); - System.out.println("ArgType: [" + cft.getArgType() + "]"); - System.out.println("ArgValue: [" + cft.getArgValue() + "]"); - System.out.println("CloseBrackets: [" + cft.getCloseBrackets() + "]"); - System.out.println("Comment: [" + cft.getComment() + "]"); - System.out.println("------------------------------------------------"); - } // printColFilterType - - public void printDataColumnType(DataColumnType dct) { - System.out.println("------------------------------------------------"); - System.out.println("Data Column"); - System.out.println("------------------------------------------------"); - System.out.println("ColId: [" + dct.getColId() + "]"); - System.out.println("TableId: [" + dct.getTableId() + "]"); - System.out.println("DbColName: [" + dct.getDbColName() + "]"); - System.out.println("CrossTabValue: [" + dct.getCrossTabValue() + "]"); - System.out.println("ColName: [" + dct.getColName() + "]"); - System.out.println("DisplayName: [" + dct.getDisplayName() + "]"); - System.out.println("DisplayWidth: [" + dct.getDisplayWidth() + "]"); - System.out.println("DisplayAlignment: [" + dct.getDisplayAlignment() + "]"); - System.out.println("DisplayHeaderAlignment: [" + dct.getDisplayHeaderAlignment() + "]"); - System.out.println("OrderSeq(): [" + dct.getOrderSeq() + "]"); - System.out.println("Visible: [" + dct.isVisible() + "]"); - System.out.println("Calculated: [" + dct.isCalculated() + "]"); - System.out.println("ColType: [" + dct.getColType() + "]"); - System.out.println("ColFormat: [" + dct.getColFormat() + "]"); - System.out.println("GroupBreak: [" + dct.isGroupBreak() + "]"); - System.out.println("OrderBySeq: [" + dct.getOrderBySeq() + "]"); - System.out.println("OrderByAscDesc: [" + dct.getOrderByAscDesc() + "]"); - System.out.println("DisplayTotal: [" + dct.getDisplayTotal() + "]"); - System.out.println("ColOnChart: [" + dct.getColOnChart() + "]"); - System.out.println("ChartSeq: [" + dct.getChartSeq() + "]"); - System.out.println("ChartColor: [" + dct.getChartColor() + "]"); - System.out.println("DrillDownType: [" + dct.getDrillDownType() + "]"); - System.out.println("DrillDownURL: [" + dct.getDrillDownURL() + "]"); - System.out.println("DrillDownParams: [" + dct.getDrillDownParams() + "]"); - System.out.println("Comment: [" + dct.getComment() + "]"); - - if (dct.getColFilterList() != null) - for (Iterator iter = dct.getColFilterList().getColFilter().iterator(); iter - .hasNext();) - printColFilterType((ColFilterType) iter.next()); - - System.out.println("SemaphoreId: [" + dct.getSemaphoreId() + "]"); - System.out.println("DbColType: [" + dct.getDbColType() + "]"); - System.out.println("------------------------------------------------"); - } // printDataColumnType - - public void printDataSourceType(DataSourceType dst) { - System.out.println("------------------------------------------------"); - System.out.println("Data Source"); - System.out.println("------------------------------------------------"); - System.out.println("TableId: [" + dst.getTableId() + "]"); - System.out.println("TableName: [" + dst.getTableName() + "]"); - System.out.println("TablePK: [" + dst.getTablePK() + "]"); - System.out.println("DisplayName: [" + dst.getDisplayName() + "]"); - System.out.println("RefTableId: [" + dst.getRefTableId() + "]"); - System.out.println("RefDefinition: [" + dst.getRefDefinition() + "]"); - System.out.println("Comment: [" + dst.getComment() + "]"); - - for (Iterator iter = dst.getDataColumnList().getDataColumn().iterator(); iter - .hasNext();) - printDataColumnType((DataColumnType) iter.next()); - - System.out.println("------------------------------------------------"); - } // printDataSourceType - - public void print() { - System.out.println("------------------------------------------------"); - System.out.println("ReportWrapper object"); - System.out.println("------------------------------------------------"); - System.out.println("PageSize: [" + getPageSize() + "]"); - System.out.println("ReportType: [" + getReportType() + "]"); - System.out.println("ReportName: [" + getReportName() + "]"); - System.out.println("ReportDescr: [" + getReportDescr() + "]"); - System.out.println("ChartType: [" + getChartType() + "]"); - System.out.println("ChartTypeFixed: [" + getChartTypeFixed() + "]"); - //System.out.println("ChartLeftAxisLabel: [" + getChartLeftAxisLabel() + "]"); - //System.out.println("ChartRightAxisLabel: [" + getChartRightAxisLabel() + "]"); - System.out.println("ChartWidth: [" + getChartWidth() + "]"); - System.out.println("ChartHeight: [" + getChartHeight() + "]"); - System.out.println("Public: [" + isPublic() + "]"); - System.out.println("CreateId: NOT USED ANYMORE[" + /* getCreateId()+ */"]"); - System.out.println("CreateDate: NOT USED ANYMORE[" + /* getCreateDate()+ */"]"); - System.out.println("ReportSQL: [" + getReportSQL() + "]"); - System.out.println("ReportTitle: [" + getReportTitle() + "]"); - System.out.println("DbInfo: [" + getDBInfo() + "]"); - System.out.println("ReportSubTitle: [" + getReportSubTitle() + "]"); - System.out.println("ReportHeader: [" + getReportHeader() + "]"); - System.out.println("ReportFooter: [" + getReportFooter() + "]"); - System.out.println("NumFormCols: [" + getNumFormCols() + "]"); - System.out.println("DisplayOptions: [" + getDisplayOptions() + "]"); - System.out.println("Comment: [" + getComment() + "]"); - - for (Iterator iter = cr.getDataSourceList().getDataSource().iterator(); iter.hasNext();) - printDataSourceType((DataSourceType) iter.next()); - - if (cr.getFormFieldList() != null) - for (Iterator iter = cr.getFormFieldList().getFormField().iterator(); iter - .hasNext();) - printFormFieldType((FormFieldType) iter.next()); - - if (cr.getSemaphoreList() != null) - for (Iterator iter = cr.getSemaphoreList().getSemaphore().iterator(); iter - .hasNext();) - printSemaphoreType((SemaphoreType) iter.next()); - - System.out.println("------------------------------------------------"); - System.out.println("ReportWrapper object end"); - System.out.println("------------------------------------------------"); - } // print - - private int getIntValue(String value, int defaultValue) { - int iValue = defaultValue; - try { - iValue = Integer.parseInt(value); - } catch (Exception e) { - } - - return iValue; - } // getIntValue - public static String replaceNewLine( String strSource, String strFind, String chrReplace ) - { - // buffer to hold the target string after replacement is done. - StringBuffer sbfTemp = new StringBuffer(); - - try - { - // for each occurrence of strFind in strSource, replace it with chrReplace. - int intIndex = strSource.indexOf( strFind, 0 ); - - // check if there is any instace of strFind in strSource - if( intIndex >= 0 ) - { - // holds the index from where the search is supposed to happen. - int intStart = 0; - - // size of the source string - int intTotalSize = strSource.length(); - - while( intStart < intTotalSize && - ( ( intIndex = strSource.indexOf( strFind, intStart ) ) >= 0 ) ) - { - // check if strFind is at the beginning... i.e., at index intStart - if( intIndex == intStart ) - { - /* - * starts with strFind...just append chrReplace - * to the target - */ - sbfTemp.append( chrReplace ); - } - else - { - // append the sub-string...plus chrReplace - sbfTemp.append( strSource.substring( intStart, intIndex ) ); - sbfTemp.append( chrReplace ); - } - - // advance string index - intStart = intIndex + strFind.length(); - } - - // append the last portion of the source string. - sbfTemp.append( strSource.substring( intStart ) ); - } - else - { - // strFind not found... just copy the text as it is. - sbfTemp.append( strSource ); - } - } - catch( Exception expGeneral ) - { - // in case of any exception, return the source string as it is. - sbfTemp = new StringBuffer( strSource ); - } - - return sbfTemp.toString(); - } - - /*folder id*/ - public String getFolderId() { - return nvl(cr.getFolderId()).length()>0?cr.getFolderId():"NULL"; - } - public void setFolderId(String folderId ) { - cr.setFolderId(folderId); - } - - public String addZero(String num) { - int numInt = 0; - try { - numInt = Integer.parseInt(num); - }catch(NumberFormatException ex){ - numInt = 0; - } - if(numInt < 10) return "0"+numInt; - else return ""+numInt; - } - - public String getIsDailyMFScheduleAllowed() { - return cr.getIsDailyMFScheduleAllowed(); - } - - public void setIsDailyMFScheduleAllowed(String isDailyMFScheduleAllowed) { - cr.setIsDailyMFScheduleAllowed(isDailyMFScheduleAllowed); - } - - public String getIsDailyScheduleAllowed() { - return cr.getIsDailyScheduleAllowed(); - } - - public void setIsDailyScheduleAllowed(String isDailyScheduleAllowed) { - cr.setIsDailyScheduleAllowed(isDailyScheduleAllowed); - } - - public String getIsHourlyScheduleAllowed() { - return cr.getIsHourlyScheduleAllowed(); - } - - public void setIsHourlyScheduleAllowed(String isHourlyScheduleAllowed) { - cr.setIsHourlyScheduleAllowed(isHourlyScheduleAllowed); - } - - public String getIsMonthlyScheduleAllowed() { - return cr.getIsMonthlyScheduleAllowed(); - } - - public void setIsMonthlyScheduleAllowed(String isMonthlyScheduleAllowed) { - cr.setIsMonthlyScheduleAllowed(isMonthlyScheduleAllowed); - } - - public String getIsOneTimeScheduleAllowed() { - return cr.getIsOneTimeScheduleAllowed(); - } - - public void setIsOneTimeScheduleAllowed(String isOneTimeScheduleAllowed) { - cr.setIsOneTimeScheduleAllowed(isOneTimeScheduleAllowed); - } - - public String getIsWeeklyScheduleAllowed() { - return cr.getIsWeeklyScheduleAllowed(); - } - - public void setIsWeeklyScheduleAllowed(String isWeeklyScheduleAllowed) { - cr.setIsWeeklyScheduleAllowed(isWeeklyScheduleAllowed); - - } - - public static boolean isNull(String a) { - if ((a == null) || (a.length() == 0) || a.equalsIgnoreCase("null")) - return true; - else - return false; - } - - public int getDependsOnFormFieldFlag(DataColumnType dc, HashMap formValues) { - int flag = 0; - String fieldValue = ""; - if(nvl(dc.getDependsOnFormField()).length()>0 && nvl(dc.getDependsOnFormField()).indexOf("[")!=-1) { - if(formValues != null) { - Set set = formValues.entrySet(); - String value = ""; - for(Iterator iter1 = set.iterator(); iter1.hasNext(); ) { - Map.Entry entry = (Entry) iter1.next(); - value = (String) entry.getValue(); - if (dc.getDependsOnFormField().equals("["+entry.getKey()+"]")) { - fieldValue = nvl(value); - - if (fieldValue.length()>0 && !fieldValue.equals("NULL")) { - flag = 0; - } else { - flag = 1; - } - - } - } - } - } - - return flag; - } - - /* Datamining Getter Setter */ - - public String getClassifier() { - return (cr.getDataminingOptions()!=null?cr.getDataminingOptions().getClassifier():""); - } - - public void setClassifier( String classifier) { - cr.getDataminingOptions().setClassifier(classifier); - } - - - public int getForecastingPeriod() { - return (cr.getDataminingOptions()!=null? new Integer(cr.getDataminingOptions().getForecastingUnits()).intValue():-1); - } - - public void setForecastingPeriod( String period) { - cr.getDataminingOptions().setForecastingUnits(period); - } - - public String getForecastingTimeFormat() { - return (cr.getDataminingOptions()!=null?cr.getDataminingOptions().getTimeformat():""); - } - - public void setForecastingTimeFormat( String format) { - cr.getDataminingOptions().setTimeformat(format); - } - - /** - * Get Number of Columns to Frozen in Data Grid - */ - - public int getFrozenColumns() { - return cr.getFrozenColumns()==null?0:cr.getFrozenColumns(); - } - - public String getFrozenColumnId() { - int noOfColumns = cr.getFrozenColumns()==null?0:cr.getFrozenColumns(); - if(noOfColumns != 0) { - List reportCols = getOnlyVisibleColumns(); - int colIdx = 0; - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - ++colIdx; - DataColumnType dc = (DataColumnType) iter.next(); - if(colIdx == noOfColumns) { - - return dc.getColId(); - } else continue; - } // for - return ""; - } else return ""; - - } - - /** - * Set Number of Columns to Frozen in Data Grid - */ - - public void setFrozenColumns( int frozenColumns) { - cr.setFrozenColumns(frozenColumns); - } - - /** - * @return the reportSQLWithRowNum for ZK Support - */ - public String getReportSQLWithRowNum() { - return reportSQLWithRowNum; - } - - /** - * @param reportSQLWithRowNum the reportSQLWithRowNum to set for ZK Support - */ - public void setReportSQLWithRowNum(String reportSQLWithRowNum) { - this.reportSQLWithRowNum = reportSQLWithRowNum; - } - - //used for Zk sort - public void setReportSQLOnlyFirstPart(String reportSQLOnlyFirstPart) { - this.reportSQLOnlyFirstPart = reportSQLOnlyFirstPart; - } - - public String getReportSQLOnlyFirstPart() { - return this.reportSQLOnlyFirstPart; - } - - public String getTemplateFile() throws RaptorException { - return ReportLoader.getTemplateFile(getReportID()); - } - - public String getPdfImg() { - return cr.getPdfImgLogo(); - } - - - public String getEmptyMessage() { - String emptyMessage = cr.getEmptyMessage(); - if(nvl(emptyMessage).length()<=0) - emptyMessage = Globals.getReportEmptyMessage(); - return emptyMessage; - } - - public void setPdfImg(String img_loc) { - cr.setPdfImgLogo(img_loc); - } - - public void setEmptyMessage(String emptyMessage) { - cr.setEmptyMessage(emptyMessage); - } - - public void setDrillReportIdForChart(String reportId) { - //(cr.getChartDrillOptions()!=null)?cr.getChartDrillOptions().setDrillReportId():""; - cr.getChartDrillOptions().setDrillReportId(reportId); - } - - public String getDrillReportIdForChart() { - return (cr.getChartDrillOptions()!=null)?cr.getChartDrillOptions().getDrillReportId():""; - } - - public void setDrillXAxisFormField(String formField) { - //(cr.getChartDrillOptions()!=null)?cr.getChartDrillOptions().setDrillReportId():""; - cr.getChartDrillOptions().setDrillXAxisFormField(formField); - } - - public String getDrillXAxisFormField() { - return (cr.getChartDrillOptions()!=null)?cr.getChartDrillOptions().getDrillXAxisFormField():""; - } - - public void setDrillYAxisFormField(String formField) { - //(cr.getChartDrillOptions()!=null)?cr.getChartDrillOptions().setDrillReportId():""; - cr.getChartDrillOptions().setDrillYAxisFormField(formField); - } - - public String getDrillYAxisFormField() { - return (cr.getChartDrillOptions()!=null)?cr.getChartDrillOptions().getDrillYAxisFormField():""; - } - - public void setDrillSeriesFormField(String formField) { - //(cr.getChartDrillOptions()!=null)?cr.getChartDrillOptions().setDrillReportId():""; - cr.getChartDrillOptions().setDrillSeriesFormField(formField); - } - - public String getDrillSeriesFormField() { - return (cr.getChartDrillOptions()!=null)?cr.getChartDrillOptions().getDrillSeriesFormField():""; - } - - public boolean isEnhancedPaginationNeeded() { - List reportCols = getAllColumns(); - - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dc = (DataColumnType) iter.next(); - if (dc.isEnhancedPagination()!=null && dc.isEnhancedPagination().booleanValue()) - return true; - } // for - return false; - } - - public DataColumnType getColumnWhichNeedEnhancedPagination() { - List reportCols = getAllColumns(); - - for (Iterator iter = reportCols.iterator(); iter.hasNext();) { - DataColumnType dc = (DataColumnType) iter.next(); - if (dc.isEnhancedPagination()!=null && dc.isEnhancedPagination().booleanValue()) - return dc; - } // for - return null; - } - - public void setDataGridAlign(String align) { - cr.setDataGridAlign(align); - } - - - public String getDataGridAlign() { - return (cr.getDataGridAlign()!=null)?cr.getDataGridAlign():"left"; - } - - public void setWidthNoColumn(String width) { - cr.setWidthNoColumn(width); - } - - - public String getWidthNoColumn() { - return (cr.getWidthNoColumn()!=null)?cr.getWidthNoColumn():"30px"; - } - - public void setWholeSQL(String sql) { - wholeSQL = sql; - } - public String getWholeSQL() { - return wholeSQL; - } - -} // ReportWrapper -- cgit 1.2.3-korg