summaryrefslogtreecommitdiffstats
path: root/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base')
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ChartSeqComparator.java49
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameColLookup.java37
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameList.java183
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameLookup.java204
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameSql.java400
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameValue.java100
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/NameComparator.java34
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/OrderBySeqComparator.java37
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/OrderSeqComparator.java37
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportSecurity.java404
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportUserRole.java117
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportWrapper.java5719
12 files changed, 0 insertions, 7321 deletions
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ChartSeqComparator.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ChartSeqComparator.java
deleted file mode 100644
index 5ec6edfa..00000000
--- a/ecomp-sdk/epsdk-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/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameColLookup.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameColLookup.java
deleted file mode 100644
index 0c149a45..00000000
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameColLookup.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.*;
-
-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/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameList.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameList.java
deleted file mode 100644
index 1a502fa6..00000000
--- a/ecomp-sdk/epsdk-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.*;
-
-import org.openecomp.portalsdk.analytics.error.RaptorException;
-import org.openecomp.portalsdk.analytics.system.*;
-
-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/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameLookup.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameLookup.java
deleted file mode 100644
index 7bee36e6..00000000
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameLookup.java
+++ /dev/null
@@ -1,204 +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.*;
-
-import org.openecomp.portalsdk.analytics.error.RaptorException;
-import org.openecomp.portalsdk.analytics.model.*;
-import org.openecomp.portalsdk.analytics.model.runtime.*;
-import org.openecomp.portalsdk.analytics.system.*;
-import org.openecomp.portalsdk.analytics.util.*;
-
-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/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameSql.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameSql.java
deleted file mode 100644
index 173cfb11..00000000
--- a/ecomp-sdk/epsdk-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 <I>RAPTOR (Rapid Application Programming Tool for OLAP Reporting)</I>
- * 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.*;
-
-import org.openecomp.portalsdk.analytics.controller.ActionHandler;
-import org.openecomp.portalsdk.analytics.error.RaptorException;
-import org.openecomp.portalsdk.analytics.model.*;
-import org.openecomp.portalsdk.analytics.model.runtime.*;
-import org.openecomp.portalsdk.analytics.system.*;
-import org.openecomp.portalsdk.analytics.util.*;
-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/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameValue.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameValue.java
deleted file mode 100644
index d7566ab7..00000000
--- a/ecomp-sdk/epsdk-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 readOnly the value to set
- */
- public void setReadOnly(boolean readOnly) {
- this.readOnly = readOnly;
- }
-
-
-} // IdNameValue
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/NameComparator.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/NameComparator.java
deleted file mode 100644
index 84be8bed..00000000
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/NameComparator.java
+++ /dev/null
@@ -1,34 +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.model.base.IdNameValue;
-
-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/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/OrderBySeqComparator.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/OrderBySeqComparator.java
deleted file mode 100644
index 7ea43c98..00000000
--- a/ecomp-sdk/epsdk-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/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/OrderSeqComparator.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/OrderSeqComparator.java
deleted file mode 100644
index e1f6d523..00000000
--- a/ecomp-sdk/epsdk-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/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportSecurity.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportSecurity.java
deleted file mode 100644
index 0466c1cd..00000000
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportSecurity.java
+++ /dev/null
@@ -1,404 +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.*;
-import java.sql.*;
-import java.util.*;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-
-import org.openecomp.portalsdk.analytics.controller.ActionHandler;
-import org.openecomp.portalsdk.analytics.error.*;
-import org.openecomp.portalsdk.analytics.model.base.*;
-import org.openecomp.portalsdk.analytics.model.definition.*;
-import org.openecomp.portalsdk.analytics.system.*;
-import org.openecomp.portalsdk.analytics.util.*;
-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/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportUserRole.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportUserRole.java
deleted file mode 100644
index 3563fc9a..00000000
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportUserRole.java
+++ /dev/null
@@ -1,117 +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.*;
-import java.sql.*;
-import java.util.*;
-
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-
-import org.openecomp.portalsdk.analytics.controller.ActionHandler;
-import org.openecomp.portalsdk.analytics.error.*;
-import org.openecomp.portalsdk.analytics.model.base.*;
-import org.openecomp.portalsdk.analytics.model.definition.*;
-import org.openecomp.portalsdk.analytics.system.*;
-import org.openecomp.portalsdk.analytics.util.*;
-import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
-
-@Entity
-public class ReportUserRole extends org.openecomp.portalsdk.analytics.RaptorObject implements Serializable {
-
- /**
- *
- */
- private static final long serialVersionUID = 1L;
-
- @Id
- private Long repId = null;
-
- @Id
- @GeneratedValue(strategy=GenerationType.AUTO)
- private Long orderNo = null;
-
- private Long roleId = null;
-
- private Long userId = null;
-
- private String readOnlyYn = null;
-
- public ReportUserRole() {
- super();
- }
-
- public ReportUserRole(Long repId, Long orderNo, Long roleId, Long userId, String readOnlyYn) {
- super();
- this.repId = repId;
- this.orderNo = orderNo;
- this.roleId = roleId;
- this.userId = userId;
- this.readOnlyYn = readOnlyYn;
- }
-
- public Long getRepId() {
- return repId;
- }
-
- public void setRepId(Long repId) {
- this.repId = repId;
- }
-
- public Long getOrderNo() {
- return orderNo;
- }
-
- public void setOrderNo(Long orderNo) {
- this.orderNo = orderNo;
- }
-
- public Long getRoleId() {
- return roleId;
- }
-
- public void setRoleId(Long roleId) {
- this.roleId = roleId;
- }
-
- public Long getUserId() {
- return userId;
- }
-
- public void setUserId(Long userId) {
- this.userId = userId;
- }
-
- public String getReadOnlyYn() {
- return readOnlyYn;
- }
-
- public void setReadOnlyYn(String readOnlyYn) {
- this.readOnlyYn = readOnlyYn;
- }
-
-
-
-} \ No newline at end of file
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportWrapper.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportWrapper.java
deleted file mode 100644
index 27967249..00000000
--- a/ecomp-sdk/epsdk-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;
-
-/**<HR/>
- * This class is part of <B><I>RAPTOR (Rapid Application Programming Tool for OLAP Reporting)</I></B><BR/>
- * <HR/>
- *
- * --------------------------------------------------------------------------------------------------<BR/>
- * <B>ReportWrapper.java</B> - This is the base class for the RAPTOR. This involves in creating,<BR/>
- * modifying, running RAPTOR reports.<BR/>
- * --------------------------------------------------------------------------------------------------<BR/>
- *
- *
- * <U>Change Log</U><BR/><BR/>
- *
- * 31-Aug-2009 : Version 8.5.1 (Sundar);<UL><LI> All the elements in the meta xml is copied to the target reports. </LI></UL>
- * 18-Aug-2009 : Version 8.5.1 (Sundar);<UL><LI> request Object is passed to prevent caching user/roles - Datamining/Hosting. </LI></UL>
- * 27-Jul-2009 : Version 8.4 (Sundar); <UL><LI> verifySQLBasedReportAccess method checks for Admin user instead of super user. </LI></UL>
- * 09-Jul-2009 : Version 8.4 (Sundar); <UL><LI> Bug due to parsing and removing formfields from "and" is bulletproofed to the right "and" to which the formfield is associated. </LI></UL>
- * 08-Jul-2009 : Version 8.4 (Sundar); <UL><LI> Bug due to parsing and removing formfields when there is no parameter for Daytona specific database is resolved. </LI></UL>
- * 29-Jun-2009 : Version 8.4 (Sundar); <UL><LI> isLastSeriesALineChart() and setLastSeriesALineChart(String value) method have been added for the Bar Chart enhancements. </LI></UL>
- * 23-Jun-2009 : Version 8.4 (Sundar); <UL><LI> check for cr.getChartAdditionalOptions() for null value is added.</LI></UL>
- * 22-Jun-2009 : Version 8.4 (Sundar); <UL><LI> Wrapper functions to call JAXB were added. These Wrapper
- * functions are related to the Pareto chart, Time Difference Chart, Multiple Pie Chart and generic Chart Options.</LI></UL>
- *
- */
-
-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.getTimeFormat()]", Globals.getTimeFormat());
- 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<Item> getChartValueColumnsListModelList( int filter, HashMap formValues) { / *filter; all=0;create without new chart =1; createNewChart=2 * /
- List reportCols = getAllColumns();
-
- ArrayList chartValueCols = new ArrayList();
- ListModelList<Item> chartValueListModelList = new ListModelList<Item>();
- 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() + "&nbsp;"
- + 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<DataColumnType> 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<ds.getColumnCount(); k++) {
- if(dct.getColId().toUpperCase().trim().equals(ds.getColumnName(k).trim())) {
- reportCols.add(dct);
- continue outer;
- }
- }
- }
-
- if (getFormFieldList() != null) {
- String paramValue = "";
- for (Iterator iter = getFormFieldList().getFormField().iterator(); iter.hasNext();) {
- FormFieldType fft = (FormFieldType) iter.next();
- if(fft.isGroupFormField()!=null && fft.isGroupFormField().booleanValue()) {
- paramValue = Utils.oracleSafe(nvl(paramValues
- .getParamValue(fft.getFieldId())));
- outer:
- for (Iterator iter1 = reportCols1.iterator(); iter1.hasNext();) {
- DataColumnType dct = (DataColumnType) iter1.next();
- if(("["+fft.getFieldName()+ "]").equals(dct.getColName().trim())) {
- dct.setDisplayName(paramValue);
- continue outer;
- }
- }
-
-
- }
- }
- }
-
- }
-
- for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
- DataColumnType dc = (DataColumnType) iter.next();
- //TODO: commented if (dc.isVisible()) {
- if (colNames.length() > 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 = partSql+ " LIMIT "+ String.valueOf(startRow)+" , "+ String.valueOf(endRow);
- } 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(endRow)));
- } else if(getDBType().equals(AppConstants.POSTGRESQL)) {
- partSql = partSql + " LIMIT "+ String.valueOf(endRow)+" , "+ 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<CustomReportType> doc = (javax.xml.bind.JAXBElement<CustomReportType>) 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