summaryrefslogtreecommitdiffstats
path: root/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model')
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/DataCache.java524
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/ReportHandler.java6605
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/ReportLoader.java1061
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/SearchHandler.java490
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ChartSeqComparator.java49
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameColLookup.java35
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameList.java183
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameLookup.java198
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameSql.java400
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameValue.java100
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/NameComparator.java32
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/OrderBySeqComparator.java37
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/OrderSeqComparator.java37
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportSecurity.java407
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportWrapper.java5719
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/DBColumnInfo.java76
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/DrillDownParamDef.java111
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/Marker.java79
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/ReportDefinition.java1465
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/ReportLogEntry.java89
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/ReportMap.java82
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/ReportSchedule.java1407
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/SecurityEntry.java44
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/TableJoin.java67
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/TableSource.java101
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/pdf/PageEvent.java256
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/pdf/PdfBean.java242
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/pdf/PdfReportHandler.java1890
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/BarChartOptions.java75
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/CategoryAxisJSON.java24
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartD3Helper.java4064
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartGen.java73
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartJSON.java448
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartJSONHelper.java1550
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartWebRuntime.java420
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/CommonChartOptions.java81
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ErrorJSONRuntime.java43
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/FlexTimeSeriesChartOptions.java38
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/FormField.java2111
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/FormatProcessor.java375
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/Item.java54
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/LookupDBInfo.java89
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/RangeAxisJSON.java93
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportFormFields.java366
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportJSONRuntime.java694
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportParamDateValueParser.java194
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportParamValues.java370
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportParamValuesForPDFExcel.java419
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportRuntime.java3618
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/TimeSeriesChartOptions.java62
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/VisualManager.java68
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/ReportSearchResult.java84
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/ReportSearchResultJSON.java251
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/SearchResult.java213
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/SearchResultColumn.java254
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/SearchResultField.java212
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/SearchResultJSON.java80
-rw-r--r--ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/SearchResultRow.java92
58 files changed, 0 insertions, 38301 deletions
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/DataCache.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/DataCache.java
deleted file mode 100644
index 5bf4e003..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/DataCache.java
+++ /dev/null
@@ -1,524 +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;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Vector;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.openecomp.portalsdk.analytics.error.RaptorException;
-import org.openecomp.portalsdk.analytics.error.ReportSQLException;
-import org.openecomp.portalsdk.analytics.model.base.IdNameValue;
-import org.openecomp.portalsdk.analytics.model.definition.DBColumnInfo;
-import org.openecomp.portalsdk.analytics.model.definition.TableJoin;
-import org.openecomp.portalsdk.analytics.model.definition.TableSource;
-import org.openecomp.portalsdk.analytics.model.runtime.LookupDBInfo;
-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;
-
-public class DataCache extends org.openecomp.portalsdk.analytics.RaptorObject {
- private static Vector dataViewActions = null;
-
- private static Vector publicReportIdNames = null;
-
- private static Vector privateReportIdNames = null;
-
- private static Vector groupReportIdNames = null;
-
- private static Vector reportTableSources = null;
-
- private static Vector reportTableJoins = null;
-
- private static HashMap reportTableDbColumns = new HashMap();
-
- private static HashMap reportFieldDbLookups = null;
-
- public DataCache() {
- }
-
- public static Vector getDataViewActions() throws RaptorException {
- if (dataViewActions == null)
- /* try */{
- dataViewActions = new Vector();
-
- //DataSet ds = DbUtils
- // .executeQuery("SELECT ts.web_view_action FROM cr_table_source ts WHERE ts.web_view_action IS NOT NULL");
-
- String sql = Globals.getTheDataViewActions();
- DataSet ds = DbUtils
- .executeQuery(sql);
-
- for (int i = 0; i < ds.getRowCount(); i++)
- dataViewActions.add(ds.getString(i, 0));
- } // catch(Exception e) {}
-
- return dataViewActions;
- } // getDataViewActions
-
- public static Vector getPublicReportIdNames() throws RaptorException {
- // if(publicReportIdNames==null) => needs to be up-to-date at any time
- /* try */{
- publicReportIdNames = new Vector();
-
- //DataSet ds = DbUtils
- // .executeQuery("SELECT rep_id, title FROM cr_report WHERE public_yn = 'Y' ORDER BY title");
-
- String sql = Globals.getThePublicReportIdNames();
- DataSet ds = DbUtils
- .executeQuery(sql);
- for (int i = 0; i < ds.getRowCount(); i++)
- publicReportIdNames
- .add(new IdNameValue(ds.getString(i, 0), ds.getString(i, 1)));
- } // catch(Exception e) {}
-
- return publicReportIdNames;
- } // getPublicReportIdNames
-
- public static Vector getPrivateAccessibleReportIdNames(String user_id, Vector userRoles) throws RaptorException {
- // if(publicReportIdNames==null) => needs to be up-to-date at any time
- /* try */{
- privateReportIdNames = new Vector();
-
- // StringBuffer query = new StringBuffer(" SELECT cr.rep_id, cr.title FROM cr_report cr ");
- String sql = Globals.getThePrivateAccessibleNamesA();
- //query.append(" WHERE cr.rep_id not in (select rep_id from cr_report_access cra where user_id = '"+ user_id+"' ");
- sql = sql.replace("[user_id]", user_id);
- StringBuffer query = new StringBuffer(sql);
- for (int i = 0; i < userRoles.size(); i++) {
- if( i == 0){
- // query.append(" OR role_id in (");
- query.append(Globals.getThePrivateAccessibleNamesIf());
- }
- if(i < (userRoles.size()-1))
- query.append((String)userRoles.get(i) + ",");
-
- else if(i == (userRoles.size()-1))
- query.append((String)userRoles.get(i)+")");
-
- }
- //query.append(" ) ");
- //query.append(" AND public_yn = 'N' and cr.owner_id = '"+ user_id+"' order by 2 ");
- sql = Globals.getThePrivateAccessibleNamesB();
- sql = sql.replace("[user_id]", user_id);
- query.append(sql);
-
- DataSet ds = DbUtils
- .executeQuery(query.toString() );
-
- for (int i = 0; i < ds.getRowCount(); i++)
- privateReportIdNames
- .add(new IdNameValue(ds.getString(i, 0), ds.getString(i, 1)));
- } // catch(Exception e) {}
-
- return privateReportIdNames;
- } // getPrivateAccessibleReportIdNames
-
-
- public static Vector getGroupAccessibleReportIdNames(String user_id, Vector userRoles) throws RaptorException {
- // if(publicReportIdNames==null) => needs to be up-to-date at any time
- /* try */{
- groupReportIdNames = new Vector();
-
- //StringBuffer query = new StringBuffer(" SELECT cr.rep_id, cr.title FROM cr_report cr ");
- //query.append(" WHERE cr.rep_id in (select rep_id from cr_report_access cra where user_id = '"+ user_id+"' ");
- String sql = Globals.getTheGroupAccessibleNamesA();
- sql = sql.replace("[user_id]", user_id);
- StringBuffer query = new StringBuffer(sql);
-
- for (int i = 0; i < userRoles.size(); i++) {
- if( i == 0)
- query.append(Globals.getThePrivateAccessibleNamesIf());
- if(i < (userRoles.size()-1))
- query.append((String)userRoles.get(i) + ",");
- else if(i == (userRoles.size()-1))
- query.append((String)userRoles.get(i)+")");
-
- }
- //query.append(" ) ");
- //query.append(" AND public_yn = 'N' order by 2 ");
-
- query.append(Globals.getTheGroupAccessibleNamesB());
- DataSet ds = DbUtils
- .executeQuery(query.toString() );
-
- for (int i = 0; i < ds.getRowCount(); i++)
- groupReportIdNames
- .add(new IdNameValue(ds.getString(i, 0), ds.getString(i, 1)));
- } // catch(Exception e) {}
-
- return groupReportIdNames;
- } // getGroupAccessibleReportIdNames
-
-
- public static TableSource getTableSource(String tableName, String dBinfo, Vector userRoles, String userId, HttpServletRequest request) throws RaptorException {
- try {
- Vector tableSources = null;
- if(Globals.getRestrictTablesByRole()) {
- tableSources = getReportTableSources(userRoles, dBinfo, userId, request);
- } else {
- tableSources = getReportTableSources(dBinfo);
- }
- for (Iterator iter = getReportTableSources(dBinfo).iterator(); iter.hasNext();) {
- TableSource tableSource = (TableSource) iter.next();
- if (tableSource.getTableName().equals(tableName))
- return tableSource;
- } // for
- } catch (RaptorException e) {
- throw new RaptorException(e.getMessage(), e.getCause());
- }
-
- return null;
- }
- public static void refreshReportTableSources() {
- reportTableSources = null;
- }
-
- public static Vector getReportTableSources(String dBInfo) throws RaptorException {
- if (reportTableSources == null)
- /* try */{
- reportTableSources = new Vector();
- //String query = " SELECT table_name, display_name, pk_fields, web_view_action, large_data_source_yn, filter_sql FROM cr_table_source ";
- String query = Globals.getTheReportTableSourcesA();
- if (dBInfo != null && !dBInfo.equals(AppConstants.DB_LOCAL)){
- //query += " where SOURCE_DB= '" + dBInfo + "'";
- query+=Globals.getTheReportTableSourcesWhere();
- query = query.replace("[dBInfo]", dBInfo);
- }
- else {
- //query += " where SOURCE_DB is null or SOURCE_DB = '" + AppConstants.DB_LOCAL
- // + "'";
- query+=Globals.getTheReportTableSourcesIf();
- query = query.replace("[AppConstants.DB_LOCAL]", AppConstants.DB_LOCAL);
- }
- //query += " ORDER BY table_name ";
- query+=Globals.getTheReportTableSourcesElse();
- DataSet ds = DbUtils.executeQuery(query);
- for (int i = 0; i < ds.getRowCount(); i++)
- reportTableSources.add(new TableSource(ds.getString(i, 0), ds.getString(i, 1),
- ds.getString(i, 2), ds.getString(i, 3), ds.getString(i, 4), ds
- .getString(i, 5)));
- } // catch(Exception e) {}
-
- return reportTableSources;
- } // getReportTableSources
-
- public static Vector getReportTableSources(Vector userRoles, String dBInfo, String userId, HttpServletRequest request)
- throws RaptorException {
- if (!Globals.getRestrictTablesByRole())
- return getReportTableSources(dBInfo);
- Vector userTableSources = new Vector();
- if (userRoles.size() > 0)
- /* try */{
- StringBuffer sb = new StringBuffer();
- for (Iterator iter = userRoles.iterator(); iter.hasNext();) {
- sb.append((sb.length() == 0) ? "(" : ", ");
- sb.append(iter.next());
- } // for
- sb.append(")");
- //StringBuffer query = new StringBuffer("SELECT ts.table_name, ts.display_name, ts.pk_fields, ");
- // query.append(" ts.web_view_action, ts.large_data_source_yn, ts.filter_sql FROM cr_table_source ts ");
- // query.append (" WHERE ");
- StringBuffer query = new StringBuffer(Globals.grabTheReportTableA());
- //if(!(AppUtils.isAdminUser(userId) || AppUtils.isSuperUser(userId)))
- // query.append (" (EXISTS (SELECT 1 FROM cr_table_role tr WHERE tr.table_name=ts.table_name AND tr.role_id IN "+sb.toString()+")) and ");
- //+ " OR (NOT EXISTS (SELECT 1 FROM cr_table_role tr WHERE tr.table_name=ts.table_name)) ";
- if (dBInfo != null && !dBInfo.equals(AppConstants.DB_LOCAL)){
- String d_sql = Globals.grabTheReportTableIf();
- d_sql = d_sql.replace("[dBInfo]", dBInfo);
- //query.append( " ts.SOURCE_DB= '" + dBInfo + "'");
- query.append(d_sql);
- }
- else{
- //query.append(" (ts.SOURCE_DB is null or ts.SOURCE_DB = '"+ AppConstants.DB_LOCAL + "')");
- String d_sql = Globals.grabTheReportTableElse();
- d_sql = d_sql.replace("[AppConstants.DB_LOCAL]", AppConstants.DB_LOCAL);
- query.append(d_sql);
- }
- if(!(AppUtils.isAdminUser(request) || AppUtils.isSuperUser(request))) {
- //query.append(" minus ");
-
- // query.append(" SELECT ts.table_name, ts.display_name, ts.pk_fields, ts.web_view_action, ");
- // query.append(" ts.large_data_source_yn, ts.filter_sql from cr_table_source ts where ");
- // query.append(" table_name in (select table_name from cr_table_role where role_id not IN "+sb.toString()+") and ");
- String e_sql = Globals.grabTheReportTableB();
- e_sql = e_sql.replace("[sb.toString()]", sb.toString());
- query.append(e_sql);
-
- if (dBInfo != null && !dBInfo.equals(AppConstants.DB_LOCAL)){
-
- // query.append( " ts.SOURCE_DB= '" + dBInfo + "'");
- String d_sql = Globals.grabTheReportTableIf();
- d_sql = d_sql.replace("[dBInfo]", dBInfo);
- query.append(d_sql);
- }
- else{
- //query.append(" (ts.SOURCE_DB is null or ts.SOURCE_DB = '"+ AppConstants.DB_LOCAL + "')");
- String d_sql = Globals.grabTheReportTableElse();
- d_sql = d_sql.replace("[AppConstants.DB_LOCAL]", AppConstants.DB_LOCAL);
- query.append(d_sql);
- }
- }
- //query.append(" ORDER BY 1 ");
- query.append(Globals.grabTheReportTableC());
- DataSet ds = DbUtils.executeQuery(query.toString());
- for (int i = 0; i < ds.getRowCount(); i++)
- userTableSources.add(new TableSource(ds.getString(i, 0), ds.getString(i, 1),
- ds.getString(i, 2), ds.getString(i, 3), ds.getString(i, 4), ds
- .getString(i, 5)));
- } // catch(Exception e) {}
-
- return userTableSources;
- } // getReportTableSources
-
- public static Vector getReportTableJoins() throws RaptorException {
- if (reportTableJoins == null)
- /* try */{
- reportTableJoins = new Vector();
-
- //DataSet ds = DbUtils
- // .executeQuery("SELECT src_table_name, dest_table_name, join_expr FROM cr_table_join");
- DataSet ds = DbUtils
- .executeQuery(Globals.getTheReportTableCrJoin());
- for (int i = 0; i < ds.getRowCount(); i++)
- reportTableJoins.add(new TableJoin(ds.getString(i, 0), ds.getString(i, 1), ds
- .getString(i, 2)));
- } // catch(Exception e) {}
-
- return reportTableJoins;
- } // getReportTableJoins
-
- public static Vector getReportTableJoins(Vector userRoles) throws RaptorException {
- if (!Globals.getRestrictTablesByRole())
- return getReportTableJoins();
-
- Vector userTableJoins = new Vector();
- if (userRoles.size() > 0)
- /* try */{
- StringBuffer sb = new StringBuffer();
- for (Iterator iter = userRoles.iterator(); iter.hasNext();) {
- sb.append((sb.length() == 0) ? "(" : ", ");
- sb.append(iter.next());
- } // for
- sb.append(")");
-
- /*DataSet ds = DbUtils
- .executeQuery("SELECT tj.src_table_name, tj.dest_table_name, tj.join_expr FROM cr_table_join tj "
- + "WHERE ((EXISTS (SELECT 1 FROM cr_table_role trs WHERE trs.table_name=tj.src_table_name AND trs.role_id IN "
- + sb.toString()
- + ")) "
- + "OR (NOT EXISTS (SELECT 1 FROM cr_table_role trs WHERE trs.table_name=tj.src_table_name))) "
- + "AND ((EXISTS (SELECT 1 FROM cr_table_role trd WHERE trd.table_name=tj.dest_table_name AND trd.role_id IN "
- + sb.toString()
- + ")) "
- + "OR (NOT EXISTS (SELECT 1 FROM cr_table_role trd WHERE trd.table_name=tj.dest_table_name)))");*/
-
-
- String f_sql = Globals.getTheReportTableJoins();
- f_sql = f_sql.replace("[sb.toString()]", sb.toString());
-
- DataSet ds = DbUtils
- .executeQuery(f_sql);
-
- for (int i = 0; i < ds.getRowCount(); i++)
- userTableJoins.add(new TableJoin(ds.getString(i, 0), ds.getString(i, 1), ds
- .getString(i, 2)));
- } // catch(Exception e) {}
-
- return userTableJoins;
- } // getReportTableJoins
-
- private static void processDollarFields(Vector tableDbColumns) {
- int i = 0;
- while (i < tableDbColumns.size()) {
- DBColumnInfo dbci = (DBColumnInfo) tableDbColumns.get(i);
- if (dbci.getColName().equals("DL$MONTH")) {
- tableDbColumns.remove(i);
- dbci.setLabel("Data Month/Year");
- tableDbColumns.add(0, dbci);
- i++;
- } else if (dbci.getColName().indexOf('$') >= 0)
- tableDbColumns.remove(i);
- else
- i++;
- } // while
- } // processDollarFields
-
- private static String generateReportTableDbUserColumnSQL(String tableName) {
- StringBuffer sb = new StringBuffer();
- // sb.append("SELECT a.table_name, a.column_name, a.data_type, a.label ");
- //sb.append(" FROM user_column_def a ");
- // sb.append("WHERE a.table_name = '" + tableName.toUpperCase() + "' ");
- // sb.append("ORDER BY a.column_id");
-
- String sql = Globals.getGenerateReportTableCol();
- sql = sql.replace("[tableName.toUpperCase()]", tableName.toUpperCase());
- sb.append(sql);
-
- return sb.toString();
- }//generateReportTableDbUserColumnSQL
- private static String generateReportTableDbColumnsSQL(String tableName, String maskSql) {
- StringBuffer sb = new StringBuffer();
- //sb.append("SELECT utc.table_name, utc.column_name, utc.data_type, ");
- sb.append(Globals.getGenerateDbUserSqlA());
- if (maskSql == null){
- //sb.append("utc.column_name label ");
- sb.append(Globals.getGenerateDbUserSqlIf());
- }
- else{
- //sb.append("nvl(x.label, utc.column_name) label ");
- //sb.append("FROM user_tab_columns utc ");
- sb.append(Globals.getGenerateDbUserSqlElse());
- }
- if (maskSql != null) {
- sb.append(", (");
- sb.append(maskSql);
- sb.append(") AS x ");
- }
- //sb.append("WHERE utc.table_name = '" + tableName.toUpperCase() + "' ");
- String g_sql = Globals.getGenerateDbUserSqlB();
- g_sql = g_sql.replace("[tableName.toUpperCase()]", tableName.toUpperCase());
- sb.append(g_sql);
- if (maskSql != null){
- //sb.append(" AND utc.table_name = x.table_name AND utc.column_name = x.column_name ");
- sb.append(Globals.getGenerateDbUserSqlC());
- }
- //sb.append("ORDER BY utc.column_id");
- sb.append(Globals.getGenerateDbUserSqlD());
- //System.out.println(sb.toString());
- return sb.toString();
- } // generateReportTableDbColumnsSQL
-
- public static synchronized Vector getReportTableDbColumns(String tableName,
- String remoteDbPrefix) throws RaptorException {
- Vector tableDbColumns = null;
- if(reportTableDbColumns!=null)
- tableDbColumns = (Vector) reportTableDbColumns.get(tableName);
- else
- reportTableDbColumns = new HashMap();
- if (tableDbColumns == null)
- /* try */{
- tableDbColumns = new Vector();
-
- String maskSql = AppUtils.getReportDbColsMaskSQL();
- DataSet ds = null;
- if(Globals.getUserColDef()) {
- try {
- ds = ConnectionUtils.getDataSet(
- generateReportTableDbUserColumnSQL(tableName),AppConstants.DB_LOCAL);
- }
- catch (ReportSQLException ex) {
- throw new ReportSQLException("No Such Table. Please create table or make user_column_def in raptor.properties as \"false\"");
- }
-
- }
- else if(maskSql!=null){
- try {
- ds = ConnectionUtils.getDataSet(
- generateReportTableDbColumnsSQL(tableName, maskSql), remoteDbPrefix);
- }
- catch(ReportSQLException ex){
- throw new ReportSQLException("Field related table is not present in the database. Please make \"use_field_table\"" +
- " as \"no\" in the raptor_app_<framework>.properties");}
- }
- if (ds==null || ds.getRowCount() == 0) {
- // In case there are no records in the FIELDS table
- ds = ConnectionUtils.getDataSet(generateReportTableDbColumnsSQL(tableName,
- null), remoteDbPrefix);
- }
- for (int i = 0; i < ds.getRowCount(); i++)
- tableDbColumns.add(new DBColumnInfo(ds.getString(i, 0), ds.getString(i, 1), ds
- .getString(i, 2), ds.getString(i, 3)));
-
- processDollarFields(tableDbColumns);
- reportTableDbColumns.put(tableName, tableDbColumns);
- } // catch(Exception e) {}
-
- return tableDbColumns;
- } // getReportTableDbColumns
-
- public static synchronized String getReportTableDbColumnType(String tableName,
- String columnName, String dbInfo) throws RaptorException {
- for (Iterator iter = getReportTableDbColumns(tableName, dbInfo).iterator(); iter
- .hasNext();) {
- DBColumnInfo dbCol = (DBColumnInfo) iter.next();
- if (dbCol.getColName().equals(columnName))
- return dbCol.getColType();
- } // for
-
- return null;
- } // getReportTableDbColumnType
-
- public static synchronized LookupDBInfo getLookupTable(String tableName, String fieldName) throws RaptorException {
- if (reportFieldDbLookups == null)
- try {
- String sql = AppUtils.getReportDbLookupsSQL();
-
- if (sql != null) {
- DataSet ds = DbUtils.executeQuery(sql);
- reportFieldDbLookups = new HashMap();
- for (int i = 0; i < ds.getRowCount(); i++) {
- String tName = ds.getString(i, 0);
- String fName = ds.getString(i, 1);
- reportFieldDbLookups.put(tName + '|' + fName, new LookupDBInfo(tName,
- fName, ds.getString(i, 2), ds.getString(i, 3), ds.getString(i,
- 4)));
- } // for
- } // if
- } catch (Exception e) { throw new RaptorException(e.getMessage(), e.getCause());
- }
-
- LookupDBInfo lookupDBInfo = null;
- if (reportFieldDbLookups != null)
- lookupDBInfo = (LookupDBInfo) reportFieldDbLookups
- .get(tableName + '|' + fieldName);
-
- if (lookupDBInfo == null)
- lookupDBInfo = new LookupDBInfo(tableName, fieldName, tableName, fieldName,
- fieldName);
-
- return lookupDBInfo;
- } // getLookupTable
-
- // public static void setRemoteDBPrefix (String remoteDBPrefix) {
- // _remoteDBPrefix = remoteDBPrefix;
- // }
- //
- // public static String getRemoteDBPrefix () {
- // return _remoteDBPrefix;
- // }
-
- public static void refreshAll() {
- DataCache.dataViewActions = null;
- DataCache.privateReportIdNames = null;
- DataCache.publicReportIdNames = null;
- DataCache.reportFieldDbLookups = null;
- DataCache.reportTableDbColumns = null;
- DataCache.reportTableJoins = null;
- DataCache.reportTableSources = null;
- AppUtils.resetUserCache();
- }
-} // DataCache
-
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/ReportHandler.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/ReportHandler.java
deleted file mode 100644
index c663e69c..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/ReportHandler.java
+++ /dev/null
@@ -1,6605 +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
- * ===========================================================================================
- *
- * -------------------------------------------------------------------------------------------
- * ReportHandler.java - This class is used to generate reports in Excel using POI and also to
- * create ReportRuntime and ReportDefinition object using report id.
- * -------------------------------------------------------------------------------------------
- *
- *
- * Changes
- * -------
- * 18-Aug-2009 : Version 8.5.1 (Sundar);<UL><LI> request Object is passed to prevent caching user/roles - Datamining/Hosting. </LI></UL>
- * 14-Jul-2009 : Version 8.4 (Sundar); <UL><LI> Signature for generating excel method has been changed to add the report name as sheet name. </LI>
- * <LI> Dashboard reports can be downloaded with each report as a separate sheet. </LI>
- * </UL>
- * 08-Jun-2009 : Version 8.3 (Sundar); <UL><LI> Short datatype is replaced with default integer datatype to create
- * row as short is not expoting more than 32768 rows. </LI></UL>
- *
- */
-package org.openecomp.portalsdk.analytics.model;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.PrintWriter;
-import java.io.StringReader;
-import java.io.UnsupportedEncodingException;
-import java.io.Writer;
-import java.sql.Connection;
-import java.sql.ResultSet;
-import java.sql.ResultSetMetaData;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.text.ParsePosition;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.Enumeration;
-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.TreeMap;
-import java.util.Vector;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Future;
-import java.util.concurrent.ScheduledThreadPoolExecutor;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-import java.util.zip.ZipOutputStream;
-
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
-
-import org.apache.poi.hssf.usermodel.HSSFCell;
-import org.apache.poi.hssf.usermodel.HSSFCellStyle;
-import org.apache.poi.hssf.usermodel.HSSFDateUtil;
-import org.apache.poi.hssf.usermodel.HSSFFont;
-import org.apache.poi.hssf.usermodel.HSSFFooter;
-import org.apache.poi.hssf.usermodel.HSSFHeader;
-import org.apache.poi.hssf.usermodel.HSSFRow;
-import org.apache.poi.hssf.usermodel.HSSFSheet;
-import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.hssf.util.HSSFColor;
-import org.apache.poi.hssf.util.Region;
-import org.apache.poi.poifs.filesystem.POIFSFileSystem;
-import org.apache.poi.ss.usermodel.CreationHelper;
-import org.apache.poi.ss.usermodel.DateUtil;
-import org.apache.poi.ss.usermodel.Header;
-import org.apache.poi.ss.usermodel.HorizontalAlignment;
-import org.apache.poi.ss.usermodel.IndexedColors;
-import org.apache.poi.ss.util.CellRangeAddress;
-import org.apache.poi.ss.util.CellReference;
-import org.apache.poi.xssf.usermodel.XSSFCell;
-import org.apache.poi.xssf.usermodel.XSSFCellStyle;
-import org.apache.poi.xssf.usermodel.XSSFDataFormat;
-import org.apache.poi.xssf.usermodel.XSSFFont;
-import org.apache.poi.xssf.usermodel.XSSFRow;
-import org.apache.poi.xssf.usermodel.XSSFSheet;
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.openecomp.portalsdk.analytics.controller.ErrorHandler;
-import org.openecomp.portalsdk.analytics.error.RaptorException;
-import org.openecomp.portalsdk.analytics.error.ReportSQLException;
-import org.openecomp.portalsdk.analytics.model.base.IdNameValue;
-import org.openecomp.portalsdk.analytics.model.definition.ReportDefinition;
-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.ExecuteQuery;
-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.ExcelColorDef;
-import org.openecomp.portalsdk.analytics.util.HtmlStripper;
-import org.openecomp.portalsdk.analytics.util.Log;
-import org.openecomp.portalsdk.analytics.util.Utils;
-import org.openecomp.portalsdk.analytics.view.ColumnHeader;
-import org.openecomp.portalsdk.analytics.view.ColumnHeaderRow;
-import org.openecomp.portalsdk.analytics.view.DataRow;
-import org.openecomp.portalsdk.analytics.view.DataValue;
-import org.openecomp.portalsdk.analytics.view.HtmlFormatter;
-import org.openecomp.portalsdk.analytics.view.ReportData;
-import org.openecomp.portalsdk.analytics.view.RowHeader;
-import org.openecomp.portalsdk.analytics.view.RowHeaderCol;
-import org.openecomp.portalsdk.analytics.xmlobj.DataColumnType;
-import org.openecomp.portalsdk.analytics.xmlobj.DataSourceType;
-import org.openecomp.portalsdk.analytics.xmlobj.FormatList;
-import org.openecomp.portalsdk.analytics.xmlobj.FormatType;
-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;
-
-import com.lowagie.text.Document;
-import com.lowagie.text.Paragraph;
-import com.lowagie.text.html.simpleparser.HTMLWorker;
-import com.lowagie.text.html.simpleparser.StyleSheet;
-import com.lowagie.text.pdf.PdfPTable;
-//import javax.servlet.RequestDispatcher;
-
-public class ReportHandler extends org.openecomp.portalsdk.analytics.RaptorObject {
-
- EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(ReportHandler.class);
-
- public ReportHandler() {
- }
-
- private String SHEET_NAME = "";
- private static final String XML_ENCODING = "UTF-8";
- private static int font_size = 10;
- private static int font_header_title_size = 12;
- private static int font_header_descr_size = 9;
- private static int font_footer_size = 9;
-
-
- private HashMap loadStyles(ReportRuntime rr, HSSFWorkbook wb) {
- HSSFCellStyle styleDefault = wb.createCellStyle();
- //System.out.println("Load Styles");
- // Style default will be normal with no background
- HSSFFont fontDefault = wb.createFont();
- // The default will be plain .
- fontDefault.setColor((short) HSSFFont.COLOR_NORMAL);
- fontDefault.setFontHeight((short) (font_size / 0.05));
- fontDefault.setFontName("Tahoma");
-
- styleDefault.setAlignment(HSSFCellStyle.ALIGN_CENTER);
- styleDefault.setBorderBottom(HSSFCellStyle.BORDER_THIN);
- styleDefault.setBorderTop(HSSFCellStyle.BORDER_THIN);
- styleDefault.setBorderLeft(HSSFCellStyle.BORDER_THIN);
- styleDefault.setBorderRight(HSSFCellStyle.BORDER_THIN);
- // styleDefault.setFillForegroundColor(HSSFColor.YELLOW.index);
- styleDefault.setFillPattern(HSSFCellStyle.NO_FILL);
- styleDefault.setFont(fontDefault);
-
- HSSFCellStyle styleRed = wb.createCellStyle();
- styleRed.cloneStyleFrom(styleDefault);
- styleRed.setFillForegroundColor((short)HSSFColor.RED.index);
- styleRed.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
- HSSFFont fontRed = wb.createFont();
- fontRed.setColor((short) HSSFColor.WHITE.index);
- fontRed.setFontHeight((short) (font_size / 0.05));
- fontRed.setFontName("Tahoma");
- styleRed.setFont(fontRed);
-
- HSSFCellStyle styleYellow = wb.createCellStyle();
- styleYellow.cloneStyleFrom(styleDefault);
- styleYellow.setFillForegroundColor((short)HSSFColor.YELLOW.index);
- styleYellow.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
- HSSFFont fontYellow = wb.createFont();
- fontYellow.setColor((short) HSSFColor.BLACK.index);
- fontYellow.setFontHeight((short) (font_size / 0.05));
- fontYellow.setFontName("Tahoma");
- styleYellow.setFont(fontYellow);
-
- HSSFCellStyle styleGreen = wb.createCellStyle();
- styleGreen.cloneStyleFrom(styleDefault);
- styleGreen.setFillForegroundColor((short)HSSFColor.GREEN.index);
- styleGreen.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
- HSSFFont fontGreen = wb.createFont();
- fontGreen.setColor((short) HSSFColor.WHITE.index);
- fontGreen.setFontHeight((short) (font_size / 0.05));
- fontGreen.setFontName("Tahoma");
- styleGreen.setFont(fontGreen);
-
-
- ArrayList semColumnList = new ArrayList();
- List dsList = rr.getDataSourceList().getDataSource();
- for (Iterator iter = dsList.iterator(); iter.hasNext();) {
- DataSourceType element = (DataSourceType) iter.next();
- List dcList = element.getDataColumnList().getDataColumn();
- for (Iterator iterator = dcList.iterator(); iterator.hasNext();) {
- DataColumnType element1 = (DataColumnType) iterator.next();
- semColumnList.add(element1.getSemaphoreId());
-
- }
- }
- SemaphoreList semList = rr.getSemaphoreList();
- HashMap hashMapStyles = new HashMap();
- HashMap hashMapFonts = new HashMap();
- hashMapFonts.put("default", fontDefault);
- hashMapFonts.put("red", fontRed);
- hashMapFonts.put("yellow", fontYellow);
- hashMapFonts.put("green", fontGreen);
- hashMapStyles.put("default", styleDefault);
- hashMapStyles.put("red", styleRed);
- hashMapStyles.put("yellow", styleYellow);
- hashMapStyles.put("green", styleGreen);
- HSSFCellStyle cellStyle = null;
- if (semList == null || semList.getSemaphore() == null) {
- return hashMapStyles;
- } else {
- for (Iterator iter = semList.getSemaphore().iterator(); iter.hasNext();) {
- SemaphoreType sem = (SemaphoreType) iter.next();
- if(!semColumnList.contains(sem.getSemaphoreId())) continue;
- //System.out.println("SemphoreId ----> " + sem.getSemaphoreId());
- FormatList fList = sem.getFormatList();
- List formatList = fList.getFormat();
- for (Iterator fIter = formatList.iterator(); fIter.hasNext();) {
- FormatType fmt = (FormatType) fIter.next();
- if(fmt!=null){
- //if (fmt.getLessThanValue().length() > 0) {
- cellStyle = wb.createCellStyle();
- HSSFFont cellFont = wb.createFont();
- //System.out.println("Format Id " + fmt.getFormatId());
- if (nvl(fmt.getBgColor()).length() > 0) {
-// System.out.println("Load Styles " +
-// fmt.getFormatId()
-// + " " +fmt.getBgColor() + " " +
-// ExcelColorDef.getExcelColor(fmt.getBgColor()));
- cellStyle.setFillForegroundColor(ExcelColorDef.getExcelColor(fmt
- .getBgColor()));
- cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
- }
- if (nvl(fmt.getFontColor()).length() > 0) {
- cellFont.setColor(ExcelColorDef.getExcelColor(fmt.getFontColor()));
- } else
- cellFont.setColor((short) HSSFFont.COLOR_NORMAL);
- if (fmt.isBold())
- cellFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
- if (fmt.isItalic())
- cellFont.setItalic(true);
- if (fmt.isUnderline())
- cellFont.setUnderline(HSSFFont.U_SINGLE);
- if(nvl(fmt.getFontFace()).length()>0)
- cellFont.setFontName(fmt.getFontFace());
- else
- cellFont.setFontName("Tahoma");
- //cellFont.setFontHeight((short) (10 / 0.05));
-
- if(nvl(fmt.getFontSize()).length()>0) {
- try {
- //cellFont.setFontHeight((short) (Integer.parseInt(fmt.getFontSize()) / 0.05));
- cellFont.setFontHeight((short) (font_size/0.05));
- } catch(NumberFormatException e){
- cellFont.setFontHeight((short) (font_size / 0.05));//10
- }
- }
- else
- cellFont.setFontHeight((short) (font_size / 0.05));
- cellStyle.setFont(cellFont);
- cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
- cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
- cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
- cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
- cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);
- hashMapStyles.put(fmt.getFormatId(), cellStyle);
- } else {
- hashMapStyles.put(fmt.getFormatId(), styleDefault);
- hashMapStyles.put("default", styleDefault);
- }
- }
-
- }
- }
- return hashMapStyles;
- }
-
- private void paintExcelParams(HSSFWorkbook wb,int rowNum,int col,ArrayList paramsList, String customizedParamInfo, HSSFSheet sheet, String reportTitle, String reportDescr) throws IOException {
- //HSSFSheet sheet = wb.getSheet(getSheetName());
- int cellNum = 0;
- HSSFRow row = null;
- short s1 = 0, s2 = (short) 1;
- HtmlStripper strip = new HtmlStripper();
- // Name Style
- HSSFCellStyle styleName = wb.createCellStyle();
- //styleName.setFillBackgroundColor(HSSFColor.GREY_80_PERCENT.index);
- styleName.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index);
- //styleName.setFillPattern(HSSFCellStyle.SPARSE_DOTS);
- styleName.setAlignment(HSSFCellStyle.ALIGN_CENTER);
- styleName.setBorderBottom(HSSFCellStyle.BORDER_THIN);
- styleName.setBorderTop(HSSFCellStyle.BORDER_THIN);
- styleName.setBorderRight(HSSFCellStyle.BORDER_THIN);
- styleName.setBorderLeft(HSSFCellStyle.BORDER_THIN);
- styleName.setDataFormat((short)0);
- HSSFFont font = wb.createFont();
- font.setFontHeight((short) (font_size / 0.05));
- font.setFontName("Tahoma");
- font.setColor(HSSFColor.BLACK.index);
- font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
- styleName.setFont(font);
- //Data Style
-
- // Create some fonts.
- HSSFFont fontDefault = wb.createFont();
- // Initialize the styles & fonts.
- // The default will be plain .
- fontDefault.setColor((short) HSSFFont.COLOR_NORMAL);
- fontDefault.setFontHeight((short) (font_size / 0.05));
- fontDefault.setFontName("Tahoma");
- fontDefault.setItalic(true);
- // Style default will be normal with no background
- HSSFCellStyle styleValue = wb.createCellStyle();
- styleValue.setDataFormat((short)0);
- styleValue.setAlignment(HSSFCellStyle.ALIGN_CENTER);
- styleValue.setBorderBottom(HSSFCellStyle.BORDER_THIN);
- styleValue.setBorderTop(HSSFCellStyle.BORDER_THIN);
- styleValue.setBorderLeft(HSSFCellStyle.BORDER_THIN);
- styleValue.setBorderRight(HSSFCellStyle.BORDER_THIN);
- // styleValue.setFillForegroundColor(HSSFColor.YELLOW.index);
- styleValue.setFillPattern(HSSFCellStyle.NO_FILL);
- styleValue.setFont(fontDefault);
- HSSFCell cell = null;
- HSSFCellStyle styleDescription = wb.createCellStyle();
- styleDescription.setAlignment(HSSFCellStyle.ALIGN_CENTER);
-// styleDescription.setBorderBottom(HSSFCellStyle.BORDER_THIN);
-// styleDescription.setBorderTop(HSSFCellStyle.BORDER_THIN);
-// styleDescription.setBorderRight(HSSFCellStyle.BORDER_THIN);
-// styleDescription.setBorderLeft(HSSFCellStyle.BORDER_THIN);
- HSSFFont fontDescr = wb.createFont();
- fontDescr.setFontHeight((short) (font_size / 0.05)); //14
- fontDescr.setFontName("Tahoma");
- fontDescr.setColor(HSSFColor.BLACK.index);
- fontDescr.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
- styleDescription.setFont(font);
- HSSFCell cellDescr = null;
- int paramSeq = 0;
- HSSFHeader header = sheet.getHeader();
- StringBuffer strBuf = new StringBuffer();
- if(!Globals.customizeFormFieldInfo() || customizedParamInfo.length()<=0) {
- for (Iterator iter = paramsList.iterator(); iter.hasNext();) {
- IdNameValue value = (IdNameValue) iter.next();
- //System.out.println("\"" + value.getId() + " = " + value.getName() + "\"");
- if(nvl(value.getId()).trim().length()>0 && (!nvl(value.getId()).trim().equals("BLANK"))) {
- paramSeq += 1;
- if(paramSeq <= 1) {
- row = sheet.createRow(++rowNum);
- cell = row.createCell((short) 0);
- sheet.addMergedRegion(new Region(rowNum, s1, rowNum, s2));
- cellDescr = row.createCell((short) 0);
- cellDescr.setCellValue("Run-time Parameters");
- cellDescr.setCellStyle(styleDescription);
-
-
- strBuf.append(reportTitle+"\n");
- //strBuf.append("Run-time Parameters\n");
- }
- row = sheet.createRow(++rowNum);
- cellNum = 0;
- //System.out.println("RowNum " + rowNum + " " + value.getId() + " " +value.getName());
- cell = row.createCell((short) cellNum);
- cell.setCellValue(value.getId());
- cell.setCellStyle(styleName);
- cellNum += 1;
- cell = row.createCell((short) cellNum);
- cell.setCellValue(value.getName().replaceAll("~",","));
- cell.setCellStyle(styleValue);
-
- //strBuf.append(value.getId()+": "+ value.getName()+"\n");
- }
- } //for
- } else {
- strBuf.append(reportTitle+"\n");
- Document document = new Document();
- document.open();
- HTMLWorker worker = new HTMLWorker(document);
- StyleSheet style = new StyleSheet();
- style.loadTagStyle("body", "leading", "16,0");
- ArrayList p = HTMLWorker.parseToList(new StringReader(customizedParamInfo), style);
- String name = "";
- String token = "";
- String value = "";
- String s = "";
- PdfPTable pdfTable = null;
- for (int k = 0; k < p.size(); ++k){
- if(p.get(k) instanceof Paragraph)
- s = ((Paragraph)p.get(k)).toString();
- else { /*if ((p.get(k) instanceof PdfPTable))*/
- pdfTable = ((PdfPTable)p.get(k));
- }
- //todo: Logic for parsing pdfTable should be added after upgrading to iText 5.0.0
- //s = Utils.replaceInString(s, ",", "|");
- s = s.replaceAll(",", "|");
- s = s.replaceAll("~", ",");
- if(s.indexOf(":")!= -1) {
- //System.out.println("|"+s+"|");
- row = sheet.createRow(++rowNum);
- cell = row.createCell((short) 0);
- sheet.addMergedRegion(new Region(rowNum, s1, rowNum, s2));
- cellDescr = row.createCell((short) 0);
- cellDescr.setCellValue("Run-time Parameters");
- cellDescr.setCellStyle(styleDescription);
-
- //strBuf.append("Run-time Parameters\n");
- StringTokenizer st = new StringTokenizer(s.trim(), "|");
- while(st.hasMoreTokens()) {
- token = st.nextToken();
- token = token.trim();
- if (!(token.trim().equals("|") || token.trim().equals("]]") || token.trim().equals("]") || token.trim().equals("[") )) {
- if(token.endsWith(":")) {
- name = token;
- name = name.substring(0, name.length()-1);
- if(name.startsWith("["))
- name = name.substring(1);
- value = st.nextToken();
- if(nvl(value).endsWith("]"))value = nvl(value).substring(0, nvl(value).length()-1);
- } /*else if(name != null && name.length() > 0) {
- value = st.nextToken();
- if(value.endsWith("]]"))value = value.substring(0, value.length()-1);
- }*/
- if(name!=null && name.trim().length()>0) {
- row = sheet.createRow((short) ++rowNum);
- cellNum = 0;
- cell = row.createCell((short) cellNum);
- cell.setCellValue(name.trim());
- cell.setCellStyle(styleName);
- cellNum += 1;
- cell = row.createCell((short) cellNum);
- cell.setCellValue(value.trim());
- cell.setCellStyle(styleValue);
- //strBuf.append(name.trim()+": "+ value.trim()+"\n");
- }
-/* if(token.endsWith(":") && (value!=null && value.trim().length()<=0) && (name!=null && name.trim().length()>0 && name.endsWith(":"))) {
- name = name.substring(0, name.indexOf(":")+1);
- //value = token.substring(token.indexOf(":")+1);
- row = sheet.createRow((short) ++rowNum);
- cellNum = 0;
- cell = row.createCell((short) cellNum);
- cell.setCellValue(name.trim());
- cell.setCellStyle(styleName);
- cellNum += 1;
- cell = row.createCell((short) cellNum);
- cell.setCellValue(value.trim());
- cell.setCellStyle(styleValue);
-
- //strBuf.append(name.trim()+": "+ value.trim()+"\n");
- value = "";
- name = "";
- }
-*/ }
- int cw = 0;
- cw = name.trim().length() + 12;
- // if(i!=cellWidth.size()-1)
- if(sheet.getColumnWidth((short)0)< (short) name.trim().length())
- sheet.setColumnWidth((short)0, (short) name.trim().length());
- if(sheet.getColumnWidth((short)1)< (short) value.trim().length())
- sheet.setColumnWidth((short)1, (short) value.trim().length());
- name = "";
- value = "";
-
- }
-
- try {
- SimpleDateFormat oracleDateFormat = new SimpleDateFormat("MM/dd/yyyy kk:mm:ss");
- Date sysdate = oracleDateFormat.parse(ReportLoader.getSystemDateTime());
- SimpleDateFormat dtimestamp = new SimpleDateFormat(Globals.getScheduleDatePattern());
-
- row = sheet.createRow((short) ++rowNum);
- cellNum = 0;
- cell = row.createCell((short) cellNum);
- cell.setCellValue("Report Date/Time");
- cell.setCellStyle(styleName);
- cellNum += 1;
- cell = row.createCell((short) cellNum);
-
- cell.setCellValue(dtimestamp.format(sysdate)+" "+Globals.getTimeZone());
- cell.setCellStyle(styleValue);
-
- } catch(Exception ex) {
- //ex.printStackTrace();
- }
-
-
- }
- }
-
-
-/* Iterator iter1 = paramsList.iterator();
- s1 = 0; s2 = (short)10;
- if(iter1.hasNext()) {
- row = sheet.createRow((short) ++rowNum);
- cellNum = 0;
- cell = row.createCell((short) cellNum);
- sheet.addMergedRegion(new Region(rowNum, s1, rowNum, s2));
- cell.setCellValue(strip.stripHtml(customizedParamInfo));
- }
-*/
-/* rowNum += 2;
- row = sheet.createRow(rowNum);*/
- } // if
- Iterator iterCheck = paramsList.iterator();
- if(iterCheck.hasNext()) {
- rowNum += 2;
- row = sheet.createRow(rowNum);
- }
- header.setCenter(HSSFHeader.font("Tahoma", "")+ HSSFHeader.fontSize((short) 9)+" " + strBuf.toString());
- HSSFFooter footer = sheet.getFooter();
- footer.setLeft(HSSFFooter.font("Tahoma", "")+ HSSFFooter.fontSize((short) 9)+ "Page " + HSSFFooter.page()
- + " of " + HSSFFooter.numPages() );
- footer.setCenter(HSSFFooter.font("Tahoma", "")+ HSSFFooter.fontSize((short) 9)+Globals.getFooterFirstLine()+"\n"+Globals.getFooterSecondLine());
-
- }
-
-
-
- private int paintExcelData(HSSFWorkbook wb, int rowNum, int col, ReportData rd,
- HashMap styles, ReportRuntime rr, HSSFSheet sheet, String sql_whole, OutputStream sos, HttpServletRequest request) throws RaptorException {
- int mb = 1024*1024;
- Runtime runtime = Runtime.getRuntime();
- int returnValue = 0;
- // HSSFSheet sheet = wb.getSheetAt(0);
- HSSFCellStyle styleDefault = wb.createCellStyle();
- HSSFCellStyle styleNumber = wb.createCellStyle();
- HSSFCellStyle styleDecimalNumber = wb.createCellStyle();
- HSSFCellStyle styleCurrencyNumber = wb.createCellStyle();
- HSSFCellStyle styleCurrencyDecimalNumber = wb.createCellStyle();
- HSSFCellStyle styleDate = wb.createCellStyle();
- HtmlStripper strip = new HtmlStripper();
- //HSSFSheet sheet = wb.getSheet(getSheetName());
- HSSFCellStyle styleDataHeader = wb.createCellStyle();
- // style.setFillBackgroundColor(HSSFColor.AQUA.index);
- styleDataHeader.setFillForegroundColor(HSSFColor.GREY_40_PERCENT.index);
- styleDataHeader.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
- styleDataHeader.setAlignment(HSSFCellStyle.ALIGN_CENTER);
- styleDataHeader.setBorderBottom(HSSFCellStyle.BORDER_THIN);
- styleDataHeader.setBorderTop(HSSFCellStyle.BORDER_THIN);
- styleDataHeader.setBorderRight(HSSFCellStyle.BORDER_THIN);
- styleDataHeader.setBorderLeft(HSSFCellStyle.BORDER_THIN);
- HSSFFont font = wb.createFont();
- font.setFontHeight((short) (font_size / 0.05));
- font.setFontName("Tahoma");
- font.setColor(HSSFColor.BLACK.index);
- styleDataHeader.setFont(font);
- // Column Header
- boolean firstPass = true;
- ArrayList cellWidth = new ArrayList();
- java.util.HashMap dataTypeMap = new java.util.HashMap();
- int cellNum = 0;
- rowNum += 0;
- ColumnHeaderRow chr = null;
- String title = "";
-
-// System.out.println("***************** Size " + rd.reportColumnHeaderRows.size());
-// for (int i = 0; i < rd.reportColumnHeaderRows.size(); i++) {
-// for (int j = 0; j < rd.reportColumnHeaderRows.getColumnHeaderRow(i).size(); j++) {
-// System.out.println("Column Title " + rd.reportColumnHeaderRows.getColumnHeaderRow(i).getColumnHeader(j).getColumnTitle()
-// + " " + rd.reportColumnHeaderRows.getColumnHeaderRow(i).getColumnHeader(j).isVisible());
-// }
-// }
-/* List dsList = rr.getDataSourceList().getDataSource();
- HashMap dataColumnTypeHashMap = new HashMap();
- for (Iterator iter = dsList.iterator(); iter.hasNext();) {
- DataSourceType element = (DataSourceType) iter.next();
- List dcList = element.getDataColumnList().getDataColumn();
- for (Iterator iterator = dcList.iterator(); iterator.hasNext();) {
- DataColumnType element1 = (DataColumnType) iterator.next();
- dataTypeMap.put(element1.getColId(), element1.getColType());
- dataColumnTypeHashMap.put(element1.getColName(), element1);
- }
- }
-*/
- int columnRows = rr.getVisibleColumnCount() - 1;
-
- HttpSession session = request.getSession();
- String drilldown_index = (String) session.getAttribute("drilldown_index");
- int index = 0;
- try {
- index = Integer.parseInt(drilldown_index);
- } catch (NumberFormatException ex) {
- index = 0;
- }
- String header = (String) session.getAttribute("TITLE_"+index);
- String subtitle = (String) session.getAttribute("SUBTITLE_"+index);
- if(nvl(header).length()>0) {
- header = Utils.replaceInString(header, "<BR/>", " ");
- header = Utils.replaceInString(header, "<br/>", " ");
- header = Utils.replaceInString(header, "<br>", " ");
- header = strip.stripHtml(nvl(header).trim());
- subtitle = Utils.replaceInString(subtitle, "<BR/>", " ");
- subtitle = Utils.replaceInString(subtitle, "<br/>", " ");
- subtitle = Utils.replaceInString(subtitle, "<br>", " ");
- subtitle = strip.stripHtml(nvl(subtitle).trim());
- HSSFRow row = sheet.createRow(rowNum);
- cellNum = 0;
- row.createCell((short) cellNum).setCellValue(header);
- sheet.addMergedRegion(new Region(rowNum, (short) cellNum, rowNum, (short) (columnRows)));
- rowNum += 1;
- row = sheet.createRow(rowNum);
- cellNum = 0;
- row.createCell((short) cellNum).setCellValue(subtitle);
- sheet.addMergedRegion(new Region(rowNum, (short) cellNum, rowNum, (short) (columnRows)));
- rowNum += 1;
- }
-
- for (rd.reportColumnHeaderRows.resetNext(); rd.reportColumnHeaderRows.hasNext();) {
- HSSFRow row = sheet.createRow(rowNum);
- cellNum = -1;
- /*if(rd.reportTotalRowHeaderCols!=null) {
- cellNum +=1;
- row.createCell((short) cellNum).setCellValue("Total");
- row.createCell((short) cellNum).setCellStyle(styleDataHeader);
- //row.getCell((short) cellNum).setCellStyle(styleDataHeader);
- }*/
- chr = rd.reportColumnHeaderRows.getNext();
-
- if(nvl(sql_whole).length() <= 0 || (!rr.getReportType().equals(AppConstants.RT_LINEAR))) {
- if(rr.getReportType().equals(AppConstants.RT_CROSSTAB))
- rd.reportRowHeaderCols.resetNext(0);
- else
- rd.reportRowHeaderCols.resetNext(1);
-
- for (; rd.reportRowHeaderCols.hasNext();) {
- cellNum += 1;
- RowHeaderCol rhc = rd.reportRowHeaderCols.getNext();
-
- if (firstPass) {
- title = rhc.getColumnTitle();
- title = Utils.replaceInString(title,"_nl_", " \n");
- row.createCell((short) cellNum).setCellValue(title);
- //commented after bug reported by EPAT 01/17/2015
- //sheet.addMergedRegion(new Region(rowNum, (short) cellNum, rowNum+columnRows, (short) (cellNum)));
- //System.out.println(" **************** Row Header Title " + rhc.getColumnTitle() + " " + cellNum + " " );
- //System.out.println(cellNum + " " + cellWidth.size());
- if (cellWidth.size() > 0 && cellWidth.size() > cellNum) {
- if (((Integer) cellWidth.get(cellNum)).intValue() < rhc
- .getColumnTitle().length())
- cellWidth.set(cellNum, new Integer(title.length()));
- } else
- cellWidth.add(cellNum, new Integer(title.length()));
- row.getCell((short) cellNum).setCellStyle(styleDataHeader);
- }
-
-
- } // for
-
- }
-
- firstPass = false;
-
-/* for(chr.resetNext(); chr.hasNext(); ) {
- ColumnHeader ch = chr.getNext();
- if(ch.isVisible()) {
- cellNum += 1;
- row.createCell((short) cellNum).setCellValue(ch.getColumnTitle());
-// <td align="center"<%= ch.getColumnWidthHtml() %><%= ch.getColSpanHtml() %><%= ch.getRowSpanHtml() %>>
-// <b class=rtableheader><%= ch.getColumnTitleHtml() %></b>
-// </td>
- } // if
- } // for
-*/
-
- //cellNum = -1;
-
-
-// Set mapSet = dataTypeMap.entrySet();
-// Map.Entry me;
-// String element, value ;
-// for (Iterator iter = mapSet.iterator(); iter.hasNext();) {
-// me=(Map.Entry)iter.next();
-// element = (String) me.getKey();
-// value = (String) me.getValue();
-// System.out.println("DataTypeMap " + element + " " + value);
-// }
-
- for (chr.resetNext(); chr.hasNext();) {
- ColumnHeader ch = chr.getNext();
- if(ch.isVisible()) {
- cellNum += 1;
-
- int colSpan = ch.getColSpan()-1;
- title = ch.getColumnTitle();
- title = Utils.replaceInString(title,"_nl_", " \n");
- row.createCell((short) cellNum).setCellValue(title);
- if(colSpan > 0) {
- for ( int k = 1; k <= colSpan; k++ ) {
- row.createCell((short) cellNum+k);
- }
- sheet.addMergedRegion(new Region(rowNum, (short) cellNum, rowNum, (short) (cellNum+colSpan)));
- }
-
-
-
-/* if (cellWidth.size() > cellNum) {
- if (((Integer) cellWidth.get(cellNum)).intValue() < ch
- .getColumnTitle().length())
- cellWidth
- .set((cellNum), new Integer(ch.getColumnTitle().length()));
- } else
- cellWidth.add((cellNum), new Integer(ch.getColumnTitle().length()));
-*/ row.getCell((short) (cellNum)).setCellStyle(styleDataHeader);
- for ( int k = 1; k <= colSpan; k++ ) {
- row.getCell((short) (cellNum+k)).setCellStyle(styleDataHeader);
- }
-
- if(colSpan > 0)
- cellNum += colSpan;
- }
- } // for
-
-/* int cw = 0;
- for (int i = 0; i < cellWidth.size(); i++) {
- cw = ((Integer) cellWidth.get(i)).intValue() + 6;
- sheet.setColumnWidth((short) (i), (short) ((cw * 8) / ((double) 1 / 20)));
- }
-*/
- rowNum += 1;
- } // for
-
-
- // Data
- // Create some cell styles.
- //HSSFCellStyle styleDefault = wb.createCellStyle();
- HSSFCellStyle styleCell = null;
-
- HSSFCellStyle styleTotal = wb.createCellStyle();
- HSSFCellStyle styleCurrencyTotal = wb.createCellStyle();
- HSSFCellStyle styleDefaultTotal = wb.createCellStyle();
- HSSFCellStyle styleCurrencyDecimalNumberTotal = wb.createCellStyle();
- HSSFCellStyle styleDecimalNumberTotal = wb.createCellStyle();
- HSSFCellStyle styleCurrencyNumberTotal = wb.createCellStyle();
-
-
- // Create some fonts.
- HSSFFont fontDefault = wb.createFont();
- HSSFFont fontBold = wb.createFont();
- // Initialize the styles & fonts.
- // The default will be plain .
- fontDefault.setColor((short) HSSFFont.COLOR_NORMAL);
- fontDefault.setFontHeight((short) (font_size / 0.05));
- fontDefault.setFontName("Tahoma");
-
- // The default will be bold black tachoma 10pt text.
- fontBold.setColor((short) HSSFFont.COLOR_NORMAL);
- fontBold.setFontHeight((short) (font_size / 0.05));
- fontBold.setFontName("Tahoma");
- fontBold.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
- // Style default will be normal with no background
- styleDefault.setAlignment(HSSFCellStyle.ALIGN_CENTER);
- styleDefault.setBorderBottom(HSSFCellStyle.BORDER_THIN);
- styleDefault.setBorderTop(HSSFCellStyle.BORDER_THIN);
- styleDefault.setBorderLeft(HSSFCellStyle.BORDER_THIN);
- styleDefault.setBorderRight(HSSFCellStyle.BORDER_THIN);
- // styleDefault.setFillForegroundColor(HSSFColor.YELLOW.index);
- styleDefault.setFillPattern(HSSFCellStyle.NO_FILL);
- styleDefault.setFont(fontDefault);
- styleDefault.setWrapText(true);
- //Number
- styleNumber.setAlignment(HSSFCellStyle.ALIGN_CENTER);
- styleNumber.setBorderBottom(HSSFCellStyle.BORDER_THIN);
- styleNumber.setBorderTop(HSSFCellStyle.BORDER_THIN);
- styleNumber.setBorderLeft(HSSFCellStyle.BORDER_THIN);
- styleNumber.setBorderRight(HSSFCellStyle.BORDER_THIN);
- // styleDefault.setFillForegroundColor(HSSFColor.YELLOW.index);
- styleNumber.setFillPattern(HSSFCellStyle.NO_FILL);
- styleNumber.setFont(fontDefault);
- try {
- styleNumber.setDataFormat((short)0x26);//HSSFDataFormat.getBuiltinFormat("(#,##0_);[Red](#,##0)"));
- } catch (Exception e) {
-
- }
- //Decimal Number
- styleDecimalNumber.setAlignment(HSSFCellStyle.ALIGN_CENTER);
- styleDecimalNumber.setBorderBottom(HSSFCellStyle.BORDER_THIN);
- styleDecimalNumber.setBorderTop(HSSFCellStyle.BORDER_THIN);
- styleDecimalNumber.setBorderLeft(HSSFCellStyle.BORDER_THIN);
- styleDecimalNumber.setBorderRight(HSSFCellStyle.BORDER_THIN);
- // styleDefault.setFillForegroundColor(HSSFColor.YELLOW.index);
- styleDecimalNumber.setFillPattern(HSSFCellStyle.NO_FILL);
- styleDecimalNumber.setFont(fontDefault);
- styleDecimalNumber.setDataFormat((short)0x27);//HSSFDataFormat.getBuiltinFormat("(#,##0.00_);[Red](#,##0.00)"));
-
- //Decimal Number
- styleDecimalNumberTotal.setAlignment(HSSFCellStyle.ALIGN_CENTER);
- styleDecimalNumberTotal.setBorderBottom(HSSFCellStyle.BORDER_THIN);
- styleDecimalNumberTotal.setBorderTop(HSSFCellStyle.BORDER_THIN);
- styleDecimalNumberTotal.setBorderLeft(HSSFCellStyle.BORDER_THIN);
- styleDecimalNumberTotal.setBorderRight(HSSFCellStyle.BORDER_THIN);
- // styleDefault.setFillForegroundColor(HSSFColor.YELLOW.index);
- styleDecimalNumberTotal.setFillPattern(HSSFCellStyle.NO_FILL);
- styleDecimalNumberTotal.setFont(fontBold);
- styleDecimalNumberTotal.setDataFormat((short)0x27);//HSSFDataFormat.getBuiltinFormat("(#,##0.00_);[Red](#,##0.00)"));
-
- //CurrencyNumber
- styleCurrencyDecimalNumber.setAlignment(HSSFCellStyle.ALIGN_CENTER);
- styleCurrencyDecimalNumber.setBorderBottom(HSSFCellStyle.BORDER_THIN);
- styleCurrencyDecimalNumber.setBorderTop(HSSFCellStyle.BORDER_THIN);
- styleCurrencyDecimalNumber.setBorderLeft(HSSFCellStyle.BORDER_THIN);
- styleCurrencyDecimalNumber.setBorderRight(HSSFCellStyle.BORDER_THIN);
- // styleDefault.setFillForegroundColor(HSSFColor.YELLOW.index);
- styleCurrencyDecimalNumber.setFillPattern(HSSFCellStyle.NO_FILL);
- styleCurrencyDecimalNumber.setFont(fontDefault);
- styleCurrencyDecimalNumber.setDataFormat((short)8);//HSSFDataFormat.getBuiltinFormat("($#,##0.00_);[Red]($#,##0.00)"));
-
- //currency number bold
- styleCurrencyDecimalNumberTotal.setAlignment(HSSFCellStyle.ALIGN_CENTER);
- styleCurrencyDecimalNumberTotal.setBorderBottom(HSSFCellStyle.BORDER_THIN);
- styleCurrencyDecimalNumberTotal.setBorderTop(HSSFCellStyle.BORDER_THIN);
- styleCurrencyDecimalNumberTotal.setBorderLeft(HSSFCellStyle.BORDER_THIN);
- styleCurrencyDecimalNumberTotal.setBorderRight(HSSFCellStyle.BORDER_THIN);
- // styleDefault.setFillForegroundColor(HSSFColor.YELLOW.index);
- styleCurrencyDecimalNumberTotal.setFillPattern(HSSFCellStyle.NO_FILL);
- styleCurrencyDecimalNumberTotal.setFont(fontBold);
- styleCurrencyDecimalNumberTotal.setDataFormat((short)8);//HSSFDataFormat.getBuiltinFormat("($#,##0.00_);[Red]($#,##0.00)"));
-
-
- //CurrencyNumber
- styleCurrencyNumber.setAlignment(HSSFCellStyle.ALIGN_CENTER);
- styleCurrencyNumber.setBorderBottom(HSSFCellStyle.BORDER_THIN);
- styleCurrencyNumber.setBorderTop(HSSFCellStyle.BORDER_THIN);
- styleCurrencyNumber.setBorderLeft(HSSFCellStyle.BORDER_THIN);
- styleCurrencyNumber.setBorderRight(HSSFCellStyle.BORDER_THIN);
- // styleDefault.setFillForegroundColor(HSSFColor.YELLOW.index);
- styleCurrencyNumber.setFillPattern(HSSFCellStyle.NO_FILL);
- styleCurrencyNumber.setFont(fontDefault);
- styleCurrencyNumber.setDataFormat((short) 6);//HSSFDataFormat.getBuiltinFormat("($#,##0_);[Red]($#,##0)"));
-
-
- //CurrencyNumber
- styleCurrencyNumberTotal.setAlignment(HSSFCellStyle.ALIGN_CENTER);
- styleCurrencyNumberTotal.setBorderBottom(HSSFCellStyle.BORDER_THIN);
- styleCurrencyNumberTotal.setBorderTop(HSSFCellStyle.BORDER_THIN);
- styleCurrencyNumberTotal.setBorderLeft(HSSFCellStyle.BORDER_THIN);
- styleCurrencyNumberTotal.setBorderRight(HSSFCellStyle.BORDER_THIN);
- // styleDefault.setFillForegroundColor(HSSFColor.YELLOW.index);
- styleCurrencyNumberTotal.setFillPattern(HSSFCellStyle.NO_FILL);
- styleCurrencyNumberTotal.setFont(fontBold);
- styleCurrencyNumberTotal.setDataFormat((short) 6);//HSSFDataFormat.getBuiltinFormat("($#,##0_);[Red]($#,##0)"));
-
- //Date
- styleDate.setAlignment(HSSFCellStyle.ALIGN_CENTER);
- styleDate.setBorderBottom(HSSFCellStyle.BORDER_THIN);
- styleDate.setBorderTop(HSSFCellStyle.BORDER_THIN);
- styleDate.setBorderLeft(HSSFCellStyle.BORDER_THIN);
- styleDate.setBorderRight(HSSFCellStyle.BORDER_THIN);
- // styleDefault.setFillForegroundColor(HSSFColor.YELLOW.index);
- styleDate.setFillPattern(HSSFCellStyle.NO_FILL);
- styleDate.setFont(fontDefault);
- styleDate.setDataFormat((short)0xe);//HSSFDataFormat.getBuiltinFormat("m/d/yy"));
-
- // Style for Total will be Bold with normal font with no background
- styleTotal.setAlignment(HSSFCellStyle.ALIGN_CENTER);
- styleTotal.setBorderBottom(HSSFCellStyle.BORDER_THIN);
- styleTotal.setBorderTop(HSSFCellStyle.BORDER_THIN);
- styleTotal.setBorderLeft(HSSFCellStyle.BORDER_THIN);
- styleTotal.setBorderRight(HSSFCellStyle.BORDER_THIN);
- // styleDefault.setFillForegroundColor(HSSFColor.YELLOW.index);
- styleTotal.setFillPattern(HSSFCellStyle.NO_FILL);
- styleTotal.setDataFormat((short)0x28);//HSSFDataFormat.getBuiltinFormat("(#,##0.00_);[Red](#,##0.00)"));
- styleTotal.setFont(fontBold);
-
- styleCurrencyTotal.setAlignment(HSSFCellStyle.ALIGN_CENTER);
- styleCurrencyTotal.setBorderBottom(HSSFCellStyle.BORDER_THIN);
- styleCurrencyTotal.setBorderTop(HSSFCellStyle.BORDER_THIN);
- styleCurrencyTotal.setBorderLeft(HSSFCellStyle.BORDER_THIN);
- styleCurrencyTotal.setBorderRight(HSSFCellStyle.BORDER_THIN);
- // styleDefault.setFillForegroundColor(HSSFColor.YELLOW.index);
- styleCurrencyTotal.setFillPattern(HSSFCellStyle.NO_FILL);
- styleCurrencyTotal.setDataFormat((short)8);//HSSFDataFormat.getBuiltinFormat("($#,##0.00_);[Red]($#,##0.00)"));
- styleCurrencyTotal.setFont(fontBold);
-
- styleDefaultTotal.setAlignment(HSSFCellStyle.ALIGN_CENTER);
- styleDefaultTotal.setBorderBottom(HSSFCellStyle.BORDER_THIN);
- styleDefaultTotal.setBorderTop(HSSFCellStyle.BORDER_THIN);
- styleDefaultTotal.setBorderLeft(HSSFCellStyle.BORDER_THIN);
- styleDefaultTotal.setBorderRight(HSSFCellStyle.BORDER_THIN);
- // styleDefault.setFillForegroundColor(HSSFColor.YELLOW.index);
- styleDefaultTotal.setFillPattern(HSSFCellStyle.NO_FILL);
- styleDefaultTotal.setDataFormat((short)0x28);
- ////styleDefaultTotal.setDataFormat(HSSFDataFormat.getBuiltinFormat("($#,##0.00_);[Red]($#,##0.00)"));
- styleDefaultTotal.setFont(fontBold);
-
- firstPass = true;
- // Declare a row object reference.
- HSSFRow row = null;
- // Declare a cell object reference.
- HSSFCell cell = null;
- //HSSFCell cellNumber = null;
- //HSSFCell cellCurrencyNumber = null;
- //HSSFCell cellDate = null;
-
- //All the possible combinations of date format
- SimpleDateFormat MMDDYYYYFormat = new SimpleDateFormat("MM/dd/yyyy");
- SimpleDateFormat YYYYMMDDFormat = new SimpleDateFormat("yyyy/MM/dd");
- SimpleDateFormat MONYYYYFormat = new SimpleDateFormat("MMM yyyy");
- SimpleDateFormat MMYYYYFormat = new SimpleDateFormat("MM/yyyy");
- SimpleDateFormat MMMMMDDYYYYFormat = new SimpleDateFormat("MMMMM dd, yyyy");
- SimpleDateFormat YYYYMMDDDASHFormat = new SimpleDateFormat("yyyy-MM-dd");
- SimpleDateFormat timestampFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- SimpleDateFormat DDMONYYYYFormat = new SimpleDateFormat("dd-MMM-yyyy");
- SimpleDateFormat MONTHYYYYFormat = new SimpleDateFormat("MMMMM, yyyy");
- SimpleDateFormat MMDDYYYYHHMMSSFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
- SimpleDateFormat MMDDYYYYHHMMFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm");
- SimpleDateFormat YYYYMMDDHHMMSSFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
- SimpleDateFormat YYYYMMDDHHMMFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm");
- SimpleDateFormat DDMONYYYYHHMMSSFormat = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
- SimpleDateFormat DDMONYYYYHHMMFormat = new SimpleDateFormat("dd-MMM-yyyy HH:mm");
- SimpleDateFormat DDMONYYHHMMFormat = new SimpleDateFormat("dd-MMM-yy HH:mm");
- SimpleDateFormat MMDDYYFormat = new SimpleDateFormat("MM/dd/yy");
- SimpleDateFormat MMDDYYHHMMFormat = new SimpleDateFormat("MM/dd/yy HH:mm");
- SimpleDateFormat MMDDYYHHMMSSFormat = new SimpleDateFormat("MM/dd/yy HH:mm:ss");
- SimpleDateFormat MMDDYYYYHHMMZFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm z");
- SimpleDateFormat MMMMMDDYYYYHHMMSS = new SimpleDateFormat("MMMMM-dd-yyyy HH:mm:ss");
-
-
-
-
- ResultSet rs = null;
- Connection conn = null;
- Statement st = null;
- ResultSetMetaData rsmd = null;
- CreationHelper createHelper = wb.getCreationHelper();
-
- if(nvl(sql_whole).length() >0 && rr.getReportType().equals(AppConstants.RT_LINEAR)) {
- try {
- conn = ConnectionUtils.getConnection(rr.getDbInfo());
- st = conn.createStatement();
- System.out.println("************* Map Whole SQL *************");
- System.out.println(sql_whole);
- System.out.println("*****************************************");
- rs = st.executeQuery(sql_whole);
- rsmd = rs.getMetaData();
- int numberOfColumns = rsmd.getColumnCount();
- HashMap colHash = new HashMap();
- DataRow dr = null;
- int j = 0;
- int rowCount = 0;
- while(rs.next()) {
- rowCount++;
- row = sheet.createRow(rowNum);
- cellNum = -1;
- colHash = new HashMap();
- for (int i = 1; i <= numberOfColumns; i++) {
- colHash.put(rsmd.getColumnLabel(i).toUpperCase(), strip.stripHtml(rs.getString(i)));
- }
- rd.reportDataRows.resetNext();
- dr = rd.reportDataRows.getNext();
- j = 0;
- //if(rowCount%1000 == 0) wb.write(sos);
-
- /*if(rd.reportTotalRowHeaderCols!=null) {
- //cellNum = -1;
- //for (rd.reportRowHeaderCols.resetNext(); rd.reportRowHeaderCols.hasNext();) {
- cellNum += 1;
- //RowHeaderCol rhc = rd.reportRowHeaderCols.getRowHeaderCol(0);
- //if (firstPass)
- // rhc.resetNext();
- //RowHeader rh = rhc.getRowHeader(rowCount-1);
- row.createCell((short) cellNum).setCellValue(rowCount);
- row.getCell((short) cellNum).setCellStyle(styleDefault);
- if (firstPass)
- cellWidth.add(cellNum, new Integer((rowCount+"").length()));
- else
- cellWidth.set(cellNum, new Integer((rowCount+"").length()));
-
- //} // for
- }*/
- firstPass = false;
- //cellNum = -1;
- for (dr.resetNext(); dr.hasNext();j++) {
- //for (chr.resetNext(); chr.hasNext();) {
- //ColumnHeader ch = chr.getNext();
- styleCell = null;
- DataValue dv = dr.getNext();
- HtmlFormatter htmlFormat = dv.getCellFormatter();
- if ((dr.isRowFormat() && !dv.isCellFormat()) && styles != null)
- styleCell = (HSSFCellStyle) styles.get(nvl(dr.getFormatId(),"default"));
- if (htmlFormat != null && dv.getFormatId() != null && styles != null)
- styleCell = (HSSFCellStyle) styles.get(nvl(dv.getFormatId(),"default"));
- String value = nvl((String)colHash.get(dv.getColId().toUpperCase()));
-
- boolean bold = false;
-
- if(dv.isVisible()) {
- cellNum += 1;
- cell = row.createCell((short) cellNum);
- //System.out.println("Stripping HTML 1");
- //cell.setCellValue(strip.stripHtml(dv.getDisplayValue()));
- String dataType = (String) (dataTypeMap.get(dv.getColId()));
- //System.out.println("Value " + value + " " + (( dataType !=null && dataType.equals("DATE")) || (dv.getColName()!=null && dv.getColName().toLowerCase().endsWith("date"))) );
- if (dataType!=null && dataType.equals("NUMBER")){
- //cellNumber = row.createCell((short) cellNum);
- //cellNumber.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
- //cellNumber.setCellValue(dv.getDisplayValue());
- //cellCurrencyNumber = row.createCell((short) cellNum);
- int zInt = 0;
- if (value.equals("null")){
- cell.setCellValue(zInt);
- }else{
-
- if ((value.indexOf("."))!= -1){
- if ((value.trim().startsWith("$")) || (value.trim().startsWith("-$") )) {
-
- //if (dv.getDisplayValue().startsWith("$")){
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("($#,##0.00);($#,##0.00)"));
- String tempDollar = dv.getDisplayValue().trim();
- tempDollar = tempDollar.replaceAll(" ", "").substring(0);
- tempDollar = tempDollar.replaceAll("\\$", "").substring(0);
- //System.out.println("SUBSTRING |" + tempDollar);
- //System.out.println("Before copy Value |" + tempDollar);
- //tempDollar = String.copyValueOf(tempDollar.toCharArray(), 1, tempDollar.length()-1);
- //System.out.println("After copy Value |" + tempDollar);
- if ((tempDollar.indexOf(","))!= -1){
- tempDollar = tempDollar.replaceAll(",", "");
- }
- //System.out.println("The final string 1 is "+tempDollar);
- double tempDoubleDollar = 0.0;
- try {
- tempDoubleDollar = Double.parseDouble(tempDollar);
- if(styleCell!=null) {
- styleCell.setDataFormat((short) 8);//HSSFDataFormat.getBuiltinFormat("($#,##0.00_);[Red]($#,##0.00)"));
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleCurrencyDecimalNumber);
- cell.setCellValue(tempDoubleDollar);
- } catch (NumberFormatException ne) {
- if(styleCell!=null) {
- styleCell.setWrapText(true);
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleDefault);
- //cell.setCellStyle(styleDefault);
- cell.setCellValue(tempDollar);
- }
- }else{
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0.00"));
- double tempDouble = 0.0;
- try {
- tempDouble = Double.parseDouble(value);
- if(styleCell!=null) {
- styleCell.setDataFormat((short)0x28);//HSSFDataFormat.getBuiltinFormat("(#,##0.00_);[Red](#,##0.00)"));
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleDecimalNumber);
- cell.setCellValue(tempDouble);
- } catch (NumberFormatException ne) {
- if(styleCell!=null) {
- styleCell.setWrapText(true);
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleDefault);
- cell.setCellValue(value);
- }
-
- }
- }else {
- if (!(value.equals(""))){
- if ((value.trim().startsWith("$")) || (value.trim().startsWith("-$") )) {
- //if (dv.getDisplayValue().startsWith("$")){
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("($#,##0.00);($#,##0.00)"));
- String tempInt = value.trim();
- tempInt = tempInt.replaceAll(" ", "").substring(0);
- tempInt = tempInt.replaceAll("\\$", "").substring(0);
- //System.out.println("SUBSTRING |" + tempInt);
- //System.out.println("Before copy Value |" + tempInt);
- //tempInt = String.copyValueOf(tempInt.toCharArray(), 1, tempInt.length()-1);
- //System.out.println("After copy Value |" + tempInt);
- if ((tempInt.indexOf(","))!= -1){
- tempInt = tempInt.replaceAll(",", "");
- }
- //System.out.println("The final string INT is "+tempInt);
- Long tempIntDollar = 0L;
- try {
- tempIntDollar = Long.parseLong(tempInt);
- if(styleCell!=null) {
- styleCell.setDataFormat((short) 6);//HSSFDataFormat.getBuiltinFormat("($#,##0_);[Red]($#,##0)"));
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleCurrencyNumber);
- cell.setCellValue(tempIntDollar);
- } catch (NumberFormatException ne) {
- if(styleCell!=null) {
- styleCell.setWrapText(true);
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleDefault);
- cell.setCellValue(tempInt);
- }
- }else{
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0.00"));
- String tempStr = value.trim();
- if ((tempStr.indexOf(","))!= -1){
- tempStr = tempStr.replaceAll(",", "");
- }
- Long temp = 0L;
-
- try {
- temp = Long.parseLong(tempStr);
- if(styleCell!=null) {
- styleCell.setDataFormat((short) 0x26);//HSSFDataFormat.getBuiltinFormat("(#,##0_);[Red](#,##0)"));
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleNumber);
- cell.setCellValue(temp);
- } catch (NumberFormatException ne) {
- if(styleCell!=null) {
- styleCell.setWrapText(true);
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleDefault);
- cell.setCellValue(tempStr);
- }
-
-
- }
- //int temp = Integer.parseInt(value.trim());
- // cell.setCellValue(temp);
- //}else{
- // cell.setCellValue(strip.stripHtml(value));
- //}
- }
- }
- }
-
- }else if ( ( dataType !=null && dataType.equals("DATE")) || (dv.getDisplayName()!=null && dv.getDisplayName().toLowerCase().endsWith("date")) ||
- (dv.getColId()!=null && dv.getColId().toLowerCase().endsWith("date")) ||
- (dv.getColName()!=null && dv.getColName().toLowerCase().endsWith("date")) ) {
- //cellDate = row.createCell((short) cellNum);
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("mm/dd/yy"));
-
- if(styleCell!=null) {
- styleCell.setDataFormat((short) 0xe);//HSSFDataFormat.getBuiltinFormat("m/d/yy"));
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleDate);
- //String MY_DATE_FORMAT = "yyyy-MM-dd";
- //value = nvl(value).length()<=0?nvl(dv.getDisplayValue()):value;
- Date date = null;
- int flag = 0;
- date = MMDDYYHHMMSSFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/d/yy h:mm:ss"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/d/yy h:mm"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/d/yy"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYYYHHMMSSFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/d/yyyy h:mm:ss"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYYYHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/d/yyyy h:mm"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/d/yyyy"));
- flag = 1;
- }
- if(date==null)
- date = YYYYMMDDFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("yyyy/m/d"));
- flag = 1;
- }
- if(date==null)
- date = timestampFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("yyyy-m-d h:mm:ss")); //yyyy-MM-dd HH:mm:ss
- flag = 1;
- }
- if(date==null)
- date = MONYYYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("mmm yyyy"));
- flag = 1;
- }
- if(date==null)
- date = MMYYYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/yyyy"));
- flag = 1;
- }
- if(date==null)
- date = MMMMMDDYYYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("mmm/d/yyyy"));
- flag = 1;
- }
- if(date==null)
- date = MONTHYYYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("mmm/yyyy"));
- flag = 1;
- }
- if(date==null)
- date = YYYYMMDDHHMMSSFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("yyyy/m/d h:mm:ss"));
- flag = 1;
- }
- if(date==null)
- date = YYYYMMDDDASHFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("yyyy-m-d"));
- flag = 1;
- }
- if(date==null)
- date = YYYYMMDDHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("yyyy/m/d h:mm"));
- flag = 1;
- }
- if(date==null)
- date = DDMONYYYYHHMMSSFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("d-mmm-yyyy h:mm:ss"));
- flag = 1;
- }
- if(date==null)
- date = DDMONYYYYHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("d-mmm-yyyy h:mm"));
- flag = 1;
- }
- if(date==null)
- date = DDMONYYHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("d-mmm-yy h:mm"));
- flag = 1;
- }
- if(date==null)
- date = DDMONYYYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("d-mmm-yyyy"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYHHMMSSFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/d/yy h:mm:ss"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/d/yy h:mm"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/d/yy"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/d/yy h:mm"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYHHMMSSFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/d/yy h:mm:ss"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYYYHHMMZFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/d/yyyy h:mm"));
- flag = 1;
- }
- if(date==null)
- date = MMMMMDDYYYYHHMMSS.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/d/yyyy h:mm"));
- flag = 1;
- }
-
- if(date!=null) {
- //System.out.println("ExcelDate " + HSSFDateUtil.getExcelDate(date));
- cell.setCellValue(HSSFDateUtil.getExcelDate(date));
- try {
- String str = cell.getStringCellValue();
- } catch (IllegalStateException ex) { /*cell.getCellStyle().setDataFormat((short)0);*/cell.setCellValue(value);}
- } else {
- /*cell.getCellStyle().setDataFormat((short)0);*/
- cell.setCellValue(value);
- }
- //cellDate.setCellValue(date);
- //cellDate.setCellValue(value); //cellDate.setCellValue(date);
- //cellDate.setCellValue(dv.getDisplayValue());
-
- }else if((dv.getDisplayTotal()!=null && dv.getDisplayTotal().equals("SUM(")) || (dv.getColName()!=null && dv.getColName().indexOf("999")!=-1)){
- //cellNumber = row.createCell((short) cellNum);
- //cellNumber.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
- //cellNumber.setCellValue(dv.getDisplayValue());
- cell = row.createCell((short) cellNum);
- int zInt = 0;
- if (value.equals("null")){
- cell.setCellValue(zInt);
- }else{
-
- if ((value.indexOf("."))!= -1){
- if ((value.trim().startsWith("$")) || (value.trim().startsWith("-$") )) {
-
- //if (value.startsWith("$")){
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("($#,##0.00);($#,##0.00)"));
- String tempDollar = value.trim();
- tempDollar = tempDollar.replaceAll(" ", "").substring(0);
- tempDollar = tempDollar.replaceAll("\\$", "").substring(0);
- //System.out.println("SUBSTRING |" + tempDollar);
- //System.out.println("Before copy Value |" + tempDollar);
- //tempDollar = String.copyValueOf(tempDollar.toCharArray(), 1, tempDollar.length()-1);
- //System.out.println("After copy Value |" + tempDollar);
- if ((tempDollar.indexOf(","))!= -1){
- tempDollar = tempDollar.replaceAll(",", "");
- }
- //System.out.println("The final string 2IF is "+tempDollar);
- double tempDoubleDollar = 0.0;
- try {
- tempDoubleDollar = Double.parseDouble(tempDollar);
- if(styleCell!=null) {
- styleCell.setDataFormat((short) 8);//HSSFDataFormat.getBuiltinFormat("($#,##0.00_);[Red]($#,##0.00)"));
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleCurrencyDecimalNumber);
- cell.setCellValue(tempDoubleDollar);
- } catch (NumberFormatException ne) {
- if(styleCell!=null) {
- styleCell.setWrapText(true);
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleDefault);
- cell.setCellValue(tempDollar);
- }
-
-
- }else{
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0.00"));
- String tempDoubleStr = value.trim();
- tempDoubleStr = tempDoubleStr.replaceAll(" ", "").substring(0);
- if ((tempDoubleStr.indexOf(","))!= -1){
- tempDoubleStr = tempDoubleStr.replaceAll(",", "");
- }
- double tempDouble = 0.0;
- try {
- tempDouble = Double.parseDouble(tempDoubleStr);
- if(styleCell!=null) {
- styleCell.setDataFormat((short)0x28 );//HSSFDataFormat.getBuiltinFormat("(#,##0.00_);[Red](#,##0.00)"));
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleDecimalNumber);
- cell.setCellValue(tempDouble);
- } catch (NumberFormatException ne) {
- if(styleCell!=null) {
- styleCell.setWrapText(true);
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleDefault);
- cell.setCellValue(tempDoubleStr);
- }
- }
-
- }else {
- if (!(value.equals(""))){
- if ((value.trim().startsWith("$")) || (value.trim().startsWith("-$") )) {
- //if (value.startsWith("$")){
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("($#,##0.00);($#,##0.00)"));
- String tempInt = value.trim();
- tempInt = tempInt.replaceAll(" ", "").substring(0);
- tempInt = tempInt.replaceAll("\\$", "").substring(0);
- //System.out.println("SUBSTRING |" + tempInt);
- //System.out.println("Before copy Value |" + tempInt);
- //tempInt = String.copyValueOf(tempInt.toCharArray(), 1, tempInt.length()-1);
- //System.out.println("After copy Value |" + tempInt);
- if ((tempInt.indexOf(","))!= -1){
- tempInt = tempInt.replaceAll(",", "");
- }
- //System.out.println("The final string INT 2 is "+tempInt);
-
- Long tempIntDollar = 0L;
-
- try {
- tempIntDollar = Long.parseLong(tempInt);
- if(styleCell!=null) {
- styleCell.setDataFormat((short) 6);//HSSFDataFormat.getBuiltinFormat("($#,##0_);[Red]($#,##0)"));
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleCurrencyNumber);
- cell.setCellValue(tempIntDollar);
- } catch (NumberFormatException ne) {
- if(styleCell!=null) {
- styleCell.setWrapText(true);
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleDefault);
- cell.setCellValue(tempInt);
- }
- }else{
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0.00"));
- String tempStr = value.trim();
- if ((tempStr.indexOf(","))!= -1){
- tempStr = tempStr.replaceAll(",", "");
- }
- Long temp = 0L;
-
- try {
- temp = Long.parseLong(tempStr);
- if(styleCell!=null) {
- styleCell.setDataFormat((short) 0x26);//HSSFDataFormat.getBuiltinFormat("(#,##0_);[Red](#,##0)"));
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleNumber);
- cell.setCellValue(temp);
- } catch (NumberFormatException ne) {
- if(styleCell!=null) {
- styleCell.setWrapText(true);
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleDefault);
- cell.setCellValue(tempStr);
- }
- }
- //int temp = Integer.parseInt(dv.getDisplayValue().trim());
- // cell.setCellValue(temp);
- //}else{
- // cell.setCellValue(strip.stripHtml(dv.getDisplayValue()));
- //}
- } else {
- if(styleCell!=null) {
- styleCell.setWrapText(true);
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleDefault);
- }
- }
- }
-
-
- }
- else {
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("General"));
- if(styleCell!=null) {
- styleCell.setWrapText(true);
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleDefault);
- cell.setCellValue(strip.stripHtml(value));
- }
-
- //if (!(value.equals(""))){
- //int temp = Integer.parseInt(value.trim());
- //cell.setCellValue(temp);
- //}else{
- // cell.setCellValue(strip.stripHtml(value));
- //}
- //HSSFCellStyle styleFormat = null;
- //HSSFCellStyle numberStyle = null;
- //HSSFFont formatFont = null;
- //short fgcolor = 0;
- //short fillpattern = 0;
- if (cellWidth.size() > cellNum) {
- if (((Integer) cellWidth.get(cellNum)).intValue() < dv
- .getDisplayValue().length())
- cellWidth.set((cellNum),
- (value.length()<=Globals.getMaxCellWidthInExcel())?new Integer(value.length()):new Integer(Globals.getMaxCellWidthInExcel()));
- } else
- cellWidth.add((cellNum), (value.length()<=Globals.getMaxCellWidthInExcel())?new Integer(value.length()):new Integer(Globals.getMaxCellWidthInExcel()));
- //System.out.println("1IF "+ (dv.isBold()) + " "+ value + " " + dv.getDisplayTotal() + " " + dv.getColName() );
- if (dv.isBold()) {
- if((dv.getDisplayTotal()!=null && dv.getDisplayTotal().equals("SUM(")) || (dv.getColName()!=null && dv.getColName().indexOf("999")!=-1)){
- if (value!=null && (value.trim().startsWith("$")) || (value.trim().startsWith("-$") )) {
- cell.setCellStyle(styleCurrencyTotal);
- }
- else {
- cell.setCellStyle(styleTotal);
- }
- } else {
- cell.setCellStyle(styleDefaultTotal);
- }
- bold = true;
- }
- //System.out.println("2IF "+ (dr.isRowFormat()) + " " + (dv.isCellFormat()) + " " + (styles!=null));
- if ((dr.isRowFormat() && !dv.isCellFormat()) && styles != null) {
- //cell.setCellStyle((HSSFCellStyle) styles.get(nvl(dr.getFormatId(),"default")));
- continue;
- }
- //System.out.println("3IF "+ (htmlFormat != null) + " " + (dv.getFormatId() != null) + " " + (bold == false) + " "+ (styles != null));
- if (htmlFormat != null && dv.getFormatId() != null && bold == false
- && styles != null) {
- //cell.setCellStyle((HSSFCellStyle) styles.get(nvl(dv.getFormatId(),"default")));
- } //else if (bold == false)
- //cell.setCellStyle(styleDefault);
- } // dv.isVisible
- }
- rowNum += 1;
-
- }
-
- int cw = 0;
- for (int i = 0; i < cellWidth.size(); i++) {
- cw = ((Integer) cellWidth.get(i)).intValue() + 12;
- // if(i!=cellWidth.size()-1)
- sheet.setColumnWidth((short) (i), (short) ((cw * 8) / ((double) 1 / 20)));
- // else
- // sheet.setColumnWidth((short) (i + 1), (short) ((cw * 10) /
- // ((double) 1 / 20)));
- }
-
- // To Display Total Values for Linear report
- if(rd.reportDataTotalRow!=null) {
- row = sheet.createRow(rowNum);
- cellNum = -1;
- rd.reportTotalRowHeaderCols.resetNext();
- //for (rd.reportTotalRowHeaderCols.resetNext(); rd.reportTotalRowHeaderCols.hasNext();) {
- cellNum += 1;
- RowHeaderCol rhc = rd.reportTotalRowHeaderCols.getNext();
- RowHeader rh = rhc.getRowHeader(0);
- row.createCell((short) cellNum).setCellValue(strip.stripHtml(rh.getRowTitle()));
- row.getCell((short) cellNum).setCellStyle(styleDefaultTotal);
- //}
-
- rd.reportDataTotalRow.resetNext();
- DataRow drTotal = rd.reportDataTotalRow.getNext();
- //cellNum = -1;
-
- drTotal.resetNext();
- drTotal.getNext();
- for (; drTotal.hasNext();) {
- cellNum += 1;
- cell = row.createCell((short) cellNum);
- DataValue dv = drTotal.getNext();
- String value = dv.getDisplayValue();
- cell.setCellValue(value);
- boolean bold = false;
- if (dv.isBold()) {
- if((dv.getDisplayTotal()!=null && dv.getDisplayTotal().equals("SUM(")) || (dv.getColName()!=null && dv.getColName().indexOf("999")!=-1)){
- if (value!=null && (value.trim().startsWith("$")) || (value.trim().startsWith("-$") )) {
- cell.setCellStyle(styleCurrencyTotal);
- } else {
- cell.setCellStyle(styleTotal);
- }
- } else {
- cell.setCellStyle(styleDefaultTotal);
- }
- bold = true;
- }
- }
- }
-
- } catch (SQLException ex) {
- ex.printStackTrace();
- throw new RaptorException(ex);
- } catch (ReportSQLException ex) {
- throw new RaptorException(ex);
- } catch (Exception ex) {
- if(!(ex.getCause() instanceof java.net.SocketException) )
- throw new RaptorException (ex);
- } finally {
- try {
- if(conn!=null)
- conn.close();
- if(st!=null)
- st.close();
- if(rs!=null)
- rs.close();
- } catch (SQLException ex) {
- throw new RaptorException(ex);
- }
- }
-
- /*if(Globals.getShowDisclaimer() && !Globals.disclaimerPositionedTopInCSVExcel()) {
- rowNum += 1;
- row = sheet.createRow(rowNum);
- cellNum = 0;
- String disclaimer = Globals.getFooterFirstLine() + " " + Globals.getFooterSecondLine();
- row.createCell((short) cellNum).setCellValue(disclaimer);
- sheet.addMergedRegion(new Region(rowNum, (short) cellNum, rowNum, (short) (columnRows)));
- rowNum += 1;
- }*/
- } else {
- if(rr.getReportType().equals(AppConstants.RT_LINEAR)) {
- int rowCount = 0;
- for (rd.reportDataRows.resetNext(); rd.reportDataRows.hasNext();) {
- DataRow dr = rd.reportDataRows.getNext();
- //List l = rd.getReportDataList();
- //for (int dataRow = 0; dataRow < l.size(); dataRow++) {
- rowCount++;
-
-
- //DataRow dr = (DataRow) l.get(dataRow);
- row = sheet.createRow(rowNum);
-
- cellNum = -1;
-
- if (rr.getReportType().equals(AppConstants.RT_LINEAR) && rd.reportTotalRowHeaderCols!=null) {
- rd.reportRowHeaderCols.resetNext(0);
- if(rd.reportTotalRowHeaderCols!=null) {
- //cellNum = -1;
- //for (rd.reportRowHeaderCols.resetNext(); rd.reportRowHeaderCols.hasNext();) {
- //cellNum += 1;
- //RowHeaderCol rhc = rd.reportRowHeaderCols.getRowHeaderCol(0);
- //if (firstPass)
- // rhc.resetNext();
- //RowHeader rh = rhc.getRowHeader(rowCount-1);
- //row.createCell((short) cellNum).setCellValue(rowCount);
- //row.getCell((short) cellNum).setCellStyle(styleDefault);
- //if (firstPass)
- //cellWidth.add(cellNum, new Integer((rowCount+"").length()));
- //else
- //cellWidth.set(cellNum, new Integer((rowCount+"").length()));
-
- //} // for
- }
-
- } else {
- rd.reportRowHeaderCols.resetNext(0);
- }
- for (; rd.reportRowHeaderCols.hasNext();) {
- cellNum += 1;
- RowHeaderCol rhc = rd.reportRowHeaderCols.getNext();
- if (firstPass)
- rhc.resetNext();
- RowHeader rh = rhc.getNext();
- row.createCell((short) cellNum).setCellValue(strip.stripHtml(rh.getRowTitle()));
- row.getCell((short) cellNum).setCellStyle(styleDefault);
- if (cellWidth.size() > 0) {
- if (((Integer) cellWidth.get(cellNum)).intValue() < rh.getRowTitle()
- .length())
- cellWidth.set(cellNum, new Integer(rh.getRowTitle().length()));
- } else
- cellWidth.add(cellNum, new Integer(rh.getRowTitle().length()));
-
- } // for
- firstPass = false;
- //cellNum = -1;
- int j = 0;
-
- for (dr.resetNext(); dr.hasNext();j++) {
- DataValue dv = dr.getNext();
- styleCell = null;
- boolean bold = false;
- String value = nvl(dv.getDisplayValue());
- value = strip.stripHtml(value);
- HtmlFormatter htmlFormat = dv.getCellFormatter();
- if ((dr.isRowFormat() && !dv.isCellFormat()) && styles != null)
- styleCell = (HSSFCellStyle) styles.get(nvl(dr.getFormatId(),"default"));
- if (htmlFormat != null && dv.getFormatId() != null && styles != null)
- styleCell = (HSSFCellStyle) styles.get(nvl(dv.getFormatId(),"default"));
-
- if(dv.isVisible()) {
- cellNum += 1;
- cell = row.createCell((short) cellNum);
- //System.out.println("Stripping HTML 1");
- //cell.setCellValue(strip.stripHtml(value));
- String dataType = (String) (dataTypeMap.get(dv.getColId()));
- //System.out.println(" The Display Value is ********"+value + " " + dv.getDisplayTotal() + " " + dv.getColName());
-
- if (dataType!=null && dataType.equals("NUMBER")){
- //cellNumber = row.createCell((short) cellNum);
- //cellNumber.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
- //cellNumber.setCellValue(value);
- //cellCurrencyNumber = row.createCell((short) cellNum);
- int zInt = 0;
- if (value.equals("null")){
- cell.setCellValue(zInt);
- }else{
-
- if ((value.indexOf("."))!= -1){
- if ((value.trim().startsWith("$")) || (value.trim().startsWith("-$") )) {
-
- //if (value.startsWith("$")){
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("($#,##0.00);($#,##0.00)"));
- String tempDollar = value.trim();
- tempDollar = tempDollar.replaceAll(" ", "").substring(0);
- tempDollar = tempDollar.replaceAll("\\$", "").substring(0);
- //System.out.println("SUBSTRING |" + tempDollar);
- //System.out.println("Before copy Value |" + tempDollar);
- //tempDollar = String.copyValueOf(tempDollar.toCharArray(), 1, tempDollar.length()-1);
- //System.out.println("After copy Value |" + tempDollar);
- if ((tempDollar.indexOf(","))!= -1){
- tempDollar = tempDollar.replaceAll(",", "");
- }
- //System.out.println("The final string 1 is "+tempDollar);
- double tempDoubleDollar = 0.0;
- try {
- tempDoubleDollar = Double.parseDouble(tempDollar);
- if(styleCell!=null) {
- styleCell.setDataFormat((short) 8);//HSSFDataFormat.getBuiltinFormat("($#,##0.00_);[Red]($#,##0.00)"));
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleCurrencyDecimalNumber);
- cell.setCellValue(tempDoubleDollar);
- } catch (NumberFormatException ne) {
- if(styleCell!=null) {
- styleCell.setWrapText(true);
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleDefault);
- cell.setCellValue(tempDollar);
- }
- }else{
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0.00"));
- double tempDouble = 0.0;
- try {
- tempDouble = Double.parseDouble(value);
- if(styleCell!=null) {
- styleCell.setDataFormat((short) 0x28);//HSSFDataFormat.getBuiltinFormat("(#,##0.00_);[Red](#,##0.00)"));
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleDecimalNumber);
- cell.setCellValue(tempDouble);
- } catch (NumberFormatException ne) {
- if(styleCell!=null) {
- styleCell.setWrapText(true);
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleDefault);
- cell.setCellValue(value);
- }
-
- }
- }else {
- if (!(value.equals(""))){
- if ((value.trim().startsWith("$")) || (value.trim().startsWith("-$") )) {
- //if (value.startsWith("$")){
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("($#,##0.00);($#,##0.00)"));
- String tempInt = value.trim();
- tempInt = tempInt.replaceAll(" ", "").substring(0);
- tempInt = tempInt.replaceAll("\\$", "").substring(0);
- //System.out.println("SUBSTRING |" + tempInt);
- //System.out.println("Before copy Value |" + tempInt);
- //tempInt = String.copyValueOf(tempInt.toCharArray(), 1, tempInt.length()-1);
- //System.out.println("After copy Value |" + tempInt);
- if ((tempInt.indexOf(","))!= -1){
- tempInt = tempInt.replaceAll(",", "");
- }
- //System.out.println("The final string INT is "+tempInt);
- Long tempIntDollar = 0L;
- try {
- tempIntDollar = Long.parseLong(tempInt);
- if(styleCell!=null) {
- styleCell.setDataFormat((short)6);//HSSFDataFormat.getBuiltinFormat("($#,##0_);[Red]($#,##0)"));
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleCurrencyNumber);
- cell.setCellValue(tempIntDollar);
- } catch (NumberFormatException ne) {
- if(styleCell!=null) {
- styleCell.setWrapText(true);
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleDefault);
- cell.setCellValue(tempInt);
- }
- }else{
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0.00"));
- String tempStr = value.trim();
- if ((tempStr.indexOf(","))!= -1){
- tempStr = tempStr.replaceAll(",", "");
- }
- Long temp = 0L;
-
- try {
- temp = Long.parseLong(tempStr);
- if(styleCell!=null) {
- styleCell.setDataFormat((short)0x26);//HSSFDataFormat.getBuiltinFormat("(#,##0_);[Red](#,##0)"));
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleNumber);
- cell.setCellValue(temp);
- } catch (NumberFormatException ne) {
- if(styleCell!=null) {
- styleCell.setWrapText(true);
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleDefault);
- cell.setCellValue(tempStr);
- }
-
-
- }
- //int temp = Integer.parseInt(value.trim());
- // cell.setCellValue(temp);
- //}else{
- // cell.setCellValue(strip.stripHtml(value));
- //}
- }
- }
- }
-
- }else if ( ( dataType !=null && dataType.equals("DATE")) || (dv.getDisplayName()!=null && dv.getDisplayName().toLowerCase().endsWith("date")) ||
- (dv.getColId()!=null && dv.getColId().toLowerCase().endsWith("date")) ||
- (dv.getColName()!=null && dv.getColName().toLowerCase().endsWith("date")) ) {
- //cellDate = row.createCell((short) cellNum);
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("mm/dd/yy"));
-
- if(styleCell!=null) {
- styleCell.setDataFormat((short)0xe); //HSSFDataFormat.getBuiltinFormat("m/d/yy"));
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleDate);
- //String MY_DATE_FORMAT = "yyyy-MM-dd";
- Date date = null;
- int flag = 0;
- date = MMDDYYHHMMSSFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/d/yy h:mm:ss"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/d/yy h:mm"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/d/yyyy"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYYYHHMMSSFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/d/yyyy h:mm:ss"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYYYHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/d/yyyy h:mm"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/d/yy"));
- flag = 1;
- }
- if(date==null)
- date = YYYYMMDDFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("yyyy/m/d"));
- flag = 1;
- }
- if(date==null)
- date = timestampFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("yyyy-m-d h:mm:ss")); //yyyy-MM-dd HH:mm:ss
- flag = 1;
- }
- if(date==null)
- date = MONYYYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("mmm yyyy"));
- flag = 1;
- }
- if(date==null)
- date = MMYYYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/yyyy"));
- flag = 1;
- }
- if(date==null)
- date = MMMMMDDYYYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("mmm/d/yyyy"));
- flag = 1;
- }
- if(date==null)
- date = MONTHYYYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("mmm/yyyy"));
- flag = 1;
- }
- if(date==null)
- date = YYYYMMDDHHMMSSFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("yyyy/m/d h:mm:ss"));
- flag = 1;
- }
- if(date==null)
- date = YYYYMMDDDASHFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("yyyy-m-d"));
- flag = 1;
- }
- if(date==null)
- date = YYYYMMDDHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("yyyy/m/d h:mm"));
- flag = 1;
- }
- if(date==null)
- date = DDMONYYYYHHMMSSFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("d-mmm-yyyy h:mm:ss"));
- flag = 1;
- }
- if(date==null)
- date = DDMONYYYYHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("d-mmm-yyyy h:mm"));
- flag = 1;
- }
- if(date==null)
- date = DDMONYYHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("d-mmm-yy h:mm"));
- flag = 1;
- }
- if(date==null)
- date = DDMONYYYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("d-mmm-yyyy"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYHHMMSSFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/d/yy h:mm:ss"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/d/yy h:mm"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/d/yy"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/d/yy h:mm"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYHHMMSSFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/d/yy h:mm:ss"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYYYHHMMZFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/d/yyyy h:mm"));
- flag = 1;
- }
- if(date==null)
- date = MMMMMDDYYYYHHMMSS.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cell.getCellStyle().setDataFormat(
- createHelper.createDataFormat().getFormat("m/d/yyyy h:mm"));
- flag = 1;
- }
-
- if(date!=null) {
- //System.out.println("ExcelDate " + HSSFDateUtil.getExcelDate(date));
- cell.setCellValue(HSSFDateUtil.getExcelDate(date));
- try {
- String str = cell.getStringCellValue();
- } catch (IllegalStateException ex) { /*cell.getCellStyle().setDataFormat((short)0);*/cell.setCellValue(value);}
- } else {
- /*cell.getCellStyle().setDataFormat((short)0);*/
- cell.setCellValue(value);
- }
- //cellDate.setCellValue(date);
- //cellDate.setCellValue(value);
-
- }else if((dv.getDisplayTotal()!=null && dv.getDisplayTotal().equals("SUM(")) || (dv.getColName()!=null && dv.getColName().indexOf("999")!=-1)){
- //cellNumber = row.createCell((short) cellNum);
- //cellNumber.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
- //cellNumber.setCellValue(value);
- cell = row.createCell((short) cellNum);
- int zInt = 0;
- if (value.equals("null")){
- cell.setCellValue(zInt);
- }else{
-
- if ((value.indexOf("."))!= -1){
- if ((value.trim().startsWith("$")) || (value.trim().startsWith("-$") )) {
-
- //if (value.startsWith("$")){
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("($#,##0.00);($#,##0.00)"));
- String tempDollar = value.trim();
- tempDollar = tempDollar.replaceAll(" ", "").substring(0);
- tempDollar = tempDollar.replaceAll("\\$", "").substring(0);
- //System.out.println("SUBSTRING |" + tempDollar);
- //System.out.println("Before copy Value |" + tempDollar);
- //tempDollar = String.copyValueOf(tempDollar.toCharArray(), 1, tempDollar.length()-1);
- //System.out.println("After copy Value |" + tempDollar);
- if ((tempDollar.indexOf(","))!= -1){
- tempDollar = tempDollar.replaceAll(",", "");
- }
- //System.out.println("The final string 2IF is "+tempDollar);
- double tempDoubleDollar = 0.0;
- try {
- tempDoubleDollar = Double.parseDouble(tempDollar);
- if(styleCell!=null) {
- styleCell.setDataFormat((short)8);//HSSFDataFormat.getBuiltinFormat("($#,##0.00_);[Red]($#,##0.00)"));
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleCurrencyDecimalNumber);
- cell.setCellValue(tempDoubleDollar);
- } catch (NumberFormatException ne) {
- if(styleCell!=null) {
- styleCell.setWrapText(true);
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleDefault);
- cell.setCellValue(tempDollar);
- }
-
-
- }else{
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0.00"));
- String tempDoubleStr = value.trim();
- tempDoubleStr = tempDoubleStr.replaceAll(" ", "").substring(0);
- if ((tempDoubleStr.indexOf(","))!= -1){
- tempDoubleStr = tempDoubleStr.replaceAll(",", "");
- }
- double tempDouble = 0.0;
- try {
- tempDouble = Double.parseDouble(tempDoubleStr);
- if(styleCell!=null) {
- styleCell.setDataFormat((short) 0x28); // for decimal
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleDecimalNumber);
- cell.setCellValue(tempDouble);
- } catch (NumberFormatException ne) {
- if(styleCell!=null) {
- styleCell.setWrapText(true);
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleDefault);
- cell.setCellValue(tempDoubleStr);
- }
- }
-
- }else {
- if (!(value.equals(""))){
- if ((value.trim().startsWith("$")) || (value.trim().startsWith("-$") )) {
- //if (value.startsWith("$")){
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("($#,##0.00);($#,##0.00)"));
- String tempInt = value.trim();
- tempInt = tempInt.replaceAll(" ", "").substring(0);
- tempInt = tempInt.replaceAll("\\$", "").substring(0);
- //System.out.println("SUBSTRING |" + tempInt);
- //System.out.println("Before copy Value |" + tempInt);
- //tempInt = String.copyValueOf(tempInt.toCharArray(), 1, tempInt.length()-1);
- //System.out.println("After copy Value |" + tempInt);
- if ((tempInt.indexOf(","))!= -1){
- tempInt = tempInt.replaceAll(",", "");
- }
- //System.out.println("The final string INT 2 is "+tempInt);
-
- Long tempIntDollar = 0L;
-
- try {
- tempIntDollar = Long.parseLong(tempInt);
- if(styleCell!=null) {
- styleCell.setDataFormat((short) 6);
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleCurrencyNumber);
- cell.setCellValue(tempIntDollar);
- } catch (NumberFormatException ne) {
- if(styleCell!=null) {
- styleCell.setWrapText(true);
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleDefault);
- cell.setCellValue(tempInt);
- }
- }else{
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0.00"));
- String tempStr = value.trim();
- if ((tempStr.indexOf(","))!= -1){
- tempStr = tempStr.replaceAll(",", "");
- }
- Long temp = 0L;
-
- try {
- temp = Long.parseLong(tempStr);
- if(styleCell!=null) {
- styleCell.setDataFormat((short) 0x26);
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleNumber);
- cell.setCellValue(temp);
- } catch (NumberFormatException ne) {
- if(styleCell!=null) {
- styleCell.setWrapText(true);
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleDefault);
- cell.setCellValue(tempStr);
- }
- }
- //int temp = Integer.parseInt(value.trim());
- // cell.setCellValue(temp);
- //}else{
- // cell.setCellValue(strip.stripHtml(value));
- //}
- } else {
- if(styleCell!=null) {
- styleCell.setWrapText(true);
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleDefault);
- }
- }
- }
-
-
- }
- else {
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("General"));
- if(styleCell!=null) {
- styleCell.setWrapText(true);
- cell.setCellStyle(styleCell);
- } else
- cell.setCellStyle(styleDefault);
- cell.setCellValue(strip.stripHtml(value));
- }
-
- //if (!(value.equals(""))){
- //int temp = Integer.parseInt(value.trim());
- //cell.setCellValue(temp);
- //}else{
- // cell.setCellValue(strip.stripHtml(value));
- //}
- //HSSFCellStyle styleFormat = null;
- //HSSFCellStyle numberStyle = null;
- //HSSFFont formatFont = null;
- //short fgcolor = 0;
- //short fillpattern = 0;
- if (cellWidth.size() > cellNum) {
- if (((Integer) cellWidth.get(cellNum)).intValue() < dv
- .getDisplayValue().length())
- cellWidth.set((cellNum),
- (value.length()<=Globals.getMaxCellWidthInExcel())?new Integer(value.length()):new Integer(Globals.getMaxCellWidthInExcel()));
- } else
- cellWidth.add((cellNum), (value.length()<=Globals.getMaxCellWidthInExcel())?new Integer(value.length()):new Integer(Globals.getMaxCellWidthInExcel()));
- //System.out.println("1IF "+ (dv.isBold()) + " "+ value + " " + dv.getDisplayTotal() + " " + dv.getColName() );
- if (dv.isBold()) {
- if((dv.getDisplayTotal()!=null && dv.getDisplayTotal().equals("SUM(")) || (dv.getColName()!=null && dv.getColName().indexOf("999")!=-1)){
- if (value!=null && (value.trim().startsWith("$")) || (value.trim().startsWith("-$") )) {
- cell.setCellStyle(styleCurrencyTotal);
- }
- else {
- cell.setCellStyle(styleTotal);
- }
- } else {
- cell.setCellStyle(styleDefaultTotal);
- }
- bold = true;
- }
- //System.out.println("2IF "+ (dr.isRowFormat()) + " " + (dv.isCellFormat()) + " " + (styles!=null));
- if ((dr.isRowFormat() && !dv.isCellFormat()) && styles != null) {
- //cell.setCellStyle((HSSFCellStyle) styles.get(nvl(dr.getFormatId(),"default")));
- continue;
- }
- //System.out.println("3IF "+ (htmlFormat != null) + " " + (dv.getFormatId() != null) + " " + (bold == false) + " "+ (styles != null));
- if (htmlFormat != null && dv.getFormatId() != null && bold == false
- && styles != null) {
- // cell.setCellStyle((HSSFCellStyle) styles.get(nvl(dv.getFormatId(),"default")));
- } //else if (bold == false)
- //cell.setCellStyle(styleDefault);
- } // if (dv.isVisible)
- } // for
-
- /*for (int tmp=0; tmp<dataTypeMap.size(); tmp++){
- String dataTypeStr = (String)(dataTypeMap.get(tmp));
- if(dataTypeStr.equals("NUMBER")){
- cell.setCellStyle(styleNumber);
- }else if (dataTypeStr.equals("VARCHAR2")){
- cell.setCellStyle(styleDefault);
-
- }else if (dataTypeStr.equals("DATE")){
- cell.setCellStyle(styleDate);
- }else{
-
- }
-
- }*/
- rowNum += 1;
- int cw = 0;
- for (int i = 0; i < cellWidth.size(); i++) {
- cw = ((Integer) cellWidth.get(i)).intValue() + 12;
- // if(i!=cellWidth.size()-1)
- sheet.setColumnWidth((short) (i), (short) ((cw * 8) / ((double) 1 / 20)));
- // else
- // sheet.setColumnWidth((short) (i + 1), (short) ((cw * 10) /
- // ((double) 1 / 20)));
- }
-
- } // for
-
- // To Display Total Values for Linear report
- if(rd.reportDataTotalRow!=null) {
- row = sheet.createRow(rowNum);
- cellNum = -1;
- rd.reportTotalRowHeaderCols.resetNext();
- //for (rd.reportTotalRowHeaderCols.resetNext(); rd.reportTotalRowHeaderCols.hasNext();) {
- cellNum += 1;
- RowHeaderCol rhc = rd.reportTotalRowHeaderCols.getNext();
- RowHeader rh = rhc.getRowHeader(0);
- row.createCell((short) cellNum).setCellValue(strip.stripHtml(rh.getRowTitle()));
- row.getCell((short) cellNum).setCellStyle(styleDefaultTotal);
- //}
-
- rd.reportDataTotalRow.resetNext();
- DataRow drTotal = rd.reportDataTotalRow.getNext();
- //cellNum = -1;
-
- drTotal.resetNext();
- drTotal.getNext();
- for (; drTotal.hasNext();) {
- cellNum += 1;
- cell = row.createCell((short) cellNum);
- DataValue dv = drTotal.getNext();
- String value = dv.getDisplayValue();
- cell.setCellValue(value);
- boolean bold = false;
- if (dv.isBold()) {
- if((dv.getDisplayTotal()!=null && dv.getDisplayTotal().equals("SUM(")) || (dv.getColName()!=null && dv.getColName().indexOf("999")!=-1)){
- if (value!=null && (value.trim().startsWith("$")) || (value.trim().startsWith("-$") )) {
- cell.setCellStyle(styleCurrencyTotal);
- } else {
- cell.setCellStyle(styleTotal);
- }
- } else {
- cell.setCellStyle(styleDefaultTotal);
- }
- bold = true;
- }
- }
- }
-
- /*
- if (rr.getReportType().equals(AppConstants.RT_LINEAR) && rd.reportTotalRowHeaderCols!=null) {
-
- for (rd.reportDataTotalRow.resetNext(); rd.reportDataTotalRow.hasNext();) {
- rowCount++;
-
-
- DataRow dr = rd.reportDataTotalRow.getNext();
- row = sheet.createRow(rowNum);
- cellNum = -1;
- int j = 0;
- cellNum += 1;
- cell = row.createCell((short) cellNum);
- cell.setCellValue("Total");
- cell.setCellStyle(styleTotal);
-
- for (dr.resetNext(); dr.hasNext();j++) {
- DataValue dv = dr.getNext();
- if(j==0 || !dv.isVisible()) continue;
- cellNum += 1;
- styleCell = null;
- boolean bold = true;
- String value = nvl(dv.getDisplayValue());
- //cellNumber = row.createCell((short) cellNum);
- //cellNumber.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
- //cellNumber.setCellValue(dv.getDisplayValue());
- cell = row.createCell((short) cellNum);
- int zInt = 0;
- if (value.equals("null")){
- cell.setCellValue(zInt);
- }else{
-
- if ((value.indexOf("."))!= -1){
- if ((value.trim().startsWith("$")) || (value.trim().startsWith("-$") )) {
-
- //if (value.startsWith("$")){
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("($#,##0.00);($#,##0.00)"));
- String tempDollar = value.trim();
- tempDollar = tempDollar.replaceAll(" ", "").substring(0);
- tempDollar = tempDollar.replaceAll("\\$", "").substring(0);
- //System.out.println("SUBSTRING |" + tempDollar);
- //System.out.println("Before copy Value |" + tempDollar);
- //tempDollar = String.copyValueOf(tempDollar.toCharArray(), 1, tempDollar.length()-1);
- //System.out.println("After copy Value |" + tempDollar);
- if ((tempDollar.indexOf(","))!= -1){
- tempDollar = tempDollar.replaceAll(",", "");
- }
- //System.out.println("The final string 2IF is "+tempDollar);
- double tempDoubleDollar = 0.0;
- try {
- tempDoubleDollar = Double.parseDouble(tempDollar);
- if(styleTotal!=null) {
- styleTotal.setDataFormat((short) 8);//HSSFDataFormat.getBuiltinFormat("($#,##0.00_);[Red]($#,##0.00)"));
- cell.setCellStyle(styleTotal);
- } else
- cell.setCellStyle(styleCurrencyDecimalNumberTotal);
- cell.setCellValue(tempDoubleDollar);
- } catch (NumberFormatException ne) {
- if(styleTotal!=null) {
- styleTotal.setWrapText(true);
- cell.setCellStyle(styleTotal);
- } else
- cell.setCellStyle(styleDefault);
- cell.setCellValue(tempDollar);
- }
-
-
- }else{
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0.00"));
- String tempDoubleStr = value.trim();
- tempDoubleStr = tempDoubleStr.replaceAll(" ", "").substring(0);
- if ((tempDoubleStr.indexOf(","))!= -1){
- tempDoubleStr = tempDoubleStr.replaceAll(",", "");
- }
- double tempDouble = 0.0;
- try {
- tempDouble = Double.parseDouble(tempDoubleStr);
- if(styleTotal!=null) {
- styleTotal.setDataFormat((short)0x28 );//HSSFDataFormat.getBuiltinFormat("(#,##0.00_);[Red](#,##0.00)"));
- cell.setCellStyle(styleTotal);
- } else
- cell.setCellStyle(styleDecimalNumberTotal);
- cell.setCellValue(tempDouble);
- } catch (NumberFormatException ne) {
- if(styleTotal!=null) {
- styleTotal.setWrapText(true);
- cell.setCellStyle(styleTotal);
- } else
- cell.setCellStyle(styleDefault);
- cell.setCellValue(tempDoubleStr);
- }
- }
-
- }else {
- if (!(value.equals(""))){
- if ((value.trim().startsWith("$")) || (value.trim().startsWith("-$") )) {
- //if (value.startsWith("$")){
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("($#,##0.00);($#,##0.00)"));
- String tempInt = value.trim();
- tempInt = tempInt.replaceAll(" ", "").substring(0);
- tempInt = tempInt.replaceAll("\\$", "").substring(0);
- //System.out.println("SUBSTRING |" + tempInt);
- //System.out.println("Before copy Value |" + tempInt);
- //tempInt = String.copyValueOf(tempInt.toCharArray(), 1, tempInt.length()-1);
- //System.out.println("After copy Value |" + tempInt);
- if ((tempInt.indexOf(","))!= -1){
- tempInt = tempInt.replaceAll(",", "");
- }
- //System.out.println("The final string INT 2 is "+tempInt);
-
- Long tempIntDollar = 0L;
-
- try {
- tempIntDollar = Long.parseLong(tempInt);
- if(styleTotal!=null) {
- styleTotal.setDataFormat((short) 6);//HSSFDataFormat.getBuiltinFormat("($#,##0_);[Red]($#,##0)"));
- cell.setCellStyle(styleTotal);
- } else
- cell.setCellStyle(styleCurrencyNumberTotal);
- cell.setCellValue(tempIntDollar);
- } catch (NumberFormatException ne) {
- if(styleTotal!=null) {
- styleTotal.setWrapText(true);
- cell.setCellStyle(styleTotal);
- } else
- cell.setCellStyle(styleDefault);
- cell.setCellValue(tempInt);
- }
- }else{
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0.00"));
- String tempStr = value.trim();
- if ((tempStr.indexOf(","))!= -1){
- tempStr = tempStr.replaceAll(",", "");
- }
- Long temp = 0L;
-
- try {
- temp = Long.parseLong(tempStr);
- if(styleTotal!=null) {
- styleTotal.setDataFormat((short) 0x26);//HSSFDataFormat.getBuiltinFormat("(#,##0_);[Red](#,##0)"));
- cell.setCellStyle(styleTotal);
- } else
- cell.setCellStyle(styleNumber);
- cell.setCellValue(temp);
- } catch (NumberFormatException ne) {
- if(styleTotal!=null) {
- styleTotal.setWrapText(true);
- cell.setCellStyle(styleTotal);
- } else
- cell.setCellStyle(styleDefault);
- cell.setCellValue(tempStr);
- }
- }
- //int temp = Integer.parseInt(dv.getDisplayValue().trim());
- // cell.setCellValue(temp);
- //}else{
- // cell.setCellValue(strip.stripHtml(dv.getDisplayValue()));
- //}
- } else {
- if(styleTotal!=null) {
- styleTotal.setWrapText(true);
- cell.setCellStyle(styleTotal);
- } else
- cell.setCellStyle(styleDefault);
- }
- }
- }
-
-
-
-
- }
- }
- }
- */
-
-
-
- } else if (rr.getReportType().equals(AppConstants.RT_CROSSTAB)) { // Linear
- int rowCount = 0;
- List l = rd.getReportDataList();
- boolean first = true;
- for (int dataRow = 0; dataRow < l.size(); dataRow++) {
-
-
- DataRow dr = (DataRow) l.get(dataRow);
- row = sheet.createRow(rowNum);
-
- cellNum = -1;
- first = true;
- Vector<DataValue> rowNames = dr.getRowValues();
- for(dr.resetNext(); dr.hasNext(); rowCount++ ) {
- if(first) {
- if(rowNames!=null) {
- for(int i=0; i<rowNames.size(); i++) {
- DataValue dv = rowNames.get(i);
- cellNum += 1;
- row.createCell((short) cellNum).setCellValue(strip.stripHtml(dv.getDisplayValue()));
- row.getCell((short) cellNum).setCellStyle(styleDefault);
- }
- }
- }
- first = false;
-
- DataValue dv = dr.getNext();
- if(dv.isVisible()) {
- String value = dv.getDisplayValue();
- if(value.indexOf("|#")!=-1)
- value = value.substring(0,value.indexOf("|"));
-
- if(dr.isRowFormat() || nvl(dv.getFormatId()).length()>0) {
- cellNum += 1;
- row.createCell((short) cellNum).setCellValue(strip.stripHtml(dv.getDisplayValue()));
- //row.getCell((short) cellNum).setCellStyle(styleDefault);
- if(nvl(dv.getFormatId()).length()>0)
- row.getCell((short) cellNum).setCellStyle((HSSFCellStyle) styles.get(nvl(dv.getFormatId(),"default")));
- else
- row.setRowStyle((HSSFCellStyle) styles.get(nvl(dr.getFormatId(),"default")));
- } else {
- cellNum += 1;
- row.createCell((short) cellNum).setCellValue(strip.stripHtml(value));
- row.getCell((short) cellNum).setCellStyle(styleDefault);
- } // end
- value = dv.getDisplayValue();
- if(value.indexOf("|#")!=-1) {
- String color = value.substring(value.indexOf("|")+1);
- if(color.equals("#FF0000"))
- row.getCell((short) cellNum).setCellStyle((HSSFCellStyle) styles.get("red"));
- else if (color.equals("#008000"))
- row.getCell((short) cellNum).setCellStyle((HSSFCellStyle) styles.get("green"));
- else if (color.equals("#FFFF00"))
- row.getCell((short) cellNum).setCellStyle((HSSFCellStyle) styles.get("yellow"));
- else {
- row.getCell((short) cellNum).setCellStyle((HSSFCellStyle) styles.get("default"));
- }
-
- }
- }
- }
- rowNum += 1;
- int cw = 0;
- for (int i = 0; i < cellWidth.size(); i++) {
- cw = ((Integer) cellWidth.get(i)).intValue() + 12;
- // if(i!=cellWidth.size()-1)
- sheet.setColumnWidth((short) (i), (short) ((cw * 8) / ((double) 1 / 20)));
- // else
- // sheet.setColumnWidth((short) (i + 1), (short) ((cw * 10) /
- // ((double) 1 / 20)));
- }
-
-
- } // for
-
- }
-
-
- }
-
- String footer = (String) session.getAttribute("FOOTER_"+index);
- if(nvl(footer).length()>0) {
- footer = Utils.replaceInString(footer, "<BR/>", " ");
- footer = Utils.replaceInString(footer, "<br/>", " ");
- footer = Utils.replaceInString(footer, "<br>", " ");
- footer = strip.stripHtml(nvl(footer).trim());
- row = sheet.createRow(rowNum);
- cellNum = 0;
- row.createCell((short) cellNum).setCellValue(footer);
- sheet.addMergedRegion(new Region(rowNum, (short) cellNum, rowNum, (short) (columnRows)));
- //sheet.addMergedRegion(new Region(rowNum, (short) cellNum, rowNum+columnRows, (short) (cellNum)));
- rowNum += 1;
- }
-
- if(Globals.getShowDisclaimer() && !Globals.disclaimerPositionedTopInCSVExcel()) {
-
- rowNum += 1;
- row = sheet.createRow(rowNum);
- cellNum = 0;
- String disclaimer = Globals.getFooterFirstLine() + " " + Globals.getFooterSecondLine();
- row.createCell((short) cellNum).setCellValue(disclaimer);
- sheet.addMergedRegion(new Region(rowNum, (short) cellNum, rowNum, (short) (columnRows)));
- rowNum += 1;
- }
-
- logger.debug(EELFLoggerDelegate.debugLogger, ("##### Heap utilization statistics [MB] #####"));
- logger.debug(EELFLoggerDelegate.debugLogger, ("Used Memory:"
- + (runtime.maxMemory() - runtime.freeMemory()) / mb));
- logger.debug(EELFLoggerDelegate.debugLogger, ("Free Memory:"
- + runtime.freeMemory() / mb));
- logger.debug(EELFLoggerDelegate.debugLogger, ("Total Memory:" + runtime.totalMemory() / mb));
- logger.debug(EELFLoggerDelegate.debugLogger, ("Max Memory:" + runtime.maxMemory() / mb));
- return returnValue;
-
- }
-
- private void paintExcelHeader(HSSFWorkbook wb, int rowNum, int col, String reportTitle,
- String reportDescr, HSSFSheet sheet) {
- short s1 = 0, s2 = (short) (col-1);
- rowNum += 1;
- sheet.addMergedRegion(new Region(rowNum, s1, rowNum, s2));
- HSSFRow row = null, row1 = null;
-
- row = sheet.createRow(rowNum);
- // Header Style
- HSSFCellStyle styleHeader = wb.createCellStyle();
- styleHeader.setAlignment(HSSFCellStyle.ALIGN_CENTER);
- HSSFFont font = wb.createFont();
- font.setFontHeight((short) (font_header_title_size / 0.05)); //14
- font.setFontName("Tahoma");
- font.setColor(HSSFColor.BLACK.index);
- styleHeader.setFont(font);
-
- HSSFCell cell = row.createCell((short) 0);
- cell.setCellValue(reportTitle);
- cell.setCellStyle(styleHeader);
- HSSFHeader header = sheet.getHeader();
- header.setCenter(HSSFHeader.font("Tahoma", "")+ HSSFHeader.fontSize((short) 9)+" " + reportTitle);
-
- //header.setCenter(HSSFHeader.font("Tahoma", "")+ HSSFHeader.fontSize((short) 9)+reportTitle+"\n"+((Globals.getShowDescrAtRuntime() && nvl(reportDescr).length() > 0)?reportDescr:""));
-
- // Report Description
- if (Globals.getShowDescrAtRuntime() && nvl(reportDescr).length() > 0) {
- rowNum += 1;
- sheet.addMergedRegion(new Region(rowNum, s1, rowNum, s2));
- HSSFCellStyle styleDescription = wb.createCellStyle();
- styleDescription.setAlignment(HSSFCellStyle.ALIGN_CENTER);
- HSSFFont fontDescr = wb.createFont();
- fontDescr.setFontHeight((short) font_header_descr_size);
- fontDescr.setFontName("Tahoma");
- fontDescr.setColor(HSSFColor.BLACK.index);
- styleDescription.setFont(fontDescr);
- HSSFCell cellDescr = row.createCell((short) 0);
- cellDescr.setCellValue(reportDescr);
- cellDescr.setCellStyle(styleHeader);
- }
-
- if(Globals.disclaimerPositionedTopInCSVExcel()) {
- rowNum += 1;
- row = sheet.createRow(rowNum);
- sheet.addMergedRegion(new Region(rowNum, s1, rowNum, s2));
- HSSFCellStyle styleDescription = wb.createCellStyle();
- styleDescription.setAlignment(HSSFCellStyle.ALIGN_CENTER);
- HSSFFont fontDescr = wb.createFont();
- fontDescr.setFontHeight((short) (font_size / 0.05)); //14
- fontDescr.setFontName("Tahoma");
- fontDescr.setColor(HSSFColor.BLACK.index);
- fontDescr.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
- styleDescription.setFont(fontDescr);
- HSSFCell cellDescr = row.createCell((short) 0);
- String disclaimer = Globals.getFooterFirstLine() + " " + Globals.getFooterSecondLine();
- cellDescr.setCellValue(disclaimer);
- cellDescr.setCellStyle(styleDescription);
- }
-
- rowNum += 1;
- row = sheet.createRow(rowNum);
- // System.out.println(" Last Row " + wb.getSheetAt(0).getLastRowNum());
- }
-
- private void paintExcelFooter(HSSFWorkbook wb, int rowNum, int col, HSSFSheet sheet) {
- logger.debug(EELFLoggerDelegate.debugLogger, ("excel footer"));
- //HSSFSheet sheet = wb.getSheet(getSheetName());
- HSSFFooter footer = sheet.getFooter();
- footer.setLeft(HSSFFooter.font("Tahoma", "")+ HSSFFooter.fontSize((short) font_footer_size)+ "Page " + HSSFFooter.page()
- + " of " + HSSFFooter.numPages() );
- footer.setCenter(HSSFFooter.font("Tahoma", "")+ HSSFFooter.fontSize((short) font_footer_size)+Globals.getFooterFirstLine()+"\n"+Globals.getFooterSecondLine());
- //footer.setCenter(HSSFFooter.font("Tahoma", "Italic")+ HSSFFooter.fontSize((short) 16))+Globals.getFooterSecondLine());
-/* footer.font("Tahoma");
- short s1 = 0, s2 = (short) (col-1);
- rowNum += 1;
- sheet.addMergedRegion(new Region(rowNum, s1, rowNum, s2));
- HSSFRow row = null, row1 = null;
-
- row = sheet.createRow(rowNum);
- // Header Style
- HSSFCellStyle styleFooter = wb.createCellStyle();
- styleFooter.setAlignment(HSSFCellStyle.ALIGN_CENTER);
- HSSFFont font = wb.createFont();
- font.setFontHeight((short) (10 / 0.05));
- font.setFontName("Tahoma");
- font.setColor(HSSFColor.BLACK.index);
- font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
- styleFooter.setFont(font);
-
- HSSFCell cell = row.createCell((short) 0);
- debugLogger.debug(Globals.getFooterFirstLine());
- cell.setCellValue(Globals.getFooterFirstLine());
- cell.setCellStyle(styleFooter);
-
- rowNum += 1;
- sheet.addMergedRegion(new Region(rowNum, s1, rowNum, s2));
- row = sheet.createRow(rowNum);
- cell = row.createCell((short) 0);
- debugLogger.debug(Globals.getFooterSecondLine());
- cell.setCellValue(Globals.getFooterSecondLine());
- cell.setCellStyle(styleFooter);
-*/
- logger.debug(EELFLoggerDelegate.debugLogger, ("Done"));
- }
-
- public String saveAsExcelFile(HttpServletRequest request, ReportData rd,
- ArrayList reportParamNameValues, String reportTitle, String reportDescr) {
- return saveAsExcelFile(request, rd, reportParamNameValues, reportTitle, reportDescr, 2); //2 denotes ReportRuntime object should be taken from session.
- }
- public String saveAsExcelFile(HttpServletRequest request, ReportData rd,
- ArrayList reportParamNameValues, String reportTitle, String reportDescr, int requestFlag) {
- setSheetName(Globals.getSheetName());
- try {
- ReportRuntime rr;
- if(requestFlag == 2)
- rr = (ReportRuntime) request.getSession().getAttribute(
- AppConstants.SI_REPORT_RUNTIME);
- else
- rr = (ReportRuntime) request.getAttribute(
- AppConstants.SI_REPORT_RUNTIME);
- HSSFWorkbook wb = new HSSFWorkbook();
- HashMap styles = new HashMap();
- if (rr != null)
- styles = loadStyles(rr, wb);
- String xlsFName = AppUtils.generateUniqueFileName(request, rr.getReportName(), AppConstants.FT_XLS);
- logger.debug(EELFLoggerDelegate.debugLogger, ("Xls File name " +
- AppUtils.getTempFolderPath()
- + xlsFName));
- FileOutputStream xlsOut = new FileOutputStream(AppUtils.getTempFolderPath()
- + xlsFName);
- // BufferedWriter xlsOut = new BufferedWriter(new
- // FileWriter(AppUtils
- // .getTempFolderPath()
- // + xlsFName));
-
- int col = 0;
- //System.out.println("Row Header Count " + rd.reportRowHeaderCols.getRowCount());
- //System.out.println("Total Count " + rd.getTotalColumnCount());
-
- if (!rd.reportRowHeaderCols.hasNext())
- col = rd.getTotalColumnCount();
- else
- col = rd.getTotalColumnCount();
- int rowNum = 0;
- HSSFSheet sheet = wb.createSheet(getSheetName());
-
- if (Globals.getPrintTitleInDownload()&& reportTitle != null ) {
- paintExcelHeader(wb, rowNum, col, reportTitle, reportDescr, sheet);
- rowNum = sheet.getLastRowNum();
- } else
- rowNum = 0;
- if (Globals.getPrintParamsInDownload() && rr.getParamNameValuePairsforPDFExcel(request, 1) != null) {
- paintExcelParams(wb,rowNum,col,rr.getParamNameValuePairsforPDFExcel(request, 1), rr.getFormFieldComments(request), sheet, reportTitle, reportDescr);
- } // if
- rowNum = sheet.getLastRowNum();
- //System.out.println(" rowNum after Params " + rowNum);
- paintExcelData(wb, rowNum, col, rd, styles,rr, sheet, "", xlsOut, request);
- if (Globals.getPrintFooterInDownload() ) {
- rowNum = sheet.getLastRowNum();
- rowNum += 2;
- paintExcelFooter(wb, rowNum, col, sheet);
- }
- //response.setContentType("application/vnd.ms-excel");
- //response.setHeader("Content-disposition", "attachment;filename=download_all_"
- // + user_id + ".xls");
- wb.write(xlsOut);
- xlsOut.flush();
- xlsOut.close();
- return xlsFName;
- } catch (Exception e) {
- e.printStackTrace();
- (new ErrorHandler()).processError(request, "Exception saving data to EXCEL file: "
- + e.getMessage());
- return null;
- }
- } // saveAsExcelFile
-
- public void createExcelFileContent(Writer out, ReportData rd, ReportRuntime rr, HttpServletRequest request,
- HttpServletResponse response, String user_id, int type) throws IOException, RaptorException {
- // Adding utility for downloading Dashboard reports.
-
- HashMap styles = new HashMap();
- HttpSession session = request.getSession();
- ServletOutputStream sos = null;
- BufferedInputStream buf = null;
- HSSFWorkbook wb = null;
-// if(session.getAttribute(AppConstants.SI_DASHBOARD_REP_ID)!=null)
-// ReportRuntime rrDashboard = (ReportRuntime) request.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME);
- String formattedDate = "";
- String xlsFName = "";
- int returnValue = 0;
- boolean isDashboard = false;
- if ((session.getAttribute(AppConstants.SI_DASHBOARD_REP_ID)!=null) && ( ((String) session.getAttribute(AppConstants.SI_DASHBOARD_REP_ID)).equals(rr.getReportID())) ) {
- isDashboard = true;
- }
- if(isDashboard) {
- try {
- formattedDate = new SimpleDateFormat("MMddyyyyHHmm").format(new Date());
- xlsFName = "dashboard"+formattedDate+user_id+".xls";
-
- FileInputStream xlsIn = null;
- POIFSFileSystem fileSystem = null;
- buf = null;
- FileOutputStream xlsOut = null;
-
-
-/* try {
- xlsIn = new FileInputStream (AppUtils.getTempFolderPath()
- + xlsFName);
- }
- catch (FileNotFoundException e) {
- System.out.println ("File not found in the specified path.");
- e.printStackTrace ();
- }
- if(xlsIn != null) {
- fileSystem = new POIFSFileSystem (xlsIn);
- wb = new HSSFWorkbook(fileSystem);
- } else {
- xlsOut = new FileOutputStream(AppUtils.getTempFolderPath()
- + xlsFName);
- wb = new HSSFWorkbook();
- }
-*/
-
- Map reportRuntimeMap = null;
- Map reportDataMap = null;
- //Map reportDisplayTypeMap = null;
- reportRuntimeMap = (TreeMap) request.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP);
- reportDataMap = (TreeMap) request.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP);
- //reportDisplayTypeMap = (TreeMap) request.getSession().getAttribute(AppConstants.SI);
- HSSFSheet sheet = null;
- if(reportRuntimeMap!=null) {
- //ServletOutputStream sos = response.getOutputStream();
- Set setReportRuntime = reportRuntimeMap.entrySet();
- Set setReportDataMap = reportDataMap.entrySet();
- Iterator iter2 = setReportDataMap.iterator();
- int count = 0;
-
- for(Iterator iter = setReportRuntime.iterator(); iter.hasNext(); ) {
- count++;
- try {
- xlsIn = new FileInputStream (AppUtils.getTempFolderPath()
- + xlsFName);
- }
- catch (FileNotFoundException e) {
- System.out.println ("File not found in the specified path.");
- //e.printStackTrace ();
- }
- if(xlsIn != null) {
- fileSystem = new POIFSFileSystem (xlsIn);
- wb = new HSSFWorkbook(fileSystem);
- xlsOut = new FileOutputStream(AppUtils.getTempFolderPath()
- + xlsFName);
- } else {
- xlsOut = new FileOutputStream(AppUtils.getTempFolderPath()
- + xlsFName);
- wb = new HSSFWorkbook();
- }
-
- Map.Entry entryData = (Entry) iter2.next();
- Map.Entry entry = (Entry) iter.next();
- //String rep_id = (String) entry.getKey();
- ReportRuntime rrDashRep = (ReportRuntime) entry.getValue();
- ReportData rdDashRep = (ReportData) entryData.getValue();
- //styles = loadStyles(rrDashRep, wb);
- int col = 0;
- String reportTitle = (nvl(rrDashRep.getReportTitle()).length()>0?rrDashRep.getReportTitle():rrDashRep.getReportName());
- String reportDescr = rrDashRep.getReportDescr();
- if (!rdDashRep.reportRowHeaderCols.hasNext())
- col = rdDashRep.getTotalColumnCount();
- else
- col = rdDashRep.getTotalColumnCount();
- if(col==0) col=10;
- int rowNum = 0;
- String formattedReportName = new HtmlStripper().stripSpecialCharacters(rrDashRep.getReportName());
-
- try {
- sheet = wb.createSheet(formattedReportName);
- sheet.getPrintSetup().setLandscape(true);
- styles = loadStyles(rrDashRep, wb);
- } catch (IllegalArgumentException ex) { wb.write(xlsOut);xlsOut.flush();xlsOut.close();continue;}
-
- if (Globals.getPrintTitleInDownload()&& reportTitle != null ) {
- paintExcelHeader(wb, rowNum, col, reportTitle, reportDescr, sheet);
- rowNum = sheet.getLastRowNum();
- } else
- rowNum = 0;
- //getting ReportRuntime object from session
- if (Globals.getPrintParamsInDownload() && rrDashRep.getParamNameValuePairsforPDFExcel(request, 1) != null) {
- if(count > 1 && Globals.showParamsInAllDashboardReports())
- paintExcelParams(wb,rowNum,col,rrDashRep.getParamNameValuePairsforPDFExcel(request, 1), rrDashRep.getFormFieldComments(request), sheet, reportTitle, reportDescr);
- else if (count == 1)
- paintExcelParams(wb,rowNum,col,rrDashRep.getParamNameValuePairsforPDFExcel(request, 1), rrDashRep.getFormFieldComments(request), sheet, reportTitle, reportDescr);
- } // if
- rowNum = sheet.getLastRowNum();
- String sql_whole = rrDashRep.getWholeSQL();
- returnValue = paintExcelData(wb, rowNum, col, rdDashRep, styles,rrDashRep, sheet, sql_whole, xlsOut, request);
- if( returnValue == 0 ) {
- if (Globals.getPrintFooterInDownload()) {
- rowNum = sheet.getLastRowNum();
- rowNum += 2;
- paintExcelFooter(wb, rowNum, col, sheet);
- }
- //wb.write(sos);
- wb.write(xlsOut);
- //TODO Remove comment
- xlsOut.flush();
- xlsOut.close();
- wb = null;
- } else {
- //xlsOut.flush();
- //xlsOut.close();
- //response.reset();
- //response.setContentType("application/vnd.ms-excel");
-// RequestDispatcher dispatcher = request.getRequestDispatcher("raptor.htm?r_action=report.message");
-// request.setAttribute("message", Globals.getUserDefinedMessageForMemoryLimitReached());
-// try {
-// dispatcher.forward(request, response);
-// } catch (ServletException ex) {}
- }
- }
-
- response.reset();
- response.setContentType("application/vnd.ms-excel");
- response.setHeader("Content-disposition", "attachment;filename="+"dashboard"+formattedDate+user_id+".xls");
- sos = response.getOutputStream();
- xlsIn = new FileInputStream (AppUtils.getTempFolderPath()
- + xlsFName);
- buf = new BufferedInputStream(xlsIn);
- int readBytes = 0;
- byte [] bOut = new byte [4096];
- //read from the file; write to the ServletOutputStream
- //while ((readBytes = buf.read()) != -1)
- while ((readBytes = buf.read (bOut, 0, 4096))> 0) {
- buf.available();
- sos.write (bOut, 0, readBytes);
- }
-
- //sos.write(readBytes);
- }
- } catch (IOException ex) { ex.printStackTrace(); throw ex;}
-
- finally {
- if (sos != null)
- sos.close();
- if (buf != null)
- buf.close();
- }
-
- File f = new File (AppUtils.getTempFolderPath()
- + xlsFName);
- if(f.exists()) f.delete();
-
- } else {
- wb = new HSSFWorkbook();
- // PrintWriter xlsOut = new PrintWriter(out).;
- setSheetName(Globals.getSheetName());
- //ServletOutputStream sos = response.getOutputStream();
- //PrintWriter outWriter = response.getWriter();
- if (rr != null)
- styles = loadStyles(rr, wb);
- /* int col = 0;
- if (!rd.reportRowHeaderCols.hasNext())
- col = rd.getTotalColumnCount();
- else
- col = rd.getTotalColumnCount() + 1;
- int rowNum = 0;
- String reportTitle = rr.getReportName();
- String reportDescr = rr.getReportDescr();
- // if (Globals.getPrintTitleInDownload() && reportTitle != null) {
- HSSFSheet sheet = wb.createSheet(getSheetName());
- System.out.println(" Title " + Globals.getPrintTitleInDownload());
-
- if (Globals.getPrintTitleInDownload()&& reportTitle != null ) {
- paintExcelHeader(wb, rowNum, col, reportTitle, reportDescr);
- rowNum = wb.getSheetAt(0).getLastRowNum();
- } else
- rowNum = 0;
- System.out.println(" Params " + Globals.getPrintParamsInDownload());
- if (Globals.getPrintParamsInDownload() && rr.getParamNameValuePairs() != null) {
- paintExcelParams(wb,rowNum,col,rr.getParamNameValuePairs());
- } // if
- paintExcelData(wb, rowNum, col, rd, styles);
- rowNum = wb.getSheetAt(0).getLastRowNum();
- */
- int col = 0;
- //System.out.println("Row Header Count " + rd.reportRowHeaderCols.getRowCount());
- //System.out.println("Total Count " + rd.getTotalColumnCount());
- String reportTitle = (nvl(rr.getReportTitle()).length()>0?rr.getReportTitle():rr.getReportName());
- String reportDescr = rr.getReportDescr();
-
- col = getColumnCountForDownloadFile(rr,rd);
- /*if (!rd.reportRowHeaderCols.hasNext())
- col = rd.getTotalColumnCount();
- else
- col = rd.getTotalColumnCount();
- */
- int rowNum = 0;
- HSSFSheet sheet = wb.createSheet(getSheetName());
- sheet.getPrintSetup().setLandscape(true);
-
- if (Globals.getPrintTitleInDownload()&& reportTitle != null ) {
- paintExcelHeader(wb, rowNum, col, reportTitle, reportDescr, sheet);
- rowNum = sheet.getLastRowNum();
- } else
- rowNum = 0;
- if (Globals.getPrintParamsInDownload() && rr.getParamNameValuePairsforPDFExcel(request, 1) != null) {
- ArrayList paramsList = rr.getParamNameValuePairsforPDFExcel(request, 1);
- if(paramsList.size()<=0) {
- paramsList = (ArrayList) request.getSession().getAttribute(AppConstants.SI_FORMFIELD_DOWNLOAD_INFO);
- }
-
- paintExcelParams(wb,rowNum,col,paramsList, rr.getFormFieldComments(request), sheet, reportTitle, reportDescr);
- } // if
- rowNum = sheet.getLastRowNum();
-
- String formattedReportName = new HtmlStripper().stripSpecialCharacters(rr.getReportName());
- formattedDate = new SimpleDateFormat("MMddyyyyHHmm").format(new Date());
- response.reset();
- response.setContentType("application/vnd.ms-excel");
- response.setHeader("Content-disposition", "attachment;filename="+formattedReportName+formattedDate+user_id+".xls");
- sos = response.getOutputStream();
-
- if(type == 3 && rr.getSemaphoreList()==null && !(rr.getReportType().equals(AppConstants.RT_CROSSTAB)) ) { //type = 3 is whole
- //String sql_whole = (String) request.getAttribute(AppConstants.RI_REPORT_SQL_WHOLE);
- String sql_whole = rr.getWholeSQL();
- returnValue = paintExcelData(wb, rowNum, col, rd, styles,rr, sheet, sql_whole, sos, request);
- } else if(type == 2) {
- returnValue = paintExcelData(wb, rowNum, col, rd, styles,rr, sheet, "", sos, request);
- } else {
- //String sql_whole = (String) request.getAttribute(AppConstants.RI_REPORT_SQL_WHOLE);
- int downloadLimit = (rr.getMaxRowsInExcelDownload()>0)?rr.getMaxRowsInExcelDownload():Globals.getDownloadLimit();
- String action = request.getParameter(AppConstants.RI_ACTION);
- if(!(rr.getReportType().equals(AppConstants.RT_CROSSTAB)) && !action.endsWith("session")) {
- rd = rr.loadReportData(-1, AppUtils.getUserID(request), downloadLimit,request, false /*download*/);
- }
- if(rr.getSemaphoreList()!=null) {
- if(rr.getReportType().equals(AppConstants.RT_CROSSTAB)) {
- returnValue = paintExcelData(wb, rowNum, col, rd, styles,rr, sheet, "", sos, request);
- } else {
- rd = rr.loadReportData(-1, AppUtils.getUserID(request), downloadLimit,request, true);
- returnValue = paintExcelData(wb, rowNum, col, rd, styles,rr, sheet, "", sos, request);
- }
- } else {
- returnValue = paintExcelData(wb, rowNum, col, rd, styles,rr, sheet, rr.getWholeSQL(), sos, request);
- }
- }
- if( returnValue == 0 ) {
- if (Globals.getPrintFooterInDownload()) {
- rowNum = sheet.getLastRowNum();
- rowNum += 2;
- paintExcelFooter(wb, rowNum, col, sheet);
- }
- //Alternatively:
- wb.setPrintArea(
- 0, //sheet index
- 0, //start column
- col, //end column
- 0, //start row
- rowNum //end row
- );
- //TODO Remove comment
- wb.write(sos);
- sos.flush();
- sos.close();
- wb = null;
- } else {
- //sos.flush();
- //sos.close();
-/* response.reset();
-
- RequestDispatcher dispatcher = request.getRequestDispatcher("/raptor.htm?action=raptor&r_action=report.message");
- request.setAttribute("message", Globals.getUserDefinedMessageForMemoryLimitReached());
- try {
- dispatcher.forward(request, response);
- } catch (ServletException ex) {}
-*/
- }
- }
- }
-
-
- public void createFlatFileContent(Writer out, ReportData rd, ReportRuntime rr,
- HttpServletRequest request, HttpServletResponse response, String user_id)
- throws IOException, Exception {
- ReportHandler rephandler = new ReportHandler();
- String reportID = rr.getReportID();
- rr = rephandler.loadReportRuntime(request, reportID);
- String query = rr.getWholeSQL();
- String dbInfo = rr.getDbInfo();
- //File f = new File(request.(arg0)("/"));
- DataSet ds = ConnectionUtils.getDataSet(query, dbInfo);
-
- //Writing Column names to the file
- List l = rr.getAllColumns();
- StringBuffer allColumnsBuffer = new StringBuffer();
- DataColumnType dct = null;
-
- for (Iterator iter = l.iterator(); iter.hasNext();) {
- dct = (DataColumnType) iter.next();
- allColumnsBuffer.append(dct.getDisplayName());
- if(iter.hasNext())
- allColumnsBuffer.append("|");
- }
- rd = rr.loadReportData(-1, user_id, -1,request, true);
- //PrintWriter txtOut = new PrintWriter(out);
- //response.setContentType("application/notepad");
- //response.setHeader("Content-disposition", "attachment;filename=download_all_"+AppUtils.getUserID(request)+".txt");
- ServletOutputStream sos = response.getOutputStream();
-
- //No Report Title for flat file.
-// if (Globals.getPrintTitleInDownload() && reportTitle != null) {
-// txtOut.println();
-// txtOut.println("\"" + reportTitle + "\"");
-// txtOut.println();
-// if (Globals.getShowDescrAtRuntime() && nvl(reportDescr).length() > 0) {
-// txtOut.println("\"" + reportDescr + "\"");
-// txtOut.println();
-// }
-// } // if
- // No Params either
-// int count = 0;
-// if (Globals.getPrintParamsInDownload() && reportParamNameValues != null) {
-// for (Iterator iter = reportParamNameValues.iterator(); iter.hasNext();) {
-// count += 1;
-// if(count == 1) txtOut.println();
-// IdNameValue value = (IdNameValue) iter.next();
-// txtOut.println(value.getId() + " = " + value.getName());
-// if(!iter.hasNext()) txtOut.println();
-// } // for
-// } // if
-
-
-
- boolean firstPass = true;
- for (rd.reportDataRows.resetNext(); rd.reportDataRows.hasNext();) {
- DataRow dr = rd.reportDataRows.getNext();
- for (rd.reportRowHeaderCols.resetNext(1); rd.reportRowHeaderCols.hasNext();) {
- RowHeaderCol rhc = rd.reportRowHeaderCols.getNext();
- if (firstPass)
- rhc.resetNext();
- RowHeader rh = rhc.getNext();
-
- sos.print(rh.getRowTitle());
- if(rhc.hasNext()) sos.print("|");
- } // for
- firstPass = false;
-
- for (dr.resetNext(); dr.hasNext();) {
- DataValue dv = dr.getNext();
-
- sos.print( dv.getDisplayValue());
- if(dr.hasNext()) sos.print("|");
- } // for
-
- sos.println();
- } // for
- //sos.flush();
- sos.close();
- } // createFlatFileContent
-
-
- public void createExcel2007FileContent(Writer out, ReportData rd, ReportRuntime rr, HttpServletRequest request,
- HttpServletResponse response, String user_id, int type)
- throws Exception {
-
- // to check performance
- int mb = 1024*1024;
- Runtime runtime = Runtime.getRuntime();
-
- logger.debug(EELFLoggerDelegate.debugLogger, ("STARTING.EXCELX DOWNLOAD...."));
- logger.debug(EELFLoggerDelegate.debugLogger, ("##### Heap utilization statistics [MB] #####"));
- logger.debug(EELFLoggerDelegate.debugLogger, ("Used Memory:"
- + (runtime.totalMemory() - runtime.freeMemory()) / mb));
- logger.debug(EELFLoggerDelegate.debugLogger, ("Free Memory:"
- + runtime.freeMemory() / mb));
- logger.debug(EELFLoggerDelegate.debugLogger, ("Total Memory:" + runtime.totalMemory() / mb));
- logger.debug(EELFLoggerDelegate.debugLogger, ("Max Memory:" + runtime.maxMemory() / mb));
- logger.debug(EELFLoggerDelegate.debugLogger, ("##### END #####"));
-
- // Adding utility for downloading Dashboard reports.
-
- Map<String, XSSFCellStyle> styles = new HashMap<String, XSSFCellStyle>();
- HttpSession session = request.getSession();
- ServletOutputStream sos = null;
- BufferedInputStream buf = null;
- XSSFWorkbook wb = null;
- String formattedReportName = new HtmlStripper().stripSpecialCharacters(rr.getReportName());
- String formattedDate = new SimpleDateFormat("MMddyyyyHHmm").format(new Date());
- //Sheet name to be filled is taken from property. How would this be called if it is Dashboard?
- //commented out since application will create and leave it blank.
- //setSheetName(Globals.getSheetName());
- boolean isDashboard = false;
- if ((session.getAttribute(AppConstants.SI_DASHBOARD_REP_ID)!=null) && ( ((String) session.getAttribute(AppConstants.SI_DASHBOARD_REP_ID)).equals(rr.getReportID())) ) {
- isDashboard = true;
- }
- //boolean isDashboard = (session.getAttribute(AppConstants.SI_DASHBOARD_REP_ID)!=null);
- ArrayList sheetArrayList = new ArrayList();
-
- Map reportRuntimeMap = null;
- Map reportDataMap = null;
-
- ArrayList reportIDList = new ArrayList();
-
- //Map reportDisplayTypeMap = null;
- if(isDashboard) {
- reportRuntimeMap = (TreeMap) request.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP);
- reportDataMap = (TreeMap) request.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP);
-
- if(reportRuntimeMap!=null) {
- Set setReportRuntime = reportRuntimeMap.entrySet();
- for(Iterator iter = setReportRuntime.iterator(); iter.hasNext(); ) {
- Map.Entry entry = (Entry) iter.next();
- ReportRuntime rrDashRep = (ReportRuntime) entry.getValue();
- reportIDList.add(rrDashRep.getReportID());
- }
- }
- }
-
-
-
-
- int col = 0;
- String reportTitle = (nvl(rr.getReportTitle()).length()>0?rr.getReportTitle():rr.getReportName());
- String reportDescr = rr.getReportDescr();
-
- // Total Columns visible in excel
- //col = getColumnCountForDownloadFile(rr, rd);
-
- int rowNum = 0;
-
-
- XSSFSheet sheet = null;
- //save the template
- String filename = "";
- String extension = "";
-
- String sheetRef = null;
-
- FileOutputStream os = null; //template file
- File templateFile = null;
-
- if(isDashboard) {
- if(reportRuntimeMap!=null) {
-
- FileInputStream readTemplate = null;
- //Load customized styles
- int count = 0;
-
- //If template supplied by Application
- String templateFilename = rr.getTemplateFile();
- extension = templateFilename.substring(templateFilename.lastIndexOf(".")+1);
- filename = formattedReportName+formattedDate+user_id;
-
- Set setReportRuntimeWB = reportRuntimeMap.entrySet();
- for(Iterator iter = setReportRuntimeWB.iterator(); iter.hasNext(); ) {
- count++;
- Map.Entry entry = (Entry) iter.next();
- ReportRuntime rrDashRep = (ReportRuntime) entry.getValue();
- os = new FileOutputStream(AppUtils.getTempFolderPath()+ filename+"T."+ nvls(extension, "xlsx"));
-
- if(count==1) {
- if(nvl(rr.getTemplateFile()).length()>0) {
- readTemplate = new FileInputStream(org.openecomp.portalsdk.analytics.system.AppUtils.getExcelTemplatePath()+rr.getTemplateFile());
- wb=new XSSFWorkbook(readTemplate);
- } else {
- //copy the os file to new file and open new file in below line
- wb=new XSSFWorkbook();
- }
- } else {
- readTemplate = new FileInputStream(AppUtils.getTempFolderPath()+ filename+"."+ nvls(extension, "xlsx"));
- wb=new XSSFWorkbook(readTemplate);
- }
- if(rrDashRep!=null)
- styles = loadXSSFStyles(rrDashRep, wb, styles);
- String reportSheetName = new HtmlStripper().stripSpecialCharacters(rrDashRep.getReportName());
- if(nvl(reportSheetName).length()>28)
- reportSheetName = reportSheetName.substring(0, 28);
- sheet = wb.createSheet(count+"-"+reportSheetName);
- if(!Globals.printExcelInLandscapeMode())
- sheet.getPrintSetup().setLandscape(false);
- else
- sheet.getPrintSetup().setLandscape(true);
- wb.write(os);
- os.flush();
- if(nvl(rr.getTemplateFile()).length()>0) {
- readTemplate.close();
- }
- os.close();
-
- FileInputStream inF = new FileInputStream(AppUtils.getTempFolderPath()+ filename+"T."+ nvls(extension, "xlsx"));
- FileOutputStream outStream = new FileOutputStream(AppUtils.getTempFolderPath()+ filename+"."+ nvls(extension, "xlsx"));
- copyStream(inF, outStream);
- outStream.flush();
- outStream.close();
- inF.close();
-
- }
-
- FileInputStream xlsIn = null;
- POIFSFileSystem fileSystem = null;
- buf = null;
- FileOutputStream xlsOut = null;
- formattedDate = new SimpleDateFormat("MMddyyyyHHmm").format(new Date());
- String xlsFName = "dashboard"+formattedDate+user_id+".xls";
-
- Set setReportRuntime = reportRuntimeMap.entrySet();
- Set setReportDataMap = reportDataMap.entrySet();
- Iterator iter2 = setReportDataMap.iterator();
-
-
- //filename = templateFilename.substring(0, templateFilename.lastIndexOf("."))+"_"+formattedDate+user_id;
-
- count = 0;
- for(Iterator iter = setReportRuntime.iterator(); iter.hasNext(); ) {
- count++;
-
- Map.Entry entry = (Entry) iter.next();
- Map.Entry entryData = (Entry) iter2.next();
- ReportRuntime rrDashRep = (ReportRuntime) entry.getValue();
- ReportData rdDashRep = (ReportData) entryData.getValue();
-
- String reportSheetName = new HtmlStripper().stripSpecialCharacters(rrDashRep.getReportName());
- if(nvl(reportSheetName).length()>28)
- reportSheetName = reportSheetName.substring(0, 28);
- sheet = wb.getSheet(count+"-"+reportSheetName);
- sheetRef = sheet.getPackagePart().getPartName().getName();
-
- //Step 2. Generate XML file.
- File tmp = File.createTempFile("sheet", ".xml");
- FileOutputStream fileOutTemp = new FileOutputStream(tmp);
- Writer fw = new OutputStreamWriter(fileOutTemp, XML_ENCODING);
- String sql_whole = rrDashRep.getWholeSQL();
- SpreadsheetWriter sw = new SpreadsheetWriter(fw);
- sw.beginSheet();
-
-
- generate(wb, sw, styles, rdDashRep, sql_whole, rrDashRep, request, sheet);
-
-
- sw.endSheet();
-
- fw.flush();
- fw.close();
- fileOutTemp.flush();
- fileOutTemp.close();
-
-
- //Step 3. Substitute the template entry with the generated data
-
- FileOutputStream outF = new FileOutputStream(AppUtils.getTempFolderPath()+ filename+"."+ nvls(extension, "xlsx"));
- templateFile = new File(AppUtils.getTempFolderPath()+ filename+"T."+ nvls(extension, "xlsx"));
- substitute(templateFile, tmp, sheetRef.substring(1), outF);
- outF.flush();
- outF.close();
-
- FileInputStream inF = new FileInputStream(AppUtils.getTempFolderPath()+ filename+"."+ nvls(extension, "xlsx"));
- FileOutputStream outStream = new FileOutputStream(AppUtils.getTempFolderPath()+ filename+"T."+ nvls(extension, "xlsx"));
- copyStream(inF, outStream);
- outStream.flush();
- outStream.close();
- inF.close();
- }
- }
- } else {
- //If template supplied by Application
- if(nvl(rr.getTemplateFile()).length()>0) {
- String templateFilename = rr.getTemplateFile();
- extension = templateFilename.substring(templateFilename.lastIndexOf(".")+1);
- filename = formattedReportName+formattedDate+user_id;
- //filename = templateFilename.substring(0, templateFilename.lastIndexOf("."))+"_"+formattedDate+user_id;
- } else
- filename = formattedReportName+formattedDate+user_id;
-
-
- if(nvl(rr.getTemplateFile()).length()<=0) {
- os = new FileOutputStream(AppUtils.getTempFolderPath()+"template"+formattedDate+user_id+".xlsx");
- wb=new XSSFWorkbook();
- //Load customized styles
- if (rr != null)
- styles = loadXSSFStyles(rr, wb, styles);
- //create data sheet
- if(isDashboard) {
-
- } else {
-
- }
- String reportSheetName = new HtmlStripper().stripSpecialCharacters(rr.getReportName());
- if(nvl(reportSheetName).length()>28)
- reportSheetName = reportSheetName.substring(0, 28);
- sheet = wb.createSheet(reportSheetName);
-
- //customized mode
- if(!Globals.printExcelInLandscapeMode())
- sheet.getPrintSetup().setLandscape(false);
- else
- sheet.getPrintSetup().setLandscape(true);
- //get data sheet name
- sheetRef = sheet.getPackagePart().getPartName().getName();
- wb.write(os);
- os.flush();
- //wb = null;
- os.close();
-
- } else {
- os = new FileOutputStream(AppUtils.getTempFolderPath()+ filename+"T."+ nvls(extension, "xlsx"));
- FileInputStream readTemplate = new FileInputStream(org.openecomp.portalsdk.analytics.system.AppUtils.getExcelTemplatePath()+rr.getTemplateFile());
- wb=new XSSFWorkbook(readTemplate);
- if (rr != null)
- styles = loadXSSFStyles(rr, wb, styles);
- sheet = wb.getSheetAt(0);
- if(!Globals.printExcelInLandscapeMode())
- sheet.getPrintSetup().setLandscape(false);
- else
- sheet.getPrintSetup().setLandscape(true);
- //sheet = wb.getSheet(getSheetName());
- sheetRef = sheet.getPackagePart().getPartName().getName();
- wb.write(os);
- os.flush();
- readTemplate.close();
- //wb = null;
- os.close();
- }
-
- //Step 2. Generate XML file.
- File tmp = File.createTempFile("sheet", ".xml");
- FileOutputStream fileOutTemp = new FileOutputStream(tmp);
- Writer fw = new OutputStreamWriter(fileOutTemp, XML_ENCODING);
-
- //String sql_whole = (String) request.getAttribute(AppConstants.RI_REPORT_SQL_WHOLE);
- String sql_whole = "";
- if (!rr.getReportType().equals(AppConstants.RT_HIVE))
- sql_whole = rr.getWholeSQL();
- else
- sql_whole = rr.getReportSQL();
-
- SpreadsheetWriter sw = new SpreadsheetWriter(fw);
-
- sw.beginSheet();
-
- if((rd.getDataRowCount() >= rr.getReportDataSize()) && !rr.getReportType().equals(AppConstants.RT_HIVE)) {
- sql_whole="";
- }
-
- generate(wb, sw, styles, rd, sql_whole, rr, request, sheet);
-
- sw.endSheet();
-
- fw.flush();
- fw.close();
- fileOutTemp.flush();
- fileOutTemp.close();
-
-
- //Step 3. Substitute the template entry with the generated data
-
- FileOutputStream outF = new FileOutputStream(AppUtils.getTempFolderPath()+ filename+"."+ nvls(extension, "xlsx"));
-
- if(nvl(rr.getTemplateFile()).length()>0) {
- templateFile = new File(AppUtils.getTempFolderPath()+ filename+"T."+ nvls(extension, "xlsx"));
- } else
- templateFile = new File(AppUtils.getTempFolderPath()+"template"+formattedDate+user_id+".xlsx");
-
- substitute(templateFile, tmp, sheetRef.substring(1), outF);
- outF.flush();
- outF.close();
-
- }
- //get servlet output stream
-
-
- response.reset();
- sos = response.getOutputStream();
- String mime_type = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
- if(extension.equals("xlsm"))
- mime_type = "application/vnd.ms-excel.sheet.macroEnabled.12";
- response.setContentType(mime_type);
-
- response.setHeader("Content-disposition", "attachment;filename="+filename+"."+ nvls(extension, "xlsx"));
-
- buf = new BufferedInputStream(new FileInputStream(AppUtils.getTempFolderPath()+filename + "."+ nvls(extension, "xlsx")));
- int readBytes = 0;
-
- //read from the file; write to the ServletOutputStream
- while ((readBytes = buf.read()) != -1)
- sos.write(readBytes);
-
- buf.close();
- sos.flush();
- sos.close();
- logger.debug(EELFLoggerDelegate.debugLogger, ("ENDING..DOWNLOADING XLSX..."));
- logger.debug(EELFLoggerDelegate.debugLogger, ("##### Heap utilization statistics [MB] #####"));
- logger.debug(EELFLoggerDelegate.debugLogger, ("Used Memory:"
- + (runtime.totalMemory() - runtime.freeMemory()) / mb));
- logger.debug(EELFLoggerDelegate.debugLogger, ("Free Memory:"
- + runtime.freeMemory() / mb));
- logger.debug(EELFLoggerDelegate.debugLogger, ("Total Memory:" + runtime.totalMemory() / mb));
- logger.debug(EELFLoggerDelegate.debugLogger, ("Max Memory:" + runtime.maxMemory() / mb));
- logger.debug(EELFLoggerDelegate.debugLogger, ("##### END #####"));
- }
-
- /**
- *
- * @param zipfile the template file
- * @param tmpfile the XML file with the sheet data
- * @param entry the name of the sheet entry to substitute, e.g. xl/worksheets/sheet1.xml
- * @param out the stream to write the result to
- */
- private static void substitute(File zipfile, File tmpfile, String entry, OutputStream out) throws IOException {
- ZipFile zip = new ZipFile(zipfile);
-
- ZipOutputStream zos = new ZipOutputStream(out);
-
- @SuppressWarnings("unchecked")
- Enumeration<ZipEntry> en = (Enumeration<ZipEntry>) zip.entries();
- while (en.hasMoreElements()) {
- ZipEntry ze = en.nextElement();
- if(!ze.getName().equals(entry)){
- zos.putNextEntry(new ZipEntry(ze.getName()));
- InputStream is = zip.getInputStream(ze);
- copyStream(is, zos);
- is.close();
- }
- }
- zos.putNextEntry(new ZipEntry(entry));
- InputStream is = new FileInputStream(tmpfile);
- copyStream(is, zos);
- zos.flush();
- zos.close();
- is.close();
- zip.close();
- }
-
- private static void copyStream(InputStream in, OutputStream out) throws IOException {
- byte[] chunk = new byte[1024];
- int count;
- while ((count = in.read(chunk)) >=0 ) {
- out.write(chunk,0,count);
- }
- }
-
-
- public void createCSVFileContent(Writer out, ReportData rd,
- ReportRuntime rr, HttpServletRequest request, HttpServletResponse response)
- throws RaptorException {
- //ArrayList reportParamNameValues = rr.getParamNameValuePairs();
- //String reportTitle = rr.getReportName();
- //String reportDescr = rr.getReportDescr();
- PrintWriter csvOut = new PrintWriter(out);
- ServletOutputStream sos = null;
- BufferedInputStream buf = null;
- String fileName = "";
- String formattedReportName = new HtmlStripper().stripSpecialCharacters(rr.getReportName());
- String formattedDate = new SimpleDateFormat("MMddyyyyHHmm").format(new Date());
- String fName = formattedReportName+formattedDate+AppUtils.getUserID(request);
- boolean raw = AppUtils.getRequestFlag(request, "raw");
- String sql_whole = (String) request.getAttribute(AppConstants.RI_REPORT_SQL_WHOLE);
-
-
- String csvFName = fName+".csv";
- String zipFName = fName+".zip";
- if(true) {
- try {
- fileName = AppUtils.getTempFolderPath()+""+csvFName;
- csvOut = new PrintWriter(new BufferedWriter(
- new OutputStreamWriter(
- new FileOutputStream(fileName), "UTF-8")), false);
- } catch (FileNotFoundException fex) {
- fex.printStackTrace();
- }
- catch (UnsupportedEncodingException fex1) {
- fex1.printStackTrace();
- }
- }
- HtmlStripper strip = new HtmlStripper();
- ResultSet rs = null;
- //OracleConnection conn = null;
- //OracleStatement st = null;
- //Connection conO = null;
- //Statement stO = null;
- Connection conn = null;
- Statement st = null;
- ResultSetMetaData rsmd = null;
- ColumnHeaderRow chr = null;
- int mb = 1024*1024;
- Runtime runtime = Runtime.getRuntime();
- String valueName = "";
- if(!raw) {
- String reportTitle = (nvl(rr.getReportTitle()).length()>0?rr.getReportTitle():rr.getReportName());
- csvOut.println();
- csvOut.print("\"" + reportTitle + "\",");
- csvOut.println();
-
- if(Globals.disclaimerPositionedTopInCSVExcel()) {
- if(Globals.getShowDisclaimer()) {
- csvOut.println();
- csvOut.print("\"" + Globals.getFooterFirstLine() + "\",");
- csvOut.println();
- csvOut.print("\"" + Globals.getFooterSecondLine() + "\",");
- csvOut.println();
- csvOut.println();
- }
- }
- }
- if (Globals.getPrintParamsInCSVDownload() && !raw) {
- ArrayList paramsList = rr.getParamNameValuePairsforPDFExcel(request, 1);
- if(paramsList.size()<=0) {
- paramsList = (ArrayList) request.getSession().getAttribute(AppConstants.SI_FORMFIELD_DOWNLOAD_INFO);
- }
- int paramSeq = 0;
- for (Iterator iter = paramsList.iterator(); iter.hasNext();) {
- IdNameValue value = (IdNameValue) iter.next();
- //System.out.println("\"" + value.getId() + " = " + value.getName() + "\"");
- if(nvl(value.getId()).trim().length()>0 && (!nvl(value.getId()).trim().equals("BLANK"))) {
- paramSeq += 1;
- if(paramSeq <= 1) {
- csvOut.print("\"" + "Run-time Parameters" + "\"");
- csvOut.println();
- //strBuf.append("Run-time Parameters\n");
- }
- csvOut.print("\"" + value.getId() +":" + "\",");
- valueName = nvl(value.getName());
- if(valueName.indexOf("~")!= -1 && valueName.startsWith("(")) {
- csvOut.print("\"'" + valueName.replaceAll("~",",")+ "'\",");
- } else {
- if(valueName.startsWith("(") && valueName.endsWith(")")) {
- csvOut.print("\"" + valueName.replaceAll("~",",").substring(1, valueName.length()-1)+ "\",");
- } else
- csvOut.print("\"" + valueName.replaceAll("~",",")+ "\",");
- }
- csvOut.println();
-
- //strBuf.append(value.getId()+": "+ value.getName()+"\n");
- }
- } //for
- csvOut.println();
- csvOut.println();
- }
-
- System.out.println("##### Heap utilization statistics [MB] #####");
- System.out.println("Used Memory:"
- + (runtime.maxMemory() - runtime.freeMemory()) / mb);
- System.out.println("Free Memory:"
- + runtime.freeMemory() / mb);
- System.out.println("Total Memory:" + runtime.totalMemory() / mb);
- System.out.println("Max Memory:" + runtime.maxMemory() / mb);
- if (!rr.getReportType().equals(AppConstants.RT_HIVE))
- sql_whole = rr.getWholeSQL();
- else
- sql_whole = rr.getReportSQL();
- if(nvl(sql_whole).length()>0) {
- try {
- conn = ConnectionUtils.getConnection(rr.getDbInfo());
- st = conn.createStatement();
- //conn.setDefaultRowPrefetch(1000);
- //st.setFetchDirection(ResultSet.TYPE_FORWARD_ONLY);
- //st.setFetchSize(1000);
- System.out.println("************* Map Whole SQL *************");
- System.out.println(sql_whole);
- System.out.println("*****************************************");
- rs = st.executeQuery(sql_whole);
- //st.setFetchSize(1000);
- rsmd = rs.getMetaData();
- int numberOfColumns = rsmd.getColumnCount();
- HashMap colHash = new HashMap();
- String title = "";
-
- if(rd!=null) {
-
- /*if(rd.reportTotalRowHeaderCols!=null) {
- csvOut.print("\"" + "#" + "\",");
- }*/
-
- for (rd.reportColumnHeaderRows.resetNext(); rd.reportColumnHeaderRows.hasNext();) {
- chr = rd.reportColumnHeaderRows.getNext();
- for (chr.resetNext(); chr.hasNext();) {
- ColumnHeader ch = chr.getNext();
- title = ch.getColumnTitle();
- title = Utils.replaceInString(title,"_nl_", " \n");
- if(ch.isVisible() && nvl(title).length()>0) {
- csvOut.print("\"" + title + "\",");
- for (int i = 1; i < ch.getColSpan(); i++)
- csvOut.print(",");
- }
- } // for
-
- csvOut.println();
- } // for
- int rowCount = 0;
- while(rs.next()) {
-/* if(runtime.freeMemory()/mb <= ((runtime.maxMemory()/mb)*Globals.getMemoryThreshold()/100) ) {
- csvOut.print(Globals.getUserDefinedMessageForMemoryLimitReached() + " " + rowCount +"records out of " + rr.getReportDataSize() + " were downloaded to CSV.");
- break;
- }
-*/ rowCount++;
- //if(!raw) {
- colHash = new HashMap();
- for (int i = 1; i <= numberOfColumns; i++) {
- colHash.put(rsmd.getColumnLabel(i).toUpperCase(), rs.getString(i));
- }
- /*if(rd.reportDataTotalRow!=null) {
- csvOut.print("\"" + rowCount + "\",");
- }*/
- for (chr.resetNext(); chr.hasNext();) {
- ColumnHeader ch = chr.getNext();
- title = ch.getColumnTitle();
- title = Utils.replaceInString(title,"_nl_", " \n");
-
- if(ch.isVisible() && nvl(title).length()>0) {
- csvOut.print("\"" + strip.stripCSVHtml(nvl((String)colHash.get(ch.getColId().toUpperCase()))) + "\",");
- }
-
- }
- csvOut.println();
- /*} else {
- for (int i = 1; i <= numberOfColumns; i++) {
- csvOut.print("\"" + strip.stripCSVHtml( rs.getString(i)) + "\",");
- }
- csvOut.println();
- }*/
-
- }
-
- if(rd.reportDataTotalRow!=null) {
- for (rd.reportDataTotalRow.resetNext(); rd.reportDataTotalRow.hasNext();) {
- DataRow dr = rd.reportDataTotalRow.getNext();
- csvOut.print("\"" + "Total" + "\",");
- dr.resetNext();dr.getNext();
- for (; dr.hasNext();) {
- DataValue dv = dr.getNext();
- if(dv.isVisible()) {
- csvOut.print("\"" + strip.stripCSVHtml(dv.getDisplayValue()) + "\",");
- }
- } // for
-
- csvOut.println();
- }
- }
-
- if(rowCount == 0) {
- csvOut.print("\"No Data Found \"");
- }
- } else {
- csvOut.print("\"No Data Found \"");
- }
-
- } catch (SQLException ex) {
- throw new RaptorException(ex);
- } catch (ReportSQLException ex) {
- throw new RaptorException(ex);
- } catch (Exception ex) {
- throw new RaptorException (ex);
- } finally {
- try {
- if(conn!=null)
- conn.close();
- if(st!=null)
- st.close();
- if(rs!=null)
- rs.close();
- } catch (SQLException ex) {
- throw new RaptorException(ex);
- }
- }
-
- if(!raw) {
- if(!Globals.disclaimerPositionedTopInCSVExcel()) {
- if(Globals.getShowDisclaimer()) {
- csvOut.print("\"" + Globals.getFooterFirstLine() + "\",");
- csvOut.println();
- csvOut.print("\"" + Globals.getFooterSecondLine() + "\",");
- csvOut.println();
- }
- }
- }
-
- // csvOut.flush();
- } else {
- boolean firstPass = true;
- if(rd!=null) {
- if(rd.reportTotalRowHeaderCols!=null) {
- csvOut.print("\"" + "#" + "\",");
- }
-
- for (rd.reportColumnHeaderRows.resetNext(); rd.reportColumnHeaderRows.hasNext();) {
- chr = rd.reportColumnHeaderRows.getNext();
- for (rd.reportRowHeaderCols.resetNext(1); rd.reportRowHeaderCols.hasNext();) {
- RowHeaderCol rhc = rd.reportRowHeaderCols.getNext();
-
- if (firstPass)
- csvOut.print("\"" + rhc.getColumnTitle() + "\"");
- csvOut.print(",");
- } // for
- firstPass = false;
-
- for (chr.resetNext(); chr.hasNext();) {
- ColumnHeader ch = chr.getNext();
- if(ch.isVisible()) {
- csvOut.print("\"" + ch.getColumnTitle() + "\",");
- for (int i = 1; i < ch.getColSpan(); i++)
- csvOut.print(",");
- }
- } // for
-
- csvOut.println();
- } // for
-
- firstPass = true;
- int rowCount = 0;
- for (rd.reportDataRows.resetNext(); rd.reportDataRows.hasNext();) {
- if(rd.reportDataTotalRow!=null) {
- rowCount++;
- csvOut.print("\"" + rowCount + "\",");
- }
-
- DataRow dr = rd.reportDataRows.getNext();
-
- for (rd.reportRowHeaderCols.resetNext(1); rd.reportRowHeaderCols.hasNext();) {
- RowHeaderCol rhc = rd.reportRowHeaderCols.getNext();
- if (firstPass)
- rhc.resetNext();
- RowHeader rh = rhc.getNext();
-
- csvOut.print("\"" + strip.stripCSVHtml(rh.getRowTitle()) + "\",");
- } // for
- firstPass = false;
-
- for (dr.resetNext(); dr.hasNext();) {
- DataValue dv = dr.getNext();
- if(dv.isVisible())
- csvOut.print("\"" + strip.stripCSVHtml(dv.getDisplayValue()) + "\",");
- } // for
-
- csvOut.println();
- } // for
- if(rd.reportDataTotalRow!=null) {
- for (rd.reportDataTotalRow.resetNext(); rd.reportDataTotalRow.hasNext();) {
- DataRow dr = rd.reportDataTotalRow.getNext();
- csvOut.print("\"" + "Total" + "\",");
- firstPass = false;
-
- for (dr.resetNext(); dr.hasNext();) {
- DataValue dv = dr.getNext();
- if(dv.isVisible())
- csvOut.print("\"" + strip.stripCSVHtml(dv.getDisplayValue()) + "\",");
- } // for
-
- csvOut.println();
- }
- }
-
- if(!raw) {
- if(!Globals.disclaimerPositionedTopInCSVExcel()) {
- if(Globals.getShowDisclaimer()) {
- csvOut.print("\"" + Globals.getFooterFirstLine() + "\",");
- csvOut.println();
- csvOut.print("\"" + Globals.getFooterSecondLine() + "\",");
- csvOut.println();
- }
- }
- }
-
- //csvOut.flush();
- } else {
- csvOut.print("\"No Data Found \"");
- }
- }
- csvOut.flush();
- csvOut.close();
-
-/*
- if (Globals.getPrintTitleInDownload() && reportTitle != null) {
- csvOut.println();
- csvOut.println("\"" + reportTitle + "\"");
- csvOut.println();
- if (Globals.getShowDescrAtRuntime() && nvl(reportDescr).length() > 0) {
- csvOut.println("\"" + reportDescr + "\"");
- csvOut.println();
- }
- } // if
-
- if (Globals.getPrintParamsInDownload() && reportParamNameValues != null) {
- csvOut.println();
- for (Iterator iter = reportParamNameValues.iterator(); iter.hasNext();) {
- IdNameValue value = (IdNameValue) iter.next();
- csvOut.println("\"" + value.getId() + " = " + value.getName() + "\"");
- } // for
- csvOut.println();
- } // if
-*/
- if(true && !raw) {
- try {
-
- //final int BUFFER = 2048;
-
- //fis.read(buf,0,buf.length);
- int size = 0;
- byte[] buffer = new byte[1024];
-
- //CRC32 crc = new CRC32();
- //PrintStream fos = new PrintStream(new WriterOutputStream(out));
- //BufferedOutputStream dest = new BufferedOutputStream(fos, BUFFER);
- //ZipOutputStream s = new ZipOutputStream(dest);
- ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(AppUtils.getTempFolderPath()+""+zipFName));
- FileInputStream fis = new FileInputStream(fileName);
-
- //s.setLevel(6);
-
- ZipEntry entry = new ZipEntry(csvFName);
- //crc.reset();
- zos.putNextEntry(entry);
-
- // read data to the end of the source file and write it to the zip
- // output stream.
- while ((size = fis.read(buffer, 0, buffer.length)) > 0) {
- zos.write(buffer, 0, size);
- }
-
- zos.closeEntry();
- fis.close();
-
- // Finish zip process
- zos.close();
-
- } catch(Exception e) {
- e.printStackTrace();
- }
- }
-
- response.reset();
- java.io.File file = null;
-
- if(true && !raw) {
- response.setContentType("application/octet-stream");
- response.setHeader("Content-disposition","attachment;filename="+fName+".zip");
- file = new java.io.File(AppUtils.getTempFolderPath()+""+fName+".zip");
- } else {
- response.setContentType("application/csv");
- response.setHeader("Content-disposition","attachment;filename="+fName+".csv");
- file = new java.io.File(AppUtils.getTempFolderPath()+""+fName+".csv");
- }
-
-
- FileInputStream fileIn = null;
- int c;
- try {
- sos = response.getOutputStream();
- fileIn = new FileInputStream(file);
- buf = new BufferedInputStream(fileIn);
- byte [] bOut = new byte [4096];
- //read from the file; write to the ServletOutputStream
- //while ((readBytes = buf.read()) != -1)
- int readBytes = 0;
- while ((readBytes = buf.read (bOut, 0, 4096))> 0) {
- buf.available();
- sos.write (bOut, 0, readBytes);
- }
-
- } catch (IOException ex) {
- ex.printStackTrace();
- }
- catch(Exception e) {
- e.printStackTrace();
- } finally {
- try {
- if (sos != null)
- sos.close();
- if (buf != null)
- buf.close();
- } catch (Exception e1) {
- e1.printStackTrace();
- }
- }
-
- File f = new File (AppUtils.getTempFolderPath()
- + fName);
- if(f.exists()) f.delete();
- System.out.println("##### Heap utilization statistics [MB] #####");
- System.out.println("Used Memory:"
- + (runtime.maxMemory() - runtime.freeMemory()) / mb);
- logger.debug(EELFLoggerDelegate.debugLogger, ("Free Memory:"
- + runtime.freeMemory() / mb));
- logger.debug(EELFLoggerDelegate.debugLogger, ("Total Memory:" + runtime.totalMemory() / mb));
- logger.debug(EELFLoggerDelegate.debugLogger, ("Max Memory:" + runtime.maxMemory() / mb));
-
- } // createCSVFileContent
-
-/* public String saveCSVPageFile(HttpServletRequest request, ReportData rd,
- ArrayList reportParamNameValues, String reportTitle, String reportDescr) {
- try {
- String formattedReportName = new HtmlStripper().stripSpecialCharacters(reportTitle);
- String formattedDate = new SimpleDateFormat("MMddyyyyHHmm").format(new Date());
-
- String csvFName = formattedReportName+formattedDate+AppUtils.getUserID(request)+".csv";
- //String csvFName = AppUtils.generateFileName(request, AppConstants.FT_CSV);
-
- BufferedWriter csvOut = new BufferedWriter(new FileWriter(AppUtils
- .getTempFolderPath()
- + csvFName));
- createCSVFileContent(csvOut, rd, reportParamNameValues, reportTitle, reportDescr);
- csvOut.close();
-
- return csvFName;
- } catch (Exception e) {
- (new ErrorHandler()).processError(request, "Exception saving data to CSV file: "
- + e.getMessage());
- return null;
- }
- } // saveCSVPageFile
-*/
-
-// public String saveAsFlatFile(HttpServletRequest request, ReportData rd,
-// ReportRuntime rr, String reportTitle, String reportDescr) {
-// try {
-// String csvFName = AppUtils.generateFileName(request, AppConstants.FT_TXT);
-//
-// BufferedWriter txtOut = new BufferedWriter(new FileWriter(AppUtils
-// .getTempFolderPath()
-// + csvFName));
-// createFlatFileContent(txtOut, rd, rr, reportTitle, reportDescr);
-// txtOut.close();
-//
-// return csvFName;
-// } catch (Exception e) {
-// (new ErrorHandler()).processError(request, "Exception saving data to CSV file: "
-// + e.getMessage());
-// return null;
-// }
-// } // saveCSVPageFile
-
- public String saveXMLFile(HttpServletRequest request, String reportName, String reportXML) {
- try {
- String xmlFName = AppUtils.generateUniqueFileName(request, reportName, AppConstants.FT_XML);
-
- PrintWriter xmlOut = new PrintWriter(new BufferedWriter(new FileWriter(new File(
- AppUtils.getTempFolderPath() + xmlFName))));
- xmlOut.println(reportXML);
- xmlOut.close();
-
- //return AppUtils.getTempFolderURL()
- // + java.net.URLEncoder.encode(java.net.URLDecoder.decode(xmlFName));
- return java.net.URLEncoder.encode(java.net.URLDecoder.decode(xmlFName));
-
- } catch (Exception e) {
- (new ErrorHandler()).processError(request,
- "Exception saving XML source to file system: " + e.getMessage());
- return null;
- }
- } // saveXMLFile
-
- public ReportRuntime loadReportRuntime(HttpServletRequest request, String reportID)
- throws RaptorException {
- return loadReportRuntime(request, reportID, true);
- } // loadReportRuntime
-
- public ReportRuntime loadReportRuntime(HttpServletRequest request, String reportID,
- boolean prepareForExecution) throws RaptorException {
- return loadReportRuntime(request, reportID, true, 2); // where 2 is adding to session
- }
- public ReportRuntime loadReportRuntime(HttpServletRequest request, String reportID,
- boolean prepareForExecution, int requestFlag) throws RaptorException {
- boolean refresh = nvl(request.getParameter(AppConstants.RI_REFRESH)).toUpperCase().startsWith("Y");
- boolean rDisplayContent = AppUtils.getRequestFlag(request,
- AppConstants.RI_DISPLAY_CONTENT)
- || AppUtils.getRequestFlag(request, "noFormFields");
-
- ReportRuntime rr = (ReportRuntime) request.getSession().getAttribute(
- AppConstants.SI_REPORT_RUNTIME);
- boolean inSchedule = AppUtils.getRequestFlag(request, AppConstants.SCHEDULE_ACTION);
- if (rr != null ) {
- if(requestFlag == 7) { // DASH
- String reportXML = ReportLoader.loadCustomReportXML(reportID);
- logger.debug(EELFLoggerDelegate.debugLogger, ("[DEBUG MESSAGE FROM RAPTOR] Report [" + reportID + "]: XML loaded"));
- rr = ReportRuntime.unmarshal(reportXML, reportID, request);
- rr.setParamValues(request, false,refresh);
- rr.setDisplayFlags(true, true); // show content even at the first time
- return rr;
- } else {
- logger.debug(EELFLoggerDelegate.debugLogger, ("[DEBUG MESSAGE FROM RAPTOR] Load Report Runtime "+ reportID + " " +rr.getReportID() + " " + request.getParameter("refresh") ));
- if (reportID.equals(rr.getReportID()) && (request.getParameter("refresh")==null || !request.getParameter("refresh").equals("Y"))) {
- // The report runtime is already in the session
- if (prepareForExecution) {
- boolean resetParams = AppUtils.getRequestFlag(request,
- AppConstants.RI_RESET_PARAMS);
- rr.setParamValues(request, resetParams,refresh);
-
- if (resetParams)
- rr.resetVisualSettings();
- rr.setDisplayFlags(nvl(request.getParameter(AppConstants.RI_SOURCE_PAGE))
- .length() == 0, rDisplayContent || rr.isDisplayOptionHideForm());
- } // if
-
- return rr;
- } // if
- }
- }
-
- /*
- * Cannot convert the definition => XML file not saved for preview also,
- * commented code not maintained up to date ReportDefinition rdef =
- * (ReportDefinition)
- * request.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION);
- * if(rdef!=null) if(reportID.equals(rdef.getReportID())) { // The
- * report definition is in the session => create report runtime from it
- * rr = new ReportRuntime(rdef, request); if(prepareForExecution) {
- * request.getSession().setAttribute(AppConstants.SI_REPORT_RUNTIME,
- * rr);
- * rr.setDisplayFlags(request.getParameter(AppConstants.RI_SOURCE_PAGE)==null); } //
- * if return rr; } // if
- */
-
- // Report is NOT in the session => load from the database
- String reportXML = ReportLoader.loadCustomReportXML(reportID);
- logger.debug(EELFLoggerDelegate.debugLogger, ("[DEBUG MESSAGE FROM RAPTOR] Report [" + reportID + "]: XML loaded"));
-
- rr = ReportRuntime.unmarshal(reportXML, reportID, request);
- if (prepareForExecution) {
- String userID ;
- int flag = 0;
- if(request.getAttribute("schedule_email_userId") != null) {
- userID = (String)request.getAttribute("schedule_email_userId");
- flag = 1;
- }
- else
- userID = AppUtils.getUserID(request);
- // If it is dashboard type then report can be viewed without specific privilege to report
- String dashboardId = AppUtils.getRequestValue(request, AppConstants.RI_DASHBOARD_ID);
- //System.out.println("USSSSSSSSSSSSERID " + userID);
- //System.out.println("PDF " + AppUtils.getRequestNvlValue(request, "pdfAttachmentKey") );
- if(!rr.isDashboardType() && !(isReportAddedAsDashboard(request, dashboardId, rr.getReportID()))) {
- if ( AppUtils.getRequestNvlValue(request, "pdfAttachmentKey").length()<=0 )
- if(flag == 1 )rr.checkUserReadAccess(request, userID);
- else rr.checkUserReadAccess(request);
- }
- // TODO ON Demand
- //rr.setXmlFileName(saveXMLFile(request, rr.getReportName(), reportXML));
- if (rDisplayContent) {
- //System.out.println("In rDisplayContent ");
- rr.setParamValues(request, false,true);
- //if (requestFlag==2)
- request.getSession().setAttribute(AppConstants.SI_REPORT_RUNTIME, rr);
- }
- if(inSchedule) {
- //System.out.println("In inSchedule ");
- rr.setParamValues(request, false,false);
- }
- if( requestFlag == 7 ) { // DASH
- rr.setDisplayFlags(true, true);
- } else {
- rr.setDisplayFlags(request.getParameter(AppConstants.RI_SOURCE_PAGE) == null,
- rDisplayContent || rr.isDisplayOptionHideForm());
- }
-// System.out.println("Report ID B4 Id in reportHandler "
-// + ( request.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)!=null?((ReportRuntime)request.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).getReportID():"Not in session"));
-// System.out.println("requestFlag " + requestFlag);
- if(requestFlag==2 && !rDisplayContent) {
- //System.out.println("In Request Flag ");
- request.getSession().setAttribute(AppConstants.SI_REPORT_RUNTIME, rr);
- rr.setParamValues(request, false, false);
- }
- else if(requestFlag==1) {
- rr.setParamValues(request, false,refresh);
- request.setAttribute(AppConstants.SI_REPORT_RUNTIME, rr);
-
- }
-// System.out.println("Report ID B4 Id in reportHandler "
-// + ( request.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)!=null?((ReportRuntime)request.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)).getReportID():"Not in session"));
- //request.setAttribute(AppConstants.SI_REPORT_RUNTIME, rr);
- } // if
-
- return rr;
- } // loadReportRuntime
-
- private boolean isReportAddedAsDashboard(HttpServletRequest request, String dashboardId, String reportId)throws RaptorException {
- if(nvl(dashboardId).length() <= 0)
- return false;
- String reportXML = ReportLoader.loadCustomReportXML(dashboardId);
- ReportDefinition rdef = createReportDefinition(request, dashboardId, reportXML);
- List l = rdef.getDashBoardReports().getReportsList();
- for (Iterator iterator = l.iterator(); iterator.hasNext();) {
- Reports reports = (Reports) iterator.next();
- if(reports.getReportId().equals(reportId)) return true;
-
- }
- return false;
- }
-
- public ReportDefinition createReportDefinition(HttpServletRequest request,
- String reportID, String reportXML) throws RaptorException {
- ReportDefinition rdef = ReportDefinition.unmarshal(reportXML, reportID, request);
- rdef.generateWizardSequence(request);
- return rdef;
- } // createReportDefinition
-
- public ReportDefinition loadReportDefinition(HttpServletRequest request, String reportID)
- throws RaptorException {
- //System.out.println("********* ReportID " + reportID);
- boolean isReportIDBlank = (reportID.length() == 0 || reportID.equals("-1"));
- String actionKey = nvl(request.getParameter(AppConstants.RI_ACTION), "");
- String wizardActionKey = nvl(request.getParameter(AppConstants.RI_WIZARD_ACTION), "");
- ReportDefinition rdef = (ReportDefinition) request.getSession().getAttribute(
- AppConstants.SI_REPORT_DEFINITION);
- if(nvl(actionKey).equals("report.edit"))
- rdef = null;
- //ReportDefinition rdef = null;
- if (rdef != null)
- if (isReportIDBlank || reportID.equals(rdef.getReportID())) {
- // The report definition is already in the session
- return rdef;
- }
-
- ReportRuntime rr = (ReportRuntime) request.getSession().getAttribute(
- AppConstants.SI_REPORT_RUNTIME);
- if (rr != null)
- if (isReportIDBlank || reportID.equals(rr.getReportID())) {
- // The report runtime is in the session => create report
- // definition from it
- rdef = new ReportDefinition(rr, request);
- String userID = AppUtils.getUserID(request);
- rdef.generateWizardSequence(request);
- // rdef.checkUserWriteAccess(userID);
-
- request.getSession().setAttribute(AppConstants.SI_REPORT_DEFINITION, rdef);
- return rdef;
- } // if
-
- // Report is NOT in the session => load from the database
- if (isReportIDBlank)
- rdef = ReportDefinition.createBlank(request);
- else {
- String reportXML = ReportLoader.loadCustomReportXML(reportID);
- logger.debug(EELFLoggerDelegate.debugLogger, ("[DEBUG MESSAGE FROM RAPTOR] Report [" + reportID + "]: XML loaded"));
- rdef = createReportDefinition(request, reportID, reportXML);
- } // else
-
- request.getSession().setAttribute(AppConstants.SI_REPORT_DEFINITION, rdef);
- return rdef;
- } // loadReportDefinition
-
- public void setSheetName( String sheet_name ) {
- SHEET_NAME = sheet_name;
- }
-
- public String getSheetName() {
- return SHEET_NAME;
- }
-
- /**
- * Writes spreadsheet data in a Writer.
- * (YK: in future it may evolve in a full-featured API for streaming data in Excel)
- */
- public static class SpreadsheetWriter {
- private final Writer _out;
- private int _rownum;
-
- public SpreadsheetWriter(Writer out){
- _out = out;
- }
-
- public void beginSheet() throws IOException {
- _out.write("<?xml version=\"1.0\" encoding=\""+XML_ENCODING+"\"?>" +
- "<worksheet xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\">" );
- _out.write("<sheetData>\n");
- }
-
- public void endSheet() throws IOException {
- _out.write("</sheetData>");
- _out.write("</worksheet>");
- }
-
- /**
- * Insert a new row
- *
- * @param rownum 0-based row number
- */
- public void insertRow(int rownum) throws IOException {
- _out.write("<row r=\""+(rownum+1)+"\">\n");
- this._rownum = rownum;
- }
-
- /**
- * Insert row end marker
- */
- public void endRow() throws IOException {
- _out.write("</row>\n");
- }
-
- public void createCell(int columnIndex, String value, int styleIndex) throws IOException {
- String ref = new CellReference(_rownum, columnIndex).formatAsString();
- _out.write("<c r=\""+ref+"\" t=\"inlineStr\"");
- if(styleIndex != -1) _out.write(" s=\""+styleIndex+"\"");
- _out.write(">");
- _out.write("<is><t>"+value+"</t></is>");
- _out.write("</c>");
- }
-
- public void createCell(int columnIndex, String value) throws IOException {
- createCell(columnIndex, value, -1);
- }
-
- public void createCell(int columnIndex, double value, int styleIndex) throws IOException {
- String ref = new CellReference(_rownum, columnIndex).formatAsString();
- _out.write("<c r=\""+ref+"\" t=\"n\"");
- if(styleIndex != -1) _out.write(" s=\""+styleIndex+"\"");
- _out.write(">");
- _out.write("<v>"+value+"</v>");
- _out.write("</c>");
- }
-
- public void createCell(int columnIndex, double value) throws IOException {
- createCell(columnIndex, value, -1);
- }
-
- public void createCell(int columnIndex, Calendar value, int styleIndex) throws IOException {
- createCell(columnIndex, DateUtil.getExcelDate(value, false), styleIndex);
- }
- }
-
- public int getColumnCountForDownloadFile(ReportRuntime rr, ReportData rd) {
- int columnCount = 0;
- for (rd.reportColumnHeaderRows.resetNext(); rd.reportColumnHeaderRows.hasNext();) {
- ColumnHeaderRow chr = rd.reportColumnHeaderRows.getNext();
- for(chr.resetNext(); chr.hasNext(); ) {
- ColumnHeader ch = chr.getNext();
- if(ch.isVisible()) {
- columnCount++;
- }
- }
- }
- if(rr.getReportType().equals(AppConstants.RT_CROSSTAB)) {
- for (rd.reportRowHeaderCols.resetNext(); rd.reportRowHeaderCols.hasNext();) {
- RowHeaderCol rhc = rd.reportRowHeaderCols.getNext();
- if(rhc.isVisible()) {
- columnCount++;
- }
- }
- }
- return columnCount;
- }
-
-
- private Map<String, XSSFCellStyle> loadXSSFStyles(ReportRuntime rr, XSSFWorkbook wb, Map<String, XSSFCellStyle> loadedStyles) {
- XSSFCellStyle styleDefault = wb.createCellStyle();
- //System.out.println("Load Styles");
- // Style default will be normal with no background
- XSSFFont fontDefault = wb.createFont();
-
- XSSFDataFormat xssffmt = wb.createDataFormat();
- // The default will be plain .
- fontDefault.setColor((short) HSSFFont.COLOR_NORMAL);
- fontDefault.setFontHeight((short) (font_size / 0.05));
- fontDefault.setFontName("Tahoma");
-
- styleDefault.setAlignment(XSSFCellStyle.ALIGN_CENTER);
- styleDefault.setBorderBottom(XSSFCellStyle.BORDER_THIN);
- styleDefault.setBorderTop(XSSFCellStyle.BORDER_THIN);
- styleDefault.setBorderLeft(XSSFCellStyle.BORDER_THIN);
- styleDefault.setBorderRight(XSSFCellStyle.BORDER_THIN);
- // styleDefault.setFillForegroundColor(HSSFColor.YELLOW.index);
- styleDefault.setFillPattern(XSSFCellStyle.NO_FILL);
- styleDefault.setFont(fontDefault);
- ArrayList semColumnList = new ArrayList();
- List dsList = rr.getDataSourceList().getDataSource();
- for (Iterator iter = dsList.iterator(); iter.hasNext();) {
- DataSourceType element = (DataSourceType) iter.next();
- List dcList = element.getDataColumnList().getDataColumn();
- for (Iterator iterator = dcList.iterator(); iterator.hasNext();) {
- DataColumnType element1 = (DataColumnType) iterator.next();
- semColumnList.add(element1.getSemaphoreId());
-
- }
- }
- SemaphoreList semList = rr.getSemaphoreList();
- Map<String, XSSFCellStyle> hashMapStyles = new HashMap<String, XSSFCellStyle>();;
- Map<String, XSSFFont> hashMapFonts = new HashMap<String, XSSFFont>();
- hashMapFonts.put("default", fontDefault);
- hashMapStyles.put("default", styleDefault);
- XSSFCellStyle styleLeftDefault = wb.createCellStyle();
- styleLeftDefault.setAlignment(XSSFCellStyle.ALIGN_LEFT);
- styleLeftDefault.setBorderBottom(XSSFCellStyle.BORDER_THIN);
- styleLeftDefault.setBorderTop(XSSFCellStyle.BORDER_THIN);
- styleLeftDefault.setBorderLeft(XSSFCellStyle.BORDER_THIN);
- styleLeftDefault.setBorderRight(XSSFCellStyle.BORDER_THIN);
- // styleDefault.setFillForegroundColor(HSSFColor.YELLOW.index);
- styleLeftDefault.setFillPattern(XSSFCellStyle.NO_FILL);
- styleLeftDefault.setFont(fontDefault);
- hashMapStyles.put("defaultLeft", styleLeftDefault);
-
-
- XSSFCellStyle styleDate = wb.createCellStyle();
- styleDate.setAlignment(XSSFCellStyle.ALIGN_RIGHT);
- styleDate.setDataFormat(xssffmt.getFormat("d-mmm-yy"));
- styleDate.setAlignment(XSSFCellStyle.ALIGN_CENTER);
- styleDate.setBorderBottom(XSSFCellStyle.BORDER_THIN);
- styleDate.setBorderTop(XSSFCellStyle.BORDER_THIN);
- styleDate.setBorderLeft(XSSFCellStyle.BORDER_THIN);
- styleDate.setBorderRight(XSSFCellStyle.BORDER_THIN);
- // styleDefault.setFillForegroundColor(HSSFColor.YELLOW.index);
- styleDate.setFillPattern(XSSFCellStyle.NO_FILL);
- styleDate.setFont(fontDefault);
- hashMapStyles.put("date", styleDate);
-
- XSSFCellStyle rowHeaderStyle = wb.createCellStyle();
- XSSFFont headerFont = wb.createFont();
- headerFont.setBold(true);
- rowHeaderStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
- rowHeaderStyle.setFillPattern(XSSFCellStyle.SOLID_FOREGROUND);
- rowHeaderStyle.setFont(headerFont);
- rowHeaderStyle.setBorderTop(XSSFCellStyle.BORDER_THIN);
- rowHeaderStyle.setBorderLeft(XSSFCellStyle.BORDER_THIN);
- rowHeaderStyle.setBorderBottom(XSSFCellStyle.BORDER_THIN);
- rowHeaderStyle.setBorderRight(XSSFCellStyle.BORDER_THIN);
- hashMapStyles.put("header", rowHeaderStyle);
-
-
- XSSFCellStyle boldStyle = wb.createCellStyle();
- //headerFont = wb.createFont();
- //headerFont.setBold(true);
- boldStyle.setFont(headerFont);
- boldStyle.setBorderTop(XSSFCellStyle.BORDER_THIN);
- boldStyle.setBorderLeft(XSSFCellStyle.BORDER_THIN);
- boldStyle.setBorderBottom(XSSFCellStyle.BORDER_THIN);
- boldStyle.setBorderRight(XSSFCellStyle.BORDER_THIN);
- boldStyle.setAlignment(HorizontalAlignment.CENTER);
- hashMapStyles.put("title", boldStyle);
-
- XSSFCellStyle cellStyle = null;
- if (semList == null || semList.getSemaphore() == null) {
- hashMapStyles.put("default", styleDefault);
- } /*else {
- for (Iterator iter = semList.getSemaphore().iterator(); iter.hasNext();) {
- SemaphoreType sem = (SemaphoreType) iter.next();
- if(!semColumnList.contains(sem.getSemaphoreId())) continue;
- //System.out.println("SemphoreId ----> " + sem.getSemaphoreId());
- FormatList fList = sem.getFormatList();
- List formatList = fList.getFormat();
- for (Iterator fIter = formatList.iterator(); fIter.hasNext();) {
- FormatType fmt = (FormatType) fIter.next();
- if(fmt!=null){
- //if (fmt.getLessThanValue().length() > 0) {
- cellStyle = wb.createCellStyle();
- XSSFFont cellFont = wb.createFont();
- //System.out.println("Format Id " + fmt.getFormatId());
- if (nvl(fmt.getBgColor()).length() > 0) {
-// System.out.println("Load Styles " +
-// fmt.getFormatId()
-// + " " +fmt.getBgColor() + " " +
-// ExcelColorDef.getExcelColor(fmt.getBgColor()));
- cellStyle.setFillForegroundColor(ExcelColorDef.getExcelColor(fmt
- .getBgColor()));
- cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
- }
- if (nvl(fmt.getFontColor()).length() > 0) {
- cellFont.setColor(ExcelColorDef.getExcelColor(fmt.getFontColor()));
- } else
- cellFont.setColor((short) HSSFFont.COLOR_NORMAL);
- if (fmt.isBold())
- cellFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
- if (fmt.isItalic())
- cellFont.setItalic(true);
- if (fmt.isUnderline())
- cellFont.setUnderline(HSSFFont.U_SINGLE);
- if(nvl(fmt.getFontFace()).length()>0)
- cellFont.setFontName(fmt.getFontFace());
- else
- cellFont.setFontName("Tahoma");
- //cellFont.setFontHeight((short) (10 / 0.05));
-
- if(nvl(fmt.getFontSize()).length()>0) {
- try {
- cellFont.setFontHeight((short) (Integer.parseInt(fmt.getFontSize()) / 0.05));
- } catch(NumberFormatException e){
- cellFont.setFontHeight((short) (font_size / 0.05));
- }
- }
- else
- cellFont.setFontHeight((short) (font_size / 0.05));
- cellStyle.setFont(cellFont);
- cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
- cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
- cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);
- cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);
- cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);
- hashMapStyles.put(fmt.getFormatId(), cellStyle);
- } else {
- //hashMapStyles.put(fmt.getFormatId(), styleDefault);
- hashMapStyles.put("default", styleDefault);
- }
- }
-
- }
- }*/
- loadedStyles.putAll(hashMapStyles);
- return loadedStyles;
- }
-
- private void generate(XSSFWorkbook wb, SpreadsheetWriter sw, Map<String, XSSFCellStyle> styles, ReportData rd, String sql_whole, ReportRuntime rr, HttpServletRequest request, XSSFSheet sheet) throws Exception {
- HtmlStripper strip = new HtmlStripper();
- XSSFCellStyle styleCell = null;
- XSSFCellStyle styleRowCell = null;
- XSSFCellStyle styleDefaultCell = null;
-
- styleDefaultCell = (XSSFCellStyle) styles.get("default");
-
-
- // to check performance
- int mb = 1024*1024;
- Runtime runtime = Runtime.getRuntime();
-
- int rowNum = 0;
- /*short s1 = 0, s2 = (short) (col-1);
- rowNum += 1;
- sw.insertRow(rowNum);
- int styleIndex = styles.get("header").getIndex();
- sw.createCell(rowNum, reportTitle, styleIndex);
-
- //header.setCenter(HSSFHeader.font("Tahoma", "")+ HSSFHeader.fontSize((short) 9)+reportTitle+"\n"+((Globals.getShowDescrAtRuntime() && nvl(reportDescr).length() > 0)?reportDescr:""));
-
- // Report Description
- if (Globals.getShowDescrAtRuntime() && nvl(reportDescr).length() > 0) {
- sw.createCell(rowNum, reportDescr, styleIndex);
- }
- rowNum += 2;
- sw.insertRow(rowNum);*/
- int cellNum = 0;
-
-
- ColumnHeaderRow chr = null;
- java.util.HashMap dataTypeMap = new java.util.HashMap();
- boolean firstPass = true;
- int columnRows = rr.getVisibleColumnCount() ;
-
- HttpSession session = request.getSession();
- String drilldown_index = (String) session.getAttribute("drilldown_index");
- int index = 0;
- try {
- index = Integer.parseInt(drilldown_index);
- } catch (NumberFormatException ex) {
- index = 0;
- }
- String header = (String) session.getAttribute("TITLE_"+index);
- String subtitle = (String) session.getAttribute("SUBTITLE_"+index);
- if(nvl(header).length()>0) {
- header = Utils.replaceInString(header, "<BR/>", " ");
- header = Utils.replaceInString(header, "<br/>", " ");
- header = Utils.replaceInString(header, "<br>", " ");
- header = strip.stripHtml(nvl(header).trim());
- subtitle = Utils.replaceInString(subtitle, "<BR/>", " ");
- subtitle = Utils.replaceInString(subtitle, "<br/>", " ");
- subtitle = Utils.replaceInString(subtitle, "<br>", " ");
- subtitle = strip.stripHtml(nvl(subtitle).trim());
- //XSSFRow row = sheet.createRow(rowNum);
- sw.insertRow(rowNum);
- cellNum = 0;
- //XSSFCell cell = row.createCell(cellNum);
- sw.createCell(cellNum, Utils.excelEncode(header));
- for (int i = 1; i <= columnRows; i++) {
- sw.createCell(cellNum+i, "");
- }
- sheet.addMergedRegion(new CellRangeAddress(rowNum+1, rowNum+1, cellNum+1, columnRows));
- sw.endRow();
-/* cell.setCellValue(Utils.excelEncode(header));
- cell.setCellStyle(styles.get("title"));
-*/ //sw.createCell(cellNum,Utils.excelEncode(header), styles.get("title").getIndex());
-// sheet.addMergedRegion(new CellRangeAddress(rowNum+1, rowNum+1, cellNum+1, columnRows));
- rowNum += 1;
-// row = sheet.createRow(rowNum);
- sw.insertRow(rowNum);
- cellNum = 0;
-/* cell = row.createCell(cellNum);
- cell.setCellValue(Utils.excelEncode(subtitle));
- cell.setCellStyle(styles.get("title"));
-*/ //sw.createCell(cellNum,Utils.excelEncode(header), styles.get("title").getIndex());
-
- sheet.addMergedRegion(new CellRangeAddress(rowNum+1, rowNum+1, cellNum+1, columnRows));
- sw.createCell(cellNum, Utils.excelEncode(subtitle));
- sw.endRow();
- //sheet.addMergedRegion(new CellRangeAddress(rowNum+1, rowNum+1, cellNum+1, columnRows));
-/* sw.insertRow(rowNum);
- cellNum = 0;
- sw.createCell(cellNum,Utils.excelEncode(subtitle), styles.get("title").getIndex());
- sheet.addMergedRegion(new CellRangeAddress(rowNum+1, rowNum+1, cellNum+1, columnRows));
-
-*/ rowNum += 1;
- }
- cellNum = 0;
- String title = "";
- for (rd.reportColumnHeaderRows.resetNext(); rd.reportColumnHeaderRows.hasNext();) {
- sw.insertRow(rowNum);
- cellNum = -1;
- /*if(rd.reportTotalRowHeaderCols!=null) {
- cellNum +=1;
- sw.createCell(cellNum, "No.", styles.get("header").getIndex());
-
- //row.getCell((short) cellNum).setCellStyle(styleDataHeader);
- }*/
- chr = rd.reportColumnHeaderRows.getNext();
-
- if(nvl(sql_whole).length() <= 0 || (!rr.getReportType().equals(AppConstants.RT_LINEAR))) {
-
- for (rd.reportRowHeaderCols.resetNext(1); rd.reportRowHeaderCols.hasNext();) {
- cellNum += 1;
- RowHeaderCol rhc = rd.reportRowHeaderCols.getNext();
- title = rhc.getColumnTitle();
- title = Utils.replaceInString(title,"_nl_", " \n");
-
- sw.createCell(cellNum,Utils.excelEncode(title), styles.get("header").getIndex());
- //sheet.addMergedRegion(new Region(rowNum, (short) cellNum, rowNum+columnRows, (short) (cellNum)));
- //System.out.println(" **************** Row Header Title " + rhc.getColumnTitle() + " " + cellNum + " " );
- //System.out.println(cellNum + " " + cellWidth.size());
- } // for
-
- }
-
- firstPass = false;
- for (chr.resetNext(); chr.hasNext();) {
- ColumnHeader ch = chr.getNext();
- if(ch.isVisible()) {
- cellNum += 1;
- int colSpan = ch.getColSpan()-1;
- title = ch.getColumnTitle();
- title = Utils.replaceInString(title,"_nl_", " \n");
- sw.createCell(cellNum, Utils.excelEncode(title), styles.get("header").getIndex());
- if(colSpan > 0) {
- for ( int k = 1; k <= colSpan; k++ ) {
- sw.createCell(cellNum+k, "", styles.get("header").getIndex());
- }
- //sheet.addMergedRegion(new Region(rowNum, (short) cellNum, rowNum, (short) (cellNum+colSpan)));
- }
- if(colSpan > 0)
- cellNum += colSpan;
- }
- } // for
- rowNum += 1;
- } // for
-
- sw.endRow();
- //All the possible combinations of date format
- CreationHelper createHelper = wb.getCreationHelper();
- HashMap<String, Short> dateFormatMap = new HashMap<String, Short>();
-
- SimpleDateFormat MMDDYYYYFormat = new SimpleDateFormat("MM/dd/yyyy");
- SimpleDateFormat YYYYMMDDFormat = new SimpleDateFormat("yyyy/MM/dd");
- SimpleDateFormat MONYYYYFormat = new SimpleDateFormat("MMM yyyy");
- SimpleDateFormat MMYYYYFormat = new SimpleDateFormat("MM/yyyy");
- SimpleDateFormat MMMMMDDYYYYFormat = new SimpleDateFormat("MMMMM dd, yyyy");
- SimpleDateFormat YYYYMMDDDASHFormat = new SimpleDateFormat("yyyy-MM-dd");
- SimpleDateFormat timestampFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- SimpleDateFormat DDMONYYYYFormat = new SimpleDateFormat("dd-MMM-yyyy");
- SimpleDateFormat MONTHYYYYFormat = new SimpleDateFormat("MMMMM, yyyy");
- SimpleDateFormat MMDDYYYYHHMMSSFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
- SimpleDateFormat MMDDYYYYHHMMFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm");
- SimpleDateFormat YYYYMMDDHHMMSSFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
- SimpleDateFormat YYYYMMDDHHMMFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm");
- SimpleDateFormat DDMONYYYYHHMMSSFormat = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
- SimpleDateFormat DDMONYYYYHHMMFormat = new SimpleDateFormat("dd-MMM-yyyy HH:mm");
- SimpleDateFormat DDMONYYHHMMFormat = new SimpleDateFormat("dd-MMM-yy HH:mm");
- SimpleDateFormat MMDDYYFormat = new SimpleDateFormat("MM/dd/yy");
- SimpleDateFormat MMDDYYHHMMFormat = new SimpleDateFormat("MM/dd/yy HH:mm");
- SimpleDateFormat MMDDYYHHMMSSFormat = new SimpleDateFormat("MM/dd/yy HH:mm:ss");
- SimpleDateFormat MMDDYYYYHHMMZFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm z");
- SimpleDateFormat MMMMMDDYYYYHHMMSS = new SimpleDateFormat("MMMMM-dd-yyyy HH:mm:ss");
-
- short dateFormat = createHelper.createDataFormat().getFormat("MM/dd/yyyy");
- dateFormatMap.put("MMDDYYYY", new Short(dateFormat));
- dateFormat = createHelper.createDataFormat().getFormat("yyyy/MM/dd");
- dateFormatMap.put("YYYYMMDD", new Short(dateFormat));
- dateFormat = createHelper.createDataFormat().getFormat("MMM yyyy");
- dateFormatMap.put("MONYYYY", new Short(dateFormat));
- dateFormat = createHelper.createDataFormat().getFormat("MM/yyyy");
- dateFormatMap.put("MMYYYY", new Short(dateFormat));
- dateFormat = createHelper.createDataFormat().getFormat("MMMMM dd, yyyy");
- dateFormatMap.put("MMMMMDDYYYY", new Short(dateFormat));
- dateFormat = createHelper.createDataFormat().getFormat("yyyy-MM-dd");
- dateFormatMap.put("YYYYMMDDDASH", new Short(dateFormat));
- dateFormat = createHelper.createDataFormat().getFormat("yyyy-MM-dd HH:mm:ss");
- dateFormatMap.put("timestamp", new Short(dateFormat));
- dateFormat = createHelper.createDataFormat().getFormat("dd-MMM-yyyy");
- dateFormatMap.put("MONTHYYYY", new Short(dateFormat));
- dateFormat = createHelper.createDataFormat().getFormat("MMMMM, yyyy");
- dateFormatMap.put("MMDDYYYY", new Short(dateFormat));
- dateFormat = createHelper.createDataFormat().getFormat("MM/dd/yyyy HH:mm:ss");
- dateFormatMap.put("MMDDYYYYHHMM", new Short(dateFormat));
- dateFormat = createHelper.createDataFormat().getFormat("MM/dd/yyyy HH:mm");
- dateFormatMap.put("MMDDYYYY", new Short(dateFormat));
- dateFormat = createHelper.createDataFormat().getFormat("yyyy/MM/dd HH:mm:ss");
- dateFormatMap.put("YYYYMMDDHHMMSS", new Short(dateFormat));
- dateFormat = createHelper.createDataFormat().getFormat("yyyy/MM/dd HH:mm");
- dateFormatMap.put("YYYYMMDDHHMM", new Short(dateFormat));
- dateFormat = createHelper.createDataFormat().getFormat("dd-MMM-yyyy HH:mm:ss");
- dateFormatMap.put("DDMONYYYYHHMMSS", new Short(dateFormat));
- dateFormat = createHelper.createDataFormat().getFormat("dd-MMM-yyyy HH:mm");
- dateFormatMap.put("DDMONYYYYHHMM", new Short(dateFormat));
- dateFormat = createHelper.createDataFormat().getFormat("dd-MMM-yy HH:mm");
- dateFormatMap.put("DDMONYYHHMM", new Short(dateFormat));
- dateFormat = createHelper.createDataFormat().getFormat("dd-MMM-yyyy");
- dateFormatMap.put("DDMONYYYY", new Short(dateFormat));
- dateFormat = createHelper.createDataFormat().getFormat("MM/dd/yy");
- dateFormatMap.put("MMDDYY", new Short(dateFormat));
- dateFormat = createHelper.createDataFormat().getFormat("MM/dd/yy HH:mm");
- dateFormatMap.put("MMDDYYHHMM", new Short(dateFormat));
- dateFormat = createHelper.createDataFormat().getFormat("MM/dd/yy HH:mm:ss");
- dateFormatMap.put("MMDDYYHHMMSS", new Short(dateFormat));
- dateFormat = createHelper.createDataFormat().getFormat("MM/dd/yyyy HH:mm z");
- dateFormatMap.put("MMDDYYYYHHMMZ", new Short(dateFormat));
- dateFormat = createHelper.createDataFormat().getFormat("MMMMM-dd-yyyy HH:mm:ss");
- dateFormatMap.put("MMMMMDDYYYYHHMMSS", new Short(dateFormat));
-
- ResultSet rs = null;
- Connection conn = null;
- Statement st = null;
- ResultSetMetaData rsmd = null;
-
-
- if(nvl(sql_whole).length() >0 && (rr.getReportType().equals(AppConstants.RT_LINEAR) || rr.getReportType().equals(AppConstants.RT_HIVE) )) {
- try {
- conn = ConnectionUtils.getConnection(rr.getDbInfo());
- st = conn.createStatement();
- logger.debug(EELFLoggerDelegate.debugLogger, ("************* Map Whole SQL *************"));
- logger.debug(EELFLoggerDelegate.debugLogger, (sql_whole));
- logger.debug(EELFLoggerDelegate.debugLogger, ("*****************************************"));
- rs = st.executeQuery(sql_whole);
- rsmd = rs.getMetaData();
- int numberOfColumns = rsmd.getColumnCount();
- HashMap colHash = new HashMap();
- DataRow dr = null;
- int j = 0;
- int rowCount = 0;
- while(rs.next()) {
-
- rowCount++;
-
- if(rowCount%10000 == 0) {
- // to check performance
- logger.debug(EELFLoggerDelegate.debugLogger, ("Performance check for "+rowCount+" starting**************"));
- logger.debug(EELFLoggerDelegate.debugLogger, ("##### Heap utilization statistics [MB] #####"));
- logger.debug(EELFLoggerDelegate.debugLogger, ("Used Memory:"
- + (runtime.totalMemory() - runtime.freeMemory()) / mb));
- logger.debug(EELFLoggerDelegate.debugLogger, ("Free Memory:"
- + runtime.freeMemory() / mb));
- logger.debug(EELFLoggerDelegate.debugLogger, ("Total Memory:" + runtime.totalMemory() / mb));
- logger.debug(EELFLoggerDelegate.debugLogger, ("Max Memory:" + runtime.maxMemory() / mb));
- System.out.println(rowCount+"TH ROW****##### END #####");
-
- //
- }
- sw.insertRow(rowNum);
- cellNum = -1;
- colHash = new HashMap();
- for (int i = 1; i <= numberOfColumns; i++) {
- colHash.put(rsmd.getColumnName(i).toUpperCase(), strip.stripHtml(rs.getString(i)));
- }
- rd.reportDataRows.resetNext();
- dr = rd.reportDataRows.getNext();
- styleRowCell = null;
- if (dr.isRowFormat() && styles != null)
- styleRowCell = (XSSFCellStyle) styles.get(nvl(/*dr.getFormatId(),*/"","default"));
- j = 0;
- //if(rowCount%1000 == 0) wb.write(sos);
-
- /*if(rd.reportTotalRowHeaderCols!=null) {
- //cellNum = -1;
- //for (rd.reportRowHeaderCols.resetNext(); rd.reportRowHeaderCols.hasNext();) {
- cellNum += 1;
- //RowHeaderCol rhc = rd.reportRowHeaderCols.getRowHeaderCol(0);
- //if (firstPass)
- // rhc.resetNext();
- //RowHeader rh = rhc.getRowHeader(rowCount-1);
- sw.createCell(cellNum, rowCount, styleDefaultCell.getIndex());
-
- //} // for
- }*/
- firstPass = false;
- //cellNum = -1;
- for (dr.resetNext(); dr.hasNext();j++) {
- styleCell = null;
- //for (chr.resetNext(); chr.hasNext();) {
- //ColumnHeader ch = chr.getNext();
- DataValue dv = dr.getNext();
- HtmlFormatter htmlFormat = dv.getCellFormatter();
-
- if (htmlFormat != null && dv.getFormatId() != null && styles != null)
- styleCell = (XSSFCellStyle) styles.get(nvl(/*dv.getFormatId()*/"","default"));
- String value = nvl((String)colHash.get(dv.getColId().toUpperCase()));
-
- boolean bold = false;
-
- if(dv.isVisible()) {
- cellNum += 1;
- //System.out.println("Stripping HTML 1");
- //cell.setCellValue(strip.stripHtml(dv.getDisplayValue()));
- String dataType = (String) (dataTypeMap.get(dv.getColId()));
- //System.out.println("Value " + value + " " + (( dataType !=null && dataType.equals("DATE")) || (dv.getColName()!=null && dv.getColName().toLowerCase().endsWith("date"))) );
- if (dataType!=null && dataType.equals("NUMBER")){
- //cellNumber = row.createCell((short) cellNum);
- //cellNumber.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
- //cellNumber.setCellValue(dv.getDisplayValue());
- //cellCurrencyNumber = row.createCell((short) cellNum);
- int zInt = 0;
- if (value.equals("null")){
- sw.createCell(cellNum,zInt,styles.get(nvl(/*dv.getFormatId()*/"","default")).getIndex());
- }else{
-
- if ((value.indexOf("."))!= -1){
- if ((value.trim().startsWith("$")) || (value.trim().startsWith("-$") )) {
-
- //if (dv.getDisplayValue().startsWith("$")){
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("($#,##0.00);($#,##0.00)"));
- String tempDollar = dv.getDisplayValue().trim();
- tempDollar = tempDollar.replaceAll(" ", "").substring(0);
- tempDollar = tempDollar.replaceAll("\\$", "").substring(0);
- //System.out.println("SUBSTRING |" + tempDollar);
- //System.out.println("Before copy Value |" + tempDollar);
- //tempDollar = String.copyValueOf(tempDollar.toCharArray(), 1, tempDollar.length()-1);
- //System.out.println("After copy Value |" + tempDollar);
- if ((tempDollar.indexOf(","))!= -1){
- tempDollar = tempDollar.replaceAll(",", "");
- }
- //System.out.println("The final string 1 is "+tempDollar);
- double tempDoubleDollar = 0.0;
- try {
- tempDoubleDollar = Double.parseDouble(tempDollar);
- if(styleRowCell!=null)
- sw.createCell(cellNum, tempDoubleDollar, styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, tempDoubleDollar, styleCell.getIndex());
- else
- sw.createCell(cellNum, tempDoubleDollar, styles.get(nvl(/*dv.getFormatId()*/"","default")).getIndex());
- } catch (NumberFormatException ne) {
- if(styleRowCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(tempDollar), styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(tempDollar), styleCell.getIndex());
- else
- sw.createCell(cellNum, Utils.excelEncode(tempDollar), styles.get(nvl(/*dv.getFormatId()*/"","default")).getIndex());
- }
- }else{
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0.00"));
- double tempDouble = 0.0;
- try {
- tempDouble = Double.parseDouble(value);
- if(styleRowCell!=null)
- sw.createCell(cellNum, tempDouble, styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, tempDouble, styleCell.getIndex());
- else
- sw.createCell(cellNum, tempDouble, styles.get(nvl(/*dv.getFormatId()*/"","default")).getIndex());
- } catch (NumberFormatException ne) {
- if(styleRowCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(value),styleRowCell.getIndex() );
- else if (styleCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(value), styleCell.getIndex());
- else
- sw.createCell(cellNum, Utils.excelEncode(value), styles.get(nvl(/*dv.getFormatId()*/"","default")).getIndex());
- }
-
- }
- }else {
- if (!(value.equals(""))){
- if ((value.trim().startsWith("$")) || (value.trim().startsWith("-$") )) {
- //if (dv.getDisplayValue().startsWith("$")){
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("($#,##0.00);($#,##0.00)"));
- String tempInt = value.trim();
- tempInt = tempInt.replaceAll(" ", "").substring(0);
- tempInt = tempInt.replaceAll("\\$", "").substring(0);
- //System.out.println("SUBSTRING |" + tempInt);
- //System.out.println("Before copy Value |" + tempInt);
- //tempInt = String.copyValueOf(tempInt.toCharArray(), 1, tempInt.length()-1);
- //System.out.println("After copy Value |" + tempInt);
- if ((tempInt.indexOf(","))!= -1){
- tempInt = tempInt.replaceAll(",", "");
- }
- //System.out.println("The final string INT is "+tempInt);
- Long tempIntDollar = 0L;
- try {
- tempIntDollar = Long.parseLong(tempInt);
- if(styleRowCell!=null)
- sw.createCell(cellNum, tempIntDollar, styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, tempIntDollar, styleCell.getIndex());
- else
- sw.createCell(cellNum, tempIntDollar, styles.get(nvl(/*dv.getFormatId()*/"","default")).getIndex());
- } catch (NumberFormatException ne) {
- if(styleRowCell!=null)
- sw.createCell(cellNum, tempInt, styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, tempInt, styleCell.getIndex());
- else
- sw.createCell(cellNum, tempInt, styles.get(nvl(/*dv.getFormatId()*/"","default")).getIndex());
- }
- }else{
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0.00"));
- String tempStr = value.trim();
- if ((tempStr.indexOf(","))!= -1){
- tempStr = tempStr.replaceAll(",", "");
- }
- Long temp = 0L;
-
- try {
- temp = Long.parseLong(tempStr);
- if(styleRowCell!=null)
- sw.createCell(cellNum, temp, styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, temp, styleCell.getIndex());
- else
- sw.createCell(cellNum, temp, styles.get(nvl(/*dv.getFormatId()*/"","default")).getIndex());
- } catch (NumberFormatException ne) {
- if(styleRowCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(tempStr), styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(tempStr), styleCell.getIndex());
- else
- sw.createCell(cellNum, Utils.excelEncode(tempStr), styles.get(nvl(/*dv.getFormatId()*/"","default")).getIndex());
- }
- }
- }
- }
- }
-
- } else if ( ( dataType !=null && dataType.equals("DATE")) || (dv.getDisplayName()!=null && dv.getDisplayName().toLowerCase().endsWith("date")) ||
- (dv.getColId()!=null && dv.getColId().toLowerCase().endsWith("date")) ||
- (dv.getColName()!=null && dv.getColName().toLowerCase().endsWith("date")) ) {
- XSSFCellStyle cellStyle = null;
- if(styleRowCell!=null) {
- cellStyle = styleRowCell;
- } else if (styleCell!=null) {
- cellStyle = styleCell;
- } else {
- cellStyle = styles.get(nvl(/*dv.getFormatId()*/"","date"));
- }
-
-
- Date date = null;
- int flag = 0;
- date = MMDDYYHHMMSSFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cellStyle.setDataFormat(dateFormatMap.get("MMDDYYHHMMSS"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cellStyle.setDataFormat(dateFormatMap.get("MMDDYYHHMM"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cellStyle.setDataFormat(dateFormatMap.get("MMDDYY"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYYYHHMMSSFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cellStyle.setDataFormat(dateFormatMap.get("MMDDYYYYHHMMSS"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYYYHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cellStyle.setDataFormat(dateFormatMap.get("MMDDYYYYHHMM"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cellStyle.setDataFormat(dateFormatMap.get("MMDDYYYY"));
- flag = 1;
- }
- if(date==null)
- date = YYYYMMDDFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cellStyle.setDataFormat(dateFormatMap.get("YYYYMMDD"));
- flag = 1;
- }
- if(date==null)
- date = timestampFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cellStyle.setDataFormat(dateFormatMap.get("timestamp"));
- flag = 1;
- }
- if(date==null)
- date = MONYYYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cellStyle.setDataFormat(dateFormatMap.get("MONYYYY"));
- flag = 1;
- }
- if(date==null)
- date = MMYYYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cellStyle.setDataFormat(dateFormatMap.get("MMYYYY"));
- flag = 1;
- }
- if(date==null)
- date = MMMMMDDYYYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cellStyle.setDataFormat(dateFormatMap.get("MMMMMDDYYYY"));
- flag = 1;
- }
- if(date==null)
- date = MONTHYYYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cellStyle.setDataFormat(dateFormatMap.get("MONTHYYYY"));
- flag = 1;
- }
- if(date==null)
- date = YYYYMMDDHHMMSSFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cellStyle.setDataFormat(dateFormatMap.get("YYYYMMDDHHMMSS"));
- flag = 1;
- }
- if(date==null)
- date = YYYYMMDDDASHFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cellStyle.setDataFormat(dateFormatMap.get("YYYYMMDDDASH"));
- flag = 1;
- }
- if(date==null)
- date = YYYYMMDDHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cellStyle.setDataFormat(dateFormatMap.get("YYYYMMDDHHMM"));
- flag = 1;
- }
- if(date==null)
- date = DDMONYYYYHHMMSSFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cellStyle.setDataFormat(dateFormatMap.get("DDMONYYYYHHMMSS"));
- flag = 1;
- }
- if(date==null)
- date = DDMONYYYYHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cellStyle.setDataFormat(dateFormatMap.get("DDMONYYYYHHMM"));
- flag = 1;
- }
- if(date==null)
- date = DDMONYYHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cellStyle.setDataFormat(dateFormatMap.get("DDMONYYHHMM"));
- flag = 1;
- }
- if(date==null)
- date = DDMONYYYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cellStyle.setDataFormat(dateFormatMap.get("DDMONYYYY"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYHHMMSSFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cellStyle.setDataFormat(dateFormatMap.get("MMDDYYHHMMSS"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cellStyle.setDataFormat(dateFormatMap.get("MMDDYYHHMM"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cellStyle.setDataFormat(dateFormatMap.get("MMDDYY"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cellStyle.setDataFormat(dateFormatMap.get("MMDDYYHHMM"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYHHMMSSFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cellStyle.setDataFormat(dateFormatMap.get("MMDDYYHHMMSS"));
- flag = 1;
- }
- if(date==null)
- date = MMDDYYYYHHMMZFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cellStyle.setDataFormat(dateFormatMap.get("MMDDYYYYHHMMZ"));
- flag = 1;
- }
- if(date==null)
- date = MMMMMDDYYYYHHMMSS.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- cellStyle.setDataFormat(dateFormatMap.get("MMMMMDDYYYYHHMMSS"));
- flag = 1;
- }
-
- if(date!=null) {
- //System.out.println("ExcelDate " + HSSFDateUtil.getExcelDate(date));
- Calendar cal=Calendar.getInstance();
- cal.setTime(date);
- //sw.createCell(cellNum, cal,styles.get(nvl(/*dv.getFormatId()*/"","default")).getIndex());
- //if(styleRowCell!=null)
- sw.createCell(cellNum, cal, cellStyle.getIndex());
- //else if (styleCell!=null)
- //sw.createCell(cellNum, cal, cellStyle.getIndex());
- //else
- //sw.createCell(cellNum, cal, cellStyle.getIndex());
- } else {
- //cell.getCellStyle().setDataFormat((short)0);
- //if(styleRowCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(value), cellStyle.getIndex());
- //else if (styleCell!=null)
- //sw.createCell(cellNum, Utils.excelEncode(value), cellStyle.getIndex());
- //else
- //sw.createCell(cellNum, Utils.excelEncode(value), cellStyle.getIndex());
-
- }
- //cellDate.setCellValue(date);
- //cellDate.setCellValue(value); //cellDate.setCellValue(date);
- //cellDate.setCellValue(dv.getDisplayValue());
-
- } else if((dv.getDisplayTotal()!=null && dv.getDisplayTotal().equals("SUM(")) || (dv.getColName()!=null && dv.getColName().indexOf("999")!=-1)){
- //cellNumber = row.createCell((short) cellNum);
- //cellNumber.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
- //cellNumber.setCellValue(dv.getDisplayValue());
- int zInt = 0;
- if (value.equals("null")){
- if(styleRowCell!=null)
- sw.createCell(cellNum, zInt, styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, zInt, styleCell.getIndex());
- else
- sw.createCell(cellNum, zInt, styleDefaultCell.getIndex());
-
- } else {
-
- if ((value.indexOf("."))!= -1){
- if ((value.trim().startsWith("$")) || (value.trim().startsWith("-$") )) {
-
- //if (value.startsWith("$")){
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("($#,##0.00);($#,##0.00)"));
- String tempDollar = value.trim();
- tempDollar = tempDollar.replaceAll(" ", "").substring(0);
- tempDollar = tempDollar.replaceAll("\\$", "").substring(0);
- //System.out.println("SUBSTRING |" + tempDollar);
- //System.out.println("Before copy Value |" + tempDollar);
- //tempDollar = String.copyValueOf(tempDollar.toCharArray(), 1, tempDollar.length()-1);
- //System.out.println("After copy Value |" + tempDollar);
- if ((tempDollar.indexOf(","))!= -1){
- tempDollar = tempDollar.replaceAll(",", "");
- }
- //System.out.println("The final string 2IF is "+tempDollar);
- double tempDoubleDollar = 0.0;
- try {
- tempDoubleDollar = Double.parseDouble(tempDollar);
- if(styleRowCell!=null)
- sw.createCell(cellNum, tempDoubleDollar,styleRowCell.getIndex() );
- else if (styleCell!=null)
- sw.createCell(cellNum, tempDoubleDollar, styleCell.getIndex());
- else
- sw.createCell(cellNum, tempDoubleDollar, styles.get(nvl(/*dv.getFormatId()*/"","default")).getIndex());
- } catch (NumberFormatException ne) {
- if(styleRowCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(tempDollar), styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(tempDollar), styleCell.getIndex());
- else
- sw.createCell(cellNum, Utils.excelEncode(tempDollar), styles.get(nvl(/*dv.getFormatId()*/"","default")).getIndex());
- }
-
-
- }else{
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0.00"));
- String tempDoubleStr = value.trim();
- tempDoubleStr = tempDoubleStr.replaceAll(" ", "").substring(0);
- if ((tempDoubleStr.indexOf(","))!= -1){
- tempDoubleStr = tempDoubleStr.replaceAll(",", "");
- }
- double tempDouble = 0.0;
- try {
- tempDouble = Double.parseDouble(tempDoubleStr);
- if(styleRowCell!=null)
- sw.createCell(cellNum, tempDouble, styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, tempDouble, styleCell.getIndex());
- else
- sw.createCell(cellNum, tempDouble, styles.get(nvl(/*dv.getFormatId()*/"","default")).getIndex());
- } catch (NumberFormatException ne) {
- if(styleRowCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(tempDoubleStr), styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(tempDoubleStr), styleCell.getIndex());
- else
- sw.createCell(cellNum, Utils.excelEncode(tempDoubleStr), styles.get(nvl(/*dv.getFormatId()*/"","default")).getIndex());
- }
- }
-
- }else {
- if (!(value.equals(""))){
- if ((value.trim().startsWith("$")) || (value.trim().startsWith("-$") )) {
- //if (value.startsWith("$")){
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("($#,##0.00);($#,##0.00)"));
- String tempInt = value.trim();
- tempInt = tempInt.replaceAll(" ", "").substring(0);
- tempInt = tempInt.replaceAll("\\$", "").substring(0);
- //System.out.println("SUBSTRING |" + tempInt);
- //System.out.println("Before copy Value |" + tempInt);
- //tempInt = String.copyValueOf(tempInt.toCharArray(), 1, tempInt.length()-1);
- //System.out.println("After copy Value |" + tempInt);
- if ((tempInt.indexOf(","))!= -1){
- tempInt = tempInt.replaceAll(",", "");
- }
- //System.out.println("The final string INT 2 is "+tempInt);
-
- Long tempIntDollar = 0L;
-
- try {
- tempIntDollar = Long.parseLong(tempInt);
- if(styleRowCell!=null)
- sw.createCell(cellNum, tempIntDollar,styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, tempIntDollar,styleCell.getIndex());
- else
- sw.createCell(cellNum, tempIntDollar,styles.get(nvl(/*dv.getFormatId()*/"","default")).getIndex());
-
- } catch (NumberFormatException ne) {
- if(styleRowCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(tempInt), styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(tempInt),styleCell.getIndex());
- else
- sw.createCell(cellNum, Utils.excelEncode(tempInt), styles.get(nvl(/*dv.getFormatId()*/"","default")).getIndex());
- }
- }else{
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0.00"));
- String tempStr = value.trim();
- if ((tempStr.indexOf(","))!= -1){
- tempStr = tempStr.replaceAll(",", "");
- }
- Long temp = 0L;
-
- try {
- temp = Long.parseLong(tempStr);
- if(styleRowCell!=null)
- sw.createCell(cellNum, temp, styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, temp, styleCell.getIndex());
- else
- sw.createCell(cellNum, temp, styles.get(nvl(/*dv.getFormatId()*/"","default")).getIndex());
- } catch (NumberFormatException ne) {
- if(styleRowCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(tempStr), styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(tempStr), styleCell.getIndex());
- else
- sw.createCell(cellNum, Utils.excelEncode(tempStr), styles.get(nvl(/*dv.getFormatId()*/"","default")).getIndex());
-
- }
- }
- } else {
- sw.createCell(cellNum, "", styles.get(nvl(/*dv.getFormatId()*/"","default")).getIndex());
- }
- }
- }
-
-
- }
- else {
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("General"));
- if(styleRowCell!=null)
- sw.createCell(cellNum, strip.stripHtml(Utils.excelEncode(value)), styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, strip.stripHtml(Utils.excelEncode(value)), styleCell.getIndex());
- else {
- if(nvl(value).startsWith(" "))
- sw.createCell(cellNum, strip.stripHtml(Utils.excelEncode(value)), styles.get(nvl(/*dv.getFormatId(),*/"","defaultLeft")).getIndex());
- else
- sw.createCell(cellNum, strip.stripHtml(Utils.excelEncode(value)), styles.get(nvl(/*dv.getFormatId(),*/"","default")).getIndex());
-
- }
-
- }
-
- if (dv.isBold()) {
- if((dv.getDisplayTotal()!=null && dv.getDisplayTotal().equals("SUM(")) || (dv.getColName()!=null && dv.getColName().indexOf("999")!=-1)){
- if (value!=null && (value.trim().startsWith("$")) || (value.trim().startsWith("-$") )) {
- //cell.setCellStyle(styleCurrencyTotal);
- }
- else {
- //cell.setCellStyle(styleTotal);
- }
- } else {
- //cell.setCellStyle(styleDefaultTotal);
- }
- bold = true;
- }
- //System.out.println("2IF "+ (dr.isRowFormat()) + " " + (dv.isCellFormat()) + " " + (styles!=null));
- if ((dr.isRowFormat() && !dv.isCellFormat()) && styles != null) {
- //cell.setCellStyle((HSSFCellStyle) styles.get(nvl(dr.getFormatId(),"default")));
- continue;
- }
- //System.out.println("3IF "+ (htmlFormat != null) + " " + (dv.getFormatId() != null) + " " + (bold == false) + " "+ (styles != null));
- if (htmlFormat != null && dv.getFormatId() != null && bold == false
- && styles != null) {
- //cell.setCellStyle((HSSFCellStyle) styles.get(nvl(/*dv.getFormatId()*/"","default")));
- } //else if (bold == false)
- //cell.setCellStyle(styleDefault);
- } // dv.isVisible
-
- }
- rowNum += 1;
- sw.endRow();
-
- }
- if(rd.reportTotalRowHeaderCols!=null) {
- rowCount++;
- sw.insertRow(rowNum);
- cellNum = -1;
- rd.reportTotalRowHeaderCols.resetNext();
- cellNum += 1;
- RowHeaderCol rhc = rd.reportTotalRowHeaderCols.getNext();
- RowHeader rh = rhc.getRowHeader(0);
- if (dr.isRowFormat() && styles != null)
- styleRowCell = (XSSFCellStyle) styles.get(nvl(/*dr.getFormatId(),*/"","default"));
-
- if(styleRowCell!=null)
- sw.createCell(cellNum, strip.stripHtml(rh.getRowTitle()), styleRowCell.getIndex());
- else
- sw.createCell(cellNum, strip.stripHtml(rh.getRowTitle()), styleDefaultCell.getIndex());
- rd.reportDataTotalRow.resetNext();
- //rd.reportDataTotalRow.getNext();
- DataRow drTotal = rd.reportDataTotalRow.getNext();
- if(drTotal!=null) {
- drTotal.resetNext(); drTotal.getNext();
- for (; drTotal.hasNext();) {
- DataValue dv = drTotal.getNext();
- if(dv.isVisible()) {
- cellNum += 1;
- styleCell = null;
- String value = dv.getDisplayValue();
- sw.createCell(cellNum,value,styles.get(nvl(/*dv.getFormatId(),*/"","default")).getIndex());
- }
- }
- }
- rowNum += 1;
- sw.endRow();
- }
-
-
-
-
-
-/* // To Display Total Values for Linear report
- if(rd.reportDataTotalRow!=null) {
- row = sheet.createRow(rowNum);
- cellNum = -1;
- rd.reportTotalRowHeaderCols.resetNext();
- //for (rd.reportTotalRowHeaderCols.resetNext(); rd.reportTotalRowHeaderCols.hasNext();) {
- cellNum += 1;
- RowHeaderCol rhc = rd.reportTotalRowHeaderCols.getNext();
- RowHeader rh = rhc.getRowHeader(0);
- row.createCell((short) cellNum).setCellValue(strip.stripHtml(rh.getRowTitle()));
- row.getCell((short) cellNum).setCellStyle(styleDefaultTotal);
- //}
-
- DataRow drTotal = rd.reportDataTotalRow.getNext();
- //cellNum = -1;
- for (drTotal.resetNext(); drTotal.hasNext();j++) {
- cellNum += 1;
- cell = row.createCell((short) cellNum);
- DataValue dv = drTotal.getNext();
- String value = dv.getDisplayValue();
- cell.setCellValue(value);
- boolean bold = false;
- if (dv.isBold()) {
- if((dv.getDisplayTotal()!=null && dv.getDisplayTotal().equals("SUM(")) || (dv.getColName()!=null && dv.getColName().indexOf("999")!=-1)){
- if (value!=null && (value.trim().startsWith("$")) || (value.trim().startsWith("-$") )) {
- cell.setCellStyle(styleCurrencyTotal);
- } else {
- cell.setCellStyle(styleTotal);
- }
- } else {
- cell.setCellStyle(styleDefaultTotal);
- }
- bold = true;
- }
- }
- }*/
-
- } catch (SQLException ex) {
- throw new RaptorException(ex);
- } catch (ReportSQLException ex) {
- throw new RaptorException(ex);
- } catch (Exception ex) {
- if(!(ex.getCause() instanceof java.net.SocketException) )
- throw new RaptorException (ex);
- } finally {
- try {
- if(conn!=null)
- conn.close();
- if(st!=null)
- st.close();
- if(rs!=null)
- rs.close();
- } catch (SQLException ex) {
- throw new RaptorException(ex);
- }
- }
-
- String footer = (String) session.getAttribute("FOOTER_"+index);
- if(nvl(footer).length()>0) {
- footer = Utils.replaceInString(footer, "<BR/>", " ");
- footer = Utils.replaceInString(footer, "<br/>", " ");
- footer = Utils.replaceInString(footer, "<br>", " ");
- footer = strip.stripHtml(nvl(footer).trim());
- rowNum += 1;
- sw.insertRow(rowNum);
- cellNum = 0;
- sw.createCell(cellNum, footer.replaceAll("&", "&amp;"), styleDefaultCell.getIndex());
- sw.endRow();
- rowNum += 1;
- }
-
- if(Globals.getShowDisclaimer()) {
- rowNum += 1;
- sw.insertRow(rowNum);
- cellNum = 0;
-
- sw.createCell(cellNum, org.openecomp.portalsdk.analytics.system.Globals.getFooterFirstLine().replaceAll("&", "&amp;"), styleDefaultCell.getIndex());
- sw.endRow();
- rowNum += 1;
- sw.insertRow(rowNum);
- cellNum = 0;
- sw.createCell(cellNum, org.openecomp.portalsdk.analytics.system.Globals.getFooterSecondLine().replaceAll("&", "&amp;"), styleDefaultCell.getIndex());
- sw.endRow();
- }
-
- } else {
- //start data from rd
-
- int rowCount = 0;
- DataRow dr = null;
- for (rd.reportDataRows.resetNext(); rd.reportDataRows.hasNext();) {
- rowCount++;
-
-
- dr = rd.reportDataRows.getNext();
- sw.insertRow(rowNum);
-
- cellNum = -1;
-
- if (rr.getReportType().equals(AppConstants.RT_LINEAR) && rd.reportTotalRowHeaderCols!=null) {
- rd.reportRowHeaderCols.resetNext(0);
- if(rd.reportTotalRowHeaderCols!=null) {
- //cellNum = -1;
- //for (rd.reportRowHeaderCols.resetNext(); rd.reportRowHeaderCols.hasNext();) {
- //a commented to suppress rownum
- //a cellNum += 1;
- //RowHeaderCol rhc = rd.reportRowHeaderCols.getRowHeaderCol(0);
- //if (firstPass)
- // rhc.resetNext();
- //RowHeader rh = rhc.getRowHeader(rowCount-1);
- //a sw.createCell(cellNum, rowCount, styleDefaultCell.getIndex());
- //} // for
- }
-
- }
- firstPass = false;
- //cellNum = -1;
- int j = 0;
-
- for (dr.resetNext(); dr.hasNext();j++) {
- DataValue dv = dr.getNext();
- styleCell = null;
- boolean bold = false;
- String value = nvl(dv.getDisplayValue());
- value = strip.stripHtml(value);
- HtmlFormatter htmlFormat = dv.getCellFormatter();
- if ((dr.isRowFormat() && !dv.isCellFormat()) && styles != null)
- styleCell = (XSSFCellStyle) styles.get(nvl(/*dr.getFormatId(),*/"","default"));
- if (htmlFormat != null && dv.getFormatId() != null && styles != null)
- styleCell = (XSSFCellStyle) styles.get(nvl(/*dv.getFormatId(),*/"","default"));
-
- if(dv.isVisible()) {
- cellNum += 1;
- //cell = row.createCell((short) cellNum);
- //System.out.println("Stripping HTML 1");
- //cell.setCellValue(strip.stripHtml(value));
- String dataType = (String) (dataTypeMap.get(dv.getColId()));
- //System.out.println(" The Display Value is ********"+value + " " + dv.getDisplayTotal() + " " + dv.getColName());
-
- if (dataType!=null && dataType.equals("NUMBER")){
- //cellNumber = row.createCell((short) cellNum);
- //cellNumber.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
- //cellNumber.setCellValue(value);
- //cellCurrencyNumber = row.createCell((short) cellNum);
- int zInt = 0;
- if (value.equals("null")){
- sw.createCell(cellNum,zInt,styles.get(nvl(/*dv.getFormatId(),*/"","default")).getIndex());
- }else{
-
- if ((value.indexOf("."))!= -1){
- if ((value.trim().startsWith("$")) || (value.trim().startsWith("-$") )) {
-
- //if (value.startsWith("$")){
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("($#,##0.00);($#,##0.00)"));
- String tempDollar = value.trim();
- tempDollar = tempDollar.replaceAll(" ", "").substring(0);
- tempDollar = tempDollar.replaceAll("\\$", "").substring(0);
- //System.out.println("SUBSTRING |" + tempDollar);
- //System.out.println("Before copy Value |" + tempDollar);
- //tempDollar = String.copyValueOf(tempDollar.toCharArray(), 1, tempDollar.length()-1);
- //System.out.println("After copy Value |" + tempDollar);
- if ((tempDollar.indexOf(","))!= -1){
- tempDollar = tempDollar.replaceAll(",", "");
- }
- //System.out.println("The final string 1 is "+tempDollar);
- double tempDoubleDollar = 0.0;
- try {
- tempDoubleDollar = Double.parseDouble(tempDollar);
- if(styleRowCell!=null)
- sw.createCell(cellNum, tempDoubleDollar, styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, tempDoubleDollar, styleCell.getIndex());
- else
- sw.createCell(cellNum, tempDoubleDollar, styles.get(nvl(/*dv.getFormatId(),*/"","default")).getIndex());
- } catch (NumberFormatException ne) {
- if(styleRowCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(tempDollar), styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(tempDollar), styleCell.getIndex());
- else
- sw.createCell(cellNum, Utils.excelEncode(tempDollar), styles.get(nvl(/*dv.getFormatId(),*/"","default")).getIndex());
- }
- }else{
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0.00"));
- double tempDouble = 0.0;
- try {
- tempDouble = Double.parseDouble(value);
- if(styleRowCell!=null)
- sw.createCell(cellNum, tempDouble, styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, tempDouble, styleCell.getIndex());
- else
- sw.createCell(cellNum, tempDouble, styles.get(nvl(/*dv.getFormatId(),*/"","default")).getIndex());
- } catch (NumberFormatException ne) {
- if(styleRowCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(value),styleRowCell.getIndex() );
- else if (styleCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(value), styleCell.getIndex());
- else
- sw.createCell(cellNum, Utils.excelEncode(value), styles.get(nvl(/*dv.getFormatId(),*/"","default")).getIndex());
- }
-
- }
- }else {
- if (!(value.equals(""))){
- if ((value.trim().startsWith("$")) || (value.trim().startsWith("-$") )) {
- //if (value.startsWith("$")){
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("($#,##0.00);($#,##0.00)"));
- String tempInt = value.trim();
- tempInt = tempInt.replaceAll(" ", "").substring(0);
- tempInt = tempInt.replaceAll("\\$", "").substring(0);
- //System.out.println("SUBSTRING |" + tempInt);
- //System.out.println("Before copy Value |" + tempInt);
- //tempInt = String.copyValueOf(tempInt.toCharArray(), 1, tempInt.length()-1);
- //System.out.println("After copy Value |" + tempInt);
- if ((tempInt.indexOf(","))!= -1){
- tempInt = tempInt.replaceAll(",", "");
- }
- //System.out.println("The final string INT is "+tempInt);
- Long tempIntDollar = 0L;
- try {
- tempIntDollar = Long.parseLong(tempInt);
- if(styleRowCell!=null)
- sw.createCell(cellNum, tempIntDollar, styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, tempIntDollar, styleCell.getIndex());
- else
- sw.createCell(cellNum, tempIntDollar, styles.get(nvl(/*dv.getFormatId(),*/"","default")).getIndex());
- } catch (NumberFormatException ne) {
- if(styleRowCell!=null)
- sw.createCell(cellNum, tempInt, styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, tempInt, styleCell.getIndex());
- else
- sw.createCell(cellNum, tempInt, styles.get(nvl(/*dv.getFormatId(),*/"","default")).getIndex());
- }
- }else{
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0.00"));
- String tempStr = value.trim();
- if ((tempStr.indexOf(","))!= -1){
- tempStr = tempStr.replaceAll(",", "");
- }
- Long temp = 0L;
-
- try {
- temp = Long.parseLong(tempStr);
- if(styleRowCell!=null)
- sw.createCell(cellNum, temp, styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, temp, styleCell.getIndex());
- else
- sw.createCell(cellNum, temp, styles.get(nvl(/*dv.getFormatId(),*/"","default")).getIndex());
- } catch (NumberFormatException ne) {
- if(styleRowCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(tempStr), styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(tempStr), styleCell.getIndex());
- else
- sw.createCell(cellNum, Utils.excelEncode(tempStr), styles.get(nvl(/*dv.getFormatId(),*/"","default")).getIndex());
- }
-
-
- }
- //int temp = Integer.parseInt(value.trim());
- // cell.setCellValue(temp);
- //}else{
- // cell.setCellValue(strip.stripHtml(value));
- //}
- }
- }
- }
-
- }else if ( ( dataType !=null && dataType.equals("DATE")) || (dv.getDisplayName()!=null && dv.getDisplayName().toLowerCase().endsWith("date")) ||
- (dv.getColId()!=null && dv.getColId().toLowerCase().endsWith("date")) ||
- (dv.getColName()!=null && dv.getColName().toLowerCase().endsWith("date")) ) {
- Date date = null;
- int flag = 0;
- date = MMDDYYHHMMSSFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- flag = 1;
- }
- if(date==null)
- date = MMDDYYHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- flag = 1;
- }
- if(date==null)
- date = MMDDYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- flag = 1;
- }
- if(date==null)
- date = MMDDYYYYHHMMSSFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- flag = 1;
- }
- if(date==null)
- date = MMDDYYYYHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- flag = 1;
- }
- if(date==null)
- date = MMDDYYYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- flag = 1;
- }
- if(date==null)
- date = YYYYMMDDFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- flag = 1;
- }
- if(date==null)
- date = timestampFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- flag = 1;
- }
- if(date==null)
- date = MONYYYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- flag = 1;
- }
- if(date==null)
- date = MMYYYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- flag = 1;
- }
- if(date==null)
- date = MMMMMDDYYYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- flag = 1;
- }
- if(date==null)
- date = MONTHYYYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- flag = 1;
- }
- if(date==null)
- date = YYYYMMDDHHMMSSFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- flag = 1;
- }
- if(date==null)
- date = YYYYMMDDDASHFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- flag = 1;
- }
- if(date==null)
- date = YYYYMMDDHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- flag = 1;
- }
- if(date==null)
- date = DDMONYYYYHHMMSSFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- flag = 1;
- }
- if(date==null)
- date = DDMONYYYYHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- flag = 1;
- }
- if(date==null)
- date = DDMONYYHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- flag = 1;
- }
- if(date==null)
- date = DDMONYYYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- flag = 1;
- }
- if(date==null)
- date = MMDDYYHHMMSSFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- flag = 1;
- }
- if(date==null)
- date = MMDDYYHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- flag = 1;
- }
- if(date==null)
- date = MMDDYYFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- flag = 1;
- }
- if(date==null)
- date = MMDDYYHHMMFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- flag = 1;
- }
- if(date==null)
- date = MMDDYYHHMMSSFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- flag = 1;
- }
- if(date==null)
- date = MMDDYYYYHHMMZFormat.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- flag = 1;
- }
- if(date==null)
- date = MMMMMDDYYYYHHMMSS.parse(value, new ParsePosition(0));
- if(date != null && flag == 0) {
- flag = 1;
- }
-
-
- if(date!=null) {
- Calendar cal=Calendar.getInstance();
- cal.setTime(date);
- //sw.createCell(cellNum, cal,styles.get(nvl(/*dv.getFormatId()*/"","default")).getIndex());
- if(styleRowCell!=null)
- sw.createCell(cellNum, cal, styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, cal, styleCell.getIndex());
- else
- sw.createCell(cellNum, cal, styles.get(nvl(/*dv.getFormatId()*/"","date")).getIndex());
-
- } else {
- /*cell.getCellStyle().setDataFormat((short)0);*/
- if(styleRowCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(value), styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(value), styleCell.getIndex());
- else
- sw.createCell(cellNum, Utils.excelEncode(value), styles.get(nvl(/*dv.getFormatId(),*/"","date")).getIndex());
-
- }
- //cellDate.setCellValue(date);
- //cellDate.setCellValue(value);
-
- }else if((dv.getDisplayTotal()!=null && dv.getDisplayTotal().equals("SUM(")) || (dv.getColName()!=null && dv.getColName().indexOf("999")!=-1)){
- //cellNumber = row.createCell((short) cellNum);
- //cellNumber.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
- //cellNumber.setCellValue(value);
- int zInt = 0;
- if (value.equals("null")){
- if(styleRowCell!=null)
- sw.createCell(cellNum, zInt, styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, zInt, styleCell.getIndex());
- else
- sw.createCell(cellNum, zInt, styleDefaultCell.getIndex());
- } else {
-
- if ((value.indexOf("."))!= -1){
- if ((value.trim().startsWith("$")) || (value.trim().startsWith("-$") )) {
-
- //if (value.startsWith("$")){
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("($#,##0.00);($#,##0.00)"));
- String tempDollar = value.trim();
- tempDollar = tempDollar.replaceAll(" ", "").substring(0);
- tempDollar = tempDollar.replaceAll("\\$", "").substring(0);
- //System.out.println("SUBSTRING |" + tempDollar);
- //System.out.println("Before copy Value |" + tempDollar);
- //tempDollar = String.copyValueOf(tempDollar.toCharArray(), 1, tempDollar.length()-1);
- //System.out.println("After copy Value |" + tempDollar);
- if ((tempDollar.indexOf(","))!= -1){
- tempDollar = tempDollar.replaceAll(",", "");
- }
- //System.out.println("The final string 2IF is "+tempDollar);
- double tempDoubleDollar = 0.0;
- try {
- tempDoubleDollar = Double.parseDouble(tempDollar);
- if(styleRowCell!=null)
- sw.createCell(cellNum, tempDoubleDollar,styleRowCell.getIndex() );
- else if (styleCell!=null)
- sw.createCell(cellNum, tempDoubleDollar, styleCell.getIndex());
- else
- sw.createCell(cellNum, tempDoubleDollar, styles.get(nvl(/*dv.getFormatId(),*/"","default")).getIndex());
- } catch (NumberFormatException ne) {
- if(styleRowCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(tempDollar), styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(tempDollar), styleCell.getIndex());
- else
- sw.createCell(cellNum, Utils.excelEncode(tempDollar), styles.get(nvl(/*dv.getFormatId(),*/"","default")).getIndex());
- }
-
-
- }else{
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0.00"));
- String tempDoubleStr = value.trim();
- tempDoubleStr = tempDoubleStr.replaceAll(" ", "").substring(0);
- if ((tempDoubleStr.indexOf(","))!= -1){
- tempDoubleStr = tempDoubleStr.replaceAll(",", "");
- }
- double tempDouble = 0.0;
- try {
- tempDouble = Double.parseDouble(tempDoubleStr);
- if(styleRowCell!=null)
- sw.createCell(cellNum, tempDouble, styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, tempDouble, styleCell.getIndex());
- else
- sw.createCell(cellNum, tempDouble, styles.get(nvl(/*dv.getFormatId(),*/"","default")).getIndex());
- } catch (NumberFormatException ne) {
- if(styleRowCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(tempDoubleStr), styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(tempDoubleStr), styleCell.getIndex());
- else
- sw.createCell(cellNum, Utils.excelEncode(tempDoubleStr), styles.get(nvl(/*dv.getFormatId(),*/"","default")).getIndex());
- }
- }
-
- }else {
- if (!(value.equals(""))){
- if ((value.trim().startsWith("$")) || (value.trim().startsWith("-$") )) {
- //if (value.startsWith("$")){
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("($#,##0.00);($#,##0.00)"));
- String tempInt = value.trim();
- tempInt = tempInt.replaceAll(" ", "").substring(0);
- tempInt = tempInt.replaceAll("\\$", "").substring(0);
- //System.out.println("SUBSTRING |" + tempInt);
- //System.out.println("Before copy Value |" + tempInt);
- //tempInt = String.copyValueOf(tempInt.toCharArray(), 1, tempInt.length()-1);
- //System.out.println("After copy Value |" + tempInt);
- if ((tempInt.indexOf(","))!= -1){
- tempInt = tempInt.replaceAll(",", "");
- }
- //System.out.println("The final string INT 2 is "+tempInt);
-
- Long tempIntDollar = 0L;
-
- try {
- tempIntDollar = Long.parseLong(tempInt);
- if(styleRowCell!=null)
- sw.createCell(cellNum, tempIntDollar,styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, tempIntDollar,styleCell.getIndex());
- else
- sw.createCell(cellNum, tempIntDollar,styles.get(nvl(/*dv.getFormatId(),*/"","default")).getIndex());
- } catch (NumberFormatException ne) {
- if(styleRowCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(tempInt), styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(tempInt),styleCell.getIndex());
- else
- sw.createCell(cellNum, Utils.excelEncode(tempInt), styles.get(nvl(/*dv.getFormatId(),*/"","default")).getIndex());
- }
- }else{
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0.00"));
- String tempStr = value.trim();
- if ((tempStr.indexOf(","))!= -1){
- tempStr = tempStr.replaceAll(",", "");
- }
- Long temp = 0L;
-
- try {
- temp = Long.parseLong(tempStr);
- if(styleRowCell!=null)
- sw.createCell(cellNum, temp, styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, temp, styleCell.getIndex());
- else
- sw.createCell(cellNum, temp, styles.get(nvl(/*dv.getFormatId(),*/"","default")).getIndex());
- } catch (NumberFormatException ne) {
- if(styleRowCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(tempStr), styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, Utils.excelEncode(tempStr), styleCell.getIndex());
- else
- sw.createCell(cellNum, Utils.excelEncode(tempStr), styles.get(nvl(/*dv.getFormatId(),*/"","default")).getIndex());
- }
- }
- //int temp = Integer.parseInt(value.trim());
- // cell.setCellValue(temp);
- //}else{
- // cell.setCellValue(strip.stripHtml(value));
- //}
- } else {
- sw.createCell(cellNum, "", styles.get(nvl(/*dv.getFormatId(),*/"","default")).getIndex());
- }
- }
- }
-
-
- }
- else {
- //styleDefault.setDataFormat(HSSFDataFormat.getBuiltinFormat("General"));
- if(styleRowCell!=null)
- sw.createCell(cellNum, strip.stripHtml(Utils.excelEncode(value)), styleRowCell.getIndex());
- else if (styleCell!=null)
- sw.createCell(cellNum, strip.stripHtml(Utils.excelEncode(value)), styleCell.getIndex());
- else
- sw.createCell(cellNum, strip.stripHtml(Utils.excelEncode(value)), styles.get(nvl(/*dv.getFormatId(),*/"","default")).getIndex());
- }
-
- //if (!(value.equals(""))){
- //int temp = Integer.parseInt(value.trim());
- //cell.setCellValue(temp);
- //}else{
- // cell.setCellValue(strip.stripHtml(value));
- //}
- //HSSFCellStyle styleFormat = null;
- //HSSFCellStyle numberStyle = null;
- //HSSFFont formatFont = null;
- //short fgcolor = 0;
- //short fillpattern = 0;
- //System.out.println("1IF "+ (dv.isBold()) + " "+ value + " " + dv.getDisplayTotal() + " " + dv.getColName() );
- if (dv.isBold()) {
- if((dv.getDisplayTotal()!=null && dv.getDisplayTotal().equals("SUM(")) || (dv.getColName()!=null && dv.getColName().indexOf("999")!=-1)){
- if (value!=null && (value.trim().startsWith("$")) || (value.trim().startsWith("-$") )) {
- //cell.setCellStyle(styleCurrencyTotal);
- }
- else {
- //cell.setCellStyle(styleTotal);
- }
- } else {
- //cell.setCellStyle(styleDefaultTotal);
- }
- bold = true;
- }
- //System.out.println("2IF "+ (dr.isRowFormat()) + " " + (dv.isCellFormat()) + " " + (styles!=null));
- if ((dr.isRowFormat() && !dv.isCellFormat()) && styles != null) {
- //cell.setCellStyle((HSSFCellStyle) styles.get(nvl(dr.getFormatId(),"default")));
- continue;
- }
- //System.out.println("3IF "+ (htmlFormat != null) + " " + (dv.getFormatId() != null) + " " + (bold == false) + " "+ (styles != null));
- if (htmlFormat != null && dv.getFormatId() != null && bold == false
- && styles != null) {
- // cell.setCellStyle((HSSFCellStyle) styles.get(nvl(/*dv.getFormatId()*/"","default")));
- } //else if (bold == false)
- //cell.setCellStyle(styleDefault);
- } // if (dv.isVisible)
- } // for
-
- /*for (int tmp=0; tmp<dataTypeMap.size(); tmp++){
- String dataTypeStr = (String)(dataTypeMap.get(tmp));
- if(dataTypeStr.equals("NUMBER")){
- cell.setCellStyle(styleNumber);
- }else if (dataTypeStr.equals("VARCHAR2")){
- cell.setCellStyle(styleDefault);
-
- }else if (dataTypeStr.equals("DATE")){
- cell.setCellStyle(styleDate);
- }else{
-
- }
-
- }*/
- rowNum += 1;
- sw.endRow();
- } // for
-
- if (rr.getReportType().equals(AppConstants.RT_LINEAR) && rd.reportTotalRowHeaderCols!=null) {
-
- for (rd.reportDataTotalRow.resetNext(); rd.reportDataTotalRow.hasNext();) {
- rowCount++;
- sw.insertRow(rowNum);
- cellNum = -1;
- cellNum += 1;
-
- RowHeaderCol rhc = rd.reportTotalRowHeaderCols.getNext();
- RowHeader rh = rhc.getRowHeader(0);
- if (dr.isRowFormat() && styles != null)
- styleRowCell = (XSSFCellStyle) styles.get(nvl(/*dr.getFormatId(),*/"","default"));
- if(styleRowCell!=null)
- sw.createCell(cellNum, strip.stripHtml(rh.getRowTitle()), styleRowCell.getIndex());
- else
- sw.createCell(cellNum, strip.stripHtml(rh.getRowTitle()), styleDefaultCell.getIndex());
-
- DataRow drTotal = rd.reportDataTotalRow.getNext();
- if(drTotal!=null) {
- drTotal.resetNext(); drTotal.getNext();
- for (; drTotal.hasNext();) {
- cellNum += 1;
- styleCell = null;
- DataValue dv = drTotal.getNext();
- String value = dv.getDisplayValue();
- sw.createCell(cellNum,value,styles.get(nvl(/*dv.getFormatId(),*/"","default")).getIndex());
- }
- }
-
- rowNum += 1;
- sw.endRow();
- }
-
-
- String footer = (String) session.getAttribute("FOOTER_"+index);
- if(nvl(footer).length()>0) {
- footer = Utils.replaceInString(footer, "<BR/>", " ");
- footer = Utils.replaceInString(footer, "<br/>", " ");
- footer = Utils.replaceInString(footer, "<br>", " ");
- footer = strip.stripHtml(nvl(footer).trim());
- rowNum += 1;
- sw.insertRow(rowNum);
- cellNum = 0;
- sw.createCell(cellNum, footer.replaceAll("&", "&amp;"), styleDefaultCell.getIndex());
- sw.endRow();
- rowNum += 1;
- }
-
-
- if(Globals.getShowDisclaimer()) {
- rowNum += 1;
- sw.insertRow(rowNum);
- cellNum = 0;
-
- sw.createCell(cellNum, org.openecomp.portalsdk.analytics.system.Globals.getFooterFirstLine().replaceAll("&", "&amp;"), styleDefaultCell.getIndex());
- sw.endRow();
- rowNum += 1;
- sw.insertRow(rowNum);
- cellNum = 0;
- sw.createCell(cellNum, org.openecomp.portalsdk.analytics.system.Globals.getFooterSecondLine().replaceAll("&", "&amp;"), styleDefaultCell.getIndex());
- sw.endRow();
- }
-
-
- }
- // end data from rd
- }
-
- // System.out.println(" Last Row " + wb.getSheetAt(0).getLastRowNum());
- }
-
- private void paintXSSFExcelParams(XSSFWorkbook wb,int rowNum,int col,ArrayList paramsList, String customizedParamInfo, XSSFSheet sheet, String reportTitle, String reportDescr) throws IOException {
- //HSSFSheet sheet = wb.getSheet(getSheetName());
- int cellNum = 0;
- XSSFRow row = null;
- short s1 = 0, s2 = (short) 1;
- HtmlStripper strip = new HtmlStripper();
- // Name Style
- XSSFCellStyle styleName = wb.createCellStyle();
- //styleName.setFillBackgroundColor(HSSFColor.GREY_80_PERCENT.index);
- styleName.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index);
- //styleName.setFillPattern(HSSFCellStyle.SPARSE_DOTS);
- styleName.setAlignment(HSSFCellStyle.ALIGN_CENTER);
- styleName.setBorderBottom(HSSFCellStyle.BORDER_THIN);
- styleName.setBorderTop(HSSFCellStyle.BORDER_THIN);
- styleName.setBorderRight(HSSFCellStyle.BORDER_THIN);
- styleName.setBorderLeft(HSSFCellStyle.BORDER_THIN);
- styleName.setDataFormat((short)0);
- XSSFFont font = wb.createFont();
- font.setFontHeight((short) (font_size / 0.05));
- font.setFontName("Tahoma");
- font.setColor(HSSFColor.BLACK.index);
- font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
- styleName.setFont(font);
- //Data Style
-
- // Create some fonts.
- XSSFFont fontDefault = wb.createFont();
- // Initialize the styles & fonts.
- // The default will be plain .
- fontDefault.setColor((short) HSSFFont.COLOR_NORMAL);
- fontDefault.setFontHeight((short) (font_size / 0.05));
- fontDefault.setFontName("Tahoma");
- fontDefault.setItalic(true);
- // Style default will be normal with no background
- XSSFCellStyle styleValue = wb.createCellStyle();
- styleValue.setDataFormat((short)0);
- styleValue.setAlignment(HSSFCellStyle.ALIGN_CENTER);
- styleValue.setBorderBottom(HSSFCellStyle.BORDER_THIN);
- styleValue.setBorderTop(HSSFCellStyle.BORDER_THIN);
- styleValue.setBorderLeft(HSSFCellStyle.BORDER_THIN);
- styleValue.setBorderRight(HSSFCellStyle.BORDER_THIN);
- // styleValue.setFillForegroundColor(HSSFColor.YELLOW.index);
- styleValue.setFillPattern(HSSFCellStyle.NO_FILL);
- styleValue.setFont(fontDefault);
- XSSFCell cell = null;
- XSSFCellStyle styleDescription = wb.createCellStyle();
- styleDescription.setAlignment(HSSFCellStyle.ALIGN_CENTER);
-// styleDescription.setBorderBottom(HSSFCellStyle.BORDER_THIN);
-// styleDescription.setBorderTop(HSSFCellStyle.BORDER_THIN);
-// styleDescription.setBorderRight(HSSFCellStyle.BORDER_THIN);
-// styleDescription.setBorderLeft(HSSFCellStyle.BORDER_THIN);
- XSSFFont fontDescr = wb.createFont();
- fontDescr.setFontHeight((short) (font_header_descr_size / 0.05));
- fontDescr.setFontName("Tahoma");
- fontDescr.setColor(HSSFColor.BLACK.index);
- fontDescr.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
- styleDescription.setFont(font);
- XSSFCell cellDescr = null;
- int paramSeq = 0;
- Header header = sheet.getHeader();
- StringBuffer strBuf = new StringBuffer();
- if(!Globals.customizeFormFieldInfo() || customizedParamInfo.length()<=0) {
- for (Iterator iter = paramsList.iterator(); iter.hasNext();) {
- IdNameValue value = (IdNameValue) iter.next();
- //System.out.println("\"" + value.getId() + " = " + value.getName() + "\"");
- if(nvl(value.getId()).trim().length()>0 && (!nvl(value.getId()).trim().equals("BLANK"))) {
- paramSeq += 1;
- if(paramSeq <= 1) {
- row = sheet.createRow(++rowNum);
- cell = row.createCell((short) 0);
- sheet.addMergedRegion(new CellRangeAddress(rowNum, rowNum, s1, s2));
- cellDescr = row.createCell((short) 0);
- cellDescr.setCellValue("Run-time Parameters");
- cellDescr.setCellStyle(styleDescription);
-
-
- strBuf.append(reportTitle+"\n");
- //strBuf.append("Run-time Parameters\n");
- }
- row = sheet.createRow(++rowNum);
- cellNum = 0;
- //System.out.println("RowNum " + rowNum + " " + value.getId() + " " +value.getName());
- cell = row.createCell((short) cellNum);
- cell.setCellValue(value.getId());
- cell.setCellStyle(styleName);
- cellNum += 1;
- cell = row.createCell((short) cellNum);
- cell.setCellValue(value.getName().replaceAll("~",","));
- cell.setCellStyle(styleValue);
-
- //strBuf.append(value.getId()+": "+ value.getName()+"\n");
- }
- } //for
- } else {
- strBuf.append(reportTitle+"\n");
- Document document = new Document();
- document.open();
- HTMLWorker worker = new HTMLWorker(document);
- StyleSheet style = new StyleSheet();
- style.loadTagStyle("body", "leading", "16,0");
- ArrayList p = HTMLWorker.parseToList(new StringReader(customizedParamInfo), style);
- String name = "";
- String token = "";
- String value = "";
- String s = "";
- PdfPTable pdfTable = null;
- for (int k = 0; k < p.size(); ++k){
- if(p.get(k) instanceof Paragraph)
- s = ((Paragraph)p.get(k)).toString();
- else { /*if ((p.get(k) instanceof PdfPTable))*/
- pdfTable = ((PdfPTable)p.get(k));
- }
- //todo: Logic for parsing pdfTable should be added after upgrading to iText 5.0.0
- //s = Utils.replaceInString(s, ",", "|");
- s = s.replaceAll(",", "|");
- s = s.replaceAll("~", ",");
- if(s.indexOf(":")!= -1) {
- //System.out.println("|"+s+"|");
- row = sheet.createRow(++rowNum);
- cell = row.createCell((short) 0);
- sheet.addMergedRegion(new CellRangeAddress(rowNum, rowNum, s1, s2));
- cellDescr = row.createCell((short) 0);
- cellDescr.setCellValue("Run-time Parameters");
- cellDescr.setCellStyle(styleDescription);
-
- //strBuf.append("Run-time Parameters\n");
- StringTokenizer st = new StringTokenizer(s.trim(), "|");
- while(st.hasMoreTokens()) {
- token = st.nextToken();
- token = token.trim();
- if (!(token.trim().equals("|") || token.trim().equals("]]") || token.trim().equals("]") || token.trim().equals("[") )) {
- if(token.endsWith(":")) {
- name = token;
- name = name.substring(0, name.length()-1);
- if(name.startsWith("["))
- name = name.substring(1);
- value = st.nextToken();
- if(nvl(value).endsWith("]"))value = nvl(value).substring(0, nvl(value).length()-1);
- } /*else if(name != null && name.length() > 0) {
- value = st.nextToken();
- if(value.endsWith("]]"))value = value.substring(0, value.length()-1);
- }*/
- if(name!=null && name.trim().length()>0) {
- row = sheet.createRow((short) ++rowNum);
- cellNum = 0;
- cell = row.createCell((short) cellNum);
- cell.setCellValue(name.trim());
- cell.setCellStyle(styleName);
- cellNum += 1;
- cell = row.createCell((short) cellNum);
- cell.setCellValue(value.trim());
- cell.setCellStyle(styleValue);
- //strBuf.append(name.trim()+": "+ value.trim()+"\n");
- }
-/* if(token.endsWith(":") && (value!=null && value.trim().length()<=0) && (name!=null && name.trim().length()>0 && name.endsWith(":"))) {
- name = name.substring(0, name.indexOf(":")+1);
- //value = token.substring(token.indexOf(":")+1);
- row = sheet.createRow((short) ++rowNum);
- cellNum = 0;
- cell = row.createCell((short) cellNum);
- cell.setCellValue(name.trim());
- cell.setCellStyle(styleName);
- cellNum += 1;
- cell = row.createCell((short) cellNum);
- cell.setCellValue(value.trim());
- cell.setCellStyle(styleValue);
-
- //strBuf.append(name.trim()+": "+ value.trim()+"\n");
- value = "";
- name = "";
- }
-*/ }
- int cw = 0;
- cw = name.trim().length() + 12;
- // if(i!=cellWidth.size()-1)
- if(sheet.getColumnWidth((short)0)< (short) name.trim().length())
- sheet.setColumnWidth((short)0, (short) name.trim().length());
- if(sheet.getColumnWidth((short)1)< (short) value.trim().length())
- sheet.setColumnWidth((short)1, (short) value.trim().length());
- name = "";
- value = "";
-
- }
-
- try {
- SimpleDateFormat oracleDateFormat = new SimpleDateFormat("MM/dd/yyyy kk:mm:ss");
- Date sysdate = oracleDateFormat.parse(ReportLoader.getSystemDateTime());
- SimpleDateFormat dtimestamp = new SimpleDateFormat(Globals.getScheduleDatePattern());
-
- row = sheet.createRow((short) ++rowNum);
- cellNum = 0;
- cell = row.createCell((short) cellNum);
- cell.setCellValue("Report Date/Time");
- cell.setCellStyle(styleName);
- cellNum += 1;
- cell = row.createCell((short) cellNum);
-
- cell.setCellValue(dtimestamp.format(sysdate)+" "+Globals.getTimeZone());
- cell.setCellStyle(styleValue);
-
- } catch(Exception ex) {
- //ex.printStackTrace();
- }
-
-
- }
- }
-
-
-/* Iterator iter1 = paramsList.iterator();
- s1 = 0; s2 = (short)10;
- if(iter1.hasNext()) {
- row = sheet.createRow((short) ++rowNum);
- cellNum = 0;
- cell = row.createCell((short) cellNum);
- sheet.addMergedRegion(new Region(rowNum, s1, rowNum, s2));
- cell.setCellValue(strip.stripHtml(customizedParamInfo));
- }
-*/
-/* rowNum += 2;
- row = sheet.createRow(rowNum);*/
- } // if
- Iterator iterCheck = paramsList.iterator();
- if(iterCheck.hasNext()) {
- rowNum += 2;
- row = sheet.createRow(rowNum);
- }
- header.setCenter(HSSFHeader.font("Tahoma", "")+ HSSFHeader.fontSize((short) font_header_title_size)+strBuf.toString());
- }
-
- // Trying different -->
- public void createHTMLFileContent(Writer out, ReportData rd,
- ReportRuntime rr, String sql_whole, HttpServletRequest request, HttpServletResponse response)
- throws RaptorException, IOException {
- //response.setContentType("application/vnd.ms-excel");
- //response.setHeader("Content-disposition",
- // "attachment; filename=" +
- // "Example.xls" );
- PrintWriter csvOut = response.getWriter();
- HtmlStripper strip = new HtmlStripper();
- ResultSet rs = null;
- Connection conn = null;
- Statement st = null;
- ResultSetMetaData rsmd = null;
- ColumnHeaderRow chr = null;
- int mb = 1024*1024;
- Runtime runtime = Runtime.getRuntime();
- csvOut.println("<HTML>\n" +
- "<HEAD><TITLE>" + rr.getReportName() + "</TITLE></HEAD>\n" +
- "<BODY>\n" );
- System.out.println("HTML-Excel Generation Triggered: " + new java.util.Date());
- csvOut.print("<TABLE>");
- if (Globals.getPrintParamsInCSVDownload()) {
- ArrayList paramsList = rr.getParamNameValuePairsforPDFExcel(request, 1);
- int paramSeq = 0;
- for (Iterator iter = paramsList.iterator(); iter.hasNext();) {
- IdNameValue value = (IdNameValue) iter.next();
- //System.out.println("\"" + value.getId() + " = " + value.getName() + "\"");
- if(nvl(value.getId()).trim().length()>0 && (!nvl(value.getId()).trim().equals("BLANK"))) {
- paramSeq += 1;
- if(paramSeq <= 1) {
- csvOut.println("<TR><TD COLSPAN=\"2\">" + "Run-time Parameters" + "</TD></TR>");
- //strBuf.append("Run-time Parameters\n");
- }
- csvOut.println("<TR><TD>" + value.getId() +"</TD>");
- csvOut.println("<TD>" + value.getName().replaceAll("~",",")+ "</TD>");
- csvOut.println("</TR>");
-
- //strBuf.append(value.getId()+": "+ value.getName()+"\n");
- }
- } //for
- csvOut.println("<TR><TD COLSPAN=\"2\"> &nbsp;</TD></TR>");
- csvOut.println("<TR><TD COLSPAN=\"2\"> &nbsp;</TD></TR>");
- System.out.println("HTML-Excel: Header Rendering complete " + new java.util.Date());
- }
- int rowCount = 0;
- if(nvl(sql_whole).length()>0) {
- try {
- conn = ConnectionUtils.getConnection(rr.getDbInfo());
- st = conn.createStatement();
- Log.write("[SQL] " + sql_whole, 4);
- int downloadLimit = Globals.getDownloadLimit();
- Callable<ResultSet> callable = new ExecuteQuery(st, sql_whole, downloadLimit);
- ExecutorService executor = new ScheduledThreadPoolExecutor(5);
- System.out.println("Time Started" + new java.util.Date());
- Future<ResultSet> future = executor.submit(callable);
- try {
- rs = future.get(900, TimeUnit.SECONDS);
- } catch (TimeoutException ex) {
- System.out.println("Cancelling Query");
- st.cancel();
- System.out.println("Query Cancelled");
- throw new Exception("user requested");
- }
- rsmd = rs.getMetaData();
- int numberOfColumns = rsmd.getColumnCount();
- HashMap colHash = new HashMap();
-
- if(rd!=null) {
- for (rd.reportColumnHeaderRows.resetNext(); rd.reportColumnHeaderRows.hasNext();) {
- chr = rd.reportColumnHeaderRows.getNext();
- csvOut.println("<TR>");
- for (chr.resetNext(); chr.hasNext();) {
- ColumnHeader ch = chr.getNext();
- if(ch.isVisible()) {
- csvOut.print("<TD bgColor=\"8F9381\">" + ch.getColumnTitle() + "</TD>");
- //for (int i = 1; i < ch.getColSpan(); i++)
- // csvOut.print(",");
-
- }
- } // for
- csvOut.println("</TR>");
- } // for
-
-
- while(rs.next()) {
- csvOut.println("<TR>");
-/* if(runtime.freeMemory()/mb <= ((runtime.maxMemory()/mb)*Globals.getMemoryThreshold()/100) ) {
- csvOut.print(Globals.getUserDefinedMessageForMemoryLimitReached() + " " + rowCount +"records out of " + rr.getReportDataSize() + " were downloaded to CSV.");
- break;
- }
-*/ rowCount++;
- colHash = new HashMap();
- for (int i = 1; i <= numberOfColumns; i++) {
- colHash.put(rsmd.getColumnName(i), rs.getString(i));
- }
- for (chr.resetNext(); chr.hasNext();) {
- ColumnHeader ch = chr.getNext();
- if(ch.isVisible()) {
- csvOut.println("<TD>" + strip.stripCSVHtml(nvl((String)colHash.get(ch.getLinkColId().toUpperCase()))) + "</TD>");
- }
-
- }
- csvOut.println("</TR>");
- }
- System.out.println("Downloaded Rows in HTML-Excel " + rowCount + " : "+ new java.util.Date());
- if(rowCount == 0) {
- csvOut.print("<TR><TD COLSPAN=\""+ numberOfColumns + "\">No Data Found</TD></TR>");
- } else {
- }
- } else {
- csvOut.println("<TR><TD COLSPAN=\""+ numberOfColumns + "\">No Data Found</TD></TR>");
- }
- csvOut.println("</TABLE></BODY>\n</HTML>");
-
- } catch (SQLException ex) {
- throw new RaptorException(ex);
- } catch (ReportSQLException ex) {
- throw new RaptorException(ex);
- } catch (Exception ex) {
- throw new RaptorException (ex);
- } finally {
- try {
- if(conn!=null)
- conn.close();
- if(st!=null)
- st.close();
- if(rs!=null)
- rs.close();
- } catch (SQLException ex) {
- throw new RaptorException(ex);
- }
- }
- //csvOut.flush();
- } else {
- boolean firstPass = true;
- int numberOfColumns = 0;
- if(rd!=null) {
- for (rd.reportColumnHeaderRows.resetNext(); rd.reportColumnHeaderRows.hasNext();) {
- chr = rd.reportColumnHeaderRows.getNext();
- csvOut.println("<TR>");
- for (rd.reportRowHeaderCols.resetNext(1); rd.reportRowHeaderCols.hasNext();) {
- RowHeaderCol rhc = rd.reportRowHeaderCols.getNext();
-
- if (firstPass) {
- numberOfColumns++;
- csvOut.print("<TD bgColor=\"8F9381\">" + rhc.getColumnTitle() + "</TD>");
- }
- //csvOut.print(",");
- } // for
-
-
- for (chr.resetNext(); chr.hasNext();) {
- ColumnHeader ch = chr.getNext();
- if(ch.isVisible()) {
- if(firstPass) numberOfColumns++;
- csvOut.print("<TD bgColor=\"8F9381\">" + ch.getColumnTitle() + "</TD>");
- //for (int i = 1; i < ch.getColSpan(); i++)
- //csvOut.print(",");
- }
- } // for
- firstPass = false;
- csvOut.println("</TR>");
- } // for
-
- firstPass = true;
- for (rd.reportDataRows.resetNext(); rd.reportDataRows.hasNext();) {
- DataRow dr = rd.reportDataRows.getNext();
- csvOut.println("<TR>");
- for (rd.reportRowHeaderCols.resetNext(1); rd.reportRowHeaderCols.hasNext();) {
- RowHeaderCol rhc = rd.reportRowHeaderCols.getNext();
- if (firstPass)
- rhc.resetNext();
- RowHeader rh = rhc.getNext();
-
- csvOut.print("<TD bgColor=\"8F9381\">" + strip.stripCSVHtml(rh.getRowTitle()) + "</TD>");
- } // for
- firstPass = false;
-
- for (dr.resetNext(); dr.hasNext();) {
- DataValue dv = dr.getNext();
- if(dv.isVisible())
- csvOut.print("<TD bgColor=\"8F9381\">" + strip.stripCSVHtml(dv.getDisplayValue()) + "</TD>");
- } // for
-
- csvOut.println("</TR>");
-
- } // for
- //csvOut.flush();
- } else {
- csvOut.println("<TR><TD COLSPAN=\""+ numberOfColumns + "\">No Data Found</TD></TR>");
- }
- }
- csvOut.println("</TABLE></BODY>\n</HTML>");
- System.out.println("HTML-Excel Generation: Data Rendering complete " + new java.util.Date());
- System.out.println("##### Heap utilization statistics [MB] #####");
- System.out.println("Used Memory:"
- + (runtime.maxMemory() - runtime.freeMemory()) / mb);
- System.out.println("Free Memory:"
- + runtime.freeMemory() / mb);
- System.out.println("Total Memory:" + runtime.totalMemory() / mb);
- System.out.println("Max Memory:" + runtime.maxMemory() / mb);
-
- } // createCSVFileContent
-
- /**
- * Checking if every row and cell in merging region exists, and create those which are not
- * @param sheet in which check is performed
- * @param region to check
- * @param cellStyle cell style to apply for whole region
- */
- private void cleanBeforeMergeOnValidCells(XSSFSheet sheet,CellRangeAddress region, XSSFCellStyle cellStyle )
- {
- for(int rowNum =region.getFirstRow();rowNum<=region.getLastRow();rowNum++){
- XSSFRow row= sheet.getRow(rowNum);
- if(row==null){
- sheet.createRow(rowNum);
- }
- for(int colNum=region.getFirstColumn();colNum<=region.getLastColumn();colNum++){
- XSSFCell currentCell = row.getCell(colNum);
- if(currentCell==null){
- currentCell = row.createCell(colNum);
- }
-
- currentCell.setCellStyle(cellStyle);
-
- }
- }
-
-
- }
-} // ReportHandler
-
-
-/**
- * Adapter for a Writer to behave like an OutputStream.
- *
- * Bytes are converted to chars using the platform default encoding.
- * If this encoding is not a single-byte encoding, some data may be lost.
- */
- class WriterOutputStream extends OutputStream {
-
- private final Writer writer;
-
- public WriterOutputStream(Writer writer) {
- this.writer = writer;
- }
-
- public void write(int b) throws IOException {
- // It's tempting to use writer.write((char) b), but that may get the encoding wrong
- // This is inefficient, but it works
- write(new byte[] {(byte) b}, 0, 1);
- }
-
- public void write(byte b[], int off, int len) throws IOException {
- writer.write(new String(b, off, len));
- }
-
- public void flush() throws IOException {
- writer.flush();
- }
-
- public void close() throws IOException {
- writer.close();
- }
-}
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/ReportLoader.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/ReportLoader.java
deleted file mode 100644
index 2197de66..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/ReportLoader.java
+++ /dev/null
@@ -1,1061 +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
- * ===========================================================================================
- *
- * -------------------------------------------------------------------------------------------
- * ReportLoader.java - This class is used to call database interaction related to reports.
- * -------------------------------------------------------------------------------------------
- *
- *
- *
- * Changes
- * -------
- * 28-Aug-2009 : Version 8.5.1 (Sundar);<UL><LI> isDashboardType is made to return false, as any report can be added to Dashboard. </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>Admin User is given the same privilege as Super User when the property
- * "admin_role_equiv_to_super_role" in raptor.properties is Y. A check is made in corresponding to that. </LI></UL>
- *
- */
-package org.openecomp.portalsdk.analytics.model;
-
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.io.Writer;
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Vector;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.openecomp.portalsdk.analytics.error.RaptorException;
-import org.openecomp.portalsdk.analytics.error.ReportSQLException;
-import org.openecomp.portalsdk.analytics.model.base.IdNameValue;
-import org.openecomp.portalsdk.analytics.model.base.ReportWrapper;
-import org.openecomp.portalsdk.analytics.model.definition.ReportLogEntry;
-import org.openecomp.portalsdk.analytics.model.search.ReportSearchResult;
-import org.openecomp.portalsdk.analytics.system.AppUtils;
-import org.openecomp.portalsdk.analytics.system.DbUtils;
-import org.openecomp.portalsdk.analytics.system.Globals;
-import org.openecomp.portalsdk.analytics.system.fusion.domain.QuickLink;
-import org.openecomp.portalsdk.analytics.util.AppConstants;
-import org.openecomp.portalsdk.analytics.util.DataSet;
-import org.openecomp.portalsdk.analytics.util.Utils;
-import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
-
-public class ReportLoader extends org.openecomp.portalsdk.analytics.RaptorObject {
-
- static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(ReportLoader.class);
-
-
- //private static Properties sqlProperty;
-
- public static String loadCustomReportXML(String reportID) throws RaptorException {
- Connection connection = DbUtils.getConnection();
- try {
- return loadCustomReportXML(connection, reportID);
- } finally {
- DbUtils.clearConnection(connection);
- }
- } // loadCustomReportXML
-
- public static String loadCustomReportXML(Connection connection, String reportID)
- throws RaptorException {
-
- StringBuffer sb = new StringBuffer();
-
- PreparedStatement stmt = null;
-
- ResultSet rs = null;
-
- try {
-
- String sql = Globals.getLoadCustomReportXml();
- stmt = connection.prepareStatement(sql);
- stmt.setInt(1,Integer.parseInt(reportID));
- rs = stmt.executeQuery();
- if(Globals.isWeblogicServer()) {
- java.sql.Clob clob= null;
- Object obj = null;
- if (rs.next()) {
- clob = rs.getClob(1);
- }
- else
- throw new RaptorException("Report " + reportID + " not found in the database");
-
- int len = 0;
- char[] buffer = new char[512];
- Reader in = null;
- in = new InputStreamReader(clob.getAsciiStream());
- // if(obj instanceof oracle.sql.CLOB) {
- // in = ((oracle.sql.CLOB) obj).getCharacterStream();
- // } else if (obj instanceof weblogic.jdbc.wrapper.Clob) {
- // in = ((weblogic.jdbc.base.BaseClob) obj).getCharacterStream();
- // }
- while ((len = in.read(buffer)) != -1)
- sb.append(buffer, 0, len);
- in.close();
- } else if (Globals.isPostgreSQL() || Globals.isMySQL()) {
- String clob= null;
- Object obj = null;
- if (rs.next()) {
- sb.append(rs.getString(1));
- }
- else
- throw new RaptorException("Report " + reportID + " not found in the database");
- } else {
- /*oracle.sql.CLOB clob = null;
- if (rs.next())
- clob = (oracle.sql.CLOB) rs.getObject(1);
- else
- throw new RaptorException("Report " + reportID + " not found in the database");
- int len = 0;
- char[] buffer = new char[512];
- Reader in = clob.getCharacterStream();
- while ((len = in.read(buffer)) != -1)
- sb.append(buffer, 0, len);
- in.close();*/
- throw new RaptorException("only maria db support for this ");
- }
- } catch (SQLException ex) {
- throw new ReportSQLException (ex.getMessage(), ex.getCause());
- } catch (IOException ex) {
- throw new RaptorException (ex.getMessage(), ex.getCause());
- } finally {
- try {
- if(rs!=null)
- rs.close();
- if(stmt!=null)
- stmt.close();
- } catch (SQLException ex) {
- throw new ReportSQLException (ex.getMessage(), ex.getCause());
- }
- }
- return sb.toString();
- } // loadCustomReportXML
-
- private static void dbUpdateReportXML(Connection connection, String reportID,
- String reportXML) throws RaptorException {
- PreparedStatement stmt = null;
- ResultSet rs = null;
-
- try {
- String sql = Globals.getDBUpdateReportXml();
- stmt = connection.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,
- ResultSet.CONCUR_UPDATABLE);
- stmt.setInt(1,Integer.parseInt(reportID));
- rs = stmt.executeQuery();
- Writer out = null;
- /*if(Globals.isWeblogicServer()) {
- java.sql.Clob clob = null;
- if (rs.next())
- clob = rs.getClob(1);
- else
- throw new RaptorException("Report " + reportID + " not found in the database");
-
- if (clob.length() > reportXML.length())
- clob.truncate(0);
- //clob.trim(reportXML.length());
- out = ((weblogic.jdbc.vendor.oracle.OracleThinClob)clob).getCharacterOutputStream();
- } else*/
- if (Globals.isPostgreSQL() || Globals.isMySQL()) {
- if (rs.next()) {
- rs.updateString("report_xml",reportXML);
- rs.updateRow();
- connection.commit();
- //sb.append(rs.getString(1));
- }
- else
- throw new RaptorException("Report " + reportID + " not found in the database");
- } else {
- /*oracle.sql.CLOB clob = null;
- if (rs.next())
- clob = (oracle.sql.CLOB) rs.getObject(1);
- else
- throw new RaptorException("Report " + reportID + " not found in the database");
-
- if (clob.length() > reportXML.length())
- clob.trim(reportXML.length());
- out = clob.getCharacterOutputStream();*/
- throw new RaptorException("only maria db support for this ");
- }
- if(!(Globals.isPostgreSQL() || Globals.isMySQL())) {
- out.write(reportXML);
- out.flush();
- out.close();
- }
- } catch (SQLException ex) {
- throw new ReportSQLException (ex.getMessage(), ex.getCause());
- } catch (IOException ex) {
- throw new RaptorException (ex.getMessage(), ex.getCause());
- } finally {
- try {
- if(rs!=null)
- rs.close();
- if(stmt!=null)
- stmt.close();
- } catch (SQLException ex) {
- throw new ReportSQLException (ex.getMessage(), ex.getCause());
- }
- }
- } // dbUpdateReportXML
-
- public static void updateCustomReportRec(Connection connection, ReportWrapper rw,
- String reportXML) throws RaptorException {
- /* DbUtils.executeUpdate(connection,"UPDATE cr_report SET title='"
- + Utils.oracleSafe(rw.getReportName()) + "', descr='"
- + Utils.oracleSafe(rw.getReportDescr()) + "', public_yn='"
- + (rw.isPublic() ? "Y" : "N") + "', menu_id='" + rw.getMenuID()
- + "', menu_approved_yn='" + (rw.isMenuApproved() ? "Y" : "N") + "', owner_id="
- + rw.getOwnerID() + ", maint_id=" + rw.getUpdateID()
- + ", maint_date=TO_DATE('" + rw.getUpdateDate() + "', '"
- + Globals.getOracleTimeFormat() + "'), dashboard_type_yn='"+ (rw.isDashboardType()?"Y":"N")+"', dashboard_yn= '"
- + (rw.getReportType().equals(AppConstants.RT_DASHBOARD)?"Y":"N") + "' WHERE rep_id = " + rw.getReportID());*/
-
- String sql = Globals.getUpdateCustomReportRec();
-
- sql = sql.replace("[Utils.oracleSafe(rw.getReportName())]", Utils.oracleSafe(rw.getReportName()));
- sql = sql.replace("[Utils.oracleSafe(rw.getReportDescr())]", Utils.oracleSafe(rw.getReportDescr()));
- sql = sql.replace("[(rw.isPublic()]",(rw.isPublic() ? "Y" : "N"));
- sql = sql.replace("[rw.getMenuID()]", rw.getMenuID());
- sql = sql.replace("[(rw.isMenuApproved()]", (rw.isMenuApproved() ? "Y" : "N"));
- sql = sql.replace("[rw.getOwnerID()]",rw.getOwnerID());
- sql = sql.replace("[rw.getUpdateID()]",rw.getUpdateID());
- sql = sql.replace("[rw.getUpdateDate()]",rw.getUpdateDate());
- sql = sql.replace("[Globals.getOracleTimeFormat()]", Globals.getOracleTimeFormat());
- sql = sql.replace("[(rw.isDashboardType()]", (rw.isDashboardType()?"Y":"N"));
- sql = sql.replace("[(rw.getReportType().equals(AppConstants.RT_DASHBOARD)]", (rw.getReportType().equals(AppConstants.RT_DASHBOARD)?"Y":"N"));
- sql = sql.replace("[rw.getReportID()]", rw.getReportID());
-
- DbUtils.executeUpdate(connection, sql);
-
- dbUpdateReportXML(connection, rw.getReportID(), reportXML);
- } // updateCustomReportRec
-
- public static boolean isDashboardType ( String reportID ) throws RaptorException {
- return false;
-/* String sql = "select dashboard_type_yn from cr_report where rep_id = ?";
- Connection connection = DbUtils.getConnection();
- PreparedStatement stmt = null;
- ResultSet rs = null;
- boolean dashboardType= false;
- try {
- stmt = connection.prepareStatement(sql);
- stmt.setString(1, reportID);
- rs = stmt.executeQuery();
- if(rs.next()) {
- dashboardType = nvls(rs.getString(1),"N").trim().toUpperCase().startsWith("Y");
- }
- } catch (SQLException ex) {
- throw new ReportSQLException (ex.getMessage(), ex.getCause());
- } finally {
- try {
- rs.close();
- stmt.close();
- DbUtils.clearConnection(connection);
- } catch (SQLException ex) {
- throw new ReportSQLException (ex.getMessage(), ex.getCause());
- }
- }
- return dashboardType;*/
- }
-
- public static boolean isReportsAlreadyScheduled ( String reportID ) throws RaptorException {
- //String sql = "select rep_id from cr_report_schedule where rep_id = ?";
- String sql = Globals.getIsReportAlreadyScheduled();
-
- Connection connection = DbUtils.getConnection();
- PreparedStatement stmt = null;
- ResultSet rs = null;
- boolean isScheduled= false;
- try {
- stmt = connection.prepareStatement(sql);
- stmt.setInt(1, Integer.parseInt(reportID));
- rs = stmt.executeQuery();
- if(rs.next()) {
- isScheduled = true;
- }
- } catch (SQLException ex) {
- throw new ReportSQLException (ex.getMessage(), ex.getCause());
- } finally {
- try {
- if(rs!=null)
- rs.close();
- if(stmt!=null)
- stmt.close();
- DbUtils.clearConnection(connection);
- } catch (SQLException ex) {
- throw new ReportSQLException (ex.getMessage(), ex.getCause());
- }
- }
- return isScheduled;
-}
-
- public static void createCustomReportRec(Connection connection, ReportWrapper rw,
- String reportXML) throws RaptorException {
-
- /*DbUtils
- .executeUpdate(
- connection,
- "INSERT INTO cr_report(rep_id, title, descr, public_yn, menu_id, menu_approved_yn, report_xml, owner_id, create_id, create_date, maint_id, maint_date, dashboard_type_yn, dashboard_yn, folder_id) VALUES("
- + rw.getReportID()
- + ", '"
- + Utils.oracleSafe(rw.getReportName())
- + "', '"
- + Utils.oracleSafe(rw.getReportDescr())
- + "', '"
- + (rw.isPublic() ? "Y" : "N")
- + "', '"
- + rw.getMenuID()
- + "', '"
- + (rw.isMenuApproved() ? "Y" : "N")
- + "', '<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>', "
- + rw.getOwnerID()
- + ", "
- + rw.getCreateID()
- + ", TO_DATE('"
- + rw.getCreateDate()
- + "', '"
- + Globals.getOracleTimeFormat()
- + "'), "
- + rw.getUpdateID()
- + ", TO_DATE('"
- + rw.getUpdateDate()
- + "', '"
- + Globals.getOracleTimeFormat()
- + "'), '"
- + (rw.isDashboardType()?"Y":"N")
- + "', '"
- + (rw.getReportType().equals(AppConstants.RT_DASHBOARD)?"Y":"N")
- + "', "
- + rw.getFolderId()
- + ")");*/
- String sql = Globals.getCreateCustomReportRec();
-
- sql = sql.replace("[rw.getReportID()]", rw.getReportID());
- sql = sql.replace("[Utils.oracleSafe(rw.getReportName())]", Utils.oracleSafe(rw.getReportName()));
- sql = sql.replace("[Utils.oracleSafe(rw.getReportDescr())]", Utils.oracleSafe(rw.getReportDescr()));
- sql = sql.replace("[rw.isPublic()]", (rw.isPublic() ? "Y" : "N"));
- sql = sql.replace("[rw.getMenuID()]", rw.getMenuID());
- sql = sql.replace("[rw.isMenuApproved()]", (rw.isMenuApproved() ? "Y" : "N"));
- sql = sql.replace("[rw.getOwnerID()]", rw.getOwnerID());
- sql = sql.replace("[rw.getCreateID()]", rw.getCreateID());
- sql = sql.replace("[rw.getCreateDate()]", rw.getCreateDate());
- sql = sql.replace("[Globals.getOracleTimeFormat()]", Globals.getOracleTimeFormat());
- sql = sql.replace("[rw.getUpdateID()]", rw.getUpdateID());
- sql = sql.replace("[rw.getUpdateDate()]", rw.getUpdateDate());
- sql = sql.replace("[rw.isDashboardType()]", (rw.isDashboardType()?"Y":"N"));
- sql = sql.replace("[rw.getReportType().equals(AppConstants.RT_DASHBOARD)]", (rw.getReportType().equals(AppConstants.RT_DASHBOARD)?"Y":"N"));
- sql = sql.replace("[rw.getFolderId()]", rw.getFolderId());
-
-
- DbUtils.executeUpdate(connection,sql);
-
- dbUpdateReportXML(connection, rw.getReportID(), reportXML);
- } // createCustomReportRec
-
- public static Vector getUserReportNames(HttpServletRequest request) {
- return getUserReportNames(AppUtils.getUserID(request));
- } // getUserReportNames
-
- public static Vector getUserReportNames(String userID) {
- Vector reportIdNames = new Vector();
-
- try {
-
- String sql = Globals.getTheUserReportNames();
- sql = sql.replace("[userID]", userID);
- DataSet ds = DbUtils.executeQuery(sql);
-
- //DataSet ds = DbUtils
- // .executeQuery("SELECT cr.rep_id, cr.title FROM cr_report cr WHERE nvl(cr.owner_id, cr.create_id) = "
- // + userID);
-
- for (int i = 0; i < ds.getRowCount(); i++)
- reportIdNames.add(new IdNameValue(ds.getString(i, 0), ds.getString(i, 1)));
- } catch (Exception e) {
- }
-
- return reportIdNames;
- } // getUserReportNames
-
- public static String getReportOwnerID(String reportID) throws RaptorException {
-
- // String sql = "SELECT nvl(cr.owner_id, cr.create_id) owner FROM cr_report cr WHERE rep_id = ?";
-
- String sql = Globals.getTheReportOwnerId();
-
- Connection connection = DbUtils.getConnection();
- PreparedStatement stmt = null;
- ResultSet rs = null;
- String reportOwnerID = null;
- try {
- stmt = connection.prepareStatement(sql);
- stmt.setInt(1, Integer.parseInt(reportID));
- rs = stmt.executeQuery();
- if(rs.next()) {
- reportOwnerID = rs.getString(1);
- }
- } catch (SQLException ex) {
- throw new ReportSQLException (ex.getMessage(), ex.getCause());
- } finally {
- try {
- if(rs!=null)
- rs.close();
- if(stmt!=null)
- stmt.close();
- DbUtils.clearConnection(connection);
- } catch (SQLException ex) {
- throw new ReportSQLException (ex.getMessage(), ex.getCause());
- }
- }
-
- return reportOwnerID;
- } // getReportOwnerID
-
- public static void deleteReportRecord(String reportID) throws RaptorException {
- Connection con = DbUtils.startTransaction();
-
- /*try {
- DbUtils.executeUpdate(con, "DELETE cr_report_log WHERE rep_id = " + reportID);
- DbUtils.executeUpdate(con, "DELETE cr_report_schedule_users WHERE rep_id = "
- + reportID);
- DbUtils.executeUpdate(con, "DELETE cr_report_schedule WHERE rep_id = " + reportID);
- DbUtils.executeUpdate(con, "DELETE cr_report_access WHERE rep_id = " + reportID);
- DbUtils.executeUpdate(con, "DELETE cr_report_email_sent_log WHERE rep_id = " + reportID);
- DbUtils.executeUpdate(con, "DELETE cr_favorite_reports WHERE rep_id = " + reportID);
- DbUtils.executeUpdate(con, "DELETE cr_report WHERE rep_id = " + reportID);
- DbUtils.commitTransaction(con);
- } */
-
- try{
- String sql1= Globals.getDeleteReportRecordLog();
- sql1 = sql1.replace("[reportID]", reportID);
- String sql2= Globals.getDeleteReportRecordUsers();
- sql2 = sql2.replace("[reportID]", reportID);
- String sql3= Globals.getDeleteReportRecordSchedule();
- sql3 = sql3.replace("[reportID]", reportID);
- String sql4= Globals.getDeleteReportRecordAccess();
- sql4 = sql4.replace("[reportID]", reportID);
- String sql5= Globals.getDeleteReportRecordEmail();
- sql5 = sql5.replace("[reportID]", reportID);
- String sql6= Globals.getDeleteReportRecordFavorite();
- sql6 = sql6.replace("[reportID]", reportID);
- String sql7= Globals.getDeleteReportRecordReport();
- sql7 = sql7.replace("[reportID]", reportID);
-
- DbUtils.executeUpdate(con, sql1);
- DbUtils.executeUpdate(con, sql2);
- DbUtils.executeUpdate(con, sql3);
- DbUtils.executeUpdate(con, sql4);
- DbUtils.executeUpdate(con, sql5);
- DbUtils.executeUpdate(con, sql6);
- DbUtils.executeUpdate(con, sql7);
- DbUtils.commitTransaction(con);
-
- }
-
-
- catch (Exception e) {
- DbUtils.rollbackTransaction(con);
- } finally {
- DbUtils.clearConnection(con);
- }
- } // deleteReportRecord
-
- public static ArrayList loadQuickLinks(HttpServletRequest request, String menuId, boolean b) throws RaptorException {
- String userID = AppUtils.getUserID(request);
- StringBuffer roleList = new StringBuffer();
- roleList.append("-1");
- for (Iterator iter = AppUtils.getUserRoles(request).iterator(); iter.hasNext();)
- roleList.append("," + ((String) iter.next()));
-
- // DataSet ds = DbUtils.executeQuery("SELECT cr.rep_id, cr.title FROM
- // cr_report cr WHERE cr.public_yn = 'Y' AND cr.menu_id =
- // '"+nvls(menuId)+"' AND cr.menu_approved_yn = 'Y' ORDER BY cr.title");
- // Copied from SearchHandler and simplified
- /*String query = "SELECT cr.rep_id, "
- + "cr.title, "
- + "cr.descr "
- + "FROM cr_report cr, "
- + "(SELECT rep_id, "
- + "MIN(read_only_yn) read_only_yn "
- + "FROM ((SELECT ua.rep_id, ua.read_only_yn FROM cr_report_access ua WHERE ua.user_id = "
- + userID
- + ") "
- + "UNION ALL "
- + "(SELECT ra.rep_id, ra.read_only_yn FROM cr_report_access ra WHERE ra.role_id IN ("
- + roleList.toString() + "))" + ") report_access "
- + "GROUP BY rep_id) ra " + "WHERE INSTR('|'||cr.menu_id||'|', '|'||'"
- + nvls(menuId) + "'||'|') > 0 AND " + "cr.menu_approved_yn = 'Y' AND "
- + "cr.rep_id = ra.rep_id (+) AND "
- + "(nvl(cr.owner_id, cr.create_id) = " + userID
- + " OR cr.public_yn = 'Y' OR ra.read_only_yn IS NOT NULL) "
- + "ORDER BY cr.title";*/
-
- String query = Globals.getLoadQuickLinks();
- query = query.replace("[userID]", userID);
- query = query.replace("[roleList.toString()]", roleList.toString());
- query = query.replace("[nvls(menuId)]", nvls(menuId));
-
- DataSet ds = DbUtils
- .executeQuery(query);
-
- ArrayList quickLinks = new ArrayList(ds.getRowCount());
- StringBuffer link = new StringBuffer("");
- for (int i = 0; i < ds.getRowCount(); i++) {
- link = new StringBuffer("");
- link.append("<a href=\"" + AppUtils.getReportExecuteActionURL() + ds.getString(i, 0));
- if(b) link.append("&PAGE_ID="+menuId+"&refresh=Y");
- link.append("\">" +ds.getString(i, 1) + "</a>" + (Globals.getShowDescrAtRuntime() ? " - " + ds.getString(i, 2) : "") );
- quickLinks.add(link.toString());
- }
-
- return quickLinks;
- } // loadQuickLinks
-
- public static ArrayList<QuickLink> getQuickLinksJSON(HttpServletRequest request, String menuId, boolean b) throws RaptorException {
- String userID = AppUtils.getUserID(request);
- StringBuffer roleList = new StringBuffer();
- roleList.append("-1");
- for (Iterator iter = AppUtils.getUserRoles(request).iterator(); iter.hasNext();)
- roleList.append("," + ((String) iter.next()));
-
- String query = Globals.getLoadQuickLinks();
- query = query.replace("[userID]", userID);
- query = query.replace("[roleList.toString()]", roleList.toString());
- query = query.replace("[nvls(menuId)]", nvls(menuId));
-
- DataSet ds = DbUtils
- .executeQuery(query);
-
- ArrayList<QuickLink> quickLinksArray = new ArrayList<QuickLink>(ds.getRowCount());
- for (int i = 0; i < ds.getRowCount(); i++) {
- QuickLink quickLink = new QuickLink();
- StringBuffer link = new StringBuffer("");
- link.append(AppUtils.getReportExecuteActionURLNG() +"c_master="+ ds.getString(i, 0));
- if(b) link.append("&PAGE_ID="+menuId+"&refresh=Y");
- quickLink.setReportURL(link.toString());
- quickLink.setReportName(ds.getString(i, 1));
- quickLink.setShowDescr(Globals.getShowDescrAtRuntime());
- quickLink.setReportDescr(ds.getString(i, 2));
- quickLinksArray.add(quickLink);
- }
-
- return quickLinksArray;
- } // loadQuickLinks
-
- //this will retrieve all the reports within the specified folder.
- public static ReportSearchResult loadFolderReports(HttpServletRequest request, String menuId, boolean b, String folderId, boolean isUserReport, boolean isPublicReport) throws RaptorException {
- String HTML_FORM = "forma";
- String userID = AppUtils.getUserID(request);
- StringBuffer roleList = new StringBuffer();
- roleList.append("-1");
- String rep_title_sql = "'<a class=\"hyperref1\" href=''#'' onClick=''document."+HTML_FORM+"."+AppConstants.RI_ACTION+".value=\"report.run\";"+
- "document."+HTML_FORM+".c_master.value=\"'|| cr.rep_id||'\";document."+HTML_FORM+".submit()''>'";
- String PRIVATE_ICON = "<img border=0 src="
- + AppUtils.getImgFolderURL()
- + "accessicon.gif alt=Private width=16 height=12>&nbsp;";
-
- for (Iterator iter = AppUtils.getUserRoles(request).iterator(); iter.hasNext();)
- roleList.append("," + ((String) iter.next()));
-
- /*String sql= "SELECT cr.rep_id, " +
- "cr.rep_id report_id, " +
- rep_title_sql+
- "||DECODE(cr.public_yn, 'Y', '', '" +
- PRIVATE_ICON +
- "')||cr.title||'</a>' title, " +
- "cr.descr, " +
- "au.first_name||' '||au.last_name owner_name, " +
- "TO_CHAR(cr.create_date, 'MM/DD/YYYY') create_date, " +
- "DECODE(NVL(cr.owner_id, cr.create_id), " +
- userID +
- ", 'N', NVL(ra.read_only_yn, 'Y')) read_only_yn, " +
- "DECODE(NVL(cr.owner_id, cr.create_id), " +
- userID +
- ", 'Y', 'N') user_is_owner_yn " +
- " FROM cr_report cr, " +
- "app_user au, " +
- "(SELECT rep_id, MIN(read_only_yn) read_only_yn " +
- "FROM ((SELECT ua.rep_id, ua.read_only_yn FROM cr_report_access ua WHERE ua.user_id = " +
- userID +
- ") " +
- "UNION ALL " +
- "(SELECT ra.rep_id, ra.read_only_yn FROM cr_report_access ra WHERE ra.role_id IN " +
- "(-1,1000,1))" + ") report_access GROUP BY rep_id) ra " +
- "WHERE TO_CHAR(cr.rep_id) = nvl('', TO_CHAR(cr.rep_id)) AND UPPER(cr.title) LIKE UPPER('%%') " +
- "AND nvl(cr.owner_id, cr.create_id) = au.user_id AND cr.rep_id = ra.rep_id (+) " +
- " AND cr.folder_id= '" + folderId + "'" ;*/
-
- /*String sql = "" +
- "SELECT cr.rep_id, "
- + "cr.rep_id report_id, "
- + rep_title_sql + "||DECODE(cr.public_yn, 'Y', '', '" + PRIVATE_ICON + "')||cr.title||'</a>' title, "
- + "cr.descr, "
- + "au.first_name||' '||au.last_name owner_name, "
- + "TO_CHAR(cr.create_date, 'MM/DD/YYYY') create_date, "
- + "DECODE(NVL(cr.owner_id, cr.create_id), " + userID
- + ", 'N', NVL(ra.read_only_yn, 'Y')) read_only_yn, "
- + "DECODE(NVL(cr.owner_id, cr.create_id), " + userID
- + ", 'Y', 'N') user_is_owner_yn "
- + "FROM cr_report cr, "
- + "app_user au, "
- + "(SELECT rep_id, "
- + "MIN(read_only_yn) read_only_yn "
- + "FROM ((SELECT ua.rep_id, ua.read_only_yn FROM cr_report_access ua WHERE ua.user_id = "
- + userID
- + ") "
- + "UNION ALL "
- + "(SELECT ra.rep_id, ra.read_only_yn FROM cr_report_access ra WHERE ra.role_id IN ("
- + roleList.toString() + "))" + ") report_access " + "GROUP BY rep_id) ra "
- + "WHERE " + "nvl(cr.owner_id, cr.create_id) = au.user_id "
- + "AND cr.rep_id = ra.rep_id (+) AND cr.folder_id= '" + folderId + "'";*/
-
- String sql = Globals.getLoadFolderReports();
- sql = sql.replace("[userID]", userID);
- sql = sql.replace("[PRIVATE_ICON]", PRIVATE_ICON);
- sql = sql.replace("[rep_title_sql]", rep_title_sql);
- sql = sql.replace("[roleList.toString()]", roleList.toString());
- sql = sql.replace("[folderId]", folderId);
-
-
- // String user_sql = " AND nvl(cr.owner_id, cr.create_id) = " + userID;
- // String public_sql = " AND (nvl(cr.owner_id, cr.create_id) = " + userID
- // + " OR cr.public_yn = 'Y' OR ra.read_only_yn IS NOT NULL)";
-
- String user_sql = Globals.getLoadFolderReportsUser();
- user_sql = user_sql.replace("[userID]", userID);
- String public_sql = Globals.getLoadFolderReportsPublicSql();
- public_sql = public_sql.replace("[userID]", userID);
-
- if (isUserReport)
- // My reports - user is owner
- sql += user_sql;
- else if (isPublicReport)
- // Public reports - user has read or write access to the report
- // (user is owner or report is public or user has explicit user or
- // role access)
- if (!AppUtils.isSuperUser(request))
- sql += public_sql;
- else if (!AppUtils.isSuperUser(request))
- // All reports
- // If user is super user - gets unrestricted access to all reports
- // (read_only gets overriden later)
- // else - not super user - doesn't get access to private reports of
- // other users (= Public reports); Admin users get edit right
- // override later
- sql += public_sql;
- logger.debug(EELFLoggerDelegate.debugLogger, ("query is for folder list is : " + sql));
-
- DataSet ds = DbUtils.executeQuery(sql);
-
- /*Vector quickLinks = new Vector(ds.getRowCount());
- StringBuffer link = new StringBuffer("");
- for (int i = 0; i < ds.getRowCount(); i++) {
- link = new StringBuffer("");
- link.append("<a href=\"" + AppUtils.getReportExecuteActionURL() + ds.getString(i, 0));
- if(b) link.append("&PAGE_ID="+menuId+"&refresh=Y");
- link.append("\">" +ds.getString(i, 2) + "</a>" + (Globals.getShowDescrAtRuntime() ? " - " + ds.getString(i, 2) : "") );
- quickLinks.add(link.toString());
- }
-
- return quickLinks;*/
- ReportSearchResult rsr = new ReportSearchResult(-1, ds.getRowCount(), 6, 7);
- rsr.parseData(ds, request);
- //rsr.truncateToPage(pageNo);
-
- return rsr;
- } // loadFolderReports
-
- public static ArrayList loadQuickDownloadLinks(String userID, HttpServletRequest request) throws RaptorException {
- /*String query = " SELECT a.file_name, b.title,to_char(a.dwnld_start_time, 'Dy DD-Mon-YYYY HH24:MI:SS') as time, "+
- " a.dwnld_start_time " +
- " FROM cr_report_dwnld_log a, cr_report b where a.user_id = "+userID +" and "+
- " a.rep_id = b.rep_id " +
- " and (a.dwnld_start_time) >= to_date(to_char(sysdate-24/24, 'mm/dd/yyyy'), 'mm/dd/yyyy') " +
- " and a.record_ready_time is not null " +
- " order by a.dwnld_start_time desc"; */
-
- String query = Globals.getLoadQuickDownloadLinks();
- query = query.replace("[userID]", userID);
-
-
- DataSet ds = DbUtils
- .executeQuery(query);
- ArrayList quickDownloadLinks = new ArrayList(ds.getRowCount());
- logger.debug(EELFLoggerDelegate.debugLogger, ("ROW SIZE " + ds.getRowCount()));
- for (int i = 0; i < ds.getRowCount(); i++) {
- quickDownloadLinks.add("<a href=\"" + AppUtils.getRaptorActionURL()+"download.data.file&filename="
- + ds.getString(i, 0)+"\">" + ds.getString(i, 1)+ "</a>" + "&nbsp;"+ ds.getString(i, 2));
- }
- logger.debug(EELFLoggerDelegate.debugLogger, ("VECTOR SIZE " + quickDownloadLinks.size()));
-
- return quickDownloadLinks;
- } // loadQuickLinks
-
- public static HashMap loadReportsToSchedule (HttpServletRequest request) throws RaptorException {
- String userID = AppUtils.getUserID(request);
- StringBuffer roleList = new StringBuffer();
- roleList.append("-1");
- for (Iterator iter = AppUtils.getUserRoles(request).iterator(); iter.hasNext();)
- roleList.append("," + ((String) iter.next()));
- /*StringBuffer query = new StringBuffer("");
- query.append("SELECT cr.rep_id, ");
- query.append("Initcap(cr.title), ");
- query.append("cr.descr ");
- query.append("FROM cr_report cr, ");
- query.append("(SELECT rep_id, ");
- query.append("MIN(read_only_yn) read_only_yn ");
- query.append("FROM ((SELECT ua.rep_id, ua.read_only_yn FROM cr_report_access ua WHERE ua.user_id = ");
- query.append(userID);
- query.append(") ");
- query.append("UNION ALL ");
- query.append("(SELECT ra.rep_id, ra.read_only_yn FROM cr_report_access ra WHERE ra.role_id IN (");
- query.append(roleList.toString() + "))" + ") report_access ");
- query.append("GROUP BY rep_id) ra " + "WHERE ");
- query.append("cr.rep_id = ra.rep_id (+) AND ");
- query.append(" (cr.public_yn = 'Y' OR ra.read_only_yn IS NOT NULL or cr.owner_id = " + userID +") ");
- query.append("ORDER BY Initcap(cr.title)") ;*/
-
- String sql = Globals.getLoadReportsToSchedule();
- sql = sql.replace("[userID]", userID);
- sql = sql.replace("[roleList.toString()]", roleList.toString());
-
- // DataSet ds = DbUtils
- // .executeQuery(query.toString());
-
- DataSet ds = DbUtils
- .executeQuery(sql);
- HashMap map = new HashMap();
- for (int i = 0; i < ds.getRowCount(); i++) {
- map.put(ds.getItem(i,0), ds.getItem(i,1));
- }
-
- return map;
- }
-
- public static HashMap loadReportsToAddInDashboard (HttpServletRequest request) throws RaptorException {
- String userID = AppUtils.getUserID(request);
- StringBuffer roleList = new StringBuffer();
- roleList.append("-1");
- for (Iterator iter = AppUtils.getUserRoles(request).iterator(); iter.hasNext();)
- roleList.append("," + ((String) iter.next()));
- /*StringBuffer query = new StringBuffer("");
- query.append("SELECT cr.rep_id, ");
- query.append("cr.title, ");
- query.append("cr.descr ");
- query.append("FROM cr_report cr, ");
- query.append("(SELECT rep_id, ");
- query.append("MIN(read_only_yn) read_only_yn ");
- query.append("FROM ((SELECT ua.rep_id, ua.read_only_yn FROM cr_report_access ua WHERE ua.user_id = ");
- query.append(userID);
- query.append(") ");
- query.append("UNION ALL ");
- query.append("(SELECT ra.rep_id, ra.read_only_yn FROM cr_report_access ra WHERE ra.role_id IN (");
- query.append(roleList.toString() + "))" + ") report_access ");
- query.append("GROUP BY rep_id) ra " + "WHERE ");
- query.append("cr.rep_id = ra.rep_id (+) AND ");
- query.append("(nvl(cr.owner_id, cr.create_id) = " + userID);
- query.append(" OR cr.public_yn = 'Y' OR ra.read_only_yn IS NOT NULL) ");
- query.append(" AND (cr.dashboard_yn = 'N' or cr.dashboard_yn is null) ");
- query.append("ORDER BY cr.title") ;*/
-
- String sql = Globals.getLoadReportsToAddInDashboard();
- sql = sql.replace("[userID]", userID);
- sql = sql.replace("[roleList.toString()]", roleList.toString());
-
- // DataSet ds = DbUtils
- // .executeQuery(query.toString());
-
- DataSet ds = DbUtils
- .executeQuery(sql);
-
- HashMap map = new HashMap();
- for (int i = 0; i < ds.getRowCount(); i++) {
- map.put(ds.getItem(i,0), ds.getItem(i,1));
- }
-
- return map;
- }
-
- public static Vector loadMyRecentLinks(String userID, HttpServletRequest request) throws RaptorException {
- /* StringBuffer query = new StringBuffer("");
- query.append("select rep_id, title, descr, form_fields from ( select rownum, rep_id, title, descr, form_fields from ");
- query.append(" (select cr.rep_id, cr.title, a.form_fields, cr.descr, a.log_time, a.user_id, a.action, a.action_value " );
- query.append(" from cr_report_log a, cr_report cr where user_id = " + userID);
- query.append(" and action = 'Report Execution Time' and a.rep_id = cr.rep_id order by log_time desc) x where rownum <= 6 ) y where rownum >= 1");*/
-// DataSet ds = DbUtils
-// .executeQuery(
-// " SELECT a.file_name, b.title,to_char(a.dwnld_start_time, 'Dy DD-Mon-YYYY HH24:MI:SS') as time, "+
-// " a.dwnld_start_time " +
-// " FROM cr_report_dwnld_log a, cr_report b where a.user_id = "+userID +" and "+
-// " a.rep_id = b.rep_id and (a.dwnld_start_time) >= to_date(to_char(sysdate-24/24, 'mm/dd/yyyy'), 'mm/dd/yyyy') " +
-// " and a.record_ready_time is not null " +
-// " order by a.dwnld_start_time desc");
-// DataSet ds = DbUtils
- // .executeQuery(query.toString());
-
-
- String sql = Globals.getLoadMyRecentLinks();
- sql = sql.replace("[userID]", userID);
-
- DataSet ds = DbUtils
- .executeQuery(sql);
-
- Vector myRecentLinks = new Vector(ds.getRowCount());
- logger.debug(EELFLoggerDelegate.debugLogger, ("ROW SIZE " + ds.getRowCount()));
- for (int i = 0; i < ds.getRowCount(); i++) {
- myRecentLinks.add("<a href=\"" + AppUtils.getRaptorActionURL()+"report.run.container&display_content=Y&fromReportLog=Y&refresh=Y&c_master="+ds.getString(i, 0)+ds.getString(i, 3)+"\">" + ds.getString(i, 1)+ "</a>");
- }
- logger.debug(EELFLoggerDelegate.debugLogger, ("VECTOR SIZE " + myRecentLinks.size()));
-
- return myRecentLinks;
- } // loadQuickLinks
-
- public static void createReportLogEntry(Connection connection, String reportID,
- String userID, String action, String executionTime,String form_fields) throws RaptorException {
- if(form_fields.length()>=4000) form_fields = "";
- //String stmt = "INSERT INTO cr_report_log (rep_id, log_time, user_id, action, action_value, form_fields) VALUES("
- // + reportID + ", SYSDATE, " + userID + ", '" + action + "' , '" + executionTime + "', '"+ form_fields +"')";
-
- String stmt = Globals.getCreateReportLogEntry();
- stmt = stmt.replace("[reportID]", reportID);
- stmt = stmt.replace("[userID]", userID);
- stmt = stmt.replace("[action]", action);
- stmt = stmt.replace("[executionTime]", executionTime);
- stmt = stmt.replace("[form_fields]", form_fields);
-
- if (Globals.getEnableReportLog())
- if (connection == null)
- DbUtils.executeUpdate(stmt);
- else
- DbUtils.executeUpdate(connection, stmt);
- } // createReportLogEntry
-
- public static void createReportLogEntryForExecutionTime(Connection connection, String reportID,
- String userID, String executionTime, String action, String formFields) throws RaptorException {
- if(formFields.length()>=4000) formFields = "";
- //String stmt = "INSERT INTO cr_report_log (rep_id, log_time, user_id, action, action_value, form_fields) VALUES("
- // + reportID + ", sysdate+1/(24*60*60) , " + userID + ", '" + action + "' , '" + executionTime + "', '"+ formFields +"')";
-
- String stmt = Globals.getCreateReportLogEntryExecTime();
- stmt = stmt.replace("[reportID]", reportID);
- stmt = stmt.replace("[userID]", userID);
- stmt = stmt.replace("[action]", action);
- stmt = stmt.replace("[executionTime]", executionTime);
- stmt = stmt.replace("[formFields]", formFields);
-
- if (Globals.getEnableReportLog())
- if (connection == null)
- DbUtils.executeUpdate(stmt);
- else
- DbUtils.executeUpdate(connection, stmt);
- } // createReportLogEntry
-
- public static void clearReportLogEntries(String reportId, String userId) throws RaptorException {
- String sql = Globals.getClearReportLogEntries();
- Connection connection = DbUtils.getConnection();
- PreparedStatement stmt = null;
- String reportOwnerID = null;
- int rowsAffected = 0;
- try {
- stmt = connection.prepareStatement(sql);
- stmt.setInt(1, Integer.parseInt(reportId));
- stmt.setInt(2, Integer.parseInt(userId));
- rowsAffected = stmt.executeUpdate();
- if(rowsAffected > 0) connection.commit();
- } catch (SQLException ex) {
- throw new ReportSQLException (ex.getMessage(), ex.getCause());
- } finally {
- try {
- stmt.close();
- connection.close();
- DbUtils.clearConnection(connection);
- } catch (SQLException ex) {
- throw new ReportSQLException (ex.getMessage(), ex.getCause());
- }
- }
- } // clearReportLogEntries
-
- public static Vector loadReportLogEntries(String reportId) throws RaptorException {
- /* StringBuffer query = new StringBuffer("SELECT x.log_time, x.user_id,") ;
- query.append(" (CASE WHEN x.action = 'Report Execution Time' THEN ");
- query.append(" '<a href=\"" + AppUtils.getRaptorActionURL() +"report.run.container&c_master='||x.rep_id||'&'||x.form_fields||'&fromReportLog=Y&display_content=Y&noFormFields=Y&refresh=Y\">'||x.action||'</a>'");
- query.append(" ELSE x.action END) action, " );
- query.append(" (CASE WHEN x.action = 'Report Execution Time' THEN ");
- query.append(" action_value " );
- query.append(" ELSE 'N/A' END) time_taken, " );
- query.append( " (CASE WHEN x.action = 'Report Execution Time' THEN '<a href=\"" + AppUtils.getRaptorActionURL() +"report.run.container&c_master='||x.rep_id||'&'||x.form_fields||'&fromReportLog=Y&display_content=Y&noFormFields=Y&refresh=Y\"><img src=\""+AppUtils.getImgFolderURL()+ "test_run.gif\" width=\"12\" height=\"12\" border=0 alt=\"Run report\"/></a>' ELSE 'N/A' END) run_image, " );
- query.append(" x.name FROM ");
- query.append(" (SELECT rl.rep_id, TO_CHAR(rl.log_time, 'Month DD, YYYY HH:MI:SS AM') log_time, rl.action_value, fuser.last_name ||', '||fuser.first_name name, ");
- query.append(" rl.user_id, rl.action, rl.form_fields FROM cr_report_log rl, fn_user fuser WHERE rl.rep_id = "+ nvls(reportId)+ " and rl.action != 'Report Run' and fuser.user_id = rl.user_id" );
- query.append(" ORDER BY rl.log_time DESC) x WHERE ROWNUM <= 100");*/
-// DataSet ds = DbUtils
-// .executeQuery("SELECT x.log_time, x.user_id, x.action FROM (SELECT TO_CHAR(rl.log_time, 'Month DD, YYYY HH:MI:SS AM') log_time, rl.user_id, rl.action FROM cr_report_log rl WHERE rl.rep_id = "
-// + nvls(reportId) + " ORDER BY rl.log_time DESC) x WHERE ROWNUM <= 100");
- // DataSet ds = DbUtils.executeQuery(query.toString());
-
- String sql = Globals.getLoadReportLogEntries();
- sql = sql.replace("[AppUtils.getRaptorActionURL()]", AppUtils.getRaptorActionURL());
- sql = sql.replace("[AppUtils.getImgFolderURL()]", AppUtils.getImgFolderURL());
- sql = sql.replace("[nvls(reportId)]", nvls(reportId));
-
-
- DataSet ds = DbUtils.executeQuery(sql);
-
- Vector logEntries = new Vector(ds.getRowCount());
-
- for (int i = 0; i < ds.getRowCount(); i++)
- logEntries.add(new ReportLogEntry(ds.getString(i, 0), ds
- .getString(i, 5), ds.getString(i, 2), ds.getString(i, 3), ds.getString(i, 4)));
-
- return logEntries;
- } // loadReportLogEntries
-
- public static boolean doesUserCanScheduleReport(HttpServletRequest request, String scheduleId) throws RaptorException {
- boolean flagLimit = false;
- boolean flagScheduleIdPresent = false;
- String userId = AppUtils.getUserID(request);
- if(AppUtils.isAdminUser(request))return true;
- //String query = "select crs.sched_user_id, count(*) from cr_report_schedule crs where sched_user_id = " + userId + " group by crs.sched_user_id having count(*) >= " + Globals.getScheduleLimit();
- String query = Globals.getDoesUserCanScheduleReport();
- query = query.replace("[userId]", userId);
- query = query.replace("[Globals.getScheduleLimit()]", String.valueOf(Globals.getScheduleLimit()));
-
- DataSet ds = DbUtils.executeQuery(query);
- logger.debug(EELFLoggerDelegate.debugLogger, (" User Schedule ds.getRowCount() " + ds.getRowCount() + " " +(ds.getRowCount()>0)));
- if(ds.getRowCount() > 0) flagLimit = true;
- else flagLimit = false;
- logger.debug(EELFLoggerDelegate.debugLogger, ("scheduleId " + scheduleId));
- if(scheduleId==null || scheduleId.trim().length()<=0) return !flagLimit;
- //query = "select crs.schedule_id from cr_report_schedule crs where schedule_id = " + scheduleId;
- query = Globals.getDoesUserCanSchedule();
- query = query.replace("[scheduleId]", scheduleId);
-
- if(ds.getRowCount() > 0) flagScheduleIdPresent = true;
- else flagScheduleIdPresent = false;
- if(!flagLimit) return true;
- if(flagLimit && flagScheduleIdPresent) return true;
- else return false;
- }
-
- public static String getSystemDateTime() throws RaptorException {
- //String query = "select to_char(sysdate,'MM/dd/yyyy HH24:mi:ss') from dual";
- String query = Globals.getTheSystemDateTime();
-
- DataSet ds = DbUtils.executeQuery(query);
- String timeStr = "";
- if(ds.getRowCount() > 0) {
- timeStr = ds.getString(0,0);
- }
- return timeStr;
-
- }
-
- public static String getNextDaySystemDateTime() throws RaptorException {
- //String query = "select to_char(sysdate+1,'MM/dd/yyyy HH24:mi:ss') from dual";
- String query = Globals.getTheNextDayDateTime();
- DataSet ds = DbUtils.executeQuery(query);
- String timeStr = "";
- if(ds.getRowCount() > 0) {
- timeStr = ds.getString(0,0);
- }
- return timeStr;
-
- }
-
- public static String getNext15MinutesOfSystemDateTime() throws RaptorException {
- //String query = "select to_char(sysdate+15/(24*60),'MM/dd/yyyy HH24:mi:ss') from dual";
- String query = Globals.getTheNextFifteenMinDateTime();
-
- DataSet ds = DbUtils.executeQuery(query);
- String timeStr = "";
- if(ds.getRowCount() > 0) {
- timeStr = ds.getString(0,0);
- }
- return timeStr;
-
- }
-
- public static String getNext30MinutesOfSystemDateTime() throws RaptorException {
- //String query = "select to_char(sysdate+30/(24*60),'MM/dd/yyyy HH24:mi:ss') from dual";
- String query = Globals.getTheNextThirtyMinDateTime();
- DataSet ds = DbUtils.executeQuery(query);
- String timeStr = "";
- if(ds.getRowCount() > 0) {
- timeStr = ds.getString(0,0);
- }
- return timeStr;
-
- }
-
- public static String getTemplateFile(String reportId) throws RaptorException {
- //String query = "select template_file from cr_report_template_map where report_id = " + reportId;
- String query = Globals.getTheTemplateFile();
- query = query.replace("[reportId]", reportId);
- String templateFile = "";
- try {
- DataSet ds = DbUtils.executeQuery(query);
- if(ds.getRowCount() > 0) {
- templateFile = ds.getString(0,0);
- }
- }catch(RaptorException ex) {
- logger.debug(EELFLoggerDelegate.debugLogger, ("SQL Exception while trying to access cr_report_template_map "));
- }
- return templateFile;
-
- }
-
-
- public static HashMap loadPDFImgLookUp() throws RaptorException {
- StringBuffer query = new StringBuffer("");
- HashMap pdfImgMap = new HashMap();
- //query.append("select image_id, image_loc from cr_raptor_pdf_img");
- query.append(Globals.getLoadPdfImgLookup());
- DataSet ds = DbUtils.executeQuery(query.toString());
- for (int i = 0; i < ds.getRowCount(); i++) {
- pdfImgMap.put(ds.getString(i, 0), ds.getString(i,1));
- }
- return pdfImgMap;
- } // loadQuickLinks
-
- public static HashMap loadActionImgLookUp() throws RaptorException {
- StringBuffer query = new StringBuffer("");
- HashMap pdfImgMap = new HashMap();
- //query.append("select image_id, image_loc from cr_raptor_action_img");
- query.append(Globals.getLoadActionImgLookup());
- DataSet ds = DbUtils.executeQuery(query.toString());
- for (int i = 0; i < ds.getRowCount(); i++) {
- pdfImgMap.put(ds.getString(i, 0), ds.getString(i,1));
- }
- return pdfImgMap;
- } // loadQuickLinks
-
-} // ReportLoader
-
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/SearchHandler.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/SearchHandler.java
deleted file mode 100644
index 428bc90a..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/SearchHandler.java
+++ /dev/null
@@ -1,490 +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
- * ===========================================================================================
- *
- * -------------------------------------------------------------------------------------------
- * SearchHandler.java - This class is used to search reports and sort them in different order
- * based on preference. It can also download the list in CSV format.
- * -------------------------------------------------------------------------------------------
- *
- *
- *
- * Changes
- * -------
- * 18-Aug-2009 : Version 8.5.1 (Sundar);<UL><LI> request Object is passed to prevent caching user/roles - Datamining/Hosting. </LI></UL>
- * 13-Aug-2009 : Version 8.5 (Sundar);<UL><LI>Refresh is added while running report.</LI>
- * </UL>
- * 27-Jul-2009 : Version 8.4 (Sundar);<UL><LI> A new sort order PUBLIC is added.</LI>
- * <LI> In Public reports option it brings all the reports
- * including the one which logged in user didn't create
- * and which is not public. This is available for Super users and "Admin equivalent Super Users".</LI>
- * </UL>
- *
- */
-package org.openecomp.portalsdk.analytics.model;
-
-import java.io.BufferedWriter;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.Writer;
-import java.util.Iterator;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.openecomp.portalsdk.analytics.controller.ErrorHandler;
-import org.openecomp.portalsdk.analytics.error.RaptorException;
-import org.openecomp.portalsdk.analytics.model.search.ReportSearchResult;
-import org.openecomp.portalsdk.analytics.model.search.ReportSearchResultJSON;
-import org.openecomp.portalsdk.analytics.model.search.SearchResultColumn;
-import org.openecomp.portalsdk.analytics.model.search.SearchResultField;
-import org.openecomp.portalsdk.analytics.model.search.SearchResultRow;
-import org.openecomp.portalsdk.analytics.system.AppUtils;
-import org.openecomp.portalsdk.analytics.system.DbUtils;
-import org.openecomp.portalsdk.analytics.system.Globals;
-import org.openecomp.portalsdk.analytics.util.AppConstants;
-import org.openecomp.portalsdk.analytics.util.DataSet;
-import org.openecomp.portalsdk.analytics.util.HtmlStripper;
-
-public class SearchHandler extends org.openecomp.portalsdk.analytics.RaptorObject {
- private static final String HTML_FORM = "forma";
- private final static String PRIVATE_ICON = "<img border=0 src="
- + AppUtils.getImgFolderURL()
- + "accessicon.gif alt=Private width=16 height=12>&nbsp;";
-
- public SearchHandler() {
- }
-
- public void createCSVFileContent(Writer out, ReportSearchResult sr) throws IOException {
- PrintWriter csvOut = new PrintWriter(out);
- HtmlStripper strip = new HtmlStripper();
-
- for (int c = 1; c < sr.getNumColumns(); c++) {
- SearchResultColumn column = sr.getColumn(c);
- if (column.getLinkURL() == null)
- csvOut.print("\"" + column.getColumnTitle() + "\",");
- } // for
- csvOut.println();
-
- for (int r = 0; r < sr.getNumRows(); r++) {
- SearchResultRow row = sr.getRow(r);
-
- int c = 1;
- for (row.resetNext(1); row.hasNext();) {
- SearchResultField field = row.getNext();
- if (sr.getColumn(c++).getLinkURL() == null)
- if (field.getDisplayValue().startsWith(PRIVATE_ICON))
- csvOut.print("\""
- + strip.stripHtml(field.getDisplayValue().substring(PRIVATE_ICON.length()))
- + "\",");
- else
- csvOut.print("\"" + strip.stripHtml(field.getDisplayValue()) + "\",");
- } // for
-
- csvOut.println();
- } // for
- } // createCSVFileContent
-
- public String saveCSVPageFile(HttpServletRequest request, ReportSearchResult sr) {
- try {
- String csvFName = AppUtils.generateFileName(request,
- (sr.getPageNo() < 0) ? AppConstants.FT_CSV_ALL : AppConstants.FT_CSV);
-
- BufferedWriter csvOut = new BufferedWriter(new FileWriter(AppUtils
- .getTempFolderPath()
- + csvFName));
- createCSVFileContent(csvOut, sr);
- csvOut.close();
-
- if (sr.getPageNo() < 0)
- sr.setCsvAllRowsFileName(csvFName);
- else
- sr.setCsvPageFileName(csvFName);
-
- return csvFName;
- } catch (Exception e) {
- (new ErrorHandler()).processError(request, "Exception saving data to CSV file: "
- + e.getMessage());
- return null;
- }
- } // saveCSVPageFile
-
- public ReportSearchResultJSON loadReportSearchResult(HttpServletRequest request)
- throws RaptorException {
- String userID = AppUtils.getUserID(request);
- String fReportID = nvl(AppUtils.getRequestValue(request, AppConstants.RI_F_REPORT_ID));
- String fReportName = nvl(AppUtils.getRequestValue(request,
- AppConstants.RI_F_REPORT_NAME));
- String sortOrder = nvl(AppUtils.getRequestValue(request, AppConstants.RI_SORT_ORDER),
- AppConstants.RI_F_REPORT_NAME);
-
- String menuId = nvl(AppUtils.getRequestValue(request, AppConstants.RI_LIST_CATEGORY));
-
- boolean userOnly = AppUtils.getRequestFlag(request, AppConstants.RI_USER_REPORTS);
- boolean publicOnly = AppUtils.getRequestFlag(request, AppConstants.RI_PUBLIC_REPORTS);
- boolean favoriteOnly = AppUtils.getRequestFlag(request, AppConstants.RI_FAVORITE_REPORTS);
-
- int pageNo = 0;
- try {
- pageNo = Integer.parseInt(request.getParameter(AppConstants.RI_NEXT_PAGE));
- } catch (Exception e) {
- }
-
- StringBuffer roleList = new StringBuffer();
- roleList.append("-1");
- String rep_title_sql = "'<a class=\"hyperref1\" href=''#'' onClick=''document."+HTML_FORM+"."+AppConstants.RI_ACTION+".value=\"report.run\";"+
- "document."+HTML_FORM+".c_master.value=\"'|| cr.rep_id||'\";document."+HTML_FORM+".refresh.value=\"Y\";document."+HTML_FORM+".submit();return false;''>'";
- for (Iterator iter = AppUtils.getUserRoles(request).iterator(); iter.hasNext();)
- roleList.append("," + ((String) iter.next()));
- //<a href="#" alt="Run report" onClick="document.forma.r_action.value='report.run'; document.forma.c_master.value='1073';">
- /*String sql = "SELECT cr.rep_id, "
- + "cr.rep_id report_id, "
- + rep_title_sql+
- "||DECODE(cr.public_yn, 'Y', '', '"
- + PRIVATE_ICON
- + "')||cr.title||'</a>' title, "
- + "cr.descr, "
- + "au.first_name||' '||au.last_name owner_name, "
- + "TO_CHAR(cr.create_date, 'MM/DD/YYYY') create_date, "
- + "DECODE(NVL(cr.owner_id, cr.create_id), "
- + userID
- + ", 'N', NVL(ra.read_only_yn, 'Y')) read_only_yn, "
- + "DECODE(NVL(cr.owner_id, cr.create_id), "
- + userID
- + ", 'Y', 'N') user_is_owner_yn, "
- + "case when report_xml like '%<allowSchedule>N</allowSchedule>%' "
- + "then 'N' "
- + "when report_xml like '%<allowSchedule>Y</allowSchedule>%' "
- + "or 1 = (select distinct 1 from cr_report_schedule where rep_id = cr.rep_id) "
- + "then 'Y' "
- + "else 'N' end "
- + "FROM cr_report cr, "
- + "app_user au, "
- + "(SELECT rep_id, "
- + "MIN(read_only_yn) read_only_yn "
- + "FROM ((SELECT ua.rep_id, ua.read_only_yn FROM cr_report_access ua WHERE ua.user_id = "
- + userID
- + ") "
- + "UNION ALL "
- + "(SELECT ra.rep_id, ra.read_only_yn FROM cr_report_access ra WHERE ra.role_id IN ("
- + roleList.toString() + "))" + ") report_access " + "GROUP BY rep_id) ra "
- + "WHERE TO_CHAR(cr.rep_id) = nvl('" + fReportID
- + "', TO_CHAR(cr.rep_id)) AND " + "UPPER(cr.title) LIKE UPPER('%"
- + fReportName + "%') AND " + "nvl(cr.owner_id, cr.create_id) = au.user_id "
- + "AND cr.rep_id = ra.rep_id (+) ";*/
-
- String sql = Globals.getLoadReportSearchResult();
- String rep_id = "";
- String rep_id_options = "";
- String rep_id_sql = " AND FORMAT(cr.rep_id, 0) like coalesce('%%', FORMAT(cr.rep_id, 0)) ";
- if(request.getParameter("rep_id")!=null) {
- rep_id = request.getParameter("rep_id");
- }
- if(request.getParameter("rep_id_options")!=null) {
- rep_id_options = request.getParameter("rep_id_options");
- }
-
- /*Default: AND FORMAT(cr.rep_id, 0) like coalesce('%%', FORMAT(cr.rep_id, 0)) */
-
- /*Equal to AND cr.rep_id = 1000 0 */
- /*Less than : AND cr.rep_id < 1000 1 */
- /*Greater than AND cr.rep_id > 1000 2 */
-
-
- if(AppUtils.nvl(rep_id).length()>0 ) {
- if(AppUtils.nvl(rep_id_options).length()>0 ) {
- switch (rep_id_options) {
- case "0":
- rep_id_sql = " AND cr.rep_id = "+ rep_id+" ";
- break;
- case "1":
- rep_id_sql = " AND cr.rep_id < "+ rep_id+" ";
- break;
- case "2":
- rep_id_sql = " AND cr.rep_id > "+ rep_id+" ";
- break;
- default:
- rep_id_sql = " AND FORMAT(cr.rep_id, 0) like coalesce('%%', FORMAT(cr.rep_id, 0)) ";
- break;
- }
- } else {
- rep_id_sql = " AND cr.rep_id = "+ rep_id+" ";
- }
- } else {
- rep_id_sql = " AND FORMAT(cr.rep_id, 0) like coalesce('%%', FORMAT(cr.rep_id, 0)) "; //equal is default
- }
-
- sql = sql.replace("[fReportID]", rep_id_sql);
-
- String rep_name = "";
- String rep_name_options = "";
- String rep_name_sql = " AND UPPER(cr.title) LIKE UPPER('%%') ";
- if(request.getParameter("rep_name")!=null) {
- rep_name = request.getParameter("rep_name");
- }
- if(request.getParameter("rep_name_options")!=null) {
- rep_name_options = request.getParameter("rep_name_options");
- }
-
- /* Report name AND UPPER(cr.title) LIKE UPPER('Dash%') 0 */
-
- /* Report name AND UPPER(cr.title) LIKE UPPER('%1') 1 */
- /* Report name AND UPPER(cr.title) LIKE UPPER('%1%') 2 */
-
- if(AppUtils.nvl(rep_name).length()>0 ) {
- if(AppUtils.nvl(rep_name_options).length()>0 ) {
- switch (rep_name_options) {
- case "0":
- rep_name_sql = " AND UPPER(cr.title) LIKE UPPER('"+rep_name+"%') ";
- break;
- case "1":
- rep_name_sql = " AND UPPER(cr.title) LIKE UPPER('%"+rep_name+"') ";
- break;
- case "2":
- rep_name_sql = " AND UPPER(cr.title) LIKE UPPER('%"+rep_name+"%') ";
- break;
- default:
- rep_name_sql = " AND UPPER(cr.title) LIKE UPPER('%%') ";
- break;
- }
- } else {
- rep_name_sql = " AND UPPER(cr.title) LIKE UPPER('%"+rep_name+"%') "; //contains is default
- }
- } else {
- rep_name_sql = " AND UPPER(cr.title) LIKE UPPER('%%') ";
- }
- sql = sql.replace("[fReportName]", rep_name_sql);
-
- if (menuId.length() > 0){
- /*sql += "AND INSTR('|'||cr.menu_id||'|', '|'||'" + menuId + "'||'|') > 0 "
- * +"AND
- * cr.menu_approved_yn =
- * 'Y' "
- ;*/
- String sql_add = Globals.getLoadReportSearchInstr();
- sql+= sql_add;
- }
-
- //String user_sql = " AND nvl(cr.owner_id, cr.create_id) = " + userID;
- String user_sql = Globals.getLoadReportSearchResultUser();
-
- //String public_sql = " AND (nvl(cr.owner_id, cr.create_id) = " + userID
- // + " OR cr.public_yn = 'Y' OR ra.read_only_yn IS NOT NULL)";
- String public_sql = Globals.getLoadReportSearchResultPublic();
-
- //String fav_sql = " AND cr.rep_id in (select rep_id from cr_favorite_reports where user_id = " + userID +" ) ";
- String fav_sql = Globals.getLoadReportSearchResultFav();
-
- if (userOnly)
- // My reports - user is owner
- sql += " " + user_sql;
- else if (publicOnly) {
- // Public reports - user has read or write access to the report
- // (user is owner or report is public or user has explicit user or
- // role access)
- if (!AppUtils.isSuperUser(request))
- sql += " " + public_sql;
- } else if (favoriteOnly) {
- sql += " " + public_sql;
- sql += " " + fav_sql;
- } else if (!AppUtils.isSuperUser(request)) {
- // All reports
- // If user is super user - gets unrestricted access to all reports
- // (read_only gets overriden later)
- // else - not super user - doesn't get access to private reports of
- // other users (= Public reports); Admin users get edit right
- // override later
- //sql += public_sql;
- sql += " " + public_sql;
- }
-
-
-
- if (sortOrder.equals(AppConstants.RI_F_OWNER_ID)){
- //sql += " ORDER BY DECODE(nvl(cr.owner_id, cr.create_id), " + userID
- //+ ", ' ', upper(au.first_name||' '||au.last_name)), upper(cr.title)";
- String sql_sort = Globals.getLoadReportSearchResultSort();
- sql+=" " + sql_sort;
- }
- else if (sortOrder.equals(AppConstants.RI_F_REPORT_ID))
- sql += " ORDER BY cr.rep_id";
- else if(sortOrder.equals(AppConstants.RI_F_REPORT_CREATE_DATE))
- sql += " ORDER BY cr.create_date";
- else if(sortOrder.equals(AppConstants.RI_F_PUBLIC))
- sql += " ORDER BY cr.public_yn desc";
-
- else
- // if(sortOrder.equals(AppConstants.RI_F_REPORT_NAME))
- sql += " ORDER BY upper(cr.title)";
-
- sql = sql.replace("[rep_title_sql]", "cr.title");
- sql = sql.replace("[PRIVATE_ICON]", PRIVATE_ICON);
- sql = sql.replace("[userID]", userID);
- sql = sql.replace("[roleList.toString()]", roleList.toString());
-
- //System.out.println("query is for search list is : " + sql);
- DataSet ds = DbUtils.executeQuery(sql);
-
- ReportSearchResultJSON rsr = new ReportSearchResultJSON(0, 6, 7);
- rsr.parseData(ds, request, 0, 20, 6, 7);
- //saveCSVPageFile(request, rsr);
- //rsr.truncateToPage(pageNo);
- //saveCSVPageFile(request, rsr);
-
- return rsr;
- } // loadReportSearchResult
-
- public ReportSearchResult loadFolderReportResult(HttpServletRequest request)
- throws Exception {
- String userID = AppUtils.getUserID(request);
- String fReportID = nvl(AppUtils.getRequestValue(request, AppConstants.RI_F_REPORT_ID));
- String fReportName = nvl(AppUtils.getRequestValue(request,
- AppConstants.RI_F_REPORT_NAME));
- String sortOrder = nvl(AppUtils.getRequestValue(request, AppConstants.RI_SORT_ORDER),
- AppConstants.RI_F_REPORT_NAME);
-
- String menuId = nvl(AppUtils.getRequestValue(request, AppConstants.RI_LIST_CATEGORY));
-
- boolean userOnly = AppUtils.getRequestFlag(request, AppConstants.RI_USER_REPORTS);
- boolean publicOnly = AppUtils.getRequestFlag(request, AppConstants.RI_PUBLIC_REPORTS);
-
- int pageNo = 0;
- try {
- pageNo = Integer.parseInt(request.getParameter(AppConstants.RI_NEXT_PAGE));
- } catch (Exception e) {
- }
-
- StringBuffer roleList = new StringBuffer();
- roleList.append("-1");
- String rep_title_sql = "'<a class=\"hyperref1\" href=''#'' onClick=''document."+HTML_FORM+"."+AppConstants.RI_ACTION+".value=\"report.run\";"+
- "document."+HTML_FORM+".c_master.value=\"'|| cr.rep_id||'\";document."+HTML_FORM+".submit();return false;''>'";
- for (Iterator iter = AppUtils.getUserRoles(request).iterator(); iter.hasNext();)
- roleList.append("," + ((String) iter.next()));
- //<a href="#" alt="Run report" onClick="document.forma.r_action.value='report.run'; document.forma.c_master.value='1073';">
- /*String sql = "SELECT cr.rep_id, "
- + "cr.rep_id report_id, "
- + rep_title_sql+
- "||DECODE(cr.public_yn, 'Y', '', '"
- + PRIVATE_ICON
- + "')||cr.title||'</a>' title, "
- + "cr.descr, "
- + "au.first_name||' '||au.last_name owner_name, "
- + "TO_CHAR(cr.create_date, 'MM/DD/YYYY') create_date, "
- + "DECODE(NVL(cr.owner_id, cr.create_id), "
- + userID
- + ", 'N', NVL(ra.read_only_yn, 'Y')) read_only_yn, "
- + "DECODE(NVL(cr.owner_id, cr.create_id), "
- + userID
- + ", 'Y', 'N') user_is_owner_yn "
- + "FROM cr_report cr, "
- + "app_user au, "
- + "(SELECT rep_id, "
- + "MIN(read_only_yn) read_only_yn "
- + "FROM ((SELECT ua.rep_id, ua.read_only_yn FROM cr_report_access ua WHERE ua.user_id = "
- + userID
- + ") "
- + "UNION ALL "
- + "(SELECT ra.rep_id, ra.read_only_yn FROM cr_report_access ra WHERE ra.role_id IN ("
- + roleList.toString() + "))" + ") report_access " + "GROUP BY rep_id) ra "
- + "WHERE TO_CHAR(cr.rep_id) = nvl('" + fReportID
- + "', TO_CHAR(cr.rep_id)) AND " + "UPPER(cr.title) LIKE UPPER('%"
- + fReportName + "%') AND " + "nvl(cr.owner_id, cr.create_id) = au.user_id "
- + "AND cr.rep_id = ra.rep_id (+) ";*/
-
- String sql = Globals.getLoadFolderReportResult();
- sql = sql.replace("[rep_title_sql]", rep_title_sql);
- sql = sql.replace("[PRIVATE_ICON]", PRIVATE_ICON);
- sql = sql.replace("[userID]", userID);
- sql = sql.replace("[roleList.toString()]", roleList.toString());
- sql = sql.replace("[fReportID]", fReportID);
- sql = sql.replace("[fReportName]", fReportName);
-
- if (menuId.length() > 0){
- /*sql += "AND INSTR('|'||cr.menu_id||'|', '|'||'" + menuId + "'||'|') > 0 "
- * +"AND
- * cr.menu_approved_yn =
- * 'Y' "
- ;*/
- String sql_add = Globals.getLoadReportSearchInstr();
- sql+= sql_add;
- }
-
- //String user_sql = " AND nvl(cr.owner_id, cr.create_id) = " + userID;
- String user_sql = Globals.getLoadReportSearchResultUser();
-
- //String public_sql = " AND (nvl(cr.owner_id, cr.create_id) = " + userID
- // + " OR cr.public_yn = 'Y' OR ra.read_only_yn IS NOT NULL)";
- String public_sql = Globals.getLoadReportSearchResultPublic();
-
- if (userOnly)
- // My reports - user is owner
- sql += user_sql;
- else if (publicOnly)
- // Public reports - user has read or write access to the report
- // (user is owner or report is public or user has explicit user or
- // role access)
- if (!AppUtils.isSuperUser(request))
- sql += public_sql;
- else if (!AppUtils.isSuperUser(request)) {
- // All reports
- // If user is super user - gets unrestricted access to all reports
- // (read_only gets overriden later)
- // else - not super user - doesn't get access to private reports of
- // other users (= Public reports); Admin users get edit right
- // override later
- sql += public_sql;
- }
-
- if (sortOrder.equals(AppConstants.RI_F_OWNER_ID)){
-
-
- //sql += " ORDER BY DECODE(nvl(cr.owner_id, cr.create_id), " + userID
- // + ", ' ', au.first_name||' '||au.last_name), cr.title";
-
- String sql_sort = Globals.getLoadFolderReportResultSort();
- sql+=sql_sort;
- }
- else if (sortOrder.equals(AppConstants.RI_F_REPORT_ID))
- sql += " ORDER BY cr.rep_id";
- else if(sortOrder.equals(AppConstants.RI_F_REPORT_CREATE_DATE))
- sql += " ORDER BY cr.create_date";
- else if(sortOrder.equals(AppConstants.RI_F_PUBLIC))
- sql += " ORDER BY cr.public_yn desc";
- else
- // if(sortOrder.equals(AppConstants.RI_F_REPORT_NAME))
- sql += " ORDER BY cr.title";
-
- //System.out.println("query is for search list is : " + sql);
- DataSet ds = DbUtils.executeQuery(sql);
-
- ReportSearchResult rsr = new ReportSearchResult(-1, 6, 7);
- rsr.parseData(ds, request);
- saveCSVPageFile(request, rsr);
- rsr.truncateToPage(pageNo);
- saveCSVPageFile(request, rsr);
-
- return rsr;
- } // loadFolderReportResult
-
-
-} // SearchHandler
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ChartSeqComparator.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ChartSeqComparator.java
deleted file mode 100644
index 7b15db55..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ChartSeqComparator.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ================================================================================
- */
-package org.openecomp.portalsdk.analytics.model.base;
-
-import java.util.Comparator;
-
-import org.openecomp.portalsdk.analytics.xmlobj.DataColumnType;
-
-public class ChartSeqComparator implements Comparator {
-
- public int compare(Object o1, Object o2) {
- DataColumnType dct1 = (DataColumnType) o1;
- DataColumnType dct2 = (DataColumnType) o2;
-
- int dct1ChartSeq = (dct1.getChartSeq()!=null ? dct1.getChartSeq().intValue(): -1);
- int dct2ChartSeq = (dct2.getChartSeq()!=null ? dct2.getChartSeq().intValue(): -1);
-
- if (dct1ChartSeq == dct2ChartSeq)
- return 0;
- else if (dct1ChartSeq < 0) // Position columns
- // with seq -1 at
- // the end
- return 1;
- else if (dct2ChartSeq < 0)
- return -1;
- else if (dct1ChartSeq < dct2ChartSeq)
- return -1;
- else
- return 1;
- } // compare
-
-} // ChartSeqComparator
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameColLookup.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameColLookup.java
deleted file mode 100644
index d7fdc33a..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameColLookup.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ================================================================================
- */
-package org.openecomp.portalsdk.analytics.model.base;
-
-public class IdNameColLookup extends IdNameLookup {
- private String colId = null;
-
- public IdNameColLookup(String colId, String dbTableName, String dbIdField,
- String dbNameField, String dbSortByField) {
- super(dbTableName, dbIdField, dbNameField, dbSortByField, false);
- this.colId = colId;
- } // IdNameColLookup
-
- public String getColId() {
- return colId;
- }
-
-} // IdNameColLookup
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameList.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameList.java
deleted file mode 100644
index dba3db03..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameList.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ================================================================================
- */
-package org.openecomp.portalsdk.analytics.model.base;
-
-import java.util.Vector;
-
-import org.openecomp.portalsdk.analytics.error.RaptorException;
-import org.openecomp.portalsdk.analytics.system.Globals;
-
-public class IdNameList extends Vector {
- protected int pageNo = -1;
-
- protected int pageSize = 50;
-
- private int nextElemIdx = 0;
-
- private String oldSql = null;
-
- public IdNameList() {
- super();
- pageSize = Globals.getFormFieldsListSize();
- } // IdNameList
-
- public int getPageNo() {
- return pageNo;
- } // getPageNo
-
- public int getPageSize() {
- return pageSize;
- } // getPageSize
-
- public int getDataSize() {
- return size();
- } // getDataSize
-
- public void resetNext() {
- resetNext(0);
- } // resetNext
-
- public void resetNext(int toPos) {
- nextElemIdx = toPos;
- } // resetNext
-
- public boolean hasNext() {
- return (nextElemIdx < size());
- } // hasNext
-
- public IdNameValue getNext() {
- return hasNext() ? getValue(nextElemIdx++) : null;
- } // getNext
-
- public int getCount() {
- return size();
- } // getCount
-
- public IdNameValue getValue(int idx) {
- return (IdNameValue) get(idx);
- } // getValue
-
- public void addValue(IdNameValue value) {
- add(value);
- } // addValue
-
- public void addValue(String id, String name, boolean defaultValue) {
- addValue(new IdNameValue(id, name, defaultValue));
- } // addValue
-
- public void addValue(String id, String name, boolean defaultValue, boolean readOnly) {
- addValue(new IdNameValue(id, name, defaultValue, readOnly));
- } // addValue
-
- public void addValue(String id, String name) {
- addValue(new IdNameValue(id, name));
- } // addValue
-
- public void addValue(int idx, IdNameValue value) {
- add(idx, value);
- } // addValue
-
- public void addValue(int idx, String id, String name) {
- addValue(idx, new IdNameValue(id, name));
- } // addValue
-
- public String getNameById(String id) {
- for (int i = 0; i < size(); i++) {
- IdNameValue value = getValue(i);
- if (value.getId().equals(id))
- return value.getName();
- } // for
-
- return null;
- } // getNameById
-
- public String getIdByName(String name) {
- for (int i = 0; i < size(); i++) {
- IdNameValue value = getValue(i);
- if (value.getName().equals(name))
- return value.getId();
- } // for
-
- return null;
- } // getIdByName
-
- public boolean canUseSearchString() {
- return true;
- }
-
- public String getBaseSQL() {
- return null;
- }
-
- public String getOldSql() {
- return oldSql;
- }
-
- public void setOldSql(String oldSql) {
- this.oldSql = oldSql;
- }
- public String getBaseWholeSQL() {
- return null;
- }
-
- public String getBaseWholeReadonlySQL() {
- return null;
- }
-
- public String getBaseSQLForPDFExcel(boolean multiParam) {
- return null;
- }
-
- public void clearData() {
- }
-
- public void loadData(String pageNo, String searchString, String dbInfo,String userId) throws RaptorException {}
- public void loadUserData(String pageNo, String searchString, String dbInfo,String userId) throws RaptorException {}
- public void loadUserData(int pageNo, String searchString, String dbInfo, String userId) throws RaptorException {}
- public void loadUserData(String searchString, int pageNo, String dbInfo) throws RaptorException {}
-
- public void loadData(String pageNo) throws RaptorException {}
- public void loadData(int pageNo) throws RaptorException {}
- public void loadData(String pageNo, String searchString, String dbInfo) throws RaptorException {}
- private void loadData(int pageNo, String searchString, String dbInfo) throws RaptorException {}
-
-/*
- public void loadData(int pageNo, String dbInfo) throws RaptorException {
- }
-
- public void loadUserData(int pageNo, String dbInfo, String userId) throws RaptorException {
- }
-
-
-
-
- public void loadData(String pageNo, String searchString) throws RaptorException {
- }
-
-*/
- protected static String nvl(String s) {
- return (s == null) ? "" : s;
- }
-
- protected static String nvl(String s, String sDefault) {
- return nvl(s).equals("") ? sDefault : s;
- }
-
-} // IdNameList
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameLookup.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameLookup.java
deleted file mode 100644
index e4424f62..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameLookup.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ================================================================================
- */
-package org.openecomp.portalsdk.analytics.model.base;
-
-import org.openecomp.portalsdk.analytics.error.RaptorException;
-
-public class IdNameLookup extends IdNameSql {
- private String dbTableName = null;
-
- private String dbIdField = null;
-
- private String dbNameField = null;
-
- private String dbSortByField = null;
-
- private String searchString = "";
-
- public IdNameLookup(int pageNo, String dbTableName, String dbIdField, String dbNameField) {
- this(dbTableName, dbIdField, dbNameField);
-
- this.pageNo = pageNo;
- } // IdNameLookup
-
- public IdNameLookup(String dbTableName, String dbIdField, String dbNameField) {
- this(dbTableName, dbIdField, dbNameField, null, "", false);
- } // IdNameLookup
-
-/* public IdNameLookup(String dbTableName, String dbIdField, String dbNameField,
- String dbSortByField) {
- super();
-
- setDbTableName(dbTableName);
- setDbIdField(dbIdField);
- setDbNameField(dbNameField);
- setDbSortByField(dbSortByField);
- updateParentSQL();
- } // IdNameLookup
-
- public IdNameLookup(String dbTableName, String dbIdField, String dbNameField,
- String dbSortByField, String defaultSQL) {
- super();
-
- setDbTableName(dbTableName);
- setDbIdField(dbIdField);
- setDbNameField(dbNameField);
- setDbSortByField(dbSortByField);
- setDefaultSQL(defaultSQL);
- updateParentSQL();
- } // IdNameLookup
-*/
- public IdNameLookup(String dbTableName, String dbIdField, String dbNameField,
- String dbSortByField, boolean textField) {
- super();
- setDbTableName(dbTableName);
- setDbIdField(dbIdField);
- setDbNameField(dbNameField);
- setDbSortByField(dbSortByField);
- if(!textField)
- updateParentSQL();
- } // IdNameLookup
-
- public IdNameLookup(String dbTableName, String dbIdField, String dbNameField,
- String dbSortByField, String defaultSQL, boolean textField) {
- super();
-
- setDbTableName(dbTableName);
- setDbIdField(dbIdField);
- setDbNameField(dbNameField);
- setDbSortByField(dbSortByField);
- setDefaultSQL(defaultSQL);
- if(!textField)
- updateParentSQL();
- } // IdNameLookup
-
- public String getDbTableName() {
- return dbTableName;
- }
-
- public String getDbIdField() {
- return dbIdField;
- }
-
- public String getDbNameField() {
- return dbNameField;
- }
-
- public String getDbSortByField() {
- return dbSortByField;
- }
-
- public void setDbTableName(String dbTableName) {
- this.dbTableName = dbTableName;
- }
-
- public void setDbIdField(String dbIdField) {
- this.dbIdField = dbIdField;
- }
-
- public void setDbNameField(String dbNameField) {
- this.dbNameField = dbNameField;
- }
-
-
- public void setDbSortByField(String dbSortByField) {
- this.dbSortByField = dbSortByField;
- }
-
- private void updateParentSQL() {
- String sql_start = "SELECT DISTINCT " + dbIdField + " id, " + dbNameField + " name";
- String sql_end = " FROM " + dbTableName + " WHERE " + dbIdField + " IS NOT NULL";
- if (searchString.length() > 0)
- sql_end += " AND UPPER(" + dbNameField + ") LIKE UPPER('" + searchString + "')";
-
- String sql_middle = "";
- if (dbSortByField != null && (!dbSortByField.equals(dbNameField)) && (!dbSortByField.trim().startsWith("TO_DATE")))
- sql_middle = ", "
- + ((dbSortByField.indexOf(' ') > 0) ? dbSortByField.substring(0,
- dbSortByField.indexOf(' ')) : dbSortByField) + " sort";
-
- setSqlNoOrderBy(sql_start + sql_middle + sql_end);
-// System.out.println("SQL Start " + sql_start);
-// System.out.println("SQL Middle " + sql_middle);
-// System.out.println("SQL End " + sql_end);
-// System.out.println("DbSortByField " + dbSortByField);
-
- setSql(sql_start + sql_middle + sql_end + " ORDER BY " + nvl(dbSortByField, "2"));
- } // updateParentSQL
-
- public boolean canUseSearchString() {
- return true;
- }
-
- public String getBaseSQL() {
- return "SELECT " + dbIdField + " FROM " + dbTableName;
- } // getBaseSQL
-
- public String getBaseWholeSQL() {
- return "SELECT " + dbIdField + " FROM " + dbTableName;
- } // getBaseSQL
-
- /*
- public void loadData(int pageNo) throws RaptorException {
- loadData(pageNo, "");
- } // loadData
-
- public void loadData(String pageNo) throws RaptorException {
- loadData(pageNo, "");
- } // loadData
-*/
-
- public void loadData(String pageNo, String searchString, String dbInfo) throws RaptorException {
- int iPageNo = 0;
-
- if (pageNo != null)
- try {
- iPageNo = Integer.parseInt(pageNo);
- } catch (NumberFormatException e) {
- }
-
- loadData(iPageNo, searchString, dbInfo);
- } // loadData
-
- private void loadData(int pageNo, String searchString, String dbInfo) throws RaptorException {
- boolean dataAlreadyLoaded = (this.pageNo == pageNo)
- && (this.searchString.equals(searchString));
-
- if (dataAlreadyLoaded)
- return;
-
- if (!this.searchString.equals(searchString)) {
- dataSize = -1;
- pageNo = 0;
- } // if
-
- this.pageNo = pageNo;
- this.searchString = searchString;
- updateParentSQL();
- performLoadData(searchString,dbInfo);
- } // loadData
-
-} // IdNameLookup
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameSql.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameSql.java
deleted file mode 100644
index 9928ad80..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameSql.java
+++ /dev/null
@@ -1,400 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ================================================================================
- */
-/* ===========================================================================================
- * This class is part of <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.HashMap;
-
-import org.openecomp.portalsdk.analytics.error.RaptorException;
-import org.openecomp.portalsdk.analytics.system.ConnectionUtils;
-import org.openecomp.portalsdk.analytics.system.Globals;
-import org.openecomp.portalsdk.analytics.util.AppConstants;
-import org.openecomp.portalsdk.analytics.util.DataSet;
-import org.openecomp.portalsdk.analytics.util.Utils;
-import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
-
-public class IdNameSql extends IdNameList {
-
- EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(IdNameSql.class);
-
-
- protected int dataSize = -1;
-
- protected int dataSizeUsedInPopup = -1;
-
- private String sql = null;
-
- private String oldSql = null;
-
- private String defaultSQL = null;
-
- private String sqlNoOrderBy = null;
-
- public IdNameSql(int pageNo, String sql, String defaultSQL) {
- this(sql,defaultSQL);
- this.pageNo = pageNo;
- } // IdNameSql
-
- public IdNameSql(String sql) {
- this();
- setSql(sql);
- } // IdNameSql
-
- public IdNameSql(String sql, String defaultSQL) {
- this();
- setDefaultSQL(defaultSQL);
- setSql(sql);
- } // IdNameSql
-
- protected IdNameSql() {
- super();
- } // IdNameSql
-
- public boolean canUseSearchString() {
- return true;
- }
-
- public String getSql() {
- return sql;
- }
-
- public String getOldSql() {
- return oldSql;
- }
-
- public String getBaseSQL() {
- return "SELECT id FROM (" + sql + ") xid";
- }
-
- public String getBaseWholeSQL() {
- return "SELECT id, name FROM (" + sql + ") xid";
- }
-
- public String getBaseWholeReadonlySQL() {
- return "SELECT id, name, ff_readonly FROM (" + sql + ") xid";
- }
-
- public String getBaseSQLForPDFExcel(boolean multiParam) {
- if(!multiParam)
- return "SELECT id, name FROM (" + sql + ") xid where id = '[VALUE]'";
- else
- return "SELECT id, name FROM (" + sql + ") xid where id in [VALUE]";
-
- }
-
- // public String getSqlNoOrderBy() { return sqlNoOrderBy; }
-
- protected void setSql(String sql) {
- this.sql = sql;
- }
-
- public void setOldSql(String oldSql) {
- this.oldSql = oldSql;
- }
-
- protected void setSqlNoOrderBy(String sql) {
- this.sqlNoOrderBy = sql;
- }
-
- public int getDataSize() {
- return dataSize;
- } // getDataSize
-
- public int getDataSizeUsedinPopup() {
- return dataSizeUsedInPopup;
- } // getDataSizeUsedinPopup
-
- public void setDataSizeUsedinPopup(int dataSizePop) {
- this.dataSizeUsedInPopup = dataSizePop;
- } // getDataSizeUsedinPopup
-
- public void clearData() {
- removeAllElements();
- } // clearData
-
-/* public void loadData(String pageNo, String searchString, String dbInfo, String userId) throws RaptorException {
- // setSql(searchString);
- loadUserData(pageNo, searchString, dbInfo,userId);
- } // loadData
-*/
-
- public void loadUserData(String pageNo, String searchString, String dbInfo,String userId) throws RaptorException {
- int iPageNo = 0;
-
- if (pageNo != null)
- try {
- iPageNo = Integer.parseInt(pageNo);
- } catch (NumberFormatException e) {
- }
-
- loadUserData(iPageNo, searchString, dbInfo,userId);
- } // loadData
-
- public void loadUserData(int pageNo, String searchString, String dbInfo, String userId) throws RaptorException {
- if(userId!=null) {
- String sql = Utils.replaceInString(getSql(), "[LOGGED_USERID]", userId);
- //String defaultSQL = "";
- if(defaultSQL!=null && (defaultSQL.trim().toLowerCase().startsWith("select")) ) {
- defaultSQL = Utils.replaceInString(getDefaultSQL(), "[LOGGED_USERID]", userId);
- setDefaultSQL(defaultSQL);
- }
- setSql(sql);
-
- }
- loadData(searchString,pageNo, dbInfo);
- }
-
- public void loadData(String searchString, int pageNo, String dbInfo) throws RaptorException {
-
- //boolean dataAlreadyLoaded = (this.pageNo == pageNo);
-
- //if (dataAlreadyLoaded)
- // return;
-
- this.pageNo = pageNo;
-
- performLoadData(searchString, dbInfo);
- } // loadData
-
- protected void performLoadData(String searchString, String dbInfo) throws RaptorException {
- long currentTime = System.currentTimeMillis();
- int startRow = 0;
- int endRow = dataSize;
- String readOnlyInSql = "ff_readonly";
- String dbType = Globals.getDBType();
- if (!isNull(dbInfo) && (!dbInfo.equals(AppConstants.DB_LOCAL))) {
- try {
- org.openecomp.portalsdk.analytics.util.RemDbInfo remDbInfo = new org.openecomp.portalsdk.analytics.util.RemDbInfo();
- dbType = remDbInfo.getDBType(dbInfo);
- } catch (Exception ex) {
- throw new RaptorException(ex);
- }
- }
- if (pageNo >= 0) {
- startRow = pageNo * pageSize;
- endRow = startRow + pageSize;
- } // if
- DataSet ds = null;
- DataSet dsDefault = null;
- StringBuffer query = new StringBuffer("");
- StringBuffer queryPop = new StringBuffer("");
- String sql = getSql();
- boolean avail_ReadOnly = (sql.toLowerCase().indexOf(readOnlyInSql)!=-1);
-
- if (dbType.equals("DAYTONA") && getSql().trim().toUpperCase().startsWith("SELECT")) {
- query.append(getSql());
- } else {
- if(avail_ReadOnly) // need to add readonlyinsql
- if(!(Globals.isMySQL() && dbType.equals(AppConstants.MYSQL)))
- query.append("SELECT rownum, id, name, " + readOnlyInSql +" FROM ("+ Globals.getReportSqlForFormfield() +", " + readOnlyInSql + " FROM (" + sql
- + ") x "+ Globals.getReportSqlForFormfieldSuffix());
- else
- query.append("SELECT id, name, " + readOnlyInSql +" FROM ("+ Globals.getReportSqlForFormfield() +", " + readOnlyInSql + " FROM (" + sql
- + ") x "+ Globals.getReportSqlForFormfieldSuffix());
- else
- query.append(Globals.getReportSqlForFormfieldPrefix()+ Globals.getReportSqlForFormfield() +" FROM (" + sql
- + ") x " + Globals.getReportSqlForFormfieldSuffix());
- if(pageNo!= -2 && (dbType.equals(AppConstants.ORACLE)) ) {
- query.append(" WHERE rownum <= " + ((dataSize < 0) ? (endRow + 1) : endRow));
- } else if(pageNo!=2 && (dbType.equals(AppConstants.POSTGRESQL))) {
- query.append(" LIMIT " + ((dataSize < 0) ? (endRow + 1) : endRow));
-
- } else if(pageNo!=2 && (dbType.equals(AppConstants.MYSQL))) {
- query.append(" LIMIT " + startRow); //((dataSize < 0) ? (endRow + 1) : endRow)
-
- }
- if(searchString!=null && searchString.length()>0 && !searchString.equals("%")) {
- if(pageNo == -2) query.append(" WHERE ");
- else query.append(" and ");
- query.append("name like '"+ searchString +"'");
- }
- if(dbType.equals(AppConstants.POSTGRESQL)) {
- query.append(") xx OFFSET " + startRow);
- } else if(dbType.equals(AppConstants.MYSQL)) {
- query.append(" ," + ((dataSize < 0) ? (endRow + 1) : endRow) +") xx");
- } else if(dbType.equals(AppConstants.ORACLE))
- query.append(") xx WHERE rownum>" + startRow);
- }
- String defaultQuery ="";
- boolean readOnly = true;
- ds = ConnectionUtils.getDataSet(query.toString(), dbInfo);
-
- // if ( (dbInfo!=null) && (!dbInfo.equals(AppConstants.DB_LOCAL))) {
- // Globals.getRDbUtils().setDBPrefix(dbInfo);
- // ds = RemDbUtils.executeQuery(query);
- // }
- // else
- // ds = DbUtils.executeQuery(query);
- clearData();
- if (dbType.equals("DAYTONA") && (getDefaultSQL()!=null && getDefaultSQL().trim().toUpperCase().startsWith("SELECT"))) {
- defaultQuery = getDefaultSQL();
- } else if (getDefaultSQL()!=null && getDefaultSQL().length()>10 && getDefaultSQL().substring(0,10).toLowerCase().startsWith("select")) {
- defaultQuery = Globals.getReportSqlForFormfieldPrefix()+ Globals.getReportSqlForFormfield() +" FROM (" + getDefaultSQL()
- + ") x "
- + ") xx ";
- logger.debug(EELFLoggerDelegate.debugLogger, ("Default Query " +defaultQuery));
- }
- HashMap defaultMap = new HashMap();
- if(!isNull(defaultQuery)) {
- dsDefault = ConnectionUtils.getDataSet(defaultQuery, dbInfo);
- if(dsDefault!=null && dsDefault.getRowCount()>0) {
- for (int i = 0; i < dsDefault.getRowCount(); i++) {
- //addValue(dsDefault.getString(i, 0), dsDefault.getString(i, 1), true);
- defaultMap.put(dsDefault.getString(i, "id"), dsDefault.getString(i, "name"));
- }
- }
- }
-
- for (int i = 0; i < ((pageNo!=-2)?Math.min(ds.getRowCount(), pageSize):ds.getRowCount()); i++) {
- //if(getCount()==0)
- // addValue(ds.getString(i, 0), ds.getString(i, 1));
- if(i==0 && avail_ReadOnly)
- readOnly = ds.getString(i, "ff_readonly").toUpperCase().startsWith("Y")||ds.getString(i, "ff_readonly").toUpperCase().startsWith("T");
- if(getCount()>=0) {//&& !((IdNameValue)getValue(0)).getId().equals(ds.getString(i, 0)))
- if(defaultMap.get(ds.getString(i, "id")) == null)
- if(avail_ReadOnly)
- addValue(ds.getString(i, "id"), ds.getString(i, "name"), false, readOnly);
- else
- addValue(ds.getString(i, "id"), ds.getString(i, "name"), false);
- else
- if(avail_ReadOnly)
- addValue(ds.getString(i, "id"), ds.getString(i, "name"), true, readOnly);
- else
- addValue(ds.getString(i, "id"), ds.getString(i, "name"), true);
- }
- }
-
- if (!(dbType.equals("DAYTONA"))) {
- if (ds.getRowCount() <= pageSize) {
- if(dsDefault!=null && dsDefault.getRowCount()>0)
- dataSize = ds.getRowCount()+1;
- else
- dataSize = ds.getRowCount();
-
- //System.out.println("IDNAME SQL COUNT");*/
- if(searchString!=null && searchString.length()>0 && !searchString.equals("%")) {
- queryPop = new StringBuffer("");
- queryPop.append("SELECT count(*) num_rows FROM ("+ Globals.getReportSqlForFormfield() +", name FROM (" + sql
- + ") x ");
- if(searchString!=null && searchString.length()>0 && !searchString.equals("%"))
- queryPop.append(" where name like '"+ searchString +"'");
- queryPop.append(") xx ");
-
- ds = ConnectionUtils.getDataSet(queryPop.toString(), dbInfo);
- try {
- dataSizeUsedInPopup = Integer.parseInt(ds.getString(0, 0));
- } catch (NumberFormatException e) {
- }
- } else if(dataSizeUsedInPopup == -3) {
- queryPop = new StringBuffer("");
- //System.out.println("IDNAME SQL COUNT");
- //queryPop.append("SELECT count(*) num_rows FROM ("+query.toString()+") x");
- queryPop.append("SELECT count(*) num_rows FROM ("+ Globals.getReportSqlForFormfield() +", name FROM (" + sql
- + ") x ");
- queryPop.append(") xx ");
-
- ds = ConnectionUtils.getDataSet(queryPop.toString(), dbInfo);
- // if ( (dbInfo!=null) &&
- // (!dbInfo.equals(AppConstants.DB_LOCAL))) {
- // Globals.getRDbUtils().setDBPrefix(dbInfo);
- // ds = RemDbUtils.executeQuery(query);
- // }
- // else
- // ds = DbUtils.executeQuery(query);
- //
- try {
- dataSizeUsedInPopup = Integer.parseInt(ds.getString(0, 0));
- } catch (NumberFormatException e) {
- }
-
- }
-
- } else {
- //pageNo = 0;
- if(pageNo!= -2) {
- queryPop = new StringBuffer("");
- //System.out.println("IDNAME SQL COUNT");
- //queryPop.append("SELECT count(*) num_rows FROM ("+query.toString()+") x");
- queryPop.append("SELECT count(*) num_rows FROM ("+ Globals.getReportSqlForFormfield() +" FROM (" + sql
- + ") x ");
- queryPop.append(") xx ");
-
- ds = ConnectionUtils.getDataSet(queryPop.toString(), dbInfo);
- // if ( (dbInfo!=null) &&
- // (!dbInfo.equals(AppConstants.DB_LOCAL))) {
- // Globals.getRDbUtils().setDBPrefix(dbInfo);
- // ds = RemDbUtils.executeQuery(query);
- // }
- // else
- // ds = DbUtils.executeQuery(query);
- //
- try {
- dataSize = Integer.parseInt(ds.getString(0, 0));
- dataSizeUsedInPopup = Integer.parseInt(ds.getString(0, 0));
- } catch (NumberFormatException e) {
- }
- }
- } // else
- } // dataSize < 0
- long totalTime = System.currentTimeMillis() - currentTime;
- logger.debug(EELFLoggerDelegate.debugLogger, ("[DEBUG MESSAGE FROM RAPTOR] ------->Time Taken to the above formfield Query (+ count Query if any) --- " + totalTime));
- } // performLoadData
-
-
- public String getDefaultSQL() {
-
- return defaultSQL;
- }
-
-
- public void setDefaultSQL(String defaultSQL) {
-
- this.defaultSQL = defaultSQL;
- }
-
- public void setSQL(String sql_)
- {
- this.sql = sql_;
- }
-
- public static boolean isNull(String a) {
- if ((a == null) || (a.length() == 0) || a.equalsIgnoreCase("null"))
- return true;
- else
- return false;
- }
-} // IdNameSql
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameValue.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameValue.java
deleted file mode 100644
index 5ac81f7b..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameValue.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ================================================================================
- */
-package org.openecomp.portalsdk.analytics.model.base;
-
-public class IdNameValue {
- private String id = null;
-
- private String name = null;
-
- private boolean defaultValue = false;
-
- private boolean readOnly = false;
-
- public IdNameValue() {
- super();
- }
-
- public IdNameValue(String id, String name) {
- this();
-
- setId(id);
- setName(name);
- setDefaultValue(false);
-
- } // IdNameValue
-
- public IdNameValue(String id, String name, boolean defaultValue) {
- this();
-
- setId(id);
- setName(name);
- setDefaultValue(defaultValue);
- } // IdNameValue
-
- public IdNameValue(String id, String name, boolean defaultValue, boolean readOnly) {
- this();
-
- setId(id);
- setName(name);
- setDefaultValue(defaultValue);
- setReadOnly(readOnly);
- } // IdNameValue
-
- public String getId() {
- return id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public boolean isDefaultValue() {
- return defaultValue;
- }
-
- public void setDefaultValue(boolean defaultValue) {
- this.defaultValue = defaultValue;
- }
-
- /**
- * @return the visibility
- */
- public boolean isReadOnly() {
- return readOnly;
- }
-
- /**
- * @param visibility the visibility to set
- */
- public void setReadOnly(boolean readOnly) {
- this.readOnly = readOnly;
- }
-
-
-} // IdNameValue
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/NameComparator.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/NameComparator.java
deleted file mode 100644
index 8a6f2a9e..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/NameComparator.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ================================================================================
- */
-package org.openecomp.portalsdk.analytics.model.base;
-
-import java.util.Comparator;
-
-public class NameComparator implements Comparator {
-
- public int compare(Object o1, Object o2) {
- return ((IdNameValue) o1).getName()
- .compareToIgnoreCase((((IdNameValue) o2).getName()));
- } // compare
-
-} // NameComparator
-
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/OrderBySeqComparator.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/OrderBySeqComparator.java
deleted file mode 100644
index 930f508c..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/OrderBySeqComparator.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ================================================================================
- */
-package org.openecomp.portalsdk.analytics.model.base;
-
-import java.util.Comparator;
-
-import org.openecomp.portalsdk.analytics.xmlobj.DataColumnType;
-
-public class OrderBySeqComparator implements Comparator {
-
- public int compare(Object o1, Object o2) {
- if (((DataColumnType) o1).getOrderBySeq() == ((DataColumnType) o2).getOrderBySeq())
- return 0;
- else if (((DataColumnType) o1).getOrderBySeq() < ((DataColumnType) o2).getOrderBySeq())
- return -1;
- else
- return 1;
- } // compare
-
-} // OrderSeqComparator
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/OrderSeqComparator.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/OrderSeqComparator.java
deleted file mode 100644
index e6c013dc..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/OrderSeqComparator.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ================================================================================
- */
-package org.openecomp.portalsdk.analytics.model.base;
-
-import java.util.Comparator;
-
-import org.openecomp.portalsdk.analytics.xmlobj.DataColumnType;
-
-public class OrderSeqComparator implements Comparator {
-
- public int compare(Object o1, Object o2) {
- if (((DataColumnType) o1).getOrderSeq() == ((DataColumnType) o2).getOrderSeq())
- return 0;
- else if (((DataColumnType) o1).getOrderSeq() < ((DataColumnType) o2).getOrderSeq())
- return -1;
- else
- return 1;
- } // compare
-
-} // OrderSeqComparator
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportSecurity.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportSecurity.java
deleted file mode 100644
index f281ac4d..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportSecurity.java
+++ /dev/null
@@ -1,407 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ================================================================================
- */
-package org.openecomp.portalsdk.analytics.model.base;
-
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Vector;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-
-import org.openecomp.portalsdk.analytics.error.RaptorException;
-import org.openecomp.portalsdk.analytics.error.UserAccessException;
-import org.openecomp.portalsdk.analytics.model.definition.SecurityEntry;
-import org.openecomp.portalsdk.analytics.system.AppUtils;
-import org.openecomp.portalsdk.analytics.system.DbUtils;
-import org.openecomp.portalsdk.analytics.system.Globals;
-import org.openecomp.portalsdk.analytics.util.AppConstants;
-import org.openecomp.portalsdk.analytics.util.DataSet;
-import org.openecomp.portalsdk.analytics.util.Utils;
-import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
-
-public class ReportSecurity extends org.openecomp.portalsdk.analytics.RaptorObject {
-
- EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(ReportSecurity.class);
-
-
- private String reportID = null;
-
- private String ownerID = null;
-
- private String createID = null;
-
- private String createDate = null;
-
- private String updateID = null;
-
- private String updateDate = null;
-
- private boolean isPublic = false;
-
- private Hashtable reportRoles = new Hashtable();
-
- private Hashtable reportUsers = new Hashtable();
-
- public ReportSecurity(String reportID) {
- this(reportID, null, null, null, null, null, false);
- } // ReportSecurity
-
- public ReportSecurity(String reportID, String ownerID, String createID, String createDate,
- String updateID, String updateDate, boolean isPublic) {
- super();
-
- if (ownerID == null)
- // Need to load the report record from the database
- if (!reportID.equals("-1"))
- try {
- /*DataSet ds = DbUtils
- .executeQuery("SELECT NVL(cr.owner_id, cr.create_id) owner_id, cr.create_id, TO_CHAR(cr.create_date, '"
- + Globals.getOracleTimeFormat()
- + "') create_date, maint_id, TO_CHAR(cr.maint_date, '"
- + Globals.getOracleTimeFormat()
- + "') update_date, cr.public_yn FROM cr_report cr WHERE cr.rep_id="
- + reportID);*/
- String sql = Globals.getReportSecurity();
- sql = sql.replace("[rw.getReportID()]", reportID);
- DataSet ds = DbUtils.executeQuery(sql);
- ownerID = ds.getString(0, 0);
- createID = ds.getString(0, 1);
- createDate = ds.getString(0, 2);
- updateID = ds.getString(0, 3);
- updateDate = ds.getString(0, 4);
- isPublic = nvl(ds.getString(0, 5)).equals("Y");
- } catch (Exception e) {
- String eMsg = "ReportSecurity.ReportSecurity: Unable to load report record details. Exception: "
- + e.getMessage();
- //Log.write(eMsg);
- logger.debug(EELFLoggerDelegate.debugLogger, ("[EXCEPTION ENCOUNTERED IN RAPTOR] "+eMsg));
- throw new RuntimeException(eMsg);
- }
-
- this.reportID = reportID;
- this.ownerID = ownerID;
- this.createID = createID;
- this.createDate = createDate;
- this.updateID = updateID;
- this.updateDate = updateDate;
- this.isPublic = isPublic;
-
- /*
- * reportUsers.put(ownerID, "N"); // Owner has full access
- * reportRoles.put(AppUtils.getSuperRoleID(), "N"); // Super role has
- * full access for(Iterator iter=AppUtils.getAdminRoleIDs().iterator();
- * iter.hasNext(); ) reportRoles.put((String) iter.next(), "Y"); //
- * Admin role(s) have read-only access
- */
- try {
- String reportUserAccessSql= Globals.getReportUserAccess();
- reportUserAccessSql = reportUserAccessSql.replace("[reportID]", reportID);
-
- DataSet ds = DbUtils
- .executeQuery(reportUserAccessSql);
- for (int i = 0; i < ds.getRowCount(); i++) {
- String roleID = nvl(ds.getString(i, 0));
- if (roleID.length() > 0)
- reportRoles.put(roleID, ds.getString(i, 2));
-
- String userID = nvl(ds.getString(i, 1));
- if (userID.length() > 0)
- reportUsers.put(userID, ds.getString(i, 2));
- } // for
- } catch (Exception e) {
- String eMsg = "ReportSecurity.ReportSecurity: Unable to load access priviledges - error "
- + e.getMessage();
- logger.error(EELFLoggerDelegate.debugLogger, ("[EXCEPTION ENCOUNTERED IN RAPTOR] " + eMsg));
- throw new RuntimeException(eMsg);
- }
- } // ReportSecurity
-
- public String getOwnerID() {
- return ownerID;
- }
-
- public String getCreateID() {
- return createID;
- }
-
- public String getCreateDate() {
- return createDate;
- }
-
- public String getUpdateID() {
- return updateID;
- }
-
- public String getUpdateDate() {
- return updateDate;
- }
-
- public void setOwnerID(String ownerID) {
- this.ownerID = ownerID;
- }
-
- public void setPublic(boolean isPublic) {
- this.isPublic = isPublic;
- }
-
- public void reportCreate(String reportID, String userID, boolean isPublic) {
- this.reportID = reportID;
- this.ownerID = userID;
- this.createID = userID;
- this.createDate = Utils.getCurrentDateTime();
- this.updateID = userID;
- this.updateDate = this.createDate;
- this.isPublic = isPublic;
- } // reportCreate
-
- public void reportUpdate(HttpServletRequest request) throws RaptorException {
- checkUserWriteAccess(request);
- String userID = AppUtils.getUserID(request);
- this.updateID = userID;
- this.updateDate = Utils.getCurrentDateTime();
- } // reportUpdate
-
- /** ************************************************************* */
-
- public Vector getReportUsers(HttpServletRequest request) throws RaptorException {
- HttpSession session = request.getSession();
- String query = Globals.getCustomizedScheduleQueryForUsers();
- String[] sessionParameters = Globals.getSessionParams().split(",");
- session.setAttribute("login_id", AppUtils.getUserBackdoorLoginId(request));
- String param = "";
- for (int i = 0; i < sessionParameters.length; i++) {
- param = (String)session.getAttribute(sessionParameters[0]);
- query = Utils.replaceInString(query, "[" + sessionParameters[i].toUpperCase()+"]", (String)session.getAttribute(sessionParameters[i]) );
- }
- boolean isAdmin = AppUtils.isAdminUser(request);
- Vector allUsers = AppUtils.getAllUsers(query,param, isAdmin);
- Vector rUsers = new Vector(allUsers.size());
-
- for (Iterator iter = allUsers.iterator(); iter.hasNext();) {
- IdNameValue user = (IdNameValue) iter.next();
- String readOnlyAccess = (String) reportUsers.get(user.getId());
- if (readOnlyAccess != null)
- rUsers.add(new SecurityEntry(user.getId(), user.getName(), readOnlyAccess
- .equals("Y")));
- } // for
-
- return rUsers;
- } // getReportUsers
-
- public Vector getReportRoles(HttpServletRequest request) throws RaptorException {
- HttpSession session = request.getSession();
- String query = Globals.getCustomizedScheduleQueryForRoles();
- String[] sessionParameters = Globals.getSessionParams().split(",");
- String param = "";
- for (int i = 0; i < sessionParameters.length; i++) {
- param = (String)session.getAttribute(sessionParameters[0]);
- query = Utils.replaceInString(query, "[" + sessionParameters[i].toUpperCase()+"]", (String)session.getAttribute(sessionParameters[i]) );
-
- }
- boolean isAdmin = AppUtils.isAdminUser(request);
- Vector allRoles = AppUtils.getAllRoles(query, param, isAdmin);
- Vector rRoles = new Vector(allRoles.size());
-
- for (Iterator iter = allRoles.iterator(); iter.hasNext();) {
- IdNameValue role = (IdNameValue) iter.next();
- String readOnlyAccess = (String) reportRoles.get(role.getId());
- if (readOnlyAccess != null)
- rRoles.add(new SecurityEntry(role.getId(), role.getName(), readOnlyAccess
- .equals("Y")));
- } // for
-
- return rRoles;
- } // getReportRoles
-
- /** ************************************************************* */
-
- private void validateReadOnlyAccess(String readOnlyAccess) throws Exception {
- if (!(readOnlyAccess != null && (readOnlyAccess.equals("Y") || readOnlyAccess
- .equals("N"))))
- throw new RuntimeException(
- "[ReportSecurity.validateReadOnlyAccess] Invalid parameter value");
- } // validateReadOnlyAccess
-
- public void addUserAccess(String userID, String readOnlyAccess) throws Exception {
- validateReadOnlyAccess(readOnlyAccess);
- reportUsers.put(userID, readOnlyAccess);
- String addUserAccessSql= Globals.getAddUserAccess();
- addUserAccessSql = addUserAccessSql.replace("[reportID]", reportID);
- addUserAccessSql = addUserAccessSql.replace("[userID]", userID);
- addUserAccessSql = addUserAccessSql.replace("[readOnlyAccess]", readOnlyAccess);
- DbUtils
- .executeUpdate(addUserAccessSql);
- } // addUserAccess
-
- public void updateUserAccess(String userID, String readOnlyAccess) throws Exception {
- validateReadOnlyAccess(readOnlyAccess);
- reportUsers.remove(userID);
- reportUsers.put(userID, readOnlyAccess);
- String updateUserAccessSql= Globals.getUpdateUserAccess();
- updateUserAccessSql = updateUserAccessSql.replace("[reportID]", reportID);
- updateUserAccessSql = updateUserAccessSql.replace("[userID]", userID);
- updateUserAccessSql = updateUserAccessSql.replace("[readOnlyAccess]", readOnlyAccess);
- DbUtils.executeUpdate(updateUserAccessSql);
- } // updateUserAccess
-
- public void removeUserAccess(String userID) throws Exception {
- reportUsers.remove(userID);
-
- String removeUserAccessSql= Globals.getRemoveUserAccess();
- removeUserAccessSql = removeUserAccessSql.replace("[reportID]", reportID);
- removeUserAccessSql = removeUserAccessSql.replace("[userID]", userID);
- DbUtils.executeUpdate(removeUserAccessSql);
- } // removeUserAccess
-
- public void addRoleAccess(String roleID, String readOnlyAccess) throws Exception {
- validateReadOnlyAccess(readOnlyAccess);
- reportRoles.put(roleID, readOnlyAccess);
- String addRoleAccessSql= Globals.getAddRoleAccess();
- addRoleAccessSql = addRoleAccessSql.replace("[reportID]", reportID);
- addRoleAccessSql = addRoleAccessSql.replace("[roleID]", roleID);
- addRoleAccessSql = addRoleAccessSql.replace("[readOnlyAccess]", readOnlyAccess);
- DbUtils
- .executeUpdate(addRoleAccessSql);
- } // addRoleAccess
-
- public void updateRoleAccess(String roleID, String readOnlyAccess) throws Exception {
- validateReadOnlyAccess(readOnlyAccess);
- reportRoles.remove(roleID);
- reportRoles.put(roleID, readOnlyAccess);
- String updateRoleAccessSql= Globals.getUpdateRoleAccess();
- updateRoleAccessSql = updateRoleAccessSql.replace("[reportID]", reportID);
- updateRoleAccessSql = updateRoleAccessSql.replace("[roleID]", roleID);
- updateRoleAccessSql = updateRoleAccessSql.replace("[readOnlyAccess]", readOnlyAccess);
- DbUtils.executeUpdate(updateRoleAccessSql);
- } // updateRoleAccess
-
- public void removeRoleAccess(String roleID) throws Exception {
- reportRoles.remove(roleID);
- String removeRoleAccessSql= Globals.getRemoveRoleAccess();
- removeRoleAccessSql = removeRoleAccessSql.replace("[reportID]", reportID);
- removeRoleAccessSql = removeRoleAccessSql.replace("[roleID]", roleID);
- DbUtils.executeUpdate(removeRoleAccessSql);
- } // removeRoleAccess
-
- /** ************************************************************* */
-
- public void checkUserReadAccess(HttpServletRequest request, String userID) throws RaptorException {
- if(userID == null)
- userID = AppUtils.getUserID(request);
- if(userID != null) {
- //userID = AppUtils.getUserID(request);
- if (nvl(reportID).equals("-1"))
- return;
-
- if (true) //todo: replace with proper check isPublic
- return;
-
- if (userID.equals(ownerID))
- return;
-
- if (reportUsers.get(userID) != null)
- return;
- }
- Vector userRoles = null;
- String userName = null;
- if(userID == null) {
- userRoles = AppUtils.getUserRoles(request);
- userName = AppUtils.getUserName(request);
- userID = AppUtils.getUserID(request);
- } else {
- userRoles = AppUtils.getUserRoles(userID);
- userName = AppUtils.getUserName(userID);
- }
- if (nvl(reportID).equals("-1"))
- return;
-
- if (isPublic)
- return;
-
- if (userID.equals(ownerID))
- return;
-
- if (reportUsers.get(userID) != null)
- return;
-
- for (Iterator iter = userRoles.iterator(); iter.hasNext();) {
- String userRole = (String) iter.next();
- if (nvl(userRole).equals(AppUtils.getSuperRoleID()))
- return;
- }
- for (Iterator iter = userRoles.iterator(); iter.hasNext();) {
- String userRole = (String) iter.next();
-
- if (nvl(userRole).equals(AppUtils.getSuperRoleID()))
- return;
-
- if (reportRoles.get(userRole) != null)
- return;
-
- for (Iterator iterA = AppUtils.getAdminRoleIDs().iterator(); iterA.hasNext();)
- if (nvl(userRole).equals((String) iterA.next()))
- return;
- } // for
-
- throw new UserAccessException(reportID, "[" + userID + "] "
- + userName, AppConstants.UA_READ);
- } // checkUserReadAccess
-
- public void checkUserWriteAccess(HttpServletRequest request) throws RaptorException {
- String userID = AppUtils.getUserID(request);
- if (nvl(reportID).equals("-1"))
- return;
-
- if (userID.equals(ownerID))
- return;
-
- if (nvl((String) reportUsers.get(userID)).equals("N"))
- return;
-
- for (Iterator iter = AppUtils.getUserRoles(request).iterator(); iter.hasNext();) {
- String userRole = (String) iter.next();
-
- if (nvl(userRole).equals(AppUtils.getSuperRoleID()))
- return;
-
- if (nvl((String) reportRoles.get(userRole)).equals("N"))
- return;
-
- for (Iterator iterA = AppUtils.getAdminRoleIDs().iterator(); iterA.hasNext();)
- if (nvl(userRole).equals((String) iterA.next()))
- return;
- } // for
-
- throw new UserAccessException(reportID, "[" + userID + "] "
- + AppUtils.getUserName(request), AppConstants.UA_WRITE);
- } // checkUserWriteAccess
-
- public void checkUserDeleteAccess(HttpServletRequest request) throws RaptorException {
- String userID = AppUtils.getUserID(request);
- if (Globals.getDeleteOnlyByOwner()) {
- if (!userID.equals(ownerID))
- throw new UserAccessException(reportID, "[" + userID + "] "
- + AppUtils.getUserName(request), AppConstants.UA_DELETE);
- } else
- checkUserWriteAccess(request);
- } // checkUserDeleteAccess
-
-} // ReportSecurity
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportWrapper.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportWrapper.java
deleted file mode 100644
index f856318d..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportWrapper.java
+++ /dev/null
@@ -1,5719 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ================================================================================
- */
-package org.openecomp.portalsdk.analytics.model.base;
-
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Collections;
-import java.util.GregorianCalendar;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Set;
-import java.util.StringTokenizer;
-import java.util.TreeSet;
-import java.util.Vector;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.datatype.DatatypeConfigurationException;
-import javax.xml.datatype.DatatypeFactory;
-import javax.xml.transform.stream.StreamResult;
-
-import org.openecomp.portalsdk.analytics.error.RaptorException;
-import org.openecomp.portalsdk.analytics.error.RaptorRuntimeException;
-import org.openecomp.portalsdk.analytics.error.UserDefinedException;
-import org.openecomp.portalsdk.analytics.model.DataCache;
-import org.openecomp.portalsdk.analytics.model.ReportLoader;
-import org.openecomp.portalsdk.analytics.model.definition.TableSource;
-import org.openecomp.portalsdk.analytics.model.runtime.FormField;
-import org.openecomp.portalsdk.analytics.model.runtime.ReportParamValues;
-import org.openecomp.portalsdk.analytics.model.runtime.ReportRuntime;
-import org.openecomp.portalsdk.analytics.system.AppUtils;
-import org.openecomp.portalsdk.analytics.system.ConnectionUtils;
-import org.openecomp.portalsdk.analytics.system.DbUtils;
-import org.openecomp.portalsdk.analytics.system.Globals;
-import org.openecomp.portalsdk.analytics.util.AppConstants;
-import org.openecomp.portalsdk.analytics.util.DataSet;
-import org.openecomp.portalsdk.analytics.util.SQLCorrector;
-import org.openecomp.portalsdk.analytics.util.Utils;
-import org.openecomp.portalsdk.analytics.xmlobj.ChartAdditionalOptions;
-import org.openecomp.portalsdk.analytics.xmlobj.ChartDrillFormfield;
-import org.openecomp.portalsdk.analytics.xmlobj.ChartDrillOptions;
-import org.openecomp.portalsdk.analytics.xmlobj.ColFilterList;
-import org.openecomp.portalsdk.analytics.xmlobj.ColFilterType;
-import org.openecomp.portalsdk.analytics.xmlobj.CustomReportType;
-import org.openecomp.portalsdk.analytics.xmlobj.DashboardEditorList;
-import org.openecomp.portalsdk.analytics.xmlobj.DashboardReports;
-import org.openecomp.portalsdk.analytics.xmlobj.DashboardReportsNew;
-import org.openecomp.portalsdk.analytics.xmlobj.DataColumnList;
-import org.openecomp.portalsdk.analytics.xmlobj.DataColumnType;
-import org.openecomp.portalsdk.analytics.xmlobj.DataSourceList;
-import org.openecomp.portalsdk.analytics.xmlobj.DataSourceType;
-import org.openecomp.portalsdk.analytics.xmlobj.DataminingOptions;
-import org.openecomp.portalsdk.analytics.xmlobj.FormFieldList;
-import org.openecomp.portalsdk.analytics.xmlobj.FormFieldType;
-import org.openecomp.portalsdk.analytics.xmlobj.FormatList;
-import org.openecomp.portalsdk.analytics.xmlobj.FormatType;
-import org.openecomp.portalsdk.analytics.xmlobj.JavascriptItemType;
-import org.openecomp.portalsdk.analytics.xmlobj.JavascriptList;
-import org.openecomp.portalsdk.analytics.xmlobj.Marker;
-import org.openecomp.portalsdk.analytics.xmlobj.ObjectFactory;
-import org.openecomp.portalsdk.analytics.xmlobj.PDFAdditionalOptions;
-import org.openecomp.portalsdk.analytics.xmlobj.PredefinedValueList;
-import org.openecomp.portalsdk.analytics.xmlobj.ReportMap;
-import org.openecomp.portalsdk.analytics.xmlobj.Reports;
-import org.openecomp.portalsdk.analytics.xmlobj.SemaphoreList;
-import org.openecomp.portalsdk.analytics.xmlobj.SemaphoreType;
-import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
-
-/**<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.getOracleTimeFormat()]", Globals.getOracleTimeFormat());
- r_sql = r_sql.replace("[reportID]", reportID);
-
- DataSet ds = DbUtils
- .executeQuery(r_sql);
-
- ownerID = ds.getString(0, 0);
- createID = ds.getString(0, 1);
- createDate = ds.getString(0, 2);
- updateID = ds.getString(0, 3);
- updateDate = ds.getString(0, 4);
- menuID = nvl(ds.getString(0, 5));
- menuApproved = nvl(ds.getString(0, 6)).equals("Y");
- } catch (Exception e) {
- String eMsg = "ReportWrapper.ReportWrapper: Unable to load report record details. Exception: "
- + e.getMessage();
- //Log.write(eMsg);
- logger.error(EELFLoggerDelegate.debugLogger, ("[EXCEPTION ENCOUNTERED IN RAPTOR] "+ eMsg));
- throw new RaptorRuntimeException(eMsg);
- }
-
- this.menuID = nvl(menuID);
- this.menuApproved = menuApproved;
-
- if (!reportID.equals("-1"))
- updateReportDefType();
-
- reportSecurity = new ReportSecurity(reportID, ownerID, createID, createDate, updateID,
- updateDate, cr.isPublic());
- } // ReportWrapper
-
- public CustomReportType getCustomReport() {
- return cr;
- }
-
- public String getReportID() {
- return reportID;
- }
-
- public String getMenuID() {
- return menuID;
- }
-
- public boolean checkMenuIDSelected(String chkMenuID) {
- return ("|" + menuID + "|").indexOf("|" + chkMenuID + "|") >= 0;
- }
-
- public boolean isMenuApproved() {
- return menuApproved;
- }
-
- public String getReportDefType() {
- return reportDefType;
- }
-
- public void setMenuID(String menuID) {
- this.menuID = menuID;
- }
-
- public void setMenuApproved(boolean menuApproved) {
- this.menuApproved = menuApproved;
- }
-
- public void setReportDefType(String reportDefType) {
- this.reportDefType = reportDefType;
- }
-
- public void updateReportDefType() {
- this.reportDefType = (nvl(cr.getReportSQL()).length() > 0) ? ((cr.getDataminingOptions()!=null && nvl(cr.getDataminingOptions().getClassifier()).length()>0) ?
- AppConstants.RD_SQL_BASED_DATAMIN:AppConstants.RD_SQL_BASED)
- : AppConstants.RD_VISUAL;
- }
-
- public String getJavascriptElement() {
- return cr.getJavascriptElement();
- }
-
- public int getPageSize() {
- return cr.getPageSize()==null?50:cr.getPageSize();
- }
-
- public int getMaxRowsInExcelDownload() {
- return cr.getMaxRowsInExcelDownload()==null?500:cr.getMaxRowsInExcelDownload();
- }
-
- public boolean isDisplayFolderTree() {
- return cr.isDisplayFolderTree()!=null?cr.isDisplayFolderTree().booleanValue():false;
- }
-
- public boolean isHideFormFieldAfterRun() {
- return cr.isHideFormFieldAfterRun()!=null?cr.isHideFormFieldAfterRun().booleanValue():false;
- }
-
- public void setHideFormFieldAfterRun(boolean hideFormFieldAfterRun) {
- cr.setHideFormFieldAfterRun(hideFormFieldAfterRun);
- }
-
- public boolean isReportInNewWindow() {
- return cr.isReportInNewWindow()!=null?cr.isReportInNewWindow().booleanValue():false;
- }
-
- public String getReportType() {
- return cr.getReportType();
- }
-
- public String getReportName() {
- return cr.getReportName();
- }
-
- public String getDBInfo() {
- return cr.getDbInfo();
- }
-
- public String getDBType() {
- return cr.getDbType();
- }
-
- public boolean isDrillDownURLInPopupPresent() {
- return cr.isDrillURLInPoPUpPresent()!=null?cr.isDrillURLInPoPUpPresent().booleanValue():false;
- }
-
- public void setDrillDownURLInPopupPresent(boolean value) {
- cr.setDrillURLInPoPUpPresent(value);
- }
-
- public String getReportDescr() {
- return cr.getReportDescr();
- }
-
- public String getChartType() {
- return cr.getChartType();
- }
-
- public boolean displayChartTitle() {
- return cr.isShowChartTitle();
- }
-
- public void setShowChartTitle(boolean showTitle) {
- cr.setShowChartTitle(showTitle);
- }
-
-
- public String getChartTypeFixed() {
- return cr.getChartTypeFixed();
- }
-
- public boolean isChartTypeFixed() {
- return nvl(cr.getChartTypeFixed()).length() > 0 ? cr.getChartTypeFixed().equals("Y")
- : (!Globals.getAllowRuntimeChartSel());
- }
-
- public String getChartLeftAxisLabel() {
- return cr.getChartLeftAxisLabel();
- }
-
- public String getChartRightAxisLabel() {
- return cr.getChartRightAxisLabel();
- }
-
- public String getChartWidth() {
- return cr.getChartWidth();
- }
-
- public int getChartWidthAsInt() {
- return getIntValue(cr.getChartWidth(), Globals.getDefaultChartWidth());
- }
-
- public String getChartHeight() {
- return cr.getChartHeight()==null?"500":cr.getChartHeight();
- }
-
- /*public boolean isChartMultiSeries() {
- //String s = cr.getChartMultiSeries();
- return
- return (nvl(s).length()>0)? (s.equals("Y")||s.equals("y")||s.equalsIgnoreCase("true")?true:false):true;
- }*/
-
- public boolean displayPieOrderinRunPage() {
- String s = "";
- s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getChartMultiplePieOrder():"";
- if(nvl(s).indexOf("|")!= -1) {
- s = s.substring(s.indexOf("|")+1);
- return getFlagInBoolean(s);
- } else return false;
- }
-
- public boolean isMultiplePieOrderByRow() {
- String s = "";
- s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getChartMultiplePieOrder():"";
- if(nvl(s).indexOf("|")!= -1) s = s.substring(0, s.indexOf("|"));
- return (nvl(s).length()>0)? (s.equals("row")?true:false):true;
- }
-
- public boolean isMultiplePieOrderByColumn() {
- String s = "";
- s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getChartMultiplePieOrder():"";
- if(nvl(s).indexOf("|")!= -1) s = s.substring(0, s.indexOf("|"));
- return (nvl(s).length()>0)&&(s.equals("column"))?true:false;
- }
-
- public boolean displayPieLabelDisplayinRunPage() {
- String s = "";
- s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getChartMultiplePieLabelDisplay():"";
- if(nvl(s).indexOf("|")!= -1) {
- s = s.substring(s.indexOf("|")+1);
- return getFlagInBoolean(s);
- } else return false;
- }
-
- public String getMultiplePieLabelDisplay() {
- String s = "";
- s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getChartMultiplePieLabelDisplay():"";
- if(nvl(s).indexOf("|")!= -1) s = s.substring(0, s.indexOf("|"));
- return s;
- }
-
- public boolean displayChartDisplayinRunPage() {
- String s = "";
- s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getChartDisplay():"";
- if(nvl(s).indexOf("|")!= -1) {
- s = s.substring(s.indexOf("|")+1);
- return getFlagInBoolean(s);
- } else return false;
- }
-
- public boolean isChartDisplayIn3D() {
- String s = "";
- s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getChartDisplay():"";
- if(nvl(s).length()<=0) return true;
- if(nvl(s).indexOf("|")!= -1) s = s.substring(0, s.indexOf("|"));
- return (nvl(s).length()>0)&&(s.equals("3D"))?true:false;
- }
-
- public boolean displayChartOrientationInRunPage() {
- String s = "";
- s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getChartOrientation():"";
- if(nvl(s).indexOf("|")!= -1) {
- s = s.substring(s.indexOf("|")+1);
- return getFlagInBoolean(s);
- } else return false;
-
- }
-
- public String getLinearRegression() {
- String s = "";
- s = nvl((cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getLinearRegression():"Y");
- return s;
- }
-
- public void setLinearRegression(String linear) {
- cr.getChartAdditionalOptions().setLinearRegression(linear);
- }
-
- public String getLinearRegressionColor() {
- return (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getLinearRegressionColor():"";
- }
-
- public String getCustomizedRegressionPoint() {
- return (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getMaxRegression():"";
- }
-
- public void setCustomizedRegressionPoint( String d) {
- cr.getChartAdditionalOptions().setMaxRegression(d);
- }
-
- public void setLinearRegressionColor(String color) {
- cr.getChartAdditionalOptions().setLinearRegressionColor(color);
- }
-
- public String getExponentialRegressionColor() {
- return (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getExponentialRegressionColor():"";
- }
-
- public void setExponentialRegressionColor(String color) {
- cr.getChartAdditionalOptions().setExponentialRegressionColor(color);
- }
-
- public void setRangeAxisUpperLimit(String d) {
- if(cr.getChartAdditionalOptions()!=null)
- cr.getChartAdditionalOptions().setRangeAxisUpperLimit(d);
- }
-
- public void setRangeAxisLowerLimit(String d) {
- if(cr.getChartAdditionalOptions()!=null)
- cr.getChartAdditionalOptions().setRangeAxisLowerLimit(d);
- }
-
- public String getRangeAxisUpperLimit() {
- return (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getRangeAxisUpperLimit():"";
- }
-
- public String getRangeAxisLowerLimit() {
- return (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getRangeAxisLowerLimit():"";
- }
-
- public boolean isChartAnimate() {
- return (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().isAnimate()!=null?cr.getChartAdditionalOptions().isAnimate():false):false;
- }
-
- public boolean isAnimateAnimatedChart() {
- return (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().isAnimateAnimatedChart()!=null?cr.getChartAdditionalOptions().isAnimateAnimatedChart():false):true;
- }
-
- public void setAnimateAnimatedChart(boolean animate) {
- cr.getChartAdditionalOptions().setAnimateAnimatedChart(animate);
- }
-
- public void setChartStacked(boolean stacked) {
- cr.getChartAdditionalOptions().setStacked(stacked);
- }
-
- public boolean isChartStacked() {
- return (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().isStacked()!=null?cr.getChartAdditionalOptions().isStacked():true):false;
- }
-
- public void setBarControls(boolean barControls) {
- cr.getChartAdditionalOptions().setBarControls(barControls);
- }
-
- public boolean displayBarControls() {
- return (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().isBarControls()!=null?cr.getChartAdditionalOptions().isBarControls():false):false;
- }
-
- public void setXAxisDateType(boolean dateType) {
- cr.getChartAdditionalOptions().setXAxisDateType(dateType);
- }
-
- public boolean isXAxisDateType() {
- return (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().isXAxisDateType()!=null?cr.getChartAdditionalOptions().isXAxisDateType():false):false;
- }
-
- public void setLessXaxisTickers(boolean lessTickers) {
- cr.getChartAdditionalOptions().setLessXaxisTickers(lessTickers);
- }
-
- public boolean isLessXaxisTickers() {
- return (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().isLessXaxisTickers()!=null?cr.getChartAdditionalOptions().isLessXaxisTickers():false):false;
- }
-
- public void setTimeAxis(boolean timeAxis) {
- cr.getChartAdditionalOptions().setTimeAxis(timeAxis);
- }
-
- public boolean isTimeAxis() {
- return (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().isTimeAxis()!=null?cr.getChartAdditionalOptions().isTimeAxis():true):true;
- }
-
- public void setLogScale(boolean logScale) {
- cr.getChartAdditionalOptions().setLogScale(logScale);
- }
-
- public boolean isLogScale() {
- return (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().isLogScale()!=null?cr.getChartAdditionalOptions().isLogScale():false):false;
- }
-
-
- public void setMultiSeries(boolean multiSeries) {
- cr.getChartAdditionalOptions().setMultiSeries(multiSeries);
- cr.setChartMultiSeries(multiSeries?"Y":"N");
- }
-
- public boolean isMultiSeries() {
- if(AppUtils.nvl(cr.getChartMultiSeries()).equals("Y"))
- cr.getChartAdditionalOptions().setMultiSeries(true);
- return (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().isMultiSeries()!=null?cr.getChartAdditionalOptions().isMultiSeries():false):false;
- }
-
- public void setTimeSeriesRender(String timeSeriesRenderer) {
- cr.getChartAdditionalOptions().setTimeSeriesRender(timeSeriesRenderer);
- }
-
- public String getTimeSeriesRender() {
- return (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getTimeSeriesRender():"line";
- }
-
- public void setShowXAxisLabel(boolean showXaxisLabel) {
- cr.getChartAdditionalOptions().setShowXAxisLabel(showXaxisLabel);
- }
-
- public boolean isShowXaxisLabel() {
- return (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().isShowXAxisLabel()!=null?cr.getChartAdditionalOptions().isShowXAxisLabel():false):false;
- }
-
- public void setAddXAxisTickers(boolean addXAxisTickers) {
- cr.getChartAdditionalOptions().setAddXAxisTickers(addXAxisTickers);
- }
-
- public boolean isAddXAxisTickers() {
- return (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().isAddXAxisTickers()!=null?cr.getChartAdditionalOptions().isAddXAxisTickers():false):true;
- }
-
- public void setZoomIn(Integer zoomIn) {
- cr.getChartAdditionalOptions().setZoomIn(zoomIn);
- }
-
- public Integer getZoomIn() {
- return (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().getZoomIn()!=null?cr.getChartAdditionalOptions().getZoomIn():new Integer("25")): new Integer("25");
- }
-
- public void setTimeAxisType(String timeAxisType) {
- cr.getChartAdditionalOptions().setTimeAxisType(timeAxisType);
- }
-
- public String getTimeAxisType() {
- return (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().getTimeAxisType()!=null?cr.getChartAdditionalOptions().getTimeAxisType():"hourly"): "hourly";
- }
-
- public void setTopMargin(Integer topMargin) {
- cr.getChartAdditionalOptions().setTopMargin(topMargin);
- }
-
- public Integer getTopMargin() {
- return (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getTopMargin(): new Integer("30");
- }
-
- public void setBottomMargin(Integer bottomMargin) {
- cr.getChartAdditionalOptions().setBottomMargin(bottomMargin);
- }
-
- public Integer getBottomMargin() {
- return (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getBottomMargin(): new Integer("50");
- }
-
- public void setRightMargin(Integer rightMargin) {
- cr.getChartAdditionalOptions().setRightMargin(rightMargin);
- }
-
- public Integer getRightMargin() {
- return (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getRightMargin(): new Integer("60");
- }
-
- public void setLeftMargin(Integer leftMargin) {
- cr.getChartAdditionalOptions().setLeftMargin(leftMargin);
- }
-
- public Integer getLeftMargin() {
- return (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getLeftMargin(): new Integer("100");
- }
-
-
- public boolean isVerticalOrientation() {
- String s = "";
- s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getChartOrientation():"";
- if(nvl(s).length()<=0) return true;
- if(nvl(s).indexOf("|")!= -1) s = s.substring(0, s.indexOf("|"));
- return (nvl(s).length()>0)&&(s.equals("vertical"))?true:false;
- }
-
- public boolean isHorizontalOrientation() {
- String s = "";
- s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getChartOrientation():"";
- if(nvl(s).indexOf("|")!= -1) s = s.substring(0, s.indexOf("|"));
- return (nvl(s).length()>0)&&(s.equals("horizontal"))?true:false;
- }
-
- public boolean displaySecondaryChartRendererInRunPage() {
- String s = "";
- s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getSecondaryChartRenderer():"";
- if(nvl(s).indexOf("|")!= -1) {
- s = s.substring(s.indexOf("|")+1);
- return getFlagInBoolean(s);
- } else return false;
-
- }
-
- public String getSecondaryChartRenderer() {
- String s = "";
- s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getSecondaryChartRenderer():"";
- if(nvl(s).indexOf("|")!= -1) s = s.substring(0, s.indexOf("|"));
- return s;
- }
-
- public String getOverlayItemValueOnStackBar() {
- String s = "";
- s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getOverlayItemValueOnStackBar():"N";
- return s;
- }
-
- public boolean displayIntervalInputInRunPage() {
- String s = "";
- s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getIntervalFromdate():"";
- if(nvl(s).indexOf("|")!= -1) {
- s = s.substring(s.indexOf("|")+1);
- return getFlagInBoolean(s);
- } else return false;
- }
-
- public boolean showLegendDisplayOptionsInRunPage() {
- String s = "";
- s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getHidechartLegend():"";
- if(nvl(s).indexOf("|")!= -1) {
- s = s.substring(s.indexOf("|")+1);
- return getFlagInBoolean(s);
- } else return false;
- }
-
- public String getIntervalFromdate() {
- String s = "";
- s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getIntervalFromdate():"";
- if(nvl(s).indexOf("|")!= -1) s = s.substring(0, s.indexOf("|"));
- return nvl(s,"");
- }
-
- public String getIntervalTodate() {
- String s = "";
- s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getIntervalTodate():"";
- if(nvl(s).indexOf("|")!= -1) s = s.substring(0, s.indexOf("|"));
- return nvl(s,"");
- }
-
- public String getIntervalLabel() {
- return cr.getChartAdditionalOptions()!=null ? nvl(cr.getChartAdditionalOptions().getIntervalLabel()):"";
- }
-
- public String getLegendPosition() {
- String s = "";
- s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getLegendPosition():"";
- return nvl(s,"bottom");
- }
-
- public String getLegendLabelAngle() {
- String s = "";
- s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getLabelAngle():"";
- return nvl(s,"UP90");
- }
-
- public String getMaxLabelsInDomainAxis() {
- String s = "";
- s = (cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getMaxLabelsInDomainAxis():"";
- return nvl(s,"99");
- }
-
- public boolean isLastSeriesALineChart() {
- String s = "";
- s = nvl((cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getLastSeriesALineChart():"");
- return s.equals("Y");
- }
-
- public boolean isLastSeriesABarChart() {
- String s = "";
- s = nvl((cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getLastSeriesABarChart():"");
- return s.equals("Y");
- }
-
- public void setChartLegendDisplay(String value) {
- cr.getChartAdditionalOptions().setHidechartLegend(value);
- }
-
- public boolean hideChartLegend() {
- String s = "";
- s = nvl((cr.getChartAdditionalOptions()!=null)?cr.getChartAdditionalOptions().getHidechartLegend():"N");
- if(nvl(s).length()<=0) s = "N";
- if(nvl(s).indexOf("|")!= -1) s = s.substring(0, s.indexOf("|"));
- return s.equals("Y");
- }
-
- public void setChartToolTips(String value) {
- cr.getChartAdditionalOptions().setHideToolTips(value);
- }
-
- public void setDomainAxisValuesAsString(String value) {
- cr.getChartAdditionalOptions().setKeepDomainAxisValueAsString(value);
- }
-
- public boolean hideChartToolTips() {
- boolean s = true;
- s = (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().getHideToolTips()!=null?
- (cr.getChartAdditionalOptions().getHideToolTips().equals("Y")?true:false):(Globals.hideToolTipsGlobally()?true:false)):(Globals.hideToolTipsGlobally()?true:false);
- return s;
- }
-
- public boolean keepDomainAxisValueInChartAsString() {
- boolean s = true;
- s = (cr.getChartAdditionalOptions()!=null)?(cr.getChartAdditionalOptions().getKeepDomainAxisValueAsString()!=null?
- (cr.getChartAdditionalOptions().getKeepDomainAxisValueAsString().equals("Y")?true:false):false):false;
- return s;
- }
-
- public int getChartHeightAsInt() {
- return getIntValue(cr.getChartHeight(), Globals.getDefaultChartHeight());
- }
-
- public boolean isPublic() {
- return cr.isPublic();
- }
-
- public boolean isDashboardType() throws RaptorException {
- return cr.isDashboardType()!=null?cr.isDashboardType().booleanValue():false;
- }
-
- // public String getCreateId() { return cr.getCreateId(); }
- // public Calendar getCreateDate() { return cr.getCreateDate(); }
- public String getReportSQL() {
- return cr.getReportSQL();
- }
-
- public String getReportTitle() {
- return cr.getReportTitle();
- }
-
- public String getReportSubTitle() {
- return cr.getReportSubTitle();
- }
-
- public String getReportHeader() {
- return cr.getReportHeader();
- }
-
- public String getReportFooter() {
- return cr.getReportFooter();
- }
-
- public String getNumDashCols() {
- return cr.getNumDashCols();
- }
-
- public int getNumDashColsAsInt() {
- return getIntValue(cr.getNumDashCols(), 1);
- }
-
- public String getNumFormCols() {
- return cr.getNumFormCols();
- }
-
- public int getNumFormColsAsInt() {
- return getIntValue(cr.getNumFormCols(), 5);
- }
-
- public String getDisplayOptions() {
- return cr.getDisplayOptions();
- }
-
-
-
-//Additional Methods
-
- public int getJumpTo() {
- return cr.getJumpTo()==null?1:cr.getJumpTo();
- }
- public void setJumpTo(int value){
- cr.setJumpTo(value);
- }
-
-
- public int getSearchPageSize(){
- return cr.getSearchPageSize()==null?20:cr.getSearchPageSize();
- }
- public void setSearchPageSize(int value){
- cr.setSearchPageSize(value);
- }
-
-
- public boolean isToggleLayout(){
- if(cr.isToggleLayout()!=null)
- return cr.isToggleLayout();
-
- else
- return Globals.displayRuntimeOptionsAsDefault();
-
- }
- public void setToggleLayout(boolean value){
- cr.setToggleLayout(value);
- }
-
- public boolean isShowPageSize(){
- if(cr.isShowPageSize()!=null)
- return cr.isShowPageSize();
-
- else
- return Globals.displayRuntimeOptionsAsDefault();
-
- }
- public void setShowPageSize(boolean value){
- cr.setShowPageSize(value);
- }
-
- public boolean isShowNavPos(){
- if(cr.isShowNavPos()!=null)
- return cr.isShowNavPos();
-
- else
- return Globals.displayRuntimeOptionsAsDefault();
-
- }
- public void setShowNavPos(boolean value){
- cr.setShowNavPos(value);
- }
-
- public boolean isShowGotoOption(){
- if(cr.isShowGotoOption()!=null)
- return cr.isShowGotoOption();
-
- else
- return Globals.displayRuntimeOptionsAsDefault();
-
- }
- public void setShowGotoOption(boolean value){
- cr.setShowGotoOption(value);
- }
-
- public boolean isPageNav(){
-
- if(cr.isPageNav()!=null)
- return cr.isPageNav();
-
- else
- return Globals.displayRuntimeOptionsAsDefault();
-
- }
-
- public void setPageNav(boolean value){
- cr.setPageNav(value);
- }
-
-
- public String getNavPosition(){
- if(cr.getNavPosition()!=null)
- return cr.getNavPosition();
-
- else
- return "top";
- //return cr.getNavPosition();
- }
- public void setNavPosition(String value){
- cr.setNavPosition(value);
- }
-
-
- public String getDashboardEditor(){
- return getDashBoardReportsNew().getDashboardEditor();
- }
-
- public void setDashboardEditor(String value){
- getDashBoardReportsNew().setDashboardEditor(value);
- }
-
-
- public DashboardEditorList getDashboardEditorList(){
- return getDashBoardReportsNew().getDashboardEditorList();
- }
-
- public void setDashboardEditorList(DashboardEditorList value){
- getDashBoardReportsNew().setDashboardEditorList(value);
- }
-
- public PDFAdditionalOptions getPDFAdditionalOptions() {
- try {
- if(cr.getPdfAdditionalOptions()==null)
- addPDFAdditionalOptions(new ObjectFactory());
- } catch(RaptorException ex) {
- ex.printStackTrace();
- }
- return cr.getPdfAdditionalOptions();
- }
-
- public String getPDFFont(){
- return getPDFAdditionalOptions().getPDFFont()!=null?getPDFAdditionalOptions().getPDFFont():Globals.getDataFontFamily();
- }
- public void setPDFFont(String value){
- getPDFAdditionalOptions().setPDFFont(value);
- }
-
- public int getPDFFontSize() {
- return getPDFAdditionalOptions().getPDFFontSize()==null?9:getPDFAdditionalOptions().getPDFFontSize();
- }
- public void setPDFFontSize(int value){
- getPDFAdditionalOptions().setPDFFontSize(value);
- }
-
- public String getPDFOrientation(){
- return getPDFAdditionalOptions().getPDFOrientation()!=null?"portrait":"landscape";
- }
- public void setPDFOrientation(String value){
- getPDFAdditionalOptions().setPDFOrientation(value);
- }
-
- public String getPDFLogo1(){
- return getPDFAdditionalOptions().getPDFLogo1();
- }
- public void setPDFLogo1(String value){
- getPDFAdditionalOptions().setPDFLogo1(value);
- }
-
- public String getPDFLogo2(){
- return getPDFAdditionalOptions().getPDFLogo2();
- }
- public void setPDFLogo2(String value){
- getPDFAdditionalOptions().setPDFLogo2(value);
- }
-
- public int getPDFLogo1Size() {
- return getPDFAdditionalOptions().getPDFLogo1Size()==null?0:getPDFAdditionalOptions().getPDFLogo1Size();
- }
- public void setPDFLogo1Size(int value){
- getPDFAdditionalOptions().setPDFLogo1Size(value);
- }
-
- public int getPDFLogo2Size() {
- return getPDFAdditionalOptions().getPDFLogo2Size()==null?0:getPDFAdditionalOptions().getPDFLogo2Size();
- }
- public void setPDFLogo2Size(int value){
- getPDFAdditionalOptions().setPDFLogo2Size(value);
- }
-
- public boolean isPDFCoverPage(){
-
- if(getPDFAdditionalOptions().isPDFCoverPage()!=null)
- return getPDFAdditionalOptions().isPDFCoverPage();
-
- else
- return true;
-
- }
-
- public void setPDFCoverPage(boolean value){
- getPDFAdditionalOptions().setPDFCoverPage(value);
- }
-
- public String getPDFFooter1(){
- return getPDFAdditionalOptions().getPDFFooter1();
- }
- public void setPDFFooter1(String value){
- getPDFAdditionalOptions().setPDFFooter1(value);
- }
-
- public String getPDFFooter2(){
- return getPDFAdditionalOptions().getPDFFooter2();
- }
- public void setPDFFooter2(String value){
- getPDFAdditionalOptions().setPDFFooter2(value);
- }
-
-
-
-//End of Additional Methods
-
- public String getDataContainerHeight() {
- return cr.getDataContainerHeight();
- }
-
- public String getDataContainerWidth() {
- return cr.getDataContainerWidth();
- }
-
- public boolean isAllowSchedule() {
- String allowSchedule = getAllowSchedule();
- return (allowSchedule !=null )? allowSchedule.startsWith("Y"):false;
- }
-
- public String getAllowSchedule() {
- return cr.getAllowSchedule();
- }
-
- /* Multi Group */
-
- public boolean isMultiGroupColumn() {
- String multiGroupColumn = getMultiGroupColumn();
- return (multiGroupColumn !=null )? multiGroupColumn.startsWith("Y"):false;
- }
-
- public String getMultiGroupColumn() {
- return cr.getMultiGroupColumn();
- }
-
- public void setMultiGroupColumn(String value) {
- cr.setMultiGroupColumn(value);
- }
-
- private int getColumnGroupLevel(String colId) throws RaptorException {
- DataColumnType dc = getColumnById(colId);
- return (dc == null) ? 0 : dc.getLevel();
- } // getColumnGroupLevel
-
- public int getMaxGroupLevel() {
- List reportCols = getAllColumns();
- int maxLevel = 0;
- for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
- DataColumnType dc = (DataColumnType) iter.next();
- if (dc.getLevel()!=null) {
- if(maxLevel < dc.getLevel())
- maxLevel = dc.getLevel();
- }
- } // for
- return maxLevel;
- } // getMaxGroupLevel
-
- private int getColumnGroupStart(String colId) throws RaptorException {
- DataColumnType dc = getColumnById(colId);
- return (dc == null) ? 0 : dc.getStart();
- } // getColumnGroupStart
-
- private int getColumnGroupColSpan(String colId) throws RaptorException {
- DataColumnType dc = getColumnById(colId);
- return (dc == null) ? 0 : dc.getColspan();
- } // getColumnGroupColSpan
-
- public void setTopDown(String value) {
- cr.setTopDown(value);
- }
-
- public boolean isTopDown() {
- String topDown = getTopDownOption();
- return (topDown !=null )? topDown.startsWith("Y"):false;
- }
-
- public String getTopDownOption() {
- return cr.getTopDown();
- }
-
- public void setSizedByContent(String value) {
- cr.setSizedByContent(value);
- }
-
- public boolean isSizedByContent() {
- String sizedByContent = getSizedByContentOption();
- return (sizedByContent !=null )? sizedByContent.startsWith("Y"):false;
- }
-
- public String getSizedByContentOption() {
- return cr.getSizedByContent();
- }
-
- public String getDashboardOptions() {
- return cr.getDashboardOptions();
- }
-
- public boolean isDashboardOptionHideChart() {
- return nvl(getDashboardOptions()).length() > 0 && (getDashboardOptions().charAt(0) == 'Y');
- }
-
- public boolean isDashboardOptionHideData() {
- return nvl(getDashboardOptions()).length() > 0 && (getDashboardOptions().charAt(1) == 'Y');
- }
-
- public boolean isDashboardOptionHideBtns() {
- return nvl(getDashboardOptions()).length() > 0 && (getDashboardOptions().charAt(2) == 'Y');
- }
-
- public boolean isDisplayOptionHideForm() {
- return nvl(getDisplayOptions()).length() > 0 && (getDisplayOptions().charAt(0) == 'Y');
- }
-
- public boolean isDisplayOptionHideChart() {
- return nvl(getDisplayOptions()).length() > 1 && (getDisplayOptions().charAt(1) == 'Y');
- }
-
- public boolean isDisplayOptionHideData() {
- return nvl(getDisplayOptions()).length() > 2 && (getDisplayOptions().charAt(2) == 'Y');
- }
-
- public boolean isDisplayOptionHideBtns() {
- return nvl(getDisplayOptions()).length() > 3 && (getDisplayOptions().charAt(3) == 'Y');
- }
-
- public boolean isDisplayOptionHideMap() {
- return nvl(getDisplayOptions()).length() > 4 && (getDisplayOptions().charAt(4) == 'Y');
- }
-
- public boolean isDisplayOptionHideExcelIcons() {
- return nvl(getDisplayOptions()).length() > 5 && (getDisplayOptions().charAt(5) == 'Y');
- }
-
- public boolean isDisplayOptionHidePDFIcons() {
- return nvl(getDisplayOptions()).length() > 6 && (getDisplayOptions().charAt(6) == 'Y');
- }
-
- public String getComment() {
- return cr.getComment();
- }
-
- public DataSourceList getDataSourceList() {
- return cr.getDataSourceList();
- }
-
- public ChartAdditionalOptions getChartAdditionalOptions() {
- return cr.getChartAdditionalOptions();
- }
-
- public ChartDrillOptions getChartDrillOptions() {
- return cr.getChartDrillOptions();
- }
-
-
- public DataminingOptions getDataminingOptions() {
- return cr.getDataminingOptions();
- }
-
- public DashboardReports getDashBoardReports() {
- return cr.getDashBoardReports();
- }
-
-
- public DashboardReportsNew getDashBoardReportsNew() {
- try {
- if(cr.getDashBoardReportsNew()==null)
- addDashboardReportsNew(new ObjectFactory());
- } catch(RaptorException ex) {
- ex.printStackTrace();
- }
- return cr.getDashBoardReportsNew();
- }
-
- public String getDashboardLayoutHTML() {
- return cr.getDashboardLayoutHTML();
- }
-
- public FormFieldList getFormFieldList() {
- return cr.getFormFieldList();
- }
-
- public JavascriptList getJavascriptList() {
- return cr.getJavascriptList();
- }
-
- public SemaphoreList getSemaphoreList() {
- return cr.getSemaphoreList();
- }
-
- public void setPageSize(int value) {
- cr.setPageSize(value);
- }
-
- public void setAllowSchedule(String value) {
- cr.setAllowSchedule(value);
- }
-
- public void setMaxRowsInExcelDownload(int value) {
- cr.setMaxRowsInExcelDownload(value);
- }
-
- public void setReportInNewWindow (boolean value) {
- cr.setReportInNewWindow(value);
- }
-
- public void setDisplayFolderTree (boolean value) {
- cr.setDisplayFolderTree(value);
- }
-
- public void setReportType(String value) {
- cr.setReportType(value);
- }
-
- public void setReportName(String value) {
- cr.setReportName(value);
- }
-
- public void setDBInfo(String value) {
- if (!(cr.getDbInfo() != null && cr.getDbInfo().length() > 0))
- cr.setDbInfo(value);
- }
-
- public void setDBType(String value) {
- if (!(cr.getDbType() != null && cr.getDbType().length() > 0))
- cr.setDbType(value);
- }
-
- public void setReportDescr(String value) {
- cr.setReportDescr(value);
- }
-
- public void setChartType(String value) {
- cr.setChartType(value);
- }
-
- public void setChartMultiplePieOrder(String value) {
- cr.getChartAdditionalOptions().setChartMultiplePieOrder(value);
- }
-
- public void setChartMultiplePieLabelDisplay(String value) {
- cr.getChartAdditionalOptions().setChartMultiplePieLabelDisplay(value);
- }
-
- public void setChartOrientation(String value) {
- cr.getChartAdditionalOptions().setChartOrientation(value);
- }
-
- public void setSecondaryChartRenderer(String value) {
- cr.getChartAdditionalOptions().setSecondaryChartRenderer(value);
- }
-
- public void setOverlayItemValueOnStackBar(String value) {
- cr.getChartAdditionalOptions().setOverlayItemValueOnStackBar(value);
- }
-
- public void setIntervalFromdate(String value) {
- cr.getChartAdditionalOptions().setIntervalFromdate(value);
- }
-
- public void setIntervalLabel(String value) {
- cr.getChartAdditionalOptions().setIntervalLabel(value);
- }
-
- public void setIntervalTodate(String value) {
- cr.getChartAdditionalOptions().setIntervalTodate(value);
- }
-
- public void setLegendPosition(String value) {
- cr.getChartAdditionalOptions().setLegendPosition(value);
- }
-
- public void setLegendLabelAngle(String value) {
- cr.getChartAdditionalOptions().setLabelAngle(value);
- }
-
- public void setMaxLabelsInDomainAxis(String value) {
- if(nvl(value).length()<=0) value = "99";
- cr.getChartAdditionalOptions().setMaxLabelsInDomainAxis(value);
- }
-
- public void setLastSeriesALineChart(String value) {
- cr.getChartAdditionalOptions().setLastSeriesALineChart(value);
- }
-
- public void setLastSeriesABarChart(String value) {
- cr.getChartAdditionalOptions().setLastSeriesABarChart(value);
- }
-
- public void setChartDisplay(String value) {
- cr.getChartAdditionalOptions().setChartDisplay(value);
- }
-
- public void setChartAnimate(boolean animate) {
- if(cr.getChartAdditionalOptions()!=null)
- cr.getChartAdditionalOptions().setAnimate(animate);
- else {
- try {
- if(getChartAdditionalOptions()==null)
- addChartAdditionalOptions(new ObjectFactory());
- } catch(RaptorException ex) {
- ex.printStackTrace();
- }
- if(cr.getChartAdditionalOptions()!=null)
- cr.getChartAdditionalOptions().setAnimate(animate);
-
- }
-
- }
-
- public void addChartAdditionalOptions(ObjectFactory objFactory) throws RaptorException {
- ChartAdditionalOptions chartOptions = objFactory.createChartAdditionalOptions();
- cr.setChartAdditionalOptions(chartOptions);
- }
-
- public void addDashboardReportsNew(ObjectFactory objFactory) throws RaptorException {
- DashboardReportsNew dashboardReports = objFactory.createDashboardReportsNew();
- cr.setDashBoardReportsNew(dashboardReports);
- }
-
- public void addPDFAdditionalOptions(ObjectFactory objFactory) throws RaptorException {
- PDFAdditionalOptions pdfOptions = objFactory.createPDFAdditionalOptions();
- cr.setPdfAdditionalOptions(pdfOptions);
- }
-
- public void setChartTypeFixed(String value) {
- cr.setChartTypeFixed(value);
- }
-
- public void setChartLeftAxisLabel(String value) {
- cr.setChartLeftAxisLabel(value);
- }
-
- public void setChartRightAxisLabel(String value) {
- cr.setChartRightAxisLabel(value);
- }
-
- public void setChartWidth(String value) {
- cr.setChartWidth(value);
- }
-
- public void setChartHeight(String value) {
- cr.setChartHeight(value);
- }
-
- public void setChartMultiSeries(String value) {
- cr.setChartMultiSeries(value);
- }
-
- public void setPublic(boolean value) {
- cr.setPublic(value);
- if (reportSecurity != null)
- reportSecurity.setPublic(value);
- }
-
- // public void setCreateId(String value) { cr.setCreateId(value); }
- // public void setCreateDate(Calendar value) { cr.setCreateDate(value); }
- public void setReportSQL(String value) {
- cr.setReportSQL(value);
- }
-
- public void setReportTitle(String value) {
- cr.setReportTitle(value);
- }
-
- public void setReportSubTitle(String value) {
- cr.setReportSubTitle(value);
- }
-
- public void setReportHeader(String value) {
- cr.setReportHeader(value);
- }
-
- public void setReportFooter(String value) {
- cr.setReportFooter(value);
- }
-
- public void setNumFormCols(String value) {
- cr.setNumFormCols(value);
- }
-
- public void setNumDashCols(String value) {
- cr.setNumDashCols(value);
- }
-
- public void setDisplayOptions(String value) {
- cr.setDisplayOptions(value);
- }
-
- public void setDataContainerHeight(String value) {
- cr.setDataContainerHeight(value);
- }
-
- public void setDataContainerWidth(String value) {
- cr.setDataContainerWidth(value);
- }
-
- public void setDashboardOptions(String value) {
- cr.setDashboardOptions(value);
- }
-
- public void setComment(String value) {
- cr.setComment(value);
- }
-
- public void setDashboardType(boolean dashboardType) {
- cr.setDashboardType(dashboardType);
- }
-
- public void setDashboardLayoutHTML(String html) {
- cr.setDashboardLayoutHTML(html);
- }
-
- public void setDataSourceList(DataSourceList value) {
- cr.setDataSourceList(value);
- }
-
- public void setFormFieldList(FormFieldList value) {
- cr.setFormFieldList(value);
- }
-
- public void setDashBoardReports(DashboardReports value) {
- cr.setDashBoardReports(value);
- }
-
- public void setSemaphoreList(SemaphoreList value) {
- cr.setSemaphoreList(value);
- }
-
- public void setJavascriptList(JavascriptList value) {
- cr.setJavascriptList(value);
- }
-
- public void setJavascriptElement(String javascriptElement) {
- cr.setJavascriptElement(javascriptElement);
- }
-
- public void checkUserReadAccess(HttpServletRequest request) throws RaptorException {
- reportSecurity.checkUserReadAccess(request, null);
- }
- public void checkUserReadAccess(HttpServletRequest request, String userID) throws RaptorException {
- reportSecurity.checkUserReadAccess(request, userID);
- }
-
- public void checkUserWriteAccess(HttpServletRequest request) throws RaptorException {
- reportSecurity.checkUserWriteAccess(request);
- verifySQLBasedReportAccess(request);
- }
-
- public String getOwnerID() {
- return reportSecurity.getOwnerID();
- }
-
- public String getCreateID() {
- return reportSecurity.getCreateID();
- }
-
- public String getCreateDate() {
- return reportSecurity.getCreateDate();
- }
-
- public String getUpdateID() {
- return reportSecurity.getUpdateID();
- }
-
- public String getUpdateDate() {
- return reportSecurity.getUpdateDate();
- }
-
- public ReportSecurity getReportSecurity() {
- return reportSecurity;
- }
-
- /****Report Maps - Start****/
- public ReportMap getReportMap() {
- return cr.getReportMap();
- }
-
- public void setReportMap(ReportMap reportMap) {
- cr.setReportMap(reportMap);
- }
- /****Report Maps - End****/
-
- /****Report Chart Drilldown - Start****/
- public ChartDrillOptions getReportChartDrillOptions() {
- return cr.getChartDrillOptions();
- }
-
- public void setReportChartDrillOptions(ChartDrillOptions chartDrillOptions) {
- cr.setChartDrillOptions(chartDrillOptions);
- }
- /****Report Maps - End****/
-
-
- /** ************************************************************************************************* */
-
- public String getFormHelpText() {
- String formHelpText = nvl(getComment());
-
- if (formHelpText.indexOf('|') >= 0)
- formHelpText = formHelpText.substring(formHelpText.lastIndexOf('|') + 1);
-
- return formHelpText;
- } // getFormHelpText
-
- public void setFormHelpText(String formHelpText) {
- String comment = nvl(getComment());
-
- if (comment.indexOf('|') >= 0)
- comment = comment.substring(0, comment.lastIndexOf('|'));
- if (comment.length() > 0)
- comment += '|';
-
- setComment(comment + formHelpText);
- } // setFormHelpText
-
- public boolean isRuntimeColSortDisabled() {
- String comment = nvl(getComment());
-
- if (comment.indexOf('|') < 0)
- return false;
-
- return comment.substring(0, comment.indexOf('|')).equals("Y");
- } // isRuntimeColSortDisabled
-
- public void setRuntimeColSortDisabled(boolean value) {
- String comment = nvl(getComment());
-
- if (comment.indexOf('|') >= 0)
- comment = comment.substring(comment.indexOf('|') + 1);
-
- setComment((value ? "Y" : "N") + "|" + comment);
- } // setRuntimeColSortDisabled
-
- /** ************************************************************************************************* */
-
- protected void verifySQLBasedReportAccess(HttpServletRequest request) throws RaptorException {
- String userID = AppUtils.getUserID(request);
- if (getReportDefType().equals(AppConstants.RD_SQL_BASED)
- && (!Globals.getAllowSQLBasedReports()) && (!AppUtils.isAdminUser(request)))
- throw new org.openecomp.portalsdk.analytics.error.UserAccessException(reportID, "[" + userID + "] "
- + AppUtils.getUserName(request), AppConstants.UA_WRITE);
- } // verifySQLBasedReportAccess
-
- /** ************************************************************************************************* */
-
- private String getColumnNameById(String colId) throws RaptorException {
- DataColumnType dc = getColumnById(colId);
- return (dc == null) ? "NULL" : dc.getColName();
- } // getColumnNameById
-
- // Checks if drill-down URL points to individual record display (return
- // true) or another report (return false)
- private boolean isViewAction(String value) throws RaptorException {
- try {
- Vector viewActions = org.openecomp.portalsdk.analytics.model.DataCache.getDataViewActions();
-
- for (int i = 0; i < viewActions.size(); i++)
- if (value.equals(AppUtils.getBaseActionURL() + ((String) viewActions.get(i))))
- return true;
- } catch (Exception e) {
- throw new RaptorRuntimeException("ReportWrapper.isViewAction Exception: "
- + e.getMessage());
- }
-
- return false;
- } // isViewAction
-
- public String getSelectExpr(DataColumnType dct) {
- // String colName =
- // dct.isCalculated()?dct.getColName():((nvl(dct.getTableId()).length()>0)?(dct.getTableId()+"."+dct.getColName()):dct.getColName());
- return getSelectExpr(dct, dct.getColName() /* colName */);
- } // getSelectExpr
-
- /*private String getSelectExpr(DataColumnType dct, String colName) {
- String colType = dct.getColType();
- if (colType.equals(AppConstants.CT_CHAR)
- || ((nvl(dct.getColFormat()).length() == 0) && (!colType
- .equals(AppConstants.CT_DATE))))
- return colName;
- else
- return "TO_CHAR(" + colName + ", '"
- + nvl(dct.getColFormat(), AppConstants.DEFAULT_DATE_FORMAT) + "')";
- } // getSelectExpr
- */
-
- private String getSelectExpr(DataColumnType dct, String colName) {
- String colType = dct.getColType();
- if(colType.equals(AppConstants.CT_NUMBER)) {
- return colName;
- } else
- if (colType.equals(AppConstants.CT_CHAR)
- || ((nvl(dct.getColFormat()).length() == 0) && (!colType
- .equals(AppConstants.CT_DATE))))
- return colName;
-
- else
- return "TO_CHAR(" + colName + ", '"
- + nvl(dct.getColFormat(), AppConstants.DEFAULT_DATE_FORMAT) + "')";
- } // getSelectExpr
-
-
- /** ************************************************************************************************* */
-
- public DataSourceType getTableById(String tableId) {
- for (Iterator iter = getDataSourceList().getDataSource().iterator(); iter.hasNext();) {
- DataSourceType ds = (DataSourceType) iter.next();
- if (ds.getTableId().equals(tableId))
- return ds;
- } // for
-
- return null;
- } // getTableById
-
- public DataSourceType getTableByDBName(String tableName) {
- for (Iterator iter = getDataSourceList().getDataSource().iterator(); iter.hasNext();) {
- DataSourceType ds = (DataSourceType) iter.next();
- if (ds.getTableName().equals(tableName))
- return ds;
- } // for
-
- return null;
- } // getTableByDBName
-
- public DataSourceType getColumnTableById(String colId) {
- return getTableById(getColumnById(colId).getTableId());
- } // getColumnTableById
-
- public DataColumnType getColumnById(String colId) {
- List reportCols = getAllColumns();
- for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
- DataColumnType dc = (DataColumnType) iter.next();
- if (dc.getColId().toLowerCase().equals(colId.toLowerCase()))
- return dc;
- } // for
-
- return null;
- } // getColumnById
-
- public DataColumnType getChartLegendColumn() {
- List reportCols = getAllColumns();
- for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
- DataColumnType dc = (DataColumnType) iter.next();
- if (nvl(dc.getColOnChart()).equals(AppConstants.GC_LEGEND))
- return dc;
- } // for
- return null;
- } // getChartLegendColumn
-
- /*
- * public DataColumnType getChartValueColumn() { List reportCols =
- * getAllColumns(); for(Iterator iter=reportCols.iterator(); iter.hasNext(); ) {
- * DataColumnType dc = (DataColumnType) iter.next(); if(dc.getChartSeq()>0)
- * return dc; } // for
- *
- * return null; } // getChartValueColumn
- */
-
- public List getChartValueColumnsList( int filter, HashMap formValues) { /*filter; all=0;create without new chart =1; createNewChart=2 */
- List reportCols = getAllColumns();
-
- ArrayList chartValueCols = new ArrayList();
- int flag = 0;
- for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
- flag = 0;
- DataColumnType dc = (DataColumnType) iter.next();
-// if(filter == 2 || filter == 1) {
- flag = getDependsOnFormFieldFlag(dc, formValues);
-
- if( (dc.getChartSeq()!=null && dc.getChartSeq()> 0) && flag == 0 ) {
- if(!AppUtils.nvl(dc.getColOnChart()).equals(AppConstants.GC_LEGEND)) {
- if(nvl(dc.getChartGroup()).length()<=0) {
- if( filter == 2 && (dc.isCreateInNewChart()!=null && dc.isCreateInNewChart().booleanValue())) {
- chartValueCols.add(dc);
- } else if (filter == 1 && (dc.isCreateInNewChart()==null || !dc.isCreateInNewChart().booleanValue())) {
- chartValueCols.add(dc);
- }
- else if(filter == 0) chartValueCols.add(dc);
- } else chartValueCols.add(dc);
- }
- }
-// } else
-// chartValueCols.add(dc);
- } // for
- Collections.sort(chartValueCols, new ChartSeqComparator());
- return chartValueCols;
- } // getChartValueColumnsList
-
-
- /* public ListModelList<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 = "LIMIT "+ String.valueOf(startRow)+" , "+ String.valueOf(getPageSize());
- } else if(getDBType().equals(AppConstants.ORACLE)) {
- reportSQL = reportSQL.replace(" AS ", " ");
- partSql = "where rownum >= "+ String.valueOf(startRow)+" and rownum <= "+(Integer.parseInt(String.valueOf(startRow)) + Integer.parseInt(String.valueOf(getPageSize())));
- } else if(getDBType().equals(AppConstants.POSTGRESQL)) {
- partSql = "LIMIT "+ String.valueOf(getPageSize())+" , "+ String.valueOf(startRow);//limit [pageSize] offset [startRow]
- }
-
- // Limit only to MYSQL or MariaDB
- //if (reportSQL.toUpperCase().indexOf("ORDER BY ") < 0)
- //partSql += " ORDER BY 1";
- //else {
-
-
-
- /*if(!Globals.isMySQL())
- parta = parta.replace("[endRow]", String.valueOf(endRow));
- else
- parta = parta.replace("[startRow]", String.valueOf(startRow));
-
- //String partb = Globals.getReportSqlOnlySecondPartB();
- if(!Globals.isMySQL())
- partb = partb.replace("[startRow]", String.valueOf(startRow));
- else
- partb = partb.replace("[pageSize]", String.valueOf(getPageSize()));
-
- if( endRow != -1)
- reportSQL += parta;*/
- reportSQL += partSql;
-
- return reportSQL;
-
- } // generateSubsetSQL
-
- public String generateChartSQL(ReportParamValues paramValues, String userId, HttpServletRequest request ) throws RaptorException {
- List reportCols = getAllColumns();
- List chartValueCols = getChartValueColumnsList(AppConstants.CHART_ALL_COLUMNS, null); // parameter is 0 has this requires all columns.
- String reportSQL = generateSQL(userId, request);
- //if(nvl(reportSQL).length()>0) reportSQL = generatedChartSQL;
- logger.debug(EELFLoggerDelegate.debugLogger, ("SQL " + reportSQL));
- String legendCol = "1 a";
- // String valueCol = "1";
- StringBuffer groupCol = new StringBuffer();
- StringBuffer seriesCol = new StringBuffer();
- StringBuffer valueCols = new StringBuffer();
-
- for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
- DataColumnType dc = (DataColumnType) iter.next();
- String colName = getColumnSelectStr(dc, paramValues);
- if (nvl(dc.getColOnChart()).equals(AppConstants.GC_LEGEND))
- legendCol = getSelectExpr(dc, colName)+" " + dc.getColId();
- // if(dc.getChartSeq()>0)
- // valueCol = "NVL("+colName+", 0) "+dc.getColId();
- if ((!nvl(dc.getColOnChart()).equals(AppConstants.GC_LEGEND))
- && (dc.getChartSeq()==null || dc.getChartSeq() <= 0) && dc.isGroupBreak()) {
- groupCol.append(", ");
- groupCol.append(colName + " " + dc.getColId());
- }
- } // for
- for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
- DataColumnType dc = (DataColumnType) iter.next();
- if(dc.isChartSeries()!=null && dc.isChartSeries().booleanValue()) {
- //System.out.println("*****************, "+ " " +getColumnSelectStr(dc, paramValues)+ " "+ getSelectExpr(dc,getColumnSelectStr(dc, paramValues)));
- seriesCol.append(", "+ getSelectExpr(dc,getColumnSelectStr(dc, paramValues))+ " " + dc.getColId());
- }
- }
-
- /*for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
- DataColumnType dc = (DataColumnType) iter.next();
- if(!dc.isChartSeries() && !(nvl(dc.getColOnChart()).equals(AppConstants.GC_LEGEND))) {
- //System.out.println("*****************, "+ " " +getColumnSelectStr(dc, paramValues)+ " "+ getSelectExpr(dc,getColumnSelectStr(dc, paramValues)));
- seriesCol.append(", "+ formatChartColumn(getSelectExpr(dc,getColumnSelectStr(dc, paramValues)))+ " " + dc.getColId());
- }
- }*/
-
- for (Iterator iter = chartValueCols.iterator(); iter.hasNext();) {
- DataColumnType dc = (DataColumnType) iter.next();
- String colName = getColumnSelectStr(dc, paramValues);
- //valueCols.append(", NVL(" + formatChartColumn(colName) + ",0) " + dc.getColId());
- seriesCol.append("," + formatChartColumn(colName) + " " + dc.getColId());
- } // for
-
- for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
- DataColumnType dc = (DataColumnType) iter.next();
- String colName = getColumnSelectStr(dc, paramValues);
- if(colName.equals(AppConstants.RI_CHART_TOTAL_COL))
- seriesCol.append(", " + AppConstants.RI_CHART_TOTAL_COL + " " + AppConstants.RI_CHART_TOTAL_COL );
- if (colName.equals(AppConstants.RI_CHART_COLOR))
- seriesCol.append(", " + AppConstants.RI_CHART_COLOR + " " + AppConstants.RI_CHART_COLOR );
- if(colName.equals(AppConstants.RI_CHART_MARKER_START))
- seriesCol.append(", " + AppConstants.RI_CHART_MARKER_START + " " + AppConstants.RI_CHART_MARKER_START );
- if(colName.equals(AppConstants.RI_CHART_MARKER_END))
- seriesCol.append(", " + AppConstants.RI_CHART_MARKER_END + " " + AppConstants.RI_CHART_MARKER_END );
- if(colName.equals(AppConstants.RI_CHART_MARKER_TEXT_LEFT))
- seriesCol.append(", " + AppConstants.RI_CHART_MARKER_TEXT_LEFT + " " + AppConstants.RI_CHART_MARKER_TEXT_LEFT );
- if(colName.equals(AppConstants.RI_CHART_MARKER_TEXT_RIGHT))
- seriesCol.append(", " + AppConstants.RI_CHART_MARKER_TEXT_RIGHT + " " + AppConstants.RI_CHART_MARKER_TEXT_RIGHT );
- if(colName.equals(AppConstants.RI_ANOMALY_TEXT))
- seriesCol.append(", " + AppConstants.RI_ANOMALY_TEXT + " " + AppConstants.RI_ANOMALY_TEXT );
- }
-
- //debugLogger.debug("ReportSQL Chart " + reportSQL );
- /*for (Iterator iter = chartValueCols.iterator(); iter.hasNext();) {
- DataColumnType dc = (DataColumnType) iter.next();
- String colName = getColumnSelectStr(dc, paramValues);
- //valueCols.append(", NVL(" + formatChartColumn(colName) + ",0) " + dc.getColId());
- valueCols.append("," + formatChartColumn(colName) + " " + dc.getColId());
- } // for
- for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
- DataColumnType dc = (DataColumnType) iter.next();
- String colName = getColumnSelectStr(dc, paramValues);
- //if(colName.equals(AppConstants.RI_CHART_TOTAL_COL) || colName.equals(AppConstants.RI_CHART_COLOR)) {
- if(colName.equals(AppConstants.RI_CHART_TOTAL_COL))
- valueCols.append(", " + AppConstants.RI_CHART_TOTAL_COL + " " + AppConstants.RI_CHART_TOTAL_COL );
- if (colName.equals(AppConstants.RI_CHART_COLOR))
- valueCols.append(", " + AppConstants.RI_CHART_COLOR + " " + AppConstants.RI_CHART_COLOR );
- if (colName.equals(AppConstants.RI_CHART_INCLUDE))
- valueCols.append(", " + AppConstants.RI_CHART_INCLUDE + " " + AppConstants.RI_CHART_INCLUDE );
- //}
- }*/
- String final_sql = "";
- reportSQL = Utils.replaceInString(reportSQL, " from ", " FROM ");
- reportSQL = Utils.replaceInString(reportSQL, " select ", " SELECT ");
- reportSQL = Utils.replaceInString(reportSQL, " union ", " UNION ");
- //reportSQL = reportSQL.replaceAll("[\\s]*\\(", "(");
-// if(reportSQL.indexOf("UNION") != -1) {
-// if(reportSQL.indexOf("FROM(")!=-1)
-// final_sql += " "+reportSQL.substring(reportSQL.indexOf("FROM(") );
-// else if (reportSQL.indexOf("FROM (")!=-1)
-// final_sql += " "+reportSQL.substring(reportSQL.indexOf("FROM (") );
-// //TODO ELSE THROW ERROR
-// }
-// else {
-// final_sql += " "+reportSQL.substring(reportSQL.toUpperCase().indexOf(" FROM "));
-// }
- int pos = 0;
- int pos_first_select = 0;
- int pos_dup_select = 0;
- int pos_prev_select = 0;
- int pos_last_select = 0;
- if (reportSQL.indexOf("FROM", pos)!=-1) {
- pos = reportSQL.indexOf("FROM", pos);
- pos_dup_select = reportSQL.lastIndexOf("SELECT",pos);
- pos_first_select = reportSQL.indexOf("SELECT");//,pos);
- logger.debug(EELFLoggerDelegate.debugLogger, ("pos_select " + pos_first_select + " " + pos_dup_select));
- if(pos_dup_select > pos_first_select) {
- logger.debug(EELFLoggerDelegate.debugLogger, ("********pos_dup_select ********" + pos_dup_select));
- //pos_dup_select1 = pos_dup_select;
- pos_prev_select = pos_first_select;
- pos_last_select = pos_dup_select;
- while (pos_last_select > pos_prev_select) {
- logger.debug(EELFLoggerDelegate.debugLogger, ("pos_last , pos_prev " + pos_last_select + " " + pos_prev_select));
- pos = reportSQL.indexOf("FROM", pos+2);
- pos_prev_select = pos_last_select;
- pos_last_select = reportSQL.lastIndexOf("SELECT",pos);
- logger.debug(EELFLoggerDelegate.debugLogger, ("in WHILE LOOP LAST " + pos_last_select));
- }
- }
-
- }
- final_sql += " "+reportSQL.substring(pos);
- logger.debug(EELFLoggerDelegate.debugLogger, ("Final SQL " + final_sql));
- String sql = "SELECT " + legendCol + ", " + legendCol+"_1" + seriesCol.toString()+ nvl(valueCols.toString(), ", 1")
- + groupCol.toString()
- + final_sql;
- logger.debug(EELFLoggerDelegate.debugLogger, ("Final sql in generateChartSQL " +sql));
-
- return sql;
- } // generateChartSQL
-
- private String formatChartColumn(String colName) {
-
- logger.debug(EELFLoggerDelegate.debugLogger, ("Format Chart Column Input colName" + colName));
- colName = colName.trim();
- colName = Utils.replaceInString(colName, "TO_CHAR", "to_char");
- colName = Utils.replaceInString(colName, "to_number", "TO_NUMBER");
- //reportSQL = reportSQL.replaceAll("[\\s]*\\(", "(");
- colName = colName.replaceAll(",[\\s]*\\(", ",(");
- StringBuffer colNameBuf = new StringBuffer(colName);
- int pos = 0, posFormatStart = 0, posFormatEnd = 0;
- String format = "";
- if(colNameBuf.indexOf("999")==-1 && colNameBuf.indexOf("990")==-1) {
- logger.debug(EELFLoggerDelegate.debugLogger, (" return colName " + colNameBuf.toString()));
- return colNameBuf.toString();
- }
- while (colNameBuf.indexOf("to_char")!=-1) {
- if(colNameBuf.indexOf("999")!=-1 || colNameBuf.indexOf("990")!=-1) {
- pos = colNameBuf.indexOf("to_char");
- colNameBuf.insert(pos, " TO_NUMBER ( CR_RAPTOR.SAFE_TO_NUMBER (");
- pos = colNameBuf.indexOf("to_char");
- colNameBuf.replace(pos, pos+7, "TO_CHAR");
- //colName = Utils.replaceInString(colNameBuf.toString(), "to_char", " TO_NUMBER ( CR_RAPTOR.SAFE_TO_NUMBER ( TO_CHAR ");
- logger.debug(EELFLoggerDelegate.debugLogger, ("After adding to_number " + colNameBuf.toString()));
- //posFormatStart = colNameBuf.lastIndexOf(",'")+1;
- posFormatStart = colNameBuf.indexOf(",'", pos)+1;
- posFormatEnd = colNameBuf.indexOf(")",posFormatStart);
- logger.debug(EELFLoggerDelegate.debugLogger, (posFormatStart + " " + posFormatEnd + " "+ pos));
- format = colNameBuf.substring(posFormatStart, posFormatEnd);
- //posFormatEnd = colNameBuf.indexOf(")",posFormatEnd);
- colNameBuf.insert(posFormatEnd+1, " ," + format + ") , "+ format + ")");
- logger.debug(EELFLoggerDelegate.debugLogger, ("colNameBuf " + colNameBuf.toString()));
- }
- }
- logger.debug(EELFLoggerDelegate.debugLogger, (" return colName " + colNameBuf.toString()));
- return colNameBuf.toString();
- }
- public String generateTotalSQLLinear(ReportParamValues paramValues, String userId, HttpServletRequest request) throws RaptorException {
- List reportCols = getAllColumns();
- String reportSQL = generateSQL(userId,request);
- //debugLogger.debug("After GenerateSQL " + reportSQL);
-
- StringBuffer sbSelect = new StringBuffer();
- StringBuffer sbTotal = new StringBuffer();
- StringBuffer colNames = new StringBuffer();
- for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
-
- DataColumnType dc = (DataColumnType) iter.next();
- if (colNames.length() > 0)
- colNames.append(", ");
- colNames.append(dc.getColId());
- }
- for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
- DataColumnType dct = (DataColumnType) iter.next();
-
- //if (!dct.isVisible())
- // continue;
-
- String colName = getColumnSelectStr(dct, paramValues);
-
- sbSelect.append((sbSelect.length() == 0) ? "SELECT " : ", ");
-
- sbSelect.append(colName);
- sbSelect.append(" ");
- sbSelect.append(dct.getColId());
-
-
- sbTotal.append((sbTotal.length() == 0) ? "SELECT " : ", ");
- if (nvl(dct.getDisplayTotal()).length() > 0) {
- // sbTotal.append(getSelectExpr(dct,
- // dct.getDisplayTotal()+dct.getColId()+")"));
- String displayTotal = dct.getDisplayTotal();
- StringBuffer sb = new StringBuffer();
- for (int i = 0; i < displayTotal.length(); i++) {
- char ch = displayTotal.charAt(i);
- if (ch == '+' || ch == '-')
- sb.append(dct.getColId() + ")");
- sb.append(ch);
- } // for
- sb.append(dct.getColId() + ")");
-
- //debugLogger.debug("SB " + sb.toString() + "\n " + getSelectExpr(dct, sb.toString()));
- sbTotal.append(getSelectExpr(dct, sb.toString()));
- //debugLogger.debug("SBTOTAL " + sbTotal.toString());
- } else
- sbTotal.append("NULL");
- sbTotal.append(" total_");
- sbTotal.append(dct.getColId());
- } // for
-
- //debugLogger.debug(" ****** " + sbTotal.toString());
- logger.debug(EELFLoggerDelegate.debugLogger, ("REPORTWRAPPER " + reportSQL));
- int pos = 0;
- int pos_first_select = 0;
- int pos_dup_select = 0;
- int pos_prev_select = 0;
- int pos_last_select = 0;
-
- //reportSQL = Utils.replaceInString(reportSQL, " from ", " FROM ");
- //reportSQL = Utils.replaceInString(reportSQL, "select ", "SELECT ");
- reportSQL = replaceNewLine(reportSQL, " from ", " FROM ");
- reportSQL = replaceNewLine(reportSQL, "from ", " FROM ");
- reportSQL = replaceNewLine(reportSQL, "FROM ", " FROM ");
-
- reportSQL = " "+reportSQL;
- reportSQL = replaceNewLine(reportSQL, "select ", " SELECT ");
- reportSQL = replaceNewLine(reportSQL, "SELECT ", " SELECT ");
- if (reportSQL.indexOf("FROM", pos)!=-1) {
- pos = reportSQL.indexOf("FROM", pos);
- pos_dup_select = reportSQL.lastIndexOf("SELECT",pos);
- pos_first_select = reportSQL.indexOf("SELECT");//,pos);
- logger.debug(EELFLoggerDelegate.debugLogger, ("pos_select " + pos_first_select + " " + pos_dup_select));
- if(pos_dup_select > pos_first_select) {
- logger.debug(EELFLoggerDelegate.debugLogger, ("********pos_dup_select ********" + pos_dup_select));
- //pos_dup_select1 = pos_dup_select;
- pos_prev_select = pos_first_select;
- pos_last_select = pos_dup_select;
- while (pos_last_select > pos_prev_select) {
- logger.debug(EELFLoggerDelegate.debugLogger, ("pos_last , pos_prev " + pos_last_select + " " + pos_prev_select));
- pos = reportSQL.indexOf("FROM", pos+2);
- pos_prev_select = pos_last_select;
- pos_last_select = reportSQL.lastIndexOf("SELECT",pos);
- logger.debug(EELFLoggerDelegate.debugLogger, ("in WHILE LOOP LAST " + pos_last_select));
- }
- }
-
- }
-
-
- //sbSelect.append(reportSQL.substring(reportSQL.toUpperCase().indexOf(" FROM ")));
-
- logger.debug(EELFLoggerDelegate.debugLogger, (" *************** " + pos + " " + reportSQL));
- //sbSelect.append(" "+ reportSQL.substring(pos));
- sbSelect.append(" "+reportSQL.substring(pos));
- logger.debug(EELFLoggerDelegate.debugLogger, (" **************** " + sbSelect.toString()));
- sbTotal.append(" FROM (");
- sbTotal.append(sbSelect.toString());
- sbTotal.append(") totalSQL");
-
- String dbType = "";
- String dbInfo = getDBInfo();
- if (!isNull(dbInfo) && (!dbInfo.equals(AppConstants.DB_LOCAL))) {
- try {
- org.openecomp.portalsdk.analytics.util.RemDbInfo remDbInfo = new org.openecomp.portalsdk.analytics.util.RemDbInfo();
- dbType = remDbInfo.getDBType(dbInfo);
- } catch (Exception ex) {
- throw new RaptorException(ex);
- }
- }
- if (dbType.equals("DAYTONA")) {
- sbTotal.append("("+ colNames+ ")");
- }
- String sql = sbTotal.toString();
- sql = Utils.replaceInString(sql, " from ", " FROM ");
- sql = Utils.replaceInString(sql, "select ", "SELECT ");
- //sql = Utils.replaceInString(sql, " select ", " SELECT ");
- logger.debug(EELFLoggerDelegate.debugLogger, ("Before SQL Corrector " + sql));
- String corrected_SQL = new SQLCorrector().fixSQL(new StringBuffer(sql));
- logger.debug(EELFLoggerDelegate.debugLogger, ("************"));
- logger.debug(EELFLoggerDelegate.debugLogger, ("Corrected SQL " + corrected_SQL));
- return corrected_SQL;
- //return sbTotal.toString();
- } // generateTotalSQLLinear
-
- public String generateTotalSQLCrossTab(String sql, String rowColPos,
- String userId, HttpServletRequest request, ReportParamValues paramValues) throws RaptorException {
- List reportCols = getAllColumns();
- String reportSQL = sql;
-
- StringBuffer sbSelect = new StringBuffer();
- StringBuffer sbGroup = new StringBuffer();
- // StringBuffer sbOrder = new StringBuffer();
- StringBuffer sbTotal = new StringBuffer();
- StringBuffer colNames = new StringBuffer();
- for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
-
- DataColumnType dc = (DataColumnType) iter.next();
- if (colNames.length() > 0)
- colNames.append(", ");
- colNames.append(dc.getColId());
- }
- for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
- DataColumnType dct = (DataColumnType) iter.next();
-
- if (!dct.isVisible())
- continue;
-
-
- String colName = getColumnSelectStr(dct, paramValues);
- String colExpr = getSelectExpr(dct, colName);
-
- sbSelect.append((sbSelect.length() == 0) ? "SELECT " : ", ");
-
- if (nvl(dct.getCrossTabValue()).equals(rowColPos)) {
- //sbSelect.append(colExpr);
- sbSelect.append(dct.getColId());
- sbGroup.append((sbGroup.length() == 0) ? " GROUP BY " : ", ");
- sbGroup.append(dct.getColId());
-
- /*
- * sbOrder.append((sbOrder.length()==0)?" ORDER BY ":", ");
- * sbOrder.append(dct.getColId());
- * if(dct.getColType().equals(AppConstants.CT_DATE))
- * sbOrder.append(" DESC");
- */
-
- sbTotal.append((sbTotal.length() == 0) ? "SELECT " : ", ");
- sbTotal.append(dct.getColId());
- } else if (nvl(dct.getCrossTabValue()).equals(AppConstants.CV_VALUE)) {
- //sbSelect.append(colName);
- sbSelect.append(dct.getColId());
-
- String displayTotal = getCrossTabDisplayTotal(rowColPos);
- if (displayTotal.length() > 0) {
- // displayTotal += dct.getColId()+")";
- StringBuffer sb = new StringBuffer();
- for (int i = 0; i < displayTotal.length(); i++) {
- char ch = displayTotal.charAt(i);
- if (ch == '+' || ch == '-')
- sb.append(dct.getColId() + ")");
- sb.append(ch);
- } // for
- sb.append(dct.getColId() + ")");
-
- displayTotal = sb.toString();
- } else
- displayTotal = "COUNT(*)";
-
- sbTotal.append((sbTotal.length() == 0) ? "SELECT " : ", ");
- sbTotal.append(getSelectExpr(dct, displayTotal));
- sbTotal.append(" total_");
- sbTotal.append(dct.getColId());
- } else {
- //sbSelect.append(colExpr);
- sbSelect.append(dct.getColId());
- } // if
-
- sbSelect.append(" ");
- sbSelect.append(dct.getColId());
- } // for
-
- sbSelect.append(reportSQL.substring(reportSQL.toUpperCase().indexOf(" FROM ")));
-
- sbTotal.append(" FROM (");
- sbTotal.append(sbSelect.toString());
- sbTotal.append(") totalSQL");
- sbTotal.append(sbGroup.toString());
- String dbType = "";
- String dbInfo = getDBInfo();
- if (!isNull(dbInfo) && (!dbInfo.equals(AppConstants.DB_LOCAL))) {
- try {
- org.openecomp.portalsdk.analytics.util.RemDbInfo remDbInfo = new org.openecomp.portalsdk.analytics.util.RemDbInfo();
- dbType = remDbInfo.getDBType(dbInfo);
- } catch (Exception ex) {
- throw new RaptorException(ex);
- }
- }
- if (dbType.equals("DAYTONA")) {
- sbTotal.append("("+ colNames+ ")");
- }
-
- // sbTotal.append(sbOrder.toString());
-
- //debugLogger.debug(getReportDefType() + " " + AppConstants.RD_SQL_BASED);
- //debugLogger.debug("SQL To Delete " + sbTotal.toString());
- sql = "";
- if (getReportDefType().equals(AppConstants.RD_SQL_BASED)) {
- sql = Utils.replaceInString(sbTotal.toString(), " from ", " FROM ");
- sql = Utils.replaceInString(sql, "select ", "SELECT ");
- return new SQLCorrector().fixSQL(new StringBuffer(sql));
- }
-
- return sbTotal.toString();
-
- } // generateTotalSQLCrossTab
-
-
- public String generateTotalSQLCrossTab(ReportParamValues paramValues, String rowColPos,
- String userId, HttpServletRequest request) throws RaptorException {
- List reportCols = getAllColumns();
- String reportSQL = generateSQL(userId, request);
-
- StringBuffer sbSelect = new StringBuffer();
- StringBuffer sbGroup = new StringBuffer();
- // StringBuffer sbOrder = new StringBuffer();
- StringBuffer sbTotal = new StringBuffer();
- StringBuffer colNames = new StringBuffer();
- for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
-
- DataColumnType dc = (DataColumnType) iter.next();
- if (colNames.length() > 0)
- colNames.append(", ");
- colNames.append(dc.getColId());
- }
- for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
- DataColumnType dct = (DataColumnType) iter.next();
-
- if (!dct.isVisible())
- continue;
-
- String colName = getColumnSelectStr(dct, paramValues);
- String colExpr = getSelectExpr(dct, colName);
-
- sbSelect.append((sbSelect.length() == 0) ? "SELECT " : ", ");
-
- if (nvl(dct.getCrossTabValue()).equals(rowColPos)) {
- sbSelect.append(colExpr);
-
- sbGroup.append((sbGroup.length() == 0) ? " GROUP BY " : ", ");
- sbGroup.append(dct.getColId());
-
- /*
- * sbOrder.append((sbOrder.length()==0)?" ORDER BY ":", ");
- * sbOrder.append(dct.getColId());
- * if(dct.getColType().equals(AppConstants.CT_DATE))
- * sbOrder.append(" DESC");
- */
-
- sbTotal.append((sbTotal.length() == 0) ? "SELECT " : ", ");
- sbTotal.append(dct.getColId());
- } else if (nvl(dct.getCrossTabValue()).equals(AppConstants.CV_VALUE)) {
- sbSelect.append(colName);
-
- String displayTotal = getCrossTabDisplayTotal(rowColPos);
- if (displayTotal.length() > 0) {
- // displayTotal += dct.getColId()+")";
- StringBuffer sb = new StringBuffer();
- for (int i = 0; i < displayTotal.length(); i++) {
- char ch = displayTotal.charAt(i);
- if (ch == '+' || ch == '-')
- sb.append(dct.getColId() + ")");
- sb.append(ch);
- } // for
- sb.append(dct.getColId() + ")");
-
- displayTotal = sb.toString();
- } else
- displayTotal = "COUNT(*)";
-
- sbTotal.append((sbTotal.length() == 0) ? "SELECT " : ", ");
- sbTotal.append(getSelectExpr(dct, displayTotal));
- sbTotal.append(" total_");
- sbTotal.append(dct.getColId());
- } else {
- sbSelect.append(colExpr);
- } // if
-
- sbSelect.append(" ");
- sbSelect.append(dct.getColId());
- } // for
-
- sbSelect.append(reportSQL.substring(reportSQL.toUpperCase().indexOf(" FROM ")));
-
- sbTotal.append(" FROM (");
- sbTotal.append(sbSelect.toString());
- sbTotal.append(") totalSQL");
- sbTotal.append(sbGroup.toString());
- String dbType = "";
- String dbInfo = getDBInfo();
- if (!isNull(dbInfo) && (!dbInfo.equals(AppConstants.DB_LOCAL))) {
- try {
- org.openecomp.portalsdk.analytics.util.RemDbInfo remDbInfo = new org.openecomp.portalsdk.analytics.util.RemDbInfo();
- dbType = remDbInfo.getDBType(dbInfo);
- } catch (Exception ex) {
- throw new RaptorException(ex);
- }
- }
- if (dbType.equals("DAYTONA")) {
- sbTotal.append("("+ colNames+ ")");
- }
-
- // sbTotal.append(sbOrder.toString());
-
- //debugLogger.debug(getReportDefType() + " " + AppConstants.RD_SQL_BASED);
- //debugLogger.debug("SQL To Delete " + sbTotal.toString());
- String sql = "";
- if (getReportDefType().equals(AppConstants.RD_SQL_BASED)) {
- sql = Utils.replaceInString(sbTotal.toString(), " from ", " FROM ");
- sql = Utils.replaceInString(sql, "select ", "SELECT ");
- return new SQLCorrector().fixSQL(new StringBuffer(sql));
- }
-
- return sbTotal.toString();
-
- } // generateTotalSQLCrossTab
-
- public String generateDistinctValuesSQL(ReportParamValues paramValues, DataColumnType dct,
- String userId, HttpServletRequest request) throws RaptorException {
- DataSourceType dst = getColumnTableById(dct.getColId());
- String colName = getColumnSelectStr(dct, paramValues);
- String colExpr = getSelectExpr(dct, colName);
- ReportRuntime rr = (ReportRuntime) request.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME);
- StringBuffer sb = new StringBuffer();
- sb.append("SELECT DISTINCT ");
- if (getReportDefType().equals(AppConstants.RD_SQL_BASED)) {
- sb.append(dct.getColId());
- sb.append(" FROM (");
- //paramvalues added below to filter distinct values based on formfields.
- //sb.append(generateSQL(paramValues, userId, request));
- sb.append(rr.getWholeSQL());
- sb.append(") " + (Globals.isPostgreSQL() || Globals.isMySQL() ?" AS ":"") + " report_sql ORDER BY 1");
- } else {
- sb.append(colExpr);
- sb.append(" ");
- sb.append(dct.getColId());
- if (!colExpr.equals(colName)) {
- sb.append(", ");
- sb.append(colName);
- } // if
- sb.append(" FROM ");
- sb.append(dst.getTableName());
- sb.append(" ");
- sb.append(dst.getTableId());
- sb.append(" ORDER BY ");
- sb.append(colName);
- if (dct.getColType().equals(AppConstants.CT_DATE))
- sb.append(" DESC");
- } // else
-
- return sb.toString();
- } // generateDistinctValuesSQL
-
- /** ************************************************************************************************* */
-
- public DataSourceType getTableWithoutColumns() {
- List dsList = getDataSourceList().getDataSource();
- for (Iterator iter = dsList.iterator(); iter.hasNext();) {
- DataSourceType ds = (DataSourceType) iter.next();
-
- if (ds.getDataColumnList().getDataColumn().size() == 0)
- return ds;
- } // for
-
- return null;
- } // getTableWithoutColumns
-
- public CustomReportType cloneCustomReportClearTables() throws RaptorException {
- ReportWrapper nrw = new ReportWrapper(cloneCustomReport(), reportID, getOwnerID(),
- getCreateID(), getCreateDate(), getUpdateID(), getUpdateDate(), getMenuID(),
- isMenuApproved());
-
- DataSourceType ndst = null;
- while ((ndst = nrw.getTableWithoutColumns()) != null)
- nrw.deleteDataSourceType(ndst.getTableId());
-
- return nrw.getCustomReport();
- } // cloneCustomReportClearTables
-
- public String marshal() throws RaptorException {
- StringWriter sw = new StringWriter();
- ObjectFactory objFactory = new ObjectFactory();
-
- try {
- JAXBContext jc = JAXBContext.newInstance("org.openecomp.portalsdk.analytics.xmlobj");
- Marshaller m = jc.createMarshaller();
- m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
- //JAXBElement jaxbElement = new JAXBElement(new QName("customReport"), Object.class, "");
- //m.marshal( System.out );
- //m.marshal(jaxbElement, new StreamResult(sw));
- m.marshal((getTableWithoutColumns() == null) ? objFactory.createCustomReport(cr) : objFactory.createCustomReport(cloneCustomReportClearTables()),
- new StreamResult(sw));
- } catch (JAXBException ex) {
- throw new RaptorException (ex.getMessage(), ex.getCause());
- }
- return sw.toString();
- } // marshal
-
- public static CustomReportType unmarshalCR(String reportXML) throws RaptorException {
- //CustomReport cr = null;
- try {
- JAXBContext jc = JAXBContext.newInstance("org.openecomp.portalsdk.analytics.xmlobj");
- Unmarshaller u = jc.createUnmarshaller();
- javax.xml.bind.JAXBElement<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
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/DBColumnInfo.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/DBColumnInfo.java
deleted file mode 100644
index 4496fdca..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/DBColumnInfo.java
+++ /dev/null
@@ -1,76 +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.definition;
-
-import org.openecomp.portalsdk.analytics.RaptorObject;
-
-public class DBColumnInfo extends RaptorObject {
- private String tableName = null;
-
- private String colName = null;
-
- private String colType = null;
-
- private String label = null;
-
- // public DBColumnInfo() {}
-
- public DBColumnInfo(String tableName, String colName, String colType, String label) {
- super();
-
- setTableName(tableName);
- setColName(colName);
- setColType(colType);
- setLabel(label);
- } // DBColumnInfo
-
- public String getTableName() {
- return tableName;
- }
-
- public String getColName() {
- return colName;
- }
-
- public String getColType() {
- return colType;
- }
-
- public String getLabel() {
- return label;
- }
-
- private void setTableName(String tableName) {
- this.tableName = tableName;
- }
-
- private void setColName(String colName) {
- this.colName = colName;
- }
-
- private void setColType(String colType) {
- this.colType = colType;
- }
-
- public void setLabel(String label) {
- this.label = label;
- }
-
-} // DBColumnInfo
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/DrillDownParamDef.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/DrillDownParamDef.java
deleted file mode 100644
index 8972e54a..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/DrillDownParamDef.java
+++ /dev/null
@@ -1,111 +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.definition;
-
-import org.openecomp.portalsdk.analytics.RaptorObject;
-
-public class DrillDownParamDef extends RaptorObject {
- private String fieldName = "";
-
- private String valType = "0";
-
- private String valValue = "";
-
- private String valColId = "";
-
- private String valFieldId = "";
-
- public DrillDownParamDef(String drillDownParamStr) {
- super();
-
- drillDownParamStr = nvl(drillDownParamStr).trim();
- if (drillDownParamStr.indexOf('=') >= 0) {
- fieldName = drillDownParamStr.substring(0, drillDownParamStr.indexOf('='));
-
- if (drillDownParamStr.length() > drillDownParamStr.indexOf('=') + 2
- && drillDownParamStr.charAt(drillDownParamStr.indexOf('=') + 1) == '['
- && drillDownParamStr.charAt(drillDownParamStr.length() - 1) == ']') {
- drillDownParamStr = drillDownParamStr.substring(
- drillDownParamStr.indexOf('=') + 2, drillDownParamStr.length() - 1);
-
- if (drillDownParamStr.indexOf('!') < 0)
- valColId = drillDownParamStr;
- else if (drillDownParamStr.indexOf('!') == 0)
- valFieldId = drillDownParamStr.substring(1);
- else {
- valColId = drillDownParamStr.substring(0, drillDownParamStr.indexOf('!'));
- valFieldId = drillDownParamStr
- .substring(drillDownParamStr.indexOf('!') + 1);
- } // else
-
- if (valColId.length() > 0 && valFieldId.length() > 0)
- valType = "4";
- else if (valFieldId.length() > 0)
- valType = "3";
- else if (valColId.length() > 0)
- valType = "2";
- } else {
- valType = "1";
- valValue = drillDownParamStr.substring(drillDownParamStr.indexOf('=') + 1);
- } // else
- } // if
- } // DrillDownParamDef
-
- public String getFieldName() {
- return fieldName;
- }
-
- public String getValType() {
- return valType;
- }
-
- public String getValValue() {
- return valValue;
- }
-
- public String getValColId() {
- return valColId;
- }
-
- public String getValFieldId() {
- return valFieldId;
- }
-
- private void setFieldName(String fieldName) {
- this.fieldName = fieldName;
- }
-
- private void setValType(String valType) {
- this.valType = valType;
- }
-
- private void setValValue(String valValue) {
- this.valValue = valValue;
- }
-
- private void setValColId(String valColId) {
- this.valColId = valColId;
- }
-
- private void setValFieldId(String valFieldId) {
- this.valFieldId = valFieldId;
- }
-
-} // DrillDownParamDef
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/Marker.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/Marker.java
deleted file mode 100644
index a9d9be85..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/Marker.java
+++ /dev/null
@@ -1,79 +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.definition;
-
-import org.openecomp.portalsdk.analytics.RaptorObject;
-
-public class Marker extends RaptorObject {
- String markerColor = "";
- String addressColumn = "";
- String dataColumn = "";
- String address = "";
- String data = "";
- String color = "";
- public String getAddress() {
- return address;
- }
-
- public void setAddress(String address) {
- this.address = address;
- }
-
- public String getColor() {
- return color;
- }
-
- public void setColor(String color) {
- this.color = color;
- }
-
- public String getData() {
- return data;
- }
-
- public void setData(String data) {
- this.data = data;
- }
-
- public Marker(String markerColor, String addressColumn, String dataColumn){
- this.setMarkerColor(markerColor);
- this.setAddressColumn(addressColumn);
- this.setDataColumn(dataColumn);
- }
-
- public String getAddressColumn() {
- return addressColumn;
- }
- public void setAddressColumn(String addressColumn) {
- this.addressColumn = addressColumn;
- }
- public String getDataColumn() {
- return dataColumn;
- }
- public void setDataColumn(String dataColumn) {
- this.dataColumn = dataColumn;
- }
- public String getMarkerColor() {
- return markerColor;
- }
- public void setMarkerColor(String markerColor) {
- this.markerColor = markerColor;
- }
-}
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/ReportDefinition.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/ReportDefinition.java
deleted file mode 100644
index 71ec9f87..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/ReportDefinition.java
+++ /dev/null
@@ -1,1465 +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.definition;
-
-import java.io.Serializable;
-import java.sql.Connection;
-import java.util.Calendar;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-import java.util.Vector;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.xml.bind.JAXBException;
-import javax.xml.datatype.DatatypeConfigurationException;
-import javax.xml.datatype.DatatypeFactory;
-//import javax.xml.transform.stream.*;
-
-import org.openecomp.portalsdk.analytics.controller.WizardSequence;
-import org.openecomp.portalsdk.analytics.controller.WizardSequenceCrossTab;
-import org.openecomp.portalsdk.analytics.controller.WizardSequenceDashboard;
-import org.openecomp.portalsdk.analytics.controller.WizardSequenceLinear;
-import org.openecomp.portalsdk.analytics.controller.WizardSequenceSQLBasedCrossTab;
-import org.openecomp.portalsdk.analytics.controller.WizardSequenceSQLBasedHive;
-import org.openecomp.portalsdk.analytics.controller.WizardSequenceSQLBasedLinear;
-import org.openecomp.portalsdk.analytics.controller.WizardSequenceSQLBasedLinearDatamining;
-import org.openecomp.portalsdk.analytics.error.RaptorException;
-import org.openecomp.portalsdk.analytics.model.DataCache;
-import org.openecomp.portalsdk.analytics.model.ReportLoader;
-import org.openecomp.portalsdk.analytics.model.base.OrderBySeqComparator;
-import org.openecomp.portalsdk.analytics.model.base.OrderSeqComparator;
-import org.openecomp.portalsdk.analytics.model.base.ReportWrapper;
-import org.openecomp.portalsdk.analytics.model.runtime.FormField;
-import org.openecomp.portalsdk.analytics.system.AppUtils;
-import org.openecomp.portalsdk.analytics.system.DbUtils;
-import org.openecomp.portalsdk.analytics.system.Globals;
-import org.openecomp.portalsdk.analytics.util.AppConstants;
-import org.openecomp.portalsdk.analytics.util.DataSet;
-import org.openecomp.portalsdk.analytics.util.Utils;
-import org.openecomp.portalsdk.analytics.xmlobj.ChartAdditionalOptions;
-import org.openecomp.portalsdk.analytics.xmlobj.ChartDrillOptions;
-import org.openecomp.portalsdk.analytics.xmlobj.ColFilterType;
-import org.openecomp.portalsdk.analytics.xmlobj.CustomReportType;
-import org.openecomp.portalsdk.analytics.xmlobj.DataColumnList;
-import org.openecomp.portalsdk.analytics.xmlobj.DataColumnType;
-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.ObjectFactory;
-import org.openecomp.portalsdk.analytics.xmlobj.PredefinedValueList;
-import org.openecomp.portalsdk.analytics.xmlobj.SemaphoreType;
-import org.openecomp.portalsdk.core.controller.FavoritesController;
-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>ReportDefinition.java</B> - This involves in creating and modifying RAPTOR reports.
- * --------------------------------------------------------------------------------------------------<BR/>
- *
- *
- * <U>Change Log</U><BR/><BR/>
- *
- * 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>userIsAuthorizedToSeeLog is checked for Admin User instead of Super User.</LI></UL>
- * 22-Jun-2009 : Version 8.4 (Sundar); <UL><LI>A new type ChartAdditionalOptions is introduced in RAPTOR XSD.
- * For this type a create procedure is added to this class.</LI></UL>
- *
- */
-
-public class ReportDefinition extends ReportWrapper implements Serializable {
-
- static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(FavoritesController.class);
-
-
- private ReportSchedule reportSchedule = null;
-
- private WizardSequence wizardSequence = null;
-
-
- private boolean reportUpdateLogged = false; // Used to avoid multiple
- // entries in the report log
- // when persisting report on
- // each step
-
- private ReportDefinition(CustomReportType crType, String reportID, String ownerID,
- String createID, String createDate, String updateID, String updateDate,
- String menuID, boolean menuApproved, HttpServletRequest request) throws RaptorException {
- super(crType, reportID, ownerID, createID, createDate, updateID, updateDate, menuID,
- menuApproved);
- if(reportID.equals("-1"))
- reportSchedule = new ReportSchedule(getReportID(), getOwnerID(), false, request);
- else
- reportSchedule = new ReportSchedule(getReportID(), getOwnerID(), true, request);
- generateWizardSequence(null);
- } // ReportDefinition
-
- public ReportDefinition(ReportWrapper rw, HttpServletRequest request)throws RaptorException {
- super(rw);
-
- reportSchedule = new ReportSchedule(reportID, rw.getOwnerID(),false, request);
- generateWizardSequence(null);
- } // ReportDefinition
-
- private void setReportID(String reportID) {
- this.reportID = reportID;
- reportSchedule.setReportID(reportID);
- reportSchedule.setScheduleUserID(getOwnerID());
- } // setReportID
-
- public ReportSchedule getReportSchedule() {
- return reportSchedule;
- }
-
- public static ReportDefinition unmarshal(String reportXML, String reportID, HttpServletRequest request)
- throws RaptorException {
- ReportDefinition rn = null;
- CustomReportType crType = ReportWrapper.unmarshalCR(reportXML);
- //Log.write("Report [" + reportID + "]: XML unmarshalled", 4);
- logger.debug(EELFLoggerDelegate.debugLogger, ("[DEBUG MESSAGE FROM RAPTOR] Report [" + reportID + "]: XML unmarshalled"));
-
- rn = new ReportDefinition(crType, reportID, null, null, null, null, null, null, false, request);
- return rn;
- } // unmarshal
-
- public static ReportDefinition createBlank(HttpServletRequest request) throws RaptorException {
- String curTime = Utils.getCurrentDateTime();
- String userID = AppUtils.getUserID(request);
- ReportDefinition rd = new ReportDefinition(ReportWrapper.createBlankCR(userID), "-1",
- userID, userID, curTime, userID, curTime, "", false, request);
-
- // Necessary initialization
-
- return rd;
- } // ReportDefinition
-
- public void setAsCopy(HttpServletRequest request) throws RaptorException {
- verifySQLBasedReportAccess(request);
-
- replaceCustomReportWithClone();
-
- setReportID("-1");
- setReportName("Copy: " + getReportName());
- } // setAsCopy
-
- public WizardSequence getWizardSequence() {
- return wizardSequence;
- } // getWizardSequence
-
- public void generateWizardSequence(HttpServletRequest request) throws RaptorException {
- boolean userIsAuthorizedToSeeLog = false;
- String userId = null;
- if(request!=null) {
- userId = AppUtils.getUserID(request);
- if (userId != null)
- userIsAuthorizedToSeeLog = AppUtils.isAdminUser(request)
- || AppUtils.isAdminUser(request);
- //System.out.println("******** Report Type "+getReportType() + " userIsAuthorizedToSeeLog " + userIsAuthorizedToSeeLog);
- }
- if (getReportType().equals(AppConstants.RT_LINEAR)){
- if (getReportDefType().equals(AppConstants.RD_SQL_BASED))
- wizardSequence = new WizardSequenceSQLBasedLinear(userIsAuthorizedToSeeLog);
- else if (getReportDefType().equals(AppConstants.RD_SQL_BASED_DATAMIN))
- wizardSequence = new WizardSequenceSQLBasedLinearDatamining(userIsAuthorizedToSeeLog);
- else
- wizardSequence = new WizardSequenceLinear(userIsAuthorizedToSeeLog);
- } else if (getReportType().equals(AppConstants.RT_CROSSTAB)) {
- if (getReportDefType().equals(AppConstants.RD_SQL_BASED))
- wizardSequence = new WizardSequenceSQLBasedCrossTab(userIsAuthorizedToSeeLog);
- else
- wizardSequence = new WizardSequenceCrossTab(userIsAuthorizedToSeeLog);
- } else if (getReportType().equals(AppConstants.RT_DASHBOARD)) {
- wizardSequence = new WizardSequenceDashboard(userIsAuthorizedToSeeLog);
- } else if (getReportType().equals(AppConstants.RT_HIVE)) {
- wizardSequence = new WizardSequenceSQLBasedHive(userIsAuthorizedToSeeLog);
- } else
- wizardSequence = new WizardSequence();
- } // generateWizardSequence
-
- private boolean canPersistDashboard() {
- //System.out.println(" getDashBoardReports().getReportsList().size() " + getDashBoardReports().getReportsList().size());
- /* Commented for New DashBoard
- if (getDashBoardReports()!=null && getDashBoardReports().getReportsList()!=null && getDashBoardReports().getReportsList().size() > 0) {
- for (Iterator iter = getDashBoardReports().getReportsList().iterator(); iter.hasNext();) {
- Reports report = (Reports)iter.next();
- try {
- if(Integer.parseInt(report.getReportId())>0) return true;
- } catch (NumberFormatException ex) {}
- } // for
- } //if
- */
-
- //if( )
- return nvl(getDashboardLayoutHTML()).length() > 0;
- } //canPersistDashboard
-
- private boolean canPersistLinearReport() {
- boolean visibleColExist = false;
-
- if (getDataSourceList().getDataSource().size() > 0) {
- for (Iterator iter = getAllColumns().iterator(); iter.hasNext();) {
- DataColumnType dct = (DataColumnType) iter.next();
-
- if (dct.isVisible()) {
- visibleColExist = true;
- break;
- }
- } // for
- } // if
-
- return visibleColExist;
- } // canPersistLinearReport
-
- private boolean canPersistCrossTabReport() {
- boolean rowColExist = false;
- boolean colColExist = false;
- boolean valColExist = false;
-
- if (getDataSourceList().getDataSource().size() > 0) {
- for (Iterator iter = getAllColumns().iterator(); iter.hasNext();) {
- DataColumnType dct = (DataColumnType) iter.next();
-
- if (nvl(dct.getCrossTabValue()).equals(AppConstants.CV_ROW))
- rowColExist = true;
- if (nvl(dct.getCrossTabValue()).equals(AppConstants.CV_COLUMN))
- colColExist = true;
- if (nvl(dct.getCrossTabValue()).equals(AppConstants.CV_VALUE))
- valColExist = true;
- } // for
- } // if
-
- return rowColExist && colColExist && valColExist;
- } // canPersistCrossTabReport
-
- private boolean canPersistReport() {
- return getReportType().equals(AppConstants.RT_CROSSTAB) ? canPersistCrossTabReport()
- : (getReportType().equals(AppConstants.RT_LINEAR)? canPersistLinearReport():((getReportType().equals(AppConstants.RT_HIVE)? canPersistLinearReport():canPersistDashboard())));
- } // canPersistReport
-
- public void persistReport(HttpServletRequest request) throws RaptorException {
- if (!canPersistReport())
- return;
-
- Connection connection = null;
- try {
- String userID = AppUtils.getUserID(request);
- String reportXML = marshal();
- logger.debug(EELFLoggerDelegate.debugLogger, ("Ocurring during Schedule "));
- if (nvl(reportID, "-1").equals("-1")) {
- connection = DbUtils.startTransaction();
- // Add report
- String sql = "";
- if (nvl(Globals.getAdhocReportSequence()).length()> 0 && nvl(Globals.getAdhocUserRoldId()).length() > 0 && AppUtils.isUserInRole(request, Globals.getAdhocUserRoldId()) && !AppUtils.isAdminUser(request)) {
- //sql = "SELECT "+ Globals.getAdhocReportSequence() + ".nextval FROM dual";
- sql = Globals.getPersistReportAdhoc();
- sql = sql.replace("[Globals.getAdhocReportSequence()]", Globals.getAdhocReportSequence());
-
- } else{
- //sql = "SELECT seq_cr_report.nextval FROM dual";
- sql = Globals.getNewReportData();
- }
- DataSet ds = DbUtils.executeQuery(connection,sql);
- setReportID(ds.getString(0, 0));
-
- reportSecurity.reportCreate(reportID, userID, isPublic());
- ReportLoader.createCustomReportRec(connection, this, reportXML);
- ReportLoader.createReportLogEntry(connection, reportID, userID,
- AppConstants.RLA_CREATE, "", "");
- reportUpdateLogged = true;
- logger.debug(EELFLoggerDelegate.debugLogger, ("[DEBUG MESSAGE FROM RAPTOR] DB insert report " + reportID + " succesfull"));
- } else {
- // Update report
- verifySQLBasedReportAccess(request);
- reportSecurity.reportUpdate(request);
- connection = DbUtils.startTransaction();
- ReportLoader.updateCustomReportRec(connection, this, reportXML);
- if (!reportUpdateLogged) {
- ReportLoader.createReportLogEntry(connection, reportID, userID,
- AppConstants.RLA_UPDATE,"","");
- reportUpdateLogged = true;
- } // if
- logger.debug(EELFLoggerDelegate.debugLogger, ("[DEBUG MESSAGE FROM RAPTOR] DB update report " + reportID + " succesfull"));
- }
-
- getReportSchedule().persistScheduleData(connection, request);
-
- DbUtils.commitTransaction(connection);
- } catch (RaptorException e) {
- e.printStackTrace();
- DbUtils.rollbackTransaction(connection);
- throw e;
- } finally {
- DbUtils.clearConnection(connection);
- }
- } // persistReport
-
- public String getCrossTabDisplayValue(String crossTabValue) {
- return nvl(crossTabValue).equals(AppConstants.CV_ROW) ? "Row headings" : (nvl(
- crossTabValue).equals(AppConstants.CV_COLUMN) ? "Column headings" : (nvl(
- crossTabValue).equals(AppConstants.CV_VALUE) ? "Report values" : "Invisible/Filter"));
- } // getCrossTabDisplayValue
-
- public String getCrossTabDisplayValue(DataColumnType dct) {
- return getCrossTabDisplayValue(dct.getCrossTabValue());
- } // getCrossTabDisplayValue
-
- public String getColumnLabel(DataColumnType dct) throws Exception {
- String tableName = getTableById(dct.getTableId()).getTableName();
- Vector dbColumns = null;
- dbColumns = DataCache.getReportTableDbColumns(tableName, cr.getDbInfo());
- if (dbColumns != null)
- for (int i = 0; i < dbColumns.size(); i++) {
- DBColumnInfo dbCol = (DBColumnInfo) dbColumns.get(i);
- if (dct.getDbColName().equals(dbCol.getColName()))
- return dbCol.getLabel();
- } // for
-
- return "";
- } // getCrossTabDisplayValue
-
- public String getFilterLabel(ColFilterType cft) {
- StringBuffer fLabel = new StringBuffer();
-
- fLabel.append(cft.getExpression());
- fLabel.append(" ");
- if (cft.getArgType() != null)
- if (cft.getArgType().equals(AppConstants.AT_FORMULA)) {
- fLabel.append("[" + cft.getArgValue() + "]");
- } else if (cft.getArgType().equals(AppConstants.AT_VALUE)) {
- fLabel.append(cft.getArgValue());
- } else if (cft.getArgType().equals(AppConstants.AT_LIST)) {
- fLabel.append("(" + cft.getArgValue() + ")");
- } else if (cft.getArgType().equals(AppConstants.AT_COLUMN)) {
- DataColumnType dctFilter = getColumnById(cft.getArgValue());
- fLabel.append("[" + dctFilter.getDisplayName() + "]");
- } else if (cft.getArgType().equals(AppConstants.AT_FORM)) {
- fLabel.append("[Form Field]");
- }
-
- return fLabel.toString();
- } // getFilterLabel
-
- public Vector getReportUsers(HttpServletRequest request) throws RaptorException {
- return reportSecurity.getReportUsers(request);
- } // getReportUsers
-
- public Vector getReportRoles(HttpServletRequest request) throws RaptorException {
- return reportSecurity.getReportRoles(request);
- } // getReportRoles
-
- /** ************************************************************************************************* */
-
- public void clearAllDrillDowns() {
- List reportCols = getAllColumns();
- for (int i = 0; i < reportCols.size(); i++) {
- DataColumnType dct = (DataColumnType) reportCols.get(i);
- dct.setDrillDownURL(null);
- dct.setDrillDownParams(null);
- dct.setDrillDownType(null);
- } // for
- } // clearAllDrillDowns
-
- public void setOuterJoin(DataSourceType curTable, String joinType) {
- String refDefinition = nvl(curTable.getRefDefinition());
- int outerJoinIdx = refDefinition.indexOf(" (+)");
- if (outerJoinIdx >= 0)
- // Clear existing outer join
- if (outerJoinIdx == (refDefinition.length() - 4))
- refDefinition = refDefinition.substring(0, outerJoinIdx);
- else
- refDefinition = refDefinition.substring(0, outerJoinIdx)
- + refDefinition.substring(outerJoinIdx + 4);
-
- int equalSignIdx = refDefinition.indexOf("=");
- if (equalSignIdx < 0)
- // Ref. definition not present
- return;
-
- if (refDefinition.indexOf(curTable.getTableId()) < equalSignIdx) {
- // Cur. table is on the left side
- if (nvl(joinType).equals(AppConstants.OJ_CURRENT))
- refDefinition = refDefinition.substring(0, equalSignIdx) + " (+)"
- + refDefinition.substring(equalSignIdx);
- else if (nvl(joinType).equals(AppConstants.OJ_JOINED))
- refDefinition = refDefinition + " (+)";
- } else {
- // Joined table is on the left side
- if (nvl(joinType).equals(AppConstants.OJ_CURRENT))
- refDefinition = refDefinition + " (+)";
- else if (nvl(joinType).equals(AppConstants.OJ_JOINED))
- refDefinition = refDefinition.substring(0, equalSignIdx) + " (+)"
- + refDefinition.substring(equalSignIdx);
- }
-
- curTable.setRefDefinition(refDefinition);
- } // setOuterJoin
-
- public void addDataSourceType(ObjectFactory objFactory, String tableId, String tableName,
- String tablePK, String displayName, String refTableId, String refDefinition,
- String comment) throws RaptorException {
- DataSourceType dst = objFactory.createDataSourceType();
-
- dst.setTableId(tableId);
- dst.setTableName(tableName);
- dst.setTablePK(tablePK);
- dst.setDisplayName(displayName);
- if (nvl(refTableId).length() > 0)
- dst.setRefTableId(refTableId);
- if (nvl(refDefinition).length() > 0)
- dst.setRefDefinition(refDefinition);
- if (nvl(comment).length() > 0)
- dst.setComment(comment);
-
- DataColumnList dataColumnList = objFactory.createDataColumnList();
- dst.setDataColumnList(dataColumnList);
-
- getDataSourceList().getDataSource().add(dst);
-
- resetCache(true);
- } // addDataSourceType
-
- public void deleteDataSourceType(String tableId) {
- super.deleteDataSourceType(tableId);
- } // deleteDataSourceType
-
- public String getUniqueColumnId(String colName) {
- String colId = "";
-
- int colIdN = getAllColumns().size() + 1;
- do {
- colId = colName.substring(0, 2).toLowerCase() + (colIdN++);
- } while (getColumnById(colId) != null);
-
- return colId;
- } // getUniqueColumnId
-
- public DataColumnType addDataColumnType(ObjectFactory objFactory, String colId,
- String tableId, // Table to which the new column belongs
- String dbColName, String crossTabValue, String colName, String displayName,
- int displayWidth, String displayAlignment, int orderSeq, boolean visible,
- boolean calculated, String colType, String colFormat, boolean groupBreak,
- int orderBySeq, String orderByAscDesc, String displayTotal, String colOnChart,
- int chartSeq, String drillDownType, String drillDownURL, String drillDownParams,
- String semaphoreId, String comment) throws RaptorException {
- DataColumnType dct = null;
- dct = objFactory.createDataColumnType();
-
- dct.setColId(colId);
- dct.setTableId(tableId);
- dct.setDbColName(dbColName);
- if (nvl(crossTabValue).length() > 0)
- dct.setCrossTabValue(crossTabValue);
- dct.setColName(colName);
- dct.setDisplayName(displayName);
- if (displayWidth > 0)
- dct.setDisplayWidth(displayWidth);
- if (nvl(displayAlignment).length() > 0)
- dct.setDisplayAlignment(displayAlignment);
- if (orderSeq > 0)
- dct.setOrderSeq(orderSeq);
- else
- dct.setOrderSeq(getAllColumns().size() + 1);
- dct.setVisible(visible);
- dct.setCalculated(calculated);
- // dct.setColType(colType);
- if (nvl(colFormat).length() > 0)
- dct.setColFormat(colFormat);
- dct.setGroupBreak(groupBreak);
- if (orderBySeq > 0)
- dct.setOrderBySeq(orderBySeq);
- if (nvl(orderByAscDesc).length() > 0)
- dct.setOrderByAscDesc(orderByAscDesc);
- if (nvl(displayTotal).length() > 0)
- dct.setDisplayTotal(displayTotal);
- if (nvl(colOnChart).length() > 0)
- dct.setColOnChart(colOnChart);
- if (chartSeq > 0)
- dct.setChartSeq(chartSeq);
- if (nvl(drillDownType).length() > 0)
- dct.setDrillDownType(drillDownType);
- if (nvl(drillDownURL).length() > 0)
- dct.setDrillDownURL(drillDownURL);
- if (nvl(drillDownParams).length() > 0)
- dct.setDrillDownParams(drillDownParams);
- if (nvl(semaphoreId).length() > 0)
- dct.setSemaphoreId(semaphoreId);
- if (nvl(comment).length() > 0)
- dct.setComment(comment);
-
- dct.setDbColType(colType);
- adjustColumnType(dct);
-
- // ColFilterList colFilterList = objFactory.createColFilterList();
- // dct.setColFilterList(colFilterList);
-
- getTableById(tableId).getDataColumnList().getDataColumn().add(dct);
-
- resetCache(false);
-
- return dct;
- } // addDataColumnType
-
- public void deleteDataColumnType(String colId) {
- int colOrder = getColumnById(colId).getOrderSeq();
-
- List dcList = getColumnTableById(colId).getDataColumnList().getDataColumn();
- for (Iterator iterC = dcList.iterator(); iterC.hasNext();) {
- DataColumnType dct = (DataColumnType) iterC.next();
-
- if (dct.getColId().equals(colId) && dct.getOrderSeq() == colOrder)
- iterC.remove();
- else if (dct.getOrderSeq() > colOrder)
- dct.setOrderSeq(dct.getOrderSeq() - 1);
- } // for
-
- if (getFormFieldList() != null)
- for (Iterator iter = getFormFieldList().getFormField().iterator(); iter.hasNext();) {
- FormFieldType fft = (FormFieldType) iter.next();
- if (nvl(fft.getColId()).equals(colId)) {
- fft.setColId("");
- fft.setFieldType(FormField.FFT_TEXT);
- if (nvl(fft.getDefaultValue()).equals(AppConstants.FILTER_MAX_VALUE)
- || nvl(fft.getDefaultValue())
- .equals(AppConstants.FILTER_MIN_VALUE))
- fft.setDefaultValue("");
- } // if
- } // for
-
- resetCache(false);
- resetColumnOrderValues();
- } // deleteDataColumnType
-
- public void shiftColumnOrderUp(String colId) {
- List reportCols = getAllColumns();
- for (int i = 0; i < reportCols.size(); i++) {
- DataColumnType dct = (DataColumnType) reportCols.get(i);
-
- if (dct.getColId().equals(colId) && (i > 0)) {
- DataColumnType dctUp = (DataColumnType) reportCols.get(i - 1);
- dctUp.setOrderSeq(dctUp.getOrderSeq() + 1);
- dct.setOrderSeq(dct.getOrderSeq() - 1);
- break;
- } // if
- } // for
-
- Collections.sort(reportCols, new OrderSeqComparator());
- resetCache(true);
- resetColumnOrderValues();
- } // shiftColumnOrderUp
-
- public void shiftColumnOrderDown(String colId) {
- List reportCols = getAllColumns();
- for (int i = 0; i < reportCols.size(); i++) {
- DataColumnType dct = (DataColumnType) reportCols.get(i);
-
- if (dct.getColId().equals(colId) && (i < reportCols.size() - 1)) {
- DataColumnType dctDown = (DataColumnType) reportCols.get(i + 1);
- dctDown.setOrderSeq(dctDown.getOrderSeq() - 1);
- dct.setOrderSeq(dct.getOrderSeq() + 1);
- break;
- } // if
- } // for
-
- Collections.sort(reportCols, new OrderSeqComparator());
- resetCache(true);
- resetColumnOrderValues();
- } // shiftColumnOrderDown
-
- public void resetColumnOrderValues() {
- List reportCols = getAllColumns();
-
- int colOrder = 0;
- for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
- DataColumnType dct = (DataColumnType) iter.next();
- dct.setOrderSeq(++colOrder);
- } // for
-
- Collections.sort(reportCols, new OrderSeqComparator());
- } // resetColumnOrderValues
-
- public void addColFilterType(ObjectFactory objFactory, String colId, // Column
- // to
- // which
- // the
- // new
- // filter
- // belongs
- String joinCondition, String openBrackets, String expression, String argType,
- String argValue, String closeBrackets, String comment) throws RaptorException {
- ColFilterType cft = objFactory.createColFilterType();
-
- cft.setColId(colId);
- cft.setJoinCondition(nvl(joinCondition, "AND"));
- if (nvl(openBrackets).length() > 0)
- cft.setOpenBrackets(openBrackets);
- cft.setExpression(expression);
- if (nvl(argType).length() > 0)
- cft.setArgType(argType);
- if (nvl(argValue).length() > 0)
- cft.setArgValue(argValue);
- if (nvl(closeBrackets).length() > 0)
- cft.setCloseBrackets(closeBrackets);
- if (nvl(comment).length() > 0)
- cft.setComment(comment);
-
- DataColumnType dct = getColumnById(colId);
- if (dct != null) {
- if (dct.getColFilterList() == null)
- dct.setColFilterList(objFactory.createColFilterList());
-
- cft.setFilterSeq(dct.getColFilterList().getColFilter().size());
- dct.getColFilterList().getColFilter().add(cft);
- } // if
-
- resetCache(true);
- } // addColFilterType
-
- public void removeColumnFilter(String colId, int filterPos) {
- DataColumnType dct = getColumnById(colId);
-
- if (dct.getColFilterList() != null)
- try {
- dct.getColFilterList().getColFilter().remove(filterPos);
- } catch (IndexOutOfBoundsException e) {
- }
-
- resetCache(true);
- } // removeColumnFilter
-
- public void addColumnSort(String colId, String ascDesc) {
- addColumnSort(colId, ascDesc, -1);
- } // addColumnSort
-
- public void addColumnSort(String colId, String ascDesc, int sortOrder) {
- if (sortOrder <= 0) {
- sortOrder = 1;
- List reportCols = getAllColumns();
- for (Iterator iter = reportCols.iterator(); iter.hasNext();)
- if (((DataColumnType) iter.next()).getOrderBySeq() > 0)
- sortOrder++;
- } // if
-
- DataColumnType dct = getColumnById(colId);
- dct.setOrderBySeq(sortOrder);
- dct.setOrderByAscDesc(ascDesc);
-
- resetCache(true);
- } // addColumnSort
-
- public void removeColumnSort(String colId) {
- DataColumnType dct = getColumnById(colId);
- int sortOrder = dct.getOrderBySeq();
-
- dct.setOrderBySeq(0);
- dct.setOrderByAscDesc(null);
-
- if (sortOrder > 0) {
- List reportCols = getAllColumns();
- for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
- DataColumnType dct2 = (DataColumnType) iter.next();
-
- if (dct2.getOrderBySeq() > sortOrder)
- dct2.setOrderBySeq(dct2.getOrderBySeq() - 1);
- } // for
- } // if
-
- resetCache(true);
- } // removeColumnSort
-
- public void shiftColumnSortUp(String colId) {
- List reportCols = getAllColumns();
- Collections.sort(reportCols, new OrderBySeqComparator());
-
- for (int i = 0; i < reportCols.size(); i++) {
- DataColumnType dct = (DataColumnType) reportCols.get(i);
-
- if (dct.getColId().equals(colId) && (dct.getOrderBySeq() > 0)) {
- DataColumnType dctUp = (DataColumnType) reportCols.get(i - 1);
- if (dctUp.getOrderBySeq() > 0)
- dctUp.setOrderBySeq(dctUp.getOrderBySeq() + 1);
- dct.setOrderBySeq(dct.getOrderBySeq() - 1);
- break;
- } // if
- } // for
-
- Collections.sort(reportCols, new OrderSeqComparator());
- resetCache(true);
- } // shiftColumnSortUp
-
- public void shiftColumnSortDown(String colId) {
- List reportCols = getAllColumns();
- Collections.sort(reportCols, new OrderBySeqComparator());
-
- for (int i = 0; i < reportCols.size(); i++) {
- DataColumnType dct = (DataColumnType) reportCols.get(i);
-
- if (dct.getColId().equals(colId) && (dct.getOrderBySeq() > 0)) {
- DataColumnType dctDown = (DataColumnType) reportCols.get(i + 1);
- if (dctDown.getOrderBySeq() > 0)
- dctDown.setOrderBySeq(dctDown.getOrderBySeq() - 1);
- dct.setOrderBySeq(dct.getOrderBySeq() + 1);
- break;
- } // if
- } // for
-
- Collections.sort(reportCols, new OrderSeqComparator());
- resetCache(true);
- } // shiftColumnSortDown
-
- /** ************************************************************************************************* */
-
- public String generateNewSemaphoreId() {
- if (getSemaphoreList() == null)
- return "sem1";
-
- String semaphoreId = null;
- boolean idExists = true;
- for (int i = 1; idExists; i++) {
- semaphoreId = "sem" + i;
- idExists = false;
- for (Iterator iter = getSemaphoreList().getSemaphore().iterator(); iter.hasNext();)
- if (semaphoreId.equals(((SemaphoreType) iter.next()).getSemaphoreId())) {
- idExists = true;
- break;
- }
- } // for
-
- return semaphoreId;
- } // generateNewSemaphoreId
-
- public SemaphoreType addSemaphore(ObjectFactory objFactory, SemaphoreType semaphoreType)
- throws RaptorException {
- SemaphoreType sem = null;
- try {
- if (getSemaphoreList() == null)
- setSemaphoreList(objFactory.createSemaphoreList());
-
- String semaphoreName = null;
- boolean nameExists = true;
- for (int i = 1; nameExists; i++) {
- semaphoreName = semaphoreType.getSemaphoreName() + ((i > 1) ? (" v" + i) : "");
- nameExists = false;
- for (Iterator iter2 = getSemaphoreList().getSemaphore().iterator(); iter2
- .hasNext();)
- if (semaphoreName.equals(((SemaphoreType) iter2.next()).getSemaphoreName())) {
- nameExists = true;
- break;
- }
- } // for
-
- sem = cloneSemaphoreType(objFactory, semaphoreType);
- getSemaphoreList().getSemaphore().add(sem);
-
- sem.setSemaphoreId(generateNewSemaphoreId());
- sem.setSemaphoreName(semaphoreName);
- } catch (JAXBException ex) {
- throw new RaptorException(ex.getMessage(), ex.getCause());
- }
-
- return sem;
- } // addSemaphore
-
- public SemaphoreType addSemaphoreType(ObjectFactory objFactory, String semaphoreName,
- String semaphoreType, String comment) throws RaptorException {
- SemaphoreType sem = null;
- if (getSemaphoreList() == null)
- setSemaphoreList(objFactory.createSemaphoreList());
-
- sem = objFactory.createSemaphoreType();
- getSemaphoreList().getSemaphore().add(sem);
-
- sem.setSemaphoreId(generateNewSemaphoreId());
- sem.setSemaphoreName(semaphoreName);
- sem.setSemaphoreType(nvl(semaphoreType));
- if (nvl(comment).length() > 0)
- sem.setComment(comment);
-
- FormatList formatList = objFactory.createFormatList();
- sem.setFormatList(formatList);
- return sem;
- } // addSemaphoreType
-
-
- public String getNextIdForJavaScriptElement (ObjectFactory objFactory, String fieldId) throws RaptorException {
- String id = "";
- JavascriptItemType jit = null;
- int incr = 0;
- if (getJavascriptList() == null) {
- setJavascriptList(objFactory.createJavascriptList());
- return fieldId + "|1";
- } else {
- if(getJavascriptList().getJavascriptItem().iterator().hasNext()) {
- for (Iterator iter = getJavascriptList().getJavascriptItem().iterator(); iter.hasNext();) {
- jit = (JavascriptItemType) iter.next();
- logger.debug(EELFLoggerDelegate.debugLogger, ("^^^^^JAVASCRIPTITEMTYPE " + jit.getFieldId() + " " + fieldId + " " + id));
- if(nvl(jit.getFieldId()).length()>0 && jit.getFieldId().equals(fieldId)) {
- ++incr;
- }
- } // for
- return fieldId + "|"+incr;
- } else {
- return fieldId + "|1";
- }
-
- }
- //return null;
- }
-
- public JavascriptItemType addJavascriptType(ObjectFactory objFactory, String id) throws RaptorException {
- JavascriptItemType javascriptItemType = null;
- int flag = 0; // checking whether id existing in the list
- if (getJavascriptList() == null) {
- setJavascriptList(objFactory.createJavascriptList());
- javascriptItemType = objFactory.createJavascriptItemType();
- getJavascriptList().getJavascriptItem().add(javascriptItemType);
- return javascriptItemType;
- } else {
-
- for (Iterator iter = getJavascriptList().getJavascriptItem().iterator(); iter.hasNext();) {
- javascriptItemType = (JavascriptItemType)iter.next();
- if(javascriptItemType.getId().equals(id) && !id.startsWith("-1")) {
- flag = 1;
- break;
- }
- }
- if(flag == 1) return javascriptItemType;
- else {
- javascriptItemType = objFactory.createJavascriptItemType();
- getJavascriptList().getJavascriptItem().add(javascriptItemType);
- return javascriptItemType;
- }
- }
-
- } // addSemaphoreType
-
- public boolean deleteJavascriptType(String id) throws RaptorException {
- JavascriptItemType javascriptType = null;
- if (getJavascriptList() == null)
- return true;
- for (Iterator iter = getJavascriptList().getJavascriptItem().iterator(); iter.hasNext();) {
- javascriptType = (JavascriptItemType)iter.next();
- if(javascriptType.getId().equals(id)) {
- iter.remove();
- return true;
- }
- }
- return false;
- } // addSemaphoreType
-
- public static FormatType addEmptyFormatType(ObjectFactory objFactory,
- SemaphoreType semaphore) throws RaptorException {
- FormatType fmt = null;
- fmt = objFactory.createFormatType();
- semaphore.getFormatList().getFormat().add(fmt);
-
- String formatId = null;
- boolean idExists = true;
- for (int i = 1; idExists; i++) {
- formatId = semaphore.getSemaphoreId() + "_fmt" + i;
- idExists = false;
- for (Iterator iter = semaphore.getFormatList().getFormat().iterator(); iter
- .hasNext();)
- if (formatId.equals(((FormatType) iter.next()).getFormatId())) {
- idExists = true;
- break;
- }
- } // for
- fmt.setFormatId(formatId);
- return fmt;
- } // addEmptyFormatType
-
- public static void deleteFormatType(SemaphoreType semaphore, String formatId) {
- for (Iterator iter = semaphore.getFormatList().getFormat().iterator(); iter.hasNext();)
- if (formatId.equals(((FormatType) iter.next()).getFormatId())) {
- iter.remove();
- break;
- } // if
- } // deleteFormatType
-
- public FormFieldType addFormFieldType(ObjectFactory objFactory, String fieldName,
- String colId, String fieldType, String validationType, String mandatory,
- String defaultValue, String fieldSQL, String comment, Calendar rangeStartDate, Calendar rangeEndDate,
- String rangeStartDateSQL, String rangeEndDateSQL) throws RaptorException {
- FormFieldType fft = null;
- fft = objFactory.createFormFieldType();
-
- fft.setFieldName(fieldName);
- fft.setColId(colId);
- fft.setFieldType(fieldType);
- fft.setValidationType(validationType);
- fft.setMandatory(nvl(mandatory, "N"));
- fft.setDefaultValue(nvl(defaultValue));
- fft.setOrderBySeq((getFormFieldList() == null) ? 1 : getFormFieldList().getFormField()
- .size() + 1);
- fft.setFieldSQL(fieldSQL);
- //fft.setRangeStartDate(rangeStartDate);
- //fft.setRangeEndDate(rangeEndDate);
-
- try {
- fft.setRangeStartDate(DatatypeFactory.newInstance()
- .newXMLGregorianCalendar(rangeStartDate.YEAR, rangeStartDate.MONTH, rangeStartDate.DAY_OF_WEEK, rangeStartDate.HOUR, rangeStartDate.MINUTE, rangeStartDate.SECOND, rangeStartDate.MILLISECOND, rangeStartDate.ZONE_OFFSET));
- fft.setRangeStartDate(DatatypeFactory.newInstance()
- .newXMLGregorianCalendar(rangeEndDate.YEAR, rangeEndDate.MONTH, rangeEndDate.DAY_OF_WEEK, rangeEndDate.HOUR, rangeEndDate.MINUTE, rangeEndDate.SECOND, rangeEndDate.MILLISECOND, rangeEndDate.ZONE_OFFSET));
- /*currField.setRangeEndDate(DatatypeFactory.newInstance()
- .newXMLGregorianCalendar(end));*/
- } catch (DatatypeConfigurationException ex) {
-
- }
-
- fft.setRangeStartDateSQL(rangeStartDateSQL);
- fft.setRangeEndDateSQL(rangeEndDateSQL);
- if (nvl(comment).length() > 0)
- fft.setComment(comment);
-
- String fieldId = null;
- boolean idExists = true;
- for (int i = 1; idExists; i++) {
- fieldId = "ff" + i;
- idExists = false;
- if (getFormFieldList() != null)
- for (Iterator iter = getFormFieldList().getFormField().iterator(); iter
- .hasNext();)
- if (fieldId.equals(((FormFieldType) iter.next()).getFieldId())) {
- idExists = true;
- break;
- }
- } // for
- fft.setFieldId(fieldId);
-
- if (getFormFieldList() == null) {
- FormFieldList formFieldList = objFactory.createFormFieldList();
- setFormFieldList(formFieldList);
- }
-
- getFormFieldList().getFormField().add(fft);
- return fft;
- } // addFormFieldType
-
- //addCustomizedTextForParameters
- public void addCustomizedTextForParameters(String comment) throws RaptorException {
- getFormFieldList().setComment(comment);
- }
-
- public FormFieldType addFormFieldBlank(ObjectFactory objFactory) throws RaptorException {
- FormFieldType fft = null;
- fft = objFactory.createFormFieldType();
-
- fft.setFieldName("BLANK");
- fft.setColId("bk");
- fft.setFieldType(FormField.FFT_BLANK);
- fft.setOrderBySeq((getFormFieldList() == null) ? 1 : getFormFieldList().getFormField()
- .size() + 1);
- String fieldId = null;
- boolean idExists = true;
- for (int i = 1; idExists; i++) {
- fieldId = "ff" + i;
- idExists = false;
- if (getFormFieldList() != null)
- for (Iterator iter = getFormFieldList().getFormField().iterator(); iter
- .hasNext();)
- if (fieldId.equals(((FormFieldType) iter.next()).getFieldId())) {
- idExists = true;
- break;
- }
- } // for
- fft.setFieldId(fieldId);
-
- if (getFormFieldList() == null) {
- FormFieldList formFieldList = objFactory.createFormFieldList();
- setFormFieldList(formFieldList);
- }
-
- getFormFieldList().getFormField().add(fft);
- return fft;
- } // addFormFieldBlank
-
- public void replaceFormFieldReferences(String fieldName, String replaceWith) {
- if (fieldName.equals(replaceWith))
- return;
-
- for (Iterator iter = getAllColumns().iterator(); iter.hasNext();) {
- DataColumnType dct = (DataColumnType) iter.next();
-
- if (dct.isCalculated() && dct.getColName().indexOf(fieldName) >= 0)
- dct.setColName(Utils.replaceInString(dct.getColName(), fieldName, nvl(
- replaceWith, "NULL")));
-
- if (dct.getColFilterList() != null)
- for (Iterator iter2 = dct.getColFilterList().getColFilter().iterator(); iter2
- .hasNext();) {
- ColFilterType cft = (ColFilterType) iter2.next();
-
- if (nvl(cft.getArgType()).equals(AppConstants.AT_FORM)
- && nvl(cft.getArgValue()).equals(fieldName))
- cft.setArgValue(replaceWith);
- } // for
- } // for
- } // replaceFormFieldReferences
-
- public void deleteFormField(String fieldId) {
- String fieldDisplayName = null;
-
- int orderBySeq = Integer.MAX_VALUE;
- if (getFormFieldList() != null)
- for (Iterator iter = getFormFieldList().getFormField().iterator(); iter.hasNext();) {
- FormFieldType fft = (FormFieldType) iter.next();
-
- if (fieldId.equals(fft.getFieldId())) {
- //orderBySeq = fft.getOrderBySeq();
- fieldDisplayName = getFormFieldDisplayName(fft);
- iter.remove();
- } else if (fft.getOrderBySeq()!=null && (fft.getOrderBySeq().intValue() > orderBySeq))
- fft.setOrderBySeq(fft.getOrderBySeq() - 1);
- } // for
-
- if (fieldDisplayName != null)
- replaceFormFieldReferences(fieldDisplayName, "");
- } // deleteFormField
-
- public void shiftFormFieldUp(String fieldId) {
- if (getFormFieldList() == null)
- return;
-
- for (int i = 0; i < getFormFieldList().getFormField().size(); i++) {
- FormFieldType fft = (FormFieldType) getFormFieldList().getFormField().get(i);
-
- if (fft.getFieldId().equals(fieldId) && (i > 0)) {
- FormFieldType prevFft = (FormFieldType) getFormFieldList().getFormField().get(
- i - 1);
- prevFft.setOrderBySeq(prevFft.getOrderBySeq() + 1);
- fft.setOrderBySeq((fft.getOrderBySeq() == null)?0:fft.getOrderBySeq() - 1);
-
- getFormFieldList().getFormField().remove(i);
- getFormFieldList().getFormField().add(i - 1, fft);
- return;
- } // if
- } // for
- } // shiftFormFieldUp
-
- public void shiftFormFieldDown(String fieldId) {
- if (getFormFieldList() == null)
- return;
-
- for (int i = 0; i < getFormFieldList().getFormField().size(); i++) {
- FormFieldType fft = (FormFieldType) getFormFieldList().getFormField().get(i);
-
- if (fft.getFieldId().equals(fieldId)
- && (i < getFormFieldList().getFormField().size() - 1)) {
- FormFieldType nextFft = (FormFieldType) getFormFieldList().getFormField().get(
- i + 1);
- nextFft.setOrderBySeq((nextFft.getOrderBySeq() == null)?0:nextFft.getOrderBySeq() - 1);
- fft.setOrderBySeq((fft.getOrderBySeq() == null)?0:fft.getOrderBySeq() + 1);
-
- getFormFieldList().getFormField().remove(i + 1);
- getFormFieldList().getFormField().add(i, nextFft);
- return;
- } // if
- } // for
- } // shiftFormFieldDown
-
- public static void addFormFieldPredefinedValue(ObjectFactory objFactory,
- FormFieldType formField, String predefinedValue) throws RaptorException {
- if (formField.getPredefinedValueList() == null) {
- PredefinedValueList predefinedValueList = objFactory.createPredefinedValueList();
- formField.setPredefinedValueList(predefinedValueList);
- } // if
-
- if (predefinedValue.length() > 0) {
- formField.getPredefinedValueList().getPredefinedValue().add(predefinedValue);
- Collections.sort(formField.getPredefinedValueList().getPredefinedValue());
- } // if
- } // addFormFieldPredefinedValue
-
- public static void deleteFormFieldPredefinedValue(FormFieldType formField,
- String predefinedValue) {
- if (formField != null && formField.getPredefinedValueList() != null
- && predefinedValue.length() > 0)
- for (Iterator iter = formField.getPredefinedValueList().getPredefinedValue()
- .iterator(); iter.hasNext();)
- if (predefinedValue.equals((String) iter.next())) {
- iter.remove();
- break;
- } // if
- } // deleteFormFieldPredefinedValue
-
- /** ************************************************************************************************* */
-
- private int curSQLParsePos = 0;
-
- private String getNextSQLParseToken(String sql, boolean updateParsePos) {
- int braketCount = 0;
- boolean isInsideQuote = false;
- StringBuffer nextToken = new StringBuffer();
- for (int idxNext = curSQLParsePos; idxNext < sql.length(); idxNext++) {
- char ch = sql.charAt(idxNext);
-
- if (Character.isWhitespace(ch) || ch == ',') {
- if (ch == ',')
- nextToken.append(ch);
-
- if (nextToken.length() == 0)
- continue;
- else if (braketCount == 0 && (!isInsideQuote)) {
- if (updateParsePos)
- curSQLParsePos = idxNext + ((ch == ',') ? 1 : 0);
- break;
- } else if (ch != ',' && nextToken.charAt(nextToken.length() - 1) != ' ')
- nextToken.append(' ');
- } else {
- nextToken.append(ch);
-
- if (ch == '(' || ch == '[')
- braketCount++;
- else if (ch == ')' || ch == ']')
- braketCount--;
- else if (ch == '\''/* ||ch=='\"' */)
- isInsideQuote = (!isInsideQuote);
- } // else
- } // for
-
- return nextToken.toString();
- } // getNextSQLParseToken
-
- private boolean isParseSQLColID(String token) {
- if (nvl(token).length() == 0)
- return false;
-
- for (int i = 0; i < token.length(); i++) {
- char ch = token.charAt(i);
-
- if (i == 0 && ch == '_')
- return false;
-
- if (!(Character.isLetterOrDigit(ch) || ch == '_'))
- return false;
- } // for
-
- return true;
- } // isParseSQLColID
-
- private DataColumnType getParseSQLDataColumn(String sqlExpression, String colId,
- StringBuffer parsedSQL, Vector updatedReportCols, boolean isCYMBALScript) throws RaptorException {
- DataColumnType dct = null;
-
- if (colId != null) {
- if (!isParseSQLColID(colId))
- throw new org.openecomp.portalsdk.analytics.error.ValidationException(
- "["
- + colId
- + "] must either be a valid column id consisting only of letters, numbers, and underscores, or there must be a comma in front of it.");
-
- dct = getColumnById(colId);
- } else {
- // Getting unique column id
- colId = "";
- int colIdN = 0;
- for (int i = 0; (i < sqlExpression.length()) && (colIdN < 2); i++)
- if (Character.isLetter(sqlExpression.charAt(i))) {
- colId += sqlExpression.toLowerCase().charAt(i);
- colIdN++;
- } // if
-
- colIdN = getAllColumns().size() + updatedReportCols.size();
- for (boolean idAlreadyUsed = true; idAlreadyUsed; colIdN++) {
- String newColId = colId + colIdN;
- idAlreadyUsed = false;
-
- for (Iterator iter = getAllColumns().iterator(); iter.hasNext();)
- if (newColId.equals(((DataColumnType) iter.next()).getColId())) {
- idAlreadyUsed = true;
- break;
- }
-
- if (!idAlreadyUsed)
- for (Iterator iter = updatedReportCols.iterator(); iter.hasNext();)
- if (newColId.equals(((DataColumnType) iter.next()).getColId())) {
- idAlreadyUsed = true;
- break;
- }
- } // for
-
- colId += (colIdN - 1);
- } // else
-
- if (dct == null) {
- dct = (new ObjectFactory()).createDataColumnType();
- dct.setColId(colId);
- dct.setDisplayWidth(10);
- dct.setDisplayAlignment("Left");
- dct.setVisible(true);
- dct.setGroupBreak(false); // ???
- if(!isCYMBALScript) {
- boolean isValidIdentifier = Character.isLetterOrDigit(sqlExpression.charAt(0));
- for (int i = 0; i < sqlExpression.length(); i++)
- if (!(Character.isLetterOrDigit(sqlExpression.charAt(i))
- || (sqlExpression.charAt(i) == '_') || (sqlExpression.charAt(i) == '$'))) {
- isValidIdentifier = false;
- break;
- } // if
-
- if (isValidIdentifier) {
- dct.setDisplayName(sqlExpression);
- } else {
- dct.setDisplayName(colId);
- } // else
- } else dct.setDisplayName(colId);
- } // if
- if(!isCYMBALScript)
- sqlExpression = sqlExpression.replaceAll(", '", ",'");
- dct.setDbColName(sqlExpression);
- dct.setColName(sqlExpression);
- dct.setCalculated(true);
- dct.setColType(AppConstants.CT_CHAR);
- dct.setDbColType(AppConstants.CT_CHAR);
- adjustColumnType(dct); // ???
- if(!isCYMBALScript) {
- if (parsedSQL.toString().equals("SELECT ")
- || parsedSQL.toString().equals("SELECT DISTINCT "))
- parsedSQL.append("\n\t");
- else
- parsedSQL.append(", \n\t");
- parsedSQL.append(sqlExpression);
- parsedSQL.append(" ");
- parsedSQL.append(colId);
- }
-
- return dct;
- } // getParseSQLDataColumn
-
- public void parseReportSQL(String sql) throws RaptorException {
- StringBuffer parsedSQL = new StringBuffer();
-
- Vector updatedReportCols = new Vector();
-
- curSQLParsePos = 0;
- int lastParsePos = curSQLParsePos;
- String lastToken = null;
- String nextToken = getNextSQLParseToken(sql, true);
-
- String dbInfo = getDBInfo();
- boolean isCYMBALScript = false;
- if (!isNull(dbInfo) && (!dbInfo.equals(AppConstants.DB_LOCAL))) {
- try {
- org.openecomp.portalsdk.analytics.util.RemDbInfo remDbInfo = new org.openecomp.portalsdk.analytics.util.RemDbInfo();
- String dbType = remDbInfo.getDBType(dbInfo);
- if (dbType.equals("DAYTONA") && !(nextToken.toUpperCase().equals("SELECT"))) {
- isCYMBALScript = true;
- }
- } catch (Exception ex) {
- throw new RaptorException(ex);
- }
- }
- if ( isCYMBALScript == false ) {
- while (nextToken.length() > 0) {
- if (parsedSQL.length() == 0) {
- if (nextToken.toUpperCase().equals("SELECT"))
- parsedSQL.append("SELECT ");
- else
- throw new org.openecomp.portalsdk.analytics.error.ValidationException(
- "The SQL must start with the SELECT keyword.");
- } else if (nextToken.toUpperCase().equals("DISTINCT")
- && parsedSQL.toString().equals("SELECT ")) {
- parsedSQL.append("DISTINCT ");
- } else if (nextToken.equals("*")
- && (parsedSQL.toString().equals("SELECT ") || parsedSQL.toString().equals(
- "SELECT DISTINCT "))) {
- throw new org.openecomp.portalsdk.analytics.error.ValidationException(
- "You cannot use \"SELECT *\". Please specify select columns/expressions.");
- } else if (nextToken.toUpperCase().equals("FROM")) {
- if (lastToken != null) {
- updatedReportCols.add(getParseSQLDataColumn(lastToken, null, parsedSQL,
- updatedReportCols, false));
- lastToken = null;
- }
-
- parsedSQL.append(" \n");
- while (lastParsePos < sql.length()
- && Character.isWhitespace(sql.charAt(lastParsePos)))
- lastParsePos++;
- parsedSQL.append(sql.substring(lastParsePos));
- break;
- } else {
- if (nextToken.charAt(nextToken.length() - 1) == ',') {
- // The token ends with ,
- nextToken = nextToken.substring(0, nextToken.length() - 1);
-
- if (nextToken.length() == 0) {
- if (lastToken != null) {
- updatedReportCols.add(getParseSQLDataColumn(lastToken, null,
- parsedSQL, updatedReportCols, false));
- lastToken = null;
- } // else just comma => ignore it
- } else {
- if (lastToken != null) {
- updatedReportCols.add(getParseSQLDataColumn(lastToken, nextToken,
- parsedSQL, updatedReportCols, false));
- lastToken = null;
- } else
- updatedReportCols.add(getParseSQLDataColumn(nextToken, null,
- parsedSQL, updatedReportCols, false));
- }
- } else {
- // The token doesn't end with ,
- if (lastToken == null)
- lastToken = nextToken;
- else {
- String token = getNextSQLParseToken(sql, false);
- if (!token.toUpperCase().equals("FROM"))
- throw new org.openecomp.portalsdk.analytics.error.ValidationException(
- "|FROM keyword or a comma expected after [" + nextToken
- + "].");
-
- updatedReportCols.add(getParseSQLDataColumn(lastToken, nextToken,
- parsedSQL, updatedReportCols, false));
- lastToken = null;
- } // else
- } // else
- } // else
-
- lastParsePos = curSQLParsePos;
- nextToken = getNextSQLParseToken(sql, true);
- } // while
- } else { // if CYMBAL Script
- curSQLParsePos = 0;
- Pattern re = null;
- Matcher matcher = null;
- String extracted = null;
- nextToken = getNextCYMBALSQLParseToken(sql,true);
- while (nextToken.length() > 0) {
- if (lastToken == null) lastToken = nextToken;
-
- if( lastToken.toUpperCase().startsWith("DO DISPLAY")) {
- re = Pattern.compile("each(.*)\\[.(.*?)\\]"); //\\[(.*?)\\]
- matcher = re.matcher(nextToken);
- if (matcher.find()) {
- extracted = matcher.group();
- re = Pattern.compile("\\[(.*?)\\]");
- matcher = re.matcher(nextToken);
- if(matcher.find()) {
- extracted = matcher.group();
- extracted = extracted.substring(1,extracted.length()-1);
- StringTokenizer sToken = new StringTokenizer(extracted, ",");
- while(sToken.hasMoreTokens()) {
- String str1 = sToken.nextToken().trim().substring(1);
- updatedReportCols.add(getParseSQLDataColumn("", str1,
- new StringBuffer(""), updatedReportCols, true));
- }
- }
-
- }
-
- }
- lastToken = nextToken;
- nextToken = getNextCYMBALSQLParseToken(sql, true);
- }
-
- }
- if (updatedReportCols.size() == 0)
- throw new org.openecomp.portalsdk.analytics.error.ValidationException(
- "The SQL statement must have at least one column in the SELECT clause.");
- if (getDataSourceList().getDataSource().size() == 0)
- addDataSourceType(new ObjectFactory(), "du0", "DUAL", "", "DUAL", null, null, null);
- DataSourceType dst = (DataSourceType) getDataSourceList().getDataSource().get(0);
- dst.getDataColumnList().getDataColumn().clear();
-
- for (int i = 0; i < updatedReportCols.size(); i++) {
- DataColumnType dct = (DataColumnType) updatedReportCols.get(i);
- dct.setTableId(dst.getTableId());
- dct.setOrderSeq(i + 1);
- dst.getDataColumnList().getDataColumn().add(dct);
- } // for
- setReportSQL(parsedSQL.toString());
- resetCache(false);
- } // parseReportSQL
-
- private String getNextCYMBALSQLParseToken(String sql, boolean updateParsePos) {
- int braketCount = 0;
- boolean isInsideQuote = false;
- StringBuffer nextToken = new StringBuffer();
- for (int idxNext = curSQLParsePos; idxNext < sql.length(); idxNext++) {
- char ch = sql.charAt(idxNext);
-
- if (ch!='\n') {
- nextToken.append(ch);
- if (updateParsePos)
- curSQLParsePos = idxNext;
- }
- else {
- curSQLParsePos = idxNext+1;
- break;
- }
- } // for
-
- return nextToken.toString();
- } // getNextSQLParseToken
-
- public void addChartAdditionalOptions(ObjectFactory objFactory) throws RaptorException {
- ChartAdditionalOptions chartOptions = objFactory.createChartAdditionalOptions();
- cr.setChartAdditionalOptions(chartOptions);
- }
-
- public void addChartDrillOptions(ObjectFactory objFactory) throws RaptorException {
- ChartDrillOptions chartOptions = objFactory.createChartDrillOptions();
- cr.setChartDrillOptions(chartOptions);
-}
-
- public void addDataminingOptions(ObjectFactory objFactory) throws RaptorException {
- DataminingOptions dataminingOptions = objFactory.createDataminingOptions();
- cr.setDataminingOptions(dataminingOptions);
- }
- /*public void addChartAdditionalOptions(ObjectFactory objFactory, String chartType, String chartMultiplePieOrder, String chartMultiplePieLabelDisplay,
- String chartOrientation, String secondaryChartRenderer, String chartDisplay, String legendPosition,
- String labelAngle) throws RaptorException {
- try {
- ChartAdditionalOptions chartOptions = objFactory.createChartAdditionalOptions();
-
- if (nvl(chartMultiplePieOrder).length() > 0)
- chartOptions.setChartMultiplePieOrder(chartMultiplePieOrder);
- if (nvl(chartMultiplePieLabelDisplay).length() > 0)
- chartOptions.setChartMultiplePieLabelDisplay(chartMultiplePieLabelDisplay);
- if (nvl(chartOrientation).length() > 0)
- chartOptions.setChartOrientation(chartOrientation);
- if (nvl(secondaryChartRenderer).length() > 0)
- chartOptions.setSecondaryChartRenderer(secondaryChartRenderer);
- if (nvl(chartDisplay).length() > 0)
- chartOptions.setChartDisplay(chartDisplay);
- if (nvl(legendPosition).length() > 0)
- chartOptions.setLegendPosition(legendPosition);
- if (nvl(labelAngle).length() > 0)
- chartOptions.setLabelAngle(labelAngle);
-
- cr.setChartAdditionalOptions(chartOptions);
- } catch (JAXBException ex) {
- throw new RaptorException(ex.getMessage(), ex.getCause());
- }
- } // addChartAdditionalOptions*/
-
-
-} // ReportDefinition
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/ReportLogEntry.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/ReportLogEntry.java
deleted file mode 100644
index db69e9d8..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/ReportLogEntry.java
+++ /dev/null
@@ -1,89 +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.definition;
-
-import org.openecomp.portalsdk.analytics.RaptorObject;
-
-public class ReportLogEntry extends RaptorObject {
- private String logTime = null;
-
- private String userName = null;
-
- private String action = null;
-
- private String timeTaken;
-
- private String runIcon;
-
- public ReportLogEntry() {
- super();
- }
-
- public ReportLogEntry(String logTime, String userName, String action, String timeTaken, String runIcon) {
- this();
-
- setLogTime(logTime);
- setUserName(userName);
- setAction(action);
- setTimeTaken(timeTaken);
- setRunIcon(runIcon);
- } // ReportLogEntry
-
- public String getLogTime() {
- return logTime;
- }
-
- public String getUserName() {
- return userName;
- }
-
- public String getAction() {
- return action;
- }
-
- public void setLogTime(String logTime) {
- this.logTime = logTime;
- }
-
- public void setUserName(String userName) {
- this.userName = userName;
- }
-
- public void setAction(String action) {
- this.action = action;
- }
-
- public String getTimeTaken() {
- return timeTaken;
- }
-
- public void setTimeTaken(String timeTaken) {
- this.timeTaken = timeTaken;
- }
-
- public String getRunIcon() {
- return runIcon;
- }
-
- public void setRunIcon(String runIcon) {
- this.runIcon = runIcon;
- }
-
-} // ReportLogEntry
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/ReportMap.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/ReportMap.java
deleted file mode 100644
index 450349c7..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/ReportMap.java
+++ /dev/null
@@ -1,82 +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.definition;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.openecomp.portalsdk.analytics.RaptorObject;
-
-public class ReportMap extends RaptorObject {
- String markerColor = "";
- String addressColumn = "";
- String dataColumn = "";
- String isMapAllowedYN = "";
- String addAddressInDataYN = "";
- List markers = new ArrayList();
-
- public String getIsMapAllowedYN() {
- return isMapAllowedYN;
- }
- public void setIsMapAllowedYN(String isMapAllowedYN) {
- this.isMapAllowedYN = isMapAllowedYN;
- }
- public ReportMap(String markerColor, String addressColumn, String dataColumn, String isMapAllowed, String addAddressInDataYN){
- this.setMarkerColor(markerColor);
- this.setAddressColumn(addressColumn);
- this.setDataColumn(dataColumn);
- this.setIsMapAllowedYN(isMapAllowed);
- this.setAddAddressInDataYN(addAddressInDataYN);
- }
- public String getAddressColumn() {
- return addressColumn;
- }
- public void setAddressColumn(String addressColumn) {
- this.addressColumn = addressColumn;
- }
- public String getDataColumn() {
- return dataColumn;
- }
- public void setDataColumn(String dataColumn) {
- this.dataColumn = dataColumn;
- }
- public String getMarkerColor() {
- return markerColor;
- }
- public void setMarkerColor(String markerColor) {
- this.markerColor = markerColor;
- }
- public List getMarkers() {
- return markers;
- }
- public void setMarkers(List markers) {
- this.markers = markers;
- }
- public String getAddAddressInDataYN() {
- return addAddressInDataYN;
- }
- public void setAddAddressInDataYN(String addAddressInDataYN) {
- this.addAddressInDataYN = addAddressInDataYN;
- }
-
-
-
-
-}
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/ReportSchedule.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/ReportSchedule.java
deleted file mode 100644
index d95c91b5..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/ReportSchedule.java
+++ /dev/null
@@ -1,1407 +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.definition;
-
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.io.Writer;
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.openecomp.portalsdk.analytics.RaptorObject;
-import org.openecomp.portalsdk.analytics.error.RaptorException;
-import org.openecomp.portalsdk.analytics.error.RaptorRuntimeException;
-import org.openecomp.portalsdk.analytics.error.ReportSQLException;
-import org.openecomp.portalsdk.analytics.error.UserDefinedException;
-import org.openecomp.portalsdk.analytics.model.base.IdNameValue;
-import org.openecomp.portalsdk.analytics.model.base.NameComparator;
-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.Utils;
-import org.openecomp.portalsdk.analytics.xmlobj.FormFieldType;
-import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
-
-public class ReportSchedule extends RaptorObject {
-
- EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(ReportSchedule.class);
-
-
- private String reportID = null;
-
- private String scheduleUserID = null;
-
- private String scheduleID = "";
-
- private boolean infoUpdated = false;
-
- private String schedEnabled = "Y";
-
- private String startDate = "";
-
- private String endDate = "";
-
- private String runDate = "";
-
- private String runHour = "12";
-
- private String runMin = "00";
-
- private String runAMPM = "AM";
-
- private String endHour = "11";
-
- private String endMin = "45";
-
- private String endAMPM = "PM";
-
- private String recurrence = "";
-
- private String conditional = "N";
-
- private String conditionSQL = "";
-
- private String notify_type = "1"; //1 -- link, 2 -- pdf, 4 -- excel, 3 -- csv
-
- private String encryptMode = "N"; //1 -- link, 2 -- pdf, 4 -- excel, 3 -- csv
-
- private String attachment = "Y"; //1 -- link, 2 -- pdf, 4 -- excel, 3 -- csv
-
- private String downloadLimit = "0";
-
- private String formFields = "";
-
- private Vector emailToUsers = new Vector();
-
- private Vector emailToRoles = new Vector();
-
- public ReportSchedule(String reportID, String scheduleUserID, boolean loadData, HttpServletRequest request) {
- super();
-
- setReportID(reportID);
- setScheduleUserID(scheduleUserID);
- if(loadData)
- loadScheduleData(request);
- else
- newScheduleData();
- } // ReportSchedule
-
- public ReportSchedule(String reportID, String scheduleID, String scheduleUserID, HttpServletRequest request) {
- super();
-
- setReportID(reportID);
- setScheduleID(scheduleID);
- setScheduleUserID(scheduleUserID);
- loadScheduleData(request);
- } // ReportSchedule
-
- void setReportID(String reportID) {
- this.reportID = reportID;
- }
-
- public String getSchedEnabled() {
- return schedEnabled;
- }
-
- public String getStartDate() {
- return startDate;
- }
-
- public String getEndDate() {
- return endDate;
- }
-
- public String getRunDate() {
- return runDate;
- }
-
- public String getRunHour() {
- return runHour;
- }
-
- public String getRunMin() {
- return runMin;
- }
-
- public String getRunAMPM() {
- return runAMPM;
- }
-
- public String getRecurrence() {
- return recurrence;
- }
-
- public String getConditional() {
- return conditional;
- }
-
- public String getConditionSQL() {
- return conditionSQL;
- }
-
- public List getEmailToUsers() {
- return emailToUsers;
- }
-
- public List getEmailToRoles() {
- return emailToRoles;
- }
-
- /**
- * @return the downloadLimit
- */
- public String getDownloadLimit() {
- return downloadLimit;
- }
-
- /**
- * @param downloadLimit the downloadLimit to set
- */
- public void setDownloadLimit(String downloadLimit) {
- if(nvl(downloadLimit).equals(this.downloadLimit))
- return;
- this.downloadLimit = nvl(downloadLimit,"0");
- infoUpdated = true;
- }
-
- /**
- * @return the formFields
- */
- public String getFormFields() {
- return formFields;
- }
-
- /**
- * @param formFields the formFields to set
- */
- public void setFormFields(String formFields) {
- if(nvl(formFields).equals(this.formFields))
- return;
- this.formFields = nvl(formFields);
- infoUpdated = true;
- }
-
- public String getNotify_type() {
- return notify_type;
- }
-
- /**
- * @param notify_type the notify_type to set
- * 1 -- link (default), 2 -- pdf, 4 -- excel
- */
- public void setNotify_type(String notify_type) {
- if(nvl(notify_type).equals(this.notify_type))
- return;
- this.notify_type = nvl(notify_type,"1");
- infoUpdated = true;
- }
-
- public void setSchedEnabled(String schedEnabled) {
- if (nvl(schedEnabled).equals(this.schedEnabled))
- return;
- infoUpdated = true;
- this.schedEnabled = nvl(schedEnabled, "N");
- }
-
- public void setStartDate(String startDate) {
- if (nvl(startDate).equals(this.startDate))
- return;
- infoUpdated = true;
- this.startDate = nvl(startDate);
- }
-
- public void setEndDate(String endDate) {
- if (nvl(endDate).equals(this.endDate))
- return;
- infoUpdated = true;
- this.endDate = nvl(endDate);
- }
-
- public void setRunDate(String runDate) {
- if (nvl(runDate).equals(this.runDate))
- return;
- infoUpdated = true;
- this.runDate = nvl(runDate);
- }
-
- public void setRunHour(String runHour) {
- if (nvl(runHour).equals(this.runHour))
- return;
- infoUpdated = true;
- this.runHour = nvl(runHour, "12");
- }
-
- public void setRunMin(String runMin) {
- if (nvl(runMin).equals(this.runMin))
- return;
- infoUpdated = true;
- this.runMin = nvl(runMin, "00");
- }
-
- public void setRunAMPM(String runAMPM) {
- if (nvl(runAMPM).equals(this.runAMPM))
- return;
- infoUpdated = true;
- this.runAMPM = nvl(runAMPM, "AM");
- }
-
- public void setRecurrence(String recurrence) {
- if (nvl(recurrence).equals(this.recurrence))
- return;
- infoUpdated = true;
- this.recurrence = nvl(recurrence);
- }
-
- public void setConditional(String conditional) {
- if (nvl(conditional).equals(this.conditional))
- return;
- infoUpdated = true;
- this.conditional = nvl(conditional, "N");
- }
-
- public void setConditionSQL(String conditionSQL) {
- if (nvl(conditionSQL).equals(this.conditionSQL))
- return;
- infoUpdated = true;
- this.conditionSQL = nvl(conditionSQL);
- }
-
- public void addEmailToUser(String userId, String userName) {
- if (nvl(userId).length() == 0)
- return;
-
- for (int i = 0; i < emailToUsers.size(); i++) {
- IdNameValue selUser = (IdNameValue) emailToUsers.get(i);
- if (userId.equals(selUser.getId()))
- return;
- } // for
-
- emailToUsers.add(new IdNameValue(userId, userName));
- Collections.sort(emailToUsers, new NameComparator());
- infoUpdated = true;
- } // addEmailToUser
-
-
- public void addEmailArrayToUser(ArrayList<IdNameValue> allSelectedUsers) {
- if (allSelectedUsers==null || allSelectedUsers.size()<=0)
- return;
- emailToUsers.removeAllElements();
- for (int i = 0; i < allSelectedUsers.size(); i++) {
- emailToUsers.add(allSelectedUsers.get(i));
- }
- Collections.sort(emailToUsers, new NameComparator());
- infoUpdated = true;
- } // addEmailArrayToUser
-
- public void removeEmailToUser(String userId) {
- if (nvl(userId).length() == 0)
- return;
-
- for (int i = 0; i < emailToUsers.size(); i++) {
- IdNameValue selUser = (IdNameValue) emailToUsers.get(i);
- if (userId.equals(selUser.getId())) {
- infoUpdated = true;
- emailToUsers.remove(i);
- return;
- } // if
- } // for
- } // removeEmailToUser
-
- public void addEmailToRole(String roleId, String roleName) {
- if (nvl(roleId).length() == 0)
- return;
-
- for (int i = 0; i < emailToRoles.size(); i++) {
- IdNameValue selRole = (IdNameValue) emailToRoles.get(i);
- if (roleId.equals(selRole.getId()))
- return;
- } // for
-
- emailToRoles.add(new IdNameValue(roleId, roleName));
- Collections.sort(emailToRoles, new NameComparator());
- infoUpdated = true;
- } // addEmailToRole
-
- public void addEmailArrayToRole(ArrayList<IdNameValue> allSelectedRoles) {
- if (allSelectedRoles==null || allSelectedRoles.size()<=0)
- return;
- emailToRoles.removeAllElements();
- for (int i = 0; i < allSelectedRoles.size(); i++) {
- emailToRoles.add(allSelectedRoles.get(i));
- }
- Collections.sort(emailToRoles, new NameComparator());
- infoUpdated = true;
- } // addEmailArrayToRole
-
- public void removeEmailToRole(String roleId) {
- if (nvl(roleId).length() == 0)
- return;
-
- for (int i = 0; i < emailToRoles.size(); i++) {
- IdNameValue selRole = (IdNameValue) emailToRoles.get(i);
- if (roleId.equals(selRole.getId())) {
- infoUpdated = true;
- emailToRoles.remove(i);
- return;
- } // if
- } // for
- } // addEmailToRole
-
- private void loadScheduleData(HttpServletRequest request) {
- try {
- StringBuffer query = new StringBuffer("");
- //query.append("SELECT rs.enabled_yn, TO_CHAR(rs.start_date, 'MM/DD/YYYY') start_date, TO_CHAR(rs.end_date, 'MM/DD/YYYY') end_date, TO_CHAR(rs.run_date, 'MM/DD/YYYY') run_date, NVL(TO_CHAR(rs.run_date, 'HH'), '12') run_hour, NVL(TO_CHAR(rs.run_date, 'MI'), '00') run_min, NVL(TO_CHAR(rs.run_date, 'AM'), 'AM') run_ampm, rs.recurrence, rs.conditional_yn, rs.notify_type, rs.max_row, rs.initial_formfields, rs.schedule_id, NVL(TO_CHAR(rs.end_date, 'HH'), '11') end_hour, NVL(TO_CHAR(rs.end_date, 'MI'), '45') end_min, NVL(TO_CHAR(rs.end_date, 'AM'), 'PM') end_ampm, encrypt_yn, attachment_yn FROM cr_report_schedule rs WHERE rs.rep_id = "
- // + reportID);
- String q_sql = Globals.getLoadScheduleData();
- q_sql = q_sql.replace("[reportID]", reportID);
- query.append(q_sql);
-
- if(!AppUtils.isAdminUser(request))
- query.append(" and rs.sched_user_id = " + getScheduleUserID());
- if(nvl(getScheduleID()).length()>0) {
- query.append(" and rs.schedule_id = " + getScheduleID());
- }
- query.append(" order by rs.run_date desc ");
-
- DataSet ds = DbUtils
- .executeQuery(query.toString());
-
- if (ds.getRowCount() > 0) {
- schedEnabled = nvl(ds.getString(0, 0), "N");
- startDate = nvl(ds.getString(0, 1));
- endDate = nvl(ds.getString(0, 2));
- runDate = nvl(ds.getString(0, 3));
- runHour = nvl(ds.getString(0, 4), "12");
- runMin = nvl(ds.getString(0, 5), "00");
- runAMPM = nvl(ds.getString(0, 6), "AM");
- recurrence = nvl(ds.getString(0, 7));
- conditional = nvl(ds.getString(0, 8), "N");
- //conditionSQL = nvl(ds.getString(0, 9));
- notify_type = nvl(ds.getString(0, 9), "1");
- downloadLimit = nvl(ds.getString(0, 10), "1000");
- //if(nvl(ds.getString(0, 13).)
- formFields = nvl(ds.getString(0, 11));
- setScheduleID(ds.getString(0, 12));
- endHour = nvl(ds.getString(0, 13), "11");
- endMin = nvl(ds.getString(0, 14), "45");
- endAMPM = nvl(ds.getString(0, 15), "PM");
- encryptMode = nvl(ds.getString(0, "encrypt_yn"), "N");
- attachment = nvl(ds.getString(0, "attachment_yn"), "Y");
- conditionSQL = loadConditionalSQL(getScheduleID());
- } else { // if
- //DataSet dsSeq = DbUtils.executeQuery("select SEQ_CR_REPORT_SCHEDULE.nextval from dual" );
- String n_sql = Globals.getNewScheduleData();
- DataSet dsSeq = DbUtils.executeQuery(n_sql);
- String schedule_id = dsSeq.getString(0,0);
- setScheduleID(schedule_id);
- }
- if(getScheduleID().length() > 0) {
- //ds = DbUtils
- // .executeQuery("SELECT rsu.user_id, fuser.last_name||', '||fuser.first_name, fuser.login_id FROM cr_report_schedule_users rsu, fn_user fuser WHERE rsu.rep_id = "
- // + reportID + " AND rsu.schedule_id = " + getScheduleID() + " and rsu.user_id IS NOT NULL and rsu.user_id = fuser.user_id");
-
- String t_sql = Globals.getLoadScheduleGetId();
- t_sql = t_sql.replace("[reportID]", reportID);
- t_sql = t_sql.replace("[getScheduleID()]", getScheduleID());
-
- ds = DbUtils.executeQuery(t_sql);
-
- for (int i = 0; i < ds.getRowCount(); i++){
- String nameToDisplay = ds.getString(i, 1);
- if (Globals.getUseLoginIdInSchedYN()!= null && Globals.getUseLoginIdInSchedYN().equals("Y")) {
- nameToDisplay = ds.getString(i, 2);
- }
- if(nameToDisplay!=null && nameToDisplay.length() > 0)
- emailToUsers.add(new IdNameValue(ds.getString(i, 0), nameToDisplay));
- else
- emailToUsers.add(new IdNameValue(ds.getString(i, 0), ds.getString(i, 1)));
- }
- Collections.sort(emailToUsers, new NameComparator());
-
- //ds = DbUtils
- // .executeQuery("SELECT rsu.role_id FROM cr_report_schedule_users rsu WHERE rsu.rep_id = "
- // + reportID + " AND rsu.schedule_id = " + getScheduleID() + " AND rsu.role_id IS NOT NULL");
-
- String r_sql = Globals.getLoadScheduleUsers();
- r_sql = r_sql.replace("[reportID]", reportID);
- r_sql = r_sql.replace("[getScheduleID()]", getScheduleID());
-
- ds = DbUtils.executeQuery(r_sql);
-
- for (int i = 0; i < ds.getRowCount(); i++)
- emailToRoles.add(new IdNameValue(ds.getString(i, 0), AppUtils.getRoleName(ds
- .getString(i, 0))));
- Collections.sort(emailToRoles, new NameComparator());
-
- infoUpdated = false;
- }
- } catch (Exception e) {
- throw new RuntimeException(
- "[ReportSchedule.loadScheduleData] Unable to load Report " + reportID
- + " schedule. Error: " + e.getMessage());
- }
- } // loadScheduleData
-
- private void newScheduleData() {
- try {
- //DataSet dsSeq = DbUtils.executeQuery("select SEQ_CR_REPORT_SCHEDULE.nextval from dual" );
- String sql = Globals.getNewScheduleData();
- DataSet dsSeq = DbUtils.executeQuery(sql);
-
- String schedule_id = dsSeq.getString(0,0);
- setScheduleID(schedule_id);
- } catch (Exception e) {
- throw new RuntimeException(
- "[ReportSchedule.newScheduleData] Unable to load Report " + reportID
- + " schedule. Error: " + e.getMessage());
- }
- } // newScheduleData
-
- private String parseScheduleSQL(HttpServletRequest request, String sql) throws RaptorException {
- DataSet ds = null;
-
- logger.debug(EELFLoggerDelegate.debugLogger, (sql));
- String[] reqParameters = Globals.getRequestParams().split(",");
- String[] sessionParameters = Globals.getSessionParams().split(",");
- String[] scheduleSessionParameters = Globals.getSessionParamsForScheduling().split(",");
- javax.servlet.http.HttpSession session = request.getSession();
- ReportRuntime rr = (ReportRuntime) session.getAttribute(AppConstants.SI_REPORT_RUNTIME);
- String userId = AppUtils.getUserID(request);
- String dbType = "";
- String dbInfo = rr.getDBInfo();
- ReportParamValues paramValues = rr.getReportParamValues();
- 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]))[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 ");
-
- if (rr.getFormFieldList() != null) {
- for (Iterator iter = rr.getFormFieldList().getFormField().iterator(); iter.hasNext();) {
-
- FormFieldType fft = (FormFieldType) iter.next();
- String fieldId = fft.getFieldId();
- String fieldDisplay = rr.getFormFieldDisplayName(fft);
- if(!fft.getFieldType().equals(FormField.FFT_BLANK)) {
- if (paramValues.isParameterMultiValue(fieldId)) {
- String replaceValue = rr.formatListValue(fieldDisplay, 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 whereField = sql.indexOf(" WHERE" , posSelectField);
- int andField = 0;
- if(posFormField > whereField)
- andField = sql.lastIndexOf(" AND ", posFormField);
- if (posFormField > andField && andField > whereField)
- 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(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);
- }*/
-
- }
- }
- }
-
- //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 = 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);
- }
- logger.debug(EELFLoggerDelegate.debugLogger, ("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(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(nvl(paramValues
- .getParamValue(fieldId+"_Hr") ) ):"") + ((nvl(paramValues
- .getParamValue(fieldId+"_Min") ).length()>0)?":" + addZero(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(nvl(paramValues
- .getParamValue(fieldId+"_Hr") ) ):"") + ((nvl(paramValues
- .getParamValue(fieldId+"_Min") ).length()>0)?":" + addZero(nvl(paramValues
- .getParamValue(fieldId+"_Min") ) ) : "") + ((nvl(paramValues
- .getParamValue(fieldId+"_Sec") ).length()>0)?":"+addZero(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 {
-
- logger.debug(EELFLoggerDelegate.debugLogger, ("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"));
- logger.debug(EELFLoggerDelegate.debugLogger, ("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 {
- logger.debug(EELFLoggerDelegate.debugLogger, (" Session " + " sessionParameters[i] " + sessionParameters[i] + " " + (String)session.getAttribute(sessionParameters[i])));
- sql = Utils.replaceInString(sql, "[" + sessionParameters[i].toUpperCase()+"]", (String)session.getAttribute(sessionParameters[i]) );
- //}
- }
- }
- } else {
- logger.debug(EELFLoggerDelegate.debugLogger, ("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);
- logger.debug(EELFLoggerDelegate.debugLogger, ("AFTER LOGGED USERID REPLACE " + sql));
- // Added for Simon's GM Project where they need to get page_id in their query
- logger.debug(EELFLoggerDelegate.debugLogger, ("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++) {
- logger.debug(EELFLoggerDelegate.debugLogger, (" Session " + " sessionParameters[i] " + sessionParameters[i] + " " + (String)session.getAttribute(sessionParameters[i])));
- sql = Utils.replaceInString(sql, "[" + sessionParameters[i].toUpperCase()+"]", (String)session.getAttribute(sessionParameters[i]) );
- }
- }
- }
- // 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);
- logger.debug(EELFLoggerDelegate.debugLogger, ("SQLSQLBASED no formfields after" + sql));
- //debugLogger.debug("Replacing String 2 "+ sql);
- //debugLogger.debug("Replaced String " + sql);
-
- sql = Pattern.compile("([\n][\\s]*)",Pattern.DOTALL).matcher(sql).replaceAll(" ");
- return sql;
-
- }
- public void persistScheduleData(Connection conn, HttpServletRequest request) throws RaptorException {
- if (!infoUpdated)
- return;
- if (reportID.equals("-1"))
- return;
-
-
- try {
- String sched_id = "";
- StringBuffer query = new StringBuffer("");
- query.append(" SELECT 1 FROM cr_report_schedule WHERE rep_id = " + reportID + " and schedule_id = " + getScheduleID());
- if(!AppUtils.isAdminUser(request))
- query.append(" and sched_user_id = " + getScheduleUserID());
- DataSet ds = DbUtils.executeQuery(conn, query.toString());
- if (ds.getRowCount() > 0) {
- StringBuffer sb = new StringBuffer();
- sb.append("UPDATE cr_report_schedule SET enabled_yn = '");
- sb.append(getSchedEnabled());
- sb.append("', start_date = ");
- if (getStartDate().length() > 0) {
- sb.append("TO_DATE('");
- sb.append(getStartDate());
- sb.append("', 'MM/DD/YYYY')");
- } else
- sb.append("NULL");
- sb.append(", end_date = ");
- if (getEndDate().length() > 0) {
- sb.append("TO_DATE('");
- sb.append(getEndDate());
- sb.append(" ");
- sb.append(getEndHour());
- sb.append(":");
- sb.append(getEndMin());
- sb.append(" ");
- sb.append(getEndAMPM());
- sb.append("', 'MM/DD/YYYY HH:MI AM')");
- } else
- sb.append("NULL");
- sb.append(", run_date = ");
- if (getRunDate().length() > 0) {
- sb.append("TO_DATE('");
- sb.append(getRunDate());
- sb.append(" ");
- sb.append(getRunHour());
- sb.append(":");
- sb.append(getRunMin());
- sb.append(" ");
- sb.append(getRunAMPM());
- sb.append("', 'MM/DD/YYYY HH:MI AM')");
- } else
- sb.append("NULL");
- sb.append(", recurrence = ");
- if (getRecurrence().length() > 0) {
- sb.append("'");
- sb.append(getRecurrence());
- sb.append("'");
- } else
- sb.append("NULL");
- sb.append(", conditional_yn = '");
- sb.append(getConditional());
- //sb.append("', condition_sql = ");
- sb.append("'");
-/* if (getConditionSQL().length() > 0) {
- sb.append("'");
- sb.append(parseScheduleSQL(request, Utils.oracleSafe(getConditionSQL())));
- sb.append("'");
- } else
- sb.append("NULL");
-*/
- sb.append(", notify_type = ");
- sb.append(getNotify_type());
- sb.append(", encrypt_yn = '");
- sb.append(getEncryptMode()+"'");
- sb.append(", attachment_yn = '");
- sb.append(getAttachmentMode()+"'");
- sb.append(", max_row = ");
- sb.append(getDownloadLimit());
- sb.append(", initial_formFields = '");
- sb.append(getFormFields()+"'");
- sb.append(", processed_formfields = ''");
- sb.append(" WHERE rep_id = ");
- sb.append(reportID + " and sched_user_id = ");
- sb.append(getScheduleUserID());
- sb.append(" and schedule_id = ");
- sb.append(getScheduleID());
-
- DbUtils.executeUpdate(conn, sb.toString());
- } else {
- //DataSet dsSeq = DbUtils.executeQuery("select seq_cr_report_schedule.nextval from dual " );
- String w_sql = Globals.getNewScheduleData();
- DataSet dsSeq = DbUtils.executeQuery(w_sql);
- String schedule_id = dsSeq.getString(0,0);
- setScheduleID(schedule_id);
- StringBuffer sb = new StringBuffer();
- sb.append("INSERT INTO cr_report_schedule (schedule_id, sched_user_id, rep_id, enabled_yn, start_date, end_date, run_date, recurrence, conditional_yn, notify_type, max_row, initial_formfields, encrypt_yn, attachment_yn) VALUES(");
- sb.append(getScheduleID() + ", ");
- sb.append(getScheduleUserID() + ", ");
- sb.append(reportID);
- sb.append(", '");
- sb.append(getSchedEnabled());
- sb.append("', ");
- if (getStartDate().length() > 0) {
- sb.append("TO_DATE('");
- sb.append(getStartDate());
- sb.append("', 'MM/DD/YYYY')");
- } else
- sb.append("NULL");
- sb.append(", ");
- if (getEndDate().length() > 0) {
- sb.append("TO_DATE('");
- sb.append(getEndDate());
- sb.append(" ");
- sb.append(getEndHour());
- sb.append(":");
- sb.append(getEndMin());
- sb.append(" ");
- sb.append(getEndAMPM());
- sb.append("', 'MM/DD/YYYY HH:MI AM')");
- } else
- sb.append("NULL");
- sb.append(", ");
- if (getRunDate().length() > 0) {
- sb.append("TO_DATE('");
- sb.append(getRunDate());
- sb.append(" ");
- sb.append(getRunHour());
- sb.append(":");
- sb.append(getRunMin());
- sb.append(" ");
- sb.append(getRunAMPM());
- sb.append("', 'MM/DD/YYYY HH:MI AM')");
- } else
- sb.append("NULL");
- sb.append(", ");
- if (getRecurrence().length() > 0) {
- sb.append("'");
- sb.append(getRecurrence());
- sb.append("'");
- } else
- sb.append("NULL");
- sb.append(", '");
- sb.append(getConditional());
- sb.append("', ");
-/* if (getConditionSQL().length() > 0) {
- sb.append("'");
- sb.append(parseScheduleSQL(request, Utils.oracleSafe(getConditionSQL())));
- sb.append("'");
- } else
- sb.append("NULL");
- sb.append(", ");
-*/
- sb.append(getNotify_type());
- sb.append(", ");
- sb.append(getDownloadLimit());
- sb.append(", '");
- sb.append(getFormFields()+"'");
- sb.append(",'");
- sb.append(getEncryptMode()+"'");
- sb.append(",'");
- sb.append(getAttachmentMode()+"'");
- sb.append(")");
- DbUtils.executeUpdate(conn, sb.toString());
-
- } // else
-
-
- //DbUtils.executeUpdate(conn,
- // "DELETE cr_report_schedule_users WHERE rep_id = " + reportID+ " and schedule_id = " + getScheduleID());
-
- String d_sql = Globals.getExecuteUpdate();
- d_sql = d_sql.replace("[reportID]", reportID);
- d_sql = d_sql.replace("[getScheduleID()]", getScheduleID());
-
- DbUtils.executeUpdate(conn, d_sql);
-
- for (int i = 0; i < emailToUsers.size(); i++){
- //DbUtils.executeUpdate(conn,
- // "INSERT INTO cr_report_schedule_users (schedule_id, rep_id, user_id, role_id, order_no) VALUES("
- // + getScheduleID() + ", "
- // + reportID + ", "
- // + ((IdNameValue) emailToUsers.get(i)).getId() + ", NULL, "
- // + (i + 1) + ")");
-
- String sql = Globals.getExecuteUpdateUsers();
- sql = sql.replace("[getScheduleID()]", getScheduleID());
- sql = sql.replace("[reportID]", reportID);
- sql = sql.replace("[emailToUsers.get(i)).getId()]", ((IdNameValue) emailToUsers.get(i)).getId());
- sql = sql.replace("[(i + 1)]", String.valueOf(i + 1));
- DbUtils.executeUpdate(conn, sql);
-
- }
- for (int i = 0; i < emailToRoles.size(); i++){
- //DbUtils.executeUpdate(conn,
- // "INSERT INTO cr_report_schedule_users (schedule_id, rep_id, user_id, role_id, order_no) VALUES("
- // + getScheduleID() +", "
- // + reportID + ", NULL, "
- // + ((IdNameValue) emailToRoles.get(i)).getId() + ", "
- // + (emailToUsers.size() + i + 1) + ")");
-
- String sql = Globals.getExecuteUpdateRoles();
- sql = sql.replace("[getScheduleID()]", getScheduleID());
- sql = sql.replace("[reportID]", reportID);
- sql = sql.replace("[emailToRoles.get(i)).getId()]", ((IdNameValue) emailToRoles.get(i)).getId());
- sql = sql.replace("[((emailToUsers.size() + i + 1)]", String.valueOf(emailToUsers.size() + i + 1));
-
- DbUtils.executeUpdate(conn, sql);
- }
- //if (conn == null)
- DbUtils.commitTransaction(conn);
-
- persistConditionSql(conn, getScheduleID(), parseScheduleSQL(request, getConditionSQL()));
-
-
- logger.debug(EELFLoggerDelegate.debugLogger, ("[DEBUG MESSAGE FROM RAPTOR] DB update report " + reportID + " - schedule data updated"));
- //DbUtils.executeUpdate(conn,
- // "INSERT into cr_schedule_activity_log (schedule_id, notes, run_time) values ("+getScheduleID()+",'Submitted:Schedule',TO_DATE('"+ getRunDate()+" "+ getRunHour()+":"+getRunMin()+" "+getRunAMPM()+"', 'MM/DD/YYYY HH:MI AM'))");
- String e_sql = Globals.getExecuteUpdateActivity();
- e_sql = e_sql.replace("[getScheduleID()]", getScheduleID());
- e_sql = e_sql.replace("[getRunDate()]", getRunDate());
- e_sql = e_sql.replace("[getRunHour()]", getRunHour());
- e_sql = e_sql.replace("[getRunMin()]", getRunMin());
- e_sql = e_sql.replace("[getRunAMPM()]", getRunAMPM());
-
- DbUtils.executeUpdate(conn, e_sql);
-
- infoUpdated = false;
-
- } catch (RaptorException e) {
- if (conn != null)
- DbUtils.rollbackTransaction(conn);
- throw e;
- } // catch
-
- } // persistScheduleData
-
- //deleting the schedule - Start
- public void deleteScheduleData(Connection conn) throws RaptorException {
- if (reportID.equals("-1"))
- return;
-
- Connection connection = (conn != null) ? conn : DbUtils.startTransaction();
- String sched_id = "";
- try {
- //DataSet ds = DbUtils.executeQuery(connection,
- // "SELECT 1 FROM cr_report_schedule WHERE rep_id = " + reportID +" and sched_user_id = " + getScheduleUserID() + " and schedule_id = " + getScheduleID());
- String a_sql = Globals.getDeleteScheduleData();
- a_sql = a_sql.replace("[reportID]", reportID);
- a_sql = a_sql.replace("[getScheduleUserID()]", getScheduleUserID());
- a_sql = a_sql.replace("[getScheduleID()]", getScheduleID());
- DataSet ds = DbUtils.executeQuery(connection, a_sql);
-
- if (ds.getRowCount() > 0) {
- //DbUtils.executeUpdate(connection,
- // "DELETE cr_report_schedule_users WHERE rep_id = " + reportID+ " and schedule_id = " + getScheduleID());
- String b_sql = Globals.getDeleteScheduleDataUsers();
- b_sql = b_sql.replace("[reportID]", reportID);
- b_sql = b_sql.replace("[getScheduleID()]", getScheduleID());
-
- DbUtils.executeUpdate(connection, b_sql);
-
- StringBuffer sb = new StringBuffer();
- String c_sql = Globals.getDeleteScheduleDataId();
- c_sql = c_sql.replace("[reportID]", reportID);
- c_sql = c_sql.replace("[getScheduleUserID()]", getScheduleUserID());
- c_sql = c_sql.replace("[getScheduleID()]", getScheduleID());
-
- sb.append(c_sql);
- //sb.append("DELETE FROM cr_report_schedule where rep_id = " + reportID +" and sched_user_id = " + getScheduleUserID() + " and schedule_id = " + getScheduleID());
-
- DbUtils.executeUpdate(connection, sb.toString());
- }
- if (conn == null)
- DbUtils.commitTransaction(connection);
-
- logger.debug(EELFLoggerDelegate.debugLogger, ("[DEBUG MESSAGE FROM RAPTOR] DB update report " + reportID + " - schedule data deleted"));
- } catch (RaptorException e) {
- if (conn == null)
- DbUtils.rollbackTransaction(connection);
- throw e;
- } // catch
- finally {
- if (conn == null)
- DbUtils.clearConnection(connection);
- }
- } //deleteScheduleData
-
- public String getScheduleUserID() {
- return scheduleUserID;
- }
-
- public void setScheduleUserID(String scheduleUserID) {
- this.scheduleUserID = scheduleUserID;
- }
-
- public String getScheduleID() {
- return nvl(scheduleID);
- }
-
- public void setScheduleID(String scheduleID) {
- this.scheduleID = scheduleID;
- }
-
- public String getEndAMPM() {
- return endAMPM;
- }
-
- public void setEndAMPM(String endAMPM) {
- if (nvl(endAMPM).equals(this.endAMPM))
- return;
- infoUpdated = true;
- this.endAMPM = nvl(endAMPM, "PM");
- }
-
- public String getEndHour() {
- return endHour;
- }
-
- public void setEndHour(String endHour) {
- if (nvl(endHour).equals(this.endHour))
- return;
- infoUpdated = true;
- this.endHour = nvl(endHour, "11");
- }
-
- public String getEndMin() {
- return endMin;
- }
-
- public void setEndMin(String endMin) {
- if (nvl(endMin).equals(this.endMin))
- return;
- infoUpdated = true;
- this.endMin = nvl(endMin, "45");
- }
-
- public static boolean isNull(String a) {
- if ((a == null) || (a.length() == 0) || a.equalsIgnoreCase("null"))
- return true;
- else
- return false;
- }
-
- 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 static String loadConditionalSQL(String scheduleId)
- throws RaptorException {
- StringBuffer sb = new StringBuffer();
-
- PreparedStatement stmt = null;
-
- ResultSet rs = null;
- String condition_sql = "";
- Connection connection = null;
-
- try {
- connection = DbUtils.getConnection();
-
- //String sql = "SELECT condition_large_sql FROM cr_report_schedule WHERE schedule_id=?";
- String sql = Globals.getLoadCondSql();
- stmt = connection.prepareStatement(sql);
- stmt.setString(1,scheduleId);
- rs = stmt.executeQuery();
- if(Globals.isWeblogicServer()) {
- java.sql.Clob clob= null;
- Object obj = null;
- if (rs.next()) {
- clob = rs.getClob(1);
- }
- else
- throw new RuntimeException("Schedule ID " + scheduleId + " not found in the database");
-
- int len = 0;
- char[] buffer = new char[512];
- Reader in = null;
- in = new InputStreamReader(clob.getAsciiStream());
- // if(obj instanceof oracle.sql.CLOB) {
- // in = ((oracle.sql.CLOB) obj).getCharacterStream();
- // } else if (obj instanceof weblogic.jdbc.wrapper.Clob) {
- // in = ((weblogic.jdbc.base.BaseClob) obj).getCharacterStream();
- // }
- while ((len = in.read(buffer)) != -1)
- sb.append(buffer, 0, len);
- in.close();
- } else if (Globals.isPostgreSQL() || Globals.isMySQL()) {
- String clob= null;
- Object obj = null;
- if (rs.next()) {
- sb.append(rs.getString(1));
- }
- else
- throw new RaptorException("Schedule ID " + scheduleId + " not found in the database");
- } else {
- /*oracle.sql.CLOB clob = null;
- if (rs.next())
- clob = (oracle.sql.CLOB) rs.getObject(1);
- else
- throw new RuntimeException("Schedule ID " + scheduleId + " not found in the database");
- int len = 0;
- char[] buffer = new char[512];
- Reader in = null;
- if(clob!=null) {
- in = clob.getCharacterStream();
- while ((len = in.read(buffer)) != -1)
- sb.append(buffer, 0, len);
- in.close();
- }*/
- throw new RaptorException("only maria db support for this ");
-
- }
- } catch (SQLException ex) {
- try {
- StringBuffer query = new StringBuffer("");
-
- query.append(" SELECT condition_sql FROM cr_report_schedule WHERE schedule_id = " + scheduleId);
- DataSet ds = DbUtils.executeQuery(query.toString());
- if(ds.getRowCount()>0) {
- condition_sql = ds.getString(0,0);
- }
- return condition_sql;
- //throw new ReportSQLException (ex.getMessage(), ex.getCause());
- } catch (RaptorException e) {
- DbUtils.rollbackTransaction(connection);
- throw e;
- } // catch
-
- finally {
- DbUtils.clearConnection(connection);
- }
-
- } catch (IOException ex) {
- throw new RaptorRuntimeException (ex.getMessage(), ex.getCause());
- } finally {
- try {
- if (connection != null)
- DbUtils.clearConnection(connection);
- if(rs!=null)
- rs.close();
- if(stmt!=null)
- stmt.close();
- } catch (SQLException ex) {
- throw new ReportSQLException (ex.getMessage(), ex.getCause());
- }
- }
- return sb.toString();
- } // loadConditionalSQL
-
- private static void persistConditionSql(Connection connection, String scheduleId, String conditional_sql) throws RaptorException {
- PreparedStatement stmt = null;
- ResultSet rs = null;
-
- try {
- //String sql = "update cr_report_schedule set condition_large_sql = EMPTY_CLOB() where schedule_id = " + scheduleId;
- String sql = Globals.getPersistCondSqlUpdate();
- sql = sql.replace("[scheduleId]", scheduleId);
-
- DbUtils.executeUpdate(sql);
- //sql = "SELECT condition_large_sql FROM cr_report_schedule cr WHERE schedule_id=? FOR UPDATE";
- sql = Globals.getPersistCondSqlLarge();
- stmt = connection.prepareStatement(sql);
- stmt.setString(1,scheduleId);
- rs = stmt.executeQuery();
- Writer out = null;
- /*if(Globals.isWeblogicServer()) {
- java.sql.Clob clob = null;
- if (rs.next())
- clob = rs.getClob(1);
- else
- throw new RuntimeException("Schedule ID " + scheduleId + " not found in the database");
-
- if (clob.length() > conditional_sql.length())
- clob.truncate(0);
- //clob.trim(reportXML.length());
- out = ((weblogic.jdbc.vendor.oracle.OracleThinClob)clob).getCharacterOutputStream();
- } else*/
- if (Globals.isPostgreSQL() || Globals.isMySQL()) {
- if (rs.next()) {
- rs.updateString(1,conditional_sql);
- rs.updateRow();
- //sb.append(rs.getString(1));
- }
- else
- throw new RaptorException("Schedule ID " + scheduleId + " not found in the database");
- } else {/*
- oracle.sql.CLOB clob = null;
- if (rs.next())
- clob = (oracle.sql.CLOB) rs.getObject(1);
- else
- throw new RuntimeException("Schedule ID " + scheduleId + " not found in the database");
-
- if (clob.length() > conditional_sql.length())
- clob.trim(conditional_sql.length());
- out = clob.getCharacterOutputStream();*/
- throw new RaptorException("only maria db support for this ");
-
- }
- out.write(conditional_sql);
- out.flush();
- out.close();
- } catch (RaptorException ex) {
- if(ex.getMessage().indexOf("invalid identifier")!= -1) {
- try {
- //String sql = "update cr_report_schedule set condition_sql = ? where schedule_id = " + scheduleId;
- String sql = Globals.getPersistCondSqlSet();
- sql = sql.replace("[scheduleId]", scheduleId);
- stmt = connection.prepareStatement(sql);
- stmt.setString(1,conditional_sql);
- stmt.executeUpdate();
- connection.commit();
- } catch (SQLException ex1) {
- try {
- connection.rollback();
- } catch (SQLException ex2) {}
-
- }
- } else {
- try {
- connection.rollback();
- } catch (SQLException ex2) {
- throw new ReportSQLException (ex2.getMessage(), ex2.getCause());
- }
- }
- } catch (SQLException ex) {
- try {
- connection.rollback();
- } catch (SQLException ex2) {
- throw new ReportSQLException (ex2.getMessage(), ex2.getCause());
- }
- } catch (IOException ex) {
- throw new RaptorRuntimeException (ex.getMessage(), ex.getCause());
- } finally {
- try {
- if(rs!=null)
- rs.close();
- if(stmt!=null)
- stmt.close();
- } catch (SQLException ex) {
- throw new ReportSQLException (ex.getMessage(), ex.getCause());
- }
- }
- } // persistConditionSql
-
- /**
- * Used to get encryption mode
- * @return the encryptMode
- */
- public String getEncryptMode() {
- return encryptMode;
- }
-
- /**
- * Used to set encryption mode
- * @param encryptMode the encryptMode to set
- */
- public void setEncryptMode(String encryptMode) {
- this.encryptMode = encryptMode;
- infoUpdated = true;
- }
-
-
- /**
- * Used to get Attachment mode
- * @return the attachment
- */
- public String getAttachmentMode() {
- return attachment;
- }
-
- public boolean isAttachmentMode() {
- return nvl(attachment).toUpperCase().startsWith("Y");
- }
-
- /**
- * Used to set Attachment mode
- * @param attachment to set
- */
- public void setAttachmentMode(String attachment) {
- this.attachment = attachment;
- infoUpdated = true;
- }
-} // ReportSchedule
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/SecurityEntry.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/SecurityEntry.java
deleted file mode 100644
index 4feddd6e..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/SecurityEntry.java
+++ /dev/null
@@ -1,44 +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.definition;
-
-import org.openecomp.portalsdk.analytics.model.base.IdNameValue;
-
-public class SecurityEntry extends IdNameValue {
- private boolean readOnly = true;
-
- public SecurityEntry() {
- super();
- }
-
- public SecurityEntry(String id, String name, boolean readOnly) {
- super(id, name);
- setReadOnly(readOnly);
- } // SecurityEntry
-
- public boolean isReadOnly() {
- return readOnly;
- }
-
- public void setReadOnly(boolean readOnly) {
- this.readOnly = readOnly;
- }
-
-} // SecurityEntry
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/TableJoin.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/TableJoin.java
deleted file mode 100644
index 6022d5a1..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/TableJoin.java
+++ /dev/null
@@ -1,67 +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.definition;
-
-import org.openecomp.portalsdk.analytics.RaptorObject;
-
-public class TableJoin extends RaptorObject {
- private String srcTableName = null;
-
- private String destTableName = null;
-
- private String joinExpr = null;
-
- public TableJoin() {
- super();
- }
-
- public TableJoin(String srcTableName, String destTableName, String joinExpr) {
- this();
-
- setSrcTableName(srcTableName);
- setDestTableName(destTableName);
- setJoinExpr(joinExpr);
- } // TableJoin
-
- public String getSrcTableName() {
- return srcTableName;
- }
-
- public String getDestTableName() {
- return destTableName;
- }
-
- public String getJoinExpr() {
- return joinExpr;
- }
-
- public void setSrcTableName(String srcTableName) {
- this.srcTableName = srcTableName;
- }
-
- public void setDestTableName(String destTableName) {
- this.destTableName = destTableName;
- }
-
- public void setJoinExpr(String joinExpr) {
- this.joinExpr = joinExpr;
- }
-
-} // TableJoin
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/TableSource.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/TableSource.java
deleted file mode 100644
index dc5b385a..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/TableSource.java
+++ /dev/null
@@ -1,101 +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.definition;
-
-import org.openecomp.portalsdk.analytics.RaptorObject;
-
-public class TableSource extends RaptorObject {
- private String tableName = null;
-
- private String displayName = null;
-
- private String pkFields = null;
-
- private String viewAction = null;
-
- private String isLargeData = null;
-
- private String filterSql = null;
-
- public TableSource() {
- super();
- }
-
- public TableSource(String tableName, String displayName, String pkFields,
- String viewAction, String isLargeData, String filterSql) {
- this();
-
- setTableName(tableName);
- setDisplayName(displayName);
- setPkFields(pkFields);
- setViewAction(viewAction);
- setIsLargeData(isLargeData);
- setFilterSql(filterSql);
- } // TableSource
-
- public String getTableName() {
- return tableName;
- }
-
- public String getDisplayName() {
- return displayName;
- }
-
- public String getPkFields() {
- return pkFields;
- }
-
- public String getViewAction() {
- return viewAction;
- }
-
- public String getIsLargeData() {
- return isLargeData;
- }
-
- public String getFilterSql() {
- return filterSql;
- }
-
- public void setTableName(String tableName) {
- this.tableName = tableName;
- }
-
- public void setDisplayName(String displayName) {
- this.displayName = displayName;
- }
-
- public void setPkFields(String pkFields) {
- this.pkFields = pkFields;
- }
-
- public void setViewAction(String viewAction) {
- this.viewAction = viewAction;
- }
-
- public void setIsLargeData(String isLargeData) {
- this.isLargeData = isLargeData;
- }
-
- public void setFilterSql(String filterSql) {
- this.filterSql = filterSql;
- }
-
-} // TableSource
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/pdf/PageEvent.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/pdf/PageEvent.java
deleted file mode 100644
index 34e38062..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/pdf/PageEvent.java
+++ /dev/null
@@ -1,256 +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.pdf;
-
-import java.awt.Color;
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-
-import org.openecomp.portalsdk.analytics.system.AppUtils;
-import org.openecomp.portalsdk.analytics.system.Globals;
-
-import com.lowagie.text.BadElementException;
-import com.lowagie.text.Cell;
-import com.lowagie.text.Document;
-import com.lowagie.text.ExceptionConverter;
-import com.lowagie.text.Font;
-import com.lowagie.text.FontFactory;
-import com.lowagie.text.Image;
-import com.lowagie.text.Paragraph;
-import com.lowagie.text.Rectangle;
-import com.lowagie.text.pdf.PdfContentByte;
-import com.lowagie.text.pdf.PdfDestination;
-import com.lowagie.text.pdf.PdfOutline;
-import com.lowagie.text.pdf.PdfPCell;
-import com.lowagie.text.pdf.PdfPTable;
-import com.lowagie.text.pdf.PdfPageEventHelper;
-import com.lowagie.text.pdf.PdfWriter;
-
-class PageEvent extends PdfPageEventHelper {
- private PdfBean pb;
- private int pageNo = 0;
- private int omit_page_count = 0;
- private int DEFAULT_LOGO_SIZE = 100;
-
- public PageEvent(PdfBean pb) {
- this.pb = pb;
- }
-
- private int getWidthEntries(int howManyLogos){
- int widthEntries = 0;
-
- if(howManyLogos == 2)
- widthEntries = 3;
- else
- if(howManyLogos == 1)
- widthEntries = 2;
- else
- widthEntries = 0;
-
- return widthEntries;
- }
-
- private int getHowManyLogos(){
- int howManyLogos = 0;
-
- if(AppUtils.isNotEmpty(pb.getLogo1Url()) && !pb.getLogo1Url().equalsIgnoreCase("<no logo>"))
- howManyLogos ++;
-
- if(AppUtils.isNotEmpty(pb.getLogo2Url()) && !pb.getLogo2Url().equalsIgnoreCase("<no logo>"))
- howManyLogos ++;
-
- return howManyLogos;
- }
-
- private float[] fillWidthsArray(int howManyLogos){
- float[] widthsArray = new float[howManyLogos + 1];
-
- //If one logo, we will need two columns in the header[left log, spacer]
- if(howManyLogos == 1){
- widthsArray = new float[2];
- widthsArray[0] = 0.1f;
- widthsArray[1] = 0.1f;
- }
- //If two logs, we will need three columns in the header [left log, spacer, right log]
- else
- if(howManyLogos == 2){
- widthsArray = new float[3];
- widthsArray[0] = 0.1f;
- widthsArray[1] = 0.5f;
- widthsArray[2] = 0.1f;
- }
-
- return widthsArray;
- }
- public void onStartPage(PdfWriter writer, Document document) {
-
- Font font = FontFactory.getFont(Globals.getFooterFontFamily(), Globals.getFooterFontSize(), Font.NORMAL, Color.BLACK);
- int howManyLogos = getHowManyLogos();
-
- //No need to draw anything in the header if no logo was set in the report.
- if(howManyLogos == 0)
- return;
-
- float[] widths = fillWidthsArray(howManyLogos);
-
- PdfPTable foot = new PdfPTable(widths);
-
- if(AppUtils.isNotEmpty(pb.getLogo1Url()) && !pb.getLogo1Url().equalsIgnoreCase("<no logo>"))
- addLogo(foot, font, pb.getLogo1Url().substring(pb.getLogo1Url().indexOf("|") + 1).trim(), Cell.ALIGN_LEFT, pb.getLogo1Size() == null ? DEFAULT_LOGO_SIZE : pb.getLogo1Size());
-
- PdfPCell spacingCell = new PdfPCell();
- spacingCell.setBorderColor(Color.WHITE);
- foot.addCell(spacingCell);
-
- //Using logo1 size for now - use logo2 size if it is required to deal it separately.
- if(AppUtils.isNotEmpty(pb.getLogo2Url()) && !pb.getLogo2Url().equalsIgnoreCase("<no logo>"))
- addLogo(foot, font, pb.getLogo2Url().substring(pb.getLogo2Url().indexOf("|") + 1).trim(), Cell.ALIGN_RIGHT, pb.getLogo2Size() == null ? DEFAULT_LOGO_SIZE : pb.getLogo2Size());
-
- foot.setTotalWidth(getPageWidth(document));
- foot.writeSelectedRows(0, -1, 36, 600, writer.getDirectContent());
- }
-
- public void onEndPage(PdfWriter writer, Document document) {
-
- Font font = FontFactory.getFont(Globals.getFooterFontFamily(), Globals.getFooterFontSize(), Font.NORMAL, Color.BLACK);
-
- try {
-
- // footer
- float[] f = { 1f, 0.4f, 1f };
- PdfPTable foot = new PdfPTable(f);
- foot.getDefaultCell().setBorderWidth(0);
- foot.getDefaultCell().setHorizontalAlignment(Rectangle.ALIGN_CENTER);
- foot.getDefaultCell().setVerticalAlignment(Rectangle.ALIGN_BOTTOM);
-
- foot.getDefaultCell().setHorizontalAlignment(Rectangle.ALIGN_LEFT);
- addLeftFooter(foot, font);
-
- foot.getDefaultCell().setHorizontalAlignment(Rectangle.ALIGN_CENTER);
- addPageNumber(foot, font, pb.isPageNumberAtFooter(), document.getPageNumber());
-
- foot.getDefaultCell().setHorizontalAlignment(Rectangle.ALIGN_RIGHT);
- foot.getDefaultCell().setNoWrap(true);
-
- foot.addCell(new Paragraph(" " + PdfReportHandler.currentTime(pb.getTimestampPattern()), font));
-
- foot.setTotalWidth(getPageWidth(document));
- foot.writeSelectedRows(0, -1, document.leftMargin(), document.bottomMargin(), writer.getDirectContent());
-
- // bookmark
- pageNo++;
- PdfContentByte cb = writer.getDirectContent();
- PdfDestination destination = new PdfDestination(PdfDestination.FITH);
- String bookmark = "Data Page " + (pageNo - omit_page_count);
- if (pageNo == 1) {
- if (pb.isCoverPageIncluded()) {
- bookmark = "Cover Page";
- omit_page_count++;
- } else if (pb.isDisplayChart()) {
- bookmark = "Chart";
- omit_page_count++;
- }
- }
- if (pageNo == 2 && pb.isCoverPageIncluded() && pb.isDisplayChart()) {
- bookmark = "Chart";
- omit_page_count++;
- }
-
- PdfOutline outline = new PdfOutline(cb.getRootOutline(), destination, bookmark);
-
- } catch (Exception e) {
- throw new ExceptionConverter(e);
- }
- }
-
- private void addPageNumber(PdfPTable table, Font font, boolean isAdd, int pageNum) {
- if (isAdd)
- table.addCell(new Paragraph(Globals.getWordBeforePageNumber() + " " + pageNum + " " + Globals.getWordAfterPageNumber(), font));
- else
- table.addCell("");
- }
-
- private void addLeftFooter(PdfPTable table, Font font) {
- Font font1 = new Font(font);
- font1.setSize(Globals.getAttProprieraryFontSize());
-
- if (isEmpty(pb.getLeftFooter()))
- table.addCell(new Paragraph(" " + Globals.getAttProprietary(), font1));
- else
- table.addCell(new Paragraph(pb.getLeftFooter(), font));
- }
-
- private void addHeaderDummy(PdfPTable table, Font font) {
- Font font1 = new Font(font);
- font1.setSize(Globals.getAttProprieraryFontSize());
-
- table.addCell(new Paragraph("Header row", font1));
- }
-
- private void addLogo(PdfPTable table, Font font, String imgSrc, int alignment, int absoluteSize) {
-
- Image img = null;
- try {
- img = Image.getInstance(pb.getFullWebContextPath() + AppUtils.getImgFolderURL() + File.separator + imgSrc);
- } catch (BadElementException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- img = null;
- } catch (MalformedURLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- img = null;
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
-
- }
- if(img == null){
- //log that the input file couldnt be loaded -
- }
- else{
- //img.scaleAbsolute(absoluteSize, absoluteSize);
- img.scalePercent(absoluteSize, absoluteSize);
- PdfPCell cell = new PdfPCell(img);
- cell.setBorderColor(Color.WHITE);
- cell.setHorizontalAlignment(alignment);
- table.addCell(cell);
- }
-
- }
-
- public static float getPageWidth(Document doc) {
- return doc.getPageSize().width() - doc.leftMargin() - doc.rightMargin();
- }
-
- public static float getPageHeight(Document doc) {
- return doc.getPageSize().height() - doc.topMargin() - doc.bottomMargin();
- }
-
- private float getHeadTopMargin(Document doc, PdfPTable table) {
- return doc.getPageSize().height() - doc.topMargin() + table.getTotalHeight();
- }
-
- private boolean isEmpty(String str) {
- return str == null || str.trim().length() == 0;
- }
-
-} // PageEvent
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/pdf/PdfBean.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/pdf/PdfBean.java
deleted file mode 100644
index 31b26435..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/pdf/PdfBean.java
+++ /dev/null
@@ -1,242 +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.pdf;
-
-
-public class PdfBean {
-
- public static final int NUMBER_IN_HEADER = 0;
- public static final int NUMBER_IN_FOOTER = 1;
- public static final int NUMBER_IN_BOTH = 2;
-
- private boolean alternateColor;
- private boolean isPortrait;
- private boolean isCoverPageIncluded;
- private boolean isDisplayChart;
- private int currentPage;
- private int whereToShowPageNumber;
- private String userId;
- private String timestampPattern;
- private String title;
- private String leftFooter;
- private String pagesize;
- private boolean isAttachmentOfEmail;
- private String logo1Url;
- private Integer logo1Size;
- private String logo2Url;
- private Integer logo2Size;
- private String fullWebContextPath;
-
- /**
- * @return the leftFooter
- */
- public String getLeftFooter() {
- return leftFooter;
- }
- /**
- * @param leftFooter the leftFooter to set
- */
- public void setLeftFooter(String leftFooter) {
- this.leftFooter = leftFooter;
- }
- /**
- * @return the title
- */
- public String getTitle() {
- return title;
- }
- /**
- * @param title the title to set
- */
- public void setTitle(String title) {
- this.title = title;
- }
- /**
- * @return the alternateColor
- */
- public boolean isAlternateColor() {
- return alternateColor;
- }
- /**
- * @param alternateColor the alternateColor to set
- */
- public void setAlternateColor(boolean alternateColor) {
- this.alternateColor = alternateColor;
- }
- /**
- * @return the currentPage
- */
- public int getCurrentPage() {
- return currentPage;
- }
- /**
- * @param currentPage the currentPage to set
- */
- public void setCurrentPage(int currentPage) {
- this.currentPage = currentPage;
- }
- /**
- * @return the isPortrait
- */
- public boolean isPortrait() {
- return isPortrait;
- }
- /**
- * @param isPortrait the isPortrait to set
- */
- public void setPortrait(boolean isPortrait) {
- this.isPortrait = isPortrait;
- }
- /**
- * @return the timestampPattern
- */
- public String getTimestampPattern() {
- return timestampPattern;
- }
- /**
- * @param timestampPattern the timestampPattern to set
- */
- public void setTimestampPattern(String timestampPattern) {
- this.timestampPattern = timestampPattern;
- }
- /**
- * @return the userId
- */
- public String getUserId() {
- return userId;
- }
- /**
- * @param userId the userId to set
- */
- public void setUserId(String userId) {
- this.userId = userId;
- }
- /**
- * @return the whereToShowPageNummber
- */
- public int getWhereToShowPageNumber() {
- return whereToShowPageNumber;
- }
- /**
- * @param whereToShowPageNumber the whereToShowPageNumber to set
- */
- public void setWhereToShowPageNumber(int whereToShowPageNumber) {
- this.whereToShowPageNumber = whereToShowPageNumber;
- }
-
- public boolean isPageNumberAtHeader() {
- return getWhereToShowPageNumber()==NUMBER_IN_BOTH ||
- getWhereToShowPageNumber()==NUMBER_IN_HEADER;
- }
-
- public boolean isPageNumberAtFooter() {
- return getWhereToShowPageNumber()==NUMBER_IN_FOOTER ||
- getWhereToShowPageNumber()==NUMBER_IN_BOTH;
- }
-
- /**
- * @return the isCoverPageIncluded
- */
- public boolean isCoverPageIncluded() {
- return isCoverPageIncluded;
- }
- /**
- * @param isCoverPageIncluded the isCoverPageIncluded to set
- */
- public void setCoverPageIncluded(boolean isCoverPageIncluded) {
- this.isCoverPageIncluded = isCoverPageIncluded;
- }
-
- public String toString() {
- return getTitle()+ " " +
- getCurrentPage() + " " +
- getTimestampPattern() + " " +
- getUserId()+ " " +
- getWhereToShowPageNumber()+ " " +
- isPortrait() + " " + isAlternateColor();
- }
- /**
- * @return the isDisplayChart
- */
- public boolean isDisplayChart() {
- return isDisplayChart;
- }
- /**
- * @param isDisplayChart the isDisplayChart to set
- */
- public void setDisplayChart(boolean isDisplayChart) {
- this.isDisplayChart = isDisplayChart;
- }
- /**
- * @return the pagesize
- */
- public String getPagesize() {
- return pagesize;
- }
- /**
- * @param pagesize the pagesize to set
- */
- public void setPagesize(String pagesize) {
- this.pagesize = pagesize;
- }
-
- public String getLogo1Url() {
- return logo1Url;
- }
- public void setLogo1Url(String logo1Url) {
- this.logo1Url = logo1Url;
- }
-
- public String getLogo2Url() {
- return logo2Url;
- }
- public void setLogo2Url(String logo2Url) {
- this.logo2Url = logo2Url;
- }
-
- public void setAttachmentOfEmail(boolean isAttachmentOfEmail) {
- this.isAttachmentOfEmail = isAttachmentOfEmail;
- }
-
- public boolean isAttachmentOfEmail() {
-
- return isAttachmentOfEmail;
- }
- public Integer getLogo1Size() {
- return logo1Size;
- }
- public void setLogo1Size(Integer logo1Size) {
- this.logo1Size = logo1Size;
- }
- public Integer getLogo2Size() {
- return logo2Size;
- }
- public void setLogo2Size(Integer logo2Size) {
- this.logo2Size = logo2Size;
- }
- public String getFullWebContextPath() {
- return fullWebContextPath;
- }
- public void setFullWebContextPath(String fullWebContextPath) {
- this.fullWebContextPath = fullWebContextPath;
- }
-
-
-}
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/pdf/PdfReportHandler.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/pdf/PdfReportHandler.java
deleted file mode 100644
index deac806d..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/pdf/PdfReportHandler.java
+++ /dev/null
@@ -1,1890 +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
- * ===========================================================================================
- *
- * -------------------------------------------------------------------------------------------
- * PdfReportHandler.java - This class is used to generate reports in PDF using iText
- * -------------------------------------------------------------------------------------------
- *
- *
- * Changes
- * -------
- * 14-Jul-2009 : Version 8.4 (Sundar); <UL>
- * <LI> Dashboard reports can be downloaded with each report occupying separate page including its charts. </LI>
- * </UL>
- *
- */
-package org.openecomp.portalsdk.analytics.model.pdf;
-
-import java.awt.Color;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.StringReader;
-import java.net.MalformedURLException;
-import java.sql.Connection;
-import java.sql.ResultSet;
-import java.sql.ResultSetMetaData;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-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.TimeZone;
-import java.util.TreeMap;
-import java.util.Vector;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
-
-import org.openecomp.portalsdk.analytics.error.RaptorException;
-import org.openecomp.portalsdk.analytics.error.ReportSQLException;
-import org.openecomp.portalsdk.analytics.model.ReportHandler;
-import org.openecomp.portalsdk.analytics.model.ReportLoader;
-import org.openecomp.portalsdk.analytics.model.base.IdNameValue;
-import org.openecomp.portalsdk.analytics.model.definition.ReportDefinition;
-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.Globals;
-import org.openecomp.portalsdk.analytics.util.AppConstants;
-import org.openecomp.portalsdk.analytics.util.DataSet;
-import org.openecomp.portalsdk.analytics.util.HtmlStripper;
-import org.openecomp.portalsdk.analytics.util.Utils;
-import org.openecomp.portalsdk.analytics.view.ColumnHeader;
-import org.openecomp.portalsdk.analytics.view.ColumnHeaderRow;
-import org.openecomp.portalsdk.analytics.view.DataRow;
-import org.openecomp.portalsdk.analytics.view.DataValue;
-import org.openecomp.portalsdk.analytics.view.HtmlFormatter;
-import org.openecomp.portalsdk.analytics.view.ReportData;
-import org.openecomp.portalsdk.analytics.view.RowHeader;
-import org.openecomp.portalsdk.analytics.view.RowHeaderCol;
-import org.openecomp.portalsdk.analytics.xmlobj.DataColumnType;
-import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
-
-import com.lowagie.text.BadElementException;
-import com.lowagie.text.Chunk;
-import com.lowagie.text.Document;
-import com.lowagie.text.DocumentException;
-import com.lowagie.text.Element;
-import com.lowagie.text.ElementTags;
-import com.lowagie.text.Font;
-import com.lowagie.text.FontFactory;
-import com.lowagie.text.Image;
-import com.lowagie.text.PageSize;
-import com.lowagie.text.Paragraph;
-import com.lowagie.text.Phrase;
-import com.lowagie.text.Rectangle;
-import com.lowagie.text.html.simpleparser.HTMLWorker;
-import com.lowagie.text.html.simpleparser.StyleSheet;
-import com.lowagie.text.pdf.PdfPCell;
-import com.lowagie.text.pdf.PdfPTable;
-import com.lowagie.text.pdf.PdfWriter;
-
-
-public class PdfReportHandler extends org.openecomp.portalsdk.analytics.RaptorObject{
-
- /**
- *
- */
- private PdfBean pb;
- private HtmlStripper strip = new HtmlStripper();
- private static final int RetryCreateNewImage = 3;
- private int retryCreateNewImageCount=0;
- EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(PdfReportHandler.class);
-
- private String FONT_FAMILY = "Arial";
- private int FONT_SIZE = 9;
-
- public PdfReportHandler() { }
-
- public void createPdfFileContent(HttpServletRequest request, HttpServletResponse response, int type) throws IOException, RaptorException {
-
- Document document = new Document();
- ReportHandler rh = new ReportHandler();
- String formattedDate = new SimpleDateFormat("MMddyyyyHHmm").format(new Date());
- String pdfFName = "";
- String user_id = AppUtils.getUserID(request);
- response.reset();
- response.setContentType("application/pdf");
- OutputStream outStream = response.getOutputStream();
-
- String formattedReportName = "";
- PdfWriter writer = null;
- ReportRuntime firstReportRuntimeObj = null;
- int returnValue = 0;
-
- ReportRuntime rr = null;
- if(rr==null) rr = (ReportRuntime) request.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME);
-
- boolean isDashboard = false;
- if ((request.getSession().getAttribute(AppConstants.SI_DASHBOARD_REP_ID)!=null) && ( ((String) request.getSession().getAttribute(AppConstants.SI_DASHBOARD_REP_ID)).equals(rr.getReportID())) ) {
- isDashboard = true;
- }
- if(isDashboard) {
- try {
- String reportID = (String) request.getSession().getAttribute(AppConstants.SI_DASHBOARD_REP_ID);
- ReportRuntime rrDash = rh.loadReportRuntime(request, reportID, true, 1);
- pb = preparePdfBean(request,rrDash);
-
- // Setting pb Values
- document.setPageSize(PageSize.getRectangle(pb.getPagesize()));
- if(!pb.isPortrait()) // get this from properties file
- document.setPageSize(document.getPageSize().rotate());
-
- //
- writer = PdfWriter.getInstance(document, response.getOutputStream());
- writer.setPageEvent(new PageEvent(pb));//header,footer,bookmark
- document.open();
-
- formattedReportName = new HtmlStripper().stripSpecialCharacters(rrDash.getReportName());
- if(pb.isAttachmentOfEmail())
- response.setHeader("Content-disposition", "inline");
- else
- response.setHeader("Content-disposition", "attachment;filename="+ formattedReportName+formattedDate+user_id+".pdf");
-
- pdfFName = "dashboard"+formattedReportName+formattedDate+user_id+".pdf";
- Map reportRuntimeMap = null;
- Map reportDataMap = null;
- Map reportDisplayTypeMap = null;
-
- reportRuntimeMap = (TreeMap) request.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP);
- reportDataMap = (TreeMap) request.getSession().getAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP);
- reportDisplayTypeMap = (TreeMap) request.getSession().getAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP);
-
- if(reportRuntimeMap!=null) {
- //ServletOutputStream sos = response.getOutputStream();
- Set setReportRuntime = reportRuntimeMap.entrySet();
- Set setReportDataMap = reportDataMap.entrySet();
- Set setReportDisplayTypeMap = reportDisplayTypeMap.entrySet();
-
- Iterator iter2 = setReportDataMap.iterator();
- Iterator iter3 = setReportDisplayTypeMap.iterator();
- int count = 0;
- for(Iterator iter = setReportRuntime.iterator(); iter.hasNext(); ) {
- count++;
- Map.Entry entryData = (Entry) iter2.next();
- Map.Entry entry = (Entry) iter.next();
- Map.Entry entryCheckChart = (Entry) iter3.next();
- //String rep_id = (String) entry.getKey();
- ReportRuntime rrDashRep = (ReportRuntime) entry.getValue();
-
- if(count == 1) {
- firstReportRuntimeObj = (ReportRuntime) entry.getValue();
- if(pb.isCoverPageIncluded()) {
- document = paintDashboardCoverPage(document, rrDash, firstReportRuntimeObj, request);
- }
- }
- ReportData rdDashRep = (ReportData) entryData.getValue();
- int col = 0;
- //pb.setDisplayChart(nvl(rr.getChartType()).trim().length()>0 && rr.getDisplayChart());
- if( ((rrDashRep.getChartType()).trim().length()>0 && rrDashRep.getDisplayChart()) && entryCheckChart.getValue().toString().equals("c")) {
- document.newPage();
- pb.setTitle(nvl(rrDashRep.getReportTitle()).length()>0?rrDashRep.getReportTitle():rrDashRep.getReportName());
- paintPdfImage(request, document,AppUtils.getTempFolderPath()+"cr_"+ pb.getUserId()+"_"+request.getSession().getId()+"_"+rrDashRep.getReportID()+".png", rrDashRep);
- } else {
- document.newPage();
- pb.setTitle(nvl(rrDashRep.getReportTitle()).length()>0?rrDashRep.getReportTitle():rrDashRep.getReportName());
- paintPdfData(request, document,rdDashRep,rrDashRep, "");
- }
- }
-
- }
- } catch (DocumentException dex) {dex.printStackTrace();}
- catch (RaptorException rex) {rex.printStackTrace();}
- } else {
-
- //ReportRuntime rr = (ReportRuntime) request.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME);
- //ReportData rd = (ReportData) request.getSession().getAttribute(AppConstants.RI_REPORT_DATA);
- rr = null;
- ReportData rd = null;
- String parent = "";
- int parentFlag = 0;
- if(!nvl(request.getParameter("parent"), "").equals("N")) parent = nvl(request.getParameter("parent"), "");
- if(parent.startsWith("parent_")) parentFlag = 1;
- if(parentFlag == 1) {
- rr = (ReportRuntime) request.getSession().getAttribute(parent+"_rr");
- rd = (ReportData) request.getSession().getAttribute(parent+"_rd");
- }
- if(rr==null) rr = (ReportRuntime) request.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME);
- if(rd==null) rd = (ReportData) request.getSession().getAttribute(AppConstants.RI_REPORT_DATA);
-
- pb = preparePdfBean(request,rr);
- FONT_FAMILY = rr.getPDFFont();
- FONT_SIZE = rr.getPDFFontSize();
- //System.out.println(pb);
-
- formattedReportName = new HtmlStripper().stripSpecialCharacters(rr.getReportName());
-
-
-
- response.setContentType("application/pdf");
- if(pb.isAttachmentOfEmail())
- response.setHeader("Content-disposition", "inline");
- else
- response.setHeader("Content-disposition", "attachment;filename="+ formattedReportName+formattedDate+user_id+".pdf");
-
- document.setPageSize(PageSize.getRectangle(pb.getPagesize()));
-
- if(!pb.isPortrait()) // get this from properties file
- document.setPageSize(document.getPageSize().rotate());
-
- try {
-
- writer = PdfWriter.getInstance(document, outStream);
- writer.setPageEvent(new PageEvent(pb));//header,footer,bookmark
- document.open();
-
- //System.out.println("Document 1 " + document);
- if(pb.isCoverPageIncluded()) {
- document = paintCoverPage(document, rr, request);
- }
-
- //boolean isImageRotate = false;
- //System.out.println("Document 2 " + document);
-
- if(pb.isDisplayChart()) {
- paintPdfImage(request, document,AppUtils.getTempFolderPath()+"cr_"+ pb.getUserId()+"_"+request.getSession().getId()+"_"+rr.getReportID()+".png", rr);
- }
- //System.out.println("Document 4" + document);
-
- document.newPage();
- if(type == 3 && rr.getSemaphoreList()==null && !(rr.getReportType().equals(AppConstants.RT_CROSSTAB)) ) { //type = 3 is whole
- String sql_whole = (String) request.getAttribute(AppConstants.RI_REPORT_SQL_WHOLE);
- returnValue = paintPdfData(request, document, rd, rr, sql_whole);
- } else if(type == 2) {
- returnValue = paintPdfData(request, document, rd, rr, "");
- } else {
- //String sql_whole = (String) request.getAttribute(AppConstants.RI_REPORT_SQL_WHOLE);
- int downloadLimit = (rr.getMaxRowsInExcelDownload()>0)?rr.getMaxRowsInExcelDownload():Globals.getDownloadLimit();
- String action = request.getParameter(AppConstants.RI_ACTION);
-
- if(!(rr.getReportType().equals(AppConstants.RT_CROSSTAB)) && !action.endsWith("session"))
- rd = rr.loadReportData(-1, AppUtils.getUserID(request), downloadLimit,request, false /*download*/);
- if(rr.getSemaphoreList()!=null) {
- rd = rr.loadReportData(-1, AppUtils.getUserID(request), downloadLimit,request, true);
- returnValue = paintPdfData(request, document, rd, rr, "");
- } else {
- returnValue = paintPdfData(request, document, rd, rr, rr.getWholeSQL());
- }
-
-
- }
-
-
- //paintPdfData(document,rd,rr);
-
-
- } catch (DocumentException de) {
- de.printStackTrace();
- //System.err.println("document: " + de.getMessage());
- }
-
- }
- document.close();
- int mb = 1024*1024;
- Runtime runtime = Runtime.getRuntime();
- logger.debug(EELFLoggerDelegate.debugLogger, ("##### Heap utilization statistics [MB] #####"));
- logger.debug(EELFLoggerDelegate.debugLogger, ("Used Memory:"
- + (runtime.maxMemory() - runtime.freeMemory()) / mb));
- logger.debug(EELFLoggerDelegate.debugLogger, ("Free Memory:"
- + runtime.freeMemory() / mb));
- logger.debug(EELFLoggerDelegate.debugLogger, ("Total Memory:" + runtime.totalMemory() / mb));
- logger.debug(EELFLoggerDelegate.debugLogger, ("Max Memory:" + runtime.maxMemory() / mb));
-
- }
-
- private Document paintCoverPage(Document doc, ReportRuntime rr, HttpServletRequest request) throws IOException, DocumentException {
-
- //System.out.println("PDFREPORTHANDLER STARTED ... " );
- if(nvl(rr.getPdfImg()).length()>0) {
- Image image1 = Image.getInstance(AppUtils.getExcelTemplatePath()+"../../"+AppUtils.getImgFolderURL()+rr.getPdfImg());
- image1.scalePercent(20f, 20f);
- doc.add(image1);
- }
- float firstColumnSize = Globals.getCoverPageFirstColumnSize();
- float[] relativeWidths = {firstColumnSize,1f-firstColumnSize};
- PdfPTable table = new PdfPTable(relativeWidths);
- table.getDefaultCell().setBorderWidth(0);
- addEmptyRows(table,6);
- HTMLWorker worker = new HTMLWorker(doc);
- StyleSheet style = new StyleSheet();
- style.loadTagStyle("body", "leading", "16,0");
- StringBuffer reportDescrBuf = new StringBuffer("");
- ArrayList descr = HTMLWorker.parseToList(new StringReader(nvl(rr.getReportDescr())), style);
- ArrayList paraList = null;
- if(nvl(rr.getReportTitle()).length()>0) {
- add2Cells(table,"Report Title : ",nvl(rr.getReportTitle()));
- } else {
- add2Cells(table,"Report Name : ",nvl(rr.getReportName()));
- }
- if((descr!=null && descr.size()>0)) {
- paraList = (com.lowagie.text.Paragraph)descr.get(0);
- for (int i=0 ; i<paraList.size(); i++) {
- reportDescrBuf.append(paraList.get(i));
- }
-
- }
- add2Cells(table,"Description : ",reportDescrBuf.toString());
- if(Globals.getSessionInfoForTheCoverPage().length()>0) {
- String nameValue[] = Globals.getSessionInfoForTheCoverPage().split(",");
- String name=nameValue[0];
- String value=nameValue[1];
- add2Cells(table,name+" : ",(AppUtils.getRequestNvlValue(request, value).length()>0?AppUtils.getRequestNvlValue(request, value):nvl((String)request.getSession().getAttribute(value))));
- }
-
- if(Globals.isCreatedOwnerInfoNeeded()) {
- add2Cells(table,"Created By : ",nvl(AppUtils.getUserName(rr.getCreateID())));
- add2Cells(table,"Owner : ",nvl(AppUtils.getUserName(rr.getOwnerID())));
- }
- if(Globals.displayLoginIdForDownloadedBy())
- add2Cells(table,"Downloaded by : ",nvl(AppUtils.getUserBackdoorLoginId(request)));
- else
- add2Cells(table,"Downloaded by : ",nvl(AppUtils.getUserName(AppUtils.getUserID(request))));
-
- addEmptyRows(table,1);
-
- boolean isFirstRow = true;
- ArrayList al = rr.getParamNameValuePairsforPDFExcel(request, 1);
- if(al.size()<=0) {
- al = (ArrayList) request.getSession().getAttribute(AppConstants.SI_FORMFIELD_DOWNLOAD_INFO);
- }
-
- Iterator it = al.iterator();
- addEmptyRows(table,1);
- //if(!Globals.customizeFormFieldInfo()) {
- if(rr.getFormFieldComments(request).length()<=0) {
- while(it.hasNext()) {
-
- if(isFirstRow) {
- add2Cells(table, "Run-time Criteria : ", " ");
- isFirstRow = false;
- }
-
- IdNameValue value = (IdNameValue)it.next();
- if(!value.getId().trim().equals("BLANK"))
- //System.out.println("PDFREPORTHANDLER " + value.getId()+" : "+value.getName());
- add2Cells(table, value.getId()+" : ",value.getName().replaceAll("~",","));
- //add2Cells(table, rr.getFormFieldComments(request), " ");
- }
- addEmptyRows(table,1);
- doc.add(table);
-
- } else {
- it = al.iterator();
- if(it.hasNext()) {
- //add2Cells(table, "Run-time Criteria : ", " ");
- addEmptyRows(table,1);
- doc.add(table);
- //com.lowagie.text.html.HtmlParser.parse(doc, new StringReader(rr.getFormFieldComments(request)));
- ArrayList p = HTMLWorker.parseToList(new StringReader(rr.getFormFieldComments(request).replaceAll("~",",")), style);
-
- for (int k = 0; k < p.size(); ++k){
- doc.add((com.lowagie.text.Element)p.get(k));
- }
- }
- }
-
- return doc;
- }
-
-
- private Document paintDashboardCoverPage(Document doc, ReportRuntime rrDashRep, ReportRuntime firstReportRuntimeObj, HttpServletRequest request) throws IOException, DocumentException {
-
- //System.out.println("PDFREPORTHANDLER STARTED ... " );
- float firstColumnSize = Globals.getCoverPageFirstColumnSize();
- float[] relativeWidths = {firstColumnSize,1f-firstColumnSize};
- PdfPTable table = new PdfPTable(relativeWidths);
- table.getDefaultCell().setBorderWidth(0);
- addEmptyRows(table,6);
-
- add2Cells(table,"Report Name : ",rrDashRep.getReportName());
- add2Cells(table,"Description : ",rrDashRep.getReportDescr());
- if(Globals.getSessionInfoForTheCoverPage().length()>0) {
- String nameValue[] = Globals.getSessionInfoForTheCoverPage().split(",");
- String name=nameValue[0];
- String value=nameValue[1];
- add2Cells(table,name+" : ",(AppUtils.getRequestNvlValue(request, value).length()>0?AppUtils.getRequestNvlValue(request, value):nvl((String)request.getSession().getAttribute(value))));
- }
-
- if(Globals.isCreatedOwnerInfoNeeded()) {
- add2Cells(table,"Created By : ",AppUtils.getUserName(rrDashRep.getCreateID()));
- add2Cells(table,"Owner : ",AppUtils.getUserName(rrDashRep.getOwnerID()));
- }
- if(Globals.displayLoginIdForDownloadedBy())
- add2Cells(table,"Downloaded by : ",AppUtils.getUserBackdoorLoginId(request));
- else
- add2Cells(table,"Downloaded by : ",AppUtils.getUserName(request));
-
- addEmptyRows(table,1);
-
- boolean isFirstRow = true;
- ArrayList al = firstReportRuntimeObj.getParamNameValuePairsforPDFExcel(request, 2);
- Iterator it = al.iterator();
- addEmptyRows(table,1);
- //if(!Globals.customizeFormFieldInfo()) {
- if(firstReportRuntimeObj.getFormFieldComments(request).length()<=0) {
- while(it.hasNext()) {
-
- if(isFirstRow) {
- add2Cells(table, "Run-time Criteria : ", " ");
- isFirstRow = false;
- }
-
- IdNameValue value = (IdNameValue)it.next();
- if(!value.getId().trim().equals("BLANK"))
- //System.out.println("PDFREPORTHANDLER " + value.getId()+" : "+value.getName());
- add2Cells(table, value.getId()+" : ",value.getName());
- //add2Cells(table, rr.getFormFieldComments(request), " ");
- }
- addEmptyRows(table,1);
- doc.add(table);
-
- } else {
- it = al.iterator();
- if(it.hasNext()) {
- //add2Cells(table, "Run-time Criteria : ", " ");
- addEmptyRows(table,1);
- doc.add(table);
- //com.lowagie.text.html.HtmlParser.parse(doc, new StringReader(rr.getFormFieldComments(request)));
- HTMLWorker worker = new HTMLWorker(doc);
- StyleSheet style = new StyleSheet();
- style.loadTagStyle("body", "leading", "16,0");
- ArrayList p = HTMLWorker.parseToList(new StringReader(firstReportRuntimeObj.getFormFieldComments(request)), style);
-
- for (int k = 0; k < p.size(); ++k){
- doc.add((com.lowagie.text.Element)p.get(k));
- }
- }
- }
-
- return doc;
- }
-
-
- public static void addEmptyRows(PdfPTable table, int rows) throws DocumentException {
- for (int i=0; i<rows; i++)
- for(int j=0;j<table.getAbsoluteWidths().length;j++)
- table.addCell(new Paragraph(" "));
-
- }
-
- private void add2Cells(PdfPTable table, String key, String value) {
-
- PdfPCell cell;
- cell = new PdfPCell(new Paragraph(key));
- cell.setHorizontalAlignment(Rectangle.ALIGN_RIGHT);
- cell.setBorderWidth(0f);
- table.addCell(cell);
-
- cell = new PdfPCell(new Paragraph(value));
- cell.setHorizontalAlignment(Rectangle.ALIGN_LEFT);
- cell.setBorderWidth(0f);
- table.addCell(cell);
- }
-
- private void paintPdfImage(HttpServletRequest request, Document document, String fileName, ReportRuntime rr)
- throws DocumentException
- {
-
- ArrayList images = getImage(request, fileName,pb.isAttachmentOfEmail()?true:false, rr);
- //Image image = getImage(request, fileName,pb.isAttachmentOfEmail()?true:false);
- PdfPTable table = null;
- PdfPCell cellValue = null;
- if(images!=null) {
-
- for (int i = 0; i < images.size(); i++) {
- table = new PdfPTable(1);
- cellValue = new PdfPCell();
- cellValue.setHorizontalAlignment(Rectangle.ALIGN_CENTER);
- Image image = (Image) images.get(i);
- image.setAlignment(Image.ALIGN_CENTER);
- //System.out.println("Document 3 " + document + " i-" + i);
- if(i%2 ==0)
- document.newPage();
- //System.out.println("Document 31 " + document);
- cellValue.setImage(image);
- //table.getDefaultCell().setHorizontalAlignment(Rectangle.ALIGN_CENTER);
- table.addCell(cellValue);
- //System.out.println("Document 32 " + document + "table " + table);
- document.add(table);
- //System.out.println("Document 33 " + document);
- }
- }
- }
-
- private ArrayList getImage(HttpServletRequest request, String fileName, boolean isGenerateNewImage, ReportRuntime rr) {
- ArrayList images = new ArrayList();
- if(!isGenerateNewImage) {
- try {
- Image image = Image.getInstance(fileName);
- images.add(image);
- return images;
- }
- catch (MalformedURLException e) {
- isGenerateNewImage = true;
- //e.printStackTrace();
- }
- catch (BadElementException e) {
- isGenerateNewImage = true;
- //e.printStackTrace();
-
- } catch (FileNotFoundException e) {
- isGenerateNewImage = true;
- //e.printStackTrace();
- } catch (IOException e) {
- isGenerateNewImage = true;
- //e.printStackTrace();
- }
- }
-
- if(isGenerateNewImage && retryCreateNewImageCount<RetryCreateNewImage){
- retryCreateNewImageCount++;
- return generateNewImage(request, rr);
- //return getImage(request,fileName, false);
- }
-
- return null;
-
- }
-
- private ArrayList generateNewImage(HttpServletRequest request, ReportRuntime rr) {
- ArrayList images = new ArrayList();
- try {
- //ReportRuntime rr = (ReportRuntime) request.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME);
- DataSet ds = null;
- if(request.getSession().getAttribute(AppConstants.RI_CHART_DATA)!=null) {
- ds = (DataSet) request.getSession().getAttribute(AppConstants.RI_CHART_DATA);
- } else {
- ds = rr.loadChartData(pb.getUserId(),request);
- }
- String downloadFileName = "";
- HashMap additionalChartOptionsMap = new HashMap();
- String chartType = nvl(rr.getChartType());
- if(chartType.equals(AppConstants.GT_PIE_MULTIPLE)) {
- additionalChartOptionsMap.put("multiplePieOrderRow", new Boolean((AppUtils.getRequestNvlValue(request, "multiplePieOrder").length()>0?AppUtils.getRequestNvlValue(request, "multiplePieOrder").equals("row"):rr.isMultiplePieOrderByRow())) );
- additionalChartOptionsMap.put("multiplePieLabelDisplay", AppUtils.getRequestNvlValue(request, "multiplePieLabelDisplay").length()>0? AppUtils.getRequestNvlValue(request, "multiplePieLabelDisplay"):rr.getMultiplePieLabelDisplay());
- additionalChartOptionsMap.put("chartDisplay", new Boolean(AppUtils.getRequestNvlValue(request, "chartDisplay").length()>0? AppUtils.getRequestNvlValue(request, "chartDisplay").equals("3D"):rr.isChartDisplayIn3D()));
- } else if (chartType.equals(AppConstants.GT_BAR_3D)) {
- additionalChartOptionsMap.put("chartOrientation", new Boolean((AppUtils.getRequestNvlValue(request, "chartOrientation").length()>0?AppUtils.getRequestNvlValue(request, "chartOrientation").equals("vertical"):rr.isVerticalOrientation())) );
- additionalChartOptionsMap.put("secondaryChartRenderer", AppUtils.getRequestNvlValue(request, "secondaryChartRenderer").length()>0? AppUtils.getRequestNvlValue(request, "secondaryChartRenderer"):rr.getSecondaryChartRenderer());
- additionalChartOptionsMap.put("chartDisplay", new Boolean(AppUtils.getRequestNvlValue(request, "chartDisplay").length()>0? AppUtils.getRequestNvlValue(request, "chartDisplay").equals("3D"):rr.isChartDisplayIn3D()));
- additionalChartOptionsMap.put("lastSeriesALineChart", new Boolean(rr.isLastSeriesALineChart()));
- } else if (chartType.equals(AppConstants.GT_LINE)) {
- additionalChartOptionsMap.put("chartOrientation", new Boolean((AppUtils.getRequestNvlValue(request, "chartOrientation").length()>0?AppUtils.getRequestNvlValue(request, "chartOrientation").equals("vertical"):rr.isVerticalOrientation())) );
- //additionalChartOptionsMap.put("secondaryChartRenderer", AppUtils.getRequestNvlValue(request, "secondaryChartRenderer").length()>0? AppUtils.getRequestNvlValue(request, "secondaryChartRenderer"):rr.getSecondaryChartRenderer());
- additionalChartOptionsMap.put("chartDisplay", new Boolean(AppUtils.getRequestNvlValue(request, "chartDisplay").length()>0? AppUtils.getRequestNvlValue(request, "chartDisplay").equals("3D"):rr.isChartDisplayIn3D()));
- additionalChartOptionsMap.put("lastSeriesABarChart", new Boolean(rr.isLastSeriesABarChart()));
- } else if (chartType.equals(AppConstants.GT_TIME_DIFFERENCE_CHART)) {
- additionalChartOptionsMap.put("intervalFromDate",AppUtils.getRequestNvlValue(request, "intervalFromDate").length()>0?AppUtils.getRequestNvlValue(request, "intervalFromDate"):rr.getIntervalFromdate());
- additionalChartOptionsMap.put("intervalToDate", AppUtils.getRequestNvlValue(request, "intervalToDate").length()>0? AppUtils.getRequestNvlValue(request, "intervalToDate"):rr.getIntervalTodate());
- additionalChartOptionsMap.put("intervalLabel", AppUtils.getRequestNvlValue(request, "intervalLabel").length()>0? AppUtils.getRequestNvlValue(request, "intervalLabel"):rr.getIntervalLabel());
- } else if (chartType.equals(AppConstants.GT_REGRESSION)) {
- additionalChartOptionsMap.put("regressionType",AppUtils.getRequestNvlValue(request, "regressionType").length()>0?AppUtils.getRequestNvlValue(request, "regressionType"):rr.getLinearRegression());
- additionalChartOptionsMap.put("linearRegressionColor",nvl(rr.getLinearRegressionColor()));
- additionalChartOptionsMap.put("expRegressionColor",nvl(rr.getExponentialRegressionColor()));
- additionalChartOptionsMap.put("maxRegression",nvl(rr.getCustomizedRegressionPoint()));
- } else if (chartType.equals(AppConstants.GT_STACK_BAR) ||chartType.equals(AppConstants.GT_STACKED_HORIZ_BAR) || chartType.equals(AppConstants.GT_STACKED_HORIZ_BAR_LINES)
- || chartType.equals(AppConstants.GT_STACKED_VERT_BAR) || chartType.equals(AppConstants.GT_STACKED_VERT_BAR_LINES)
- ) {
- additionalChartOptionsMap.put("overlayItemValue",new Boolean(nvl(rr.getOverlayItemValueOnStackBar()).equals("Y")));
- }
- additionalChartOptionsMap.put("legendPosition", nvl(rr.getLegendPosition()));
- additionalChartOptionsMap.put("hideToolTips", new Boolean(rr.hideChartToolTips()));
- additionalChartOptionsMap.put("hideLegend", new Boolean(AppUtils.getRequestNvlValue(request, "hideLegend").length()>0? AppUtils.getRequestNvlValue(request, "hideLegend").equals("Y"):rr.hideChartLegend()));
- additionalChartOptionsMap.put("labelAngle", nvl(rr.getLegendLabelAngle()));
- additionalChartOptionsMap.put("maxLabelsInDomainAxis", nvl(rr.getMaxLabelsInDomainAxis()));
- additionalChartOptionsMap.put("rangeAxisLowerLimit", nvl(rr.getRangeAxisLowerLimit()));
- additionalChartOptionsMap.put("rangeAxisUpperLimit", nvl(rr.getRangeAxisUpperLimit()));
-
-
- boolean totalOnChart = false;
- totalOnChart = AppUtils.getRequestNvlValue(request, "totalOnChart").equals("Y");
- String filename = null;
- ArrayList graphURL = new ArrayList();
- ArrayList chartNames = new ArrayList();
- ArrayList fileNames = new ArrayList();
- List l = rr.getAllColumns();
- List lGroups = rr.getAllChartGroups();
- HashMap mapYAxis = rr.getAllChartYAxis(rr.getReportParamValues());
- String chartLeftAxisLabel = rr.getFormFieldFilled(nvl(rr.getChartLeftAxisLabel()));
- String chartRightAxisLabel = rr.getFormFieldFilled(nvl(rr.getChartRightAxisLabel()));
- int displayTotalOnChart = 0;
- HashMap formValues = Globals.getRequestParamtersMap(request, false);
-
- for (Iterator iterC = l.iterator(); iterC.hasNext();) {
- DataColumnType dc = (DataColumnType) iterC.next();
- if(nvl(dc.getColName()).equals(AppConstants.RI_CHART_TOTAL_COL)) {
- displayTotalOnChart = 1;
- }
- }
-
- String legendColumnName = (rr.getChartLegendColumn()!=null)?rr.getChartLegendColumn().getDisplayName():"Legend Column";
-
-
-
- if(ds!=null)
- {
- if(rr.hasSeriesColumn() && chartType.equals(AppConstants.GT_TIME_SERIES) && (lGroups==null || lGroups.size() <= 0)) { /** Check whether Report has only category columns if so then all the columns will open in seperate chart - sundar**/
- for (int i=0; i<rr.getChartValueColumnAxisList(AppConstants.CHART_ALL_COLUMNS, formValues).size();i++) {
- String chartTitle = Globals.getDisplayChartTitle()? rr.getReportName():"";
- chartTitle = rr.getFormFieldFilled(chartTitle);
- downloadFileName = AppUtils.getTempFolderPath()+"cr_"+pb.getUserId()+"_"+request.getSession().getId()+"_"+rr.getReportID()+"_"+i+".png";
- filename = null;/*(String) ChartGen.generateChart( chartType,
- request.getSession(),
- ds,
- legendColumnName,
- chartLeftAxisLabel,
- chartRightAxisLabel,
- rr.getChartDisplayNamesList(AppConstants.CHART_ALL_COLUMNS, formValues).subList(i, i+1),
- rr.getChartColumnColorsList(AppConstants.CHART_ALL_COLUMNS, formValues).subList(i, i+1),
- rr.getChartValueColumnAxisList(AppConstants.CHART_ALL_COLUMNS, formValues).subList(i, i+1),
- "",
- chartTitle,
- null,
- rr.getChartWidthAsInt(),
- rr.getChartHeightAsInt(),
- rr.getChartValueColumnsList(AppConstants.CHART_ALL_COLUMNS, formValues).subList(i,i+1),
- rr.hasSeriesColumn(),
- //rr.isChartMultiSeries(),
- rr.isMultiSeries(),
- rr.getAllColumns(),
- downloadFileName,
- totalOnChart,
- AppConstants.WEB_VERSION deviceType,
- additionalChartOptionsMap,
- true
- );*/
- try {
- Image image = Image.getInstance(downloadFileName);
- images.add(image);
- } catch (MalformedURLException e) {
- e.printStackTrace();
- }
- catch (BadElementException e) {
- e.printStackTrace();
-
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- } else { /** first check the columns to be opened in new charts and loop around in ChartGen generate chart function - sundar**/
- String tempChartGroupPrev = "";
- String tempChartGroupCurrent = "";
- for (int i=0; i<lGroups.size();i++) {
- String chartGroupOrg = (String) lGroups.get(i);
- String chartYAxis = (String) mapYAxis.get(chartGroupOrg);
- //System.out.println("chartGroupOrg " + chartGroupOrg);
- if(nvl(chartGroupOrg).length()>0)
- tempChartGroupCurrent = chartGroupOrg.substring(0,chartGroupOrg.lastIndexOf("|"));
- if(i>0) tempChartGroupPrev = ((String) lGroups.get(i-1)).substring(0,((String) lGroups.get(i-1)).lastIndexOf("|"));
- //System.out.println("TEMPCHARTGROUP " + tempChartGroupCurrent + " " + tempChartGroupPrev);
- if(tempChartGroupCurrent.equals(tempChartGroupPrev)) continue;
- //System.out.println("CHARTGROUPORG " + chartGroupOrg + " " + lGroups) ;
- //String chartGroup = chartGroupOrg.substring(0,chartGroupOrg.lastIndexOf("|"));
- String chartGroup = chartGroupOrg;
-
- //System.out.println("$$$$CHARTGROUP in JSP " +chartGroup+ " "+ chartGroupOrg );
- //System.out.println(" rr.getChartGroupDisplayNamesList(chartGroup) " + rr.getChartGroupDisplayNamesList(chartGroup));
- //System.out.println(" rr.getChartGroupColumnColorsList(chartGroup) " + rr.getChartGroupColumnColorsList(chartGroup));
- //System.out.println(" rr.getChartGroupColumnAxisList(chartGroup) " + rr.getChartGroupColumnAxisList(chartGroup));
- //System.out.println(" rr.getChartGroupValueColumnAxisList(chartGroupOrg) " + rr.getChartGroupValueColumnAxisList(chartGroupOrg));
-
- downloadFileName = AppUtils.getTempFolderPath()+"cr_"+pb.getUserId()+"_"+request.getSession().getId()+"_"+rr.getReportID()+"_"+i+".png";
- String chartTitle = (Globals.getDisplayChartTitle()? (chartGroup!=null && chartGroup.indexOf("|") > 0 ?chartGroup.substring(0,chartGroup.lastIndexOf("|")):rr.getReportName()):"");
- chartTitle = rr.getFormFieldFilled(chartTitle);
- String leftAxisLabel = "";
- //if(!rr.isChartMultiSeries()) {
- if(!rr.isMultiSeries()) {
- leftAxisLabel = ((chartYAxis!=null && chartYAxis.indexOf("|") > 0) ? chartYAxis.substring(0,chartYAxis.lastIndexOf("|")): chartLeftAxisLabel );
- } else {
- leftAxisLabel = chartLeftAxisLabel;
- }
-
- filename = null;/*(String) ChartGen.generateChart( chartType,
- request.getSession(),
- ds,
- legendColumnName,
- leftAxisLabel,
- chartRightAxisLabel,
- ((chartType.indexOf("Stacked")>0 || chartType.equals(AppConstants.GT_PIE_MULTIPLE) || chartType.equals(AppConstants.GT_BAR_3D))?rr.getChartDisplayNamesList(AppConstants.CHART_ALL_COLUMNS, formValues):rr.getChartGroupDisplayNamesList(chartGroup, formValues)),
- ((chartType.indexOf("Stacked")>0 || chartType.equals(AppConstants.GT_PIE_MULTIPLE) || chartType.equals(AppConstants.GT_BAR_3D))?rr.getChartColumnColorsList(AppConstants.CHART_ALL_COLUMNS, formValues):rr.getChartGroupColumnColorsList(chartGroup, formValues)),
- ((chartType.indexOf("Stacked")>0 || chartType.equals(AppConstants.GT_PIE_MULTIPLE) || chartType.equals(AppConstants.GT_BAR_3D))?rr.getChartValueColumnAxisList(AppConstants.CHART_ALL_COLUMNS, formValues):rr.getChartGroupValueColumnAxisList(chartGroupOrg, formValues)),
- "",
- chartTitle,
- null,
- rr.getChartWidthAsInt(),
- rr.getChartHeightAsInt(),
- ((chartType.indexOf("Stacked")>0 || chartType.equals(AppConstants.GT_PIE_MULTIPLE))?rr.getChartValueColumnsList(AppConstants.CHART_WITHOUT_NEWCHART_COLUMNS, formValues):rr.getChartGroupValueColumnAxisList(chartGroupOrg, formValues)),
- rr.hasSeriesColumn(),
- //rr.isChartMultiSeries(),
- rr.isMultiSeries(),
- rr.getAllColumns(),
- downloadFileName,
- totalOnChart,
- AppConstants.WEB_VERSION deviceType,
- additionalChartOptionsMap,
- true
- );*/
- try {
- Image image = Image.getInstance(downloadFileName);
- images.add(image);
- } catch (MalformedURLException e) {
- e.printStackTrace();
- }
- catch (BadElementException e) {
- e.printStackTrace();
-
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- if(!chartType.equals(AppConstants.GT_PIE_MULTIPLE)) {
- for (int i=0; i<rr.getChartValueColumnAxisList(AppConstants.CHART_NEWCHART_COLUMNS, formValues).size();i++) {
- //System.out.println(" rr.getChartDisplayNamesList(AppConstants.CHART_NEWCHART_COLUMNS).subList(i, i+1) " + rr.getChartDisplayNamesList(AppConstants.CHART_NEWCHART_COLUMNS).subList(i, i+1));
- //System.out.println(" rr.getChartValueColumnAxisList(AppConstants.CHART_NEWCHART_COLUMNS).subList(i, i+1) " + rr.getChartValueColumnAxisList(AppConstants.CHART_NEWCHART_COLUMNS).subList(i, i+1));
- //System.out.println(" rr.getChartValueColumnsList(AppConstants.CHART_NEWCHART_COLUMNS).subList(i,i+1) " + rr.getChartValueColumnsList(AppConstants.CHART_NEWCHART_COLUMNS).subList(i,i+1));
-
- downloadFileName = AppUtils.getTempFolderPath()+"cr_"+ pb.getUserId()+"_"+request.getSession().getId()+"_"+rr.getReportID()+"_"+i+".png";
- String chartTitle = Globals.getDisplayChartTitle()? rr.getReportName():"";
- chartTitle = rr.getFormFieldFilled(chartTitle);
-
- filename = null;/* (String) ChartGen.generateChart( chartType,
- request.getSession(),
- ds,
- legendColumnName,
- chartLeftAxisLabel,
- chartRightAxisLabel,
- (chartType.equals(AppConstants.GT_PIE_MULTIPLE))?rr.getChartDisplayNamesList(AppConstants.CHART_ALL_COLUMNS, formValues):rr.getChartDisplayNamesList(AppConstants.CHART_NEWCHART_COLUMNS, formValues).subList(i, i+1),
- (chartType.equals(AppConstants.GT_PIE_MULTIPLE))?rr.getChartColumnColorsList(AppConstants.CHART_ALL_COLUMNS, formValues):rr.getChartColumnColorsList(AppConstants.CHART_NEWCHART_COLUMNS, formValues).subList(i, i+1),
- (chartType.equals(AppConstants.GT_PIE_MULTIPLE))?rr.getChartValueColumnAxisList(AppConstants.CHART_ALL_COLUMNS, formValues):rr.getChartValueColumnAxisList(AppConstants.CHART_NEWCHART_COLUMNS, formValues).subList(i, i+1),
- "",
- chartTitle,
- null,
- rr.getChartWidthAsInt(),
- rr.getChartHeightAsInt(),
- rr.getChartValueColumnsList(AppConstants.CHART_NEWCHART_COLUMNS, formValues).subList(i,i+1),
- rr.hasSeriesColumn(),
- //rr.isChartMultiSeries(),
- rr.isMultiSeries(),
- rr.getAllColumns(),
- downloadFileName,
- totalOnChart,
- AppConstants.WEB_VERSION,
- additionalChartOptionsMap,
- true
- );
-*/ try {
- Image image = Image.getInstance(downloadFileName);
- images.add(image);
- } catch (MalformedURLException e) {
- e.printStackTrace();
- }
- catch (BadElementException e) {
- e.printStackTrace();
-
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- /** second rest of the columns are merged to one single chart - sundar**/
- // System.out.println(" rr.getChartDisplayNamesList(AppConstants.CHART_WITHOUT_NEWCHART_COLUMNS) " + rr.getChartDisplayNamesList(AppConstants.CHART_WITHOUT_NEWCHART_COLUMNS));
- // System.out.println(" rr.getChartValueColumnAxisList(AppConstants.CHART_WITHOUT_NEWCHART_COLUMNS) " + rr.getChartValueColumnAxisList(AppConstants.CHART_WITHOUT_NEWCHART_COLUMNS));
- // System.out.println(" rr.getChartValueColumnsList(AppConstants.CHART_WITHOUT_NEWCHART_COLUMNS) " + rr.getChartValueColumnsList(AppConstants.CHART_WITHOUT_NEWCHART_COLUMNS));
-
- if((!(lGroups!=null && lGroups.size() > 0))) {
-
- if(/*chartType.equals(AppConstants.GT_TIME_SERIES) && */rr.getChartDisplayNamesList(AppConstants.CHART_WITHOUT_NEWCHART_COLUMNS, formValues)!=null && rr.getChartDisplayNamesList(AppConstants.CHART_WITHOUT_NEWCHART_COLUMNS, formValues).size()>0) {
- downloadFileName = AppUtils.getTempFolderPath()+"cr_"+ pb.getUserId()+"_"+request.getSession().getId()+"_"+rr.getReportID()+"_All.png";
- String chartTitle = Globals.getDisplayChartTitle()? rr.getReportName():"";
- chartTitle = rr.getFormFieldFilled(chartTitle);
-
- filename = null;/*(String) ChartGen.generateChart( chartType,
- request.getSession(),
- ds,
- legendColumnName,
- chartLeftAxisLabel,
- chartRightAxisLabel,
- rr.getChartDisplayNamesList(AppConstants.CHART_WITHOUT_NEWCHART_COLUMNS, formValues),
- rr.getChartColumnColorsList(AppConstants.CHART_WITHOUT_NEWCHART_COLUMNS, formValues),
- rr.getChartValueColumnAxisList(AppConstants.CHART_WITHOUT_NEWCHART_COLUMNS, formValues),
- "",
- chartTitle,
- null,
- rr.getChartWidthAsInt(),
- rr.getChartHeightAsInt(),
- rr.getChartValueColumnsList(AppConstants.CHART_WITHOUT_NEWCHART_COLUMNS, formValues),
- rr.hasSeriesColumn(),
- //rr.isChartMultiSeries(),
- rr.isMultiSeries(),
- rr.getAllColumns(),
- downloadFileName,
- totalOnChart,
- AppConstants.WEB_VERSION,
- additionalChartOptionsMap,
- true
- );
-*/ try {
- Image image = Image.getInstance(downloadFileName);
- images.add(image);
- } catch (MalformedURLException e) {
- e.printStackTrace();
- }
- catch (BadElementException e) {
- e.printStackTrace();
-
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- } // Stacked Chart Check
- } // else no Series Column
-
- }// if(ds!=null)
-
- }catch (Exception e) {
- e.printStackTrace();
- }
-// System.out.println("Total Images " + images.size());
- return images.size()>0?images:null;
-
- }
-
-/*
- private boolean isImageRotate(Document doc, Image image) {
-
- System.out.println("image size="+image.getWidthPercentage()+ " "+ image.scaledWidth()+
- " "+image.scaledHeight()+" "+image.getXYRatio());
- System.out.println("page size = "+ doc.getPageSize().width() + " " +doc.getPageSize().height() +" "+
- doc.topMargin() + " " +doc.bottomMargin() + " " + doc.leftMargin() + " " +
- doc.rightMargin());
- System.out.println(image.scaledWidth()/image.scaledHeight());
- System.out.println((PageEvent.getPageWidth(doc)/PageEvent.getPageHeight(doc)));
-// System.out.println(doc.getPageSize().getRotation());
-
- float image_w = image.scaledWidth();
- float image_h = image.scaledHeight();
- float image_ratio = image_w/image_h;
-
- float page_w = PageEvent.getPageWidth(doc);
- float page_h = PageEvent.getPageHeight(doc);
- float page_ratio = page_w/page_h;
-
- return (image_w > page_w && image_ratio > page_ratio) ||
- (image_h > page_h && image_ratio < page_ratio);
-
- }
-
-*/
- private final int DEFAULT_PDF_DISPLAY_WIDTH = 10;
- private int paintPdfData(HttpServletRequest request, Document document, ReportData rd, ReportRuntime rr, String sql_whole) throws DocumentException, RaptorException, IOException {
-
- int mb = 1024*1024;
- Runtime runtime = Runtime.getRuntime();
- int returnValue = 0;
- sql_whole = rr.getWholeSQL();
- if(rd.getDataRowCount() >= rr.getReportDataSize()) {
- sql_whole="";
- }
- float f[] = getRelativeWidths(rd, rr.getReportType().equals(AppConstants.RT_CROSSTAB));
- PdfPTable table = new PdfPTable(f);
- table.setWidthPercentage(100f);
- table.getDefaultCell().setHorizontalAlignment(Rectangle.ALIGN_CENTER);
- table.getDefaultCell().setVerticalAlignment(Rectangle.ALIGN_BOTTOM);
-
- ReportDefinition rdef = (new ReportHandler()).loadReportDefinition(request, rr.getReportID());
-
- List allColumns = rdef.getAllColumns();
-
- float[] repotWidths = new float[rdef.getVisibleColumnCount()];
- int columnIdx = 0;
- float pdfDisplayWidth = 0;
- for(Iterator iter = allColumns.iterator(); iter.hasNext();){
- DataColumnType dct = (DataColumnType) iter.next();
- if(dct.isVisible()) {
-
- if(dct.getPdfDisplayWidthInPxls() == null || dct.getPdfDisplayWidthInPxls().equals("") || dct.getPdfDisplayWidthInPxls().startsWith("null"))
- pdfDisplayWidth = DEFAULT_PDF_DISPLAY_WIDTH;
- else
- pdfDisplayWidth = Float.parseFloat(dct.getPdfDisplayWidthInPxls());
-
- repotWidths [columnIdx++] = pdfDisplayWidth;
- }
- }
-
- table.setWidths(repotWidths);
-
- //table.setH
-
- //TODO: check title and subtitle
- HttpSession session = request.getSession();
- String drilldown_index = (String) session.getAttribute("drilldown_index");
- int index = 0;
- try {
- index = Integer.parseInt(drilldown_index);
- } catch (NumberFormatException ex) {
- index = 0;
- }
- String titleRep = (String) session.getAttribute("TITLE_"+index);
- String subtitle = (String) session.getAttribute("SUBTITLE_"+index);
-
- if(nvl(titleRep).length()>0 && nvl(subtitle).length()>0)
- table.setHeaderRows(3);
- else if (nvl(titleRep).length()>0)
- table.setHeaderRows(2);
- else
- table.setHeaderRows(1);
- table = paintPdfReportHeader(request, document, table, rr, f);
- paintPdfTableHeader(document, rd, table);
-
- int idx = 0;
- int fragmentsize = 30; //for memory management
-
- ResultSet rs = null;
- Connection conn = null;
- Statement st = null;
- ResultSetMetaData rsmd = null;
- rd.reportDataRows.resetNext();
- DataRow dr = rd.reportDataRows.getNext();
-
- //addRowHeader(table,dr,idx,rd);
-
- //addRowColumns(table,dr,idx);
- if(nvl(sql_whole).length() >0 && rr.getReportType().equals(AppConstants.RT_LINEAR)) {
- try {
- conn = ConnectionUtils.getConnection(rr.getDbInfo());
- st = conn.createStatement();
- logger.debug(EELFLoggerDelegate.debugLogger, ("************* Map Whole SQL *************"));
- logger.debug(EELFLoggerDelegate.debugLogger, (sql_whole));
- logger.debug(EELFLoggerDelegate.debugLogger, ("*****************************************"));
- rs = st.executeQuery(sql_whole);
- rsmd = rs.getMetaData();
- int numberOfColumns = rsmd.getColumnCount();
- HashMap colHash = new HashMap();
- dr = null;
- int j = 0;
- int rowCount = 0;
- String title = "";
- while(rs.next()) {
-
-/* if(runtime.freeMemory()/mb <= ((runtime.maxMemory()/mb)*Globals.getMemoryThreshold()/100) ) {
- returnValue = 1;
- String cellValue = Globals.getUserDefinedMessageForMemoryLimitReached() + " "+ rowCount +" records out of " + rr.getReportDataSize() + " were downloaded to PDF.";
- Font cellFont = FontFactory.getFont(Globals.getDataFontFamily(),
- Globals.getDataFontSize(),
- Font.NORMAL, Color.BLACK);
- PdfPCell cell = new PdfPCell(new Paragraph(cellValue,cellFont));
- table.addCell(cell);
- document.add(table);
- return returnValue;
- }
-*/ rowCount++;
- colHash = new HashMap();
- for (int i = 1; i <= numberOfColumns; i++) {
- colHash.put(rsmd.getColumnName(i), rs.getString(i));
- }
- rd.reportDataRows.resetNext();
-
- dr = rd.reportDataRows.getNext();
-
- j = 0;
- /*if(rd.reportTotalRowHeaderCols!=null) {
-
- HtmlFormatter rfmt = dr.getRowFormatter();
-
- Font cellFont = FontFactory.getFont(Globals.getDataFontFamily(),
- Globals.getDataFontSize(),
- Font.NORMAL, Color.BLACK);
- if(rfmt != null) {
- cellFormatterFont(rfmt,cellFont);
- }
-
- String cellValue = new Integer(rowCount).toString();
- PdfPCell cell = new PdfPCell(new Paragraph(cellValue,cellFont));
-
- //row background color can be overwritten by cell background color
- cell.setBackgroundColor(getRowBackgroundColor(dr, idx));
-
- cell.setHorizontalAlignment(Rectangle.ALIGN_CENTER);
-
- if(rfmt != null) {
- formatterCell(rfmt,cell);
- }
- table.addCell(cell);
- }*/
-
- for (dr.resetNext(); dr.hasNext();j++) {
- DataValue dv = dr.getNext();
- /*if(j == 0) {
- HtmlFormatter cfmt = dv.getCellFormatter();
- HtmlFormatter rfmt = dv.getRowFormatter();
-
- Font cellFont = FontFactory.getFont(Globals.getDataFontFamily(),
- Globals.getDataFontSize(),
- Font.NORMAL, Color.BLACK);
- if(cfmt!= null) {
- cellFormatterFont(cfmt,cellFont);
- }
- else if(rfmt != null) {
- cellFormatterFont(rfmt,cellFont);
- }
- else {
- if(dv.isBold()) {
- cellFont.setStyle(Font.BOLD);
- }
- }
-
- //String cellValue = strip.stripHtml(value.trim());
- PdfPCell cell = new PdfPCell(new Paragraph(rowCount+"",cellFont));
-
- //row background color can be overwritten by cell background color
- cell.setBackgroundColor(getRowBackgroundColor(dr, idx));
-
- if(nvl(dv.getAlignment()).trim().length()>0)
- cell.setHorizontalAlignment(ElementTags.alignmentValue(dv.getAlignment()));
- else
- cell.setHorizontalAlignment(Rectangle.ALIGN_CENTER);
-
- if(cfmt!= null) {
- formatterCell(cfmt,cell);
- }
- else if(rfmt != null) {
- formatterCell(rfmt,cell);
- }
- table.addCell(cell);
- }*/
-
- //for (chr.resetNext(); chr.hasNext();) {
- //ColumnHeader ch = chr.getNext();
- String value = nvl((String)colHash.get(dv.getColId().toUpperCase()));
- if(dv.isVisible()) {
-
- HtmlFormatter cfmt = dv.getCellFormatter();
- HtmlFormatter rfmt = dv.getRowFormatter();
-
- Font cellFont = FontFactory.getFont(FONT_FAMILY,
- FONT_SIZE,
- Font.NORMAL, Color.BLACK);
- if(cfmt!= null) {
- cellFormatterFont(cfmt,cellFont);
- }
- else if(rfmt != null) {
- cellFormatterFont(rfmt,cellFont);
- }
- else {
- if(dv.isBold()) {
- cellFont.setStyle(Font.BOLD);
- }
- }
-
- String cellValue = strip.stripHtml(value.trim());
- PdfPCell cell = new PdfPCell(new Paragraph(cellValue,cellFont));
-
- //row background color can be overwritten by cell background color
- cell.setBackgroundColor(getRowBackgroundColor(dr, idx));
-
- if(nvl(dv.getAlignment()).trim().length()>0)
- cell.setHorizontalAlignment(ElementTags.alignmentValue(dv.getAlignment()));
- else
- cell.setHorizontalAlignment(Rectangle.ALIGN_CENTER);
-
- if(cfmt!= null) {
- formatterCell(cfmt,cell);
- }
- else if(rfmt != null) {
- formatterCell(rfmt,cell);
- }
-
-
-
- table.addCell(cell);
-
- }//if isVisible()
-
-
- }
-
- }
- if(rd.reportDataTotalRow!=null) {
- for (rd.reportDataTotalRow.resetNext(); rd.reportDataTotalRow.hasNext();idx++) {
- dr = rd.reportDataTotalRow.getNext();
- table.getDefaultCell().setHorizontalAlignment(Rectangle.ALIGN_CENTER);
- Font rowHeaderFont = FontFactory.getFont(FONT_FAMILY,
- FONT_SIZE,
- Font.NORMAL, Color.BLACK);
- rowHeaderFont.setStyle(Font.BOLD);
- rowHeaderFont.setSize(FONT_SIZE+1f);
- table.getDefaultCell().setBackgroundColor(getRowBackgroundColor(dr, idx));
- table.addCell(new Paragraph("Total",rowHeaderFont));
-
-
- addTotalRowColumns(table,dr,idx);
- if (idx % fragmentsize == fragmentsize - 1) {
- document.add(table);
- table.deleteBodyRows();
- table.setSkipFirstHeader(true);
- }
-
- }
- }
- } catch (SQLException ex) {
- throw new RaptorException(ex);
- } catch (ReportSQLException ex) {
- throw new RaptorException(ex);
- } catch (Exception ex) {
- if(!(ex.getCause() instanceof java.net.SocketException) )
- throw new RaptorException (ex);
- } finally {
- try {
- if(conn!=null)
- conn.close();
- if(st!=null)
- st.close();
- if(rs!=null)
- rs.close();
- } catch (SQLException ex) {
- throw new RaptorException(ex);
- }
- }
-
-
-// if (idx % fragmentsize == fragmentsize - 1) {
-// document.add(table);
-// table.deleteBodyRows();
-// table.setSkipFirstHeader(true);
-// }
-
- //document.add(table);
- } else {
- if(rr.getReportType().equals(AppConstants.RT_LINEAR)) {
- int rowCount = 0;
- for(rd.reportDataRows.resetNext();rd.reportDataRows.hasNext();idx++)
- {
- rowCount++;
-
- /*if(rd.reportTotalRowHeaderCols!=null) {
- HtmlFormatter rfmt = dr.getRowFormatter();
-
- Font cellFont = FontFactory.getFont(Globals.getDataFontFamily(),
- Globals.getDataFontSize(),
- Font.NORMAL, Color.BLACK);
- if(rfmt != null) {
- cellFormatterFont(rfmt,cellFont);
- }
-
- //String cellValue = new Integer(rowCount).toString();
- //PdfPCell cell = new PdfPCell(new Paragraph(cellValue,cellFont));
-
- //row background color can be overwritten by cell background color
- //cell.setBackgroundColor(getRowBackgroundColor(dr, idx));
-
- //cell.setHorizontalAlignment(Rectangle.ALIGN_CENTER);
-
- //if(rfmt != null) {
- //formatterCell(rfmt,cell);
- //}
- //table.addCell(cell);
- }*/
-
-
-
- if(runtime.freeMemory()/mb <= ((runtime.maxMemory()/mb)*Globals.getMemoryThreshold()/100) ) {
- returnValue = 1;
- }
-
- dr = rd.reportDataRows.getNext();
-
- addRowHeader(table,dr,idx,rd);
-
- addRowColumns(table,dr,idx);
-
- if (idx % fragmentsize == fragmentsize - 1) {
- document.add(table);
- table.deleteBodyRows();
- table.setSkipFirstHeader(true);
- }
- }
-
- if(rd.reportDataTotalRow!=null) {
- for (rd.reportDataTotalRow.resetNext(); rd.reportDataTotalRow.hasNext();idx++) {
- dr = rd.reportDataTotalRow.getNext();
- table.getDefaultCell().setHorizontalAlignment(Rectangle.ALIGN_CENTER);
- Font rowHeaderFont = FontFactory.getFont(FONT_FAMILY,
- FONT_SIZE,
- Font.NORMAL, Color.BLACK);
- rowHeaderFont.setStyle(Font.BOLD);
- rowHeaderFont.setSize(FONT_SIZE+1f);
- table.getDefaultCell().setBackgroundColor(getRowBackgroundColor(dr, idx));
- table.addCell(new Paragraph("Total",rowHeaderFont));
-
-
- addTotalRowColumns(table,dr,idx);
- if (idx % fragmentsize == fragmentsize - 1) {
- document.add(table);
- table.deleteBodyRows();
- table.setSkipFirstHeader(true);
- }
-
- }
- }
-
- } else if (rr.getReportType().equals(AppConstants.RT_CROSSTAB)) {
- int rowCount = 0;
- List l = rd.getReportDataList();
- boolean first = true;
- for (int dataRow = 0; dataRow < l.size(); dataRow++) {
- first = true;
- rowCount++;
- dr = (DataRow) l.get(dataRow);
- Vector<DataValue> rowNames = dr.getRowValues();
- for(dr.resetNext(); dr.hasNext(); ) {
-
- if(first) {
- HtmlFormatter rfmt = dr.getRowFormatter();
-
- Font cellFont = FontFactory.getFont(FONT_FAMILY,
- FONT_SIZE,
- Font.NORMAL, Color.BLACK);
- if(rfmt != null) {
- cellFormatterFont(rfmt,cellFont);
- }
- String cellValue = "";
- PdfPCell cell = null;
- //String cellValue = new Integer(rowCount).toString();
- //PdfPCell cell = new PdfPCell(new Paragraph(cellValue,cellFont));
- //row background color can be overwritten by cell background color
- //cell.setBackgroundColor(getRowBackgroundColor(dr, idx));
-
- //cell.setHorizontalAlignment(Rectangle.ALIGN_CENTER);
-
- //if(rfmt != null) {
- //formatterCell(rfmt,cell);
- // }
- //table.addCell(cell);
- if(rowNames!=null) {
- for(int i=0; i<rowNames.size(); i++) {
- DataValue dv = rowNames.get(i);
- rfmt = dr.getRowFormatter();
-
- cellFont = FontFactory.getFont(FONT_FAMILY,
- FONT_SIZE,
- Font.NORMAL, Color.BLACK);
- if(rfmt != null) {
- cellFormatterFont(rfmt,cellFont);
- }
- cellValue = dv.getDisplayValue();
- if(cellValue.indexOf("|#")!=-1)
- cellValue = cellValue.substring(0,cellValue.indexOf("|"));
-
- cell = new PdfPCell(new Paragraph(cellValue,cellFont));
- //row background color can be overwritten by cell background color
- cell.setBackgroundColor(getRowBackgroundColor(dr, idx));
-
- cell.setHorizontalAlignment(Rectangle.ALIGN_CENTER);
-
- if(rfmt != null) {
- formatterCell(rfmt,cell);
- }
- table.addCell(cell);
- }
- }
- }
- first = false;
-
- if(runtime.freeMemory()/mb <= ((runtime.maxMemory()/mb)*Globals.getMemoryThreshold()/100) ) {
- returnValue = 1;
- }
-
- //addRowHeader(table,dr,idx,rd);
-
- addRowColumns(table,dr,idx);
-
- if (idx % fragmentsize == fragmentsize - 1) {
- document.add(table);
- table.deleteBodyRows();
- table.setSkipFirstHeader(true);
- }
- }
-
- }
- }
-
- //document.add(table);
-
- }
-
- document.add(table);
- paintPdfReportFooter(request, document, rr, f);
-
- return returnValue;
- }
-
- private void addRowHeader(PdfPTable table, DataRow dr, int idx, ReportData rd) {
-
- table.getDefaultCell().setHorizontalAlignment(Rectangle.ALIGN_CENTER);
-
- for(rd.reportRowHeaderCols.resetNext();rd.reportRowHeaderCols.hasNext();) {
- RowHeaderCol rhc = rd.reportRowHeaderCols.getNext();
- if(idx==0)
- rhc.resetNext();
- RowHeader rh = rhc.getNext();
- //System.out.println(" =============== RowHeader\n "+rh);
-
- Font rowHeaderFont = FontFactory.getFont(FONT_FAMILY,
- FONT_SIZE,
- Font.NORMAL, Color.BLACK);
- if(rh.isBold()) {
- rowHeaderFont.setStyle(Font.BOLD);
- rowHeaderFont.setSize(FONT_SIZE+1f);
- }
-
- if(rh.getColSpan()>0) {
- table.getDefaultCell().setColspan(rh.getColSpan());
- table.getDefaultCell().setBackgroundColor(getRowBackgroundColor(dr, idx));
- table.addCell(new Paragraph(strip.stripHtml(rh.getRowTitle()),rowHeaderFont));
- }
- }
- }
-
- private void addRowColumns(PdfPTable table, DataRow dr, int idx) {
-
- table.getDefaultCell().setColspan(1);
-
- for(dr.resetNext();dr.hasNext();)
- {
- DataValue dv = dr.getNext();
- //System.out.println(columnCount +" --> "+dv);
- if(dv.isVisible()) {
- HtmlFormatter cfmt = dv.getCellFormatter();
- HtmlFormatter rfmt = dv.getRowFormatter();
-
- Font cellFont = FontFactory.getFont(FONT_FAMILY,
- FONT_SIZE,
- Font.NORMAL, Color.BLACK);
- if(cfmt!= null) {
- cellFormatterFont(cfmt,cellFont);
- }
- else if(rfmt != null) {
- cellFormatterFont(rfmt,cellFont);
- }
- else {
- if(dv.isBold()) {
- cellFont.setStyle(Font.BOLD);
- }
- }
-
- String cellValue = strip.stripHtml(dv.getDisplayValue().trim());
- PdfPCell cell = new PdfPCell(new Paragraph(cellValue,cellFont));
-
- //row background color can be overwritten by cell background color
- cell.setBackgroundColor(getRowBackgroundColor(dr, idx));
-
- if(nvl(dv.getAlignment()).trim().length()>0)
- cell.setHorizontalAlignment(ElementTags.alignmentValue(dv.getAlignment()));
- else
- cell.setHorizontalAlignment(Rectangle.ALIGN_CENTER);
-
- if(cfmt!= null) {
- formatterCell(cfmt,cell);
- }
- else if(rfmt != null) {
- formatterCell(rfmt,cell);
- }
-
- table.addCell(cell);
-
- }//if isVisible()
- }
- }
-
-
- private void addTotalRowColumns(PdfPTable table, DataRow dr, int idx) {
-
- table.getDefaultCell().setColspan(1);
- dr.resetNext();
- dr.getNext();
- for(;dr.hasNext();)
- {
- DataValue dv = dr.getNext();
- //System.out.println(columnCount +" --> "+dv);
- if(dv.isVisible()) {
- HtmlFormatter cfmt = dv.getCellFormatter();
- HtmlFormatter rfmt = dv.getRowFormatter();
-
- Font cellFont = FontFactory.getFont(FONT_FAMILY,
- FONT_SIZE,
- Font.NORMAL, Color.BLACK);
- if(cfmt!= null) {
- cellFormatterFont(cfmt,cellFont);
- }
- else if(rfmt != null) {
- cellFormatterFont(rfmt,cellFont);
- }
- else {
- if(dv.isBold()) {
- cellFont.setStyle(Font.BOLD);
- }
- }
-
- String cellValue = strip.stripHtml(dv.getDisplayValue().trim());
- PdfPCell cell = new PdfPCell(new Paragraph(cellValue,cellFont));
-
- //row background color can be overwritten by cell background color
- cell.setBackgroundColor(getRowBackgroundColor(dr, idx));
-
- if(nvl(dv.getAlignment()).trim().length()>0)
- cell.setHorizontalAlignment(ElementTags.alignmentValue(dv.getAlignment()));
- else
- cell.setHorizontalAlignment(Rectangle.ALIGN_CENTER);
-
- if(cfmt!= null) {
- formatterCell(cfmt,cell);
- }
- else if(rfmt != null) {
- formatterCell(rfmt,cell);
- }
-
- table.addCell(cell);
-
- }//if isVisible()
- }
- }
-
-
- private void formatterCell(HtmlFormatter fmt, PdfPCell cell) {
-
- if(nvl(fmt.getBgColor()).trim().length()>0)
- cell.setBackgroundColor(Color.decode(fmt.getBgColor()));
- if(nvl(fmt.getAlignment()).trim().length()>0)
- cell.setHorizontalAlignment(ElementTags.alignmentValue(fmt.getAlignment()));
- }
-
- private void cellFormatterFont(HtmlFormatter fmt, Font font) {
-
- if(fmt.isBold())
- font.setStyle(Font.BOLD);
- if(fmt.isItalic())
- font.setStyle(Font.ITALIC);
- if(fmt.isUnderline())
- font.setStyle(Font.UNDERLINE);
- if(fmt.getFontColor().trim().length()>0)
- font.setColor(Color.decode(fmt.getFontColor()));
- if(fmt.getFontSize().trim().length()>0)
- font.setSize(Float.parseFloat(fmt.getFontSize())-Globals.getDataFontSizeOffset());
-// if(fmt.getFontFace().trim().length()>0)
-// cellFont.setFamily()
-
- }
-
- private Color getRowBackgroundColor(DataRow dr, int idx) {
-
- Color color = Color.decode(Globals.getDataDefaultBackgroundHexCode());
-
- HtmlFormatter rhf = dr.getRowFormatter();
- if(rhf!=null && nvl(rhf.getBgColor()).trim().length()>0)
-
- color = Color.decode(rhf.getBgColor());
-
- else if(pb.isAlternateColor() && idx%2==0)
-
- color = Color.decode(Globals.getDataBackgroundAlternateHexCode());
-
- return color;
-
- }
-
- private int getTotalVisbleColumns(ReportData rd) {
-
- int totalVisbleColumn = rd.getTotalColumnCount();
- for(rd.reportDataRows.resetNext();rd.reportDataRows.hasNext();)
- {
- DataRow dr = rd.reportDataRows.getNext();
- for(dr.resetNext();dr.hasNext();) {
- DataValue dv = dr.getNext();
- if(!dv.isVisible()) totalVisbleColumn--;
- }
-
- break;
- }
-
- return totalVisbleColumn;
- }
-
- /*
- private int getFirstRowIndex(ReportRuntime rr) {
- return (pb.getCurrentPage()>0)?pb.getCurrentPage()*rr.getPageSize()+1 : 1;
- }
- */
- private float[] getRelativeWidths(ReportData rd, boolean crosstab){
-
- int totalColumns = getTotalVisbleColumns(rd);
- /*if(rd.reportTotalRowHeaderCols!=null) {
- totalColumns += 1;
- }*/
- if(crosstab) {
- totalColumns += 1;
- }
-
- if(totalColumns == 0 )
- totalColumns=1;
-
- float[] relativeWidths = new float[totalColumns];
- //initial widths are even
- for(int i=0; i<relativeWidths.length; i++)
- relativeWidths[i] = 10f;
-
- int index=0;
- boolean firstPass = true;
-
- for (rd.reportColumnHeaderRows.resetNext(); rd.reportColumnHeaderRows.hasNext();)
- {
- if(firstPass) {
- /*if(rd.reportTotalRowHeaderCols!=null) {
- String columnWidth = "5";
-
- if(columnWidth != null && columnWidth.trim().endsWith("%"))
- relativeWidths[index] = Float.parseFloat(removeLastCharacter(columnWidth));
-
- index++;
- }*/
-
- for(rd.reportRowHeaderCols.resetNext();rd.reportRowHeaderCols.hasNext();) {
- String columnWidth = rd.reportRowHeaderCols.getNext().getColumnWidth();
-
- if(columnWidth != null && columnWidth.trim().endsWith("%"))
- relativeWidths[index] = Float.parseFloat(removeLastCharacter(columnWidth));
-
- index++;
- }
- firstPass = false;
- }
-
- ColumnHeaderRow chr = rd.reportColumnHeaderRows.getNext();
- for (chr.resetNext(); chr.hasNext();) {
-
- ColumnHeader ch = chr.getNext();
-
- if(ch.isVisible()) {
-
- String columnWidth = ch.getColumnWidth();
-
- if(ch.getColSpan() <= 1){
- if(columnWidth != null && columnWidth.trim().endsWith("%"))
- relativeWidths[index] = Float.parseFloat(removeLastCharacter(columnWidth));
- }
- else {
- for(int i=0; i<ch.getColSpan(); i++) {
- index += i;
- if(columnWidth != null && columnWidth.trim().endsWith("%"))
- relativeWidths[index] =
- (Float.parseFloat(removeLastCharacter(columnWidth)))/ch.getColSpan();
- }
- }
-
- index++;
- }
- }
- }
-
- return relativeWidths;
- }
-
- public static String removeLastCharacter(String str) {
- return str.substring(0, str.length()-1);
- }
-
- private PdfPTable paintPdfReportHeader(HttpServletRequest request, Document document, PdfPTable table, ReportRuntime rr, float[] f)
- throws DocumentException, IOException {
-
- HttpSession session = request.getSession();
- String drilldown_index = (String) session.getAttribute("drilldown_index");
- int index = 0;
- try {
- index = Integer.parseInt(drilldown_index);
- } catch (NumberFormatException ex) {
- index = 0;
- }
- String title = (String) session.getAttribute("TITLE_"+index);
- String subtitle = (String) session.getAttribute("SUBTITLE_"+index);
- if(nvl(title).length()>0) {
- //PdfPTable table = new PdfPTable(1);
- table.setWidthPercentage(100f);
- table.getDefaultCell().setHorizontalAlignment(Rectangle.ALIGN_CENTER);
- table.getDefaultCell().setVerticalAlignment(Rectangle.ALIGN_BOTTOM);
-
-
- Font font = FontFactory.getFont(FONT_FAMILY,
- FONT_SIZE-2f,
- Font.BOLD,
- Color.BLACK);
-
- //addEmptyRows(table,1);
- table.getDefaultCell().setHorizontalAlignment(Rectangle.ALIGN_CENTER);
- //table.getDefaultCell().setBackgroundColor(Color.decode(Globals.getDataTableHeaderBackgroundFontColor()));
- title = Utils.replaceInString(title, "<BR/>", " ");
- title = Utils.replaceInString(title, "<br/>", " ");
- title = Utils.replaceInString(title, "<br>", " ");
- title = strip.stripHtml(nvl(title).trim());
- //subtitle = Utils.replaceInString(subtitle, "<BR/>", " ");
- //subtitle = Utils.replaceInString(subtitle, "<br/>", " ");
- //subtitle = Utils.replaceInString(subtitle, "<br>", " ");
- //subtitle = strip.stripHtml(nvl(subtitle).trim());
- StyleSheet styles = new StyleSheet();
-
- HTMLWorker htmlWorker = new HTMLWorker(document);
- ArrayList cc = new ArrayList();
- cc = htmlWorker.parseToList(new StringReader(subtitle), styles);
-
- Phrase p1 = new Phrase();
- for (int i = 0; i < cc.size(); i++){
- Element elem = (Element)cc.get(i);
- ArrayList al = elem.getChunks();
- for (int j = 0; j < al.size(); j++) {
- Chunk chunk = (Chunk) al.get(j);
- chunk.font().setSize(6.0f);
- }
- p1.add(elem);
- }
- //cell = new PdfPCell(p1);
- StyleSheet style = new StyleSheet();
- style.loadTagStyle("font", "font-size", "3");
- style.loadTagStyle("font", "size", "3");
- styles.loadStyle("pdfFont1", "size", "11px");
- styles.loadStyle("pdfFont1", "font-size", "11px");
- /*ArrayList p = HTMLWorker.parseToList(new StringReader(nvl(title)), style);
- for (int k = 0; k < p.size(); ++k){
- document.add((com.lowagie.text.Element)p.get(k));
- }*/
- //p1.font().setSize(3.0f);
- PdfPCell titleCell = new PdfPCell(new Phrase(title, font));
- titleCell.setColspan(rr.getVisibleColumnCount());
- PdfPCell subtitleCell = new PdfPCell(p1);
- subtitleCell.setColspan(rr.getVisibleColumnCount());
- titleCell.setHorizontalAlignment(1);
- subtitleCell.setHorizontalAlignment(1);
- table.addCell(titleCell);
- table.addCell(subtitleCell);
- //document.add(table);
- }
- return table;
- }
-
-
- private void paintPdfReportFooter(HttpServletRequest request, Document document, ReportRuntime rr, float[] f)
- throws DocumentException, IOException {
-
- HttpSession session = request.getSession();
- String drilldown_index = (String) session.getAttribute("drilldown_index");
- int index = 0;
- try {
- index = Integer.parseInt(drilldown_index);
- } catch (NumberFormatException ex) {
- index = 0;
- }
-
- String title = (String) session.getAttribute("FOOTER_"+index);
- if(nvl(title).length()>0) {
- PdfPTable table = new PdfPTable(1);
- table.setWidthPercentage(100f);
- table.getDefaultCell().setHorizontalAlignment(Rectangle.ALIGN_CENTER);
- table.getDefaultCell().setVerticalAlignment(Rectangle.ALIGN_BOTTOM);
-
- Font font = FontFactory.getFont(FONT_FAMILY,
- FONT_SIZE-3f,
- Font.BOLD,
- Color.BLACK);
-
-
- //addEmptyRows(table,1);
- table.getDefaultCell().setHorizontalAlignment(Rectangle.ALIGN_CENTER);
- //table.getDefaultCell().setBackgroundColor(Color.decode(Globals.getDataTableHeaderBackgroundFontColor()));
- /*title = Utils.replaceInString(title, "<BR/>", " ");
- title = Utils.replaceInString(title, "<br/>", " ");
- title = Utils.replaceInString(title, "<br>", " ");
- title = strip.stripHtml(nvl(title).trim());*/
- StyleSheet style = new StyleSheet();
-
- HTMLWorker htmlWorker = new HTMLWorker(document);
- ArrayList cc = new ArrayList();
- cc = htmlWorker.parseToList(new StringReader(title), style);
-
- Phrase p1 = new Phrase();
- for (int i = 0; i < cc.size(); i++){
- Element elem = (Element)cc.get(i);
- ArrayList al = elem.getChunks();
- for (int j = 0; j < al.size(); j++) {
- Chunk chunk = (Chunk) al.get(j);
- chunk.font().setSize(6.0f);
- }
- p1.add(elem);
- }
-
-/*
- HTMLWorker.parseToList(new StringReader(nvl(title)), style);*/
- PdfPCell titleCell = new PdfPCell(p1);
- titleCell.setHorizontalAlignment(Element.ALIGN_LEFT);
- table.addCell(titleCell);
- //table.
- document.add(table);
- }
- //return table;
- }
-
-
- private void paintPdfTableHeader(Document document, ReportData rd, PdfPTable table)
- throws DocumentException {
-
- Font font = FontFactory.getFont(FONT_FAMILY,
- FONT_SIZE+1f,
- Font.BOLD,
- Color.decode(Globals.getDataTableHeaderFontColor()));
- //table.setHeaderRows(1);
- table.getDefaultCell().setHorizontalAlignment(Rectangle.ALIGN_CENTER);
- table.getDefaultCell().setBackgroundColor(Color.decode(Globals.getDataTableHeaderBackgroundFontColor()));
- String title = "";
-
- boolean firstPass = true;
-
- /*if(rd.reportTotalRowHeaderCols!=null) {
- if(firstPass) {
- table.addCell(new Paragraph("No.", font));
- firstPass = false;
- }
- }*/
- for (rd.reportColumnHeaderRows.resetNext(); rd.reportColumnHeaderRows.hasNext();)
- {
- if(firstPass) {
- for(rd.reportRowHeaderCols.resetNext();rd.reportRowHeaderCols.hasNext();) {
- /*if(firstPass) {
- table.addCell(new Paragraph("No.", font));
- firstPass = false;
- } else {*/
- RowHeaderCol rhc = rd.reportRowHeaderCols.getNext();
- title = rhc.getColumnTitle();
- title = Utils.replaceInString(title,"_nl_", " \n");
- table.addCell(new Paragraph(title,font));
- //}
- }
- }
-
- ColumnHeaderRow chr = rd.reportColumnHeaderRows.getNext();
- for (chr.resetNext(); chr.hasNext();) {
- ColumnHeader ch = chr.getNext();
- //System.out.println(ch);
- if(ch.isVisible()) {
- title = ch.getColumnTitle();
- title = Utils.replaceInString(title,"_nl_", " \n");
- table.addCell(new Paragraph(title,font));
- }
- }
- }
- }
-
- public static String currentTime(String pattern) {
- try {
- SimpleDateFormat oracleDateFormat = new SimpleDateFormat("MM/dd/yyyy kk:mm:ss");
- Date sysdate = oracleDateFormat.parse(ReportLoader.getSystemDateTime());
- SimpleDateFormat dtimestamp = new SimpleDateFormat(Globals.getScheduleDatePattern());
- return dtimestamp.format(sysdate)+" "+Globals.getTimeZone();
- //paramList.add(new IdNameValue("DATE", dtimestamp.format(sysdate)+" "+Globals.getTimeZone()));
- } catch(Exception ex) {}
-
- SimpleDateFormat s = new SimpleDateFormat(pattern);
- s.setTimeZone(TimeZone.getTimeZone(Globals.getTimeZone()));
- //System.out.println("^^^^^^^^^^^^^^^^^^^^ " + Calendar.getInstance().getTime());
- //System.out.println("^^^^^^^^^^^^^^^^^^^^ " + s.format(Calendar.getInstance().getTime()));
- return s.format(Calendar.getInstance().getTime());
- }
-
- private PdfBean preparePdfBean(HttpServletRequest request,ReportRuntime rr) {
- PdfBean pb = new PdfBean();
-
- pb.setUserId(AppUtils.getUserID(request));
-
- pb.setWhereToShowPageNumber(Globals.getPageNumberPosition());
- pb.setAlternateColor(Globals.isDataAlternateColor());
- pb.setTimestampPattern(Globals.getDatePattern());
-
- int temp = -1;
- try {
- temp = Integer.parseInt(request.getParameter(AppConstants.RI_NEXT_PAGE));
- } catch (NumberFormatException e) {}
- pb.setCurrentPage(temp);
-
- //pb.setPortrait( trueORfalse(request.getParameter("isPortrait"),true));
- pb.setPortrait(trueORfalse(rr.getPDFOrientation() == "portait"?"true":"false", true));
- //pb.setCoverPageIncluded( trueORfalse(request.getParameter("isCoverPageIncluded"), true));
- //if(Globals.isCoverPageNeeded()) {
- pb.setCoverPageIncluded(Globals.isCoverPageNeeded()?rr.isPDFCoverPage():false);
- //}
- pb.setTitle(nvl(request.getParameter("title")));
- pb.setPagesize(nvls(request.getParameter("pagesize"),"LETTER"));
-
- pb.setLogo1Url(rr.getPDFLogo1());
- pb.setLogo2Url(rr.getPDFLogo2());
- pb.setLogo1Size(rr.getPDFLogo1Size());
- pb.setLogo2Size(rr.getPDFLogo2Size());
- pb.setFullWebContextPath(request.getSession().getServletContext().getRealPath(File.separator));
-
-
- pb.setDisplayChart(nvl(rr.getChartType()).trim().length()>0 && rr.getDisplayChart());
-
- String id = nvl(request.getParameter("pdfAttachmentKey")).trim();
- String log_id = nvl(request.getParameter("log_id")).trim();
- if(id.length()>0 && log_id.length()>0)
- pb.setAttachmentOfEmail(true);
-
- return pb;
- }
-
- private boolean trueORfalse(String str) {
- return (str != null) && (str.equalsIgnoreCase("true"));
- }
-
- private boolean trueORfalse(String str,boolean b_default) {
- return str==null ? b_default : (str.equalsIgnoreCase("true"));
- }
-
-
-}
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/BarChartOptions.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/BarChartOptions.java
deleted file mode 100644
index 7e99dc6e..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/BarChartOptions.java
+++ /dev/null
@@ -1,75 +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.runtime;
-
-public class BarChartOptions {
- private boolean verticalOrientation;
- private boolean stackedChart;
- private boolean displayBarControls;
- private boolean xAxisDateType;
- private boolean minimizeXAxisTickers;
- private boolean timeAxis;
- private boolean yAxisLogScale;
-
- public boolean isVerticalOrientation() {
- return verticalOrientation;
- }
- public void setVerticalOrientation(boolean verticalOrientation) {
- this.verticalOrientation = verticalOrientation;
- }
- public boolean isStackedChart() {
- return stackedChart;
- }
- public void setStackedChart(boolean stackedChart) {
- this.stackedChart = stackedChart;
- }
- public boolean isDisplayBarControls() {
- return displayBarControls;
- }
- public void setDisplayBarControls(boolean displayBarControls) {
- this.displayBarControls = displayBarControls;
- }
- public boolean isxAxisDateType() {
- return xAxisDateType;
- }
- public void setxAxisDateType(boolean xAxisDateType) {
- this.xAxisDateType = xAxisDateType;
- }
- public boolean isMinimizeXAxisTickers() {
- return minimizeXAxisTickers;
- }
- public void setMinimizeXAxisTickers(boolean minimizeXAxisTickers) {
- this.minimizeXAxisTickers = minimizeXAxisTickers;
- }
- public boolean isTimeAxis() {
- return timeAxis;
- }
- public void setTimeAxis(boolean timeAxis) {
- this.timeAxis = timeAxis;
- }
- public boolean isyAxisLogScale() {
- return yAxisLogScale;
- }
- public void setyAxisLogScale(boolean yAxisLogScale) {
- this.yAxisLogScale = yAxisLogScale;
- }
-
-
-}
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/CategoryAxisJSON.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/CategoryAxisJSON.java
deleted file mode 100644
index 93fab6e9..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/CategoryAxisJSON.java
+++ /dev/null
@@ -1,24 +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.runtime;
-
-public class CategoryAxisJSON extends IndexValueJSON {
-
-}
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartD3Helper.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartD3Helper.java
deleted file mode 100644
index c46f48ac..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartD3Helper.java
+++ /dev/null
@@ -1,4064 +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.runtime;
-
-import java.io.BufferedWriter;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.text.ParsePosition;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Enumeration;
-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.SortedSet;
-import java.util.TreeSet;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-
-import org.apache.commons.lang.time.DateUtils;
-import org.openecomp.portalsdk.analytics.error.RaptorException;
-import org.openecomp.portalsdk.analytics.model.ReportHandler;
-import org.openecomp.portalsdk.analytics.model.base.ChartSeqComparator;
-import org.openecomp.portalsdk.analytics.system.AppUtils;
-import org.openecomp.portalsdk.analytics.system.ConnectionUtils;
-import org.openecomp.portalsdk.analytics.util.AppConstants;
-import org.openecomp.portalsdk.analytics.util.DataSet;
-import org.openecomp.portalsdk.analytics.util.HtmlStripper;
-import org.openecomp.portalsdk.analytics.util.Utils;
-import org.openecomp.portalsdk.analytics.view.ReportData;
-import org.openecomp.portalsdk.analytics.xmlobj.DataColumnType;
-import org.openecomp.portalsdk.analytics.xmlobj.FormFieldType;
-import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
-import org.openecomp.portalsdk.core.web.support.UserUtils;
-
-public class ChartD3Helper {
-
- EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(ChartD3Helper.class);
-
-
- private ReportRuntime reportRuntime;
- private String chartType;
-
- public static final long HOUR = 3600*1000;
- public static final long DAY = 3600*1000*24;
- public static final long MONTH = 3600*1000*24*31;
- public static final long YEAR = 3600*1000*24*365;
-
-
- public ChartD3Helper() {
-
- }
-
- /**
- * @return the chartType
- */
- public String getChartType() {
- return chartType;
- }
-
- /**
- * @param chartType the chartType to set
- */
- public void setChartType(String chartType) {
- this.chartType = chartType;
- }
-
- public ChartD3Helper(ReportRuntime rr) {
- this.reportRuntime = rr;
- }
-
- public String createVisualization(String reportID, HttpServletRequest request) throws RaptorException {
- //From annotations chart
- clearReportRuntimeBackup(request);
-
- //HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes()).getRequest();
- final Long user_id = new Long((long) UserUtils.getUserId(request));
- //String action = request.getParameter(AppConstants.RI_ACTION);
- //String reportID = AppUtils.getRequestValue(request, AppConstants.RI_REPORT_ID);
-
- ReportHandler rh = new ReportHandler();
- ReportData reportData = null;
- HashMap<String, String> chartOptionsMap = new HashMap<String, String>();
- try {
- if(reportID !=null) {
- reportRuntime = rh.loadReportRuntime(request, reportID, true, 1);
- setChartType(reportRuntime.getChartType());
- reportData = reportRuntime.loadReportData(0, user_id.toString(), 10000,request, false);
- }
-
-
-
- String rotateLabelsStr = "";
- rotateLabelsStr = AppUtils.nvl(reportRuntime.getLegendLabelAngle());
- if(rotateLabelsStr.toLowerCase().equals("standard")) {
- rotateLabelsStr = "0";
- } else if (rotateLabelsStr.toLowerCase().equals("up45")) {
- rotateLabelsStr = "45";
- } else if (rotateLabelsStr.toLowerCase().equals("down45")) {
- rotateLabelsStr = "-45";
- } else if (rotateLabelsStr.toLowerCase().equals("up90")) {
- rotateLabelsStr = "90";
- } else if (rotateLabelsStr.toLowerCase().equals("down90")) {
- rotateLabelsStr = "-90";
- } else
- rotateLabelsStr = "0";
-
- String width = (AppUtils.getRequestNvlValue(request, "width").length()>0?AppUtils.getRequestNvlValue(request, "width"):(AppUtils.nvl(reportRuntime.getChartWidth()).length()>0?reportRuntime.getChartWidth():"700"));
- String height = (AppUtils.getRequestNvlValue(request, "height").length()>0?AppUtils.getRequestNvlValue(request, "height"):(AppUtils.nvl(reportRuntime.getChartHeight()).length()>0?reportRuntime.getChartHeight():"300"));
- String animationStr = (AppUtils.getRequestNvlValue(request, "animation").length()>0?AppUtils.getRequestNvlValue(request, "animation"):new Boolean(reportRuntime.isAnimateAnimatedChart()).toString());
-
- String rotateLabels = (AppUtils.getRequestNvlValue(request, "rotateLabels").length()>0?AppUtils.getRequestNvlValue(request, "rotateLabels"):(rotateLabelsStr.length()>0?rotateLabelsStr:"0"));
- String staggerLabelsStr = (AppUtils.getRequestNvlValue(request, "staggerLabels").length()>0?AppUtils.getRequestNvlValue(request, "staggerLabels"):"false");
- String showMaxMinStr = (AppUtils.getRequestNvlValue(request, "showMaxMin").length()>0?AppUtils.getRequestNvlValue(request, "showMaxMin"):"false");
- String showControlsStr = (AppUtils.getRequestNvlValue(request, "showControls").length()>0?AppUtils.getRequestNvlValue(request, "showControls"):new Boolean(reportRuntime.displayBarControls()).toString());
- String showLegendStr = (AppUtils.getRequestNvlValue(request, "showLegend").length()>0?AppUtils.getRequestNvlValue(request, "showLegend"):new Boolean(!new Boolean(reportRuntime.hideChartLegend())).toString());
- String topMarginStr = AppUtils.getRequestNvlValue(request, "topMargin");
- String topMargin = (AppUtils.nvl(topMarginStr).length()<=0)?(reportRuntime.getTopMargin()!=null?reportRuntime.getTopMargin().toString():"30"):topMarginStr;
- String bottomMarginStr = AppUtils.getRequestNvlValue(request, "bottomMargin");
- String bottomMargin = (AppUtils.nvl(bottomMarginStr).length()<=0)?(reportRuntime.getBottomMargin()!=null?reportRuntime.getBottomMargin().toString():"50"):bottomMarginStr;
- String leftMarginStr = AppUtils.getRequestNvlValue(request, "leftMargin");
- String leftMargin = (AppUtils.nvl(leftMarginStr).length()<=0)?(reportRuntime.getLeftMargin()!=null?reportRuntime.getLeftMargin().toString():"100"):leftMarginStr;
- String rightMarginStr = AppUtils.getRequestNvlValue(request, "rightMargin");
- String rightMargin = (AppUtils.nvl(rightMarginStr).length()<=0)?(reportRuntime.getRightMargin()!=null?reportRuntime.getRightMargin().toString():"160"):rightMarginStr;
- String showTitleStr = (AppUtils.getRequestNvlValue(request, "showTitle").length()>0?AppUtils.getRequestNvlValue(request, "showTitle"):new Boolean(reportRuntime.displayChartTitle()).toString());
- String subType = AppUtils.getRequestNvlValue(request, "subType").length()>0?AppUtils.getRequestNvlValue(request, "subType"):(AppUtils.nvl(reportRuntime.getTimeSeriesRender()).equals("area")?reportRuntime.getTimeSeriesRender():"");
- String stackedStr = AppUtils.getRequestNvlValue(request, "stacked").length()>0?AppUtils.getRequestNvlValue(request, "stacked"):new Boolean(reportRuntime.isChartStacked()).toString();
- String horizontalBar = AppUtils.getRequestNvlValue(request, "horizontalBar").length()>0?AppUtils.getRequestNvlValue(request, "horizontalBar"):new Boolean(reportRuntime.isHorizontalOrientation()).toString();
- String barRealTimeAxis = AppUtils.getRequestNvlValue(request, "barRealTimeAxis");
- String barReduceXAxisLabels = AppUtils.getRequestNvlValue(request, "barReduceXAxisLabels").length()>0?AppUtils.getRequestNvlValue(request, "barReduceXAxisLabels"):new Boolean(reportRuntime.isLessXaxisTickers()).toString();;
- String timeAxis = AppUtils.getRequestNvlValue(request, "timeAxis").length()>0?AppUtils.getRequestNvlValue(request, "timeAxis"):new Boolean(reportRuntime.isTimeAxis()).toString();
- String logScale = AppUtils.getRequestNvlValue(request, "logScale").length()>0?AppUtils.getRequestNvlValue(request, "logScale"):new Boolean(reportRuntime.isLogScale()).toString();
- String precision = AppUtils.getRequestNvlValue(request, "precision").length()>0?AppUtils.getRequestNvlValue(request, "precision"):"2";
-
-
- chartOptionsMap.put("width", width);
- chartOptionsMap.put("height", height);
- chartOptionsMap.put("animation", animationStr);
- chartOptionsMap.put("rotateLabels", rotateLabels);
- chartOptionsMap.put("staggerLabels", staggerLabelsStr);
- chartOptionsMap.put("showMaxMin", showMaxMinStr);
- chartOptionsMap.put("showControls", showControlsStr);
- chartOptionsMap.put("showLegend", showLegendStr);
- chartOptionsMap.put("topMargin", topMargin);
- chartOptionsMap.put("bottomMargin", bottomMargin);
- chartOptionsMap.put("leftMargin", leftMargin);
- chartOptionsMap.put("rightMargin", rightMargin);
- chartOptionsMap.put("showTitle", showTitleStr);
- chartOptionsMap.put("subType", subType);
- chartOptionsMap.put("stacked", stackedStr);
- chartOptionsMap.put("horizontalBar", horizontalBar);
- chartOptionsMap.put("timeAxis", timeAxis);
- chartOptionsMap.put("barRealTimeAxis", barRealTimeAxis);
- chartOptionsMap.put("barReduceXAxisLabels", barReduceXAxisLabels);
-
- chartOptionsMap.put("logScale", logScale);
- chartOptionsMap.put("precision", precision);
-
-
- } catch (RaptorException ex) {
- ex.printStackTrace();
- }
- return createVisualization(reportRuntime, chartOptionsMap, request);
- }
-
- public String createVisualization(ReportRuntime reportRuntime, HttpServletRequest request) throws RaptorException {
-
- String rotateLabelsStr = "";
- rotateLabelsStr = AppUtils.nvl(reportRuntime.getLegendLabelAngle());
- if(rotateLabelsStr.toLowerCase().equals("standard")) {
- rotateLabelsStr = "0";
- } else if (rotateLabelsStr.toLowerCase().equals("up45")) {
- rotateLabelsStr = "45";
- } else if (rotateLabelsStr.toLowerCase().equals("down45")) {
- rotateLabelsStr = "-45";
- } else if (rotateLabelsStr.toLowerCase().equals("up90")) {
- rotateLabelsStr = "90";
- } else if (rotateLabelsStr.toLowerCase().equals("down90")) {
- rotateLabelsStr = "-90";
- } else
- rotateLabelsStr = "0";
-
- HashMap<String,String> chartOptionsMap = new HashMap<String, String>();
- chartOptionsMap.put("width", reportRuntime.getChartWidth());
- chartOptionsMap.put("height", reportRuntime.getChartHeight());
- chartOptionsMap.put("animation", new Boolean(reportRuntime.isAnimateAnimatedChart()).toString());
- chartOptionsMap.put("rotateLabels", rotateLabelsStr);
- chartOptionsMap.put("staggerLabels", "false");
- chartOptionsMap.put("showMaxMin", "false");
- chartOptionsMap.put("showControls", new Boolean(reportRuntime.displayBarControls()).toString());
- chartOptionsMap.put("showLegend", new Boolean(!reportRuntime.hideChartLegend()).toString());
- chartOptionsMap.put("topMargin", reportRuntime.getTopMargin()!=null?reportRuntime.getTopMargin().toString():"30");
- chartOptionsMap.put("bottomMargin", reportRuntime.getBottomMargin()!=null?reportRuntime.getBottomMargin().toString():"50");
- chartOptionsMap.put("leftMargin", reportRuntime.getLeftMargin()!=null?reportRuntime.getLeftMargin().toString():"100");
- chartOptionsMap.put("rightMargin", reportRuntime.getRightMargin()!=null?reportRuntime.getRightMargin().toString():"160");
- chartOptionsMap.put("showTitle", new Boolean(reportRuntime.displayChartTitle()).toString());
- chartOptionsMap.put("subType", (AppUtils.nvl(reportRuntime.getTimeSeriesRender()).equals("area")?reportRuntime.getTimeSeriesRender():""));
- chartOptionsMap.put("stacked", new Boolean(reportRuntime.isChartStacked()).toString());
- chartOptionsMap.put("horizontalBar", new Boolean(reportRuntime.isHorizontalOrientation()).toString());
- chartOptionsMap.put("timeAxis", new Boolean(reportRuntime.isTimeAxis()).toString());
- chartOptionsMap.put("barReduceXAxisLabels", new Boolean(reportRuntime.isLessXaxisTickers()).toString());
-
- chartOptionsMap.put("logScale", new Boolean(reportRuntime.isLogScale()).toString());
- chartOptionsMap.put("precision", "2");
-
-
-
- return createVisualization(reportRuntime, chartOptionsMap, request);
- }
-
- public String createVisualization(ReportRuntime reportRuntime, HashMap<String,String> chartOptionsMap, HttpServletRequest request) throws RaptorException {
-
- //String width, String height, boolean animation, String rotateLabels, boolean staggerLabels, boolean showMaxMin, boolean showLegend, boolean showControls, String topMargin, String bottomMargin, boolean showTitle, String subType
-
- String width = chartOptionsMap.get("width");
- String height = chartOptionsMap.get("height");
- boolean animation = getBooleanValue(chartOptionsMap.get("animation"), true);
- String rotateLabels = chartOptionsMap.get("rotateLabels");
- boolean staggerLabels = getBooleanValue(chartOptionsMap.get("staggerLabels"));
- boolean showMaxMin = getBooleanValue(chartOptionsMap.get("showMaxMin"), false);
- boolean showLegend = getBooleanValue(chartOptionsMap.get("showLegend"), true);
- boolean showControls = getBooleanValue(chartOptionsMap.get("showControls"), true);
- String topMargin = chartOptionsMap.get("topMargin");
- String bottomMargin = chartOptionsMap.get("bottomMargin");
- String leftMargin = chartOptionsMap.get("leftMargin");
- String rightMargin = chartOptionsMap.get("rightMargin");
- boolean showTitle = getBooleanValue(chartOptionsMap.get("showTitle"), true);
- String subType = chartOptionsMap.get("subType");
- boolean stacked = getBooleanValue(chartOptionsMap.get("stacked"), false);
- boolean horizontalBar = getBooleanValue(chartOptionsMap.get("horizontalBar"), false);
- boolean barRealTimeAxis = getBooleanValue(chartOptionsMap.get("barRealTimeAxis"), true);
- boolean barReduceXAxisLabels= getBooleanValue(chartOptionsMap.get("barReduceXAxisLabels"), false);
- boolean timeAxis = getBooleanValue(chartOptionsMap.get("timeAxis"), true);
-
-
- boolean logScale = getBooleanValue(chartOptionsMap.get("logScale"), false);
-
- int precision = 2;
-
- try {
- precision = Integer.parseInt(chartOptionsMap.get("precision"));
- } catch (NumberFormatException ex) {
-
- }
-
- final Long user_id = new Long((long) UserUtils.getUserId(request));
-
- HttpSession session = null;
- session = request.getSession();
-
- String chartType = reportRuntime.getChartType();
- List l = reportRuntime.getAllColumns();
- List lGroups = reportRuntime.getAllChartGroups();
- HashMap mapYAxis = reportRuntime.getAllChartYAxis(reportRuntime.getReportParamValues());
- //ReportParamValues reportParamValues = reportRuntime.getReportParamValues();
- String chartLeftAxisLabel = reportRuntime.getFormFieldFilled(nvl(reportRuntime.getChartLeftAxisLabel()));
- String chartRightAxisLabel = reportRuntime.getFormFieldFilled(nvl(reportRuntime.getChartRightAxisLabel()));
-
- boolean multipleSeries = reportRuntime.isMultiSeries();
-
- java.util.HashMap formValues = null;
- formValues = getRequestParametersMap(reportRuntime, request);
-
-
- String legendColumnName = (reportRuntime.getChartLegendColumn()!=null)?reportRuntime.getChartLegendColumn().getDisplayName():"Legend Column";
- boolean displayChart = (nvl(chartType).length()>0)&&reportRuntime.getDisplayChart();
- HashMap additionalChartOptionsMap = new HashMap();
-
- StringBuffer wholeScript = new StringBuffer("");
-
- String title = reportRuntime.getReportTitle();
-
- title = parseTitle(title, formValues);
-
- if(displayChart) {
- DataSet ds = null;
- try {
- if (!(chartType.equals(AppConstants.GT_HIERARCHICAL) || chartType.equals(AppConstants.GT_HIERARCHICAL_SUNBURST) || chartType.equals(AppConstants.GT_ANNOTATION_CHART))) {
- ds = (DataSet) loadChartData(new Long(user_id).toString(), request);
- } else if(chartType.equals(AppConstants.GT_ANNOTATION_CHART)) {
- String reportSQL = reportRuntime.getWholeSQL();
- String dbInfo = reportRuntime.getDBInfo();
- ds = ConnectionUtils.getDataSet(reportSQL, dbInfo);
- if(ds.getRowCount()<=0) {
- logger.debug(EELFLoggerDelegate.debugLogger, ("********************************************************************************"));
- logger.debug(EELFLoggerDelegate.debugLogger, (chartType.toUpperCase()+" - " + "Report ID : " + reportRuntime.getReportID() + " DATA IS EMPTY"));
- logger.debug(EELFLoggerDelegate.debugLogger, ("QUERY - " + reportSQL));
- logger.debug(EELFLoggerDelegate.debugLogger, ("********************************************************************************"));
- }
- } else if(chartType.equals(AppConstants.GT_HIERARCHICAL)||chartType.equals(AppConstants.GT_HIERARCHICAL_SUNBURST)) {
- String reportSQL = reportRuntime.getWholeSQL();
- String dbInfo = reportRuntime.getDBInfo();
- ds = ConnectionUtils.getDataSet(reportSQL, dbInfo);
- }
- } catch (RaptorException ex) {
- //throw new RaptorException("Error while loading chart data", ex);
- logger.error(EELFLoggerDelegate.debugLogger, ("********************************************************************************"));
- logger.error(EELFLoggerDelegate.debugLogger, (chartType.toUpperCase()+" - " + "Report ID : " + reportRuntime.getReportID() + " ERROR THROWN FOR GIVEN QUERY "));
- logger.error(EELFLoggerDelegate.debugLogger, ("QUERY - " + reportRuntime.getWholeSQL()));
- logger.error(EELFLoggerDelegate.debugLogger, ("ERROR STACK TRACE" + ex.getMessage()));
- logger.error(EELFLoggerDelegate.debugLogger, ("********************************************************************************"));
-
- }
- if(ds==null) {
- //displayChart = false;
- if(chartType.equals(AppConstants.GT_ANNOTATION_CHART))
- ds = new DataSet();
- else
- displayChart = false;
- }
- if(displayChart) {
-
- if (chartType.equals(AppConstants.GT_BAR_3D)) {
-
- // get category if not give the column name for the data column use this to develop series.
- boolean hasCategoryAxis = reportRuntime.hasSeriesColumn();
-
- boolean hasCustomizedChartColor = false;
- int flag = 0;
- flag = hasCategoryAxis?1:0;
- Object uniqueElements [] = null;
- ArrayList uniqueElementsList = new ArrayList();
- Object uniqueXAxisElements[] = null;
- ArrayList ts = new ArrayList();
- //Set<String> ts1 = new HashSet();
- ArrayList<String> ts1 = new ArrayList();
- HashMap<String, String> columnMap = new HashMap();
- String uniqueXAxisStr = "";
- if(!timeAxis){
- for (int i = 0; i < ds.getRowCount(); i++) {
- uniqueXAxisStr = ds.getString(i, 0);
- ts1.add(uniqueXAxisStr);
- }
- }
- uniqueElementsList.addAll(ts1);
- uniqueXAxisElements = ts1.toArray();
-
- if(flag == 1) {
- StringBuffer catStr = new StringBuffer("");
- String color="";
- for (int i = 0; i < ds.getRowCount(); i++) {
- catStr = new StringBuffer("");
- catStr.append(ds.getString(i, 2));
- try {
- if(ds.getString(i, "chart_color")!=null) {
- color = ds.getString(i, "chart_color");
- hasCustomizedChartColor = true;
- catStr.append("|"+color);
- }
- } catch (ArrayIndexOutOfBoundsException ex) {
- //System.out.println("No Chart Color");
- }
-
- if(catStr.length()>0) {
- //duplicates are avoided
- if(!ts.contains(catStr.toString()))
- ts.add(catStr.toString());
-
- }
- /* Get Chart LeftAxis Label even from Range Axis definition. */
- DataColumnType dct = null;
- for (Iterator iter = l.iterator(); iter.hasNext();) {
- dct = (DataColumnType) iter.next();
- if(!(nvl(dct.getColOnChart()).equals(AppConstants.GC_LEGEND))) {
- if(nvl(chartLeftAxisLabel).length()<=0) {
- chartLeftAxisLabel = nvl(dct.getYAxis());
- chartLeftAxisLabel = (chartLeftAxisLabel.indexOf("|")!=-1)?chartLeftAxisLabel.substring(0,chartLeftAxisLabel.indexOf("|")):"";
- }
- }
- }
-
- }
- //Object uniqueElements [] = ts.toArray();
- //SortedSet s = Collections.synchronizedSortedSet(ts);
- uniqueElements = ts.toArray();
- } else {
- DataColumnType dct = null;
- List yTextSeries = reportRuntime.getChartDisplayNamesList(AppConstants.CHART_ALL_COLUMNS, formValues);
- //if(columnValuesList.size() == 1) {
- for (Iterator iter = l.iterator(); iter.hasNext();) {
- dct = (DataColumnType) iter.next();
-
- if(!(nvl(dct.getColOnChart()).equals(AppConstants.GC_LEGEND))) {
- if((dct.isChartSeries()!=null && dct.isChartSeries().booleanValue()) || (dct.getChartSeq()!=null && dct.getChartSeq()>0) ) {
-
- if(nvl(dct.getChartColor()).length()>0) hasCustomizedChartColor = true;
- if(hasCustomizedChartColor) {
- //duplicates are avoided
- if(!ts.contains(dct.getDisplayName()+"|"+nvl(dct.getChartColor())))
- ts.add(dct.getDisplayName()+"|"+nvl(dct.getChartColor()));
- } else {
- //duplicates are avoided
- if(!ts.contains(dct.getDisplayName()))
- ts.add(dct.getDisplayName());
- }
- if(nvl(chartLeftAxisLabel).length()<=0) {
- chartLeftAxisLabel = nvl(dct.getYAxis());
- chartLeftAxisLabel = (chartLeftAxisLabel.indexOf("|")!=-1)?chartLeftAxisLabel.substring(0,chartLeftAxisLabel.indexOf("|")):"";
- }
- columnMap.put(dct.getDisplayName(), dct.getColId());
- /*
- ts.add(dct.getDisplayName());
- if(nvl(chartLeftAxisLabel).length()<=0) {
- chartLeftAxisLabel = nvl(dct.getYAxis());
- chartLeftAxisLabel = (chartLeftAxisLabel.indexOf("|")!=-1)?chartLeftAxisLabel.substring(0,chartLeftAxisLabel.indexOf("|")):"";
- }
- columnMap.put(dct.getDisplayName(), dct.getColId());
- */
- }
- }
-
- }
- //SortedSet s = Collections.synchronizedSortedSet(ts);
- uniqueElements = ts.toArray();
-
- }
-
- wholeScript.append("<!DOCTYPE html>\n");
- wholeScript.append("<html>\n");
- wholeScript.append("<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF8\">\n");
- wholeScript.append("<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n");
- wholeScript.append("<link href=\""+ AppUtils.getBaseFolderURL() +"d3/css/nv.d3.css\" rel=\"stylesheet\" type=\"text/css\">\n");
- //wholeScript.append("")
- wholeScript.append("<style>\n " +
- " body { \n" +
- " overflow-y:scroll; \n" +
- " } \n" +
- " text { \n" +
- " font: 12px sans-serif; \n" +
- " } \n" +
- " svg { \n" +
- " display: block;\n" +
- " } \n" +
- " #chart"+reportRuntime.getReportID()+" svg { \n" +
- " height: "+ (nvl(height).length()>0?(height.endsWith("px")?height:height+"px"):"420px") + "; \n" +
- " width: "+ (nvl(width).length()>0?(width.endsWith("px")?width:width+"px"):"700px") + "; \n" +
- " min-width: 100px; \n" +
- " min-height: 100px; \n" +
- " } \n" +
- " tr.z-row-over > td.z-row-inner, tr.z-row-over > .z-cell {" +
- " background-color: rgb(255, 255, 255); "+
- "} \n");
-
- wholeScript.append(".nodatadiv {\n");
- wholeScript.append(" display: table-cell;\n");
- wholeScript.append(" width: 700px;\n");
- wholeScript.append(" height:370px;\n");
- wholeScript.append(" text-align:center;\n");
- wholeScript.append(" vertical-align: middle;\n");
- wholeScript.append("}\n");
- wholeScript.append(".nodatainner {\n");
- wholeScript.append(" padding: 10px;\n");
- wholeScript.append("}\n");
-
- wholeScript.append(" </style> \n" );
- wholeScript.append("<body> \n");
- if(showTitle)
- wholeScript.append("<div align=\"center\"><H3>" + title +"</H3></div>");
-
- wholeScript.append("<div id=\"chart"+reportRuntime.getReportID()+"\"> <svg></svg> </div> \n");
- //js files
- wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/d3.v3.min.js\"></script>");
- wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/nv.d3.min.js\"></script> \n");
- wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/tooltip.js\"></script> \n");
- wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/utils.js\"></script> \n");
- wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/models/axis.min.js\"></script> \n");
- //wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/models/discreteBar.js\"></script> \n");
- //wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/models/discreteBarChart.js\"></script> \n");
- wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/models/multiChart.js\"></script> \n");
- //json
- wholeScript.append("<script> \n");
- wholeScript.append("historicalBarChart = [ \n");
- //wholeScript.append("{ \n");
- // data
- ArrayList dataSeries = new ArrayList();
-
- String uniqueElement = "";
- for (int i = 0; i < uniqueElements.length; i++) {
- uniqueElement = (String)uniqueElements[i];
- if(multipleSeries && (nvl(chartRightAxisLabel).length() > 0))
- dataSeries.add(new StringBuffer(" { \"type\":\"bar\", \"key\": \""+ (hasCustomizedChartColor?(uniqueElement.indexOf("|")!=-1?uniqueElement.substring(0, uniqueElement.indexOf("|")):uniqueElement):uniqueElement) +"\", \"yAxis\": \""+(i+1)+"\", "+ (hasCustomizedChartColor?("\"color\": \""+uniqueElement.substring(uniqueElement.indexOf("|")+1) + "\","):"")+"\"values\": ["));
- else
- dataSeries.add(new StringBuffer(" { \"type\":\"bar\", \"key\": \""+ (hasCustomizedChartColor?(uniqueElement.indexOf("|")!=-1?uniqueElement.substring(0, uniqueElement.indexOf("|")):uniqueElement):uniqueElement) +"\", \"yAxis\": \""+(1)+"\", "+ (hasCustomizedChartColor?("\"color\": \""+uniqueElement.substring(uniqueElement.indexOf("|")+1) + "\","):"")+"\"values\": ["));
- }
-
- // added to load all date elements
- HashMap<String, HashMap<String, String>> dataSeriesMap = new HashMap<String, HashMap<String, String>>();
-
- for (int i = 0; i < uniqueElements.length; i++) {
- if(multipleSeries && (nvl(chartRightAxisLabel).length() > 0))
- dataSeriesMap.put((String) uniqueElements[i], new HashMap<String, String>());
- //dataSeries.add(new StringBuffer(" { \"type\":\"bar\", \"key\": \""+ uniqueElements[i] +"\", \"yAxis\": \""+(i+1)+"\", \"values\": ["));
- else
- dataSeriesMap.put((String) uniqueElements[i], new HashMap<String, String>());
-
- //dataSeries.add(new StringBuffer(" { \"type\":\"bar\", \"key\": \""+ uniqueElements[i] +"\", \"yAxis\": \""+(1)+"\", \"values\": ["));
- }
-
- String dateStr = null;
- java.util.Date date = null;
-
- final int YEARFLAG = 1;
- final int MONTHFLAG = 2;
- final int DAYFLAG = 3;
- final int HOURFLAG = 4;
- final int MINFLAG = 5;
- final int SECFLAG = 6;
- final int MILLISECFLAG = 7;
- final int DAYOFTHEWEEKFLAG = 8;
- final int FLAGDATE = 9;
-
- int flagNoDate = 0;
-
- int MAXNUM = 0;
- int YAXISNUM = 0;
- int flagNull = 0;
-
- double YAXISDOUBLENUM = 0.0;
- double MAXDOUBLENUM = 0.0;
- int MAXNUMDECIMALPLACES = 0;
-
- int formatFlag = 0;
-
- TreeSet<String> dateStrList = new TreeSet<String>();
- // added to store all date elements
- SortedSet<String> sortSet = new TreeSet<String>();
- int count = 0;
- if(flag!= 1) {
- HashMap dataSeriesStrMap = new HashMap();
- HashMap dataSeriesOverAllMap = new HashMap();
- String valueDataSeries = "";
-
- for (int j = 0; j < uniqueElements.length; j++) {
- dataSeriesStrMap = new HashMap();
- for (int i = 0; i < ds.getRowCount(); i++) {
- flagNoDate = 0;
- YAXISNUM = 0;
- YAXISDOUBLENUM = 0.0;
- flagNull= 0;
- dateStr = ds.getString(i, 1);
- if(timeAxis) {
- date = getDateFromDateStr(dateStr);
- formatFlag = getFlagFromDateStr(dateStr);
- }
- uniqueElement = (String)uniqueElements[j];
- if(date==null) {
- //continue;
- flagNoDate = 1;
- int pos = 0;
- //if(!((String)uniqueElementsList.get(i)).equals(dateStr)) {
- for (int f=0 ; f< uniqueXAxisElements.length; f++) {
- if(uniqueXAxisElements[f].equals(dateStr)){
- pos = f ;
- break;
- }
- }
- /*for(int f=0; f<uniqueElementsList.size() && f < pos; f++)
- {
- StringBuffer strBuf = ((StringBuffer)dataSeries.get(j));
- if(strBuf.indexOf((String)uniqueElementsList.get(f)) < 0 ) {
- dataSeriesStrMap.put((String)uniqueElementsList.get(f), value);
- //((StringBuffer) dataSeries.get(j)).append ("{ \"x\":\"" + (String)uniqueElementsList.get(f) + "\" , \"y\": null },");
- }
- }*/
- //}
-
- dateStrList.add("'"+dateStr+"'");
- //uniqueElement = (String)uniqueElements[j];
- try {
- YAXISNUM = Integer.parseInt(ds.getString(i, columnMap.get((hasCustomizedChartColor?(uniqueElement.indexOf("|")!=-1?uniqueElement.substring(0, uniqueElement.indexOf("|")):uniqueElement):uniqueElement))));
- //if(MAXNUM < YAXISNUM) MAXNUM = YAXISNUM;
- if(MAXDOUBLENUM < YAXISNUM) MAXDOUBLENUM = YAXISNUM;
- } catch (NumberFormatException ex) {
- try {
- YAXISDOUBLENUM = Double.parseDouble(ds.getString(i, columnMap.get((hasCustomizedChartColor?(uniqueElement.indexOf("|")!=-1?uniqueElement.substring(0, uniqueElement.indexOf("|")):uniqueElement):uniqueElement))));
- MAXNUMDECIMALPLACES = getNumberOfDecimalPlaces(YAXISDOUBLENUM);
- if(MAXDOUBLENUM < YAXISDOUBLENUM) MAXDOUBLENUM = YAXISDOUBLENUM;
- } catch (NumberFormatException ex1) {
- flagNull = 1;
- }
- //flagNull = 1;
- }
- /* For Non-date type value enclose with double quotes */
- // ((StringBuffer) dataSeries.get(j)).append ("{ \"x\":\"" + dateStr + "\" , \"y\":" + (flagNull==0?(YAXISDOUBLENUM>0?YAXISDOUBLENUM:YAXISNUM):null) +"}, ");
- if(logScale) {
- // ((StringBuffer) dataSeries.get(j)).append ("{ \"x\":\"" + dateStr + "\" , \"y\":" + (flagNull==0?(YAXISDOUBLENUM>0?new Double(Math.log10(YAXISDOUBLENUM)).toString():(YAXISNUM>0?new Double(Math.log10(new Integer(YAXISNUM).doubleValue())).toString():null)):null) +"}, ");
- valueDataSeries = "{ \"x\":\"" + dateStr + "\" , \"y\":" + (flagNull == 0 ? (YAXISDOUBLENUM>0?new Double(Math.log10(YAXISDOUBLENUM)).toString():new Double(Math.log10(new Double(YAXISNUM>0?YAXISNUM:1).doubleValue())).toString()): null) +"}, ";
- dataSeriesStrMap.put(dateStr, valueDataSeries);
- } else {
- //((StringBuffer) dataSeries.get(j)).append ("{ \"x\":\"" + dateStr + "\" , \"y\":" + (flagNull==0?(YAXISDOUBLENUM>0?YAXISDOUBLENUM:YAXISNUM):null) +"}, ");
- valueDataSeries = "{ \"x\":\"" + dateStr + "\" , \"y\":" + (flagNull == 0 ? (YAXISDOUBLENUM>0?YAXISDOUBLENUM:YAXISNUM): null) +"}, ";
- dataSeriesStrMap.put(dateStr, valueDataSeries);
-
- }
-
- dataSeriesOverAllMap.put(uniqueElements[j], dataSeriesStrMap);
-
- //((StringBuffer) dataSeries.get(j)).append ("{ \"x\":\"" + dateStr + "\" , \"y\":\"" + ds.getString(i, columnMap.get((String)uniqueElements[j])) +"\"}, ");
- } else {
-
- if(!barRealTimeAxis) { // true - non-time
- if(!dateStrList.contains(new Long(date.getTime()).toString())) {
- dateStrList.add(new Long(date.getTime()).toString());
- for (int k = 0; k < uniqueElements.length; k++) {
- //((StringBuffer) dataSeries.get(k)).append ("{ \"x\":" + date.getTime() + " , \"y\":null}, ");
- HashMap<String, String> dataMap = dataSeriesMap.get((String) uniqueElements[k]);
- dataMap.put(date.getTime()+"", "null");
-
- }
- }
- }
- //if(ds.getString(i, 2).equals(uniqueElements[j])) {
- /*if(!dateStrList.contains(new Long(date.getTime()).toString())) {
- for (int k = 0; k < uniqueElements.length; k++) {
- ((StringBuffer) dataSeries.get(k)).append ("{ \"x\":" + date.getTime() + " , \"y\":null}, ");
- }
- }*/
- //dateStrList.add(new Long(date.getTime()).toString());
- try {
- YAXISNUM = Integer.parseInt(ds.getString(i, columnMap.get(((hasCustomizedChartColor||nvl(chartRightAxisLabel).length()>0) && (uniqueElement.lastIndexOf("|") != -1)?uniqueElement.substring(0, uniqueElement.lastIndexOf("|")):uniqueElement))));
- dateStrList.add(new Long(date.getTime()).toString());
- //if(MAXNUM < YAXISNUM) MAXNUM = YAXISNUM;
- if(MAXDOUBLENUM < YAXISNUM) MAXDOUBLENUM = YAXISNUM;
- } catch (NumberFormatException ex) {
- try {
- YAXISDOUBLENUM = Double.parseDouble(ds.getString(i, columnMap.get(((hasCustomizedChartColor||nvl(chartRightAxisLabel).length()>0) && (uniqueElement.lastIndexOf("|") != -1) ?uniqueElement.substring(0, uniqueElement.lastIndexOf("|")):uniqueElement))));
- MAXNUMDECIMALPLACES = getNumberOfDecimalPlaces(YAXISDOUBLENUM);
- if(MAXDOUBLENUM < YAXISDOUBLENUM) MAXDOUBLENUM = YAXISDOUBLENUM;
- } catch (NumberFormatException ex1) {
- flagNull = 1;
- }
-
- //flagNull = 1;
- }
- HashMap<String, String> dataMap = dataSeriesMap.get((String) uniqueElements[j]);
- if(logScale) {
- dataMap.put(date.getTime()+"", (flagNull == 0 ? (YAXISDOUBLENUM>0?new Double(Math.log10(YAXISDOUBLENUM)).toString():(YAXISNUM>0?new Double(Math.log10(new Integer(YAXISNUM).doubleValue())).toString():null)): "null"));
- } else {
- dataMap.put(date.getTime()+"", (flagNull == 0 ? (YAXISDOUBLENUM>0?new Double(YAXISDOUBLENUM).toString():new Integer(YAXISNUM).toString()): "null"));
- }
-
-
- // ((StringBuffer) dataSeries.get(j)).append ("{ \"x\":" + date.getTime() + " , \"y\":" + (flagNull==0?(YAXISDOUBLENUM>0?YAXISDOUBLENUM:YAXISNUM):null) +"}, ");
-
- //((StringBuffer) dataSeries.get(j)).append ("{ \"x\":" + date.getTime() + " , \"y\":" + ds.getString(i, columnMap.get((String)uniqueElements[j])) +"}, ");
- }
- //}
- }
- }
- for(int kI = 0; kI < uniqueElements.length; kI++) {
- HashMap dataSeriesStrMap1 = (HashMap) dataSeriesOverAllMap.get(uniqueElements[kI]);
- for (int kL = 0; kL < uniqueXAxisElements.length; kL++) {
- if(dataSeriesStrMap1.containsKey(uniqueXAxisElements[kL])) {
- ((StringBuffer) dataSeries.get(kI)).append ((String)dataSeriesStrMap1.get(uniqueXAxisElements[kL]));
- } else {
- ((StringBuffer) dataSeries.get(kI)).append ("{ \"x\":\"" + uniqueXAxisElements[kL] + "\" , \"y\": null }, ");
- }
- }
- }
-
- } else {
- HashMap dataSeriesStrMap = new HashMap();
- HashMap dataSeriesOverAllMap = new HashMap();
- String valueDataSeries = "";
- for (int j = 0; j < uniqueElements.length; j++) {
- dataSeriesStrMap = new HashMap();
-
- for (int i = 0; i < ds.getRowCount(); i++) {
- flagNoDate = 0;
- YAXISNUM = 0;
- YAXISDOUBLENUM = 0.0;
- flagNull= 0;
- //flagSecondNull = 0;
- dateStr = ds.getString(i, 1);
- if(timeAxis) {
- date = getDateFromDateStr(dateStr);
- formatFlag = getFlagFromDateStr(dateStr);
- }
- uniqueElement = (String)uniqueElements[j];
- if(date==null) {
- //continue;
- flagNoDate = 1;
- int pos = 0;
- //if(!((String)uniqueElementsList.get(i)).equals(dateStr)) {
- for (int f=0 ; f< uniqueXAxisElements.length; f++) {
- if(uniqueXAxisElements[f].equals(dateStr)){
- pos = f ;
- break;
- }
- }
- /*for(int f=0; f<uniqueElementsList.size() && f < pos; f++)
- {
- StringBuffer strBuf = ((StringBuffer)dataSeries.get(j));
- if(strBuf.indexOf((String)uniqueElementsList.get(f)) < 0 ) {
- dataSeriesStrMap.put((String)uniqueElementsList.get(f), value);
- //((StringBuffer) dataSeries.get(j)).append ("{ \"x\":\"" + (String)uniqueElementsList.get(f) + "\" , \"y\": null },");
- }
- }*/
- //}
-
- if(ds.getString(i, 2).equals(((hasCustomizedChartColor||nvl(chartRightAxisLabel).length()>0) && (uniqueElement.lastIndexOf("|") != -1) ?uniqueElement.substring(0, uniqueElement.lastIndexOf("|")):uniqueElement))) {
- dateStrList.add("'"+dateStr+"'");
- try {
- YAXISNUM = Integer.parseInt(ds.getString(i, 3));
- if(MAXDOUBLENUM < YAXISNUM) MAXDOUBLENUM = YAXISNUM;
- } catch (NumberFormatException ex) {
- try {
- YAXISDOUBLENUM = Double.parseDouble(ds.getString(i, 3));
- MAXNUMDECIMALPLACES = getNumberOfDecimalPlaces(YAXISDOUBLENUM);
- if(MAXDOUBLENUM < YAXISDOUBLENUM) MAXDOUBLENUM = YAXISDOUBLENUM;
- } catch (NumberFormatException ex1) {
- flagNull = 1;
- }
-
- //flagNull = 1;
- }
-
- if(logScale) {
- if(timeAxis) {
- //((StringBuffer) dataSeries.get(j)).append ("{ \"x\":" + dateStr + " , \"y\":" + (flagNull == 0 ? (YAXISDOUBLENUM>0?new Double(Math.log10(YAXISDOUBLENUM)).toString():new Double(Math.log10(new Double(YAXISNUM>0?YAXISNUM:1).doubleValue())).toString()): null) +"}, ");
- valueDataSeries = "{ \"x\":" + dateStr + " , \"y\":" + (flagNull == 0 ? (YAXISDOUBLENUM>0?new Double(Math.log10(YAXISDOUBLENUM)).toString():new Double(Math.log10(new Double(YAXISNUM>0?YAXISNUM:1).doubleValue())).toString()): null) +"}, ";
- dataSeriesStrMap.put(dateStr, valueDataSeries);
- } else {
- // ((StringBuffer) dataSeries.get(j)).append ("{ \"x\":\"" + dateStr + "\" , \"y\":" + (flagNull == 0 ? (YAXISDOUBLENUM>0?new Double(Math.log10(YAXISDOUBLENUM)).toString():new Double(Math.log10(new Double(YAXISNUM>0?YAXISNUM:1).doubleValue())).toString()): null) +"}, ");
- valueDataSeries = "{ \"x\":\"" + dateStr + "\" , \"y\":" + (flagNull == 0 ? (YAXISDOUBLENUM>0?new Double(Math.log10(YAXISDOUBLENUM)).toString():new Double(Math.log10(new Double(YAXISNUM>0?YAXISNUM:1).doubleValue())).toString()): null) +"}, ";
- dataSeriesStrMap.put(dateStr, valueDataSeries);
- }
- } else {
- if(timeAxis) {
- //((StringBuffer) dataSeries.get(j)).append ("{ \"x\":" + dateStr + " , \"y\":" + (flagNull == 0 ? (YAXISDOUBLENUM>0?YAXISDOUBLENUM:YAXISNUM): null) +"}, ");
- valueDataSeries = "{ \"x\":" + dateStr + " , \"y\":" + (flagNull == 0 ? (YAXISDOUBLENUM>0?YAXISDOUBLENUM:YAXISNUM): null) +"}, ";
- dataSeriesStrMap.put(dateStr, valueDataSeries);
-
- } else {
- //((StringBuffer) dataSeries.get(j)).append ("{ \"x\":\"" + dateStr + "\" , \"y\":" + (flagNull == 0 ? (YAXISDOUBLENUM>0?YAXISDOUBLENUM:YAXISNUM): null) +"}, ");
- valueDataSeries = "{ \"x\":\"" + dateStr + "\" , \"y\":" + (flagNull == 0 ? (YAXISDOUBLENUM>0?YAXISDOUBLENUM:YAXISNUM): null) +"}, ";
- dataSeriesStrMap.put(dateStr, valueDataSeries);
-
- }
- }
-
- /*if(ds.getString(i, 2).equals(uniqueElements[j])) {
- dateStrList.add("'"+dateStr+"'");
- ((StringBuffer) dataSeries.get(j)).append ("{ \"x\":\"" + dateStr + "\" , \"y\":\"" + ds.getString(i, 3) +"\"}, ");
- */
- }
- dataSeriesOverAllMap.put(uniqueElements[j], dataSeriesStrMap);
- } else {
- //date = MMDDYYYYFormat.parse(ds.getString(i, 1), new ParsePosition(0));
- if(!barRealTimeAxis) { // true - non-time
- if(!dateStrList.contains(new Long(date.getTime()).toString())) {
- dateStrList.add(new Long(date.getTime()).toString());
- for (int k = 0; k < uniqueElements.length; k++) {
- //((StringBuffer) dataSeries.get(k)).append ("{ \"x\":" + date.getTime() + " , \"y\":null}, ");
- HashMap<String, String> dataMap = dataSeriesMap.get((String) uniqueElements[k]);
- dataMap.put(date.getTime()+"", "null");
-
- }
- }
- }
- if(ds.getString(i, 2).equals(((hasCustomizedChartColor||nvl(chartRightAxisLabel).length()>0) && (uniqueElement.lastIndexOf("|") != -1) ?uniqueElement.substring(0, uniqueElement.lastIndexOf("|")):uniqueElement))) {
- dateStrList.add(new Long(date.getTime()).toString());
- try {
- YAXISNUM = Integer.parseInt(ds.getString(i, 3));
- if(MAXDOUBLENUM < YAXISNUM) MAXDOUBLENUM = YAXISNUM;
- } catch (NumberFormatException ex) {
- try {
- YAXISDOUBLENUM = Double.parseDouble(ds.getString(i, 3));
- MAXNUMDECIMALPLACES = getNumberOfDecimalPlaces(YAXISDOUBLENUM);
- if(MAXDOUBLENUM < YAXISDOUBLENUM) MAXDOUBLENUM = YAXISDOUBLENUM;
- } catch (NumberFormatException ex1) {
- flagNull = 1;
- }
-
- //flagNull = 1;
- }
-
- //if(ds.getString(i, 2).equals(uniqueElements[j])) {
- // dateStrList.add("'"+dateStr+"'");
- HashMap<String, String> dataMap = dataSeriesMap.get((String) uniqueElements[j]);
- if(logScale) {
- dataMap.put(date.getTime()+"", (flagNull == 0 ? (YAXISDOUBLENUM>0?new Double(Math.log10(YAXISDOUBLENUM)).toString():new Double(Math.log10(new Double(YAXISNUM>0?YAXISNUM:1).doubleValue())).toString()): "null"));
- } else {
- if(dataMap.containsKey(new String(""+date.getTime())) && dataMap.get(new String(""+date.getTime())).equals("null")) {
- dataMap.remove(date.getTime());
- }
- dataMap.put(date.getTime()+"", (flagNull == 0 ? (YAXISDOUBLENUM>0?new Double(YAXISDOUBLENUM).toString():new Integer(YAXISNUM).toString()): "null"));
- //System.out
- // .println(dataMap + " " + dataSeriesMap);
- //}
- }
- // ((StringBuffer) dataSeries.get(j)).append ("{ \"x\":" + date.getTime() + " , \"y\":" + (flagNull == 0 ? (YAXISDOUBLENUM>0?YAXISDOUBLENUM:YAXISNUM): null) +"}, ");
-
-
- //((StringBuffer) dataSeries.get(j)).append ("{ \"x\":" + date.getTime() + " , \"y\":" + ds.getString(i, 3) +"}, ");
- } else if (AppUtils.nvl(ds.getString(i, 2)).length()<=0) {
- dateStrList.add(new Long(date.getTime()).toString());
- HashMap<String, String> dataMap1 = null;
- String uniqueElement1 = "";
- for (int j1 = 0; j1 < uniqueElements.length; j1++) {
- uniqueElement1 = (String)uniqueElements[j];
- if(ds.getString(i, 2).equals(((hasCustomizedChartColor||nvl(chartRightAxisLabel).length()>0) && (uniqueElement1.lastIndexOf("|") != -1) ?uniqueElement1.substring(0, uniqueElement1.lastIndexOf("|")):uniqueElement1))) {
- dataMap1 = dataSeriesMap.get((String) uniqueElements[j1]);
- if(!dataMap1.containsKey(new String(""+date.getTime())))
- dataMap1.put(date.getTime()+"", "null");
- }
- }
- }
- }
- // dataSeriesOverAllMap.put(uniqueElements[j], dataSeriesMap);
- }
-
- }
- for(int kI = 0; kI < uniqueElements.length; kI++) {
- HashMap dataSeriesStrMap1 = (HashMap) dataSeriesOverAllMap.get(uniqueElements[kI]);
- for (int kL = 0; kL < uniqueXAxisElements.length; kL++) {
- if(dataSeriesStrMap1.containsKey(uniqueXAxisElements[kL])) {
- ((StringBuffer) dataSeries.get(kI)).append ((String)dataSeriesStrMap1.get(uniqueXAxisElements[kL]));
- } else {
- ((StringBuffer) dataSeries.get(kI)).append ("{ \"x\":\"" + uniqueXAxisElements[kL] + "\" , \"y\": null }, ");
- }
- }
- }
- }
-
- StringBuffer dateStrBuf = new StringBuffer("");
- /*if(count == 1) {
- Long initialDate = Long.parseLong((String)ds.getString(0, 0));
- Long endDate = Long.parseLong((String) ds.getString(ds.getRowCount(), 0));
- java.util.Date date1 = null;
-
- while ( initialDate <= endDate) {
- //System.out.println("********** " + df.format(initialDate));
- date1 = new java.util.Date(initialDate.longValue() * 1000);
- initialDate = initialDate + HOUR;
-
- dateStrBuf.append(initialDate+",");
- sortSet.add(""+initialDate);
- //DateUtils.addHours(date1, 1);
- }
- }*/
-
- if(dateStrList.size()>0) {
- SortedSet<String> s = Collections.synchronizedSortedSet(dateStrList);
- Object[] dateElements = (Object[]) s.toArray();
-
- String element = "";
- /* if not date value */
- if(!timeAxis) {
- for (int i = 0; i < dateElements.length; i++) {
- dateStrBuf.append(dateElements[i]+",");
- }
- } else {
- if(!barRealTimeAxis || (flagNoDate == 1)) { // non-time
- for (int i = 0; i < dateElements.length; i++) {
- dateStrBuf.append(dateElements[i]+",");
- }
- } else {
- Long initialDate = Long.parseLong((String)dateElements[0]);
- Long endDate = Long.parseLong((String) dateElements[dateElements.length-1]);
- java.util.Date date1 = null;
- //first value
- date1 = new java.util.Date(initialDate.longValue());
- /* DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss Z");
- System.out.println(formatter.format(new java.util.Date(initialDate.longValue())));
- */ //initialDate = initialDate + HOUR;
-
- dateStrBuf.append(initialDate+",");
- sortSet.add(""+initialDate);
-
- // DateUtils.
-
- while ( initialDate <= endDate) {
- //System.out.println("********** " + df.format(initialDate));
- //date1 = new java.util.Date(initialDate.longValue() * 1000);
- date1 = new java.util.Date(initialDate.longValue());
- if(formatFlag==HOURFLAG)
- date1 = DateUtils.addHours(date1, 1);
- else if (formatFlag == DAYFLAG)
- date1 = DateUtils.addDays(date1, 1);
- else if (formatFlag == MONTHFLAG)
- date1 = DateUtils.addMonths(date1, 1);
- else if (formatFlag == YEARFLAG)
- date1 = DateUtils.addMonths(date1, 1);
- initialDate = date1.getTime();
-
- if(initialDate <= endDate) {
- dateStrBuf.append(initialDate+",");
- sortSet.add(""+initialDate);
- }
- //DateUtils.addHours(date1, 1);
- }
- //DateFormat df = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);
- //df.setTimeZone(TimeZone.getTimeZone("UTC"));
- //java.util.Date date1 = new java.util.Date(initialDate.longValue() * 1000);
- //java.util.Date d = df.
- //for ()
- }
- }
- dateStrBuf.deleteCharAt(dateStrBuf.length()-1);
- }
-
- if(timeAxis) {
- //if(!barRealTimeAxis) { // false - non-time
- Object[] dateAllElements = (Object[]) sortSet.toArray();
-
- for (int i = 0; i < uniqueElements.length; i++) {
- HashMap<String, String> dataMap = dataSeriesMap.get((String)uniqueElements[i]);
- for (int j=0; j<dateAllElements.length;j++) {
- //if(strBuf.toString().indexOf((String) dateAllElements[j]) == -1) {
- if(!dataMap.containsKey((String) dateAllElements[j])) {
- dataMap.put((String) dateAllElements[j], "null");
- //((StringBuffer) dataSeries.get(i)).append ("{ \"x\":" + dateAllElements[j] + " , \"y\":null}, ");
- }
- }
- }
- //}
- }
- String valueStr = "";
- for (int i = 0; i < uniqueElements.length; i++) {
- HashMap<String, String> dataMap = dataSeriesMap.get((String)uniqueElements[i]);
- Set<String> keySet = dataMap.keySet();
- ArrayList<String> keySortedList = new ArrayList<String>(new TreeSet<String>(keySet));
-
- for (int k=0; k < keySortedList.size(); k++) {
- valueStr = dataSeriesMap.get((String)uniqueElements[i]).get(keySortedList.get(k));
- if(valueStr.equals("null"))
- valueStr = null;
- else {
- //if(logScale)
- //valueStr = new Double(Math.log10(new Double(valueStr).doubleValue())).toString();
- }
- ((StringBuffer) dataSeries.get(i)).append ("{ \"x\":" + keySortedList.get(k) + " , \"y\":" + valueStr +"}, ");
- // ((StringBuffer) dataSeries.get(i)).append ("{ \"x\":" + keySortedList.get(k) + " , \"y\":" + valueStr +"}, ");
- }
-
- // ((StringBuffer) dataSeries.get(j)).append ("{ \"x\":" + date.getTime() + " , \"y\":" + (flagNull == 0 ? (YAXISDOUBLENUM>0?YAXISDOUBLENUM:YAXISNUM): null) +"}, ");
- }
-
- for (int i = 0; i < uniqueElements.length; i++) {
- StringBuffer strBuf = ((StringBuffer) dataSeries.get(i));
- ((StringBuffer) dataSeries.get(i)).deleteCharAt(((StringBuffer) dataSeries.get(i)).lastIndexOf(","));
- if(i < (uniqueElements.length -1) ) {
- ((StringBuffer) dataSeries.get(i)).append("] } , \n");
- }
- else {
- ((StringBuffer) dataSeries.get(i)).append("] } \n");
- }
- }
- if(ds.getRowCount() > 0) {
- for (int i = 0; i < uniqueElements.length; i++) {
- wholeScript.append((StringBuffer)dataSeries.get(i));
- }
- }
-
-
- wholeScript.append("]; \n");
-
- //add global variable
- wholeScript.append("var chart; \n");
- //javascript to create Bar Chart
- wholeScript.append("nv.addGraph(function() { \n");
- if(horizontalBar /*&& flagNoDate == 1*/)
- wholeScript.append(" chart = nv.models.multiBarHorizontalChart() \n");
- else /*if (flagNoDate == 1)*/
- wholeScript.append(" chart = nv.models.multiBarChart() \n");
- /*else
- wholeScript.append(" var chart = nv.models.multiBarTimeSeriesChart() \n");*/
-
- wholeScript.append(" .margin({top: "+ topMargin +", right: "+ rightMargin +", bottom: "+ bottomMargin +", left: " + leftMargin +"}) \n");
- if(showLegend) {
- wholeScript.append(" .showLegend(true) \n ");
- } else {
- wholeScript.append(" .showLegend(false) \n ");
- }
- if(!horizontalBar && barReduceXAxisLabels)
- wholeScript.append(" .reduceXTicks(true) \n ");
- else if (!horizontalBar) {
- wholeScript.append(" .reduceXTicks(false) \n ");
- //wholeScript.append(" chart.lines1.forceY(["+(nvl(reportRuntime.getRangeAxisLowerLimit()).length()<=0?"0":reportRuntime.getRangeAxisLowerLimit()) +", "+ (nvl(reportRuntime.getRangeAxisUpperLimit()).length()<=0?UPPER_RANGE:reportRuntime.getRangeAxisUpperLimit()) + "]); \n" +
- double UPPER_RANGE = 0;
- if(Math.ceil((MAXDOUBLENUM+(MAXDOUBLENUM*25/100))/100) * 100 >= 1) {
- UPPER_RANGE = Math.ceil(MAXDOUBLENUM+(MAXDOUBLENUM*25/100));
- } else UPPER_RANGE = 1;
- wholeScript.append(" .forceY(["+(nvl(reportRuntime.getRangeAxisLowerLimit()).length()<=0?"0":reportRuntime.getRangeAxisLowerLimit()) +", "+ (nvl(reportRuntime.getRangeAxisUpperLimit()).length()<=0?UPPER_RANGE:reportRuntime.getRangeAxisUpperLimit()) + "])\n");
- }
- if(!animation) {
- wholeScript.append(" .delay(0) \n ");
- }
- if(showControls) {
- wholeScript.append(" .showControls(true) \n ");
- } else if (!showControls){
- wholeScript.append(" .showControls(false) \n ");
- }
- if(stacked && !logScale)
- wholeScript.append(" .stacked(true)\n ");
- else if(!stacked || logScale)
- wholeScript.append(" .stacked(false)\n ");
- if(logScale) {
- wholeScript.append(" .logScale(true)\n ");
- } else {
- wholeScript.append(" .logScale(false)\n ");
- }
-
- if(AppUtils.nvl(reportRuntime.getLegendPosition()).length()>=0 && reportRuntime.getLegendPosition().equals("right")) {
- wholeScript.append(" .legendPos('right')\n" );
- } else {
- wholeScript.append(" .legendPos('top')\n" );
- }
- if(uniqueElements.length <= 10) {
- wholeScript.append(" .color(d3.scale.category10().range()); \n" +
- " chart.xAxis\n");
- } else if (uniqueElements.length <= 20) {
- wholeScript.append(" .color(d3.scale.category50().range()); \n" +
- " chart.xAxis\n");
- } else {
- wholeScript.append(" .color(d3.scale.category50().range()); \n" +
- " chart.xAxis\n");
-
- }
-
- if(flagNoDate == 0)
- wholeScript.append(" .tickValues(["+ dateStrBuf.toString() + "])\n ");
- else {
- wholeScript.append(" .tickValues(["+ dateStrBuf.toString() + "])\n ");
- }
- if(staggerLabels) {
- wholeScript.append(" .staggerLabels(true) \n");
- } else {
- wholeScript.append(" .staggerLabels(false) \n");
- }
- if(!horizontalBar) {
- if(showMaxMin) {
- wholeScript.append(" .showMaxMin(true) \n ");
- } else {
- wholeScript.append(" .showMaxMin(false) \n ");
- }
- }
- if(nvl(rotateLabels).length()>0) {
- wholeScript.append(" .rotateLabels("+ rotateLabels+ ") \n ");
- } else {
- wholeScript.append(" .rotateLabels(\"0\") \n ");
- }
- //wholeScript.append(" .axisLabel('" + legendColumnName + "')");
- if(flagNoDate == 1 || !timeAxis) {
- wholeScript.append(";\n");
- } else {
- wholeScript.append("\n .tickFormat(function(d) { \n");
- if(timeAxis) {
- if(formatFlag==HOURFLAG)
- wholeScript.append(" return d3.time.format('%x %H')(new Date(d)) }); \n");
- else if(formatFlag==MINFLAG)
- wholeScript.append(" return d3.time.format('%x %H:%M')(new Date(d)) }); \n");
- else if(formatFlag==SECFLAG)
- wholeScript.append(" return d3.time.format('%X')(new Date(d)) }); \n");
- else if(formatFlag==MONTHFLAG)
- wholeScript.append(" return d3.time.format('%b %y')(new Date(d)) }); \n");
- else
- wholeScript.append(" return d3.time.format('%x')(new Date(d)) }); \n");
-
- } else {
- wholeScript.append(" return d; }); \n");
- }
- }
-
- if(nvl(chartRightAxisLabel).length() > 0) {
- //if(flagNoDate == 1)
- wholeScript.append(" chart.yAxis\n");
- //else
- // wholeScript.append(" chart.yAxis1\n");
- if(logScale) {
- wholeScript.append(" .logScale(true)\n ");
- } else {
- wholeScript.append(" .logScale(false)\n ");
- }
-
- wholeScript.append(" .axisLabel('" + chartLeftAxisLabel + "') \n" +
- " .tickFormat(d3.format(',.0f')); \n");
- /*" chart.yAxis2\n " +
- " .axisLabel('" + chartRightAxisLabel + "') \n" +
- " .tickFormat(d3.format(',.0f')); \n");*/
-
-
- } else {
- //if(flagNoDate == 1)
- wholeScript.append(" chart.yAxis\n");
- //else
- // wholeScript.append(" chart.yAxis1\n");
- if(logScale) {
- wholeScript.append(" .logScale(true)\n ");
- } else {
- wholeScript.append(" .logScale(false)\n ");
- }
- wholeScript.append(" .axisLabel('" + chartLeftAxisLabel + "') \n");
-
- if(MAXDOUBLENUM <=5 && MAXNUMDECIMALPLACES == 0 ) MAXNUMDECIMALPLACES = 2;
- if( MAXNUMDECIMALPLACES >=3 ) MAXNUMDECIMALPLACES = 2;
- if(!logScale)
- wholeScript.append(" .tickFormat(d3.format(',."+MAXNUMDECIMALPLACES+"f')); \n");
- else
- wholeScript.append(" .tickFormat(d3.format(',." + precision + "f')); \n");
- //" .tickFormat(d3.format(',.0f')); \n");
- }
- wholeScript.append(" d3.select('#chart"+reportRuntime.getReportID()+" svg') \n" +
- " .datum(historicalBarChart) \n" );
- if(animation)
- wholeScript.append(" .transition().duration(1000) \n" );
- else
- wholeScript.append(" .transition().duration(0) \n" );
- wholeScript.append(" .call(chart); \n" +
- "nv.utils.windowResize(chart.update); \n" +
- "return chart; \n" +
- "}); \n");
- wholeScript.append("function redraw() { \n");
- //wholeScript.append(" nv.utils.windowResize(chart.update); \n");
- wholeScript.append(" d3.select('#chart"+reportRuntime.getReportID()+" svg') \n") ;
- wholeScript.append(" .datum(historicalBarChart) \n");
- wholeScript.append(" .transition().duration(500) \n");
- wholeScript.append(" .call(chart); \n");
- wholeScript.append("} \n");
- wholeScript.append("\n");
- wholeScript.append(" setInterval(function () { \n");
- wholeScript.append(" redraw(); \n");
- wholeScript.append(" }, 1500) \n");
-
- wholeScript.append("if(historicalBarChart.length <= 0 ) {\n");
- wholeScript.append(" document.getElementById(\"chart"+reportRuntime.getReportID()+"\").innerHTML = \"<div id='noData'><b>No Data Available</b></div>\";\n");
- wholeScript.append(" document.getElementById(\"chart"+reportRuntime.getReportID()+"\").className=\"nodatadiv\";\n");
- wholeScript.append(" document.getElementById(\"nodata\").className=\"nodatainner\";\n");
- wholeScript.append("}\n");
- wholeScript.append("</script> </body></html> \n");
-
- } else if (chartType.equals(AppConstants.GT_TIME_SERIES)) {
-
- // get category if not give the column name for the data column use this to develop series.
- boolean hasCategoryAxis = reportRuntime.hasSeriesColumn();
-
-
- final int YEARFLAG = 1;
- final int MONTHFLAG = 2;
- final int DAYFLAG = 3;
- final int HOURFLAG = 4;
- final int MINFLAG = 5;
- final int SECFLAG = 6;
- final int MILLISECFLAG = 7;
- final int DAYOFTHEWEEKFLAG = 8;
- final int FLAGDATE = 9;
-
- int flag = 0;
- flag = hasCategoryAxis?1:0;
- String uniqueElements [] = null;
- //TreeSet ts = new TreeSet();
- ArrayList ts = new ArrayList<String>();
- HashMap<String, String> columnMap = new HashMap();
- //check timeAxis
- String dateStr = null;
- java.util.Date date = null;
- if( ds.getRowCount() > 0) {
- dateStr = ds.getString(0, 1);
- if(!timeAxis) {
- date = getDateFromDateStr(dateStr);
- if(date!=null) {
- reportRuntime.setTimeAxis(true);
- timeAxis = reportRuntime.isTimeAxis();
-
-
- }
- }
- }
-
- ArrayList<String> ts1 = new ArrayList();
- ArrayList uniqueElementsList = new ArrayList();
- Object uniqueXAxisElements[] = null;
- String uniqueXAxisStr = "";
- if(!timeAxis){
- for (int i = 0; i < ds.getRowCount(); i++) {
- uniqueXAxisStr = ds.getString(i, 0);
- ts1.add(uniqueXAxisStr);
- }
- }
- uniqueElementsList.addAll(ts1);
- uniqueXAxisElements = ts1.toArray();
- //test start
- /* int TOTAL = 0;
- int VALUE = 0;
- int flagNull = 0;
- String KEY = "";
- String COLOR = "";
- TreeSet<String> colorList = new TreeSet<String>();
- for (int i = 0; i < ds.getRowCount(); i++) {
- VALUE = 0;
- try {
- VALUE = Integer.parseInt(ds.getString(i, 2));
- TOTAL = TOTAL+VALUE;
- } catch (NumberFormatException ex) {
- flagNull = 1;
- }
- KEY = ds.getString(i, 0);
- try {
- if(ds.getString(i, "chart_color")!=null) {
- colorList.add(KEY+"|"+ds.getString(i, "chart_color"));
- }
- } catch (ArrayIndexOutOfBoundsException ex) {
- System.out.println("No Chart Color");
- }
- wholeScript.append("{ \""+ "key" +"\":\""+ KEY+"\", \""+ "y" +"\":"+VALUE+"}, \n");
-
- }
- StringBuffer color = new StringBuffer("");
- if(colorList.size()>0) {
- SortedSet<String> s = Collections.synchronizedSortedSet(colorList);
- Object[] colorElements = (Object[]) s.toArray();
-
- String element = "";
-
- for (int i = 0; i < colorElements.length; i++) {
- element = ((String)colorElements[i]);
- color.append("'"+element.substring(element.indexOf("|")+1)+"',");
- }
- color.deleteCharAt(color.length()-1);
- }*/
-
- //test end
- boolean hasCustomizedChartColor = false;
- if(flag == 1) {
- StringBuffer catStr = new StringBuffer("");
- String color="";
- for (int i = 0; i < ds.getRowCount(); i++) {
- catStr = new StringBuffer("");
- catStr.append(ds.getString(i, 2));
- try {
- if(ds.getString(i, "chart_color")!=null) {
- color = ds.getString(i, "chart_color");
- hasCustomizedChartColor = true;
- catStr.append("|"+color);
- }
- } catch (ArrayIndexOutOfBoundsException ex) {
- //System.out.println("No Chart Color");
- }
-
- if(catStr.length()>0) {
- //duplicates are avoided
- if(!ts.contains(catStr.toString()))
- ts.add(catStr.toString());
-
- }
- }
- //Object uniqueElements [] = ts.toArray();
- //SortedSet s = Collections.synchronizedSortedSet(ts);
- //uniqueElements = (String[]) ts.toArray();
- DataColumnType dct = null;
- List yTextSeries = reportRuntime.getChartDisplayNamesList(AppConstants.CHART_ALL_COLUMNS, formValues);
- if(yTextSeries.size()==1) {
- for (Iterator iter = l.iterator(); iter.hasNext();) {
- dct = (DataColumnType) iter.next();
- //System.out.println(dct.getDisplayName() + " " + yText);
- if(!(nvl(dct.getColOnChart()).equals(AppConstants.GC_LEGEND))) {
- if(nvl(chartLeftAxisLabel).length()<=0) {
- chartLeftAxisLabel = nvl(dct.getYAxis());
- chartLeftAxisLabel = (chartLeftAxisLabel.indexOf("|")!=-1)?chartLeftAxisLabel.substring(0,chartLeftAxisLabel.indexOf("|")):"";
- }
- }
- }
- }
- Object tempArray[] = ts.toArray();
- uniqueElements = Arrays.copyOf(tempArray, tempArray.length, String[].class);
-
- } else {
- DataColumnType dct = null;
-
- List yTextSeries = reportRuntime.getChartDisplayNamesList(AppConstants.CHART_ALL_COLUMNS, formValues);
- //if(columnValuesList.size() == 1) {
- int dctIndex = 0;
- for (Iterator iter = l.iterator(); iter.hasNext();) {
- dct = (DataColumnType) iter.next();
- //System.out.println(dct.getDisplayName() + " " + yText);
- if(!(nvl(dct.getColOnChart()).equals(AppConstants.GC_LEGEND))) {
- if(yTextSeries.contains((String)dct.getDisplayName())) {
- if(nvl(dct.getChartColor()).length()>0) hasCustomizedChartColor = true;
- if(hasCustomizedChartColor) {
- //duplicates are avoided
- if(!ts.contains(dct.getDisplayName()+"|"+nvl(dct.getChartColor())))
- ts.add(dct.getDisplayName()+"|"+nvl(dct.getChartColor()));
- } else {
- //duplicates are avoided
- if(!ts.contains(dct.getDisplayName()))
- ts.add(dct.getDisplayName());
- }
- if(nvl(chartLeftAxisLabel).length()<=0) {
- chartLeftAxisLabel = nvl(dct.getYAxis());
- chartLeftAxisLabel = (chartLeftAxisLabel.indexOf("|")!=-1)?chartLeftAxisLabel.substring(0,chartLeftAxisLabel.indexOf("|")):"";
- }
- if(nvl(chartRightAxisLabel).length()>0) {
- String dctYAxis = nvl(dct.getYAxis());
- String yAxis = (dctYAxis.indexOf("|")!=-1)?dctYAxis.substring(0,dctYAxis.indexOf("|")):dctYAxis;
- if(chartRightAxisLabel.equals(yAxis)) {
- if(ts.contains(dct.getDisplayName())) {
- if(hasCustomizedChartColor) {
- ts.set(dctIndex, dct.getDisplayName()+"|R|"+nvl(dct.getChartColor()));
- } else {
- ts.set(dctIndex, dct.getDisplayName()+"|R");
- }
- }
- }
- }
- columnMap.put(dct.getDisplayName(), dct.getColId());
- }
- dctIndex++;
- }
-
- }
-
- //SortedSet s = Collections.synchronizedSortedSet(ts);
- Object tempArray[] = ts.toArray();
- uniqueElements = Arrays.copyOf(tempArray, tempArray.length, String[].class);
- //uniqueElements = (String[]) ts.toArray();
-
- }
-
- wholeScript.append("<!DOCTYPE html>\n");
- wholeScript.append("<html>\n");
- wholeScript.append("<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF8\">\n");
- wholeScript.append("<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n");
- wholeScript.append("<link href=\""+ AppUtils.getBaseFolderURL() +"d3/css/nv.d3.css\" rel=\"stylesheet\" type=\"text/css\">\n");
- wholeScript.append("<style>\n " +
- " body { \n" +
- " overflow-y:scroll; \n" +
- " } \n" +
- " text { \n" +
- " font: 12px sans-serif; \n" +
- " } \n" +
- " svg { \n" +
- " display: block;\n" +
- " } \n" +
- " #chart"+reportRuntime.getReportID()+" svg { \n" +
- " height: "+ (nvl(height).length()>0?(height.endsWith("px")?height:height+"px"):"420px") + "; \n" +
- " width: "+ (nvl(width).length()>0?(width.endsWith("px")?width:width+"px"):"700px") + "; \n" +
- " min-width: 100px; \n" +
- " min-height: 100px; \n" +
- " } \n" +
- " tr.z-row-over > td.z-row-inner, tr.z-row-over > .z-cell {" +
- " background-color: rgb(255, 255, 255); "+
- "}\n");
- wholeScript.append(".nodatadiv {\n");
- wholeScript.append(" display: table-cell;\n");
- wholeScript.append(" width: 700px;\n");
- wholeScript.append(" height:370px;\n");
- wholeScript.append(" text-align:center;\n");
- wholeScript.append(" vertical-align: middle;\n");
- wholeScript.append("}\n");
- wholeScript.append(".nodatainner {\n");
- wholeScript.append(" padding: 10px;\n");
- wholeScript.append("}\n");
-
- wholeScript.append(" </style> \n" );
-
- wholeScript.append("<body> \n");
-
- if(showTitle)
- wholeScript.append("<div align=\"center\"><H3>" + title +"</H3></div>");
-
-
- wholeScript.append("<div id=\"chart"+reportRuntime.getReportID()+"\"> <svg></svg> </div> \n");
- //js files
- wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/d3.v3.min.js\"></script>\n");
- wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/nv.d3.min.js\"></script> \n");
- wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/models/axis.min.js\"></script> \n");
- //wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/models/cumulativeLineChart.js\"></script> \n");
- //if(multipleSeries)
- //wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/models/multiChart.js\"></script> \n");
-
- //json
- wholeScript.append("<script> \n");
-
- wholeScript.append("historicalBarChart = [ \n");
- //wholeScript.append("{ \n");
- ArrayList dataSeries = new ArrayList();
- String uniqueElement = "";
-
- String [] uniqueRevElements = null;
- //Added to make sure order appears same as legend
- /*if(nvl(subType).length() > 0 && subType.equals("area")) {
- uniqueRevElements = reverse((String[])uniqueElements);
- } else {*/
- uniqueRevElements = (String[])uniqueElements;
- //}
-
- int RIGHTAXISSERIES = 0;
- for (int i = 0; i < uniqueRevElements.length; i++) {
- //element.substring(element.indexOf("|")+1)
- uniqueElement = (String)uniqueRevElements[i];
- if(multipleSeries && (nvl(chartRightAxisLabel).length() > 0)) {
- if(nvl(subType).length() > 0 && subType.equals("area")) {
- if(nvl(uniqueElement).indexOf("|R") !=-1)
- dataSeries.add(new StringBuffer(" { \"type\":\"line\", \"key\": \""+ ((uniqueElement.indexOf("|") != -1)?uniqueElement.substring(0, uniqueElement.indexOf("|")):uniqueElement) +"\", \"yAxis\": \""+(2)+"\", "+ (hasCustomizedChartColor && (uniqueElement.lastIndexOf("|") != -1) ?("\"color\": \""+uniqueElement.substring(uniqueElement.lastIndexOf("|")+1) + "\","):"")+" \"values\": ["));
- else
- dataSeries.add(new StringBuffer(" { \"type\":\"line\", \"key\": \""+ ((uniqueElement.indexOf("|") != -1)?uniqueElement.substring(0, uniqueElement.indexOf("|")):uniqueElement) +"\", \"yAxis\": \""+(1)+"\", "+ (hasCustomizedChartColor && (uniqueElement.lastIndexOf("|") != -1) ?("\"color\": \""+uniqueElement.substring(uniqueElement.lastIndexOf("|")+1) + "\","):"")+" \"values\": ["));
- } else {
- if(nvl(uniqueElement).indexOf("|R") !=-1)
- dataSeries.add(new StringBuffer(" { \"type\":\"line\", \"key\": \""+ ((uniqueElement.indexOf("|") != -1)?uniqueElement.substring(0, uniqueElement.indexOf("|")):uniqueElement) +"\", \"yAxis\": \""+(2)+"\","+ (hasCustomizedChartColor && (uniqueElement.lastIndexOf("|") != -1) ?("\"color\": \""+uniqueElement.substring(uniqueElement.lastIndexOf("|")+1) + "\","):"")+" \"values\": ["));
- else
- dataSeries.add(new StringBuffer(" { \"type\":\"line\", \"key\": \""+ ((uniqueElement.indexOf("|") != -1)?uniqueElement.substring(0, uniqueElement.indexOf("|")):uniqueElement) +"\", \"yAxis\": \""+(1)+"\","+ (hasCustomizedChartColor && (uniqueElement.lastIndexOf("|") != -1) ?("\"color\": \""+uniqueElement.substring(uniqueElement.lastIndexOf("|")+1) + "\","):"")+" \"values\": ["));
- }
- RIGHTAXISSERIES = dataSeries.size()-1;
- //dataSeries.add(new StringBuffer(" { \"type\":\"line\", \"key\": \""+ ((DataColumnType)columnMap.get(i)).getDisplayName() +"\", \"yAxis\": \""+(i+1)+"\", \"values\": ["));
- }
- else {
- dataSeries.add(new StringBuffer(" { \"type\":\"line\", \"key\": \""+ ((uniqueElement.indexOf("|")!= -1)?uniqueElement.substring(0, uniqueElement.indexOf("|")):uniqueElement) +"\", \"yAxis\": \""+(1)+"\","+ (hasCustomizedChartColor && (uniqueElement.lastIndexOf("|") != -1)?("\"color\": \""+uniqueElement.substring(uniqueElement.lastIndexOf("|")+1) + "\","):"")+"\"values\": ["));
- }
-
- }
- /*StringBuffer dataSeries1 = new StringBuffer("");
- dataSeries1.append(" { key: \"Series1\",values: [");
- StringBuffer dataSeries2 = new StringBuffer("");
- dataSeries2.append(" { key: \"Series2\", values: [");
- StringBuffer dataSeries3 = new StringBuffer("");
- dataSeries3.append(" { key: \"Series3\", values: [");
- */
-
-
- //long minTime = 1000000000000000L;
- int MAXNUM = 0;
- double MAXDOUBLENUM = 0.0;
- int YAXISNUM = 0;
- double YAXISDOUBLENUM = 0.0;
- int MAXNUMDECIMALPLACES = 0;
- int flagNull = 0;
- int flagSecondNull = 0;
- TreeSet dateList = new TreeSet();
- int formatFlag = 0;
- if(flag!= 1) {
- for (int j = 0; j < uniqueRevElements.length; j++) {
- for (int i = 0; i < ds.getRowCount(); i++) {
- flagNull = 0;
- flagSecondNull=0;
- YAXISNUM = 0;
- YAXISDOUBLENUM = 0.0;
- dateStr = "";
- date = null;
- dateStr = ds.getString(i, 1);
- if(timeAxis) {
- date = getDateFromDateStr(dateStr);
- formatFlag = getFlagFromDateStr(dateStr);
- }
- if(date==null && timeAxis) continue;
-
-
- //if(ds.getString(i, 2).equals(uniqueElements[j])) {
- //if(minTime > date.getTime())
- // minTime = date.getTime();
- uniqueElement = (String)uniqueRevElements[j];
- try {
- YAXISNUM = Integer.parseInt(ds.getString(i, columnMap.get(((hasCustomizedChartColor||nvl(chartRightAxisLabel).length()>0) && (uniqueElement.lastIndexOf("|") != -1)?uniqueElement.substring(0, uniqueElement.lastIndexOf("|")):uniqueElement))));
- if(MAXDOUBLENUM < YAXISNUM) MAXDOUBLENUM = YAXISNUM;
- } catch (NumberFormatException ex) {
- try {
- YAXISDOUBLENUM = Double.parseDouble(ds.getString(i, columnMap.get(((hasCustomizedChartColor||nvl(chartRightAxisLabel).length()>0) && (uniqueElement.lastIndexOf("|") != -1) ?uniqueElement.substring(0, uniqueElement.lastIndexOf("|")):uniqueElement))));
- if(RIGHTAXISSERIES!=j) {
- MAXNUMDECIMALPLACES = getNumberOfDecimalPlaces(YAXISDOUBLENUM);
- if(MAXDOUBLENUM < YAXISDOUBLENUM) MAXDOUBLENUM = YAXISDOUBLENUM;
- }
- } catch (NumberFormatException ex1) {
- flagNull = 1;
- }
- }
-
- if(date==null) {
- dateList.add(dateStr);
- ((StringBuffer) dataSeries.get(j)).append ("{ \"x\":\"" + dateStr + "\" , \"y\":" + (flagNull==0?(YAXISDOUBLENUM>0?YAXISDOUBLENUM:YAXISNUM):null) +"}, ");
- } else {
- dateList.add(new Long(date.getTime()).toString());
- ((StringBuffer) dataSeries.get(j)).append ("{ \"x\":" + date.getTime() + " , \"y\":" + (flagNull==0?(YAXISDOUBLENUM>0?YAXISDOUBLENUM:YAXISNUM):null) +"}, ");
- }
-
-
-
- if(nvl(subType).length() > 0 && subType.equals("area")) {
-
- if(flagNull!=1) {
- if(i<ds.getRowCount()-1) {
- try {
- YAXISNUM = Integer.parseInt(ds.getString(i+1, columnMap.get(((hasCustomizedChartColor||nvl(chartRightAxisLabel).length()>0) && (uniqueElement.lastIndexOf("|") != -1)?uniqueElement.substring(0, uniqueElement.lastIndexOf("|")):uniqueElement))));
- if(MAXDOUBLENUM < YAXISNUM) MAXDOUBLENUM = YAXISNUM;
- } catch (NumberFormatException ex) {
- try {
- YAXISDOUBLENUM = Double.parseDouble(ds.getString(i+1, columnMap.get(((hasCustomizedChartColor||nvl(chartRightAxisLabel).length()>0) && (uniqueElement.lastIndexOf("|") != -1) ?uniqueElement.substring(0, uniqueElement.lastIndexOf("|")):uniqueElement))));
- if(RIGHTAXISSERIES!=j) {
- MAXNUMDECIMALPLACES = getNumberOfDecimalPlaces(YAXISDOUBLENUM);
- if(MAXDOUBLENUM < YAXISDOUBLENUM) MAXDOUBLENUM = YAXISDOUBLENUM;
- }
- } catch (NumberFormatException ex1) {
- flagSecondNull = 1;
- }
- }
-
- if(flagSecondNull==1 && date == null) {
- ((StringBuffer) dataSeries.get(j)).append ("{ \"x\":\"" + dateStr + "\" , \"y\":" + null +"}, ");
- } else if( flagSecondNull == 1){
- ((StringBuffer) dataSeries.get(j)).append ("{ \"x\":" + date.getTime() + " , \"y\":" + null +"}, ");
- }
- }
- } else {
- if(i<ds.getRowCount()-1) {
- dateStr = ds.getString(i+1, 1);
-
- if(!timeAxis) {
- ((StringBuffer) dataSeries.get(j)).append ("{ \"x\":\"" + dateStr + "\" , \"y\":" + null +"}, ");
- } else {
- date = getDateFromDateStr(dateStr);
- ((StringBuffer) dataSeries.get(j)).append ("{ \"x\":" + date.getTime() + " , \"y\":" + null +"}, ");
- }
- //((StringBuffer) dataSeries.get(j)).append ("{ \"x\":" + date.getTime() + " , \"y\":" + null +"}, ");
- }
- }
-
- }
-
-
- //}
- }
- //((StringBuffer) dataSeries.get(j)).append ("{ \"x\":" + minTime + " , \"y\":" + 0 +"}, ");
- }
-
- } else {
- for (int j = 0; j < uniqueRevElements.length; j++) {
- for (int i = 0; i < ds.getRowCount(); i++) {
- YAXISNUM = 0;
- YAXISDOUBLENUM = 0.0;
- flagNull= 0;
- flagSecondNull = 0;
- dateStr = ds.getString(i, 1);
- if(timeAxis) {
- date = getDateFromDateStr(dateStr);
- formatFlag = getFlagFromDateStr(dateStr);
- }
-
- if(date==null && timeAxis) continue;
-
- uniqueElement = (String)uniqueRevElements[j];
- //date = MMDDYYYYFormat.parse(ds.getString(i, 1), new ParsePosition(0));
- if(ds.getString(i, 2).equals(((hasCustomizedChartColor||nvl(chartRightAxisLabel).length()>0) && (uniqueElement.lastIndexOf("|") != -1) ?uniqueElement.substring(0, uniqueElement.lastIndexOf("|")):uniqueElement))) {
- //if(minTime > date.getTime())
- // minTime = date.getTime();
- try {
- YAXISNUM = Integer.parseInt(ds.getString(i, 3));
- if(MAXDOUBLENUM < YAXISNUM) MAXDOUBLENUM = YAXISNUM;
- } catch (NumberFormatException ex) {
- try {
- YAXISDOUBLENUM = Double.parseDouble(ds.getString(i, 3));
- if(RIGHTAXISSERIES!=j) {
- MAXNUMDECIMALPLACES = getNumberOfDecimalPlaces(YAXISDOUBLENUM);
- if(MAXDOUBLENUM < YAXISDOUBLENUM) MAXDOUBLENUM = YAXISDOUBLENUM;
-
- }
- } catch (NumberFormatException ex1) {
- flagNull = 1;
- }
- }
-
- if(date==null) {
- dateList.add(dateStr);
- ((StringBuffer) dataSeries.get(j)).append ("{ \"x\":" + dateStr + " , \"y\":" + (flagNull==0?(YAXISDOUBLENUM!=0.0?YAXISDOUBLENUM:YAXISNUM):null) +"}, ");
- } else {
- dateList.add(new Long(date.getTime()).toString());
- ((StringBuffer) dataSeries.get(j)).append ("{ \"x\":" + date.getTime() + " , \"y\":" + (flagNull==0?(YAXISDOUBLENUM!=0.0?YAXISDOUBLENUM:YAXISNUM):null) +"}, ");
- }
-
-
- if(nvl(subType).length() > 0 && subType.equals("area")) {
-
- if(flagNull!=1) {
- if(i<ds.getRowCount()-1) {
- for (int k = i+1; k < ds.getRowCount(); k++) {
- if (ds.getString(k, 2).equals(((hasCustomizedChartColor||nvl(chartRightAxisLabel).length()>0) && (uniqueElement.lastIndexOf("|") != -1) ?uniqueElement.substring(0, uniqueElement.lastIndexOf("|")):uniqueElement))) {
- try {
- YAXISNUM = Integer.parseInt(ds.getString(k, 3));
- if(MAXDOUBLENUM < YAXISNUM) MAXDOUBLENUM = YAXISNUM;
- } catch (NumberFormatException ex) {
- try {
- YAXISDOUBLENUM = Double.parseDouble(ds.getString(k, 3));
- if(RIGHTAXISSERIES!=j) {
- MAXNUMDECIMALPLACES = getNumberOfDecimalPlaces(YAXISDOUBLENUM);
- if(MAXDOUBLENUM < YAXISDOUBLENUM) MAXDOUBLENUM = YAXISDOUBLENUM;
- }
- } catch (NumberFormatException ex1) {
- flagSecondNull = 1;
- }
- }
- break;
- }
- }
-
- if(date==null && flagSecondNull==1){
- ((StringBuffer) dataSeries.get(j)).append ("{ \"x\":" + dateStr + " , \"y\":" + null +"}, ");
- } else if(flagSecondNull == 1){
- ((StringBuffer) dataSeries.get(j)).append ("{ \"x\":" + date.getTime() + " , \"y\":" + null +"}, ");
- }
- //}
- }
- } else {
- if(i<ds.getRowCount()-1) {
- for (int k = i+1; k < ds.getRowCount(); k++) {
- if (ds.getString(k, 2).equals(((hasCustomizedChartColor||nvl(chartRightAxisLabel).length()>0) && (uniqueElement.lastIndexOf("|") != -1) ?uniqueElement.substring(0, uniqueElement.lastIndexOf("|")):uniqueElement))) {
- dateStr = ds.getString(k, 1);
- if(!timeAxis) {
- ((StringBuffer) dataSeries.get(j)).append ("{ \"x\":" + date.getTime() + " , \"y\":" + null +"}, ");
- break;
- } else {
- date = getDateFromDateStr(dateStr);
- ((StringBuffer) dataSeries.get(j)).append ("{ \"x\":" + date.getTime() + " , \"y\":" + null +"}, ");
- break;
- }
- }
- }
- }
- }
- }
-
- }
- }
- // ((StringBuffer) dataSeries.get(j)).append ("{ \"x\":" + minTime + " , \"y\":" + 0 +"}, ");
-
- }
-/* if(ds.getString(i, 2).equals("Series1")) {
- dataSeries1.append("[ " + date.getTime() + " , " + ds.getString(i, 3) +"], ");
- } else if (ds.getString(i, 2).equals("Series2")) {
- dataSeries2.append("[ " + date.getTime() + " , " + ds.getString(i, 3) +"], ");
- } else if (ds.getString(i, 2).equals("Series3")) {
- dataSeries3.append("[ " + date.getTime() + " , " + ds.getString(i, 3) +"], ");
- }
-*/ }
-
- for (int i = 0; i < uniqueRevElements.length; i++) {
- StringBuffer strBuf = ((StringBuffer) dataSeries.get(i));
- ((StringBuffer) dataSeries.get(i)).deleteCharAt(((StringBuffer) dataSeries.get(i)).lastIndexOf(","));
- if(i < (uniqueRevElements.length -1) ) {
- ((StringBuffer) dataSeries.get(i)).append("] } , \n");
- }
- else {
- ((StringBuffer) dataSeries.get(i)).append("] } \n");
- }
- }
-
- for (int i = 0; i < uniqueRevElements.length; i++) {
- wholeScript.append((StringBuffer)dataSeries.get(i));
- }
-/* wholeScript.append(dataSeries1);
- wholeScript.append(dataSeries2);
- wholeScript.append(dataSeries3);
-*/ wholeScript.append("];\n");
-
- /* Sorting is commented out.*/
- StringBuffer dateStrBuf = new StringBuffer("");
- if(dateList.size()>0) {
- //SortedSet<String> s = Collections.synchronizedSortedSet(dateList);
- Object[] dateElements = (Object[]) dateList.toArray();
-
- String element = "";
-
- for (int i = 0; i < dateElements.length; i++) {
- dateStrBuf.append(dateElements[i]+",");
- }
- dateStrBuf.deleteCharAt(dateStrBuf.length()-1);
- }
-
- wholeScript.append(" var chart;\n");
- wholeScript.append("nv.addGraph(function() { \n");
- //" var chart = nv.models.cumulativeLineChart() \n" + nv.models.lineWithFocusChart()
-// " chart = nv.models.lineChart() \n" +
- if(nvl(subType).length() > 0 && subType.equals("area")) {
- wholeScript.append(" chart = nv.models.stackedAreaChart() \n");
- if(showControls) {
- wholeScript.append(" .showControls(true) \n ");
- } else {
- wholeScript.append(" .showControls(false) \n ");
- }
- } else {
- wholeScript.append(" chart = nv.models.multiChart() \n");
- if(nvl(chartRightAxisLabel).length() > 0) {
- wholeScript.append(" .dualaxis(true) \n ");
- } else {
- wholeScript.append(" .dualaxis(false) \n ");
- }
-
- if(AppUtils.nvl(reportRuntime.getLegendPosition()).length()>=0 && reportRuntime.getLegendPosition().equals("right")) {
- wholeScript.append(" .legendPos('right')\n" );
- } else {
- wholeScript.append(" .legendPos('top')\n" );
- }
-
-
- }
-
- wholeScript.append(" .margin({top: "+ topMargin +", right: "+ rightMargin +", bottom: "+ bottomMargin +", left: " + leftMargin +"}) \n");
- if(showLegend) {
- wholeScript.append(" .showLegend(true) \n ");
- } else {
- wholeScript.append(" .showLegend(false) \n ");
- }
-
- if(nvl(subType).length() > 0 && subType.equals("area")) {
- if( MAXNUMDECIMALPLACES >=3 ) {
- wholeScript.append(" .yAxisTooltipFormat(d3.format(',.3f')) \n");
- } else {
- wholeScript.append(" .yAxisTooltipFormat(d3.format(',."+MAXNUMDECIMALPLACES+ "f')) \n");
- }
-
- wholeScript.append(".x (function(d) {return d.x;}) \n" +
- ".y (function(d) {return d.y;}) \n");
- }
-
- //" .x(function(d) { return d[0] }) \n" +
- //" .y(function(d) { return d[1] }) \n" +
- //" .forceY("+(nvl(reportRuntime.getRangeAxisLowerLimit()).length()<=0?"0":reportRuntime.getRangeAxisLowerLimit()) +", "+ Math.ceil((MAXNUM+(MAXNUM*25/100))/100) * 100 + ") \n" + // reportRuntime.getRangeAxisUpperLimit()+") \n" +
- wholeScript.append(" .color(d3.scale.category10().range()); \n");
- if(!(nvl(subType).length() > 0 && subType.equals("area"))) {
- double UPPER_RANGE = 0;
- if(Math.ceil((MAXDOUBLENUM+(MAXDOUBLENUM*25/100))/100) * 100 >= 1) {
- UPPER_RANGE = Math.ceil(MAXDOUBLENUM+(MAXDOUBLENUM*25/100));
- } else UPPER_RANGE = 1;
-
- wholeScript.append(" chart.lines1.forceY(["+(nvl(reportRuntime.getRangeAxisLowerLimit()).length()<=0?"0":reportRuntime.getRangeAxisLowerLimit()) +", "+ (nvl(reportRuntime.getRangeAxisUpperLimit()).length()<=0?UPPER_RANGE:reportRuntime.getRangeAxisUpperLimit()) + "]); \n" +
- " chart.lines2.forceY([0,1]); \n");
- }
- wholeScript.append(" chart.xAxis\n");
- if(reportRuntime.isShowXaxisLabel()) {
- // X axis label is commented for time-being. This should be derived from request parameter.
- //" .axisLabel('" + legendColumnName + "') \n" +
- wholeScript.append(" .axisLabel('" + legendColumnName + "') \n");
- } else {
- wholeScript.append(" .axisLabel('') \n");
- }
- if(reportRuntime.isAddXAxisTickers()) {
- wholeScript.append(" .tickValues(["+ dateStrBuf.toString()+ "])\n ");
- } else {
- //wholeScript.append(" .tickValues([])\n ");
- }
- if(staggerLabels) {
- wholeScript.append(" .staggerLabels(true) \n");
- } else {
- wholeScript.append(" .staggerLabels(false) \n");
- }
- if(showMaxMin) {
- wholeScript.append(" .showMaxMin(true) \n ");
- } else {
- wholeScript.append(" .showMaxMin(false) \n ");
- }
-
- if(nvl(rotateLabels).length()>0) {
- wholeScript.append(" .rotateLabels("+ rotateLabels+ ") \n ");
- } else {
- wholeScript.append(" .rotateLabels(\"0\") \n ");
- }
-
- wholeScript.append(" .tickFormat(function(d) { \n");
- if(formatFlag==HOURFLAG)
- wholeScript.append(" return d3.time.format('%x %H')(new Date(d)) }); \n");
- else if(formatFlag==MINFLAG)
- wholeScript.append(" return d3.time.format('%x %H:%M')(new Date(d)) }); \n");
- else if(formatFlag==SECFLAG)
- wholeScript.append(" return d3.time.format('%x %X')(new Date(d)) }); \n");
- else if(formatFlag==MONTHFLAG)
- wholeScript.append(" return d3.time.format('%b %y')(new Date(d)) }); \n");
-
- else if(timeAxis)
- wholeScript.append(" return d3.time.format('%x')(new Date(d)) }); \n");
- else
- wholeScript.append(" return d; }); \n");
- if(nvl(chartRightAxisLabel).length() > 0) {
- if(nvl(subType).length() > 0 && subType.equals("area")) {
- wholeScript.append(" chart.yAxis\n");
- } else {
- wholeScript.append(" chart.yAxis1\n");
- }
- wholeScript.append(" .axisLabel('" + chartLeftAxisLabel + "') \n");
- //if(nvl(subType).length() > 0 && subType.equals("area")) {
- if(MAXDOUBLENUM <=5 && MAXNUMDECIMALPLACES == 0 ) MAXNUMDECIMALPLACES = 2;
- if( MAXNUMDECIMALPLACES >=3 ) MAXNUMDECIMALPLACES = 2;
- wholeScript.append(" .tickFormat(d3.format(',."+MAXNUMDECIMALPLACES+"f')); \n");
- /*} else {
- wholeScript.append(" .tickFormat(d3.format(',.2f')); \n");
- }*/
- // " .tickFormat(function (d) {return d;} ); \n");
- //" .tickFormat(function(d) {if (d >= 1000) return Math.round(d/1000)+\"K\"; else return d;}); \n");
- if(!(nvl(subType).length() > 0 && subType.equals("area"))) {
- wholeScript.append(" chart.yAxis2\n " +
- " .axisLabel('" + chartRightAxisLabel + "') \n" +
- " .tickFormat(d3.format(',.02f')); \n");
- //" .tickFormat(function(d) {if (d >= 1000) return Math.round(d/1000)+\"K\"; else return d;}); \n");
- //" .tickFormat(function(d) {if( d <= 1) return Math.round(d*100)+\"%\"; else return d;}); \n");
- // " .tickFormat(function(d) { return d;}); \n");
- }
-
-
- } else {
- if(nvl(subType).length() > 0 && subType.equals("area")) {
- wholeScript.append(" chart.yAxis\n");
- } else {
- wholeScript.append(" chart.yAxis1\n");
- }
- wholeScript.append(" .axisLabel('" + chartLeftAxisLabel + "') \n");
- //if(nvl(subType).length() > 0 && subType.equals("area")) {
- if(MAXDOUBLENUM <=5 && MAXNUMDECIMALPLACES == 0 ) MAXNUMDECIMALPLACES = 2;
- if( MAXNUMDECIMALPLACES >=3 ) {
- MAXNUMDECIMALPLACES = 2;
- }
- wholeScript.append(" .tickFormat(d3.format(',."+MAXNUMDECIMALPLACES+"f')); \n");
- /*} else {
- wholeScript.append(" .tickFormat(d3.format(',.2f')); \n");
- }*/
- //" .tickFormat(function(d) {if (d >= 1000) return Math.round(d/1000)+\"K\"; else return d;}); \n");
- }
- wholeScript.append(" d3.select('#chart"+reportRuntime.getReportID()+" svg') \n" +
- " .datum(historicalBarChart) \n" );
- if(animation)
- wholeScript.append(" .transition().duration(1000) \n" );
- wholeScript.append(" .call(chart); \n" +
- "nv.utils.windowResize(chart.update); \n" +
- "return chart; \n" +
- "}); \n");
-
- wholeScript.append("function redraw() { \n");
- //wholeScript.append(" nv.utils.windowResize(chart.update); \n");
- wholeScript.append(" d3.select('#chart"+reportRuntime.getReportID()+" svg') \n") ;
- wholeScript.append(" .datum(historicalBarChart) \n");
- wholeScript.append(" .transition().duration(500) \n");
- wholeScript.append(" .call(chart); \n");
- wholeScript.append("} \n");
- wholeScript.append("\n");
- wholeScript.append(" setInterval(function () { \n");
- wholeScript.append(" redraw(); \n");
- wholeScript.append(" }, 1500) \n");
-
- wholeScript.append("if(historicalBarChart.length <= 0 ) {\n");
- wholeScript.append(" document.getElementById(\"chart"+reportRuntime.getReportID()+"\").innerHTML = \"<div id='noData'><b>No Data Available</b></div>\";\n");
- wholeScript.append(" document.getElementById(\"chart"+reportRuntime.getReportID()+"\").className=\"nodatadiv\";\n");
- wholeScript.append(" document.getElementById(\"nodata\").className=\"nodatainner\";\n");
- wholeScript.append("}\n");
-
- wholeScript.append("</script> </body> </html> \n");
-
- } else if (chartType.equals(AppConstants.GT_PIE) || chartType.equals(AppConstants.GT_PIE_3D)) {
- wholeScript.append("<!DOCTYPE html>\n");
- wholeScript.append("<html>\n");
- wholeScript.append("<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF8\">\n");
- wholeScript.append("<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n");
- wholeScript.append("<link href=\""+ AppUtils.getBaseFolderURL() +"d3/css/nv.d3.css\" rel=\"stylesheet\" type=\"text/css\">\n");
- wholeScript.append("<style>\n " +
- " body { \n" +
- " overflow-y:scroll; \n" +
- " } \n" +
- " text { \n" +
- " font: 12px sans-serif; \n" +
- " } \n" +
- " tr.z-row-over > td.z-row-inner, tr.z-row-over > .z-cell {" +
- " background-color: rgb(255, 255, 255); "+
- "} "+
- " svg { display: block; } " +
- " #chart"+reportRuntime.getReportID()+" svg { \n" +
- " height: "+ (nvl(height).length()>0?(height.endsWith("px")?height:height+"px"):"420px") + "; \n" +
- " width: "+ (nvl(width).length()>0?(width.endsWith("px")?width:width+"px"):"700px") + "; \n" +
- " min-width: 100px; \n" +
- " min-height: 100px; \n" +
- " } \n" +
- " </style> \n" );
- wholeScript.append("<body> \n");
-
- if(showTitle)
- wholeScript.append("<div align=\"center\"><H3>" + title +"</H3></div>");
-
- wholeScript.append("<div id=\"chart"+reportRuntime.getReportID()+"\"><svg></svg></div>");
- //"<svg id=\"test2\"></svg>\n");
- //js files
- wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/d3.v3.min.js\"></script>\n");
- wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/nv.d3.min.js\"></script> \n");
- wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/models/legend.js\"></script> \n");
- wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/models/pie.js\"></script> \n");
- wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/models/pieChart.js\"></script> \n");
- wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/utils.js\"></script> \n");
- wholeScript.append("<script> \n");
-
- wholeScript.append("historicalBarChart = [ \n");
- double TOTAL = 0;
- double VALUE = 0;
- int flagNull = 0;
- String KEY = "";
- String COLOR = "";
- TreeSet<String> colorList = new TreeSet<String>();
- for (int i = 0; i < ds.getRowCount(); i++) {
- VALUE = 0;
- try {
- VALUE = Double.parseDouble(ds.getString(i, 2));
- TOTAL = TOTAL+VALUE;
- } catch (NumberFormatException ex) {
- flagNull = 1;
- }
- KEY = ds.getString(i, 0);
- try {
- if(ds.getString(i, "chart_color")!=null) {
- colorList.add(KEY+"|"+ds.getString(i, "chart_color"));
- }
- } catch (ArrayIndexOutOfBoundsException ex) {
- //System.out.println("No Chart Color");
- }
- wholeScript.append("{ \""+ "key" +"\":\""+ KEY+"\", \""+ "y" +"\":"+VALUE+"}, \n");
-
- }
- StringBuffer color = new StringBuffer("");
- if(colorList.size()>0) {
- SortedSet<String> s = Collections.synchronizedSortedSet(colorList);
- Object[] colorElements = (Object[]) s.toArray();
-
- String element = "";
-
- for (int i = 0; i < colorElements.length; i++) {
- element = ((String)colorElements[i]);
- color.append("'"+element.substring(element.lastIndexOf("|")+1)+"',");
- }
- color.deleteCharAt(color.length()-1);
- }
-
- wholeScript.append("];\n");
-
-
- wholeScript.append("var chart; \n");
- wholeScript.append("nv.addGraph(function() { \n" +
- " var width1= 700, height1=720; \n" +
- " chart = nv.models.pieChart() \n" +
- " .margin({top: "+ topMargin +", right: "+ rightMargin +", bottom: "+ bottomMargin +", left: " + leftMargin +"}) \n" +
-
- //" .x(function(d) { return d.key +\" \"+ Math.round(d.y/"+TOTAL+" *100) + \"%\" }) \n" +
- " .x(function(d) { return d.key }) \n" +
- " .y(function(d) { return d.y }) \n");
- if(colorList.size()>0) {
- wholeScript.append(" .color(["+ color.toString() + "] ) \n");
- }
- //wholeScript.append(" .values(function(d) { return d }) \n");
- //" .color(d3.scale.category10().range()); \n" +
- if(showLegend) {
- wholeScript.append(" chart.showLegend(true);\n ");
- } else {
- wholeScript.append(" chart.showLegend(false);\n ");
- }
-
- //wholeScript.append("chart.showLegend(false);\n" +
- //" .width(width1) \n" +
- //" .height(height1); \n" +
- wholeScript.append(" d3.select('#chart"+reportRuntime.getReportID()+" svg') \n" +
- " .datum(historicalBarChart) \n");
- if(animation)
- wholeScript.append(" .transition().duration(1200) \n" );
-/* " .attr(\"width\", width1) \n" +
- " .attr(\"height\", height1) \n" +
-*/ wholeScript.append(" .call(chart); \n" +
- " nv.utils.windowResize(chart.update);\n"+
- "return chart; \n" +
- "}); \n");
-
- wholeScript.append("function redraw() { \n");
- //wholeScript.append(" nv.utils.windowResize(chart.update); \n");
- wholeScript.append(" d3.select('#chart"+reportRuntime.getReportID()+" svg') \n") ;
- wholeScript.append(" .datum(historicalBarChart) \n");
- wholeScript.append(" .transition().duration(500) \n");
- wholeScript.append(" .call(chart); \n");
- wholeScript.append("} \n");
- wholeScript.append("\n");
- wholeScript.append(" setInterval(function () { \n");
- wholeScript.append(" redraw(); \n");
- wholeScript.append(" }, 1500) \n");
-
-
-
- wholeScript.append("if(historicalBarChart.length <= 0 ) {\n");
- wholeScript.append(" document.getElementById(\"chart"+reportRuntime.getReportID()+"\").innerHTML = \"<div id='noData'><b>No Data Available</b></div>\";\n");
- wholeScript.append(" document.getElementById(\"chart"+reportRuntime.getReportID()+"\").className=\"nodatadiv\";\n");
- wholeScript.append(" document.getElementById(\"nodata\").className=\"nodatainner\";\n");
- wholeScript.append("}\n");
-
- wholeScript.append("</script> </body> </html> \n");
-
- } else if (chartType.equals(AppConstants.GT_ANNOTATION_CHART) || chartType.equals(AppConstants.GT_FLEX_TIME_CHARTS)) {
-
- boolean timeCharts = chartType.equals(AppConstants.GT_FLEX_TIME_CHARTS);
-
- String dateStr = null;
- java.util.Date date = null;
-
- final int YEARFLAG = 1;
- final int MONTHFLAG = 2;
- final int DAYFLAG = 3;
- final int HOURFLAG = 4;
- final int MINFLAG = 5;
- final int SECFLAG = 6;
- final int MILLISECFLAG = 7;
- final int DAYOFTHEWEEKFLAG = 8;
- final int FLAGDATE = 9;
-
- int flagNoDate = 0;
-
- int MAXNUM = 0;
- int YAXISNUM = 0;
- int flagNull = 0;
-
- double YAXISDOUBLENUM = 0.0;
- double MAXDOUBLENUM = 0.0;
- int MAXNUMDECIMALPLACES = 0;
-
- int formatFlag = 0;
-
- TreeSet<String> dateStrList = new TreeSet<String>();
- // added to store all date elements
- SortedSet<String> sortSet = new TreeSet<String>();
- int count = 0;
-
- int flag = 0;
- boolean hasCategoryAxis = reportRuntime.hasSeriesColumn();
- flag = hasCategoryAxis?1:0;
-
-
- String anomalyText = "";
-
- StringBuffer dataStrBuf = new StringBuffer("");
- StringBuffer annotationsStrBuf = new StringBuffer("");
-
- String xAxisLabel = (reportRuntime.getChartLegendColumn()!=null)?reportRuntime.getChartLegendColumn().getDisplayName():"";
-
- //finding actual string
- String actualText = "";
- DataColumnType dct = null;
- for (Iterator iter = l.iterator(); iter.hasNext();) {
- dct = (DataColumnType) iter.next();
- if((dct.getChartSeq()!=null && dct.getChartSeq() >=0) && !AppUtils.nvl(dct.getColOnChart()).equals(AppConstants.GC_LEGEND)) {
- //if(AppUtils.nvl(dct.getDisplayName()).toLowerCase().contains("actual")) {
- actualText = dct.getDisplayName();
- break;
- //}
- }
- }
-
- int anomalyRec = 0;
- int columnIndex = 1;
- ArrayList columnNames = new ArrayList();
- ArrayList columnValues = new ArrayList();
- Set set = null;
- String columnName = "";
- String columnValue = "";
- long minDate = 0L;
- long maxDate = 0L;
- StringBuffer seriesBuffer = new StringBuffer("");
-
- for (int i = 0; i < ds.getRowCount(); i++) {
- columnNames = new ArrayList();
- columnValues = new ArrayList();
- columnName = "";
- columnValue = "";
- columnIndex = 1;
- anomalyText = "";
- dateStr = ds.getString(i, 0);
- date = getDateFromDateStr(dateStr);
- if(date.getTime() > maxDate )
- maxDate = date.getTime();
-
- formatFlag = getFlagFromDateStr(dateStr);
-
-
- for (;columnIndex<ds.getColumnCount();columnIndex++) {
- columnName = ds.getColumnName(columnIndex);
- if(!timeCharts && !columnName.toLowerCase().equals("anomaly_text")) {
- columnNames.add(columnName);
- columnValues.add(AppUtils.nvls(ds.getString(i, columnIndex), "null"));
- } else if (timeCharts) {
- columnNames.add(columnName);
- columnValues.add(AppUtils.nvls(ds.getString(i, columnIndex), "null"));
- }
- }
-/* actual = ds.getString(i, "actual");
- //forecast = ds.getString(i, "forecast");
- upperBound = ds.getString(i, "upperBound");
- lowerBound = ds.getString(i, "lowerBound");
-
-*/ if(!timeCharts)
- anomalyText = ds.getString(i, "anomaly_text");
- //dataStrBuf.append(" [new Date(moment(\""+dateStr+"\")),"+ actual /*+","+ forecast*/+","+ lowerBound +","+ upperBound +"],\n");
- dataStrBuf.append(" [new Date(moment(\""+dateStr+"\"))");
- for(int c=0; c< columnNames.size(); c++ ) {
- columnName = (String) columnNames.get(c);
- columnValue = (String) columnValues.get(c);
- for (Iterator iter1 = l.iterator(); iter1.hasNext();) {
- dct = (DataColumnType) iter1.next();
- if((dct.getChartSeq()!=null && dct.getChartSeq() >=0) && !AppUtils.nvl(dct.getColOnChart()).equals(AppConstants.GC_LEGEND)) {
- if((!timeCharts && !AppUtils.nvl(dct.getColId()).toLowerCase().equals("anomaly_text")) && AppUtils.nvl(dct.getColId()).toLowerCase().equals(columnName.toLowerCase())) {
- dataStrBuf.append(","+columnValue);
- break;
- } else if(timeCharts && AppUtils.nvl(dct.getColId()).toLowerCase().equals(columnName.toLowerCase())){
- dataStrBuf.append(","+columnValue);
- //break;
- }
- }
- }
- }
-
- dataStrBuf.append("],\n");
- if(!timeCharts) {
- if(AppUtils.nvl(anomalyText).length()>0) {
- ++anomalyRec;
- annotationsStrBuf.append("anns.push( {\n");
- annotationsStrBuf.append(" series: '"+actualText+"',\n");
- annotationsStrBuf.append(" x: moment(\""+dateStr+"\"),\n");
- annotationsStrBuf.append(" shortText: '"+ IntToLetter(anomalyRec).toUpperCase() +"',\n");
- annotationsStrBuf.append(" text: '"+ anomalyText + "'\n");
- annotationsStrBuf.append("});\n");
- //anomalyRec++;
- }
-
- }
- }
-
- //if(!timeCharts)
- //anomalyRec = anomalyRec - 1;
-
- minDate = maxDate - (new Long(reportRuntime.getZoomIn()).longValue()*60*60*1000);
- System.out.println(new java.util.Date(maxDate) + " " + new java.util.Date(minDate) + " " + reportRuntime.getZoomIn());
- if(dataStrBuf.lastIndexOf(",")!= -1)
- dataStrBuf.deleteCharAt(dataStrBuf.lastIndexOf(","));
-
- wholeScript = new StringBuffer("");
- wholeScript.append("<!DOCTYPE html>\n");
- wholeScript.append("<html>\n");
- wholeScript.append(" <head>\n");
- //wholeScript.append("<meta http-equiv=\"X-UA-Compatible\" content=\"IE=EmulateIE7; IE=EmulateIE9\">\n");
- wholeScript.append("<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n");
- wholeScript.append("<script type=\"text/javascript\" src=\""+ AppUtils.getBaseFolderURL() +"dy3/js/dygraph-combined.js\"></script>\n");
- wholeScript.append("<script type=\"text/javascript\" src=\""+ AppUtils.getBaseFolderURL() +"dy3/js/moment.min.js\"></script>\n");
- wholeScript.append("<script type=\"text/javascript\" src=\""+ AppUtils.getBaseFolderURL() +"dy3/js/interaction.min.js\"></script>\n");
-
- wholeScript.append("<script type=\"text/javascript\">\n");
- if(AppUtils.nvl(reportRuntime.getTimeAxisType()).equals("30min")) {
- wholeScript.append("var click=2;\n");
- } else if (AppUtils.nvl(reportRuntime.getTimeAxisType()).equals("hourly")) {
- wholeScript.append("var click=3;\n");
- } else if (AppUtils.nvl(reportRuntime.getTimeAxisType()).equals("daily")) {
- wholeScript.append("var click=3;\n");
- } else
- wholeScript.append("var click=3;\n");
- //wholeScript.append(" var click=0;\n");
- wholeScript.append(" function downV3(event, g, context) { \n");
- wholeScript.append(" context.initializeMouseDown(event, g, context); \n");
- wholeScript.append(" if (event.altKey || event.shiftKey) { \n");
- wholeScript.append(" var minDate = g.xAxisRange()[0]; \n");
- wholeScript.append(" var maxDate = g.xAxisRange()[1]; \n");
- if(AppUtils.nvl(reportRuntime.getTimeAxisType()).equals("daily")) {
- wholeScript.append(" if(((maxDate-minDate)/(1000*60*60*24)) > 6) \n");
- wholeScript.append(" Dygraph.startZoom(event, g, context); \n");
- } else if(AppUtils.nvl(reportRuntime.getTimeAxisType()).equals("hourly")) {
- wholeScript.append(" if(((maxDate-minDate)/(1000*60*60)) > 6) \n");
- wholeScript.append(" Dygraph.startZoom(event, g, context); \n");
- } else if(AppUtils.nvl(reportRuntime.getTimeAxisType()).equals("30min")) {
- wholeScript.append(" if(((maxDate-minDate)/(1000*60*60*2)) > 6) \n");
- wholeScript.append(" Dygraph.startZoom(event, g, context); \n");
-
- } else {
- wholeScript.append(" if(((maxDate-minDate)/(1000*60*60)) > 6) \n");
- wholeScript.append(" Dygraph.startZoom(event, g, context); \n");
- }
- if(AppUtils.nvl(reportRuntime.getTimeAxisType()).equals("30min")) {
- wholeScript.append(" click=2;\n");
- } else if (AppUtils.nvl(reportRuntime.getTimeAxisType()).equals("hourly")) {
- wholeScript.append(" click=3;\n");
- } else if (AppUtils.nvl(reportRuntime.getTimeAxisType()).equals("daily")) {
- wholeScript.append(" click=3;\n");
- } else
- wholeScript.append(" click=3;\n");
- wholeScript.append(" } else if (event.ctrlKey) {\n");
-
-
- wholeScript.append(" click++;\n");
- wholeScript.append(" if(click == 1)\n");
- wholeScript.append(" zoom_custom(3600);\n");
- wholeScript.append(" else if(click == 2)\n");
- wholeScript.append(" zoom_custom(12*3600);\n");
- wholeScript.append(" else if(click == 3)\n");
- wholeScript.append(" zoom_custom(86400);\n");
- wholeScript.append(" else if (click == 4)\n");
- wholeScript.append(" zoom_custom(7*86400);\n");
- wholeScript.append(" else if (click == 5)\n");
- wholeScript.append(" zoom_custom(30*86400);\n");
- wholeScript.append(" else if (click == 6)\n");
- wholeScript.append(" zoom_custom(90*86400);\n");
- wholeScript.append(" else if (click == 7)\n");
- wholeScript.append(" zoom_custom(180*86400);\n");
- wholeScript.append(" else if (click == 8)\n");
- wholeScript.append(" zoom_custom(365*86400);\n");
- wholeScript.append(" else if (click == 10)\n");
- wholeScript.append(" zoom_custom(5*365*86400);\n");
- wholeScript.append(" else { \n");
- wholeScript.append(" reset();\n");
- wholeScript.append(" }\n");
- //wholeScript.append(" \n");
- wholeScript.append(" } else {\n");
- wholeScript.append(" Dygraph.startPan(event, g, context); \n");
- wholeScript.append(" } \n");
- wholeScript.append(" } \n");
- wholeScript.append("</script>\n ");
- wholeScript.append("<style type=\"text/css\">\n");
- wholeScript.append(".annotation {\n");
- wholeScript.append("}");
- wholeScript.append(".dygraph-title {\n");
- wholeScript.append("color: black;\n");
- wholeScript.append("font-weight:bold; \n");
- wholeScript.append("}\n");
- wholeScript.append(".dygraph-axis-label-x { ");
- wholeScript.append("-webkit-transform:rotate(-0deg);");
- wholeScript.append("display:block;");
- /*position:absolute;
- right:-5px;
- top:15px;*/
- wholeScript.append("}\n");
-
- int widthInt = 0;
- if(nvl(width).length() > 0) {
- try {
- widthInt = new Integer(width).intValue();
- } catch(Exception ex) {
- if(width.endsWith("px")) {
- try {
- widthInt = new Integer(width.substring(0, width.indexOf("px")));
- } catch (Exception ex1) {
- widthInt = 700;
- }
- } else {
- widthInt = 700;
- }
- }
- } else widthInt = 700;
-
- wholeScript.append(".dygraph-legend {\n");
- wholeScript.append(" left: "+(widthInt-200)+"px !important;\n");
- wholeScript.append(" top: 5px !important;\n");
- wholeScript.append("}\n");
-
- wholeScript.append(".nodatadiv {\n");
- wholeScript.append(" display: table-cell;\n");
- wholeScript.append(" width: 700px;\n");
- wholeScript.append(" height:370px;\n");
- wholeScript.append(" text-align:center;\n");
- wholeScript.append(" vertical-align: middle;\n");
- wholeScript.append("}\n");
- wholeScript.append(".nodatainner {\n");
- wholeScript.append(" padding: 10px;\n");
- wholeScript.append("}\n");
-
- wholeScript.append("canvas {\n");
- wholeScript.append(" -webkit-touch-callout: none; \n");
- wholeScript.append(" -webkit-user-select: none;\n");
- wholeScript.append(" -khtml-user-select: none;\n");
- wholeScript.append(" -moz-user-select: none;\n");
- wholeScript.append(" user-select: none;\n");
- wholeScript.append(" user-select: none;\n");
- wholeScript.append(" outline: none;\n");
- wholeScript.append(" -webkit-tap-highlight-color: rgba(255, 255, 255, 0); /* mobile webkit */\n");
- wholeScript.append("}\n");
- wholeScript.append("</style>\n");
- wholeScript.append("</head>\n");
- wholeScript.append("<body> \n");
-
-/* if(showTitle)
- wholeScript.append(" <p align=\"center\"><b> " + (AppUtils.nvl(reportRuntime.getReportTitle()).length()>0?reportRuntime.getReportTitle():reportRuntime.getReportName()) + "</b></p>\n");
-*/
- wholeScript.append(" <table>\n");
- if(showTitle) {
- wholeScript.append(" <tr> \n ");
- wholeScript.append(" <td> \n ");
- wholeScript.append(" <div class=\"dygraph-label dygraph-title\" align=\"center\">"+title+"</div> \n");
- wholeScript.append(" </td> \n ");
- }
-
- wholeScript.append(" </tr> \n ");
-
- wholeScript.append(" <tr> \n ");
- wholeScript.append(" <td> \n ");
- if(AppUtils.nvl(reportRuntime.getLegendPosition()).length()<=0 || reportRuntime.getLegendPosition().equals("top")) {
- wholeScript.append(" <div id=\"labelDiv"+reportRuntime.getReportID()+"\"></div>\n");
- }
- wholeScript.append(" <div id=\"message"+reportRuntime.getReportID()+"\"></div> \n");
- wholeScript.append(" </td> \n ");
-
- wholeScript.append(" </tr> \n ");
- wholeScript.append(" <tr>\n");
- wholeScript.append(" <td>\n");
-
- int heightInt = 0;
- if(nvl(height).length() > 0) {
- try {
- heightInt = new Integer(height).intValue();
- heightInt -= 50;
- } catch(Exception ex) {
- if(height.endsWith("px")) {
- try {
- heightInt = new Integer(height.substring(0, height.indexOf("px")));
- heightInt -= 50;
- } catch (Exception ex1) {
- heightInt = 420;
- }
- } else {
- heightInt = 420;
- }
- }
- } else heightInt = 420;
- if(AppUtils.nvl(reportRuntime.getLegendPosition()).length()>=0 && reportRuntime.getLegendPosition().equals("right")) {
- wholeScript.append(" <div id=\"div_g"+reportRuntime.getReportID()+"\" style=\"width:"+ (widthInt-250)+ "px; \n" );
- } else {
- wholeScript.append(" <div id=\"div_g"+reportRuntime.getReportID()+"\" style=\"width:"+ (widthInt)+ "px; \n" );
- }
- wholeScript.append(" height:"+ heightInt +"px;\"></div> \n");
- wholeScript.append(" </td>\n");
- if(AppUtils.nvl(reportRuntime.getLegendPosition()).length()>=0 && reportRuntime.getLegendPosition().equals("right")) {
- wholeScript.append(" <td valign=\"top\">\n");
- wholeScript.append(" <div id=\"labelDiv3716\" valign=\"top\" style=\"width:250px;height:"+ heightInt +"px;\"></div>\n");
- wholeScript.append(" </td>\n");
- }
- wholeScript.append(" </tr>\n");
- if(anomalyRec > 0) {
- wholeScript.append(" <tr>\n");
- wholeScript.append(" <td>\n");
- wholeScript.append(" <table>\n");
- wholeScript.append(" <tr>\n");
- wholeScript.append(" <td align=\"center\"><font size=\"2px\"><B><align=\"center\">Anomaly Description</align></B></font></td>\n");
- wholeScript.append(" </tr>\n");
- wholeScript.append(" <tr>\n");
- wholeScript.append(" <td><div id=\"list"+reportRuntime.getReportID()+"\" style=\"width:" + widthInt + "px; height:50px;\"></div></td>\n" );
- wholeScript.append(" </tr>\n");
- wholeScript.append(" </table>\n");
- wholeScript.append(" </td>\n");
- wholeScript.append(" </tr>\n");
- }
- wholeScript.append(" </table>\n");
-
- wholeScript.append(" <script type=\"text/javascript\">\n");
- wholeScript.append(" Dygraph.addEvent(document, \"mousewheel\", function() { lastClickedGraph = null; });\n");
- wholeScript.append(" Dygraph.addEvent(document, \"click\", function() { lastClickedGraph = null; });\n");
- wholeScript.append(" var data = []; \n");
- wholeScript.append(" data = [\n ");
- wholeScript.append( dataStrBuf.toString());
- wholeScript.append(" ];\n");
- wholeScript.append(" if(data.length > 0 ) { \n");
- wholeScript.append(" var orig_range = [ data[0][0].valueOf(), data[data.length - 1][0].valueOf() ];\n");
- if(!timeCharts) {
- wholeScript.append(" function nameAnnotation(ann) { \n");
- wholeScript.append(" return ann.shortText; \n");
- //wholeScript.append(" var m = moment(ann.x);\n");
- //wholeScript.append(" return \"(\" + ann.series + \", \" + m.format(\"YYYY-MM-DD HH\"); + \")\"; \n");
- wholeScript.append(" }\n");
- wholeScript.append(" anns = [];\n");
- }
- wholeScript.append(" var graph_initialized = false;\n");
- wholeScript.append(" if(navigator.platform == 'iPad') { ");
- wholeScript.append(" g = new Dygraph(\n");
- wholeScript.append(" document.getElementById(\"div_g"+reportRuntime.getReportID()+"\"),\n");
- //data here
- /*wholeScript.append(" [\n");
- wholeScript.append(dataStrBuf.toString());
- wholeScript.append(" ],\n");*/
- wholeScript.append(" data , \n");
- wholeScript.append(" {\n");
-
- //Labels here
-
- dct = null;
- StringBuffer labelStrBuf = new StringBuffer("");
- StringBuffer colorsStrBuf = new StringBuffer("");
- StringBuffer visibilityStrBuf = new StringBuffer("");
- int countChartValues = 0;
- for (Iterator iter = l.iterator(); iter.hasNext();) {
- dct = (DataColumnType) iter.next();
- if((dct.getChartSeq()!=null && dct.getChartSeq() >=0) || AppUtils.nvl(dct.getColOnChart()).equals(AppConstants.GC_LEGEND)) {
- if(!AppUtils.nvl(dct.getDisplayName()).toLowerCase().equals("anomaly_text")) {
- countChartValues++;
- labelStrBuf.append("'"+ dct.getDisplayName()+"',");
- if(!AppUtils.nvl(dct.getColOnChart()).equals(AppConstants.GC_LEGEND))
- colorsStrBuf.append("'"+ AppUtils.nvl(dct.getChartColor())+"',");
- visibilityStrBuf.append("true,");
- }
- }
- }
- if(labelStrBuf.indexOf(",")!=-1) {
- labelStrBuf.deleteCharAt(labelStrBuf.lastIndexOf(","));
- visibilityStrBuf.deleteCharAt(visibilityStrBuf.lastIndexOf(","));
- }
- if(colorsStrBuf.indexOf(",")!=-1)
- colorsStrBuf.deleteCharAt(colorsStrBuf.lastIndexOf(","));
- //if(showTitle)
- //wholeScript.append("title: '" + (AppUtils.nvl(reportRuntime.getReportTitle()).length()>0?reportRuntime.getReportTitle():reportRuntime.getReportName()) + "',\n");
- wholeScript.append("maxNumberWidth:6,\n");
- wholeScript.append("xAxisHeight: 70,\n");
- wholeScript.append("yAxisLabelWidth: 70,\n");
- wholeScript.append("xAxisLabelWidth: 45,\n");
- wholeScript.append("axes: {\n");
- wholeScript.append("x: {\n");
- wholeScript.append(" axisLabelFormatter: function(d, gran) {\n");
- wholeScript.append(" var month = d.getMonth()+1;\n");
- wholeScript.append(" var day = d.getDate();\n");
- wholeScript.append(" var year = d.getFullYear();\n");
- wholeScript.append(" var hour = d.getHours();\n");
- wholeScript.append(" var minutes = d.getMinutes();\n");
- wholeScript.append(" var seconds = d.getSeconds();\n");
- wholeScript.append(" var wholeString = Dygraph.zeropad(month)+'/'+Dygraph.zeropad(day);\n");
- // wholeScript.append(" if(hour >= 0 && minutes > 0 && seconds > 0) {\n");
- //wholeScript.append(" wholeString += ' ' + Dygraph.zeropad(hour) + ':'+Dygraph.zeropad(minutes)+':'+Dygraph.zeropad(seconds);\n");
- //wholeScript.append(" } else if (hour >= 0 && minutes > 0 && seconds == 0) {\n");
- if(AppUtils.nvl(reportRuntime.getTimeAxisType()).length()==0 || AppUtils.nvl(reportRuntime.getTimeAxisType()).equals("hourly"))
- wholeScript.append(" wholeString += ' ' + Dygraph.zeropad(hour) + ':'+Dygraph.zeropad(minutes);\n");
- //wholeScript.append(" } else if (hour >= 0 && (minutes >= 0 && seconds > 0)) {\n");
- //wholeScript.append(" wholeString += ' ' + Dygraph.zeropad(hour) + ':'+Dygraph.zeropad(minutes)+':'+Dygraph.zeropad(seconds);\n");
- //wholeScript.append(" } else if (hour >= 0) { \n");
- //wholeScript.append(" wholeString += ' ' + Dygraph.zeropad(hour); \n");
- //wholeScript.append(" } \n");
- wholeScript.append(" return wholeString; \n");
- wholeScript.append(" },\n");
- wholeScript.append(" ticker: function (a, b, pixels, opts, dygraph, vals) { \n ");
- wholeScript.append(" if(((b-a)/(1000*60*60)) <= 6) { \n");
- wholeScript.append(" return Dygraph.getDateAxis(a, b, Dygraph.THIRTY_MINUTELY, opts, dygraph); \n");
- wholeScript.append(" } else if(((b-a)/(1000*60*60)) <= 12) { \n");
- wholeScript.append(" return Dygraph.getDateAxis(a, b, Dygraph.HOURLY, opts, dygraph); \n");
- wholeScript.append(" } else if (((b-a)/(1000*60*60)) <= 25) \n ");
- wholeScript.append(" return Dygraph.getDateAxis(a, b, Dygraph.TWO_HOURLY, opts, dygraph); \n ");
- wholeScript.append(" else if(((b-a)/(1000*60*60)) <= 78) \n ");
- wholeScript.append(" return Dygraph.getDateAxis(a, b, Dygraph.SIX_HOURLY, opts, dygraph); \n ");
- wholeScript.append(" else if(((b-a)/(1000*60*60*24)) <= 12)\n");
- wholeScript.append(" return Dygraph.getDateAxis(a, b, Dygraph.DAILY, opts, dygraph); \n");
- wholeScript.append(" else if(((b-a)/(1000*60*60*24)) <= 90) \n");
- wholeScript.append(" return Dygraph.getDateAxis(a, b, Dygraph.WEEKLY, opts, dygraph); \n");
- wholeScript.append(" else \n");
- wholeScript.append(" return Dygraph.getDateAxis(a, b, Dygraph.MONTHLY, opts, dygraph); \n");
- wholeScript.append(" }, \n");
- wholeScript.append(" valueFormatter: function(ms) { \n");
- wholeScript.append(" return new Date(ms).strftime(\"%m/%d/%Y %H:%M\"); \n");
- wholeScript.append( " }\n" );
- wholeScript.append(" }\n");
- wholeScript.append("},\n");
- wholeScript.append(" interactionModel : { \n");
- wholeScript.append(" 'mousedown' : downV4,\n");
- wholeScript.append(" touchstart : newDygraphTouchstart,\n");
- wholeScript.append(" touchend : Dygraph.defaultInteractionModel.touchend,\n");
- wholeScript.append(" touchmove : Dygraph.defaultInteractionModel.touchmove\n");
- //wholeScript.append(" 'dblclick' : dblClickV3,\n");
- //wholeScript.append(" 'mousewheel' : scrollV3\n");
-
- /*wholeScript.append(" 'mousedown' : downV3,\n");
- wholeScript.append(" 'mousemove' : moveV3,\n");
- wholeScript.append(" 'mouseup' : upV3,\n");
- wholeScript.append(" 'click' : clickV3,\n");
- wholeScript.append(" 'dblclick' : dblClickV3,\n");
- wholeScript.append(" 'mousewheel' : scrollV3\n");*/
- wholeScript.append("},\n");
- /*wholeScript.append(" zoomCallback: function(minDate, maxDate, yRanges) { \n");
- if(AppUtils.nvl(reportRuntime.getTimeAxisType()).equals("daily")) {
- wholeScript.append(" if(((maxDate-minDate)/(1000*60*60*24)) < 6) { \n");
- wholeScript.append(" maxDate = new Date(minDate).setMinutes(6*24*60);\n");
- wholeScript.append(" g.updateOptions({\n");
- wholeScript.append(" interactionModel: {},\n");
- wholeScript.append(" dateWindow: [minDate, maxDate]\n");
- wholeScript.append(" });\n");
- } else if (AppUtils.nvl(reportRuntime.getTimeAxisType()).equals("hourly")) {
- wholeScript.append(" if(((maxDate-minDate)/(1000*60*60)) <= 6) { \n");
- wholeScript.append(" maxDate = new Date(minDate).setMinutes(360);\n");
- wholeScript.append(" g.updateOptions({\n");
- wholeScript.append(" interactionModel: {},\n");
- wholeScript.append(" dateWindow: [minDate, maxDate]\n");
- wholeScript.append(" });\n");
- } else if (AppUtils.nvl(reportRuntime.getTimeAxisType()).equals("30min")) {
- wholeScript.append(" if(((maxDate-minDate)/(1000*60*60)) <= 3) { \n");
- wholeScript.append(" maxDate = new Date(minDate).setMinutes(180);\n");
- wholeScript.append(" g.updateOptions({\n");
- wholeScript.append(" interactionModel: {},\n");
- wholeScript.append(" dateWindow: [minDate, maxDate]\n");
- wholeScript.append(" });\n");
- } else if (AppUtils.nvl(reportRuntime.getTimeAxisType()).equals("weekly")) {
- wholeScript.append(" if(((maxDate-minDate)/(1000*60*60*24)) < 7) { \n");
- wholeScript.append(" maxDate = new Date(minDate).setMinutes(7*24*60);\n");
- wholeScript.append(" g.updateOptions({\n");
- wholeScript.append(" interactionModel: {},\n");
- wholeScript.append(" dateWindow: [minDate, maxDate]\n");
- wholeScript.append(" });\n");
- }
- wholeScript.append(" } else {\n");
- wholeScript.append(" g.updateOptions({\n");
- wholeScript.append(" interactionModel : {\n");
- wholeScript.append(" 'mousedown' : downV3,\n");
- wholeScript.append(" 'mousemove' : moveV3,\n");
- wholeScript.append(" 'mouseup' : upV3,\n");
- wholeScript.append(" 'click' : clickV3,\n");
- wholeScript.append(" 'dblclick' : dblClickV3,\n");
- wholeScript.append(" 'mousewheel' : scrollV3\n");
- wholeScript.append(" }\n");
- wholeScript.append(" });\n");
- wholeScript.append(" } \n");
- wholeScript.append(" } ,\n");*/
- wholeScript.append("dateWindow: ["+minDate+", "+maxDate+"],\n");
- wholeScript.append("labels: ["+ labelStrBuf +"],\n");
- wholeScript.append("labelsDiv: \"labelDiv"+reportRuntime.getReportID()+"\",\n");
- wholeScript.append("labelsShowZeroValues: true,\n");
- if(AppUtils.nvl(reportRuntime.getLegendPosition()).length()>=0 && reportRuntime.getLegendPosition().equals("right")) {
- wholeScript.append("labelsSeparateLines: true,\n");
- }
- wholeScript.append("labelsDivWidth: 200,\n");
-
- wholeScript.append("animatedZooms: true,\n");
- wholeScript.append("strokeWidth: 3.0,\n");
- wholeScript.append("strokeBorderWidth: 2.0,\n");
- /*wholeScript.append(" labelsDivStyles: { \n");
- wholeScript.append(" 'backgroundColor': 'rgba(200, 200, 255, 0.75)',\n");
- wholeScript.append(" 'padding': '4px',\n");
- wholeScript.append(" 'border': '1px solid black',\n");
- wholeScript.append(" 'borderRadius': '10px',\n");
- wholeScript.append(" 'boxShadow': '4px 4px 4px #888',\n");
- wholeScript.append(" 'width': '50px'\n");
- wholeScript.append("}, \n");
- */
- wholeScript.append("visibility: ["+ visibilityStrBuf +"],\n");
- if(colorsStrBuf.length() > 0 && colorsStrBuf.length()>=(countChartValues*3+5))
- wholeScript.append("colors: ["+ colorsStrBuf +"],\n");
-
- wholeScript.append(" legend: 'always', \n");
- //Yaxis label here
- wholeScript.append(" ylabel: '"+ chartLeftAxisLabel +"' , \n");
-
- //Xaxis label here
- wholeScript.append(" xlabel: '"+ xAxisLabel +"' , \n");
-
- //draw points
- wholeScript.append(" drawPoints: true, \n");
-
- //stacked graph
- wholeScript.append(" stackedGraph: false, \n");
-
- dct = null;
- for (Iterator iter = l.iterator(); iter.hasNext();) {
- dct = (DataColumnType) iter.next();
- if(!(nvl(dct.getColOnChart()).equals(AppConstants.GC_LEGEND))) {
- if(!AppUtils.nvl(dct.getDisplayName()).toLowerCase().equals("anomaly_text")) {
- if(dct.getChartSeq()!=null && dct.getChartSeq() >=0) {
- wholeScript.append(" '"+ dct.getDisplayName() + "': {\n");
- if(AppUtils.nvl(dct.getChartLineType()).length()>0)
- wholeScript.append(" strokePattern: Dygraph.DASHED_LINE,\n");
- if(dct.isIsRangeAxisFilled()!=null && dct.isIsRangeAxisFilled().booleanValue()) {
- wholeScript.append(" fillGraph: true\n");
- }
- wholeScript.append(" },\n");
- }
- }
- }
- }
-
-/* //each labels
- wholeScript.append(" 'Forecast': {\n");
-
- //if dashed line
- wholeScript.append(" strokePattern: Dygraph.DASHED_LINE,\n");
-
- //if fillable
- wholeScript.append(" fillGraph: true\n");
-
- // close each labels
- wholeScript.append(" }\n");
-*/
- // callback method
- if(anomalyRec > 0) {
- wholeScript.append(" drawCallback: function(g, is_initial) { \n");
- wholeScript.append(" if (is_initial) { \n");
- wholeScript.append(" graph_initialized = true; \n");
- wholeScript.append(" if (anns.length > 0) { \n");
- wholeScript.append(" g.setAnnotations(anns); \n");
- wholeScript.append(" }\n");
- wholeScript.append(" }\n");
-
- wholeScript.append(" var anns1 = g.annotations();\n");
- //wholeScript.append(" var html = \"\";\n");
- wholeScript.append(" var html = \"<select id='x' size='1' style='width: "+ widthInt +"px; font-family : courier; font-size:8pt; font-weight:bold;'>\";\n");
- wholeScript.append(" for (var i = anns1.length-1; i >= 0 ; i--) {\n");
- wholeScript.append(" var name = nameAnnotation(anns1[i]);\n");
- //wholeScript.append(" html += \"<span id='\" + name + \"'>\"\n");
- wholeScript.append(" if(i==anns1.length-1)\n");
- wholeScript.append(" html += \"<option value='\" + name + \"' selected ><font size=1>\" \n");
- wholeScript.append(" else \n");
- wholeScript.append(" html += \"<option value='\" + name + \"'><font size=1>\" \n");
- wholeScript.append(" html += name \n");
- //wholeScript.append(" html += name + \": \" + (anns1[i].shortText || '(icon)')\n");
- //wholeScript.append(" html += \" -> \" + anns1[i].text + \"</span><br/>\";\n");
- wholeScript.append(" html += \"&nbsp;:&nbsp;\" + anns1[i].text + \"</font></option>\";\n");
- wholeScript.append(" }\n");
- wholeScript.append(" html += \"</select>\" \n");
- wholeScript.append(" document.getElementById(\"list"+reportRuntime.getReportID()+"\").innerHTML = html;\n");
- wholeScript.append(" }\n");
-
-
- wholeScript.append(" }\n");
- wholeScript.append(" )\n");
-
- //push annotations
- wholeScript.append(annotationsStrBuf.toString());
-
- wholeScript.append(" if (graph_initialized) {\n");
- wholeScript.append(" g.setAnnotations(anns);\n");
- wholeScript.append(" } \n");
- //upate handler script
-
- wholeScript.append(" var saveBg = '';\n");
- wholeScript.append(" var num = 0;\n");
- wholeScript.append(" g.updateOptions( {\n");
- wholeScript.append(" annotationMouseOverHandler: function(ann) { \n");
- //wholeScript.append(" document.getElementById(nameAnnotation(ann)).style.fontWeight = 'bold';\n");
- //wholeScript.append(" saveBg = ann.div.style.backgroundColor;\n");
- //wholeScript.append(" ann.div.style.backgroundColor = '#ddd';\n");
- wholeScript.append(" var selectobject = document.getElementById(\"x\");\n");
- wholeScript.append(" for(var i=0; i<selectobject.length;i++) {\n ");
- wholeScript.append(" if(selectobject.options[i].value == nameAnnotation(ann)) {\n ");
- wholeScript.append(" selectobject.options[i].selected = true; \n ");
- wholeScript.append(" } ");
- wholeScript.append(" } ");
-
- wholeScript.append(" },\n");
- wholeScript.append(" annotationMouseOutHandler: function(ann) {\n");
- wholeScript.append(" document.getElementById(nameAnnotation(ann)).style.fontWeight = 'normal';\n");
- wholeScript.append(" ann.div.style.backgroundColor = saveBg;\n");
- //wholeScript.append(" var selectobject = document.getElementById(\"x\");\n");
- //wholeScript.append(" for(var i=0; i<selectobject.length;i++) {\n ");
- //wholeScript.append(" if(selectobject.options[i].value == nameAnnotation(ann)) {\n ");
- //wholeScript.append(" selectobject.options[i].selected = false; \n ");
- //wholeScript.append(" } ");
- //wholeScript.append(" } ");
-
- wholeScript.append(" }\n");
- }
- wholeScript.append(" });\n");
-
- //Other devices
- wholeScript.append("} else { \n");
-
- wholeScript.append(" g = new Dygraph(\n");
- wholeScript.append(" document.getElementById(\"div_g"+reportRuntime.getReportID()+"\"),\n");
- //data here
- /*wholeScript.append(" [\n");
- wholeScript.append(dataStrBuf.toString());
- wholeScript.append(" ],\n");*/
- wholeScript.append(" data , \n");
- wholeScript.append(" {\n");
-
- //Labels here
-
- dct = null;
- labelStrBuf = new StringBuffer("");
- colorsStrBuf = new StringBuffer("");
- visibilityStrBuf = new StringBuffer("");
- countChartValues = 0;
- for (Iterator iter = l.iterator(); iter.hasNext();) {
- dct = (DataColumnType) iter.next();
- if((dct.getChartSeq()!=null && dct.getChartSeq() >=0) || AppUtils.nvl(dct.getColOnChart()).equals(AppConstants.GC_LEGEND)) {
- if(!AppUtils.nvl(dct.getDisplayName()).toLowerCase().equals("anomaly_text")) {
- countChartValues++;
- labelStrBuf.append("'"+ dct.getDisplayName()+"',");
- if(!AppUtils.nvl(dct.getColOnChart()).equals(AppConstants.GC_LEGEND))
- colorsStrBuf.append("'"+ AppUtils.nvl(dct.getChartColor())+"',");
- visibilityStrBuf.append("true,");
- }
- }
- }
- if(labelStrBuf.indexOf(",")!=-1) {
- labelStrBuf.deleteCharAt(labelStrBuf.lastIndexOf(","));
- visibilityStrBuf.deleteCharAt(visibilityStrBuf.lastIndexOf(","));
- }
- if(colorsStrBuf.indexOf(",")!=-1)
- colorsStrBuf.deleteCharAt(colorsStrBuf.lastIndexOf(","));
- //if(showTitle)
- //wholeScript.append("title: '" + (AppUtils.nvl(reportRuntime.getReportTitle()).length()>0?reportRuntime.getReportTitle():reportRuntime.getReportName()) + "',\n");
- wholeScript.append("maxNumberWidth:6,\n");
- wholeScript.append("xAxisHeight: 70,\n");
- wholeScript.append("yAxisLabelWidth: 70,\n");
- wholeScript.append("xAxisLabelWidth: 45,\n");
- wholeScript.append("axes: {\n");
- wholeScript.append("x: {\n");
- wholeScript.append(" axisLabelFormatter: function(d, gran) {\n");
- wholeScript.append(" var month = d.getMonth()+1;\n");
- wholeScript.append(" var day = d.getDate();\n");
- wholeScript.append(" var year = d.getFullYear();\n");
- wholeScript.append(" var hour = d.getHours();\n");
- wholeScript.append(" var minutes = d.getMinutes();\n");
- wholeScript.append(" var seconds = d.getSeconds();\n");
- wholeScript.append(" var wholeString = Dygraph.zeropad(month)+'/'+Dygraph.zeropad(day);\n");
- // wholeScript.append(" if(hour >= 0 && minutes > 0 && seconds > 0) {\n");
- //wholeScript.append(" wholeString += ' ' + Dygraph.zeropad(hour) + ':'+Dygraph.zeropad(minutes)+':'+Dygraph.zeropad(seconds);\n");
- //wholeScript.append(" } else if (hour >= 0 && minutes > 0 && seconds == 0) {\n");
- if(AppUtils.nvl(reportRuntime.getTimeAxisType()).length()==0 || AppUtils.nvl(reportRuntime.getTimeAxisType()).equals("hourly"))
- wholeScript.append(" wholeString += ' ' + Dygraph.zeropad(hour) + ':'+Dygraph.zeropad(minutes);\n");
- //wholeScript.append(" } else if (hour >= 0 && (minutes >= 0 && seconds > 0)) {\n");
- //wholeScript.append(" wholeString += ' ' + Dygraph.zeropad(hour) + ':'+Dygraph.zeropad(minutes)+':'+Dygraph.zeropad(seconds);\n");
- //wholeScript.append(" } else if (hour >= 0) { \n");
- //wholeScript.append(" wholeString += ' ' + Dygraph.zeropad(hour); \n");
- //wholeScript.append(" } \n");
- wholeScript.append(" return wholeString; \n");
- wholeScript.append(" },\n");
- wholeScript.append(" ticker: function (a, b, pixels, opts, dygraph, vals) { \n ");
- wholeScript.append(" if(((b-a)/(1000*60*60)) <= 6) { \n");
- wholeScript.append(" return Dygraph.getDateAxis(a, b, Dygraph.THIRTY_MINUTELY, opts, dygraph); \n");
- wholeScript.append(" } else if(((b-a)/(1000*60*60)) <= 12) { \n");
- wholeScript.append(" return Dygraph.getDateAxis(a, b, Dygraph.HOURLY, opts, dygraph); \n");
- wholeScript.append(" } else if (((b-a)/(1000*60*60)) <= 25) \n ");
- wholeScript.append(" return Dygraph.getDateAxis(a, b, Dygraph.TWO_HOURLY, opts, dygraph); \n ");
- wholeScript.append(" else if(((b-a)/(1000*60*60)) <= 78) \n ");
- wholeScript.append(" return Dygraph.getDateAxis(a, b, Dygraph.SIX_HOURLY, opts, dygraph); \n ");
- wholeScript.append(" else if(((b-a)/(1000*60*60*24)) <= 12)\n");
- wholeScript.append(" return Dygraph.getDateAxis(a, b, Dygraph.DAILY, opts, dygraph); \n");
- wholeScript.append(" else if(((b-a)/(1000*60*60*24)) <= 90) \n");
- wholeScript.append(" return Dygraph.getDateAxis(a, b, Dygraph.WEEKLY, opts, dygraph); \n");
- wholeScript.append(" else \n");
- wholeScript.append(" return Dygraph.getDateAxis(a, b, Dygraph.MONTHLY, opts, dygraph); \n");
- wholeScript.append(" }, \n");
- wholeScript.append(" valueFormatter: function(ms) { \n");
- wholeScript.append(" return new Date(ms).strftime(\"%m/%d/%Y %H:%M\"); \n");
- wholeScript.append( " }\n" );
- wholeScript.append(" }\n");
- wholeScript.append("},\n");
- wholeScript.append(" interactionModel : { \n");
-
- wholeScript.append(" 'mousedown' : downV3,\n");
- wholeScript.append(" 'mousemove' : moveV3,\n");
- wholeScript.append(" 'mouseup' : upV3,\n");
- wholeScript.append(" 'click' : clickV3,\n");
- wholeScript.append(" 'dblclick' : dblClickV3,\n");
- wholeScript.append(" 'mousewheel' : scrollV3\n");
- wholeScript.append("},\n");
- wholeScript.append(" zoomCallback: function(minDate, maxDate, yRanges) { \n");
- if(AppUtils.nvl(reportRuntime.getTimeAxisType()).equals("daily")) {
- wholeScript.append(" if(((maxDate-minDate)/(1000*60*60*24)) < 6) { \n");
- wholeScript.append(" maxDate = new Date(minDate).setMinutes(6*24*60);\n");
- wholeScript.append(" g.updateOptions({\n");
- wholeScript.append(" interactionModel: {},\n");
- wholeScript.append(" dateWindow: [minDate, maxDate]\n");
- wholeScript.append(" });\n");
- } else if (AppUtils.nvl(reportRuntime.getTimeAxisType()).equals("hourly")) {
- wholeScript.append(" if(((maxDate-minDate)/(1000*60*60)) <= 6) { \n");
- wholeScript.append(" maxDate = new Date(minDate).setMinutes(360);\n");
- wholeScript.append(" g.updateOptions({\n");
- wholeScript.append(" interactionModel: {},\n");
- wholeScript.append(" dateWindow: [minDate, maxDate]\n");
- wholeScript.append(" });\n");
- } else if (AppUtils.nvl(reportRuntime.getTimeAxisType()).equals("30min")) {
- wholeScript.append(" if(((maxDate-minDate)/(1000*60*60)) <= 3) { \n");
- wholeScript.append(" maxDate = new Date(minDate).setMinutes(180);\n");
- wholeScript.append(" g.updateOptions({\n");
- wholeScript.append(" interactionModel: {},\n");
- wholeScript.append(" dateWindow: [minDate, maxDate]\n");
- wholeScript.append(" });\n");
- } else if (AppUtils.nvl(reportRuntime.getTimeAxisType()).equals("weekly")) {
- wholeScript.append(" if(((maxDate-minDate)/(1000*60*60*24)) < 7) { \n");
- wholeScript.append(" maxDate = new Date(minDate).setMinutes(7*24*60);\n");
- wholeScript.append(" g.updateOptions({\n");
- wholeScript.append(" interactionModel: {},\n");
- wholeScript.append(" dateWindow: [minDate, maxDate]\n");
- wholeScript.append(" });\n");
- }
- wholeScript.append(" } else {\n");
- wholeScript.append(" g.updateOptions({\n");
- wholeScript.append(" interactionModel : {\n");
- wholeScript.append(" 'mousedown' : downV3,\n");
- wholeScript.append(" 'mousemove' : moveV3,\n");
- wholeScript.append(" 'mouseup' : upV3,\n");
- wholeScript.append(" 'click' : clickV3,\n");
- wholeScript.append(" 'dblclick' : dblClickV3,\n");
- wholeScript.append(" 'mousewheel' : scrollV3\n");
- wholeScript.append(" }\n");
- wholeScript.append(" });\n");
- wholeScript.append(" } \n");
- wholeScript.append(" } ,\n");
- wholeScript.append("dateWindow: ["+minDate+", "+maxDate+"],\n");
- wholeScript.append("labels: ["+ labelStrBuf +"],\n");
- wholeScript.append("labelsDiv: \"labelDiv"+reportRuntime.getReportID()+"\",\n");
- wholeScript.append("labelsShowZeroValues: true,\n");
- if(AppUtils.nvl(reportRuntime.getLegendPosition()).length()>=0 && reportRuntime.getLegendPosition().equals("right")) {
- wholeScript.append("labelsSeparateLines: true,\n");
- }
- wholeScript.append("labelsDivWidth: 200,\n");
-
-
- wholeScript.append("animatedZooms: true,\n");
- wholeScript.append("strokeWidth: 3.0,\n");
- wholeScript.append("strokeBorderWidth: 2.0,\n");
-
- /*wholeScript.append(" labelsDivStyles: { \n");
- wholeScript.append(" 'backgroundColor': 'rgba(200, 200, 255, 0.75)',\n");
- wholeScript.append(" 'padding': '4px',\n");
- wholeScript.append(" 'border': '1px solid black',\n");
- wholeScript.append(" 'borderRadius': '10px',\n");
- wholeScript.append(" 'boxShadow': '4px 4px 4px #888',\n");
- wholeScript.append(" 'width': '50px'\n");
- wholeScript.append("}, \n");
- */
- wholeScript.append("visibility: ["+ visibilityStrBuf +"],\n");
- if(colorsStrBuf.length() > 0 && colorsStrBuf.length()>=(countChartValues*3+5))
- wholeScript.append("colors: ["+ colorsStrBuf +"],\n");
-
- wholeScript.append(" legend: 'always', \n");
- //Yaxis label here
- wholeScript.append(" ylabel: '"+ chartLeftAxisLabel +"' , \n");
-
- //Xaxis label here
- wholeScript.append(" xlabel: '"+ xAxisLabel +"' , \n");
-
-
- //draw points
- wholeScript.append(" drawPoints: true, \n");
-
- //stacked graph
- wholeScript.append(" stackedGraph: false, \n");
-
- dct = null;
- for (Iterator iter = l.iterator(); iter.hasNext();) {
- dct = (DataColumnType) iter.next();
- if(!(nvl(dct.getColOnChart()).equals(AppConstants.GC_LEGEND))) {
- if(!AppUtils.nvl(dct.getDisplayName()).toLowerCase().equals("anomaly_text")) {
- if(dct.getChartSeq()!=null && dct.getChartSeq() >=0) {
- wholeScript.append(" '"+ dct.getDisplayName() + "': {\n");
- if(AppUtils.nvl(dct.getChartLineType()).length()>0)
- wholeScript.append(" strokePattern: Dygraph.DASHED_LINE,\n");
- if(dct.isIsRangeAxisFilled()!=null && dct.isIsRangeAxisFilled().booleanValue()) {
- wholeScript.append(" fillGraph: true\n");
- }
- wholeScript.append(" },\n");
- }
- }
- }
- }
-
-/* //each labels
- wholeScript.append(" 'Forecast': {\n");
-
- //if dashed line
- wholeScript.append(" strokePattern: Dygraph.DASHED_LINE,\n");
-
- //if fillable
- wholeScript.append(" fillGraph: true\n");
-
- // close each labels
- wholeScript.append(" }\n");
-*/
- // callback method
- if(anomalyRec > 0) {
- wholeScript.append(" drawCallback: function(g, is_initial) { \n");
- wholeScript.append(" if (is_initial) { \n");
- wholeScript.append(" graph_initialized = true; \n");
- wholeScript.append(" if (anns.length > 0) { \n");
- wholeScript.append(" g.setAnnotations(anns); \n");
- wholeScript.append(" }\n");
- wholeScript.append(" }\n");
-
- wholeScript.append(" var anns1 = g.annotations();\n");
- //wholeScript.append(" var html = \"\";\n");
- wholeScript.append(" var html = \"<select id='x' size='1' style='width: "+ widthInt +"px; font-family : courier; font-size:8pt; font-weight:bold;'>\";\n");
- wholeScript.append(" for (var i = anns1.length-1; i >= 0 ; i--) {\n");
- wholeScript.append(" var name = nameAnnotation(anns1[i]);\n");
- //wholeScript.append(" html += \"<span id='\" + name + \"'>\"\n");
- wholeScript.append(" if(i==anns1.length-1)\n");
- wholeScript.append(" html += \"<option value='\" + name + \"' selected ><font size=1>\" \n");
- wholeScript.append(" else \n");
- wholeScript.append(" html += \"<option value='\" + name + \"'><font size=1>\" \n");
- wholeScript.append(" html += name \n");
- //wholeScript.append(" html += name + \": \" + (anns1[i].shortText || '(icon)')\n");
- //wholeScript.append(" html += \" -> \" + anns1[i].text + \"</span><br/>\";\n");
- wholeScript.append(" html += \"&nbsp;:&nbsp;\" + anns1[i].text + \"</font></option>\";\n");
- wholeScript.append(" }\n");
- wholeScript.append(" html += \"</select>\" \n");
- wholeScript.append(" document.getElementById(\"list"+reportRuntime.getReportID()+"\").innerHTML = html;\n");
- wholeScript.append(" }\n");
-
-
- wholeScript.append(" }\n");
- wholeScript.append(" )\n");
-
- //push annotations
- wholeScript.append(annotationsStrBuf.toString());
-
- wholeScript.append(" if (graph_initialized) {\n");
- wholeScript.append(" g.setAnnotations(anns);\n");
- wholeScript.append(" } \n");
- //upate handler script
-
- wholeScript.append(" var saveBg = '';\n");
- wholeScript.append(" var num = 0;\n");
- wholeScript.append(" g.updateOptions( {\n");
- wholeScript.append(" annotationMouseOverHandler: function(ann) { \n");
- //wholeScript.append(" document.getElementById(nameAnnotation(ann)).style.fontWeight = 'bold';\n");
- //wholeScript.append(" saveBg = ann.div.style.backgroundColor;\n");
- //wholeScript.append(" ann.div.style.backgroundColor = '#ddd';\n");
- wholeScript.append(" var selectobject = document.getElementById(\"x\");\n");
- wholeScript.append(" for(var i=0; i<selectobject.length;i++) {\n ");
- wholeScript.append(" if(selectobject.options[i].value == nameAnnotation(ann)) {\n ");
- wholeScript.append(" selectobject.options[i].selected = true; \n ");
- wholeScript.append(" } ");
- wholeScript.append(" } ");
-
- wholeScript.append(" },\n");
- wholeScript.append(" annotationMouseOutHandler: function(ann) {\n");
- //wholeScript.append(" document.getElementById(nameAnnotation(ann)).style.fontWeight = 'normal';\n");
- wholeScript.append(" ann.div.style.backgroundColor = saveBg;\n");
- //wholeScript.append(" var selectobject = document.getElementById(\"x\");\n");
- //wholeScript.append(" for(var i=0; i<selectobject.length;i++) {\n ");
- //wholeScript.append(" if(selectobject.options[i].value == nameAnnotation(ann)) {\n ");
- //wholeScript.append(" selectobject.options[i].selected = false; \n ");
- //wholeScript.append(" } ");
- //wholeScript.append(" } ");
-
- wholeScript.append(" }\n");
- }
- wholeScript.append(" });\n");
-
-
- wholeScript.append("} \n");
- //}
- wholeScript.append("} else {\n");
- wholeScript.append("document.getElementById(\"message"+ reportRuntime.getReportID()+"\").display = \"none\";\n");
- wholeScript.append("document.getElementById(\"labelDiv"+ reportRuntime.getReportID()+"\").display=\"none\";\n");
- wholeScript.append("document.getElementById(\"div_g"+reportRuntime.getReportID()+"\").display=\"none\";\n");
-
- wholeScript.append("document.getElementById(\"div_g"+reportRuntime.getReportID()+"\").innerHTML = \"<div id='noData'><b>No Data Available</b></div>\";\n");
- wholeScript.append("document.getElementById(\"div_g"+reportRuntime.getReportID()+"\").className=\"nodatadiv\";\n");
- wholeScript.append("document.getElementById(\"nodata\").className=\"nodatainner\";\n");
- if(!timeCharts)
- wholeScript.append("document.getElementById(\"list"+reportRuntime.getReportID()+"\").display=\"none\";\n");
- wholeScript.append("}\n");
- wholeScript.append(" </script>\n");
- wholeScript.append(" </body>\n");
- wholeScript.append("</html>");
-
-
- } else if (chartType.equals(AppConstants.GT_SCATTER)) {
-
- wholeScript.append("<link href=\""+ AppUtils.getBaseFolderURL() +"d3/css/nv.d3.css\" rel=\"stylesheet\" type=\"text/css\">\n");
- wholeScript.append("<style>\n " +
- " body { \n" +
- " overflow-y:scroll; \n" +
- " } \n" +
- " text { \n" +
- " font: 12px sans-serif; \n" +
- " } \n" +
- " tr.z-row-over > td.z-row-inner, tr.z-row-over > .z-cell {" +
- " background-color: rgb(255, 255, 255); "+
- "} "+
- " svg { display: block; } " +
- " #chart1 svg { \n" +
- " height: 420px; \n" +
- " width: 800px; \n" +
- " min-width: 100px; \n" +
- " min-height: 100px; \n" +
- " } \n" +
-
- " </style> \n" );
- wholeScript.append("<body> \n");
- wholeScript.append("<div id=\"chart1\"><svg></svg></div>");
- //js files
- wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/d3.v2.js\"></script>\n");
- wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/nv.d3.js\"></script> \n");
- wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/tooltip.js\"></script> \n");
- wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/utils.js\"></script> \n");
- wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/models/legend.js\"></script> \n");
- wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/models/axis.js\"></script> \n");
- wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/models/distribution.js\"></script> \n");
- wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/models/scatter.js\"></script> \n");
- wholeScript.append("<script src=\""+ AppUtils.getBaseFolderURL() +"d3/js/models/scatterChart.js\"></script> \n");
- wholeScript.append("<script> \n");
- wholeScript.append("nv.addGraph(function() { \n" +
- " var width1=900, height1=220; \n" +
- " var chart = nv.models.scatterChart() \n" +
- " .showDistX(true) \n" +
- " .showDistY(true) \n" +
- " .useVoronoi(true) \n" +
- " .color(d3.scale.category10().range()); \n" +
-/* " .width(width1) \n" +
- " .height(height1); \n" +
-*/ " chart.xAxis\n" +
- " .axisLabel('" +legendColumnName + "')\n" +
- " .tickFormat(d3.format('.02f'));\n" +
- " chart.yAxis\n" +
- " .axisLabel('" + chartLeftAxisLabel + "')\n" +
- " .tickFormat(d3.format('.02f'));\n" +
- " d3.select('#chart1 svg') \n" +
- " .datum(getData()) \n" );
- if(animation)
- wholeScript.append(" .transition().duration(1200) \n" );
-/* " .attr(\"width\", width1) \n" +
- " .attr(\"height\", height1) \n" +
-*/ wholeScript.append(" .call(chart); \n" +
- " nv.utils.windowResize(chart.update);\n"+
- "return chart; \n" +
- "}); \n");
-
- String dateStr = "";
- Object uniqueElements [] = null;
- TreeSet ts = new TreeSet();
- for (int i = 0; i < ds.getRowCount(); i++) {
- dateStr = ds.getString(i, 2);
- if(dateStr.length()>0)
- ts.add(dateStr);
- }
- SortedSet s = Collections.synchronizedSortedSet(ts);
- uniqueElements = s.toArray();
-
- wholeScript.append(" function getData() { \n " +
- " var data = [];\n ");
- for (int i = 0; i < uniqueElements.length; i++) {
- wholeScript.append(" data.push( {key:'"+ uniqueElements[i]+ "', values:[]})\n");
- }
-
-
- for (int i = 0; i < ds.getRowCount(); i++) {
- for (int k = 0; k < uniqueElements.length; k++) {
- if(ds.getString(i, 2).equals(uniqueElements[k])) {
- wholeScript.append("data["+k+"].values.push({x:"+ ds.getString(i, 1) +",y:"+ds.getString(i, 3) + ", size: Math.random() });\n");
- }
- }
- }
-
- wholeScript.append("return data; } </script></body>\n");
- } else if (chartType.equals(AppConstants.GT_HIERARCHICAL_SUNBURST)) {
-
- StringBuffer dataStr = new StringBuffer("");
- StringBuffer groupBuffer = new StringBuffer("");
- StringBuffer s = new StringBuffer("");
- dataStr.append("{");
- dataStr.append(" \"ss4262\":{\n");
- String mid = "";
- String mid_old = "";
- String level = "-1";
- String level_old = "-1";
- String eid = "";
- for (int i = 0; i < ds.getRowCount(); i++) {
- mid = ds.getString(i, "mid");
- level = ds.getString(i, "level1");
- eid = ds.getString(i, "eid");
- if(mid.equals(mid_old)) {
- dataStr.append("\""+ eid +"\": 9956,\n");
- } else {
- if(dataStr.lastIndexOf(",")!= -1)
- dataStr.deleteCharAt(dataStr.lastIndexOf(","));
- //if(Integer.parseInt(level_old)==Integer.parseInt(level))
- //dataStr.append("},\n");
- if (Integer.parseInt(level_old)<Integer.parseInt(level))
- dataStr.append("},\n");
- dataStr.append("\""+ mid +"\": { \n");
- }
-
- mid_old = mid;
- level_old = level;
- }
- if(dataStr.toString().endsWith(","))
- dataStr.deleteCharAt(dataStr.lastIndexOf(","));
- dataStr.append("}\n");
- dataStr.append("}\n");
- try {
- String formattedReportName = new HtmlStripper().stripSpecialCharacters(reportRuntime.getReportName());
- String formattedDate = new SimpleDateFormat("MMddyyyyHHmm").format(new java.util.Date());
- String filename=formattedReportName+formattedDate+user_id+".json";
- String filenamepath = AppUtils.getExcelTemplatePath()+"../../json/"+filename;
- System.out.println("filenamepath " + filenamepath);
- BufferedWriter out = new BufferedWriter(new FileWriter(filenamepath));
- out.write(dataStr.toString());
- out.close();
- request.getSession().setAttribute("jsonFileName", filename);
- } catch (IOException e) {
- e.printStackTrace();
- System.out.println("Exception ");
- }
- } else if (chartType.equals(AppConstants.GT_HIERARCHICAL)) {
-
- StringBuffer dataStr = new StringBuffer("");
- StringBuffer groupBuffer = new StringBuffer("");
- StringBuffer s = new StringBuffer("");
- dataStr.append("{");
- dataStr.append(" \"groups\":[");
-
- for (int i = 0; i < ds.getRowCount(); i++) {
- if(ds.getString(i,"group_ind").equals("Y")) {
- groupBuffer.append(" { \"name\": \""+ ds.getString(i,"ei1") +"\" },\n");
- }
-
- }
- groupBuffer.deleteCharAt(groupBuffer.lastIndexOf(","));
- dataStr.append(groupBuffer.toString());
- dataStr.append("],");
- dataStr.append("\"nodes\":[");
- int rowCount = ds.getRowCount();
- for (int i = 0; i < ds.getRowCount(); i++) {
- s.append("{ \"name\": \""+ ds.getString(i,"ei1") +"\" , \"group\":"+ ds.getString(i,"groups") +", \"level\":2 }");
- if (i < (rowCount-1)) s.append(",");
- dataStr.append(s);
- s = new StringBuffer("");
- }
-
- dataStr.append("],");
- dataStr.append("\"links\":[");
- for (int i = 0; i < ds.getRowCount(); i++) {
- s.append("{ \"source\": "+ ds.getString(i,"source") +" , \"target\":"+ ds.getString(i,"target") +", \"value\":2 }");
- if (i < (rowCount-1)) s.append(",");
- dataStr.append(s);
- s = new StringBuffer("");
- }
- dataStr.append("]}");
- try {
- String formattedReportName = new HtmlStripper().stripSpecialCharacters(reportRuntime.getReportName());
- String formattedDate = new SimpleDateFormat("MMddyyyyHHmm").format(new java.util.Date());
- String filename=formattedReportName+formattedDate+user_id+".json";
- String filenamepath = AppUtils.getExcelTemplatePath()+"../../json/"+filename;
- System.out.println("filenamepath " + filenamepath);
- BufferedWriter out = new BufferedWriter(new FileWriter(filenamepath));
- out.write(dataStr.toString());
- out.close();
- request.getSession().setAttribute("jsonFileName", filename);
- } catch (IOException e) {
- e.printStackTrace();
- System.out.println("Exception ");
- }
- }
-
- }
- }
- try {
- BufferedWriter out = new BufferedWriter(new FileWriter("test.txt"));
- out.write(wholeScript.toString());
- out.close();
- } catch (IOException e) {
- e.printStackTrace();
- System.out.println("Exception ");
- }
- return wholeScript.toString();
- }
-
- public String nvl(String s) {
- return (s == null) ? "" : s;
- }
-
- public String nvl(String s, String sDefault) {
- return nvl(s).equals("") ? sDefault : s;
- }
-
- public static String nvls(String s) {
- return (s == null) ? "" : s;
- }
-
- public static String nvls(String s, String sDefault) {
- return nvls(s).equals("") ? sDefault : s;
- }
-
- public boolean getFlagInBoolean(String s) {
- return nvl(s).toUpperCase().startsWith("Y") || nvl(s).toLowerCase().equals("true");
- }
-
- public DataSet loadChartData(String userId, HttpServletRequest request) throws RaptorException {
- if (nvl(getChartType()).length() == 0)
- return null;
- //TODO: display chart function to be added.
- //if (!getDisplayChart())
- // return null;
-
- String sql = null;
- sql = generateChartSQL(userId, request);
- logger.debug(EELFLoggerDelegate.debugLogger, ("SQL generated " + sql));
- String dbInfo = reportRuntime.getDBInfo();
- DataSet ds = ConnectionUtils.getDataSet(sql, dbInfo);
- if(ds.getRowCount()<=0) {
- logger.debug(EELFLoggerDelegate.debugLogger, ("********************************************************************************"));
- logger.debug(EELFLoggerDelegate.debugLogger, (getChartType().toUpperCase()+" - " + "Report ID : " + reportRuntime.getReportID() + " DATA IS EMPTY" ));
- logger.debug(EELFLoggerDelegate.debugLogger, ("QUERY - " + sql));
- logger.debug(EELFLoggerDelegate.debugLogger, ("********************************************************************************"));
- }
-
- return ds;
- } // loadChartData
-
- public String generateChartSQL(String userId, HttpServletRequest request ) throws RaptorException {
- List reportCols = reportRuntime.getAllColumns();
- List chartValueCols = getChartValueColumnsList(AppConstants.CHART_ALL_COLUMNS, null); // parameter is 0 has this requires all columns.
- String reportSQL = reportRuntime.getWholeSQL();
-
- //Add order by clause
- Pattern re1 = Pattern.compile("(^[\r\n]*|([\\s]))[Oo][Rr][Dd][Ee][Rr](.*?[^\r\n]*)[Bb][Yy]",Pattern.DOTALL);
- //Pattern re1 = Pattern.compile("order(.*?[^\r\n]*)by", Pattern.DOTALL);
- Matcher matcher = re1.matcher(reportSQL);
- //Pattern re1 = Pattern.compile("(^[\r\n]*|([\\s]))[Oo][Rr][Dd][Ee][Rr][Tt](.*?[^\r\n]*)[Bb][Yy]",Pattern.DOTALL);
- //int startPoint = sql.length()-30;
-
- reportSQL = reportSQL + " ";
- reportSQL = Pattern.compile("(^[\r\n]*|([\\s]))[Ss][Ee][Ll][Ee][Cc][Tt]([\r\n]*|[\\s]*)",Pattern.DOTALL).matcher(reportSQL).replaceAll(" SELECT ");
- //reportSQL = Pattern.compile("(^[\r\n]*|([\\s]))[Ff][Rr][Oo][Mm]([\r\n]*|[\\s]*)",Pattern.DOTALL).matcher(reportSQL).replaceAll(" FROM ");
- reportSQL = Pattern.compile("(^[\r\n]*|([\\s]))[Ww][Hh][Ee][Rr][Ee]([\r\n]*|[\\s]*)",Pattern.DOTALL).matcher(reportSQL).replaceAll(" WHERE ");
- reportSQL = Pattern.compile("(^[\r\n]*|([\\s]))[Ww][Hh][Ee][Nn]([\r\n]*|[\\s]*)",Pattern.DOTALL).matcher(reportSQL).replaceAll(" WHEN ");
- reportSQL = Pattern.compile("(^[\r\n]*|([\\s]))[Aa][Nn][Dd]([\r\n]*|[\\s]*)",Pattern.DOTALL).matcher(reportSQL).replaceAll(" AND ");
-
- if(!reportRuntime.getReportType().equals(AppConstants.RT_HIVE)) {
- int startPoint = reportSQL.lastIndexOf(" FROM ");
- if(startPoint <= 0) {
- startPoint = reportSQL.lastIndexOf(" from ");
- }
- if(startPoint <= 0) {
- startPoint = reportSQL.lastIndexOf("from ");
- }
- if(startPoint <= 0) {
- startPoint = reportSQL.lastIndexOf("FROM ");
- }
-
- if (!matcher.find(startPoint)) {
- reportSQL = reportSQL + " ORDER BY 1" ;
- }
- }
- reportRuntime.setWholeSQL(reportSQL);
-
- logger.debug(EELFLoggerDelegate.debugLogger, (" *************************************************************************************** "));
- logger.debug(EELFLoggerDelegate.debugLogger, ("WHOLE_SQL" + reportSQL));
- logger.debug(EELFLoggerDelegate.debugLogger, (" *************************************************************************************** "));
-
- if (reportRuntime.getFormFieldList() != null) {
- for (Iterator iter = reportRuntime.getFormFieldList().getFormField().iterator(); iter.hasNext();) {
- FormFieldType fft = (FormFieldType) iter.next();
- String fieldId = fft.getFieldId();
- String fieldDisplay = reportRuntime.getFormFieldDisplayName(fft);
- String formfield_value = "";
- formfield_value = AppUtils.getRequestNvlValue(request, fieldId);
- String paramValue = nvl(formfield_value);
- if(paramValue.length()>0) {
- /*sql = Utils.replaceInString(sql, "'" + fieldDisplay + "'", nvl(
- paramValue, "NULL"));*/
- reportSQL = Utils.replaceInString(reportSQL, fieldDisplay, nvl(
- paramValue, "NULL"));
- }
- /*sql = Utils.replaceInString(sql, "'" + fieldDisplay + "'", nvl(
- paramValue, "NULL"));*/
- reportSQL = Utils.replaceInString(reportSQL, "'" + fieldDisplay + "'", nvl(
- paramValue, "NULL"));
- reportSQL = Utils.replaceInString(reportSQL, fieldDisplay , nvl(
- paramValue, "NULL"));
- }
- }
- 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, request);
- 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().intValue() <= 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, request))+ " " + 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, request);
- String paramValue = "";
- if(AppUtils.nvl(colName).startsWith("[")) {
- if (reportRuntime.getFormFieldList() != null) {
- for (Iterator iterC = reportRuntime.getFormFieldList().getFormField().iterator(); iterC.hasNext();) {
- FormFieldType fft = (FormFieldType) iterC.next();
- String fieldId = fft.getFieldId();
- String fieldDisplay = reportRuntime.getFormFieldDisplayName(fft);
- String formfield_value = "";
- if(AppUtils.nvl(fieldDisplay).equals(colName)) {
- formfield_value = AppUtils.getRequestNvlValue(request, fieldId);
- paramValue = nvl(formfield_value);
- }
- }
-
- }
-
- seriesCol.append("," + (AppUtils.nvl(paramValue).length()>0? paramValue:"null") + " " + dc.getColId());
- } else {
- //valueCols.append(", NVL(" + formatChartColumn(colName) + ",0) " + dc.getColId());
- seriesCol.append("," + (AppUtils.nvl(paramValue).length()>0? paramValue:formatChartColumn(colName)) + " " + dc.getColId());
- }
- } // for
-
- for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
- DataColumnType dc = (DataColumnType) iter.next();
- String colName = dc.getDisplayName();
- String colValue = getColumnSelectStr(dc, request);
- //String colName = getColumnSelectStr(dc, formGrid);
- 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(", " + colValue + " " + 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, " 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 getColumnSelectStr(DataColumnType dc, HttpServletRequest request) {
- //String colName = dc.isCalculated() ? dc.getColName()
- // : ((nvl(dc.getTableId()).length() > 0) ? (dc.getTableId() + "." + dc
- // .getColName()) : dc.getColName());
- String colName = dc.getColName();
- String paramValue = null;
- //if (dc.isCalculated()) {
- if (reportRuntime.getFormFieldList() != null) {
- for (Iterator iter = reportRuntime.getFormFieldList().getFormField().iterator(); iter.hasNext();) {
- FormFieldType fft = (FormFieldType) iter.next();
- String fieldId = fft.getFieldId();
- String fieldDisplay = reportRuntime.getFormFieldDisplayName(fft);
- String formfield_value = "";
- formfield_value = AppUtils.getRequestNvlValue(request, fieldId);
- paramValue = nvl(formfield_value);
- if(paramValue.length()>0) {
- /*sql = Utils.replaceInString(sql, "'" + fieldDisplay + "'", nvl(
- paramValue, "NULL"));*/
- colName = Utils.replaceInString(colName, "'" + fieldDisplay + "'", "'"+nvl(
- paramValue, "NULL")+"'");
- colName = Utils.replaceInString(colName, fieldDisplay, nvl(
- paramValue, "NULL"));
- }
- }
- return colName;
- }
- //}
- return colName;
- } // getColumnSelectStr
-
-
-
- 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 "DATE_FORMAT(" + colName + ", '"
- + nvl(dct.getColFormat(), AppConstants.DEFAULT_DATE_FORMAT) + "')";
- } // getSelectExpr
-
- 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 List getChartValueColumnsList( int filter, HashMap formValues) { /*filter; all=0;create without new chart =1; createNewChart=2 */
- List reportCols = reportRuntime.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 = reportRuntime.getDependsOnFormFieldFlag(dc, formValues);
-
- if( (dc.getChartSeq()!=null && dc.getChartSeq()> 0) && flag == 0 && !(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 String parseTitle(String title, HashMap formValues) {
- Set set = formValues.entrySet();
- for(Iterator iter = set.iterator(); iter.hasNext(); ) {
- Map.Entry entry = (Entry<String,String>) iter.next();
- if(title.indexOf("["+ entry.getKey() + "]")!= -1) {
- title = Utils.replaceInString(title, "["+entry.getKey()+"]", nvl(
- (String) entry.getValue(), ""));
- }
- }
- return title;
- }
-
- public java.util.Date getDateFromDateStr(String dateStr) {
- SimpleDateFormat MMDDYYYYFormat = new SimpleDateFormat("MM/dd/yyyy");
- SimpleDateFormat EEEMMDDYYYYFormat = new SimpleDateFormat("EEE, MM/dd/yyyy"); //2012-11-01 00:00:00
- SimpleDateFormat YYYYMMDDFormat = new SimpleDateFormat("yyyy/MM/dd");
- SimpleDateFormat MONYYYYFormat = new SimpleDateFormat("MMM yyyy");
- SimpleDateFormat MMYYYYFormat = new SimpleDateFormat("MM/yyyy");
- SimpleDateFormat MMMMMDDYYYYFormat = new SimpleDateFormat("MMMMM dd, yyyy");
- SimpleDateFormat timestampFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- SimpleDateFormat timestampHrFormat = new SimpleDateFormat("yyyy-MM-dd HH");
- SimpleDateFormat timestampDayFormat = new SimpleDateFormat("yyyy-MM-dd");
- SimpleDateFormat DDMONYYYYFormat = new SimpleDateFormat("dd-MMM-yyyy");
- SimpleDateFormat MONTHYYYYFormat = new SimpleDateFormat("MMMMM, yyyy");
- SimpleDateFormat MMDDYYYYHHFormat = new SimpleDateFormat("MM/dd/yyyy HH");
- SimpleDateFormat MMDDYYYYHHMMSSFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
- SimpleDateFormat MMDDYYYYHHMMFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm");
- SimpleDateFormat YYYYMMDDHHMMSSFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
- SimpleDateFormat YYYYMMDDHHMMFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm");
- SimpleDateFormat DDMONYYYYHHMMSSFormat = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
- SimpleDateFormat DDMONYYYYHHMMFormat = new SimpleDateFormat("dd-MMM-yyyy HH:mm");
- SimpleDateFormat MMDDYYFormat = new SimpleDateFormat("MM/dd/yy");
- SimpleDateFormat MMDDYYHHMMFormat = new SimpleDateFormat("MM/dd/yy HH:mm");
- SimpleDateFormat MMDDYYHHMMSSFormat = new SimpleDateFormat("MM/dd/yy HH:mm:ss");
- SimpleDateFormat timestampFormat1 = new SimpleDateFormat("yyyy-M-d.HH.mm. s. S");
- SimpleDateFormat timestamp_W_dash = new SimpleDateFormat("yyyyMMddHHmmss");
- SimpleDateFormat MMDDYYYYHHMMZFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm z");
- SimpleDateFormat YYYYFormat = new SimpleDateFormat("yyyy");
- java.util.Date date = null;
-
- int formatFlag = 0;
-
- final int YEARFLAG = 1;
- final int MONTHFLAG = 2;
- final int DAYFLAG = 3;
- final int HOURFLAG = 4;
- final int MINFLAG = 5;
- final int SECFLAG = 6;
- final int MILLISECFLAG = 7;
- final int DAYOFTHEWEEKFLAG = 8;
- final int FLAGDATE = 9;
- /*int yearFlag = 1;
- int monthFlag = 2;
- int dayFlag = 3;
- int hourFlag = 4;
- int minFlag = 5;
- int secFlag = 6;
- int milliSecFlag = 7;
- int dayoftheweekFlag = 8;
- int flagDate = 10;
- */
-
- date = MMDDYYYYHHMMSSFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = SECFLAG;
- if(date==null) {
- date = EEEMMDDYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYOFTHEWEEKFLAG;
- }
- if(date==null) {
- date = MMDDYYYYHHMMFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MINFLAG;
- }
- if(date==null) {
- //MMDDYYYYHHFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
- date = MMDDYYYYHHFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = HOURFLAG;
- }
- if(date==null) {
- date = MMDDYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYFLAG;
- }
- if(date==null) {
- date = YYYYMMDDFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYFLAG;
- }
- if(date==null) {
- date = timestampFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = SECFLAG;
- }
- if(date==null) {
- date = timestampHrFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = HOURFLAG;
- }
- if(date==null) {
- date = timestampDayFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYFLAG;
- }
-
- if(date==null) {
- date = MONYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MONTHFLAG;
- }
- if(date==null) {
- date = MMYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MONTHFLAG;
- }
- if(date==null) {
- date = MMMMMDDYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYFLAG;
- }
- if(date==null) {
- date = MONTHYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MONTHFLAG;
- }
-
- if(date==null) {
- date = YYYYMMDDHHMMSSFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = SECFLAG;
- }
-
- if(date==null) {
- date = YYYYMMDDHHMMFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MINFLAG;
- }
-
- if(date==null) {
- date = DDMONYYYYHHMMSSFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = SECFLAG;
- }
-
- if(date==null) {
- date = DDMONYYYYHHMMFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MINFLAG;
- }
-
- if(date==null) {
- date = DDMONYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYFLAG;
- }
-
- if(date==null) {
- date = MMDDYYHHMMSSFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = SECFLAG;
- }
-
- if(date==null) {
- date = MMDDYYHHMMFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MINFLAG;
- }
-
- if(date==null) {
- date = MMDDYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYFLAG;
- }
-
- if(date==null) {
- date = timestampFormat1.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = SECFLAG;
- }
-
- if(date==null) {
- date = MMDDYYYYHHMMZFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MINFLAG;
- }
-
- if(date==null) {
- date = YYYYFormat.parse(dateStr, new ParsePosition(0));
- /* Some random numbers should not satisfy this year format. */
- if(dateStr.length()>4) date = null;
- if(date!=null) formatFlag = YEARFLAG;
- }
- if(date==null) {
- date = timestamp_W_dash.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = SECFLAG;
- }
- if(date==null)
- date = null;
- return date;
- }
-
- public int getFlagFromDateStr(String dateStr) {
- SimpleDateFormat MMDDYYYYFormat = new SimpleDateFormat("MM/dd/yyyy");
- SimpleDateFormat EEEMMDDYYYYFormat = new SimpleDateFormat("EEE, MM/dd/yyyy"); //2012-11-01 00:00:00
- SimpleDateFormat YYYYMMDDFormat = new SimpleDateFormat("yyyy/MM/dd");
- SimpleDateFormat MONYYYYFormat = new SimpleDateFormat("MMM yyyy");
- SimpleDateFormat MMYYYYFormat = new SimpleDateFormat("MM/yyyy");
- SimpleDateFormat MMMMMDDYYYYFormat = new SimpleDateFormat("MMMMM dd, yyyy");
- SimpleDateFormat timestampFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- SimpleDateFormat timestampHrFormat = new SimpleDateFormat("yyyy-MM-dd HH");
- SimpleDateFormat timestampDayFormat = new SimpleDateFormat("yyyy-MM-dd");
- SimpleDateFormat DDMONYYYYFormat = new SimpleDateFormat("dd-MMM-yyyy");
- SimpleDateFormat MONTHYYYYFormat = new SimpleDateFormat("MMMMM, yyyy");
- SimpleDateFormat MMDDYYYYHHFormat = new SimpleDateFormat("MM/dd/yyyy HH");
- SimpleDateFormat MMDDYYYYHHMMSSFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
- SimpleDateFormat MMDDYYYYHHMMFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm");
- SimpleDateFormat YYYYMMDDHHMMSSFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
- SimpleDateFormat YYYYMMDDHHMMFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm");
- SimpleDateFormat DDMONYYYYHHMMSSFormat = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
- SimpleDateFormat DDMONYYYYHHMMFormat = new SimpleDateFormat("dd-MMM-yyyy HH:mm");
- SimpleDateFormat MMDDYYFormat = new SimpleDateFormat("MM/dd/yy");
- SimpleDateFormat MMDDYYHHMMFormat = new SimpleDateFormat("MM/dd/yy HH:mm");
- SimpleDateFormat MMDDYYHHMMSSFormat = new SimpleDateFormat("MM/dd/yy HH:mm:ss");
- SimpleDateFormat timestampFormat1 = new SimpleDateFormat("yyyy-M-d.HH.mm. s. S");
- SimpleDateFormat timestamp_W_dash = new SimpleDateFormat("yyyyMMddHHmmss");
- SimpleDateFormat MMDDYYYYHHMMZFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm z");
- SimpleDateFormat YYYYFormat = new SimpleDateFormat("yyyy");
- java.util.Date date = null;
-
- int formatFlag = 0;
-
- final int YEARFLAG = 1;
- final int MONTHFLAG = 2;
- final int DAYFLAG = 3;
- final int HOURFLAG = 4;
- final int MINFLAG = 5;
- final int SECFLAG = 6;
- final int MILLISECFLAG = 7;
- final int DAYOFTHEWEEKFLAG = 8;
- final int FLAGDATE = 9;
- /*int yearFlag = 1;
- int monthFlag = 2;
- int dayFlag = 3;
- int hourFlag = 4;
- int minFlag = 5;
- int secFlag = 6;
- int milliSecFlag = 7;
- int dayoftheweekFlag = 8;
- int flagDate = 10;
- */
-
- date = MMDDYYYYHHMMSSFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = SECFLAG;
- if(date==null) {
- date = EEEMMDDYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYOFTHEWEEKFLAG;
- }
- if(date==null) {
- date = MMDDYYYYHHMMFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MINFLAG;
- }
- if(date==null) {
- //MMDDYYYYHHFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
- date = MMDDYYYYHHFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = HOURFLAG;
- }
- if(date==null) {
- date = MMDDYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYFLAG;
- }
- if(date==null) {
- date = YYYYMMDDFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYFLAG;
- }
- if(date==null) {
- date = timestampFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = SECFLAG;
- }
- if(date==null) {
- date = timestampHrFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = HOURFLAG;
- }
- if(date==null) {
- date = timestampDayFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYFLAG;
- }
- if(date==null) {
- date = MONYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MONTHFLAG;
- }
- if(date==null) {
- date = MMYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MONTHFLAG;
- }
- if(date==null) {
- date = MMMMMDDYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYFLAG;
- }
- if(date==null) {
- date = MONTHYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MONTHFLAG;
- }
-
- if(date==null) {
- date = YYYYMMDDHHMMSSFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = SECFLAG;
- }
-
- if(date==null) {
- date = YYYYMMDDHHMMFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MINFLAG;
- }
-
- if(date==null) {
- date = DDMONYYYYHHMMSSFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = SECFLAG;
- }
-
- if(date==null) {
- date = DDMONYYYYHHMMFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MINFLAG;
- }
-
- if(date==null) {
- date = DDMONYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYFLAG;
- }
-
- if(date==null) {
- date = MMDDYYHHMMSSFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = SECFLAG;
- }
-
- if(date==null) {
- date = MMDDYYHHMMFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MINFLAG;
- }
-
- if(date==null) {
- date = MMDDYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYFLAG;
- }
-
- if(date==null) {
- date = timestampFormat1.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = SECFLAG;
- }
-
- if(date==null) {
- date = MMDDYYYYHHMMZFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MINFLAG;
- }
-
- if(date==null) {
- date = YYYYFormat.parse(dateStr, new ParsePosition(0));
- /* Some random numbers should not satisfy this year format. */
- if(dateStr.length()>4) date = null;
- if(date!=null) formatFlag = YEARFLAG;
- }
- if(date==null) {
- date = timestamp_W_dash.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = SECFLAG;
- }
- if(date==null)
- date = null;
- return formatFlag;
- }
-
- public static String[] reverse(String[] arr) {
- List<String> list = Arrays.asList(arr);
- Collections.reverse(list);
- return (String[])list.toArray();
- }
-
- public int getNumberOfDecimalPlaces(double num) {
- Double d = num;
- String[] splitter = d.toString().split("\\.");
- splitter[0].length(); // Before Decimal Count
- splitter[1].length(); // After Decimal Count
- return splitter[1].length();
- }
-
- public boolean getBooleanValue(String s) {
- return getBooleanValue(s,null);
- }
-
- public boolean getBooleanValue(String s, Boolean defaultValue) {
- s = nvl(s);
- if(s.length()<=0 && defaultValue!=null) return defaultValue.booleanValue();
- else if(s.length()<=0) return false;
- else {
- if(s.toUpperCase().startsWith("Y") || s.toLowerCase().equals("true"))
- return true;
- else
- return false;
- }
- }
-
-
- public String IntToLetter(int Int) {
- if (Int<27){
- return Character.toString((char)(Int+96));
- } else {
- if (Int%26==0) {
- return IntToLetter((Int/26)-1)+IntToLetter((Int%26)+1);
- } else {
- return IntToLetter(Int/26)+IntToLetter(Int%26);
- }
- }
- }
-
-
-
-
- private void clearReportRuntimeBackup(HttpServletRequest request) {
- //Session sess = Sessions.getCurrent(true)getCurrent();
- //HttpSession session = (HttpSession)sess.getNativeSession();
- HttpSession session = request.getSession();
- session.removeAttribute(AppConstants.DRILLDOWN_REPORTS_LIST);
- request.removeAttribute(AppConstants.DRILLDOWN_INDEX);
- session.removeAttribute(AppConstants.DRILLDOWN_INDEX);
- request.removeAttribute(AppConstants.FORM_DRILLDOWN_INDEX);
- session.removeAttribute(AppConstants.FORM_DRILLDOWN_INDEX);
- Enumeration<String> enum1 = session.getAttributeNames();
- String attributeName = "";
- while(enum1.hasMoreElements()) {
- attributeName = enum1.nextElement();
- if(attributeName.startsWith("parent_")) {
- session.removeAttribute(attributeName);
- }
- }
- session.removeAttribute(AppConstants.DRILLDOWN_REPORTS_LIST);
- session.removeAttribute(AppConstants.SI_BACKUP_FOR_REP_ID);
- session.removeAttribute(AppConstants.SI_COLUMN_LOOKUP);
- session.removeAttribute(AppConstants.SI_DASHBOARD_REP_ID);
- session.removeAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP);
- session.removeAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME);
- session.removeAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP);
- session.removeAttribute(AppConstants.SI_DASHBOARD_CHARTDATA_MAP);
- session.removeAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP);
- session.removeAttribute(AppConstants.SI_DATA_SIZE_FOR_TEXTFIELD_POPUP);
- session.removeAttribute(AppConstants.SI_MAP);
- session.removeAttribute(AppConstants.SI_MAP_OBJECT);
- session.removeAttribute(AppConstants.SI_REPORT_DEFINITION);
- session.removeAttribute(AppConstants.SI_REPORT_RUNTIME);
- session.removeAttribute(AppConstants.SI_REPORT_RUN_BACKUP);
- session.removeAttribute(AppConstants.SI_REPORT_SCHEDULE);
- session.removeAttribute(AppConstants.RI_REPORT_DATA);
- session.removeAttribute(AppConstants.RI_CHART_DATA);
- session.removeAttribute(AppConstants.SI_FORMFIELD_INFO);
- session.removeAttribute(AppConstants.SI_FORMFIELD_DOWNLOAD_INFO);
-
- } // clearReportRuntimeBackup
-
-
- public static synchronized java.util.HashMap getRequestParametersMap(ReportRuntime rr, HttpServletRequest request)
- {
- HashMap valuesMap = new HashMap();
-
- ReportFormFields rff = rr.getReportFormFields();
-
- int idx = 0;
- FormField ff = null;
-
- Map fieldNameMap = new HashMap();
- int countOfFields = 0 ;
-
-
- for(rff.resetNext(); rff.hasNext(); idx++) {
- ff = rff.getNext();
- fieldNameMap.put(ff.getFieldName(), ff.getFieldDisplayName());
- countOfFields++;
- }
-
- List formParameter = new ArrayList();
- String formField = "";
- for(int i = 0 ; i < rff.size(); i++) {
- ff = ((FormField)rff.getFormField(i));
- formField = ff.getFieldName();
- boolean isMultiValue = false;
- isMultiValue = ff.getFieldType().equals(FormField.FFT_CHECK_BOX)
- || ff.getFieldType().equals(FormField.FFT_LIST_MULTI);
- boolean isTextArea = (ff.getFieldType().equals(FormField.FFT_TEXTAREA) && rr.getReportDefType()
- .equals(AppConstants.RD_SQL_BASED));
-
- if(request.getParameterValues(formField) != null && isMultiValue ) {
- String[] vals = request.getParameterValues(formField);
- StringBuffer value = new StringBuffer("");
- if(!AppUtils.getRequestFlag(request, AppConstants.RI_RESET_ACTION)) {
-
- if ( isMultiValue ) {
- value.append("(");
- }
- for(int j = 0 ; j < vals.length; j++) {
- if(isMultiValue) value.append("'");
- try {
- if(vals[j] !=null && vals[j].length() > 0) {
- vals[j] = Utils.oracleSafe(vals[j]);
- value.append(java.net.URLDecoder.decode(vals[j], "UTF-8"));// + ",";
- }
- else
- value.append(vals[j]);
- } catch (UnsupportedEncodingException ex) {value.append(vals[j]);}
- catch (IllegalArgumentException ex1){value.append(vals[j]);}
- catch (Exception ex2){
- value.append(vals[j]);
- }
-
-
- if(isMultiValue) value.append("'");
-
- if(j != vals.length -1) {
- value.append(",");
- }
- }
- if(vals.length > 0) {
- value.append(")");
- }
- }
-
- //value = value.substring(0 , value.length());
-
- valuesMap.put(fieldNameMap.get(formField), value.toString());
- value = new StringBuffer("");
- } else if(request.getParameter(formField) != null) {
- if(isTextArea) {
- String value = "";
- value = request.getParameter(formField);
-
- value = Utils.oracleSafe(value);
- value = "('" + Utils.replaceInString(value, ",", "'|'") + "')";
- value = Utils.replaceInString(value, "|", ",");
- valuesMap.put(fieldNameMap.get(formField), value);
- value = "";
- } else {
- String value = "";
- if(!AppUtils.getRequestFlag(request, AppConstants.RI_RESET_ACTION))
- value = request.getParameter(formField);
- valuesMap.put(fieldNameMap.get(formField), Utils.oracleSafe(value));
- }
-
- } else {
- valuesMap.put(fieldNameMap.get(formField), "" );
- }
-
- }
-
- return valuesMap;
-
- }
-
-}
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartGen.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartGen.java
deleted file mode 100644
index c395000e..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartGen.java
+++ /dev/null
@@ -1,73 +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.runtime;
-
-import java.io.PrintWriter;
-import java.lang.reflect.Method;
-import java.util.HashMap;
-import java.util.List;
-
-import javax.servlet.http.HttpSession;
-
-import org.openecomp.portalsdk.analytics.system.Globals;
-import org.openecomp.portalsdk.analytics.util.DataSet;
-import org.openecomp.portalsdk.analytics.util.Log;
-
-public class ChartGen extends org.openecomp.portalsdk.analytics.RaptorObject {
-
- public static String generateChart(String chartType, HttpSession session, DataSet ds,
- String xText, String yLabelLeftAxis, String yLabelRightAxis, List yTextSeries,
- List yTextColor, List yTextSeriesAxis, String groupText, String chartTitle,
- PrintWriter pw,List columnValuesList, boolean hasCategoryAxis, boolean isMultiSeries,
- List allColumnsList, String downloadFileName, boolean totalOnlyChart, int deviceType, HashMap additionalChartOptionsMap) {
- return generateChart(chartType, session, ds, xText, yLabelLeftAxis, yLabelRightAxis,
- yTextSeries, yTextColor, yTextSeriesAxis, groupText, chartTitle, pw, Globals
- .getDefaultChartWidth(), Globals.getDefaultChartHeight(), columnValuesList, hasCategoryAxis, isMultiSeries, allColumnsList, downloadFileName,totalOnlyChart, deviceType, additionalChartOptionsMap);
- } // generateChart
-
- public static String generateChart(String chartType, HttpSession session, DataSet ds,
- String xText, String yLabelLeftAxis, String yLabelRightAxis, List yTextSeries,
- List yTextColor, List yTextSeriesAxis, String groupText, String chartTitle,
- PrintWriter pw, int width, int height, List columnValuesList, boolean hasCategoryAxis, boolean isMultiSeries,
- List allColumnsList, String downloadFileName,boolean totalOnlyChart, int deviceType, HashMap additionalChartOptionsMap) {
- try {
- Class chartGenClass = null;
-
-
- Class[] argumentTypes = { String.class, HttpSession.class, DataSet.class,
- String.class, String.class, String.class, List.class, List.class,
- List.class, String.class, String.class, PrintWriter.class, int.class,
- int.class, List.class, boolean.class, boolean.class, List.class,
- String.class, boolean.class, int.class, HashMap.class };
-
- Method method = chartGenClass.getMethod("generateChart", argumentTypes);
- Object[] arguments = { chartType, session, ds, xText, yLabelLeftAxis,
- yLabelRightAxis, yTextSeries, yTextColor, yTextSeriesAxis, groupText,
- chartTitle, pw, new Integer(width), new Integer(height), columnValuesList, new Boolean(hasCategoryAxis), new Boolean(isMultiSeries), allColumnsList, downloadFileName, new Boolean(totalOnlyChart), new Integer(deviceType), additionalChartOptionsMap };
-
- return (String) method.invoke(chartGenClass, arguments);
- } catch (Exception e) {
- e.printStackTrace();
- Log.write("ERROR [ChartGen.generateChart] " + e.getMessage());
- return null;
- }
- } // generateChart
-
-} // ChartGen
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartJSON.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartJSON.java
deleted file mode 100644
index 85f8dc8a..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartJSON.java
+++ /dev/null
@@ -1,448 +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.runtime;
-
-import java.util.ArrayList;
-
-class Row {
- private String displayValue;
- private String dataType;
- private String colId;
- //private boolean visible;
-
-
- /*public boolean isVisible() {
- return visible;
- }
- public void setVisible(boolean visible) {
- this.visible = visible;
- }*/
- public String getDisplayValue() {
- return displayValue;
- }
- public void setDisplayValue(String displayValue) {
- this.displayValue = displayValue;
- }
- public String getDataType() {
- return dataType;
- }
- public void setDataType(String dataType) {
- this.dataType = dataType;
- }
- public String getColId() {
- return colId;
- }
- public void setColId(String colId) {
- this.colId = colId;
- }
-
-
-}
-class IndexValueJSON {
- private int index;
- private String value;
- private String title;
- public int getIndex() {
- return index;
- }
- public void setIndex(int index) {
- this.index = index;
- }
- public String getValue() {
- return value;
- }
- public void setValue(String value) {
- this.value = value;
- }
- public String getTitle() {
- return title;
- }
- public void setTitle(String title) {
- this.title = title;
- }
-
-}
-
-class DomainAxisJSON extends IndexValueJSON {}
-
-class ChartColumnJSON extends IndexValueJSON {}
-
-class ChartTypeJSON extends IndexValueJSON {}
-
-class PieChartOptions {
-
-}
-
-public class ChartJSON {
-
- private String reportID;
- private String reportName;
- private String reportDescr;
- private String reportTitle;
- private String reportSubTitle;
- private ArrayList <FormFieldJSON> formFieldList;
- private ArrayList <ChartColumnJSON> chartColumnJSONList;
- private String formfield_comments;
- private int totalRows;
- private String chartSqlWhole;
- private boolean chartAvailable;
- private ChartTypeJSON chartTypeJSON;
- private BarChartOptions barChartOptions;
- private PieChartOptions pieChartOptions;
- private TimeSeriesChartOptions timeSeriesChartOptions;
- private FlexTimeSeriesChartOptions flexTimeSeriesChartOptions;
- private CommonChartOptions commonChartOptions;
- private String width;
- private String height;
- private boolean animation;
- private String rotateLabels;
- private boolean staggerLabels;
- private boolean showTitle;
- private DomainAxisJSON domainAxisJSON;
- private CategoryAxisJSON categoryAxisJSON;
- private boolean hasCategoryAxis;
-
-
- public boolean isHasCategoryAxis() {
- return hasCategoryAxis;
- }
- public void setHasCategoryAxis(boolean hasCategoryAxis) {
- this.hasCategoryAxis = hasCategoryAxis;
- }
- private ArrayList <RangeAxisJSON> rangeAxisList;
- private ArrayList <ArrayList<Row>> wholeList;
-
- private String primaryAxisLabel;
- private String secondaryAxisLabel;
- private String minRange;
- private String maxRange;
- //private int topMargin;
- //private int bottomMargin;
- //private int leftMargin;
- //private int rightMargin;
-
- /*private boolean showMaxMin;
- private boolean showLegend;
- private boolean showControls;
- private String topMargin;
- private String bottomMargin;
- private String leftMargin;
- private String rightMargin;
- private String subType;
- private boolean stacked;
- private boolean horizontalBar;
- private boolean barRealTimeAxis;
- private boolean barReduceXAxisLabels;
- private boolean timeAxis;*/
-
- public String getReportID() {
- return reportID;
- }
- public void setReportID(String reportID) {
- this.reportID = reportID;
- }
- public String getReportName() {
- return reportName;
- }
- public void setReportName(String reportName) {
- this.reportName = reportName;
- }
- public String getReportDescr() {
- return reportDescr;
- }
- public void setReportDescr(String reportDescr) {
- this.reportDescr = reportDescr;
- }
- public String getReportTitle() {
- return reportTitle;
- }
- public void setReportTitle(String reportTitle) {
- this.reportTitle = reportTitle;
- }
- public String getReportSubTitle() {
- return reportSubTitle;
- }
- public void setReportSubTitle(String reportSubTitle) {
- this.reportSubTitle = reportSubTitle;
- }
- public ArrayList<FormFieldJSON> getFormFieldList() {
- return formFieldList;
- }
- public void setFormFieldList(ArrayList<FormFieldJSON> formFieldList) {
- this.formFieldList = formFieldList;
- }
- public String getFormfield_comments() {
- return formfield_comments;
- }
- public void setFormfield_comments(String formfield_comments) {
- this.formfield_comments = formfield_comments;
- }
- public int getTotalRows() {
- return totalRows;
- }
- public void setTotalRows(int totalRows) {
- this.totalRows = totalRows;
- }
- public String getChartSqlWhole() {
- return chartSqlWhole;
- }
- public void setChartSqlWhole(String chartSqlWhole) {
- this.chartSqlWhole = chartSqlWhole;
- }
- public boolean isChartAvailable() {
- return chartAvailable;
- }
- public void setChartAvailable(boolean chartAvailable) {
- this.chartAvailable = chartAvailable;
- }
- public String getWidth() {
- return width;
- }
- public void setWidth(String width) {
- this.width = width;
- }
- public String getHeight() {
- return height;
- }
- public void setHeight(String height) {
- this.height = height;
- }
- public boolean isAnimation() {
- return animation;
- }
- public void setAnimation(boolean animation) {
- this.animation = animation;
- }
- public String getRotateLabels() {
- return rotateLabels;
- }
- public void setRotateLabels(String rotateLabels) {
- this.rotateLabels = rotateLabels;
- }
- public boolean isStaggerLabels() {
- return staggerLabels;
- }
- public void setStaggerLabels(boolean staggerLabels) {
- this.staggerLabels = staggerLabels;
- }
- public boolean isShowTitle() {
- return showTitle;
- }
- public void setShowTitle(boolean showTitle) {
- this.showTitle = showTitle;
- }
- /*public boolean isShowMaxMin() {
- return showMaxMin;
- }
- public void setShowMaxMin(boolean showMaxMin) {
- this.showMaxMin = showMaxMin;
- }
- public boolean isShowLegend() {
- return showLegend;
- }
- public void setShowLegend(boolean showLegend) {
- this.showLegend = showLegend;
- }
- public boolean isShowControls() {
- return showControls;
- }
- public void setShowControls(boolean showControls) {
- this.showControls = showControls;
- }
- public String getTopMargin() {
- return topMargin;
- }
- public void setTopMargin(String topMargin) {
- this.topMargin = topMargin;
- }
- public String getBottomMargin() {
- return bottomMargin;
- }
- public void setBottomMargin(String bottomMargin) {
- this.bottomMargin = bottomMargin;
- }
- public String getLeftMargin() {
- return leftMargin;
- }
- public void setLeftMargin(String leftMargin) {
- this.leftMargin = leftMargin;
- }
- public String getRightMargin() {
- return rightMargin;
- }
- public void setRightMargin(String rightMargin) {
- this.rightMargin = rightMargin;
- }
-
- public String getSubType() {
- return subType;
- }
- public void setSubType(String subType) {
- this.subType = subType;
- }
- public boolean isStacked() {
- return stacked;
- }
- public void setStacked(boolean stacked) {
- this.stacked = stacked;
- }
- public boolean isHorizontalBar() {
- return horizontalBar;
- }
- public void setHorizontalBar(boolean horizontalBar) {
- this.horizontalBar = horizontalBar;
- }
- public boolean isBarRealTimeAxis() {
- return barRealTimeAxis;
- }
- public void setBarRealTimeAxis(boolean barRealTimeAxis) {
- this.barRealTimeAxis = barRealTimeAxis;
- }
- public boolean isBarReduceXAxisLabels() {
- return barReduceXAxisLabels;
- }
- public void setBarReduceXAxisLabels(boolean barReduceXAxisLabels) {
- this.barReduceXAxisLabels = barReduceXAxisLabels;
- }
- public boolean isTimeAxis() {
- return timeAxis;
- }
- public void setTimeAxis(boolean timeAxis) {
- this.timeAxis = timeAxis;
- }*/
- public ChartTypeJSON getChartTypeJSON() {
- return chartTypeJSON;
- }
- public void setChartTypeJSON(ChartTypeJSON chartTypeJSON) {
- this.chartTypeJSON = chartTypeJSON;
- }
- public String getChartType() {
- return chartTypeJSON.getValue();
- }
- public DomainAxisJSON getDomainAxisJSON() {
- return domainAxisJSON;
- }
- public void setDomainAxisJSON(DomainAxisJSON domainAxisJSON) {
- this.domainAxisJSON = domainAxisJSON;
- }
- public CategoryAxisJSON getCategoryAxisJSON() {
- return categoryAxisJSON;
- }
- public void setCategoryAxisJSON(CategoryAxisJSON categoryAxisJSON) {
- this.categoryAxisJSON = categoryAxisJSON;
- }
- public ArrayList<RangeAxisJSON> getRangeAxisList() {
- return rangeAxisList;
- }
- public void setRangeAxisList(ArrayList<RangeAxisJSON> rangeAxisList) {
- this.rangeAxisList = rangeAxisList;
- }
- public String getPrimaryAxisLabel() {
- return primaryAxisLabel;
- }
- public void setPrimaryAxisLabel(String primaryAxisLabel) {
- this.primaryAxisLabel = primaryAxisLabel;
- }
- public String getSecondaryAxisLabel() {
- return secondaryAxisLabel;
- }
- public void setSecondaryAxisLabel(String secondaryAxisLabel) {
- this.secondaryAxisLabel = secondaryAxisLabel;
- }
- public String getMinRange() {
- return minRange;
- }
- public void setMinRange(String minRange) {
- this.minRange = minRange;
- }
- public String getMaxRange() {
- return maxRange;
- }
- public void setMaxRange(String maxRange) {
- this.maxRange = maxRange;
- }
- /*public ArrayList<Row> getRowList() {
- return rowList;
- }
- public void setRowList(ArrayList<Row> rowList) {
- this.rowList = rowList;
- }*/
-
- public ArrayList<ArrayList<Row>> getWholeList() {
- return wholeList;
- }
- public void setWholeList(ArrayList<ArrayList<Row>> wholeList) {
- this.wholeList = wholeList;
- }
- //private ArrayList<ColumnHeader> reportDataColumns;
- //private ArrayList<Map<String,Object>> reportDataRows;
- public ArrayList<ChartColumnJSON> getChartColumnJSONList() {
- return chartColumnJSONList;
- }
- public void setChartColumnJSONList(ArrayList<ChartColumnJSON> chartColumnJSONList) {
- this.chartColumnJSONList = chartColumnJSONList;
- }
-
- public BarChartOptions getBarChartOptions() {
- return barChartOptions;
- }
- public void setBarChartOptions(BarChartOptions barChartOptions) {
- this.barChartOptions = barChartOptions;
- }
- public PieChartOptions getPieChartOptions() {
- return pieChartOptions;
- }
- public void setPieChartOptions(PieChartOptions pieChartOptions) {
- this.pieChartOptions = pieChartOptions;
- }
- public TimeSeriesChartOptions getTimeSeriesChartOptions() {
- return timeSeriesChartOptions;
- }
- public void setTimeSeriesChartOptions(TimeSeriesChartOptions timeSeriesChartOptions) {
- this.timeSeriesChartOptions = timeSeriesChartOptions;
- }
- public FlexTimeSeriesChartOptions getFlexTimeSeriesChartOptions() {
- return flexTimeSeriesChartOptions;
- }
- public void setFlexTimeSeriesChartOptions(FlexTimeSeriesChartOptions flexTimeSeriesChartOptions) {
- this.flexTimeSeriesChartOptions = flexTimeSeriesChartOptions;
- }
- public CommonChartOptions getCommonChartOptions() {
- return commonChartOptions;
- }
- public void setCommonChartOptions(CommonChartOptions commonChartOptions) {
- this.commonChartOptions = commonChartOptions;
- }
-
- public String getDomainAxis() {
- if(getDomainAxisJSON() !=null)
- return getDomainAxisJSON().getValue();
- else
- return "";
- }
-
- public String getCategoryAxis() {
- if(getCategoryAxisJSON()!=null)
- return getCategoryAxisJSON().getValue();
- else
- return "";
- }
-
-}
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartJSONHelper.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartJSONHelper.java
deleted file mode 100644
index d08626c1..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartJSONHelper.java
+++ /dev/null
@@ -1,1550 +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.runtime;
-
-import java.io.UnsupportedEncodingException;
-import java.text.ParsePosition;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Enumeration;
-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.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-
-import org.openecomp.portalsdk.analytics.error.RaptorException;
-import org.openecomp.portalsdk.analytics.model.ReportHandler;
-import org.openecomp.portalsdk.analytics.model.base.ChartSeqComparator;
-import org.openecomp.portalsdk.analytics.system.AppUtils;
-import org.openecomp.portalsdk.analytics.system.ConnectionUtils;
-import org.openecomp.portalsdk.analytics.util.AppConstants;
-import org.openecomp.portalsdk.analytics.util.DataSet;
-import org.openecomp.portalsdk.analytics.util.Utils;
-import org.openecomp.portalsdk.analytics.xmlobj.DataColumnType;
-import org.openecomp.portalsdk.analytics.xmlobj.FormFieldType;
-import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
-import org.openecomp.portalsdk.core.web.support.UserUtils;
-
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
-
-
-
-public class ChartJSONHelper {
-
- EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(ChartJSONHelper.class);
-
- private ReportRuntime reportRuntime;
- private String chartType;
-
- public static final long HOUR = 3600*1000;
- public static final long DAY = 3600*1000*24;
- public static final long MONTH = 3600*1000*24*31;
- public static final long YEAR = 3600*1000*24*365;
-
-
- public ChartJSONHelper() {
-
- }
-
- /**
- * @return the chartType
- */
- public String getChartType() {
- return chartType;
- }
-
- /**
- * @param chartType the chartType to set
- */
- public void setChartType(String chartType) {
- this.chartType = chartType;
- }
-
- public ChartJSONHelper(ReportRuntime rr) {
- this.reportRuntime = rr;
- }
-
- public String generateJSON(String reportID, HttpServletRequest request, boolean showData) throws RaptorException {
- //From annotations chart
- clearReportRuntimeBackup(request);
-
- //HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes()).getRequest();
- final Long user_id = new Long((long) UserUtils.getUserId(request));
- //String action = request.getParameter(AppConstants.RI_ACTION);
- //String reportID = AppUtils.getRequestValue(request, AppConstants.RI_REPORT_ID);
-
- ReportHandler rh = new ReportHandler();
- //ReportData reportData = null;
- HashMap<String, String> chartOptionsMap = new HashMap<String, String>();
- try {
- if(reportID !=null) {
- reportRuntime = rh.loadReportRuntime(request, reportID, true, 1);
- setChartType(reportRuntime.getChartType());
- //reportData = reportRuntime.loadReportData(0, user_id.toString(), 10000,request, false);
- }
-
-
-
- String rotateLabelsStr = "";
- rotateLabelsStr = AppUtils.nvl(reportRuntime.getLegendLabelAngle());
- if(rotateLabelsStr.toLowerCase().equals("standard")) {
- rotateLabelsStr = "0";
- } else if (rotateLabelsStr.toLowerCase().equals("up45")) {
- rotateLabelsStr = "45";
- } else if (rotateLabelsStr.toLowerCase().equals("down45")) {
- rotateLabelsStr = "-45";
- } else if (rotateLabelsStr.toLowerCase().equals("up90")) {
- rotateLabelsStr = "90";
- } else if (rotateLabelsStr.toLowerCase().equals("down90")) {
- rotateLabelsStr = "-90";
- } else
- rotateLabelsStr = "0";
-
- String width = (AppUtils.getRequestNvlValue(request, "width").length()>0?AppUtils.getRequestNvlValue(request, "width"):(AppUtils.nvl(reportRuntime.getChartWidth()).length()>0?reportRuntime.getChartWidth():"700"));
- String height = (AppUtils.getRequestNvlValue(request, "height").length()>0?AppUtils.getRequestNvlValue(request, "height"):(AppUtils.nvl(reportRuntime.getChartHeight()).length()>0?reportRuntime.getChartHeight():"300"));
- String animationStr = (AppUtils.getRequestNvlValue(request, "animation").length()>0?AppUtils.getRequestNvlValue(request, "animation"):new Boolean(reportRuntime.isAnimateAnimatedChart()).toString());
-
- String rotateLabels = (AppUtils.getRequestNvlValue(request, "rotateLabels").length()>0?AppUtils.getRequestNvlValue(request, "rotateLabels"):(rotateLabelsStr.length()>0?rotateLabelsStr:"0"));
- String staggerLabelsStr = (AppUtils.getRequestNvlValue(request, "staggerLabels").length()>0?AppUtils.getRequestNvlValue(request, "staggerLabels"):"false");
- String showMaxMinStr = (AppUtils.getRequestNvlValue(request, "showMaxMin").length()>0?AppUtils.getRequestNvlValue(request, "showMaxMin"):"false");
- String showControlsStr = (AppUtils.getRequestNvlValue(request, "showControls").length()>0?AppUtils.getRequestNvlValue(request, "showControls"):new Boolean(reportRuntime.displayBarControls()).toString());
- String showLegendStr = (AppUtils.getRequestNvlValue(request, "showLegend").length()>0?AppUtils.getRequestNvlValue(request, "showLegend"):new Boolean(!new Boolean(reportRuntime.hideChartLegend())).toString());
- String topMarginStr = AppUtils.getRequestNvlValue(request, "topMargin");
- String topMargin = (AppUtils.nvl(topMarginStr).length()<=0)?(reportRuntime.getTopMargin()!=null?reportRuntime.getTopMargin().toString():"30"):topMarginStr;
- String bottomMarginStr = AppUtils.getRequestNvlValue(request, "bottomMargin");
- String bottomMargin = (AppUtils.nvl(bottomMarginStr).length()<=0)?(reportRuntime.getBottomMargin()!=null?reportRuntime.getBottomMargin().toString():"50"):bottomMarginStr;
- String leftMarginStr = AppUtils.getRequestNvlValue(request, "leftMargin");
- String leftMargin = (AppUtils.nvl(leftMarginStr).length()<=0)?(reportRuntime.getLeftMargin()!=null?reportRuntime.getLeftMargin().toString():"100"):leftMarginStr;
- String rightMarginStr = AppUtils.getRequestNvlValue(request, "rightMargin");
- String rightMargin = (AppUtils.nvl(rightMarginStr).length()<=0)?(reportRuntime.getRightMargin()!=null?reportRuntime.getRightMargin().toString():"160"):rightMarginStr;
- String showTitleStr = (AppUtils.getRequestNvlValue(request, "showTitle").length()>0?AppUtils.getRequestNvlValue(request, "showTitle"):new Boolean(reportRuntime.displayChartTitle()).toString());
- String subType = AppUtils.getRequestNvlValue(request, "subType").length()>0?AppUtils.getRequestNvlValue(request, "subType"):(AppUtils.nvl(reportRuntime.getTimeSeriesRender()).equals("area")?reportRuntime.getTimeSeriesRender():"");
- String stackedStr = AppUtils.getRequestNvlValue(request, "stacked").length()>0?AppUtils.getRequestNvlValue(request, "stacked"):new Boolean(reportRuntime.isChartStacked()).toString();
- String horizontalBar = AppUtils.getRequestNvlValue(request, "horizontalBar").length()>0?AppUtils.getRequestNvlValue(request, "horizontalBar"):new Boolean(reportRuntime.isHorizontalOrientation()).toString();
- String barRealTimeAxis = AppUtils.getRequestNvlValue(request, "barRealTimeAxis");
- String barReduceXAxisLabels = AppUtils.getRequestNvlValue(request, "barReduceXAxisLabels").length()>0?AppUtils.getRequestNvlValue(request, "barReduceXAxisLabels"):new Boolean(reportRuntime.isLessXaxisTickers()).toString();;
- String timeAxis = AppUtils.getRequestNvlValue(request, "timeAxis").length()>0?AppUtils.getRequestNvlValue(request, "timeAxis"):new Boolean(reportRuntime.isTimeAxis()).toString();
- String logScale = AppUtils.getRequestNvlValue(request, "logScale").length()>0?AppUtils.getRequestNvlValue(request, "logScale"):new Boolean(reportRuntime.isLogScale()).toString();
- String precision = AppUtils.getRequestNvlValue(request, "precision").length()>0?AppUtils.getRequestNvlValue(request, "precision"):"2";
-
-
- chartOptionsMap.put("width", width);
- chartOptionsMap.put("height", height);
- chartOptionsMap.put("animation", animationStr);
- chartOptionsMap.put("rotateLabels", rotateLabels);
- chartOptionsMap.put("staggerLabels", staggerLabelsStr);
- chartOptionsMap.put("showMaxMin", showMaxMinStr);
- chartOptionsMap.put("showControls", showControlsStr);
- chartOptionsMap.put("showLegend", showLegendStr);
- chartOptionsMap.put("topMargin", topMargin);
- chartOptionsMap.put("bottomMargin", bottomMargin);
- chartOptionsMap.put("leftMargin", leftMargin);
- chartOptionsMap.put("rightMargin", rightMargin);
- chartOptionsMap.put("showTitle", showTitleStr);
- chartOptionsMap.put("subType", subType);
- chartOptionsMap.put("stacked", stackedStr);
- chartOptionsMap.put("horizontalBar", horizontalBar);
- chartOptionsMap.put("timeAxis", timeAxis);
- chartOptionsMap.put("barRealTimeAxis", barRealTimeAxis);
- chartOptionsMap.put("barReduceXAxisLabels", barReduceXAxisLabels);
-
- chartOptionsMap.put("logScale", logScale);
- chartOptionsMap.put("precision", precision);
-
-
- } catch (RaptorException ex) {
- ex.printStackTrace();
- }
- return generateJSON(reportRuntime, chartOptionsMap, request, showData);
- }
-
- public String generateJSON(ReportRuntime reportRuntime, HttpServletRequest request, boolean showData) throws RaptorException {
-
- String rotateLabelsStr = "";
- rotateLabelsStr = AppUtils.nvl(reportRuntime.getLegendLabelAngle());
- if(rotateLabelsStr.toLowerCase().equals("standard")) {
- rotateLabelsStr = "0";
- } else if (rotateLabelsStr.toLowerCase().equals("up45")) {
- rotateLabelsStr = "45";
- } else if (rotateLabelsStr.toLowerCase().equals("down45")) {
- rotateLabelsStr = "-45";
- } else if (rotateLabelsStr.toLowerCase().equals("up90")) {
- rotateLabelsStr = "90";
- } else if (rotateLabelsStr.toLowerCase().equals("down90")) {
- rotateLabelsStr = "-90";
- } else
- rotateLabelsStr = "0";
-
- HashMap<String,String> chartOptionsMap = new HashMap<String, String>();
- chartOptionsMap.put("width", reportRuntime.getChartWidth());
- chartOptionsMap.put("height", reportRuntime.getChartHeight());
- chartOptionsMap.put("animation", new Boolean(reportRuntime.isAnimateAnimatedChart()).toString());
- chartOptionsMap.put("rotateLabels", rotateLabelsStr);
- chartOptionsMap.put("staggerLabels", "false");
- chartOptionsMap.put("showMaxMin", "false");
- chartOptionsMap.put("showControls", new Boolean(reportRuntime.displayBarControls()).toString());
- chartOptionsMap.put("showLegend", new Boolean(!reportRuntime.hideChartLegend()).toString());
- chartOptionsMap.put("topMargin", reportRuntime.getTopMargin()!=null?reportRuntime.getTopMargin().toString():"30");
- chartOptionsMap.put("bottomMargin", reportRuntime.getBottomMargin()!=null?reportRuntime.getBottomMargin().toString():"50");
- chartOptionsMap.put("leftMargin", reportRuntime.getLeftMargin()!=null?reportRuntime.getLeftMargin().toString():"100");
- chartOptionsMap.put("rightMargin", reportRuntime.getRightMargin()!=null?reportRuntime.getRightMargin().toString():"160");
- chartOptionsMap.put("showTitle", new Boolean(reportRuntime.displayChartTitle()).toString());
- chartOptionsMap.put("subType", (AppUtils.nvl(reportRuntime.getTimeSeriesRender()).equals("area")?reportRuntime.getTimeSeriesRender():""));
- chartOptionsMap.put("stacked", new Boolean(reportRuntime.isChartStacked()).toString());
- chartOptionsMap.put("horizontalBar", new Boolean(reportRuntime.isHorizontalOrientation()).toString());
- chartOptionsMap.put("timeAxis", new Boolean(reportRuntime.isTimeAxis()).toString());
- chartOptionsMap.put("barReduceXAxisLabels", new Boolean(reportRuntime.isLessXaxisTickers()).toString());
-
- chartOptionsMap.put("logScale", new Boolean(reportRuntime.isLogScale()).toString());
- chartOptionsMap.put("precision", "2");
-
-
-
- return generateJSON(reportRuntime, chartOptionsMap, request, showData);
- }
-
- public String generateJSON(ReportRuntime reportRuntime, HashMap<String,String> chartOptionsMap, HttpServletRequest request, boolean showData) throws RaptorException {
-
- //String width, String height, boolean animation, String rotateLabels, boolean staggerLabels, boolean showMaxMin, boolean showLegend, boolean showControls, String topMargin, String bottomMargin, boolean showTitle, String subType
- String userId = AppUtils.getUserID(request);
- String width = chartOptionsMap.get("width");
- String height = chartOptionsMap.get("height");
- boolean animation = getBooleanValue(chartOptionsMap.get("animation"), true);
- String rotateLabels = chartOptionsMap.get("rotateLabels");
- boolean staggerLabels = getBooleanValue(chartOptionsMap.get("staggerLabels"));
- boolean showMaxMin = getBooleanValue(chartOptionsMap.get("showMaxMin"), false);
- boolean showLegend = getBooleanValue(chartOptionsMap.get("showLegend"), true);
- boolean showControls = getBooleanValue(chartOptionsMap.get("showControls"), true);
- String topMargin = chartOptionsMap.get("topMargin");
- String bottomMargin = chartOptionsMap.get("bottomMargin");
- String leftMargin = chartOptionsMap.get("leftMargin");
- String rightMargin = chartOptionsMap.get("rightMargin");
- boolean showTitle = getBooleanValue(chartOptionsMap.get("showTitle"), true);
- String subType = chartOptionsMap.get("subType");
- boolean stacked = getBooleanValue(chartOptionsMap.get("stacked"), false);
- boolean horizontalBar = getBooleanValue(chartOptionsMap.get("horizontalBar"), false);
- boolean barRealTimeAxis = getBooleanValue(chartOptionsMap.get("barRealTimeAxis"), true);
- boolean barReduceXAxisLabels= getBooleanValue(chartOptionsMap.get("barReduceXAxisLabels"), false);
- boolean timeAxis = getBooleanValue(chartOptionsMap.get("timeAxis"), true);
-
-
- boolean logScale = getBooleanValue(chartOptionsMap.get("logScale"), false);
-
- int precision = 2;
-
- try {
- precision = Integer.parseInt(chartOptionsMap.get("precision"));
- } catch (NumberFormatException ex) {
-
- }
-
- final Long user_id = new Long((long) UserUtils.getUserId(request));
-
- HttpSession session = null;
- session = request.getSession();
- String chartType = reportRuntime.getChartType();
- List l = reportRuntime.getAllColumns();
- List lGroups = reportRuntime.getAllChartGroups();
- HashMap mapYAxis = reportRuntime.getAllChartYAxis(reportRuntime.getReportParamValues());
- //ReportParamValues reportParamValues = reportRuntime.getReportParamValues();
- String chartLeftAxisLabel = reportRuntime.getFormFieldFilled(nvl(reportRuntime.getChartLeftAxisLabel()));
- String chartRightAxisLabel = reportRuntime.getFormFieldFilled(nvl(reportRuntime.getChartRightAxisLabel()));
-
- boolean multipleSeries = reportRuntime.isMultiSeries();
-
- java.util.HashMap formValues = null;
- formValues = getRequestParametersMap(reportRuntime, request);
-
-
- String legendColumnName = (reportRuntime.getChartLegendColumn()!=null)?reportRuntime.getChartLegendColumn().getDisplayName():"Legend Column";
- boolean displayChart = reportRuntime.getDisplayChart();
- HashMap additionalChartOptionsMap = new HashMap();
-
- StringBuffer wholeScript = new StringBuffer("");
-
- String title = reportRuntime.getReportTitle();
-
- title = parseTitle(title, formValues);
- ObjectMapper mapper = new ObjectMapper();
- ChartJSON chartJSON = new ChartJSON();
- String sql = "";
- if(displayChart) {
- DataSet ds = null;
- if(showData) {
-
- try {
- if (!(chartType.equals(AppConstants.GT_HIERARCHICAL) || chartType.equals(AppConstants.GT_HIERARCHICAL_SUNBURST) || chartType.equals(AppConstants.GT_ANNOTATION_CHART))) {
- sql = generateChartSQL(userId, request );
- ds = (DataSet) loadChartData(new Long(user_id).toString(), request);
- } else if(chartType.equals(AppConstants.GT_ANNOTATION_CHART)) {
- sql = reportRuntime.getWholeSQL();
- String reportSQL = reportRuntime.getWholeSQL();
- String dbInfo = reportRuntime.getDBInfo();
- ds = ConnectionUtils.getDataSet(reportSQL, dbInfo);
- if(ds.getRowCount()<=0) {
- logger.debug(EELFLoggerDelegate.debugLogger, ("********************************************************************************"));
- logger.info(EELFLoggerDelegate.debugLogger, (chartType.toUpperCase()+" - " + "Report ID : " + reportRuntime.getReportID() + " DATA IS EMPTY" ));
- logger.info(EELFLoggerDelegate.debugLogger, ("QUERY - " + reportSQL));
- logger.info(EELFLoggerDelegate.debugLogger, ("********************************************************************************"));
- }
- } else if(chartType.equals(AppConstants.GT_HIERARCHICAL)||chartType.equals(AppConstants.GT_HIERARCHICAL_SUNBURST)) {
- sql = reportRuntime.getWholeSQL();
- String reportSQL = reportRuntime.getWholeSQL();
- String dbInfo = reportRuntime.getDBInfo();
- ds = ConnectionUtils.getDataSet(reportSQL, dbInfo);
- }
- } catch (RaptorException ex) {
- //throw new RaptorException("Error while loading chart data", ex);
- logger.error(EELFLoggerDelegate.debugLogger, ("********************************************************************************"));
- logger.error(EELFLoggerDelegate.debugLogger, (chartType.toUpperCase()+" - " + "Report ID : " + reportRuntime.getReportID() + " ERROR THROWN FOR GIVEN QUERY "));
- logger.error(EELFLoggerDelegate.debugLogger, ("QUERY - " + reportRuntime.getWholeSQL()));
- logger.error(EELFLoggerDelegate.debugLogger, ("ERROR STACK TRACE" + ex.getMessage()));
- logger.error(EELFLoggerDelegate.debugLogger, ("********************************************************************************"));
-
- }
- if(ds==null) {
- //displayChart = false;
- if(chartType.equals(AppConstants.GT_ANNOTATION_CHART))
- ds = new DataSet();
- else
- displayChart = false;
- }
- }
- if(displayChart) {
-
- chartJSON.setReportID(reportRuntime.getReportID());
- chartJSON.setReportName(reportRuntime.getReportName());
- chartJSON.setReportDescr(reportRuntime.getReportDescr());
- chartJSON.setReportTitle(reportRuntime.getReportTitle());
- chartJSON.setReportSubTitle(reportRuntime.getReportSubTitle());
-
- List<DataColumnType> dcList = reportRuntime.getOnlyVisibleColumns();
- int countIndex = 0;
- ArrayList<ChartColumnJSON> chartColumnJSONList = new ArrayList<ChartColumnJSON>();
- for(Iterator iter = dcList.iterator(); iter.hasNext(); ) {
- ChartColumnJSON ccJSON = new ChartColumnJSON();
- DataColumnType dc = (DataColumnType) iter.next();
- ccJSON.setIndex(countIndex);
- ccJSON.setValue(dc.getColId());
- ccJSON.setTitle(dc.getDisplayName());
- countIndex++;
- chartColumnJSONList.add(ccJSON);
- }
- chartJSON.setChartColumnJSONList(chartColumnJSONList);
- /* setting formfields show only showForm got triggered*/
- /*ArrayList<IdNameValue> formFieldValues = new ArrayList<IdNameValue>();
- ArrayList<FormFieldJSON> formFieldJSONList = new ArrayList<FormFieldJSON>();
- if(reportRuntime.getReportFormFields()!=null) {
- formFieldJSONList = new ArrayList<FormFieldJSON>(reportRuntime.getReportFormFields().size());
- for (Iterator iter = reportRuntime.getReportFormFields().iterator(); iter.hasNext();) {
- formFieldValues = new ArrayList<IdNameValue>();
- FormField ff = (FormField) iter.next();
- ff.setDbInfo(reportRuntime.getDbInfo());
- FormFieldJSON ffJSON = new FormFieldJSON();
- ffJSON.setFieldId(ff.getFieldName());
- ffJSON.setFieldType(ff.getFieldType());
- ffJSON.setFieldDisplayName(ff.getFieldDisplayName());
- ffJSON.setHelpText(ff.getHelpText());
- ffJSON.setValidationType(ff.getValidationType());
- //ffJSON.setTriggerOtherFormFields(ff.getDependsOn());
- IdNameList lookup = null;
- lookup = ff.getLookupList();
- String selectedValue = "";
- String oldSQL = "";
- IdNameList lookupList = null;
- boolean readOnly = false;
- if(lookup!=null) {
- if(!ff.hasPredefinedList) {
- IdNameSql lu = (IdNameSql) lookup;
- String SQL = lu.getSql();
- oldSQL = lu.getSql();
- reportRuntime.setTriggerFormFieldCheck( reportRuntime.getReportFormFields(), ff);
- ffJSON.setTriggerOtherFormFields(ff.isTriggerOtherFormFields());
- SQL = reportRuntime.parseAndFillReq_Session_UserValues(request, SQL, userId);
- SQL = reportRuntime.parseAndFillWithCurrentValues(request, SQL, ff);
- String defaultSQL = lu.getDefaultSQL();
- defaultSQL = reportRuntime.parseAndFillReq_Session_UserValues(request, defaultSQL, userId);
- defaultSQL = reportRuntime.parseAndFillWithCurrentValues(request, SQL, ff);
- lookup = new IdNameSql(-1,SQL,defaultSQL);
-
- lookupList = lookup;
- try {
- lookup.loadUserData(0, "", ff.getDbInfo(), ff.getUserId());
- } catch (Exception e ){ e.printStackTrace(); //throw new RaptorRuntimeException(e);
- }
- }
- lookup.trimToSize();
-
- String[] requestValue = request.getParameterValues(ff.getFieldName());
-
- if(lookup != null && lookup.size() > 0) {
- for (lookup.resetNext(); lookup.hasNext();) {
- IdNameValue value = lookup.getNext();
- readOnly = value.isReadOnly();
- if(requestValue != null && Arrays.asList(requestValue).contains(value.getId())) {
- //if(value.getId().equals(requestValue))
- value.setDefaultValue(true);
- }
- if(!(ff.getFieldType().equals(FormField.FFT_CHECK_BOX) || ff.getFieldType().equals(FormField.FFT_COMBO_BOX) || ff.getFieldType().equals(FormField.FFT_LIST_BOX)
- || ff.getFieldType().equals(FormField.FFT_LIST_MULTI)) && value.isDefaultValue())
- formFieldValues.add(value);
- else if(ff.getFieldType().equals(FormField.FFT_CHECK_BOX) || ff.getFieldType().equals(FormField.FFT_COMBO_BOX) || ff.getFieldType().equals(FormField.FFT_LIST_BOX)
- || ff.getFieldType().equals(FormField.FFT_LIST_MULTI)) {
- formFieldValues.add(value);
- }
- //break;
- }
- } else {
- if(requestValue!=null && requestValue.length>0) {
- IdNameValue value = new IdNameValue(requestValue[0], requestValue[0], true, false);
- formFieldValues.add(value);
- }
- }
-
- } else {
- String[] requestValue = request.getParameterValues(ff.getFieldName());
- if(requestValue!=null && requestValue.length>0) {
- IdNameValue value = new IdNameValue(requestValue[0], requestValue[0], true, false);
- formFieldValues.add(value);
- }
- }
- if(!ff.hasPredefinedList) {
- if(oldSQL != null && !oldSQL.equals("")) {
- ((IdNameSql)lookup).setSQL(oldSQL);
- }
- }
-
-
-
- ffJSON.setFormFieldValues(formFieldValues);
- formFieldJSONList.add(ffJSON);
- } // for
- }
- chartJSON.setFormFieldList(formFieldJSONList);
- chartJSON.setChartSqlWhole(sql);*/
- chartJSON.setChartAvailable(displayChart);
-
- ChartTypeJSON chartTypeJSON = new ChartTypeJSON();
- chartTypeJSON.setIndex(0);
- chartTypeJSON.setTitle("");
- chartTypeJSON.setValue(chartType);
- chartJSON.setChartTypeJSON(chartTypeJSON);
- chartJSON.setWidth(width);
- chartJSON.setHeight(height);
- chartJSON.setAnimation(animation);
- chartJSON.setRotateLabels(rotateLabels);
- chartJSON.setStaggerLabels(staggerLabels);
- chartJSON.setShowTitle(showTitle);
- DomainAxisJSON domainAxisJSON = new DomainAxisJSON();
- domainAxisJSON.setIndex(0);
- if(reportRuntime.getChartLegendColumn()!=null)
- domainAxisJSON.setTitle(reportRuntime.getChartLegendColumn().getDisplayName());
- else
- domainAxisJSON.setTitle("");
- if(reportRuntime.getChartLegendColumn()!=null)
- domainAxisJSON.setValue(reportRuntime.getChartLegendColumn().getColId());
- else
- domainAxisJSON.setValue("");
- chartJSON.setDomainAxisJSON(domainAxisJSON);
-
-
- List<DataColumnType> reportCols = reportRuntime.getAllColumns();
- boolean hasSeriesColumn = false;
- //ArrayList<Item>
- for (Iterator<DataColumnType> iter = reportCols.iterator(); iter
- .hasNext();) {
- DataColumnType dct = (DataColumnType) iter.next();
- if(dct.isChartSeries()!=null && dct.isChartSeries().booleanValue()) {
- chartJSON.setHasCategoryAxis(true);
- CategoryAxisJSON categoryAxisJSON = new CategoryAxisJSON();
- categoryAxisJSON.setIndex(0);
- categoryAxisJSON.setTitle(dct.getDisplayName());
- categoryAxisJSON.setValue(dct.getColId());
- chartJSON.setCategoryAxisJSON(categoryAxisJSON);
- }
- //allColumns
- //.add(new Item(dct.getColId(), dct.getDisplayName()));
- }
- //chartJSON.setCategoryAxis(categoryAxis);
- //chartJSON.set
-
- List<DataColumnType> chartValueCols = reportRuntime.getChartValueColumnsList(AppConstants.CHART_ALL_COLUMNS, null);
- DataColumnType dct_RangeAxis = null;
- //int noChart = 0;
- //if(chartValueCols.size()<=0) {
- //chartValueCols.addAll(reportCols);
- //noChart = 1;
- //}
- if(chartValueCols.size() <= 0) {
- chartValueCols = reportCols;
- }
- ArrayList<RangeAxisJSON> rangeAxisJSONList = new ArrayList<RangeAxisJSON>();
- for (int k = 0; k < chartValueCols.size(); k++) {
- dct_RangeAxis = chartValueCols.get(k);
- RangeAxisJSON rangeAxisJSON = new RangeAxisJSON();
-
- RangeAxisLabelJSON rangeAxisLabelJSON = new RangeAxisLabelJSON();
- rangeAxisLabelJSON.setIndex(0);
- rangeAxisLabelJSON.setTitle(dct_RangeAxis.getDisplayName());
- rangeAxisLabelJSON.setValue(dct_RangeAxis.getColId());
- rangeAxisJSON.setRangeAxisLabelJSON(rangeAxisLabelJSON);
- RangeLineTypeJSON rangeLineTypeJSON = new RangeLineTypeJSON();
- rangeLineTypeJSON.setIndex(0);
- rangeLineTypeJSON.setTitle("");
- rangeLineTypeJSON.setValue(dct_RangeAxis.getChartLineType());
- rangeAxisJSON.setRangeLineTypeJSON(rangeLineTypeJSON);
-
- RangeColorJSON rangeColorJSON = new RangeColorJSON();
- rangeColorJSON.setIndex(0);
- rangeColorJSON.setTitle("");
- rangeColorJSON.setValue(dct_RangeAxis.getChartColor());
- rangeAxisJSON.setRangeColorJSON(rangeColorJSON);
- String chartGroup = "";
- chartGroup = AppUtils.nvl(dct_RangeAxis.getChartGroup());
- if(chartGroup.indexOf("|")!=-1)
- chartGroup = chartGroup.substring(0, chartGroup.indexOf("|"));
-
-
- rangeAxisJSON.setRangeChartGroup(chartGroup);
- String yAxis = "";
- yAxis = AppUtils.nvl(dct_RangeAxis.getYAxis());
- if(yAxis.indexOf("|")!=-1)
- yAxis = yAxis.substring(0, yAxis.indexOf("|"));
-
- rangeAxisJSON.setRangeYAxis(yAxis);
- rangeAxisJSON.setShowAsArea((dct_RangeAxis.isIsRangeAxisFilled()!=null && dct_RangeAxis.isIsRangeAxisFilled().booleanValue())?true:false);
- rangeAxisJSONList.add(rangeAxisJSON);
- }
- CommonChartOptions commonChartOptions = new CommonChartOptions();
- commonChartOptions.setLegendPosition(AppUtils.nvl(reportRuntime.getLegendPosition()).length()>0?reportRuntime.getLegendPosition().toLowerCase():"top");
- String legendLabelAngle = "";
- legendLabelAngle = reportRuntime.getLegendLabelAngle().toLowerCase();
- commonChartOptions.setLegendLabelAngle(AppUtils.nvl(legendLabelAngle).length()>0?legendLabelAngle:"up45");
- commonChartOptions.setHideLegend(reportRuntime.hideChartLegend());
- commonChartOptions.setAnimateAnimatedChart(reportRuntime.isAnimateAnimatedChart());
- commonChartOptions.setTopMargin(reportRuntime.getTopMargin()!=null?reportRuntime.getTopMargin():new Integer("30"));
- commonChartOptions.setBottomMargin(reportRuntime.getBottomMargin()!=null?reportRuntime.getBottomMargin():new Integer("50"));
- commonChartOptions.setLeftMargin(reportRuntime.getLeftMargin()!=null?reportRuntime.getLeftMargin():new Integer("100"));
- commonChartOptions.setRightMargin(reportRuntime.getRightMargin()!=null?reportRuntime.getRightMargin():new Integer("60"));
- chartJSON.setCommonChartOptions(commonChartOptions);
-
- if(chartType.equals(AppConstants.GT_BAR_3D)) {
- BarChartOptions barChartOptions = new BarChartOptions();
- barChartOptions.setDisplayBarControls(reportRuntime.displayBarControls()?true:false);
- barChartOptions.setMinimizeXAxisTickers(reportRuntime.isLessXaxisTickers()?true:false);
- barChartOptions.setStackedChart(reportRuntime.isChartStacked()?true:false);
- barChartOptions.setTimeAxis(reportRuntime.isTimeAxis()?true:false);
- barChartOptions.setVerticalOrientation(reportRuntime.isVerticalOrientation()?true:false);
- barChartOptions.setxAxisDateType(reportRuntime.isXAxisDateType()?true:false);
- barChartOptions.setyAxisLogScale(reportRuntime.isLogScale()?true:false);
- chartJSON.setBarChartOptions(barChartOptions);
- chartJSON.setTimeSeriesChartOptions(null);
- chartJSON.setPieChartOptions(null);
- chartJSON.setFlexTimeSeriesChartOptions(null);
-
- } else if(chartType.equals(AppConstants.GT_TIME_SERIES)) {
- TimeSeriesChartOptions timeSeriesChartOptions = new TimeSeriesChartOptions();
- timeSeriesChartOptions.setAddXAxisTicker(reportRuntime.isAddXAxisTickers());
- timeSeriesChartOptions.setLineChartRenderer(AppUtils.nvl(reportRuntime.getTimeSeriesRender()).length()>0?reportRuntime.getTimeSeriesRender():"line");
- timeSeriesChartOptions.setMultiSeries(reportRuntime.isMultiSeries());
- timeSeriesChartOptions.setNonTimeAxis(reportRuntime.isTimeAxis());
- timeSeriesChartOptions.setShowXAxisLabel(reportRuntime.isShowXaxisLabel());
- chartJSON.setBarChartOptions(null);
- chartJSON.setTimeSeriesChartOptions(timeSeriesChartOptions);
- chartJSON.setPieChartOptions(null);
- chartJSON.setFlexTimeSeriesChartOptions(null);
- } else if(chartType.equals(AppConstants.GT_ANNOTATION_CHART) || chartType.equals(AppConstants.GT_FLEX_TIME_CHARTS)) {
- FlexTimeSeriesChartOptions flexTimeSeriesChartOptions = new FlexTimeSeriesChartOptions();
- flexTimeSeriesChartOptions.setZoomIn(reportRuntime.getZoomIn()!=null?reportRuntime.getZoomIn():new Integer("25"));
- String timeAxisTypeStr = "";
- timeAxisTypeStr = reportRuntime.getTimeAxisType().toLowerCase();
- flexTimeSeriesChartOptions.setTimeAxisType(timeAxisTypeStr);
- chartJSON.setBarChartOptions(null);
- chartJSON.setTimeSeriesChartOptions(null);
- chartJSON.setPieChartOptions(null);
- chartJSON.setFlexTimeSeriesChartOptions(flexTimeSeriesChartOptions);
- }
- chartJSON.setRangeAxisList(rangeAxisJSONList);
- chartJSON.setPrimaryAxisLabel(reportRuntime.getChartLeftAxisLabel());
- chartJSON.setSecondaryAxisLabel(reportRuntime.getChartRightAxisLabel());
- chartJSON.setMinRange(reportRuntime.getRangeAxisLowerLimit());
- chartJSON.setMaxRange(reportRuntime.getRangeAxisUpperLimit());
-
- if(showData) {
- ArrayList<ArrayList<Row>> wholeList = new ArrayList<ArrayList<Row>>();
-
- ArrayList<Row> rowList = new ArrayList<Row>();
- if(showData) {
- for (int i = 0; i < ds.getRowCount(); i++) {
- rowList = new ArrayList<Row>();
- for (int j = 0; j<ds.getColumnCount(); j++) {
- Row row = new Row();
- row.setColId(ds.getColumnName(j));
- row.setDisplayValue(ds.getString(i, j));
- row.setDataType(ds.getColumnType(j));
- rowList.add(row);
- }
- wholeList.add(rowList);
-
- }
-
- chartJSON.setWholeList(wholeList);
- }
- }
-
-
-
-
-
- }
- } else {
- // chart is not visible
- chartJSON.setReportID(reportRuntime.getReportID());
- chartJSON.setReportName(reportRuntime.getReportName());
- chartJSON.setReportDescr(reportRuntime.getReportDescr());
- chartJSON.setReportTitle(reportRuntime.getReportTitle());
- chartJSON.setReportSubTitle(reportRuntime.getReportSubTitle());
- chartJSON.setChartAvailable(displayChart);
- ChartTypeJSON chartTypeJSON = new ChartTypeJSON();
- chartTypeJSON.setIndex(0);
- chartTypeJSON.setTitle("");
- chartTypeJSON.setValue(chartType);
- chartJSON.setChartTypeJSON(chartTypeJSON);
- }
- //mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);
- //mapper.setVisibilityChecker(mapper.getVisibilityChecker().with(JsonAutoDetect.Visibility.NONE));
- mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- String jsonInString = "";
- try {
- jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(chartJSON);
- } catch (Exception ex) {
- ex.printStackTrace();
-
- }
-
- return jsonInString;
- }
-
- public String nvl(String s) {
- return (s == null) ? "" : s;
- }
-
- public String nvl(String s, String sDefault) {
- return nvl(s).equals("") ? sDefault : s;
- }
-
- public static String nvls(String s) {
- return (s == null) ? "" : s;
- }
-
- public static String nvls(String s, String sDefault) {
- return nvls(s).equals("") ? sDefault : s;
- }
-
- public boolean getFlagInBoolean(String s) {
- return nvl(s).toUpperCase().startsWith("Y") || nvl(s).toLowerCase().equals("true");
- }
-
- public DataSet loadChartData(String userId, HttpServletRequest request) throws RaptorException {
- if (nvl(getChartType()).length() == 0)
- return null;
- //TODO: display chart function to be added.
- //if (!getDisplayChart())
- // return null;
-
- String sql = null;
- sql = generateChartSQL(userId, request);
- logger.debug(EELFLoggerDelegate.debugLogger, ("SQL generated " + sql));
- String dbInfo = reportRuntime.getDBInfo();
- DataSet ds = ConnectionUtils.getDataSet(sql, dbInfo);
- if(ds.getRowCount()<=0) {
- logger.info(EELFLoggerDelegate.debugLogger, ("********************************************************************************"));
- logger.info(EELFLoggerDelegate.debugLogger, (getChartType().toUpperCase()+" - " + "Report ID : " + reportRuntime.getReportID() + " DATA IS EMPTY"));
- logger.info(EELFLoggerDelegate.debugLogger, ("QUERY - " + sql));
- logger.info(EELFLoggerDelegate.debugLogger, ("********************************************************************************"));
- }
-
- return ds;
- } // loadChartData
-
- public String generateChartSQL(String userId, HttpServletRequest request ) throws RaptorException {
- List reportCols = reportRuntime.getAllColumns();
- List chartValueCols = getChartValueColumnsList(AppConstants.CHART_ALL_COLUMNS, null); // parameter is 0 has this requires all columns.
- String reportSQL = reportRuntime.getWholeSQL();
-
- //Add order by clause
- Pattern re1 = Pattern.compile("(^[\r\n]*|([\\s]))[Oo][Rr][Dd][Ee][Rr](.*?[^\r\n]*)[Bb][Yy]",Pattern.DOTALL);
- //Pattern re1 = Pattern.compile("order(.*?[^\r\n]*)by", Pattern.DOTALL);
- Matcher matcher = re1.matcher(reportSQL);
- //Pattern re1 = Pattern.compile("(^[\r\n]*|([\\s]))[Oo][Rr][Dd][Ee][Rr][Tt](.*?[^\r\n]*)[Bb][Yy]",Pattern.DOTALL);
- //int startPoint = sql.length()-30;
-
- reportSQL = reportSQL + " ";
- reportSQL = Pattern.compile("(^[\r\n]*|([\\s]))[Ss][Ee][Ll][Ee][Cc][Tt]([\r\n]*|[\\s]*)",Pattern.DOTALL).matcher(reportSQL).replaceAll(" SELECT ");
- //reportSQL = Pattern.compile("(^[\r\n]*|([\\s]))[Ff][Rr][Oo][Mm]([\r\n]*|[\\s]*)",Pattern.DOTALL).matcher(reportSQL).replaceAll(" FROM ");
- reportSQL = Pattern.compile("(^[\r\n]*|([\\s]))[Ww][Hh][Ee][Rr][Ee]([\r\n]*|[\\s]*)",Pattern.DOTALL).matcher(reportSQL).replaceAll(" WHERE ");
- reportSQL = Pattern.compile("(^[\r\n]*|([\\s]))[Ww][Hh][Ee][Nn]([\r\n]*|[\\s]*)",Pattern.DOTALL).matcher(reportSQL).replaceAll(" WHEN ");
- reportSQL = Pattern.compile("(^[\r\n]*|([\\s]))[Aa][Nn][Dd]([\r\n]*|[\\s]*)",Pattern.DOTALL).matcher(reportSQL).replaceAll(" AND ");
-
- if(!reportRuntime.getReportType().equals(AppConstants.RT_HIVE)) {
- int startPoint = reportSQL.lastIndexOf(" FROM ");
- if(startPoint <= 0) {
- startPoint = reportSQL.lastIndexOf(" from ");
- }
- if(startPoint <= 0) {
- startPoint = reportSQL.lastIndexOf("from ");
- }
- if(startPoint <= 0) {
- startPoint = reportSQL.lastIndexOf("FROM ");
- }
-
- if (!matcher.find(startPoint)) {
- reportSQL = reportSQL + " ORDER BY 1" ;
- }
- }
- reportRuntime.setWholeSQL(reportSQL);
-
- logger.debug(EELFLoggerDelegate.debugLogger, (" *************************************************************************************** "));
- logger.debug(EELFLoggerDelegate.debugLogger, ("WHOLE_SQL" + reportSQL));
- logger.debug(EELFLoggerDelegate.debugLogger, (" *************************************************************************************** "));
-
- if (reportRuntime.getFormFieldList() != null) {
- for (Iterator iter = reportRuntime.getFormFieldList().getFormField().iterator(); iter.hasNext();) {
- FormFieldType fft = (FormFieldType) iter.next();
- String fieldId = fft.getFieldId();
- String fieldDisplay = reportRuntime.getFormFieldDisplayName(fft);
- String formfield_value = "";
- formfield_value = AppUtils.getRequestNvlValue(request, fieldId);
- String paramValue = nvl(formfield_value);
- if(paramValue.length()>0) {
- /*sql = Utils.replaceInString(sql, "'" + fieldDisplay + "'", nvl(
- paramValue, "NULL"));*/
- reportSQL = Utils.replaceInString(reportSQL, fieldDisplay, nvl(
- paramValue, "NULL"));
- }
- /*sql = Utils.replaceInString(sql, "'" + fieldDisplay + "'", nvl(
- paramValue, "NULL"));*/
- reportSQL = Utils.replaceInString(reportSQL, "'" + fieldDisplay + "'", nvl(
- paramValue, "NULL"));
- reportSQL = Utils.replaceInString(reportSQL, fieldDisplay , nvl(
- paramValue, "NULL"));
- }
- }
- 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, request);
- 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().intValue() <= 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, request))+ " " + 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, request);
- String paramValue = "";
- if(AppUtils.nvl(colName).startsWith("[")) {
- if (reportRuntime.getFormFieldList() != null) {
- for (Iterator iterC = reportRuntime.getFormFieldList().getFormField().iterator(); iterC.hasNext();) {
- FormFieldType fft = (FormFieldType) iterC.next();
- String fieldId = fft.getFieldId();
- String fieldDisplay = reportRuntime.getFormFieldDisplayName(fft);
- String formfield_value = "";
- if(AppUtils.nvl(fieldDisplay).equals(colName)) {
- formfield_value = AppUtils.getRequestNvlValue(request, fieldId);
- paramValue = nvl(formfield_value);
- }
- }
-
- }
-
- seriesCol.append("," + (AppUtils.nvl(paramValue).length()>0? paramValue:"null") + " " + dc.getColId());
- } else {
- //valueCols.append(", NVL(" + formatChartColumn(colName) + ",0) " + dc.getColId());
- seriesCol.append("," + (AppUtils.nvl(paramValue).length()>0? paramValue:formatChartColumn(colName)) + " " + dc.getColId());
- }
- } // for
-
- for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
- DataColumnType dc = (DataColumnType) iter.next();
- String colName = dc.getDisplayName();
- String colValue = getColumnSelectStr(dc, request);
- //String colName = getColumnSelectStr(dc, formGrid);
- 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(", " + colValue + " " + 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, " 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 getColumnSelectStr(DataColumnType dc, HttpServletRequest request) {
- //String colName = dc.isCalculated() ? dc.getColName()
- // : ((nvl(dc.getTableId()).length() > 0) ? (dc.getTableId() + "." + dc
- // .getColName()) : dc.getColName());
- String colName = dc.getColName();
- String paramValue = null;
- //if (dc.isCalculated()) {
- if (reportRuntime.getFormFieldList() != null) {
- for (Iterator iter = reportRuntime.getFormFieldList().getFormField().iterator(); iter.hasNext();) {
- FormFieldType fft = (FormFieldType) iter.next();
- String fieldId = fft.getFieldId();
- String fieldDisplay = reportRuntime.getFormFieldDisplayName(fft);
- String formfield_value = "";
- formfield_value = AppUtils.getRequestNvlValue(request, fieldId);
- paramValue = nvl(formfield_value);
- if(paramValue.length()>0) {
- /*sql = Utils.replaceInString(sql, "'" + fieldDisplay + "'", nvl(
- paramValue, "NULL"));*/
- colName = Utils.replaceInString(colName, "'" + fieldDisplay + "'", "'"+nvl(
- paramValue, "NULL")+"'");
- colName = Utils.replaceInString(colName, fieldDisplay, nvl(
- paramValue, "NULL"));
- }
- }
- return colName;
- }
- //}
- return colName;
- } // getColumnSelectStr
-
-
-
- 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 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 List getChartValueColumnsList( int filter, HashMap formValues) { /*filter; all=0;create without new chart =1; createNewChart=2 */
- List reportCols = reportRuntime.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 = reportRuntime.getDependsOnFormFieldFlag(dc, formValues);
-
- if( (dc.getChartSeq()!=null && dc.getChartSeq()> 0) && flag == 0 && !(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 String parseTitle(String title, HashMap formValues) {
- Set set = formValues.entrySet();
- for(Iterator iter = set.iterator(); iter.hasNext(); ) {
- Map.Entry entry = (Entry<String,String>) iter.next();
- if(title.indexOf("["+ entry.getKey() + "]")!= -1) {
- title = Utils.replaceInString(title, "["+entry.getKey()+"]", nvl(
- (String) entry.getValue(), ""));
- }
- }
- return title;
- }
-
- public java.util.Date getDateFromDateStr(String dateStr) {
- SimpleDateFormat MMDDYYYYFormat = new SimpleDateFormat("MM/dd/yyyy");
- SimpleDateFormat EEEMMDDYYYYFormat = new SimpleDateFormat("EEE, MM/dd/yyyy"); //2012-11-01 00:00:00
- SimpleDateFormat YYYYMMDDFormat = new SimpleDateFormat("yyyy/MM/dd");
- SimpleDateFormat MONYYYYFormat = new SimpleDateFormat("MMM yyyy");
- SimpleDateFormat MMYYYYFormat = new SimpleDateFormat("MM/yyyy");
- SimpleDateFormat MMMMMDDYYYYFormat = new SimpleDateFormat("MMMMM dd, yyyy");
- SimpleDateFormat timestampFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- SimpleDateFormat timestampHrFormat = new SimpleDateFormat("yyyy-MM-dd HH");
- SimpleDateFormat timestampDayFormat = new SimpleDateFormat("yyyy-MM-dd");
- SimpleDateFormat DDMONYYYYFormat = new SimpleDateFormat("dd-MMM-yyyy");
- SimpleDateFormat MONTHYYYYFormat = new SimpleDateFormat("MMMMM, yyyy");
- SimpleDateFormat MMDDYYYYHHFormat = new SimpleDateFormat("MM/dd/yyyy HH");
- SimpleDateFormat MMDDYYYYHHMMSSFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
- SimpleDateFormat MMDDYYYYHHMMFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm");
- SimpleDateFormat YYYYMMDDHHMMSSFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
- SimpleDateFormat YYYYMMDDHHMMFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm");
- SimpleDateFormat DDMONYYYYHHMMSSFormat = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
- SimpleDateFormat DDMONYYYYHHMMFormat = new SimpleDateFormat("dd-MMM-yyyy HH:mm");
- SimpleDateFormat MMDDYYFormat = new SimpleDateFormat("MM/dd/yy");
- SimpleDateFormat MMDDYYHHMMFormat = new SimpleDateFormat("MM/dd/yy HH:mm");
- SimpleDateFormat MMDDYYHHMMSSFormat = new SimpleDateFormat("MM/dd/yy HH:mm:ss");
- SimpleDateFormat timestampFormat1 = new SimpleDateFormat("yyyy-M-d.HH.mm. s. S");
- SimpleDateFormat MMDDYYYYHHMMZFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm z");
- SimpleDateFormat YYYYFormat = new SimpleDateFormat("yyyy");
- java.util.Date date = null;
-
- int formatFlag = 0;
-
- final int YEARFLAG = 1;
- final int MONTHFLAG = 2;
- final int DAYFLAG = 3;
- final int HOURFLAG = 4;
- final int MINFLAG = 5;
- final int SECFLAG = 6;
- final int MILLISECFLAG = 7;
- final int DAYOFTHEWEEKFLAG = 8;
- final int FLAGDATE = 9;
- /*int yearFlag = 1;
- int monthFlag = 2;
- int dayFlag = 3;
- int hourFlag = 4;
- int minFlag = 5;
- int secFlag = 6;
- int milliSecFlag = 7;
- int dayoftheweekFlag = 8;
- int flagDate = 10;
- */
-
- date = MMDDYYYYHHMMSSFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = SECFLAG;
- if(date==null) {
- date = EEEMMDDYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYOFTHEWEEKFLAG;
- }
- if(date==null) {
- date = MMDDYYYYHHMMFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MINFLAG;
- }
- if(date==null) {
- //MMDDYYYYHHFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
- date = MMDDYYYYHHFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = HOURFLAG;
- }
- if(date==null) {
- date = MMDDYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYFLAG;
- }
- if(date==null) {
- date = YYYYMMDDFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYFLAG;
- }
- if(date==null) {
- date = timestampFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = SECFLAG;
- }
- if(date==null) {
- date = timestampHrFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = HOURFLAG;
- }
- if(date==null) {
- date = timestampDayFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYFLAG;
- }
-
- if(date==null) {
- date = MONYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MONTHFLAG;
- }
- if(date==null) {
- date = MMYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MONTHFLAG;
- }
- if(date==null) {
- date = MMMMMDDYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYFLAG;
- }
- if(date==null) {
- date = MONTHYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MONTHFLAG;
- }
-
- if(date==null) {
- date = YYYYMMDDHHMMSSFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = SECFLAG;
- }
-
- if(date==null) {
- date = YYYYMMDDHHMMFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MINFLAG;
- }
-
- if(date==null) {
- date = DDMONYYYYHHMMSSFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = SECFLAG;
- }
-
- if(date==null) {
- date = DDMONYYYYHHMMFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MINFLAG;
- }
-
- if(date==null) {
- date = DDMONYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYFLAG;
- }
-
- if(date==null) {
- date = MMDDYYHHMMSSFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = SECFLAG;
- }
-
- if(date==null) {
- date = MMDDYYHHMMFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MINFLAG;
- }
-
- if(date==null) {
- date = MMDDYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYFLAG;
- }
-
- if(date==null) {
- date = timestampFormat1.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = SECFLAG;
- }
-
- if(date==null) {
- date = MMDDYYYYHHMMZFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MINFLAG;
- }
-
- if(date==null) {
- date = YYYYFormat.parse(dateStr, new ParsePosition(0));
- /* Some random numbers should not satisfy this year format. */
- if(dateStr.length()>4) date = null;
- if(date!=null) formatFlag = YEARFLAG;
- }
- if(date==null)
- date = null;
- return date;
- }
-
- public int getFlagFromDateStr(String dateStr) {
- SimpleDateFormat MMDDYYYYFormat = new SimpleDateFormat("MM/dd/yyyy");
- SimpleDateFormat EEEMMDDYYYYFormat = new SimpleDateFormat("EEE, MM/dd/yyyy"); //2012-11-01 00:00:00
- SimpleDateFormat YYYYMMDDFormat = new SimpleDateFormat("yyyy/MM/dd");
- SimpleDateFormat MONYYYYFormat = new SimpleDateFormat("MMM yyyy");
- SimpleDateFormat MMYYYYFormat = new SimpleDateFormat("MM/yyyy");
- SimpleDateFormat MMMMMDDYYYYFormat = new SimpleDateFormat("MMMMM dd, yyyy");
- SimpleDateFormat timestampFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- SimpleDateFormat timestampHrFormat = new SimpleDateFormat("yyyy-MM-dd HH");
- SimpleDateFormat timestampDayFormat = new SimpleDateFormat("yyyy-MM-dd");
- SimpleDateFormat DDMONYYYYFormat = new SimpleDateFormat("dd-MMM-yyyy");
- SimpleDateFormat MONTHYYYYFormat = new SimpleDateFormat("MMMMM, yyyy");
- SimpleDateFormat MMDDYYYYHHFormat = new SimpleDateFormat("MM/dd/yyyy HH");
- SimpleDateFormat MMDDYYYYHHMMSSFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
- SimpleDateFormat MMDDYYYYHHMMFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm");
- SimpleDateFormat YYYYMMDDHHMMSSFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
- SimpleDateFormat YYYYMMDDHHMMFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm");
- SimpleDateFormat DDMONYYYYHHMMSSFormat = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
- SimpleDateFormat DDMONYYYYHHMMFormat = new SimpleDateFormat("dd-MMM-yyyy HH:mm");
- SimpleDateFormat MMDDYYFormat = new SimpleDateFormat("MM/dd/yy");
- SimpleDateFormat MMDDYYHHMMFormat = new SimpleDateFormat("MM/dd/yy HH:mm");
- SimpleDateFormat MMDDYYHHMMSSFormat = new SimpleDateFormat("MM/dd/yy HH:mm:ss");
- SimpleDateFormat timestampFormat1 = new SimpleDateFormat("yyyy-M-d.HH.mm. s. S");
- SimpleDateFormat MMDDYYYYHHMMZFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm z");
- SimpleDateFormat YYYYFormat = new SimpleDateFormat("yyyy");
- java.util.Date date = null;
-
- int formatFlag = 0;
-
- final int YEARFLAG = 1;
- final int MONTHFLAG = 2;
- final int DAYFLAG = 3;
- final int HOURFLAG = 4;
- final int MINFLAG = 5;
- final int SECFLAG = 6;
- final int MILLISECFLAG = 7;
- final int DAYOFTHEWEEKFLAG = 8;
- final int FLAGDATE = 9;
- /*int yearFlag = 1;
- int monthFlag = 2;
- int dayFlag = 3;
- int hourFlag = 4;
- int minFlag = 5;
- int secFlag = 6;
- int milliSecFlag = 7;
- int dayoftheweekFlag = 8;
- int flagDate = 10;
- */
-
- date = MMDDYYYYHHMMSSFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = SECFLAG;
- if(date==null) {
- date = EEEMMDDYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYOFTHEWEEKFLAG;
- }
- if(date==null) {
- date = MMDDYYYYHHMMFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MINFLAG;
- }
- if(date==null) {
- //MMDDYYYYHHFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
- date = MMDDYYYYHHFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = HOURFLAG;
- }
- if(date==null) {
- date = MMDDYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYFLAG;
- }
- if(date==null) {
- date = YYYYMMDDFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYFLAG;
- }
- if(date==null) {
- date = timestampFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = SECFLAG;
- }
- if(date==null) {
- date = timestampHrFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = HOURFLAG;
- }
- if(date==null) {
- date = timestampDayFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYFLAG;
- }
- if(date==null) {
- date = MONYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MONTHFLAG;
- }
- if(date==null) {
- date = MMYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MONTHFLAG;
- }
- if(date==null) {
- date = MMMMMDDYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYFLAG;
- }
- if(date==null) {
- date = MONTHYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MONTHFLAG;
- }
-
- if(date==null) {
- date = YYYYMMDDHHMMSSFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = SECFLAG;
- }
-
- if(date==null) {
- date = YYYYMMDDHHMMFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MINFLAG;
- }
-
- if(date==null) {
- date = DDMONYYYYHHMMSSFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = SECFLAG;
- }
-
- if(date==null) {
- date = DDMONYYYYHHMMFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MINFLAG;
- }
-
- if(date==null) {
- date = DDMONYYYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYFLAG;
- }
-
- if(date==null) {
- date = MMDDYYHHMMSSFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = SECFLAG;
- }
-
- if(date==null) {
- date = MMDDYYHHMMFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MINFLAG;
- }
-
- if(date==null) {
- date = MMDDYYFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = DAYFLAG;
- }
-
- if(date==null) {
- date = timestampFormat1.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = SECFLAG;
- }
-
- if(date==null) {
- date = MMDDYYYYHHMMZFormat.parse(dateStr, new ParsePosition(0));
- if(date!=null) formatFlag = MINFLAG;
- }
-
- if(date==null) {
- date = YYYYFormat.parse(dateStr, new ParsePosition(0));
- /* Some random numbers should not satisfy this year format. */
- if(dateStr.length()>4) date = null;
- if(date!=null) formatFlag = YEARFLAG;
- }
- if(date==null)
- date = null;
- return formatFlag;
- }
-
- public static String[] reverse(String[] arr) {
- List<String> list = Arrays.asList(arr);
- Collections.reverse(list);
- return (String[])list.toArray();
- }
-
- public int getNumberOfDecimalPlaces(double num) {
- Double d = num;
- String[] splitter = d.toString().split("\\.");
- splitter[0].length(); // Before Decimal Count
- splitter[1].length(); // After Decimal Count
- return splitter[1].length();
- }
-
- public boolean getBooleanValue(String s) {
- return getBooleanValue(s,null);
- }
-
- public boolean getBooleanValue(String s, Boolean defaultValue) {
- s = nvl(s);
- if(s.length()<=0 && defaultValue!=null) return defaultValue.booleanValue();
- else if(s.length()<=0) return false;
- else {
- if(s.toUpperCase().startsWith("Y") || s.toLowerCase().equals("true"))
- return true;
- else
- return false;
- }
- }
-
-
- public String IntToLetter(int Int) {
- if (Int<27){
- return Character.toString((char)(Int+96));
- } else {
- if (Int%26==0) {
- return IntToLetter((Int/26)-1)+IntToLetter((Int%26)+1);
- } else {
- return IntToLetter(Int/26)+IntToLetter(Int%26);
- }
- }
- }
-
-
-
-
- private void clearReportRuntimeBackup(HttpServletRequest request) {
- //Session sess = Sessions.getCurrent(true)getCurrent();
- //HttpSession session = (HttpSession)sess.getNativeSession();
- HttpSession session = request.getSession();
- session.removeAttribute(AppConstants.DRILLDOWN_REPORTS_LIST);
- request.removeAttribute(AppConstants.DRILLDOWN_INDEX);
- session.removeAttribute(AppConstants.DRILLDOWN_INDEX);
- request.removeAttribute(AppConstants.FORM_DRILLDOWN_INDEX);
- session.removeAttribute(AppConstants.FORM_DRILLDOWN_INDEX);
- Enumeration<String> enum1 = session.getAttributeNames();
- String attributeName = "";
- while(enum1.hasMoreElements()) {
- attributeName = enum1.nextElement();
- if(attributeName.startsWith("parent_")) {
- session.removeAttribute(attributeName);
- }
- }
- session.removeAttribute(AppConstants.DRILLDOWN_REPORTS_LIST);
- session.removeAttribute(AppConstants.SI_BACKUP_FOR_REP_ID);
- session.removeAttribute(AppConstants.SI_COLUMN_LOOKUP);
- session.removeAttribute(AppConstants.SI_DASHBOARD_REP_ID);
- session.removeAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP);
- session.removeAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME);
- session.removeAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP);
- session.removeAttribute(AppConstants.SI_DASHBOARD_CHARTDATA_MAP);
- session.removeAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP);
- session.removeAttribute(AppConstants.SI_DATA_SIZE_FOR_TEXTFIELD_POPUP);
- session.removeAttribute(AppConstants.SI_MAP);
- session.removeAttribute(AppConstants.SI_MAP_OBJECT);
- session.removeAttribute(AppConstants.SI_REPORT_DEFINITION);
- session.removeAttribute(AppConstants.SI_REPORT_RUNTIME);
- session.removeAttribute(AppConstants.SI_REPORT_RUN_BACKUP);
- session.removeAttribute(AppConstants.SI_REPORT_SCHEDULE);
- session.removeAttribute(AppConstants.RI_REPORT_DATA);
- session.removeAttribute(AppConstants.RI_CHART_DATA);
- session.removeAttribute(AppConstants.SI_FORMFIELD_INFO);
- session.removeAttribute(AppConstants.SI_FORMFIELD_DOWNLOAD_INFO);
-
- } // clearReportRuntimeBackup
-
-
- public static synchronized java.util.HashMap getRequestParametersMap(ReportRuntime rr, HttpServletRequest request)
- {
- HashMap valuesMap = new HashMap();
-
- ReportFormFields rff = rr.getReportFormFields();
-
- int idx = 0;
- FormField ff = null;
-
- Map fieldNameMap = new HashMap();
- int countOfFields = 0 ;
-
-
- for(rff.resetNext(); rff.hasNext(); idx++) {
- ff = rff.getNext();
- fieldNameMap.put(ff.getFieldName(), ff.getFieldDisplayName());
- countOfFields++;
- }
-
- List formParameter = new ArrayList();
- String formField = "";
- for(int i = 0 ; i < rff.size(); i++) {
- ff = ((FormField)rff.getFormField(i));
- formField = ff.getFieldName();
- boolean isMultiValue = false;
- isMultiValue = ff.getFieldType().equals(FormField.FFT_CHECK_BOX)
- || ff.getFieldType().equals(FormField.FFT_LIST_MULTI);
- boolean isTextArea = (ff.getFieldType().equals(FormField.FFT_TEXTAREA) && rr.getReportDefType()
- .equals(AppConstants.RD_SQL_BASED));
-
- if(request.getParameterValues(formField) != null && isMultiValue ) {
- String[] vals = request.getParameterValues(formField);
- StringBuffer value = new StringBuffer("");
- if(!AppUtils.getRequestFlag(request, AppConstants.RI_RESET_ACTION)) {
-
- if ( isMultiValue ) {
- value.append("(");
- }
- for(int j = 0 ; j < vals.length; j++) {
- if(isMultiValue) value.append("'");
- try {
- if(vals[j] !=null && vals[j].length() > 0) {
- vals[j] = Utils.oracleSafe(vals[j]);
- value.append(java.net.URLDecoder.decode(vals[j], "UTF-8"));// + ",";
- }
- else
- value.append(vals[j]);
- } catch (UnsupportedEncodingException ex) {value.append(vals[j]);}
- catch (IllegalArgumentException ex1){value.append(vals[j]);}
- catch (Exception ex2){
- value.append(vals[j]);
- }
-
-
- if(isMultiValue) value.append("'");
-
- if(j != vals.length -1) {
- value.append(",");
- }
- }
- if(vals.length > 0) {
- value.append(")");
- }
- }
-
- //value = value.substring(0 , value.length());
-
- valuesMap.put(fieldNameMap.get(formField), value.toString());
- value = new StringBuffer("");
- } else if(request.getParameter(formField) != null) {
- if(isTextArea) {
- String value = "";
- value = request.getParameter(formField);
-
- value = Utils.oracleSafe(value);
- value = "('" + Utils.replaceInString(value, ",", "'|'") + "')";
- value = Utils.replaceInString(value, "|", ",");
- valuesMap.put(fieldNameMap.get(formField), value);
- value = "";
- } else {
- String value = "";
- if(!AppUtils.getRequestFlag(request, AppConstants.RI_RESET_ACTION))
- value = request.getParameter(formField);
- valuesMap.put(fieldNameMap.get(formField), Utils.oracleSafe(value));
- }
-
- } else {
- valuesMap.put(fieldNameMap.get(formField), "" );
- }
-
- }
-
- return valuesMap;
-
- }
-
-}
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartWebRuntime.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartWebRuntime.java
deleted file mode 100644
index 3fb24402..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartWebRuntime.java
+++ /dev/null
@@ -1,420 +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.runtime;
-
-
-
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-
-import org.openecomp.portalsdk.analytics.error.RaptorException;
-import org.openecomp.portalsdk.analytics.model.ReportHandler;
-import org.openecomp.portalsdk.analytics.system.AppUtils;
-import org.openecomp.portalsdk.analytics.util.AppConstants;
-import org.openecomp.portalsdk.analytics.view.ReportData;
-import org.openecomp.portalsdk.core.web.support.UserUtils;
-
-
-public class ChartWebRuntime implements Serializable {
-
-
- // Not used - planned to use if Hibernate used as data access layer
- private String runningDataQuery = "";
- private String runningCountQuery = "";
- //CONSTANTS FOR QUERY
- public final String QRY_COUNT_REPORT = "";
- public final String QRY_DATA_REPORT = "";
-
- // Not used planning to use when filter is used
- private StringBuffer whereClause = new StringBuffer("");
- // request used to grab request parameters
- private HttpServletRequest request;
-
-
- public ReportRuntime reportRuntime;
- public ReportData reportData;
-
- //Used to pass user information
- private final Map<String, Object> params = new HashMap<String, Object>();
-
- //from chart generator retrieves list of charts to render
- public ArrayList chartList;
- public ArrayList infoList;
-
- private String totalSql;
-
-
- //
- private String drilldown_index = "0";
-
- public List getRolesCommaSeperated(HttpServletRequest request) {
- HashMap roles = UserUtils.getRoles(request);
- List roleList = null;
- StringBuffer roleBuf = new StringBuffer("");
- int count = 0;
- if( roles != null ) {
- roleList = Arrays.asList(roles.keySet().toArray());
- }
-
- return roleList;
- }
-
-
- public String getUserId(HttpServletRequest request) {
- return AppUtils.getUserID(request);
- }
-
- public String generateChart(HttpServletRequest request) {
- return generateChart(request, true);
- }
-
-
- public String generateChart(HttpServletRequest request, boolean showData) {
- //wire variables
- //processRecursive(this, this);
- long currentTime = System.currentTimeMillis();
- HttpSession session = request.getSession();
- String action = nvl(request.getParameter(AppConstants.RI_ACTION), request.getParameter("action"));
- boolean genReportData = (!action.equals("chart.json") || action.equals("chart.data.json"));
-
-
-
- final Long user_id = new Long((long) UserUtils.getUserId(request));
-
-
- boolean adminUser = false;
- try {
- adminUser = AppUtils.isAdminUser(request) || AppUtils.isSuperUser(request);
- } catch (RaptorException ex) {
- ex.printStackTrace();
- }
- List roleList = getRolesCommaSeperated(request);
- //final Map<String, Object> params = new HashMap<String, Object>();
- params.put("user_id", user_id);
- params.put("role_list", roleList);
- //params.put("public_yn", "Y");
-
- //String action = request.getParameter(AppConstants.RI_ACTION);
- String reportID = AppUtils.getRequestValue(request, AppConstants.RI_REPORT_ID);
-
- ReportHandler rh = new ReportHandler();
- ReportRuntime rr = null;
- try {
- if(reportID !=null)
- rr = rh.loadReportRuntime(request, reportID, true, 1);
- if(rr.getReportType().equals(AppConstants.RT_HIVE)) {
- String sql = rr.getReportSQL();
- rr.setWholeSQL(sql);
- //if(genReportData)
- //reportData = rr.loadHiveLinearReportData(rr.getWholeSQL(),user_id.toString(), 10000,request);
- } else {
- //if(genReportData)
- //reportData = rr.loadReportData(0, user_id.toString(), 10000,request, false /*download*/);
- }
- } catch (RaptorException ex) {
- ex.printStackTrace();
- }
- setReportRuntime(rr);
- setReportData( reportData);
-
- reportRuntime = getReportRuntime();
- reportData = getReportData();
-
-
- HashMap<String, String> chartOptionsMap = new HashMap<String, String>();
-
- String rotateLabelsStr = "";
- rotateLabelsStr = AppUtils.nvl(reportRuntime.getLegendLabelAngle());
- if(rotateLabelsStr.toLowerCase().equals("standard")) {
- rotateLabelsStr = "0";
- } else if (rotateLabelsStr.toLowerCase().equals("up45")) {
- rotateLabelsStr = "45";
- } else if (rotateLabelsStr.toLowerCase().equals("down45")) {
- rotateLabelsStr = "-45";
- } else if (rotateLabelsStr.toLowerCase().equals("up90")) {
- rotateLabelsStr = "90";
- } else if (rotateLabelsStr.toLowerCase().equals("down90")) {
- rotateLabelsStr = "-90";
- } else
- rotateLabelsStr = "0";
-
- String width = (AppUtils.getRequestNvlValue(request, "width").length()>0?AppUtils.getRequestNvlValue(request, "width"):(AppUtils.nvl(reportRuntime.getChartWidth()).length()>0?reportRuntime.getChartWidth():"700"));
- String height = (AppUtils.getRequestNvlValue(request, "height").length()>0?AppUtils.getRequestNvlValue(request, "height"):(AppUtils.nvl(reportRuntime.getChartHeight()).length()>0?reportRuntime.getChartHeight():"300"));
- String animationStr = (AppUtils.getRequestNvlValue(request, "animation").length()>0?AppUtils.getRequestNvlValue(request, "animation"):new Boolean(reportRuntime.isAnimateAnimatedChart()).toString());
-
- String rotateLabels = (AppUtils.getRequestNvlValue(request, "rotateLabels").length()>0?AppUtils.getRequestNvlValue(request, "rotateLabels"):(rotateLabelsStr.length()>0?rotateLabelsStr:"0"));
- String staggerLabelsStr = (AppUtils.getRequestNvlValue(request, "staggerLabels").length()>0?AppUtils.getRequestNvlValue(request, "staggerLabels"):"false");
- String showMaxMinStr = (AppUtils.getRequestNvlValue(request, "showMaxMin").length()>0?AppUtils.getRequestNvlValue(request, "showMaxMin"):"false");
- String showControlsStr = (AppUtils.getRequestNvlValue(request, "showControls").length()>0?AppUtils.getRequestNvlValue(request, "showControls"):new Boolean(reportRuntime.displayBarControls()).toString());
- String showLegendStr = (AppUtils.getRequestNvlValue(request, "showLegend").length()>0?AppUtils.getRequestNvlValue(request, "showLegend"):new Boolean(!new Boolean(reportRuntime.hideChartLegend())).toString());
- String topMarginStr = AppUtils.getRequestNvlValue(request, "topMargin");
- String topMargin = (AppUtils.nvl(topMarginStr).length()<=0)?(reportRuntime.getTopMargin()!=null?reportRuntime.getTopMargin().toString():"30"):topMarginStr;
- String bottomMarginStr = AppUtils.getRequestNvlValue(request, "bottomMargin");
- String bottomMargin = (AppUtils.nvl(bottomMarginStr).length()<=0)?(reportRuntime.getBottomMargin()!=null?reportRuntime.getBottomMargin().toString():"50"):bottomMarginStr;
- String leftMarginStr = AppUtils.getRequestNvlValue(request, "leftMargin");
- String leftMargin = (AppUtils.nvl(leftMarginStr).length()<=0)?(reportRuntime.getLeftMargin()!=null?reportRuntime.getLeftMargin().toString():"100"):leftMarginStr;
- String rightMarginStr = AppUtils.getRequestNvlValue(request, "rightMargin");
- String rightMargin = (AppUtils.nvl(rightMarginStr).length()<=0)?(reportRuntime.getRightMargin()!=null?reportRuntime.getRightMargin().toString():"160"):rightMarginStr;
- String showTitleStr = (AppUtils.getRequestNvlValue(request, "showTitle").length()>0?AppUtils.getRequestNvlValue(request, "showTitle"):new Boolean(reportRuntime.displayChartTitle()).toString());
- String subType = AppUtils.getRequestNvlValue(request, "subType").length()>0?AppUtils.getRequestNvlValue(request, "subType"):(AppUtils.nvl(reportRuntime.getTimeSeriesRender()).equals("area")?reportRuntime.getTimeSeriesRender():"");
- String stackedStr = AppUtils.getRequestNvlValue(request, "stacked").length()>0?AppUtils.getRequestNvlValue(request, "stacked"):new Boolean(reportRuntime.isChartStacked()).toString();
- String horizontalBar = AppUtils.getRequestNvlValue(request, "horizontalBar").length()>0?AppUtils.getRequestNvlValue(request, "horizontalBar"):new Boolean(reportRuntime.isHorizontalOrientation()).toString();
- String barRealTimeAxis = AppUtils.getRequestNvlValue(request, "barRealTimeAxis");
- String barReduceXAxisLabels = AppUtils.getRequestNvlValue(request, "barReduceXAxisLabels").length()>0?AppUtils.getRequestNvlValue(request, "barReduceXAxisLabels"):new Boolean(reportRuntime.isLessXaxisTickers()).toString();;
- String timeAxis = AppUtils.getRequestNvlValue(request, "timeAxis").length()>0?AppUtils.getRequestNvlValue(request, "timeAxis"):new Boolean(reportRuntime.isTimeAxis()).toString();
- String logScale = AppUtils.getRequestNvlValue(request, "logScale").length()>0?AppUtils.getRequestNvlValue(request, "logScale"):new Boolean(reportRuntime.isLogScale()).toString();
- String precision = AppUtils.getRequestNvlValue(request, "precision").length()>0?AppUtils.getRequestNvlValue(request, "precision"):"2";
-
- /* boolean animation = AppUtils.getRequestFlag(request, "animation");
- boolean staggerLabels = AppUtils.getRequestFlag(request, "staggerLabels");
- boolean showMaxMin = (showMaxMinStr.length()<=0)?false:Boolean.parseBoolean(showMaxMinStr);
- boolean showControls = (showControlsStr.length()<=0)?true:Boolean.parseBoolean(showControlsStr);
- boolean showLegend = (showLegendStr.length()<=0)?true:Boolean.parseBoolean(showLegendStr);
- boolean showTitle = (showTitleStr.length()<=0)?true:Boolean.parseBoolean(showTitleStr);
- boolean stacked = (stackedStr.length()<=0)?true:Boolean.parseBoolean(stackedStr);
- */
- // Add all options to Map
- chartOptionsMap.put("width", width);
- chartOptionsMap.put("height", height);
- chartOptionsMap.put("animation", animationStr);
- chartOptionsMap.put("rotateLabels", rotateLabels);
- chartOptionsMap.put("staggerLabels", staggerLabelsStr);
- chartOptionsMap.put("showMaxMin", showMaxMinStr);
- chartOptionsMap.put("showControls", showControlsStr);
- chartOptionsMap.put("showLegend", showLegendStr);
- chartOptionsMap.put("topMargin", topMargin);
- chartOptionsMap.put("bottomMargin", bottomMargin);
- chartOptionsMap.put("leftMargin", leftMargin);
- chartOptionsMap.put("rightMargin", rightMargin);
- chartOptionsMap.put("showTitle", showTitleStr);
- chartOptionsMap.put("subType", subType);
- chartOptionsMap.put("stacked", stackedStr);
- chartOptionsMap.put("horizontalBar", horizontalBar);
- chartOptionsMap.put("timeAxis", timeAxis);
- chartOptionsMap.put("barRealTimeAxis", barRealTimeAxis);
- chartOptionsMap.put("barReduceXAxisLabels", barReduceXAxisLabels);
-
- chartOptionsMap.put("logScale", logScale);
- chartOptionsMap.put("precision", precision);
-
-
-
- if(reportRuntime!=null) {
- StringBuffer title = new StringBuffer("");
- title.append(reportRuntime.getReportName());
- }
-
- if(! (action.equals("chart.json") || action.equals("chart.data.json"))) {
-
-
- //Chart
- String chartType = reportRuntime.getChartType();
- return drawD3Charts(chartOptionsMap, request);
- //drawD3Charts();
- } else /*if (action.equals("chart.json"))*/ {
- String chartType = reportRuntime.getChartType();
- return returnChartJSON(chartOptionsMap, request, showData);
-
-
- } /*else {
-
- return ("Internal Error Occurred.");
- }*/
-
- }
-
-
- public String nvl(String s) {
- return (s == null) ? "" : s;
- }
-
- /**
- * @return the reportRuntime
- */
- public ReportRuntime getReportRuntime() {
- return reportRuntime;
- }
-
- /**
- * @param reportRuntime the reportRuntime to set
- */
- public void setReportRuntime(ReportRuntime reportRuntime) {
- this.reportRuntime = reportRuntime;
- }
-
- /**
- * @return the reportData
- */
- public ReportData getReportData() {
- return reportData;
- }
-
- /**
- * @param reportData the reportData to set
- */
- public void setReportData(ReportData reportData) {
- this.reportData = reportData;
- }
-
- public boolean isNull(String a) {
- if ((a == null) || (a.length() == 0) || a.equalsIgnoreCase("null"))
- return true;
- else
- return false;
- }
-
-
- protected String nvl(String s, String sDefault) {
- return nvl(s).equals("") ? sDefault : s;
- }
-
- protected static String nvls(String s) {
- return (s == null) ? "" : s;
- }
-
- protected static String nvls(String s, String sDefault) {
- return nvls(s).equals("") ? sDefault : s;
- }
-
- protected boolean getFlagInBoolean(String s) {
- return nvl(s).toUpperCase().startsWith("Y") || nvl(s).toLowerCase().equals("true");
- }
-
-
- /**
- * @return the chartList
- */
- public ArrayList getChartList() {
- return chartList;
- }
-
- /**
- * @param chartList the chartList to set
- */
- public void setChartList(ArrayList chartList) {
- this.chartList = chartList;
- }
-
- /**
- * @return the infoList
- */
- public ArrayList getInfoList() {
- return infoList;
- }
-
- /**
- * @param infoList the infoList to set
- */
- public void setInfoList(ArrayList infoList) {
- this.infoList = infoList;
- }
-
-
-
- private void clearReportRuntimeBackup(HttpSession session, HttpServletRequest request) {
- session.removeAttribute(AppConstants.DRILLDOWN_REPORTS_LIST);
- request.removeAttribute(AppConstants.DRILLDOWN_INDEX);
- session.removeAttribute(AppConstants.DRILLDOWN_INDEX);
- request.removeAttribute(AppConstants.FORM_DRILLDOWN_INDEX);
- session.removeAttribute(AppConstants.FORM_DRILLDOWN_INDEX);
- Enumeration<String> enum1 = session.getAttributeNames();
- String attributeName = "";
- while(enum1.hasMoreElements()) {
- attributeName = enum1.nextElement();
- if(attributeName.startsWith("parent_")) {
- session.removeAttribute(attributeName);
- }
- }
- session.removeAttribute(AppConstants.DRILLDOWN_REPORTS_LIST);
- session.removeAttribute(AppConstants.SI_BACKUP_FOR_REP_ID);
- session.removeAttribute(AppConstants.SI_COLUMN_LOOKUP);
- session.removeAttribute(AppConstants.SI_DASHBOARD_REP_ID);
- session.removeAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME_MAP);
- session.removeAttribute(AppConstants.SI_DASHBOARD_REPORTRUNTIME);
- session.removeAttribute(AppConstants.SI_DASHBOARD_REPORTDATA_MAP);
- session.removeAttribute(AppConstants.SI_DASHBOARD_CHARTDATA_MAP);
- session.removeAttribute(AppConstants.SI_DASHBOARD_DISPLAYTYPE_MAP);
- session.removeAttribute(AppConstants.SI_DATA_SIZE_FOR_TEXTFIELD_POPUP);
- session.removeAttribute(AppConstants.SI_MAP);
- session.removeAttribute(AppConstants.SI_MAP_OBJECT);
- session.removeAttribute(AppConstants.SI_REPORT_DEFINITION);
- session.removeAttribute(AppConstants.SI_REPORT_RUNTIME);
- session.removeAttribute(AppConstants.SI_REPORT_RUN_BACKUP);
- session.removeAttribute(AppConstants.SI_REPORT_SCHEDULE);
- session.removeAttribute(AppConstants.RI_REPORT_DATA);
- session.removeAttribute(AppConstants.RI_CHART_DATA);
- session.removeAttribute(AppConstants.SI_FORMFIELD_INFO);
- session.removeAttribute(AppConstants.SI_FORMFIELD_DOWNLOAD_INFO);
- } // clearReportRuntimeBackup
-
-
- public String getTotalSql() {
- return totalSql;
- }
-
- public void setTotalSql(String totalSql) {
- this.totalSql = totalSql;
- }
-
-
-
- /* public void drawD3Charts(HashMap<String,String> chartOptionsMap) {
- drawD3Charts(chartOptionsMap);
-
- }
- */
-
- public String drawD3Charts(HashMap<String,String> chartOptionsMap, HttpServletRequest request) {
-
- ChartD3Helper chartHelper = new ChartD3Helper(reportRuntime);
- chartHelper.setChartType(reportRuntime.getChartType());
- try {
- return chartHelper.createVisualization(reportRuntime, chartOptionsMap, request);
- } catch(RaptorException ex) {
- ex.printStackTrace();
- }
- return "";
-
- }
-
- public String returnChartJSON(HashMap<String,String> chartOptionsMap, HttpServletRequest request, boolean showData) {
-
- ChartJSONHelper chartJSONHelper = new ChartJSONHelper(reportRuntime);
- chartJSONHelper.setChartType(reportRuntime.getChartType());
- try {
- return chartJSONHelper.generateJSON(reportRuntime, chartOptionsMap, request, showData);
- } catch(RaptorException ex) {
- ex.printStackTrace();
- }
- return "";
-
- }
-
- }
-
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/CommonChartOptions.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/CommonChartOptions.java
deleted file mode 100644
index e8ba2ee5..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/CommonChartOptions.java
+++ /dev/null
@@ -1,81 +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.runtime;
-
-public class CommonChartOptions {
-
- private String legendPosition = "top";
- private String legendLabelAngle = "up45";
- private boolean hideLegend = false;
- private boolean animateAnimatedChart = true;
- private int topMargin = 30;
- private int bottomMargin = 50;
- private int leftMargin = 100;
- private int rightMargin = 60;
-
- public String getLegendPosition() {
- return legendPosition;
- }
- public void setLegendPosition(String legendPosition) {
- this.legendPosition = legendPosition;
- }
- public String getLegendLabelAngle() {
- return legendLabelAngle;
- }
- public void setLegendLabelAngle(String legendLabelAngle) {
- this.legendLabelAngle = legendLabelAngle;
- }
- public boolean isHideLegend() {
- return hideLegend;
- }
- public void setHideLegend(boolean hideLegend) {
- this.hideLegend = hideLegend;
- }
- public boolean isAnimateAnimatedChart() {
- return animateAnimatedChart;
- }
- public void setAnimateAnimatedChart(boolean animateAnimatedChart) {
- this.animateAnimatedChart = animateAnimatedChart;
- }
- public int getTopMargin() {
- return topMargin;
- }
- public void setTopMargin(int topMargin) {
- this.topMargin = topMargin;
- }
- public int getBottomMargin() {
- return bottomMargin;
- }
- public void setBottomMargin(int bottomMargin) {
- this.bottomMargin = bottomMargin;
- }
- public int getLeftMargin() {
- return leftMargin;
- }
- public void setLeftMargin(int leftMargin) {
- this.leftMargin = leftMargin;
- }
- public int getRightMargin() {
- return rightMargin;
- }
- public void setRightMargin(int rightMargin) {
- this.rightMargin = rightMargin;
- }
-}
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ErrorJSONRuntime.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ErrorJSONRuntime.java
deleted file mode 100644
index d619c4e0..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ErrorJSONRuntime.java
+++ /dev/null
@@ -1,43 +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.runtime;
-
-public class ErrorJSONRuntime {
-
- private String errormessage;
- private String stacktrace;
-
- public String getErrormessage() {
- return errormessage;
- }
- public void setErrormessage(String errormessage) {
- this.errormessage = errormessage;
- }
- public String getStacktrace() {
- return stacktrace;
- }
- public void setStacktrace(String stacktrace) {
- this.stacktrace = stacktrace;
- }
-
-
-
-
-}
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/FlexTimeSeriesChartOptions.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/FlexTimeSeriesChartOptions.java
deleted file mode 100644
index 3b3060bb..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/FlexTimeSeriesChartOptions.java
+++ /dev/null
@@ -1,38 +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.runtime;
-
-public class FlexTimeSeriesChartOptions {
- private int zoomIn = 25;
- private String timeAxisType = "";
- public int getZoomIn() {
- return zoomIn;
- }
- public void setZoomIn(int zoomIn) {
- this.zoomIn = zoomIn;
- }
- public String getTimeAxisType() {
- return timeAxisType;
- }
- public void setTimeAxisType(String timeAxisType) {
- this.timeAxisType = timeAxisType;
- }
-
-}
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/FormField.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/FormField.java
deleted file mode 100644
index ea215679..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/FormField.java
+++ /dev/null
@@ -1,2111 +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
- * ===========================================================================================
- *
- * -------------------------------------------------------------------------------------------
- * FormField.java - This class is used to generate all types of form field.
- * -------------------------------------------------------------------------------------------
- *
- * Created By : Stan Pishamanov
- * Modified & Maintained By : Sundar Ramalingam
- *
- * Changes
- * -------
- * 18-Aug-2009 : Version 8.5 (Sundar); Populating predefined formfields bug has been resolved.
- * 13-Aug-2009 : Version 8.5 (RS); Form field chaining is supported even for hidden variables.
- * 13-Aug-2009 : Version 8.5 (RS); Nothing changed just comment.
- * 10-Aug-2009 : Version 9.0 (RS); required logic is added for Multiple Dropdown.
- * 06-Aug-2009 : Version 9.0 (RS); B getAjaxHtml is added for converting form field chain from Iframe to AJAX.
- * 08-Jun-2009 : Version 8.3 (RS); Hidden formfields now is displayed even when the sql is not provided.
- *
- */
-package org.openecomp.portalsdk.analytics.model.runtime;
-
-import java.io.Serializable;
-import java.io.UnsupportedEncodingException;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-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.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.openecomp.portalsdk.analytics.error.RaptorRuntimeException;
-import org.openecomp.portalsdk.analytics.error.UserDefinedException;
-import org.openecomp.portalsdk.analytics.model.base.IdNameList;
-import org.openecomp.portalsdk.analytics.model.base.IdNameLookup;
-import org.openecomp.portalsdk.analytics.model.base.IdNameSql;
-import org.openecomp.portalsdk.analytics.model.base.IdNameValue;
-import org.openecomp.portalsdk.analytics.system.AppUtils;
-import org.openecomp.portalsdk.analytics.system.ConnectionUtils;
-import org.openecomp.portalsdk.analytics.system.Globals;
-import org.openecomp.portalsdk.analytics.util.DataSet;
-import org.openecomp.portalsdk.analytics.util.Utils;
-import org.openecomp.portalsdk.analytics.xmlobj.JavascriptItemType;
-
-public class FormField extends org.openecomp.portalsdk.analytics.RaptorObject implements Serializable {
- private static final String HTML_FORM = "formd";
-
- private String fieldName = null;
-
- private String fieldDisplayName = null;
-
- private String fieldType = FFT_TEXT_W_POPUP;
-
- private String validationType = VT_NONE;
-
- private boolean required = false;
-
- public boolean hasPredefinedList = false;
-
- private String defaultValue = null;
-
- private Calendar rangeStartDate = null;
-
- private Calendar rangeEndDate = null;
-
- private String rangeStartDateSQL = null;
-
- private String rangeEndDateSQL = null;
-
- private String fieldDefaultSQL = null;
-
- private String multiSelectListSize = null;
-
- private String helpText = null;
-
- private IdNameList lookupList = null;
-
- private String dbInfo = null;
-
- private String userId = null;
-
- private boolean visible = true;
-
- private String dependsOn = null;
-
- private boolean triggerOtherFormFields = false;
-
- private boolean triggerThisFormfield = false;
-
- // Form field types
- public static final String FFT_TEXT_W_POPUP = "TEXT_WITH_POPUP";
-
- public static final String FFT_TEXT = "TEXT";
-
- public static final String FFT_TEXTAREA = "TEXTAREA";
-
- public static final String FFT_COMBO_BOX = "COMBO_BOX";
-
- public static final String FFT_LIST_BOX = "LIST_BOX";
-
- public static final String FFT_RADIO_BTN = "RADIO_BTN";
-
- public static final String FFT_CHECK_BOX = "CHECK_BOX";
-
- public static final String FFT_LIST_MULTI = "LIST_MULTI_SELECT";
-
- public static final String FFT_HIDDEN = "HIDDEN";
-
- public static final String FFT_BLANK = "BLANK";
-
- // Validation types
- public static final String VT_NONE = "NONE";
-
- public static final String VT_DATE = "DATE";
-
- public static final String VT_TIMESTAMP_HR = "TIMESTAMP_HR";
-
- public static final String VT_TIMESTAMP_MIN = "TIMESTAMP_MIN";
-
- public static final String VT_TIMESTAMP_SEC = "TIMESTAMP_SEC";
-
- public static final String VT_INT = "INTEGER";
-
- public static final String VT_INT_POSITIVE = "POSITIVE_INTEGER";
-
- public static final String VT_INT_NON_NEGATIVE = "NON_NEGATIVE_INTEGER";
-
- public static final String VT_FLOAT = "FLOAT";
-
- public static final String VT_FLOAT_POSITIVE = "POSITIVE_FLOAT";
-
- public static final String VT_FLOAT_NON_NEGATIVE = "NON_NEGATIVE_FLOAT";
-
- private FormField(String fieldName, String fieldDisplayName, String fieldType,
- String validationType, boolean required, String defaultValue, String helpText, boolean visible, String dependsOn, Calendar rangeStartDate, Calendar rangeEndDate,
- String rangeStartDateSQL, String rangeEndDateSQL, String multiSelectListSize ) {
- //super();
- this (fieldName,fieldDisplayName,fieldType,validationType,required,defaultValue,helpText, dependsOn, rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize);
- setVisible(visible);
- } // FormField
-
- private FormField(String fieldName, String fieldDisplayName, String fieldType,
- String validationType, boolean required, String defaultValue, String helpText, String dependsOn, Calendar rangeStartDate, Calendar rangeEndDate,
- String rangeStartDateSQL, String rangeEndDateSQL, String multiSelectListSize ) {
- super();
- setFieldName(fieldName);
- setFieldDisplayName(fieldDisplayName);
- setFieldType(nvl(fieldType, FFT_TEXT));
- setValidationType(validationType);
- setRequired(required);
- setDefaultValue(defaultValue);
- setHelpText(helpText);
- setDependsOn(dependsOn);
- setRangeStartDate(rangeStartDate);
- setRangeEndDate(rangeEndDate);
- setRangeStartDateSQL(rangeStartDateSQL);
- setRangeEndDateSQL(rangeEndDateSQL);
- setMultiSelectListSize(multiSelectListSize);
- }
- public FormField(String fieldName, String fieldDisplayName, String fieldType,
- String validationType, boolean required, String defaultValue, String helpText,
- List predefinedValues, boolean visible, String dependsOn, Calendar rangeStartDate, Calendar rangeEndDate,
- String rangeStartDateSQL, String rangeEndDateSQL, String multiSelectListSize) {
- this(fieldName, fieldDisplayName, fieldType, validationType, required, defaultValue,
- helpText,visible, dependsOn, rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize);
- if (predefinedValues != null)
- setPredefinedListLookup(predefinedValues);
- } // FormField
-
- public FormField(String fieldName, String fieldDisplayName, String fieldType,
- String validationType, boolean required, String defaultValue, String helpText,
- String lookupSql, boolean visible, String dependsOn, Calendar rangeStartDate, Calendar rangeEndDate,
- String rangeStartDateSQL, String rangeEndDateSQL, String multiSelectListSize ) {
- this(fieldName, fieldDisplayName, fieldType, validationType, required, defaultValue,
- helpText,visible, dependsOn, rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize);
- if (defaultValue!=null && defaultValue.length()>10 && defaultValue.substring(0,10).trim().toLowerCase().startsWith("select")) {
- setFieldDefaultSQL(defaultValue);
- setDefaultValue("");
- }
- setLookupList(new IdNameSql(lookupSql,defaultValue));
- } // FormField
-
- public FormField(String fieldName, String fieldDisplayName, String fieldType,
- String validationType, boolean required, String defaultValue, String helpText,
- String dbTableName, String dbIdField, String dbNameField, String dbSortByField, boolean visible, String dependsOn, Calendar rangeStartDate, Calendar rangeEndDate,
- String rangeStartDateSQL, String rangeEndDateSQL, String multiSelectListSize) {
- this(fieldName, fieldDisplayName, fieldType, validationType, required, defaultValue,
- helpText,dbTableName,dbIdField,dbNameField,dbSortByField, dependsOn, rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize);
- setVisible(visible);
- }
-
- public FormField(String fieldName, String fieldDisplayName, String fieldType,
- String validationType, boolean required, String defaultValue, String helpText,
- String dbTableName, String dbIdField, String dbNameField, String dbSortByField, String dependsOn,
- Calendar rangeStartDate, Calendar rangeEndDate,
- String rangeStartDateSQL, String rangeEndDateSQL, String multiSelectListSize ) {
- this(fieldName, fieldDisplayName, fieldType, validationType, required, defaultValue,
- helpText,dependsOn, rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize);
- //if(dependsOn !=null){ this.dependsOn = dependsOn; }else { this.dependsOn = ""
- if (defaultValue!=null && defaultValue.length()>10 && defaultValue.substring(0,10).trim().toLowerCase().startsWith("select")) {
- setFieldDefaultSQL(defaultValue);
- setDefaultValue("");
- if(fieldType.equals(FFT_TEXT))
- setLookupList(new IdNameLookup(dbTableName, dbIdField, dbNameField, dbSortByField,defaultValue,true));
- else
- setLookupList(new IdNameLookup(dbTableName, dbIdField, dbNameField, dbSortByField,defaultValue,false));
- }
- else {
- if(fieldType.equals(FFT_TEXT))
- setLookupList(new IdNameLookup(dbTableName, dbIdField, dbNameField, dbSortByField, true));
- else
- setLookupList(new IdNameLookup(dbTableName, dbIdField, dbNameField, dbSortByField, false));
- }
-
- this.setRangeStartDate(rangeStartDate);
- this.setRangeEndDate(rangeEndDate);
- this.setRangeStartDateSQL(rangeStartDateSQL);
- this.setRangeEndDateSQL(rangeEndDateSQL);
-
- } // FormField
-
-
- private void setPredefinedListLookup(List predefinedValues) {
- IdNameList lookup = new IdNameList();
- for (Iterator iter = predefinedValues.iterator(); iter.hasNext();) {
- String value = (String) iter.next();
- lookup.addValue(value, value);
- } // for
- setHasPredefinedList(true);
- setLookupList(lookup);
- } // setPredefinedListLookup
-
- public String getFieldName() {
- return fieldName;
- }
-
- public String getFieldDisplayName() {
- return fieldDisplayName;
- }
-
- public String getFieldType() {
- return fieldType;
- }
-
- public String getValidationType() {
- return validationType;
- }
-
- public boolean isRequired() {
- return required;
- }
-
- public String getDefaultValue() {
- return defaultValue;
- }
-
- public String getHelpText() {
- return helpText;
- }
-
- public IdNameList getLookupList() {
- return lookupList;
- }
-
- public void setFieldName(String fieldName) {
- this.fieldName = fieldName;
- }
-
- public void setFieldDisplayName(String fieldDisplayName) {
- this.fieldDisplayName = fieldDisplayName;
- }
-
- public void setFieldType(String fieldType) {
- this.fieldType = fieldType;
- }
-
- public void setValidationType(String validationType) {
- this.validationType = nvl(validationType, VT_NONE);
- }
-
- public void setRequired(boolean required) {
- this.required = required;
- }
-
- public void setDefaultValue(String defaultValue) {
- this.defaultValue = defaultValue;
- }
-
- public void setHelpText(String helpText) {
- this.helpText = helpText;
- }
-
- public void setLookupList(IdNameList lookupList) {
- this.lookupList = lookupList;
- }
-
- public void setDefaultList(IdNameList lookupList) {
- this.lookupList = lookupList;
- }
-
- public String getBaseSQL() {
- return (lookupList == null) ? null : lookupList.getBaseSQL();
- } // getBaseSQL
-
- public String getBaseWholeSQL() {
- return (lookupList == null) ? null : lookupList.getBaseWholeSQL();
- } // getBaseWholeSQL
-
- public String getBaseWholeReadonlySQL() {
- return (lookupList == null) ? null : lookupList.getBaseWholeReadonlySQL();
- } // getBaseWholeReadonlySQL
-
- public String getBaseSQLForPDFExcel() {
- return (lookupList == null) ? null : lookupList.getBaseSQLForPDFExcel(getFieldType().equals(FFT_LIST_MULTI)||getFieldType().equals(FFT_CHECK_BOX)?true:false);
- } // getBaseSQLForPDFExcel
-
- public String getDisplayNameHtml() {
- if (nvl(helpText).length() > 0)
- return "<a title=\"" + helpText + "\">" + fieldDisplayName + "</a>";
- else
- return fieldDisplayName;
- } // getDisplayNameHtml
-
- /*public String getHtml() throws RaptorRuntimeException {
- return getHtml("" , null, null, false);
- } // getHtml*/
-
- public String getHtml(String fieldValue, HashMap formValues, ReportRuntime rr)throws RaptorRuntimeException {
- return getHtml(fieldValue,formValues, rr, false);
- }
-
- public String getHelpLink(String fieldName) {
- //return "<a href=\"#\" onclick=\"javascript:ShowContent('" + fieldName + "_div')\"><img src=\""+AppUtils.getBaseFolderURL()+"images/quickhelp_dk.gif\" width=\"12\" height=\"12\" alt=\"\" border=\"0\" class=\"qh-element\" /></a>";
- return ((getHelpText()!=null && getHelpText().length()>0)? "tooltipText=\""+ getHelpText()+"\">": ">");
- //return ((getHelpText()!=null && getHelpText().length()>0)? "<img src=\"static/fusion/raptor/images/quickhelp_lt.gif\" tooltipText=\""+ getHelpText() + "\"/>": "");
- }
-
-
- public String getCallableAfterChainingJavascript(String fieldName, ReportRuntime rr) {
- JavascriptItemType javascriptItemType = null;
- StringBuffer callJavascriptText = new StringBuffer("");
- if(rr.getJavascriptList()!=null) {
- for (Iterator iter = rr.getJavascriptList().getJavascriptItem().iterator(); iter.hasNext();) {
- javascriptItemType = (JavascriptItemType)iter.next();
- if(javascriptItemType.getFieldId().equals(fieldName)) {
- if(nvl(javascriptItemType.getCallText()).toLowerCase().startsWith("afterchaining"))
- callJavascriptText.append(" "+javascriptItemType.getCallText());
- }
- }
- }
- return callJavascriptText.toString()+" ";
- }
- public String getCallableJavascript(String fieldName, ReportRuntime rr) {
- JavascriptItemType javascriptItemType = null;
- StringBuffer callJavascriptText = new StringBuffer("");
- if(rr.getJavascriptList()!=null) {
- for (Iterator iter = rr.getJavascriptList().getJavascriptItem().iterator(); iter.hasNext();) {
- javascriptItemType = (JavascriptItemType)iter.next();
- if(javascriptItemType.getFieldId().equals(fieldName)) {
- if(!nvl(javascriptItemType.getCallText()).toLowerCase().startsWith("afterchaining"))
- callJavascriptText.append(" "+javascriptItemType.getCallText());
- }
- }
- }
- return callJavascriptText.toString()+" ";
- }
-
- public String getCallableOnChangeJavascript(String fieldName, ReportRuntime rr) {
- String callText = getCallableJavascript(fieldName, rr);
- if(callText != null && callText.trim().toLowerCase().indexOf("onchange")>=0) {
- Pattern re1 = Pattern.compile("\\=(.*?)\\)");
- Matcher matcher = re1.matcher(callText);
- while (matcher.find()) {
- callText = matcher.group();
- if(callText!=null && callText.startsWith("=\"")) {
- callText = callText.substring(2);
- } else if (callText!=null)
- callText = callText.substring(1);
- }
- callText = callText.replaceAll("this", "documentForm."+fieldName);
- } else callText = null;
- return callText;
- }
-
- public String getAjaxHtml(String fieldValue, HashMap formValues, ReportRuntime rr, boolean inSchedule) throws RaptorRuntimeException {
- fieldValue = nvl(fieldValue, defaultValue);
- String readOnly = "ff_readonly";
- try {
- if(fieldValue !=null && fieldValue.length() > 0)
- fieldValue = java.net.URLDecoder.decode(fieldValue, "UTF-8");
- } catch (UnsupportedEncodingException ex) {}
- catch (IllegalArgumentException ex1){}
- catch (Exception ex2){}
- if (fieldType.equals(FFT_COMBO_BOX)) {
- StringBuffer sb = new StringBuffer();
- //System.out.println("COMBO BOX " + fieldName);
- String oldSQL = "";
- if (!required)
- sb.append("obj.options[obj.options.length] = new Option('-->select value<--','');");
-
- IdNameList lookup = getLookupList();
- try {
- if(!hasPredefinedList) {
- //if(dependsOn != null && dependsOn != "") {
- //if(dependsOn != null && dependsOn != "" ) {
- IdNameSql lu = (IdNameSql) lookup;
- String SQL = "";
- SQL = lu.getSql();
- /*if(nvl(fieldValue,"").length()<=0)
- SQL = lu.getSql();
- else
- SQL = lu.getBaseSQLForPDFExcel(false);
- */
- //System.out.println("FORMFIELD 6666667 First" + ((IdNameSql)lookup).getSql());
- oldSQL = lu.getSql();
- //SQL = Utils.replaceInString(SQL, "[VALUE]", fieldValue);
- if(formValues != null) {
- Set set = formValues.entrySet();
- String value = "";
- for(Iterator iter = set.iterator(); iter.hasNext(); ) {
- Map.Entry entry = (Entry) iter.next();
- value = (String) entry.getValue();
- if(inSchedule) {
- try {
- value = java.net.URLDecoder.decode(Utils.oracleSafe(value), "UTF-8");
- } catch (UnsupportedEncodingException ex) {
-
- }
- }
- if (value!=null && (value.length() <=0 || value.equals("NULL"))) {
- value = "NULL";
- SQL = Utils.replaceInString(SQL, "'["+entry.getKey()+"]'", value);
- SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", value);
- } else {
- SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", value);
- }
- }
- lookup = new IdNameSql(-1,SQL,lu.getDefaultSQL());
- }
- //}
- lookupList = lookup;
-
- //}
- try {
- lookup.loadUserData(0, "", getDbInfo(), getUserId());
- } catch (Exception e ){ e.printStackTrace(); //throw new RaptorRuntimeException(e);
- }
- }
- lookup.trimToSize();
-
- String selectedValue = "";
- int count = 0;
- for (lookup.resetNext(); lookup.hasNext();) {
- IdNameValue value = lookup.getNext();
- if(value != null && value.getId() != null && value.getName() != null ) {
- /*if (count == 0 && required) {
- selectedValue = value.getId();
- count++;
- } else if (nvl(fieldValue).length()>0){
- if (fieldValue != null && fieldValue.equals(value.getId())){
- selectedValue = value.getId();
- }
- count++;
- } else {
- count++;
- } */
- if (count == 0) {
- if(required){
- selectedValue = value.getId();
- }
- count++;
- }
- sb.append("obj.options[obj.options.length] = new Option('" + Utils.singleQuoteEncode(value.getName())+"','"+Utils.singleQuoteEncode(value.getId())+"');");
- if ((fieldValue != null && fieldValue.equals(value.getId()))){
- sb.append("obj.options[obj.options.length-1].selected=true;");
- selectedValue = value.getId();
- }
- if(value.isReadOnly())
- sb.append("obj.disabled=true;");
- else
- sb.append("obj.disabled=false;");
-
- }
- } // for
- if (formValues.containsKey(fieldDisplayName)){
- formValues.remove(fieldDisplayName);
- }
- formValues.put(fieldDisplayName, selectedValue);
- } catch (Exception e) {
- //throw new RaptorRuntimeException(e);
- }
- if(!hasPredefinedList) {
- if(oldSQL != null && !oldSQL.equals("")) {
- ((IdNameSql)lookup).setSQL(oldSQL);
- }
- }
- //System.out.println("FORMFIELD 6666667 " + ((IdNameSql)lookup).getSql());
- if( isVisible())
- return sb.toString();
- else return "";
- } else if (fieldType.equals(FFT_LIST_MULTI)) {
- StringBuffer sb = new StringBuffer();
- String oldSQL = "";
-
- fieldValue = '|' + fieldValue + '|';
- IdNameList lookup = getLookupList();
- try {
- if(!hasPredefinedList) {
- //if(dependsOn != null && dependsOn != "") {
- //if(dependsOn != null && dependsOn != "" ) {
- IdNameSql lu = (IdNameSql) lookup;
- String SQL = "";
- SQL = lu.getSql();
- /*if(nvl(fieldValue,"").length()<=0)
- SQL = lu.getSql();
- else
- SQL = lu.getBaseSQLForPDFExcel(false);
- SQL = Utils.replaceInString(SQL, "[VALUE]", fieldValue);
- */
- oldSQL = lu.getSql();
- if(formValues != null) {
- Set set = formValues.entrySet();
- String value = "";
- for(Iterator iter = set.iterator(); iter.hasNext(); ) {
- Map.Entry entry = (Entry) iter.next();
- value = (String) entry.getValue();
- if(inSchedule) { //('1347')
- try {
- value = java.net.URLDecoder.decode(value, "UTF-8");
- } catch (UnsupportedEncodingException ex) {
-
- }
- }
- SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", value);
- }
- lookup = new IdNameSql(-1,SQL,lu.getDefaultSQL());
- }
- //}
- lookupList = lookup;
- //}
-
- lookup.loadUserData(0, "", getDbInfo(),getUserId());
- }
-
- for (lookup.resetNext(); lookup.hasNext();) {
- IdNameValue value = lookup.getNext();
- sb.append("obj.options[obj.options.length] = new Option('" + Utils.singleQuoteEncode(value.getName()) +"','"+Utils.singleQuoteEncode(value.getId())+"');");
- if (fieldValue.indexOf('|' + value.getId() + '|') >= 0)
- sb.append("obj.options[obj.options.length-1].selected=true;");
- if(value.isReadOnly())
- sb.append("obj.disabled=true;");
- else
- sb.append("obj.disabled=false;");
-
- } // for
-
- // lookup.clearData();
- } catch (Exception e) {
- //throw new RaptorRuntimeException(e);
- }
- if(!hasPredefinedList) {
- if(oldSQL != null && !oldSQL.equals("")) {
- ((IdNameSql)lookup).setSQL(oldSQL);
- }
- }
- if(isVisible())
- return sb.toString();
- else
- return "";
- } else if (fieldType.equals(FFT_TEXT_W_POPUP)) {
- //System.out.println("TEXT POPUP " + fieldName);
- String oldSQL = "";
- IdNameValue idNamevalue = null;
- String fieldDefValue="";
- String fieldDefDisplay="";
- try {
- IdNameList lookup = getLookupList();
- if(dependsOn != null && dependsOn != "" ) {
- IdNameSql lu = (IdNameSql) lookup;
- String SQL = getBaseWholeSQL();
- if(SQL.toLowerCase().indexOf(readOnly) != -1) {
- SQL = getBaseWholeReadonlySQL();
- }
- oldSQL = lu.getSql();
- if(formValues != null) {
- Set set = formValues.entrySet();
- String value = "";
- for(Iterator iter = set.iterator(); iter.hasNext(); ) {
- Map.Entry entry = (Entry) iter.next();
- value = (String) entry.getValue();
- if(inSchedule) {
- try {
- value = java.net.URLDecoder.decode(Utils.oracleSafe(value), "UTF-8");
- } catch (UnsupportedEncodingException ex) {
-
- }
- }
- SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", value);
-// if(SQL.indexOf("'"+"["+entry.getKey()+"]"+"'")!=-1) {
- if(SQL.indexOf("'"+"["+entry.getKey()+"]"+"'")!=-1 || SQL.indexOf("'"+"["+entry.getKey())!=-1 || SQL.indexOf(entry.getKey()+"]"+"'")!=-1
- || SQL.indexOf("'%"+"["+entry.getKey()+"]"+"%'")!=-1 || SQL.indexOf("'%"+"["+entry.getKey())!=-1 || SQL.indexOf(entry.getKey()+"]"+"%'")!=-1
- || SQL.indexOf("'_"+"["+entry.getKey()+"]"+"_'")!=-1 || SQL.indexOf("'_"+"["+entry.getKey())!=-1 || SQL.indexOf(entry.getKey()+"]"+"_'")!=-1
- || SQL.indexOf("'%_"+"["+entry.getKey()+"]"+"_%'")!=-1 || SQL.indexOf("'%_"+"["+entry.getKey())!=-1 || SQL.indexOf(entry.getKey()+"]"+"_%'")!=-1) {
-
- SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", nvl(
- value, "NULL"));
- } else {
- // Added to prevent SQL Injection
- if(SQL.indexOf("["+entry.getKey()+"]")!=-1) {
- try {
- double vD = Double.parseDouble(value);
- SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", nvl(
- value, "NULL"));
- } catch (NumberFormatException ex) {
- throw new UserDefinedException("Expected number, Given String for the form field \"" + "["+entry.getKey()+"]"+"\"");
- }
- }
- }
- }
- if(getFieldDefaultSQL()!=null && (fieldValue == null || fieldValue.trim().equalsIgnoreCase("null")|| fieldValue.trim().length()<=0))
- lookup = new IdNameSql(-1,SQL,lu.getDefaultSQL());
- else
- lookup = new IdNameSql(-1,SQL,null);
- }
- }
- //lookupList = lookup;
-
- if(getFieldDefaultSQL()!=null && (fieldValue == null || fieldValue.trim().equalsIgnoreCase("null")|| fieldValue.trim().length()<=0)) {
- lookup.loadUserData(0, "", getDbInfo(), getUserId());
- for (lookup.resetNext(); lookup.hasNext();) {
- idNamevalue = lookup.getNext();
- break;
-
- }
- fieldDefValue = nvl(idNamevalue.getId());
- fieldDefDisplay = nvl(idNamevalue.getName());
- } else {
- try {
- // -2 indicates to run the whole sql for matching value
- lookup.loadUserData(-2, "", getDbInfo(), getUserId());
- lookup.trimToSize();
- for (lookup.resetNext(); lookup.hasNext();) {
- IdNameValue value = lookup.getNext();
- if(value != null && value.getId() != null && value.getName() != null ) {
- fieldDefValue = nvl(value.getId());
- if (fieldValue != null && fieldValue.equals(value.getId())) {
- fieldDefDisplay = nvl(value.getName());
- break;
- }
- else {
- fieldDefValue = "";
- fieldDefDisplay = "";
- }
- }
- }
- if (fieldDefDisplay == null || fieldDefDisplay.length()<=0) {
- fieldDefDisplay = nvl(fieldDefValue);
- }
-
- if(oldSQL != null && !oldSQL.equals("")) {
- ((IdNameSql)lookup).setSQL(oldSQL);
- }
-
- } catch (Exception e) {
- //throw new RaptorRuntimeException(e);
- }
-
-
- //----- END ---//
-
-
- if(getFieldDefaultSQL()!=null && (fieldValue == null || fieldValue.trim().equalsIgnoreCase("null")|| fieldValue.length()<=0)) {
- fieldDefValue = nvl((idNamevalue!=null)?idNamevalue.getId():"");
- fieldDefDisplay = nvl((idNamevalue!=null)?idNamevalue.getName():"");
- } else {
- if(fieldValue == null || fieldValue.trim().equalsIgnoreCase("null")|| fieldValue.length()<=0) fieldValue="";
- fieldDefValue = nvl(fieldDefValue);
- fieldDefDisplay = nvl(fieldDefDisplay);
- }
-
- }
- }catch(Exception e) { //throw new RaptorRuntimeException(e);
- }
- if(isVisible()) {
- /* return "<input type=text class=\"text\" size=30 maxlength=50 id=\"" + fieldName +"\" name=\"" + fieldName + "\" value=\""
- + nvl(fieldDefValue) + "\">\n" + "<a href=\"javascript:showArgPopupNew('"
- + fieldName + "', 'document.formd." + fieldName
- + "')\"><img border=0 src=\"" + AppUtils.getImgFolderURL()
- + "shareicon.gif\" " + getHelpLink(fieldName);
- */
- return "obj.value=\""+Utils.singleQuoteEncode(nvl(fieldDefValue))+"\";";
-
- } else
- return "";
- } else if (fieldType.equals(FFT_HIDDEN) || fieldType.equals(FFT_TEXT) || fieldType.equals(FFT_TEXTAREA) ) {
- StringBuffer sb = new StringBuffer();
- String oldSQL = "";
- try {
- IdNameList lookup = getLookupList();
- //if(dependsOn != null && dependsOn != "") {
- //if(dependsOn != null && dependsOn != "" ) {
- IdNameSql lu = (IdNameSql) lookup;
- String SQL = lu.getSql();
- //System.out.println("SQL HIDDEN 1 " + SQL);
- oldSQL = lu.getSql();
- if(formValues != null) {
- Set set = formValues.entrySet();
- String value = "";
- for(Iterator iter = set.iterator(); iter.hasNext(); ) {
- Map.Entry entry = (Entry) iter.next();
- value = (String) entry.getValue();
- if(value == null || value.trim().length()<=0) {
- value = "NULL";
- }
- if(inSchedule) {
- try {
- value = java.net.URLDecoder.decode(value, "UTF-8");
- } catch (UnsupportedEncodingException ex) {
-
- }
- }
- //System.out.println("HIDDEN " + "["+entry.getKey()+"]" + "-" + value);
- SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", value);
- }
-
- lookup = new IdNameSql(-1,SQL,lu.getDefaultSQL());
- }
- //System.out.println("SQL HIDDEN 2 " + SQL);
- //}
- lookupList = lookup;
- //}
- if(nvl(fieldValue).length()>0 && (dependsOn == null || dependsOn.length()<=0)) {
- sb.append((fieldValue!=null)?"obj.value=\""+nvl(fieldValue)+"\";":"");
- } else if (lookup != null) {
- lookup.loadUserData(0, "", getDbInfo(), getUserId());
- int iCnt = 0;
- for (lookup.resetNext(); lookup.hasNext(); iCnt++) {
- IdNameValue value = lookup.getNext();
- //System.out.println("HIDDEN " + value.getId() + " " + value.getName());
- sb.append((value!=null)?"obj.value=\""+nvl(value.getId())+"\";":"");
- if(value.isReadOnly())
- sb.append("obj.disabled=true;");
- else
- sb.append("obj.disabled=false;");
- break;
- } // for
- if(lookup.size()<=0) {
- sb.append("obj.value=\"\"");
-
- }
- } else {
- sb.append((fieldValue!=null)?"obj.value=\""+Utils.singleQuoteEncode(nvl(fieldValue))+"\";":"");
- }
- if(oldSQL != null && !oldSQL.equals("")) {
- ((IdNameSql)lookup).setSQL(oldSQL);
- }
- // lookup.clearData();
- } catch (Exception e) {
- //throw new RaptorRuntimeException(e);
- }
- //if(isVisible())
- return sb.toString() ;
- } else if (fieldType.equals(FFT_LIST_BOX)) {
- StringBuffer sb = new StringBuffer();
- //System.out.println("COMBO BOX " + fieldName);
- String oldSQL = "";
- if (!required)
- sb.append("obj.options[obj.options.length] = new Option('-->select value<--','');");
-
- IdNameList lookup = getLookupList();
- try {
- if(!hasPredefinedList) {
- //if(dependsOn != null && dependsOn != "") {
- //if(dependsOn != null && dependsOn != "" ) {
- IdNameSql lu = (IdNameSql) lookup;
- String SQL = "";
- SQL = lu.getSql();
- /*if(nvl(fieldValue,"").length()<=0)
- SQL = lu.getSql();
- else
- SQL = lu.getBaseSQLForPDFExcel(false);
- */
- //System.out.println("FORMFIELD 6666667 First" + ((IdNameSql)lookup).getSql());
- oldSQL = lu.getSql();
- //SQL = Utils.replaceInString(SQL, "[VALUE]", fieldValue);
- if(formValues != null) {
- Set set = formValues.entrySet();
- String value = "";
- for(Iterator iter = set.iterator(); iter.hasNext(); ) {
- Map.Entry entry = (Entry) iter.next();
- value = (String) entry.getValue();
- if(inSchedule) {
- try {
- value = java.net.URLDecoder.decode(Utils.oracleSafe(value), "UTF-8");
- } catch (UnsupportedEncodingException ex) {
-
- }
- }
- if (value!=null && (value.length() <=0 || value.equals("NULL"))) {
- value = "NULL";
- SQL = Utils.replaceInString(SQL, "'["+entry.getKey()+"]'", value);
- SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", value);
- } else {
- SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", value);
- }
- }
- lookup = new IdNameSql(-1,SQL,lu.getDefaultSQL());
- }
- //}
- lookupList = lookup;
-
- //}
- try {
- lookup.loadUserData(0, "", getDbInfo(), getUserId());
- } catch (Exception e ){ e.printStackTrace(); //throw new RaptorRuntimeException(e);
- }
- }
- lookup.trimToSize();
-
- String selectedValue = "";
- int count = 0;
- for (lookup.resetNext(); lookup.hasNext();) {
- IdNameValue value = lookup.getNext();
- if(value != null && value.getId() != null && value.getName() != null ) {
- /*if (count == 0 && required) {
- selectedValue = value.getId();
- count++;
- } else if (nvl(fieldValue).length()>0){
- if (fieldValue != null && fieldValue.equals(value.getId())){
- selectedValue = value.getId();
- }
- count++;
- } else {
- count++;
- } */
- if (count == 0) {
- if(required){
- selectedValue = value.getId();
- }
- count++;
- }
- sb.append("obj.options[obj.options.length] = new Option('" + Utils.singleQuoteEncode(value.getName())+"','"+Utils.singleQuoteEncode(value.getId())+"');");
- if ((fieldValue != null && fieldValue.equals(value.getId()))){
- sb.append("obj.options[obj.options.length-1].selected=true;");
- selectedValue = value.getId();
- }
- if(value.isReadOnly())
- sb.append("obj.disabled=true;");
- else
- sb.append("obj.disabled=false;");
-
- }
- } // for
- if (formValues.containsKey(fieldDisplayName)){
- formValues.remove(fieldDisplayName);
- }
- formValues.put(fieldDisplayName, selectedValue);
- } catch (Exception e) {
- //throw new RaptorRuntimeException(e);
- }
- if(!hasPredefinedList) {
- if(oldSQL != null && !oldSQL.equals("")) {
- ((IdNameSql)lookup).setSQL(oldSQL);
- }
- }
- //System.out.println("FORMFIELD 6666667 " + ((IdNameSql)lookup).getSql());
- if( isVisible())
- return sb.toString();
- else return "";
- }
-
- return "";
- }
-
- public String getHtml(String fieldValue, HashMap formValues, ReportRuntime rr, boolean inSchedule) throws RaptorRuntimeException {
- fieldValue = nvl(fieldValue, defaultValue);
- int MILLIS_IN_DAY = 1000 * 60 * 60 * 24;
- String readOnlyInSql = "ff_readonly";
- boolean readOnly = false;
- try {
- if(fieldValue !=null && fieldValue.length() > 0)
- fieldValue = java.net.URLDecoder.decode(fieldValue, "UTF-8");
- } catch (UnsupportedEncodingException ex) {}
- catch (IllegalArgumentException ex1){}
- catch (Exception ex2){}
- //System.out.println(fieldName + " " + fieldType + " " + fieldValue);
- if (fieldType.equals(FFT_TEXT_W_POPUP)) {
- //System.out.println("TEXT POPUP " + fieldName);
- String oldSQL = "";
- IdNameValue idNamevalue = null;
- String fieldDefValue="";
- String fieldDefDisplay="";
- IdNameList lookup = null;
- try {
- lookup = getLookupList();
- if(!hasPredefinedList) {
- if(dependsOn != null && dependsOn != "" ) {
- IdNameSql lu = (IdNameSql) lookup;
- String SQL = getBaseWholeSQL();
- if(SQL.toLowerCase().indexOf(readOnlyInSql) != -1) {
- SQL = getBaseWholeReadonlySQL();
- }
- oldSQL = lu.getSql();
- if(formValues != null) {
- Set set = formValues.entrySet();
- String value = "";
- for(Iterator iter = set.iterator(); iter.hasNext(); ) {
- Map.Entry entry = (Entry) iter.next();
- value = (String) entry.getValue();
- SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", value);
-// if(SQL.indexOf("'"+"["+entry.getKey()+"]"+"'")!=-1) {
- if(SQL.indexOf("'"+"["+entry.getKey()+"]"+"'")!=-1 || SQL.indexOf("'"+"["+entry.getKey())!=-1 || SQL.indexOf(entry.getKey()+"]"+"'")!=-1
- || SQL.indexOf("'%"+"["+entry.getKey()+"]"+"%'")!=-1 || SQL.indexOf("'%"+"["+entry.getKey())!=-1 || SQL.indexOf(entry.getKey()+"]"+"%'")!=-1
- || SQL.indexOf("'_"+"["+entry.getKey()+"]"+"_'")!=-1 || SQL.indexOf("'_"+"["+entry.getKey())!=-1 || SQL.indexOf(entry.getKey()+"]"+"_'")!=-1
- || SQL.indexOf("'%_"+"["+entry.getKey()+"]"+"_%'")!=-1 || SQL.indexOf("'%_"+"["+entry.getKey())!=-1 || SQL.indexOf(entry.getKey()+"]"+"_%'")!=-1) {
-
- SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", nvl(
- value, "NULL"));
- } else {
- // Added to prevent SQL Injection
- if(SQL.indexOf("["+entry.getKey()+"]")!=-1) {
- try {
- double vD = Double.parseDouble(value);
- SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", nvl(
- value, "NULL"));
- } catch (NumberFormatException ex) {
- throw new UserDefinedException("Expected number, Given String for the form field \"" + "["+entry.getKey()+"]"+"\"");
- }
- }
- }
- }
- if(getFieldDefaultSQL()!=null && (fieldValue == null || fieldValue.trim().equalsIgnoreCase("null")|| fieldValue.trim().length()<=0))
- lookup = new IdNameSql(-1,SQL,lu.getDefaultSQL());
- else
- lookup = new IdNameSql(-1,SQL,null);
- }
- }
- //lookupList = lookup;
-
- if(getFieldDefaultSQL()!=null && (fieldValue == null || fieldValue.trim().equalsIgnoreCase("null")|| fieldValue.trim().length()<=0)) {
- lookup.loadUserData(0, "", getDbInfo(), getUserId());
- for (lookup.resetNext(); lookup.hasNext();) {
- idNamevalue = lookup.getNext();
- break;
-
- }
- fieldDefValue = nvl(idNamevalue.getId());
- fieldDefDisplay = nvl(idNamevalue.getName());
- } else {
- try {
- // -2 indicates to run the whole sql for matching value
- lookup.loadUserData(-2, "", getDbInfo(), getUserId());
- } catch (Exception e) {
- //throw new RaptorRuntimeException(e);
- }
-
- lookup.trimToSize();
- for (lookup.resetNext(); lookup.hasNext();) {
- IdNameValue value = lookup.getNext();
- if(value != null && value.getId() != null && value.getName() != null ) {
- fieldDefValue = nvl(value.getId());
- if (fieldValue != null && fieldValue.equals(value.getId())) {
- fieldDefDisplay = nvl(value.getName());
- break;
- }
- else {
- fieldDefValue = "";
- fieldDefDisplay = "";
- }
- }
- }
- if (fieldDefDisplay == null || fieldDefDisplay.length()<=0) {
- fieldDefDisplay = nvl(fieldDefValue);
- }
-
-
-
- //----- END ---//
-
-
- if(getFieldDefaultSQL()!=null && (fieldValue == null || fieldValue.trim().equalsIgnoreCase("null")|| fieldValue.length()<=0)) {
- fieldDefValue = nvl((idNamevalue!=null)?idNamevalue.getId():"");
- fieldDefDisplay = nvl((idNamevalue!=null)?idNamevalue.getName():"");
- } else {
- if(fieldValue == null || fieldValue.trim().equalsIgnoreCase("null")|| fieldValue.length()<=0) fieldValue="";
- fieldDefValue = nvl(fieldDefValue);
- fieldDefDisplay = nvl(fieldDefDisplay);
- }
-
- }
- } else {
- lookup.trimToSize();
- for (lookup.resetNext(); lookup.hasNext();) {
- IdNameValue value = lookup.getNext();
- if(value != null && value.getId() != null && value.getName() != null ) {
- fieldDefValue = nvl(value.getId());
- if (fieldValue != null && fieldValue.equals(value.getId())) {
- fieldDefDisplay = nvl(value.getName());
- break;
- }
- else {
- fieldDefValue = "";
- fieldDefDisplay = "";
- }
- }
- }
- if (fieldDefDisplay == null || fieldDefDisplay.length()<=0) {
- fieldDefDisplay = nvl(fieldDefValue);
- }
- }
- }catch(Exception e) { //throw new RaptorRuntimeException(e);
- }
-
- if(!hasPredefinedList) {
- if(oldSQL != null && !oldSQL.equals("")) {
- ((IdNameSql)lookup).setSQL(oldSQL);
- }
- }
-
- if(isVisible()) {
- /* return "<input type=text class=\"text\" size=30 maxlength=50 id=\"" + fieldName +"\" name=\"" + fieldName + "\" value=\""
- + nvl(fieldDefValue) + "\">\n" + "<a href=\"javascript:showArgPopupNew('"
- + fieldName + "', 'document.formd." + fieldName
- + "')\"><img border=0 src=\"" + AppUtils.getImgFolderURL()
- + "shareicon.gif\" " + getHelpLink(fieldName);
- */
- String progress = "<div id=\""+fieldName+"_content\" style=\"display:none;width:100%;height:100%;align:center;\"> <img src=\""+AppUtils.getImgFolderURL()+"progress.gif\" border=\"0\" alt=\"Loading, please wait...\" /></div> ";
-
- return progress+"<input type=\"text\" class=\"text\" name=\""+getFieldName()+"_display\" readonly=true value=\""+ fieldDefDisplay +"\""+ getCallableJavascript(getFieldName(), rr) + getHelpLink(fieldName) + " \n "
- +"<input type=\"hidden\" name=\""+getFieldName()+"\" value=\""+nvl(fieldDefValue)+"\"/> \n &nbsp;\n"
- + "<a href=\"javascript:showArgPopupNew('"
- + fieldName + "', 'document.formd." + fieldName
- + "')\"><img border=0 src=\"" + AppUtils.getImgFolderURL()
- + "shareicon.gif\" " + getHelpLink(fieldName);
-
- } else
- return "";
- } else if (fieldType.equals(FFT_TEXT)) {
- IdNameValue value = null;
- String strValue = "";
- boolean avail_ReadOnly = false;
- try {
- IdNameList lookup = getLookupList();
- IdNameSql lu = null;
- String valueSQL = "";
- String oldSQL = "";
- if(lookup instanceof IdNameSql) {
- lu = (IdNameSql) lookup;
- if(lu.getSql().length() > 0) {
- valueSQL = lu.getSql();
- avail_ReadOnly = (valueSQL.toLowerCase().indexOf(readOnlyInSql)!=-1);
- //System.out.println("OLD SQL TEXT" + valueSQL);
- //oldSQL = lu.getSql();
- if(formValues != null) {
- Set set = formValues.entrySet();
- String value1 = "";
- for(Iterator iter = set.iterator(); iter.hasNext(); ) {
- Map.Entry entry = (Entry) iter.next();
- value1 = (String) entry.getValue();
- if (value1.length() <=0) {
- value1 = "NULL";
- valueSQL = Utils.replaceInString(valueSQL, "'["+entry.getKey()+"]'", value1);
- valueSQL = Utils.replaceInString(valueSQL, "["+entry.getKey()+"]", value1);
- } else {
- valueSQL = Utils.replaceInString(valueSQL, "["+entry.getKey()+"]", value1);
- }
- }
- // should be value one.
- //lookup = new IdNameSql(-1,valueSQL,lu.getDefaultSQL());
- }
- }
- //lookupList = lookup;
- //System.out.println("8888888 88 " + valueSQL);
- }
- if(valueSQL!=null && valueSQL.length()>0) {
- DataSet ds = ConnectionUtils.getDataSet(valueSQL.toString(), dbInfo);
- strValue = ds.getString(0,1);
- if(avail_ReadOnly) readOnly = ds.getString(0, 2).toUpperCase().startsWith("Y")||ds.getString(0, 2).toUpperCase().startsWith("T");;
- }
- }catch(Exception e) { //throw new RaptorRuntimeException(e);
- }
- String returnString = "";
- String timestamp ="", timestamphr = "", timestampmin = "", timestampsec = "";
-
- returnString = "<input type=text class=\"text\" size="+(validationType.equals(VT_DATE)?"10":"30") +" maxlength=50 id=\"" + fieldName +"\" name=\""
- + fieldName + "\" id='"+ fieldName + "' "
- + (((validationType.equals(VT_DATE)||validationType.equals(VT_TIMESTAMP_HR) ||validationType.equals(VT_TIMESTAMP_MIN) ||validationType.equals(VT_TIMESTAMP_SEC))&& !inSchedule) ? "" : "")
- + getCallableJavascript(getFieldName(), rr) + " " + (readOnly?" readonly ":" ") + " value=\"";
-
-
- /*if(getFieldDefaultSQL()!=null)
- returnString += nvl(value.getId());
- else
- returnString += fieldValue;
- */
- if(fieldValue!=null && fieldValue.length()>0 && (!(fieldValue.toUpperCase().indexOf("SELECT ")!= -1 && fieldValue.toUpperCase().indexOf("FROM")!= -1)) ) {
- if(validationType.startsWith("TIMESTAMP")) {
- returnString += nvl((fieldValue!=null)?fieldValue.split(" ")[0]:"");
- if(fieldValue!=null && fieldValue.length()>0) {
- timestamp = (fieldValue.split(" ").length > 1)?fieldValue.split(" ")[1]:"";
- String timestampArr[] = timestamp.split(":");
- if((timestampArr.length == 1) || (timestampArr.length == 2) || (timestampArr.length == 3))
- timestamphr = timestampArr[0];
- if((timestampArr.length == 2) || (timestampArr.length == 3))
- timestampmin = timestampArr[1];
- if(timestampArr.length == 3)
- timestampsec = timestampArr[2];
- }
-
- } else returnString += fieldValue;
-
- } else if(getFieldDefaultSQL()!=null) {
-
- if(validationType.startsWith("TIMESTAMP")) {
- returnString += nvl((strValue.length()>0)?strValue.split(" ")[0]:"");
- if(strValue.length()>0) {
- timestamp = (strValue.split(" ").length > 1)?strValue.split(" ")[1]:"";
- String timestampArr[] = timestamp.split(":");
- if((timestampArr.length == 1) || (timestampArr.length == 2) || (timestampArr.length == 3))
- timestamphr = timestampArr[0];
- if((timestampArr.length == 2) || (timestampArr.length == 3))
- timestampmin = timestampArr[1];
- if(timestampArr.length == 3)
- timestampsec = timestampArr[2];
- }
-
- } else if (nvl(strValue).length()>0) {
- returnString += strValue;
- } else
- returnString += nvl((value!=null)?value.getId():"");
- } else if (nvl(strValue).length()>0) {
- returnString += strValue;
- } else
- returnString += nvl((value!=null)?value.getId():"");
-
-
- /*returnString += "\">"
- + (validationType.equals(VT_DATE) ? "\n\t\t\t<a href=\"#\" onClick=\"window.dateField=document."
- + HTML_FORM
- + "."
- + fieldName
- + ";calendar=window.open('"
- + AppUtils.getRaptorActionURL()
- + "popup.calendar','cal','WIDTH=200,HEIGHT=250');return false;\">"
- + "\n\t\t\t\t<img src=\""
- + AppUtils.getImgFolderURL()
- + "calender_icon.gif\" align=absmiddle border=0 width=20 height=20></a>"
- : ""); */
-
- SimpleDateFormat dtf = new SimpleDateFormat("MM/dd/yyyy");
- String stRangeText = this.getRangeStartDate() == null ? null : dtf.format(this.getRangeStartDate().getTime());
- String endRangeText = this.getRangeEndDate() == null ? null : dtf.format(this.getRangeEndDate().getTime());
- /////////////////////////
-
- //get the date sqls
-
- //System.out.println("////////////start range date before Start" + this.getRangeStartDateSQL());
-
- if (this.getRangeStartDateSQL() != null && this.getRangeStartDateSQL().trim().toLowerCase().startsWith("select")){
- //System.out.println("////////////start range date Starting");
- String SQL = this.getRangeStartDateSQL();
- if(formValues != null) {
- Set set = formValues.entrySet();
- String v = "";
- for(Iterator iter = set.iterator(); iter.hasNext(); ) {
- Map.Entry entry = (Entry) iter.next();
- v = (String) entry.getValue();
- //System.out.println("///////// key is " + entry.getKey() + " = " + v);
- SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", v);
- }
-
- }
- //System.out.println("////////////start range date sql created" + SQL);
- try{
- DataSet ds = ConnectionUtils.getDataSet(SQL.toString(), dbInfo);
- //System.out.println("////////////start range date is : " + ds.get(0));
- dtf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- Calendar tStart = Calendar.getInstance();
- tStart.setTime(dtf.parse(ds.getString(0,0)));
- dtf = new SimpleDateFormat("MM/dd/yyyy");
- stRangeText = dtf.format(tStart.getTime().getTime()-MILLIS_IN_DAY);
-
- }catch(Exception e){
- System.out.println("Exception////////// : start range date is : " + e);
- }
- }
-
- if (this.getRangeEndDateSQL() != null && this.getRangeEndDateSQL().trim().toLowerCase().startsWith("select")){
- //System.out.println("////////////end range date Starting");
- String SQL = this.getRangeEndDateSQL();
- if(formValues != null) {
- Set set = formValues.entrySet();
- String v = "";
- for(Iterator iter = set.iterator(); iter.hasNext(); ) {
- Map.Entry entry = (Entry) iter.next();
- v = (String) entry.getValue();
- SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", v);
- }
-
- }
- try{
- DataSet ds = ConnectionUtils.getDataSet(SQL.toString(), dbInfo);
- //System.out.println("////////////end range date is : " + ds.get(0));
- dtf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- Calendar tStart = Calendar.getInstance();
- tStart.setTime(dtf.parse(ds.getString(0,0)));
- dtf = new SimpleDateFormat("MM/dd/yyyy");
- //endRangeText = dtf.format(tStart.getTime());
- endRangeText = dtf.format(tStart.getTime().getTime()+MILLIS_IN_DAY);
- }catch(Exception e){
- System.out.println("Exception////////// : end range date is : " + e);
- }
- }
-
-
- //////////////////////
- String calendarOnClickMethodCall = "";
- String timeStampStr = "";
- if (stRangeText == null || endRangeText == null)
- calendarOnClickMethodCall = "'oCalendar.select(document." + HTML_FORM + "." + fieldName + ", event,\""+ Globals.getCalendarOutputDateFormat() +"\"); return false;'";
- else
- calendarOnClickMethodCall = "'oCalendar=new CalendarPopup(\"calendarDiv\", \"calendarFrame\");oCalendar.setCssPrefix(\"raptor\");oCalendar.addDisabledDates(null, \"" + stRangeText + "\"); oCalendar.addDisabledDates(\"" + endRangeText + "\", null); oCalendar.select(document." + HTML_FORM + "." + fieldName + ", event,\""+ Globals.getCalendarOutputDateFormat() +"\"); return false;'";
- returnString += "\" " + getHelpLink(fieldName)
- + (validationType.equals(VT_DATE) || validationType.equals(VT_TIMESTAMP_HR) || validationType.equals(VT_TIMESTAMP_MIN) || validationType.equals(VT_TIMESTAMP_SEC)
- ? "\n\t\t\t<img src='" + AppUtils.getImgFolderURL()+ "calender_icon.gif' align=absmiddle border=0 width='20' height='20' onClick=" + calendarOnClickMethodCall + " style='cursor:hand'>"
- : "");
- if(validationType.equals(VT_TIMESTAMP_HR) || validationType.equals(VT_TIMESTAMP_MIN) || validationType.equals(VT_TIMESTAMP_SEC) ) {
- //Add Hours/Minutes and Seconds.
- timeStampStr = " <font class=rtabletext>Hour&nbsp;</font><select id = \""+ fieldName+ "_Hr\" name=\""+ fieldName+ "_Hr\" "+ (readOnly?"disabled":"")+" >";
- int hour = 0;
- int t_hr = 0;
- try {
- hour = Integer.parseInt(nvl(rr.getParamValue(fieldName+"_Hr"),"0"));
- if(hour == 0) {
- if(inSchedule) hour = Integer.parseInt(nvl(((String)formValues.get(fieldName+"_Hr")),"0"));
- }
-// System.out.println("Hour =" + hour);
- } catch (NumberFormatException ex) { hour = 0; }
- try {
- t_hr = Integer.parseInt(timestamphr);
-// System.out.println("THR =" + t_hr);
- } catch (NumberFormatException ex) { t_hr = 0;}
-
- if(hour <= 0) hour = t_hr;
- // System.out.println("Form Values 887 " + formValues);
- /*if (formValues.containsKey(fieldDisplayName+"_Hr")){
- formValues.remove(fieldDisplayName+"_Hr");
- formValues.put(fieldDisplayName+"_Hr", hour);
- } else
- formValues.put(fieldDisplayName+"_Hr", hour);
- System.out.println("Form Values 887 " + formValues);
- */
-
- //int t_min = Integer.parseInt(timestampmin);
- //int t_sec = Integer.parseInt(timestampsec);
- for (int i = 0; i < 24; i++) {
- if(i==0) timeStampStr += "<option value=\"" + i + "\""+ ((hour==i)?" selected":"") +">00</option>";
- else if(i<10) timeStampStr += "<option value=\"" + i + "\""+ ((hour==i)?" selected":"") +">" + "0"+i + "</option>";
- else timeStampStr += "<option value=\"" + i + "\""+ ((hour==i)?" selected":"") +">" + i + "</option>";
-
- }
- timeStampStr += "</select>";
- }
- //Minutes
- if( validationType.equals(VT_TIMESTAMP_MIN) || validationType.equals(VT_TIMESTAMP_SEC) ) {
- int minutes = 0;
- int t_min = 0;
- try {
- minutes = Integer.parseInt(nvl(rr.getParamValue(fieldName+"_Min"),"0"));
- if(minutes == 0) {
- if(inSchedule) minutes = Integer.parseInt(nvl(((String)formValues.get(fieldName+"_Min")),"0"));
- }
- } catch (NumberFormatException ex) {minutes = 0;}
- try {
- t_min = Integer.parseInt(timestampmin);
- } catch (NumberFormatException ex) { t_min = 0;}
-
- if(minutes <= 0) minutes = t_min;
- /*if (formValues.containsKey(fieldDisplayName+"_Min")){
- formValues.remove(fieldDisplayName+"_Min");
- formValues.put(fieldDisplayName+"_Min", minutes);
- } else
- formValues.put(fieldDisplayName+"_Min", minutes);
- */
- timeStampStr += " <font class=rtabletext>Min&nbsp;</font><select id = \""+ fieldName+ "_Min\" name=\""+ fieldName+ "_Min\" "+ (readOnly?"disabled":"")+" >";
- for (int i = 0; i < 60; i++) {
- if(i==0) timeStampStr += "<option value=\"" + i + "\""+ ((minutes==i)?" selected":"") +">00</option>";
- else if(i<10) timeStampStr += "<option value=\"" + i + "\""+ ((minutes==i)?" selected":"") +">" + "0"+i + "</option>";
- else timeStampStr += "<option value=\"" + i + "\""+ ((minutes==i)?" selected":"") +">" + i + "</option>";
- }
- timeStampStr += "</select>";
- }
- //Seconds
- if( validationType.equals(VT_TIMESTAMP_SEC) ) {
- int seconds = 0;
- int t_sec = 0;
- try {
- seconds = Integer.parseInt(nvl(rr.getParamValue(fieldName+"_Sec"),"0"));
- if(seconds == 0) {
- if(inSchedule) seconds = Integer.parseInt(nvl(((String)formValues.get(fieldName+"_Sec")),"0"));
- }
- } catch (NumberFormatException ex) {seconds = 0;}
- try {
- t_sec = Integer.parseInt(timestampsec);
- } catch (NumberFormatException ex) { t_sec = 0;}
-
- if(seconds <= 0) seconds = t_sec;
- /*if (formValues.containsKey(fieldDisplayName+"_Sec")){
- formValues.remove(fieldDisplayName+"_Sec");
- formValues.put(fieldDisplayName+"_Sec", seconds);
- } else
- formValues.put(fieldDisplayName+"_Sec", seconds);
- */
- timeStampStr += " <font class=rtabletext>Sec&nbsp;</font><select id = \""+ fieldName+ "_Sec\" name=\""+ fieldName+ "_Sec\" "+ (readOnly?"disabled":"")+" >";
- for (int i = 0; i < 60; i++) {
- if(i==0) timeStampStr += "<option value=\"" + i + "\""+ ((seconds==i)?" selected":"") +">00</option>";
- else if(i<10) timeStampStr += "<option value=\"" + i + "\""+ ((seconds==i)?" selected":"") +">" + "0"+i + "</option>";
- else timeStampStr += "<option value=\"" + i + "\""+ ((seconds==i)?" selected":"") +">" + i + "</option>";
- }
- timeStampStr += "</select>";
- }
-
- returnString += timeStampStr;
- String checkboxStr = "";
- if(inSchedule && (validationType.equals(VT_DATE) || validationType.equals(VT_TIMESTAMP_HR) || validationType.equals(VT_TIMESTAMP_MIN) || validationType.equals(VT_TIMESTAMP_SEC)) ) {
- if(!Globals.isScheduleDateParamAutoIncr()) {
- checkboxStr = /*checkboxStr +" "+ */ "<input type=\"checkbox\" name=\""+getFieldName()+"_auto\" value=\"_auto\" checked/>";
- } else {
- checkboxStr = /*checkboxStr +" "+ */"<input type=\"hidden\" name=\""+getFieldName()+"_auto\" value=\"_auto\"/>";
- }
- /*if(validationType.equals(VT_TIMESTAMP_HR) || validationType.equals(VT_TIMESTAMP_MIN) || validationType.equals(VT_TIMESTAMP_SEC)) {
- checkboxStr = checkboxStr +" "+ "<input type=\"hidden\" name=\""+getFieldName()+"_Hr_auto\" value=\"_auto\"/>";
- }
- if(validationType.equals(VT_TIMESTAMP_MIN) || validationType.equals(VT_TIMESTAMP_SEC)) {
- checkboxStr = checkboxStr +" "+ "<input type=\"hidden\" name=\""+getFieldName()+"_Min_auto\" value=\"_auto\"/>";
- }
- if(validationType.equals(VT_TIMESTAMP_SEC)) {
- checkboxStr = checkboxStr +" "+ "<input type=\"hidden\" name=\""+getFieldName()+"_Sec_auto\" value=\"_auto\"/>";
- }*/
- }
- if(isVisible())
- return returnString+checkboxStr;
- else return "";
- } else if (fieldType.equals(FFT_TEXTAREA)) {
-
- if(nvl(fieldValue).length()>0) {
- fieldValue = Pattern.compile("(^[\r\n])|\\([\\']", Pattern.DOTALL).matcher(fieldValue).replaceAll("");
- fieldValue = Pattern.compile("[\\']\\)", Pattern.DOTALL).matcher(fieldValue).replaceAll("");
- fieldValue = fieldValue.replaceAll("','",","); // changed from "|"
- fieldValue = fieldValue.replaceAll("' , '","\r\n");
- }
-
- if(isVisible())
- return "<textarea rows=4 cols=30 id=\"" + fieldName +"\" name=\"" + fieldName + "\""+ getCallableJavascript(getFieldName(), rr) + getHelpLink(fieldName) + nvl(fieldValue)
- + "</textarea>";
- else
- return "";
- } else if (fieldType.equals(FFT_COMBO_BOX)) {
- StringBuffer sb = new StringBuffer();
- //System.out.println("COMBO BOX " + fieldName);
- String oldSQL = "";
-
- IdNameList lookup = getLookupList();
- try {
- if(!hasPredefinedList) {
- //if(dependsOn != null && dependsOn != "") {
- //if(dependsOn != null && dependsOn != "" ) {
- IdNameSql lu = (IdNameSql) lookup;
- String SQL = lu.getSql();
- //System.out.println("FORMFIELD 6666667 First" + ((IdNameSql)lookup).getSql());
- oldSQL = lu.getSql();
- if(formValues != null) {
- Set set = formValues.entrySet();
- String value = "";
- for(Iterator iter = set.iterator(); iter.hasNext(); ) {
- Map.Entry entry = (Entry) iter.next();
- value = (String) entry.getValue();
- if (value!=null && (value.length() <=0 || value.equals("NULL"))) {
- value = "NULL";
- SQL = Utils.replaceInString(SQL, "'["+entry.getKey()+"]'", value);
- SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", value);
- } else {
- SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", value);
- }
- }
- lookup = new IdNameSql(-1,SQL,lu.getDefaultSQL());
- }
- //}
- lookupList = lookup;
-
-
- //}
- try {
- lookup.loadUserData(0, "", getDbInfo(), getUserId());
- } catch (Exception e ){ e.printStackTrace(); //throw new RaptorRuntimeException(e);
- }
- }
- lookup.trimToSize();
-
- for (lookup.resetNext(); lookup.hasNext();) {
- IdNameValue value = lookup.getNext();
- readOnly = value.isReadOnly();
- break;
- }
-
- String selectedValue = "";
- int count = 0;
- sb.append("<div id=\""+fieldName+"_content\" style=\"display:none;width:100%;height:100%;align:center;\"> <img src=\""+AppUtils.getImgFolderURL()+"progress.gif\" border=\"0\" alt=\"Loading, please wait...\" /></div>");
- sb.append("<select id=\"" + fieldName +"\" name=\"");
- sb.append(fieldName);
- sb.append("\" "+ (readOnly?"disabled":"")+" size=1 " + getCallableJavascript(getFieldName(), rr) + getHelpLink(fieldName));
- if (!required)
- sb.append("<option value=\"\">-->select value<--");
-
- for (lookup.resetNext(); lookup.hasNext();) {
- IdNameValue value = lookup.getNext();
- if(value != null && value.getId() != null && value.getName() != null ) {
- /*if (count == 0 && required) {
- selectedValue = value.getId();
- count++;
- } else if (nvl(fieldValue).length()>0){
- if (fieldValue != null && fieldValue.equals(value.getId())){
- selectedValue = value.getId();
- }
- count++;
- } else {
- count++;
- } */
- if (count == 0) {
- if(required){
- selectedValue = value.getId();
- }
- count++;
- }
- sb.append("<option value=\"");
- sb.append(value.getId());
-
- if (nvl(fieldValue).length()>0) {
- if (fieldValue.equals(value.getId())) { // || (value.isDefaultValue()))
- sb.append("\" selected>");
- selectedValue = value.getId();
- }
- else
- sb.append("\">");
- } else {
- if(value!=null && value.isDefaultValue()) {
- sb.append("\" selected>");
- selectedValue = value.getId();
- } else {
- sb.append("\">");
- }
- }
-
- sb.append(value.getName());
- sb.append("</option>\n");
- }
- } // for
- if (formValues.containsKey(fieldDisplayName)){
- formValues.remove(fieldDisplayName);
- }
- formValues.put(fieldDisplayName, selectedValue);
- } catch (Exception e) {
- //throw new RaptorRuntimeException(e);
- }
- if(!hasPredefinedList) {
- if(oldSQL != null && !oldSQL.equals("")) {
- ((IdNameSql)lookup).setSQL(oldSQL);
- }
- }
- //System.out.println("FORMFIELD 6666667 " + ((IdNameSql)lookup).getSql());
- if(sb.length()<=0) {
- sb.append("<div id=\""+fieldName+"_content\" style=\"display:none;width:100%;height:100%;align:center;\"> <img src=\""+AppUtils.getImgFolderURL()+"progress.gif\" border=\"0\" alt=\"Loading, please wait...\" /></div>");
- sb.append("<select id=\"" + fieldName +"\" name=\"");
- sb.append(fieldName);
- sb.append("\" "+ (readOnly?"disabled":"")+" size=1 " + getCallableJavascript(getFieldName(), rr) + getHelpLink(fieldName));
- }
-
- sb.append("</select>");
- if( isVisible())
- return sb.toString();
- else return "";
- } else if (fieldType.equals(FFT_LIST_BOX)) {
- StringBuffer sb = new StringBuffer();
- String oldSQL = "";
- IdNameList lookup = null;
-
- lookup = getLookupList();
- String selectedValue = "";
- try {
- if(!hasPredefinedList) {
- //if(dependsOn != null && dependsOn != "") {
- //if(dependsOn != null && dependsOn != "" ) {
- IdNameSql lu = (IdNameSql) lookup;
- String SQL = lu.getSql();
- oldSQL = lu.getSql();
- if(formValues != null) {
- Set set = formValues.entrySet();
- String value = "";
- for(Iterator iter = set.iterator(); iter.hasNext(); ) {
- Map.Entry entry = (Entry) iter.next();
- value = (String) entry.getValue();
- SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", value);
- }
- lookup = new IdNameSql(-1,SQL,lu.getDefaultSQL());
- }
- //}
- lookupList = lookup;
- //}
- try {
- lookup.loadUserData(0, "", getDbInfo(), getUserId());
- } catch (Exception e ){ e.printStackTrace(); //throw new RaptorRuntimeException(e);
- }
- }
- lookup.trimToSize();
-
- for (lookup.resetNext(); lookup.hasNext();) {
- IdNameValue value = lookup.getNext();
- readOnly = value.isReadOnly();
- break;
- }
-
- int iCnt = 0;
- sb.append("<select id=\"" + fieldName +"\" name=\"");
- sb.append(fieldName);
- sb.append("\" "+ (readOnly?"disabled":"")+" size=4 " + getCallableJavascript(getFieldName(), rr) + getHelpLink(fieldName));
- if (!required)
- sb.append("<option value=\"\">-->select value<--");
-
- for (lookup.resetNext(); lookup.hasNext(); iCnt++) {
- IdNameValue value = lookup.getNext();
- sb.append("<option value=\"");
- sb.append((value!=null)?value.getId():"");
- if (nvl(fieldValue).length()>0) {
- if (fieldValue.equals((value!=null)?value.getId():"") || (fieldValue.equals("") && required && iCnt == 0)) {
- sb.append("\" selected>");
- selectedValue = value.getId();
- } else {
- sb.append("\">");
- }
- } else {
- if(value!=null && value.isDefaultValue()) {
- sb.append("\" selected>");
- selectedValue = value.getId();
- } else {
- sb.append("\">");
- }
- }
- if (formValues.containsKey(fieldDisplayName)){
- formValues.remove(fieldDisplayName);
- }
- formValues.put(fieldDisplayName, selectedValue);
-
- sb.append((value!=null)?value.getName():"");
- sb.append("</option>\n");
- } // for
-
- // lookup.clearData();
- } catch (Exception e) {
- //throw new RaptorRuntimeException(e);
- }
-
- if(sb.length()<=0) {
- sb.append("<select id=\"" + fieldName +"\" name=\"");
- sb.append(fieldName);
- sb.append("\" "+ (readOnly?"disabled":"")+" size=4 " + getCallableJavascript(getFieldName(), rr) + getHelpLink(fieldName));
- }
-
- sb.append("</select>");
-
- if(!hasPredefinedList) {
- if(oldSQL != null && !oldSQL.equals("")) {
- ((IdNameSql)lookup).setSQL(oldSQL);
- }
- }
-
- if(isVisible())
- return sb.toString();
- else
- return "";
- } else if (fieldType.equals(FFT_HIDDEN)) {
- StringBuffer sb = new StringBuffer();
- String oldSQL = "";
- String progress = "<div id=\""+fieldName+"_content\" style=\"display:none;width:100%;height:100%;align:center;\"> <img src=\""+AppUtils.getImgFolderURL()+"progress.gif\" border=\"0\" alt=\"Loading, please wait...\" /></div> ";
- sb.append(progress);
- sb.append("<input id=\"" + fieldName +"\" name=\"");
- sb.append(fieldName);
- sb.append("\" type=\"hidden\"");
- IdNameList lookup = null;
-
- try {
- lookup = getLookupList();
- if(lookup != null) {
- //if(dependsOn != null && dependsOn != "") {
- //if(dependsOn != null && dependsOn != "" ) {
- IdNameSql lu = (IdNameSql) lookup;
- String SQL = lu.getSql();
- //System.out.println("SQL HIDDEN 1 " + SQL);
- oldSQL = lu.getSql();
- if(formValues != null) {
- Set set = formValues.entrySet();
- String value = "";
- for(Iterator iter = set.iterator(); iter.hasNext(); ) {
- Map.Entry entry = (Entry) iter.next();
- value = (String) entry.getValue();
- //System.out.println("HIDDEN " + "["+entry.getKey()+"]" + "-" + value);
- SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", value);
- }
-
- lookup = new IdNameSql(-1,SQL,lu.getDefaultSQL());
- }
- //System.out.println("SQL HIDDEN 2 " + SQL);
- //}
- lookupList = lookup;
- //}
- if(nvl(fieldValue).length()>0 && (dependsOn == null || dependsOn.length()<=0)) {
- sb.append(" value=\"");
- sb.append((fieldValue!=null)?fieldValue:"");
- sb.append("\">");
- } else if (lookup != null) {
- lookup.loadUserData(0, "", getDbInfo(), getUserId());
- int iCnt = 0;
- for (lookup.resetNext(); lookup.hasNext(); iCnt++) {
- IdNameValue value = lookup.getNext();
- //System.out.println("HIDDEN " + value.getId() + " " + value.getName());
- sb.append(" value=\"");
- sb.append((value!=null)?value.getId():"");
- sb.append("\">");
- break;
- } // for
- if(lookup.size()<=0) {
- sb.append(" value=\"");
- sb.append("\">");
-
- }
- } else {
- sb.append(" value=\"");
- sb.append((fieldValue!=null)?fieldValue:"");
- sb.append("\"/>");
- }
- } else {
- sb.append(" value=\"");
- sb.append((fieldValue!=null)?fieldValue:"");
- sb.append("\"/>");
- }
- if(oldSQL != null && !oldSQL.equals("")) {
- ((IdNameSql)lookup).setSQL(oldSQL);
- }
- // lookup.clearData();
- } catch (Exception e) {
- sb.append(" value=\"\"/>");
- //throw new RaptorRuntimeException(e);
- }
-
- if(!hasPredefinedList) {
- if(oldSQL != null && !oldSQL.equals("")) {
- ((IdNameSql)lookup).setSQL(oldSQL);
- }
- }
- //if(isVisible())
- return sb.toString() ;
- } else if (fieldType.equals(FFT_RADIO_BTN)) {
- StringBuffer sb = new StringBuffer();
- if (!required) {
- sb.append("<input id=\"" + fieldName +"\" type=radio name=\"");
- sb.append(fieldName);
- sb.append("\" value=\"\"");
- if (fieldValue.length() == 0)
- sb.append(" checked");
- //sb.append( getCallableJavascript(getFieldName(), rr) );
- sb.append(getHelpLink(fieldName)+ " Any<br>\n");
- }
-
- try {
- IdNameList lookup = getLookupList();
- lookup.loadUserData(0, "", getDbInfo(),getUserId());
- String selectedValue = "";
-
- int iCnt = 0;
- for (lookup.resetNext(); lookup.hasNext(); iCnt++) {
- IdNameValue value = lookup.getNext();
- sb.append("<input id=\"" + fieldName +"\" type=radio name=\"");
- sb.append(fieldName);
- sb.append("\" value=\"");
- sb.append((value!=null)?value.getId():"");
- if (nvl(fieldValue).length()>0) {
- if (fieldValue.equals((value!=null)?value.getId():"") || (fieldValue.equals("") && required && iCnt == 0)) {
- sb.append("\" checked>");
- selectedValue = value.getId();
- } else {
- sb.append("\">");
- }
- } else {
- if(value!=null && value.isDefaultValue()) {
- sb.append("\" checked>");
- selectedValue = value.getId();
- } else {
- sb.append("\">");
- }
- }
- sb.append((value!=null)?value.getName():"");
- sb.append("<br>\n");
- } // for
- if (formValues.containsKey(fieldDisplayName)){
- formValues.remove(fieldDisplayName);
- }
- formValues.put(fieldDisplayName, selectedValue);
-
- // lookup.clearData();
- } catch (Exception e) {
- throw new RaptorRuntimeException(e);
- }
- if(isVisible())
- return sb.toString() ;
- else
- return "";
- } else if (fieldType.equals(FFT_CHECK_BOX)) {
- StringBuffer sb = new StringBuffer();
-
- fieldValue = '|' + fieldValue + '|';
- int count = 0 ;
- try {
- String selectedValue = "";
- IdNameList lookup = getLookupList();
- if(lookup != null) {
- lookup.loadUserData(0, "", getDbInfo(), getUserId());
-
- for (lookup.resetNext(); lookup.hasNext();) {
- count++;
- IdNameValue value = lookup.getNext();
- sb.append("<input id=\"" + fieldName +"\" type=checkbox name=\"");
- sb.append(fieldName);
- sb.append("\" value=\"");
- sb.append((value!=null)?value.getId():"");
-
- if (!fieldValue.equals("||")) {
- if (fieldValue.indexOf('|' + ((value!=null)?value.getId():"") + '|') >= 0) { // || (value.isDefaultValue()))
- sb.append("\" checked " + getHelpLink(fieldName));
- selectedValue = value.getId();
- }
- else
- sb.append("\"" + getHelpLink(fieldName));
- } else {
- if(value!=null && value.isDefaultValue()) {
- sb.append("\" checked " + getHelpLink(fieldName));
- selectedValue = value.getId();
- } else {
- sb.append("\"" + getHelpLink(fieldName));
- }
- }
-
- if(!(/*(value.getName().equals("Y")||value.getName().equals("N")) && */(!lookup.hasNext()) && count == 1))
- sb.append((value!=null)?value.getName():"");
- sb.append("<br>\n");
- } // for
-
- if (formValues.containsKey(fieldDisplayName)){
- formValues.remove(fieldDisplayName);
- }
- formValues.put(fieldDisplayName, selectedValue);
- }
-
- // lookup.clearData();
- } catch (Exception e) {
- throw new RaptorRuntimeException(e);
- }
- if(isVisible())
- return sb.toString();
- else
- return "";
- } else if (fieldType.equals(FFT_LIST_MULTI)) {
- StringBuffer sb = new StringBuffer();
- String oldSQL = "";
-
- fieldValue = '|' + fieldValue + '|';
- IdNameList lookup = getLookupList();
- try {
- if(!hasPredefinedList) {
- //if(dependsOn != null && dependsOn != "") {
- //if(dependsOn != null && dependsOn != "" ) {
- IdNameSql lu = (IdNameSql) lookup;
- String SQL = lu.getSql();
- oldSQL = lu.getSql();
- if(formValues != null) {
- Set set = formValues.entrySet();
- String value = "";
- for(Iterator iter = set.iterator(); iter.hasNext(); ) {
- Map.Entry entry = (Entry) iter.next();
- value = (String) entry.getValue();
- SQL = Utils.replaceInString(SQL, "["+entry.getKey()+"]", value);
- }
- lookup = new IdNameSql(-1,SQL,lu.getDefaultSQL());
- }
- //}
- lookupList = lookup;
- //}
-
- lookup.loadUserData(0, "", getDbInfo(),getUserId());
- }
- for (lookup.resetNext(); lookup.hasNext();) {
- IdNameValue value = lookup.getNext();
- readOnly = value.isReadOnly();
- break;
- }
-
- sb.append("<div id=\""+fieldName+"_content\" style=\"display:none;width:100%;height:100%;align:center;\"> <img src=\""+AppUtils.getImgFolderURL()+"progress.gif\" border=\"0\" alt=\"Loading, please wait...\" /></div>");
- sb.append("<select id=\"" + fieldName +"\" name=\"");
- sb.append(fieldName);
- sb.append("\" "+ (readOnly?"disabled":"")+" size=\""+ multiSelectListSize +"\" multiple " + getCallableJavascript(getFieldName(), rr) + getHelpLink(fieldName));
-
- for (lookup.resetNext(); lookup.hasNext();) {
- IdNameValue value = lookup.getNext();
- sb.append("<option value=\"");
- sb.append((value!=null)?value.getId():"");
- if (!fieldValue.equals("||")) {
- if (fieldValue.indexOf('|' + ((value!=null)?value.getId():"") + '|') >= 0) // || (value.isDefaultValue()))
- sb.append("\" selected>");
- else
- sb.append("\">");
- } else {
- if(value!=null && value.isDefaultValue()) {
- sb.append("\" selected>");
- } else {
- sb.append("\">");
- }
- }
- sb.append((value!=null)?value.getName():"");
- sb.append("</option>\n");
- } // for
-
- // lookup.clearData();
- } catch (Exception e) {
- //throw new RaptorRuntimeException(e);
- }
- if(!hasPredefinedList) {
- if(oldSQL != null && !oldSQL.equals("")) {
- ((IdNameSql)lookup).setSQL(oldSQL);
- }
- }
- if(sb.length()<=0) {
- sb.append("<div id=\""+fieldName+"_content\" style=\"display:none;width:100%;height:100%;align:center;\"> <img src=\""+AppUtils.getImgFolderURL()+"progress.gif\" border=\"0\" alt=\"Loading, please wait...\" /></div>");
- sb.append("<select id=\"" + fieldName +"\" name=\"");
- sb.append(fieldName);
- sb.append("\" "+ (readOnly?"disabled":"")+" size=\""+ multiSelectListSize +"\" multiple " + getCallableJavascript(getFieldName(), rr) + getHelpLink(fieldName));
- }
- sb.append("</select>");
- if(isVisible())
- return sb.toString();
- else
- return "";
- } else if (fieldType.equals(FFT_BLANK)) {
- StringBuffer sb = new StringBuffer();
- sb.append("&nbsp;");
- return sb.toString();
- } else
- throw new org.openecomp.portalsdk.analytics.error.RaptorRuntimeException("FormField.getHtml: Unsupported form field type");
- } // getHtml
-
- public String getValidateJavaScript() {
- StringBuffer javaScript = new StringBuffer();
-
- if (fieldType.equals(FFT_TEXT_W_POPUP) || fieldType.equals(FFT_TEXT)
- || fieldType.equals(FFT_TEXTAREA)) {
- if (required) {
- javaScript.append("\n\tif(document.");
- javaScript.append(HTML_FORM);
- javaScript.append(".");
- javaScript.append(fieldName);
- javaScript.append(".value==\"\") {\n\t\talert(\"Please enter value for ");
- javaScript.append(fieldDisplayName);
- javaScript.append("\");\n\t\tdocument.");
- javaScript.append(HTML_FORM);
- javaScript.append(".");
- javaScript.append(fieldName);
- javaScript.append(".focus();\n\t\tdocument.");
- javaScript.append(HTML_FORM);
- javaScript.append(".");
- javaScript.append(fieldName);
- javaScript.append(".select();\n\t\treturn false;\n\t}\n");
- } // if
-
- if (!validationType.equals(VT_NONE)) {
- javaScript.append("\n\tif(! ");
- if (validationType.equals(VT_DATE)||validationType.equals(VT_TIMESTAMP_HR)||validationType.equals(VT_TIMESTAMP_MIN)||validationType.equals(VT_TIMESTAMP_SEC))
- javaScript.append("checkDate(");
- else if (validationType.equals(VT_INT))
- javaScript.append("checkInteger(");
- else if (validationType.equals(VT_INT_POSITIVE))
- javaScript.append("checkPositiveInteger(");
- else if (validationType.equals(VT_INT_NON_NEGATIVE))
- javaScript.append("checkNonNegativeInteger(");
- else if (validationType.equals(VT_FLOAT))
- javaScript.append("checkFloat(");
- else if (validationType.equals(VT_FLOAT_POSITIVE))
- javaScript.append("checkPositiveFloat(");
- else if (validationType.equals(VT_FLOAT_NON_NEGATIVE))
- javaScript.append("checkNonNegativeFloat(");
- javaScript.append("document.");
- javaScript.append(HTML_FORM);
- javaScript.append(".");
- javaScript.append(fieldName);
- javaScript.append(".value");
- if (validationType.equals(VT_DATE)||validationType.equals(VT_TIMESTAMP_HR)||validationType.equals(VT_TIMESTAMP_MIN)||validationType.equals(VT_TIMESTAMP_SEC))
- javaScript.append(", true");
- javaScript.append(")) {\n\t\talert(\"");
- javaScript.append(fieldDisplayName);
- javaScript.append(" is not a valid ");
- if (validationType.equals(VT_DATE)||validationType.equals(VT_TIMESTAMP_HR)||validationType.equals(VT_TIMESTAMP_MIN)||validationType.equals(VT_TIMESTAMP_SEC))
- javaScript.append("date formatted "+ Globals.getCalendarOutputDateFormat());
- else if (validationType.equals(VT_INT))
- javaScript.append("integer");
- else if (validationType.equals(VT_INT_POSITIVE))
- javaScript.append("integer greater than zero");
- else if (validationType.equals(VT_INT_NON_NEGATIVE))
- javaScript.append("integer greater than or equal to zero");
- else if (validationType.equals(VT_FLOAT))
- javaScript.append("number");
- else if (validationType.equals(VT_FLOAT_POSITIVE))
- javaScript.append("number greater than zero");
- else if (validationType.equals(VT_FLOAT_NON_NEGATIVE))
- javaScript.append("number greater than or equal to zero");
- javaScript.append(".\\nPlease enter a valid value.\");\n\t\tdocument.");
- javaScript.append(HTML_FORM);
- javaScript.append(".");
- javaScript.append(fieldName);
- javaScript.append(".focus();\n\t\tdocument.");
- javaScript.append(HTML_FORM);
- javaScript.append(".");
- javaScript.append(fieldName);
- javaScript.append(".select();\n\t\treturn false;\n\t}\n");
- } // if
- } // if
- else if (fieldType.equals(FFT_CHECK_BOX)) {
- if (required) {
- javaScript.append("\n\tvar isChecked = false;");
- javaScript.append("\n\tfor (var i=0; i < document.");
- javaScript.append(HTML_FORM);
- javaScript.append(".");
- javaScript.append(fieldName);
- javaScript.append(".length; i++) { ");
- javaScript.append("\n\t\tif(document.");
- javaScript.append(HTML_FORM);
- javaScript.append(".");
- javaScript.append(fieldName);
- javaScript.append("[i].checked) {");
- javaScript.append("\n\t\t\tisChecked = true;");
- javaScript.append("\n\t\t\tbreak;");
- javaScript.append("\n\t\t}");
- javaScript.append("\n\t}");
- javaScript.append("\n\tif(!isChecked) {");
- javaScript.append("\n\t\talert(\"Please select at least one ");
- javaScript.append(fieldDisplayName);
- javaScript.append("\");\n\t\treturn false;");
- javaScript.append("\n\t}");
- } // if
- } // else if FFT_CHECK_BOX
- else if (fieldType.equals(FFT_LIST_MULTI)) {
- if (required) {
- javaScript.append("\n\tif(document.");
- javaScript.append(HTML_FORM);
- javaScript.append(".");
- javaScript.append(fieldName);
- javaScript.append(".selectedIndex == -1) {");
- javaScript.append("\n\t\talert(\"Please select at least one ");
- javaScript.append(fieldDisplayName);
- javaScript.append("\");\n\t\treturn false;");
- javaScript.append("\n\t}");
- } // if
- } // else if
-
- return javaScript.toString();
- } // getValidateJavaScript
-
- public void setDbInfo(String dbInfo) {
- this.dbInfo = dbInfo;
- }
-
- public String getDbInfo() {
- return dbInfo;
- }
-
- public void setUserId(String userId) {
- this.userId = userId;
- }
-
- public String getUserId() {
- return userId;
- }
-
-
- public String getFieldDefaultSQL() {
-
- return fieldDefaultSQL;
- }
-
-
- public void setFieldDefaultSQL(String fieldDefaultSQL) {
-
- this.fieldDefaultSQL = fieldDefaultSQL;
- }
-
-
- public boolean isVisible() {
-
- return visible;
- }
-
-
- public void setVisible(boolean visible) {
-
- this.visible = visible;
- }
-
- public String getDependsOn() {
- return dependsOn;
- }
-
- public void setDependsOn(String dependsOn) {
- this.dependsOn = dependsOn;
- }
-
- public Calendar getRangeEndDate() {
- if(rangeEndDate != null)
- rangeEndDate.add(Calendar.DATE, 1);
- return rangeEndDate;
- }
-
- public void setRangeEndDate(Calendar rangeEndDate) {
- this.rangeEndDate = rangeEndDate;
- }
-
- public Calendar getRangeStartDate() {
- if(rangeStartDate != null)
- rangeStartDate.add(Calendar.DATE, -1);
- return rangeStartDate;
- }
-
- public void setRangeStartDate(Calendar rangeStartDate) {
- this.rangeStartDate = rangeStartDate;
- }
-
- public String getRangeEndDateSQL() {
- return rangeEndDateSQL;
- }
-
- public void setRangeEndDateSQL(String rangeEndDateSQL) {
- this.rangeEndDateSQL = rangeEndDateSQL;
- }
-
- public void setMultiSelectListSize(String multiSelectListSize) {
- this.multiSelectListSize = multiSelectListSize;
- }
-
- public String getRangeStartDateSQL() {
- return rangeStartDateSQL;
- }
-
- public void setRangeStartDateSQL(String rangeStartDateSQL) {
- this.rangeStartDateSQL = rangeStartDateSQL;
- }
-
- public boolean isHasPredefinedList() {
- return hasPredefinedList;
- }
-
- public void setHasPredefinedList(boolean hasPredefinedList) {
- this.hasPredefinedList = hasPredefinedList;
- }
-
- public boolean isTriggerOtherFormFields() {
- return triggerOtherFormFields;
- }
-
- public void setTriggerOtherFormFields(boolean triggerOtherFormFields) {
- this.triggerOtherFormFields = triggerOtherFormFields;
- }
-
- public boolean isTriggerThisFormfield() {
- return triggerThisFormfield;
- }
-
- public void setTriggerThisFormfield(boolean triggerThisFormfield) {
- this.triggerThisFormfield = triggerThisFormfield;
- }
-
-
-} // FormField
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/FormatProcessor.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/FormatProcessor.java
deleted file mode 100644
index 57fec736..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/FormatProcessor.java
+++ /dev/null
@@ -1,375 +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.runtime;
-
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.openecomp.portalsdk.analytics.RaptorObject;
-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.view.DataRow;
-import org.openecomp.portalsdk.analytics.view.DataValue;
-import org.openecomp.portalsdk.analytics.view.HtmlFormatter;
-import org.openecomp.portalsdk.analytics.xmlobj.FormatType;
-import org.openecomp.portalsdk.analytics.xmlobj.SemaphoreType;
-
-public class FormatProcessor extends RaptorObject {
-
-
- private SemaphoreType semaphore = null;
-
- private String colType = null;
-
- private String dateFormat = null;
-
- private HtmlFormatter defaultFormatter = null;
-
- private HashMap formatters = null;
-
- private HashMap convertedValues = null;
-
- private boolean attemptNumericConversion = false;
-
- public FormatProcessor(SemaphoreType sem, String colType, String dateFormat,
- boolean attemptNumericConversion) {
-
- super();
-
- if (sem == null)
- return;
-
- this.semaphore = sem;
- this.colType = colType;
- this.dateFormat = dateFormat;
-
- this.attemptNumericConversion = attemptNumericConversion;
- if (attemptNumericConversion)
- for (Iterator iter = semaphore.getFormatList().getFormat().iterator(); iter
- .hasNext();) {
- FormatType fmt = (FormatType) iter.next();
- if (!isNumber(fmt.getLessThanValue())) {
- this.attemptNumericConversion = false;
- break;
- } // if
- } // for
-
- formatters = new HashMap(semaphore.getFormatList().getFormat().size() * 4 / 3);
- convertedValues = new HashMap(semaphore.getFormatList().getFormat().size() * 4 / 3);
-
- for (Iterator iter = semaphore.getFormatList().getFormat().iterator(); iter.hasNext();) {
- FormatType fmt = (FormatType) iter.next();
- if ((fmt.getFormatId() == null) || (fmt.getFormatId().length() <= 0)) {
- defaultFormatter = new HtmlFormatter(fmt.isBold(), fmt.isItalic(), fmt
- .isUnderline(), fmt.getBgColor(), fmt.getFontColor(), fmt
- .getFontFace(), fmt.getFontSize(), fmt.getAlignment());
- } else {
- formatters.put(fmt.getFormatId(), new HtmlFormatter(fmt.isBold(), fmt
- .isItalic(), fmt.isUnderline(), fmt.getBgColor(), fmt.getFontColor(),
- fmt.getFontFace(), fmt.getFontSize(), fmt.getAlignment()));
- convertedValues.put(fmt.getFormatId(), convertValue(fmt.getLessThanValue()));
- }
- } // for
- } // FormatProcessor
-
- private String convertValue(String origValue) {
-
- if (colType.equals(AppConstants.CT_DATE))
- return convertDateValue(origValue);
- else if (colType.equals(AppConstants.CT_NUMBER))
- return convertNumericValue(origValue);
- else if (attemptNumericConversion)
- return convertUnknownValue(origValue);
- else
- return origValue;
- } // convertValue
-
- private String convertDateValue(String origValue) {
-
- // Converts to YYYY-MM-DD if possible
- if (nvl(dateFormat).length() == 0 || nvl(origValue).length() == 0)
- return origValue;
-
- if (dateFormat.equals("MM/DD/YYYY") && origValue.length() == 10)
- // Special processing for the default date format - for saving DB
- // calls
- return origValue.substring(6, 10) + "-" + origValue.substring(0, 2) + "-"
- + origValue.substring(3, 5);
-
- try {
- // DataSet ds = DbUtils.executeQuery("SELECT TO_CHAR(TO_DATE('" + origValue + "', '"
- // + dateFormat + "'), 'YYYY-MM-DD') val FROM DUAL");
-
- String sql = Globals.getGenerateSqlVisualDual();
- DataSet ds = DbUtils.executeQuery("SELECT TO_CHAR(TO_DATE('" + origValue + "', '"
- + dateFormat + "'), 'YYYY-MM-DD') val"+sql);
-
- if (ds.getRowCount() > 0)
- return ds.getString(0, 0);
- } catch (Exception e) {
- }
-
- return origValue;
- } // convertDateValue
-
- private String convertNumericValue(String origValue) {
-
- // Converts to [20 pos.5 pos] if possible
- if (nvl(origValue).length() == 0)
- return origValue;
- boolean isNegative = false;
-
- StringBuffer integerValue = new StringBuffer();
- StringBuffer fractionValue = new StringBuffer();
-
- boolean beforeDecimalPoint = true;
- for (int i = 0; i < origValue.length(); i++) {
- char c = origValue.charAt(i);
- if (c == '.')
- beforeDecimalPoint = false;
- else if (c == '-' && integerValue.length() == 0)
- isNegative = true;
- // else
- // if(c=='0'||c=='1'||c=='2'||c=='3'||c=='4'||c=='5'||c=='6'||c=='7'||c=='8'||c=='9')
- else if (Character.isDigit(c))
- if (beforeDecimalPoint)
- integerValue.append(c);
- else
- fractionValue.append(c);
- } // for
-
- while (integerValue.length() < 20)
- integerValue.insert(0, '0');
-
- while (fractionValue.length() < 5)
- fractionValue.append('0');
-
- integerValue.append('.');
- integerValue.append(fractionValue);
- integerValue.insert(0, (isNegative ? '-' : '+'));
-
- return integerValue.toString();
- } // convertNumericValue
-
- private boolean isNumber(String value) { // As per Raptor def, like
-
- // -$3,270.56
- value = value.trim();
- for (int i = 0; i < value.length(); i++) {
- char c = value.charAt(i);
- if (!(Character.isDigit(c) || c == '.' || c == '-' || c == '+' || c == ','
- || c == '$' || c == '%'))
- return false;
- } // for
-
- return true;
- } // isNumber
-
- private String convertUnknownValue(String origValue) {
-
- return isNumber(origValue) ? convertNumericValue(origValue) : origValue;
- } // convertUnknownValue
-
- private boolean isEqual(String value1, String value2) {
-
- return value1.trim().equals(value2.trim());
- } // isEqual
-
- private boolean isLessThan(String value1, String value2) {
-
- boolean compareAsNumbers = colType.equals(AppConstants.CT_NUMBER);
- if ((!compareAsNumbers) && attemptNumericConversion)
- compareAsNumbers = isNumber(value1) && isNumber(value2);
- if (compareAsNumbers && value1.length()>0 && value2.length()>0) {
- boolean value1IsNegative = (value1.charAt(0) == '-');
- boolean value2IsNegative = (value2.charAt(0) == '-');
- if (value1IsNegative && (!value2IsNegative)) {
- return true;
- }
- else if ((!value1IsNegative) && value2IsNegative) {
- return false;
- }
- return Double.parseDouble(value1)<Double.parseDouble(value2);
- } // if
-
- return (value1.compareTo(value2) < 0);
- } // isEqual
-
- public void setHtmlFormatters(DataValue dv, DataRow dr, boolean formatModified) {
-
- if (semaphore == null)
- return;
-
- HtmlFormatter formatter = defaultFormatter;
- HtmlFormatter anyFormatter = null;
- String sValue = convertValue(dv.getDisplayValue());
-
- String compareColId = semaphore.getComment(); // When Column Id compare is different from formatting.
-
- String targetColId = null;
- if(semaphore.getTarget()!=null)
- targetColId = semaphore.getTarget();
-
- DataValue targetDataValue = null;
- /* compare the column id which is in comment and assign to sValue */
- if(nvl(compareColId).length()>0) {
- for (dr.resetNext(); dr.hasNext();) {
- DataValue dv1 = dr.getNext();
- //add null check
- if(dv1.getColId()!=null) {
- if(dv1.getColId().equals(compareColId))
- sValue = convertValue(dv1.getDisplayValue());
- if(targetColId!=null) {
- if(dv1.getColId().equals(targetColId))
- targetDataValue = dv1;
- }
- }
- }
- }
-
- for (Iterator iter = semaphore.getFormatList().getFormat().iterator(); iter
- .hasNext();) {
- FormatType fmt = (FormatType) iter.next();
- if(fmt.getLessThanValue().length() <= 0) {
- anyFormatter = (HtmlFormatter) formatters.get(fmt.getFormatId());
- anyFormatter.setFormatId(fmt.getFormatId());
- break;
- }
- }
-
- if( anyFormatter == null ) anyFormatter = formatter;
- // String sValue = convertValue(dv.getDisplayValue());
- //if (sValue.length() > 0) {
- for (Iterator iter = semaphore.getFormatList().getFormat().iterator(); iter
- .hasNext();) {
- FormatType fmt = (FormatType) iter.next();
- // For Excel Download
-
- if ((fmt.getFormatId() == null) || (fmt.getFormatId().length() <= 0)) {
- // Default formatter
- continue;
- }
-
- String formatterValue = nvl((String) convertedValues.get(fmt.getFormatId()));
- boolean valueMatched = false;
- if (fmt.getExpression().equals("=")) {
- valueMatched = isEqual(sValue, formatterValue);
- }
-
- else if (fmt.getExpression().equals("<>"))
- valueMatched = (!isEqual(sValue, formatterValue));
- else if (fmt.getExpression().equals(">")) {
- valueMatched = (!(isEqual(sValue, formatterValue) || isLessThan(sValue,
- formatterValue)));
- }
- else if (fmt.getExpression().equals(">=")) {
- valueMatched = /* isEqual(sValue, formatterValue)|| */(!isLessThan(
- sValue, formatterValue));
- }
- else if (fmt.getExpression().equals("<")) {
- valueMatched = isLessThan(sValue, formatterValue);
- }
- else if (fmt.getExpression().equals("<=")) {
- valueMatched = isEqual(sValue, formatterValue)
- || isLessThan(sValue, formatterValue);
- }
- //s_logger.debug("SYSOUT " + " " +sValue +" " +fmt.getBgColor() + " " + fmt.getLessThanValue()+ " " +valueMatched);
- if (fmt.getLessThanValue().length() > 0 && valueMatched) {
- formatter = (HtmlFormatter) formatters.get(fmt.getFormatId());
- formatter.setFormatId(fmt.getFormatId());
- formatModified = true;
- //dv.setFormatId(fmt.getFormatId());
- //dr.setFormatId(fmt.getFormatId());
- //break;
- } else { // if
- if(!formatModified) formatter = anyFormatter;
- //if(!((formatter!=null && formatter!=anyFormatter) || (defaultFormatter!=null && formatter!=defaultFormatter)))
- // formatter = anyFormatter;
- //formatter.setFormatId(anyFormatter.getFormatId());
- }
- /*else if ((fmt.getLessThanValue().length() <= 0)
- && (fmt.getFormatId().length() > 0)) {
- formatter = (HtmlFormatter) formatters.get(fmt.getFormatId());
- System.out.println("---------------lesser "+ fmt.getFormatId()+ " " + fmt.getBgColor());
- dv.setFormatId(fmt.getFormatId());
- dr.setFormatId(fmt.getFormatId());
- // break;
- } // else if*/
- } // for
- /*} else {
- for (Iterator iter = semaphore.getFormatList().getFormat().iterator(); iter
- .hasNext();) {
- FormatType fmt = (FormatType) iter.next();
- if(fmt.getLessThanValue().length()<=0 && fmt.getExpression().length()<=0 && !fmt.isBold() && !fmt.isItalic() && !fmt.isUnderline() && fmt.getFontSize().equals("11")) {
- formatter = defaultFormatter;
- } else
- formatter = anyFormatter;
- }
-
- //formatter.setFormatId(anyFormatter.getFormatId());
- } */
- if(formatter != null) {
- if (semaphore.getSemaphoreType().equals(AppConstants.ST_ROW)) {
-
- if (dr.getRowFormatter() == null || formatter != defaultFormatter) {
- // Making sure the default formatter doesn't overwrite
- // valid row formatter set from another column
- dr.setRowFormatter(formatter);
- dr.setFormatId(formatter.getFormatId());
- // This is added for excel download
- //if (!formatter.equals(defaultFormatter)) {
- dr.setRowFormat(true);
- //}
-
- }
- } else {
- if(nvl(targetColId).length()>0) {
- if(targetDataValue!=null) {
- targetDataValue.setCellFormatter(formatter);
- targetDataValue.setFormatId(formatter.getFormatId());
- //if (!formatter.equals(defaultFormatter)) {
- targetDataValue.setCellFormat(true);
- int count = 0;
- for (dr.resetNext(); dr.hasNext();) {
- DataValue dv1 = dr.getNext();
- //add null check
- if(targetColId!=null) {
- if(dv1.getColId().equals(targetColId))
- dr.setDataValue(count, targetDataValue);
- }
- count++;
- }
- }
- //}
-
- } else {
- dv.setCellFormatter(formatter);
- dv.setFormatId(formatter.getFormatId());
- //if (!formatter.equals(defaultFormatter)) {
- dv.setCellFormat(true);
- //}
- }
- }// else
- }
- } // setHtmlFormatters
-
-} // FormatProcessor
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/Item.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/Item.java
deleted file mode 100644
index 1bc3bbba..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/Item.java
+++ /dev/null
@@ -1,54 +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.runtime;
-
-public class Item {
- private String _id;
- private String _name;
-
- public Item() {
- }
-
- public Item(String id, String name) {
- this._id = id;
- this._name = name;
- }
-
- public String getId() {
- return _id;
- }
-
- public void setId(String id) {
- this._id = id;
- }
-
- public String getName() {
- return _name;
- }
-
- public void setName(String name) {
- this._name = name;
- }
-
- public String toString() {
- return _name;
- }
-}
-
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/LookupDBInfo.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/LookupDBInfo.java
deleted file mode 100644
index 118356a7..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/LookupDBInfo.java
+++ /dev/null
@@ -1,89 +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.runtime;
-
-import org.openecomp.portalsdk.analytics.RaptorObject;
-
-public class LookupDBInfo extends RaptorObject {
- private String tableName = null;
-
- private String fieldName = null;
-
- private String lookupTable = null;
-
- private String lookupIdField = null;
-
- private String lookupNameField = null;
-
- public LookupDBInfo() {
- }
-
- public LookupDBInfo(String tableName, String fieldName, String lookupTable,
- String lookupIdField, String lookupNameField) {
- this();
-
- setTableName(tableName);
- setFieldName(fieldName);
- setLookupTable(lookupTable);
- setLookupIdField(lookupIdField);
- setLookupNameField(lookupNameField);
- } // LookupDBInfo
-
- public String getTableName() {
- return tableName;
- }
-
- public String getFieldName() {
- return fieldName;
- }
-
- public String getLookupTable() {
- return lookupTable;
- }
-
- public String getLookupIdField() {
- return lookupIdField;
- }
-
- public String getLookupNameField() {
- return lookupNameField;
- }
-
- public void setTableName(String tableName) {
- this.tableName = tableName;
- }
-
- public void setFieldName(String fieldName) {
- this.fieldName = fieldName;
- }
-
- public void setLookupTable(String lookupTable) {
- this.lookupTable = lookupTable;
- }
-
- public void setLookupIdField(String lookupIdField) {
- this.lookupIdField = lookupIdField;
- }
-
- public void setLookupNameField(String lookupNameField) {
- this.lookupNameField = lookupNameField;
- }
-
-} // LookupDBInfo
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/RangeAxisJSON.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/RangeAxisJSON.java
deleted file mode 100644
index d9e93f55..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/RangeAxisJSON.java
+++ /dev/null
@@ -1,93 +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.runtime;
-
-class RangeColorJSON extends IndexValueJSON {}
-class RangeAxisLabelJSON extends IndexValueJSON {}
-class RangeLineTypeJSON extends IndexValueJSON {}
-
-public class RangeAxisJSON {
-
- private RangeAxisLabelJSON rangeAxisLabelJSON;
- private RangeColorJSON rangeColorJSON;
- private RangeLineTypeJSON rangeLineTypeJSON;
- private String rangeChartGroup;
- private String rangeYAxis;
- private boolean showAsArea;
-
- public RangeAxisLabelJSON getRangeAxisLabelJSON() {
- return rangeAxisLabelJSON;
- }
- public void setRangeAxisLabelJSON(RangeAxisLabelJSON rangeAxisLabelJSON) {
- this.rangeAxisLabelJSON = rangeAxisLabelJSON;
- }
- public RangeColorJSON getRangeColorJSON() {
- return rangeColorJSON;
- }
- public void setRangeColorJSON(RangeColorJSON rangeColorJSON) {
- this.rangeColorJSON = rangeColorJSON;
- }
- public RangeLineTypeJSON getRangeLineTypeJSON() {
- return rangeLineTypeJSON;
- }
- public void setRangeLineTypeJSON(RangeLineTypeJSON rangeLineTypeJSON) {
- this.rangeLineTypeJSON = rangeLineTypeJSON;
- }
- public String getRangeChartGroup() {
- return rangeChartGroup;
- }
- public void setRangeChartGroup(String rangeChartGroup) {
- this.rangeChartGroup = rangeChartGroup;
- }
- public String getRangeYAxis() {
- return rangeYAxis;
- }
- public void setRangeYAxis(String rangeYAxis) {
- this.rangeYAxis = rangeYAxis;
- }
- public boolean isShowAsArea() {
- return showAsArea;
- }
- public void setShowAsArea(boolean showAsArea) {
- this.showAsArea = showAsArea;
- }
-
- public String getRangeAxis() {
- if(getRangeAxisLabelJSON()!=null)
- return getRangeAxisLabelJSON().getValue();
- else
- return "";
- }
-
- public String getRangeColor(){
- if(getRangeColorJSON()!=null)
- return getRangeColorJSON().getValue();
- else
- return "";
- }
-
- public String getRangeLineType(){
- if(getRangeLineTypeJSON()!=null)
- return getRangeLineTypeJSON().getValue();
- else
- return "";
- }
-
-}
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportFormFields.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportFormFields.java
deleted file mode 100644
index 7e185618..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportFormFields.java
+++ /dev/null
@@ -1,366 +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.runtime;
-
-import java.util.Calendar;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.openecomp.portalsdk.analytics.error.RaptorException;
-import org.openecomp.portalsdk.analytics.model.DataCache;
-import org.openecomp.portalsdk.analytics.model.base.ReportWrapper;
-import org.openecomp.portalsdk.analytics.system.AppUtils;
-import org.openecomp.portalsdk.analytics.system.ConnectionUtils;
-import org.openecomp.portalsdk.analytics.system.Globals;
-import org.openecomp.portalsdk.analytics.util.AppConstants;
-import org.openecomp.portalsdk.analytics.util.DataSet;
-import org.openecomp.portalsdk.analytics.util.Utils;
-import org.openecomp.portalsdk.analytics.xmlobj.ColFilterType;
-import org.openecomp.portalsdk.analytics.xmlobj.DataColumnType;
-import org.openecomp.portalsdk.analytics.xmlobj.FormFieldType;
-
-public class ReportFormFields extends Vector {
- private int nextElemIdx = 0;
-
- public ReportFormFields(ReportWrapper rw, HttpServletRequest request) throws RaptorException {
- super();
-
- if (rw.getFormFieldList() != null)
- for (Iterator iter = rw.getFormFieldList().getFormField().iterator(); iter
- .hasNext();) {
- FormFieldType fft = (FormFieldType) iter.next();
-
- String fieldName = fft.getFieldId();
- String fieldDisplayName = fft.getFieldName();
- String fieldType = fft.getFieldType();
- String validationType = fft.getValidationType();
- String mandatory = nvl(fft.getMandatory(), "N");
- String defaultValue = fft.getDefaultValue();
- String fieldSQL = fft.getFieldSQL();
- String fieldDefaultSQL = fft.getFieldDefaultSQL();
- String[] reqParameters = Globals.getRequestParams().split(",");
- String[] sessionParameters = Globals.getSessionParams().split(",");
- String[] scheduleSessionParameters = Globals.getSessionParamsForScheduling().split(",");
- javax.servlet.http.HttpSession session = request.getSession();
- String visible = nvl(fft.getVisible(),"Y");
- String dependsOn = nvl(fft.getDependsOn(), "");
- Calendar rangeStartDate = (fft.getRangeStartDate()==null)?null:fft.getRangeStartDate().toGregorianCalendar();
- Calendar rangeEndDate = (fft.getRangeEndDate()==null)?null:fft.getRangeEndDate().toGregorianCalendar();
- //Calendar rangeEndDate = fft.getRangeEndDate().toGregorianCalendar();
- String rangeStartDateSQL = fft.getRangeStartDateSQL();
- String rangeEndDateSQL = fft.getRangeEndDateSQL();
- String user_id = AppUtils.getUserID(request);
- String multiSelectListSize = fft.getMultiSelectListSize();
-
- //s_logger.debug("ranges are : " + fft.getRangeStartDate() + fft.getRangeEndDate());
- //s_logger.debug("fieldSQL B4" + fieldSQL);
- if(fieldSQL!=null) {
- for (int i = 0; i < reqParameters.length; i++) {
- if(!reqParameters[i].startsWith("ff") && (request.getParameter(reqParameters[i].toUpperCase())!=null && request.getParameter(reqParameters[i].toUpperCase()).length() > 0))
- fieldSQL = Utils.replaceInString(fieldSQL, "[" + reqParameters[i].toUpperCase()+"]", request.getParameter(reqParameters[i].toUpperCase()) );
- else if (request.getParameter(reqParameters[i])!=null && request.getParameter(reqParameters[i]).length() > 0)
- fieldSQL = Utils.replaceInString(fieldSQL, "[" + reqParameters[i].toUpperCase()+"]", request.getParameter(reqParameters[i]) );
- }
-
- for (int i = 0; i < scheduleSessionParameters.length; i++) {
- //s_logger.debug(" Session " + " scheduleSessionParameters[i] " + scheduleSessionParameters[i].toUpperCase() + " " + request.getParameter(scheduleSessionParameters[i]));
- if(request.getParameter(scheduleSessionParameters[i])!=null && request.getParameter(scheduleSessionParameters[i]).trim().length()>0 )
- fieldSQL = Utils.replaceInString(fieldSQL, "[" + scheduleSessionParameters[i].toUpperCase()+"]", request.getParameter(scheduleSessionParameters[i]) );
- if(request.getAttribute(scheduleSessionParameters[i])!=null && ((String)request.getAttribute(scheduleSessionParameters[i])).trim().length()>0 )
- fieldSQL = Utils.replaceInString(fieldSQL, "[" + scheduleSessionParameters[i].toUpperCase()+"]", (String) request.getAttribute(scheduleSessionParameters[i]) );
-
- }
-
- for (int i = 0; i < sessionParameters.length; i++) {
- //if(!sessionParameters[i].startsWith("ff"))
- //fieldSQL = Utils.replaceInString(fieldSQL, "[" + sessionParameters[i].toUpperCase()+"]", (String)session.getAttribute(sessionParameters[i].toUpperCase()) );
- //else {
- if (session.getAttribute(sessionParameters[i])!=null && ((String)session.getAttribute(sessionParameters[i])).length() > 0) {
- //s_logger.debug(" Session " + " sessionParameters[i] " + sessionParameters[i] + " " + (String)session.getAttribute(sessionParameters[i]));
- fieldSQL = Utils.replaceInString(fieldSQL, "[" + sessionParameters[i].toUpperCase()+"]", (String)session.getAttribute(sessionParameters[i]) );
- }
- // }
- }
- fieldSQL = Utils.replaceInString(fieldSQL, "[USERID]", user_id);
- fieldSQL = Utils.replaceInString(fieldSQL, "[USER_ID]", user_id);
- fieldSQL = Utils.replaceInString(fieldSQL, "[LOGGED_USERID]", user_id);
-
- }
-
- if(fieldDefaultSQL!=null) {
- for (int i = 0; i < reqParameters.length; i++) {
- if(!reqParameters[i].startsWith("ff") && (request.getParameter(reqParameters[i].toUpperCase())!=null && request.getParameter(reqParameters[i].toUpperCase()).length() > 0))
- fieldDefaultSQL = Utils.replaceInString(fieldDefaultSQL, "[" + reqParameters[i].toUpperCase()+"]", request.getParameter(reqParameters[i].toUpperCase()) );
- else if (request.getParameter(reqParameters[i])!=null && request.getParameter(reqParameters[i]).length() > 0)
- fieldDefaultSQL = Utils.replaceInString(fieldDefaultSQL, "[" + reqParameters[i].toUpperCase()+"]", request.getParameter(reqParameters[i]) );
- }
- for (int i = 0; i < scheduleSessionParameters.length; i++) {
- //s_logger.debug(" Session " + " scheduleSessionParameters[i] " + scheduleSessionParameters[i].toUpperCase() + " " + request.getParameter(scheduleSessionParameters[i]));
- if(request.getParameter(scheduleSessionParameters[i])!=null && request.getParameter(scheduleSessionParameters[i]).trim().length()>0 )
- fieldDefaultSQL = Utils.replaceInString(fieldDefaultSQL, "[" + scheduleSessionParameters[i].toUpperCase()+"]", request.getParameter(scheduleSessionParameters[i]) );
- if(request.getAttribute(scheduleSessionParameters[i])!=null && ((String)request.getAttribute(scheduleSessionParameters[i])).trim().length()>0 )
- fieldDefaultSQL = Utils.replaceInString(fieldDefaultSQL, "[" + scheduleSessionParameters[i].toUpperCase()+"]", (String) request.getAttribute(scheduleSessionParameters[i]) );
-
- }
-
- for (int i = 0; i < sessionParameters.length; i++) {
- //if(!sessionParameters[i].startsWith("ff"))
- //fieldDefaultSQL = Utils.replaceInString(fieldDefaultSQL, "[" + sessionParameters[i].toUpperCase()+"]", (String)session.getAttribute(sessionParameters[i].toUpperCase()) );
- //else
- if (session.getAttribute(sessionParameters[i])!=null && ((String)session.getAttribute(sessionParameters[i])).length() > 0)
- fieldDefaultSQL = Utils.replaceInString(fieldDefaultSQL, "[" + sessionParameters[i].toUpperCase()+"]", (String)session.getAttribute(sessionParameters[i]) );
- }
-
- fieldDefaultSQL = Utils.replaceInString(fieldDefaultSQL, "[USERID]", user_id);
- fieldDefaultSQL = Utils.replaceInString(fieldDefaultSQL, "[USER_ID]", user_id);
- fieldDefaultSQL = Utils.replaceInString(fieldDefaultSQL, "[LOGGED_USERID]", user_id);
- }
- //s_logger.debug("fieldSQL After" + fieldSQL);
- if(rangeStartDateSQL!=null) {
- for (int i = 0; i < reqParameters.length; i++) {
- if(!reqParameters[i].startsWith("ff") && (request.getParameter(reqParameters[i].toUpperCase())!=null && request.getParameter(reqParameters[i].toUpperCase()).length() > 0))
- rangeStartDateSQL = Utils.replaceInString(rangeStartDateSQL, "[" + reqParameters[i].toUpperCase()+"]", request.getParameter(reqParameters[i].toUpperCase()) );
- else if (request.getParameter(reqParameters[i])!=null && request.getParameter(reqParameters[i]).length() > 0)
- rangeStartDateSQL = Utils.replaceInString(rangeStartDateSQL, "[" + reqParameters[i].toUpperCase()+"]", request.getParameter(reqParameters[i]) );
- }
- for (int i = 0; i < sessionParameters.length; i++) {
- if (session.getAttribute(sessionParameters[i])!=null && ((String)session.getAttribute(sessionParameters[i])).length() > 0)
- rangeStartDateSQL = Utils.replaceInString(rangeStartDateSQL, "[" + sessionParameters[i].toUpperCase()+"]", (String)session.getAttribute(sessionParameters[i]) );
- }
- }
- if(rangeEndDateSQL!=null) {
- for (int i = 0; i < reqParameters.length; i++) {
- if(!reqParameters[i].startsWith("ff")&& (request.getParameter(reqParameters[i].toUpperCase())!=null && request.getParameter(reqParameters[i].toUpperCase()).length() > 0))
- rangeEndDateSQL = Utils.replaceInString(rangeEndDateSQL, "[" + reqParameters[i].toUpperCase()+"]", request.getParameter(reqParameters[i].toUpperCase()) );
- else if (request.getParameter(reqParameters[i])!=null && request.getParameter(reqParameters[i]).length() > 0)
- rangeEndDateSQL = Utils.replaceInString(rangeEndDateSQL, "[" + reqParameters[i].toUpperCase()+"]", request.getParameter(reqParameters[i]) );
- }
- for (int i = 0; i < sessionParameters.length; i++) {
- if (session.getAttribute(sessionParameters[i])!=null && ((String)session.getAttribute(sessionParameters[i])).length() > 0)
- rangeEndDateSQL = Utils.replaceInString(rangeEndDateSQL, "[" + sessionParameters[i].toUpperCase()+"]", (String)session.getAttribute(sessionParameters[i]) );
- }
- }
- String helpText = fft.getComment();
-
- List predefinedValues = null;
- if (fft.getPredefinedValueList() != null) {
- predefinedValues = fft.getPredefinedValueList().getPredefinedValue();
- if (predefinedValues.size() == 0)
- predefinedValues = null;
- } // if
-
- DataColumnType dct = rw.getColumnById(nvl(fft.getColId()));
-
- boolean basedOnColumn = false;
- if (rw.getReportDefType().equals(AppConstants.RD_SQL_BASED))
- basedOnColumn = (nvl(fft.getColId()).indexOf('.') > 0);
- else
- basedOnColumn = (dct != null);
-
- if (((!basedOnColumn) && (nvl(fieldSQL).length() == 0))
- || predefinedValues != null) {
- if (predefinedValues != null)
- if (nvl(defaultValue).equals(AppConstants.FILTER_MAX_VALUE))
- defaultValue = (String) Collections.max(predefinedValues);
- else if (nvl(defaultValue).equals(AppConstants.FILTER_MIN_VALUE))
- defaultValue = (String) Collections.min(predefinedValues);
- add(new FormField(fieldName, fieldDisplayName, fieldType, validationType,
- mandatory.equals("Y"), defaultValue, helpText, predefinedValues,visible.equals("Y"), dependsOn, rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize));
- } else if (nvl(fieldSQL).length() > 0) {
- add(new FormField(fieldName, fieldDisplayName, fieldType, validationType,
- mandatory.equals("Y"), fieldDefaultSQL, helpText, fieldSQL,visible.equals("Y"), dependsOn, rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize));
- } else {
- String lTableName = null;
- String lColumnName = null;
- String lColumnType = null;
- String lColFormat = null;
- if (rw.getReportDefType().equals(AppConstants.RD_SQL_BASED)) {
- String colId = nvl(fft.getColId());
- lTableName = ReportWrapper.getSQLBasedFFTColTableName(colId); // colId.substring(0,
- // colId.indexOf('.'));
- lColumnName = ReportWrapper.getSQLBasedFFTColColumnName(colId); // colId.substring(colId.lastIndexOf('.')+1);
- lColumnType = AppConstants.CT_CHAR;
- try {
- lColumnType = nvl(DataCache.getReportTableDbColumnType(lTableName,
- lColumnName, rw.getDBInfo()), AppConstants.CT_CHAR);
- } catch (Exception e) {
- }
- lColFormat = lColumnType.equals(AppConstants.CT_DATE) ? nvl(
- ReportWrapper.getSQLBasedFFTColDisplayFormat(colId),
- AppConstants.DEFAULT_DATE_FORMAT) : "";
- } else {
- lTableName = rw.getColumnTableById(dct.getColId()).getTableName(); // should
- // be
- // same
- // as
- // rw.getTableById(dct.getTableId()).getTableName()
- lColumnName = dct.getColName();
- lColumnType = dct.getColType();
- lColFormat = nvl(dct.getColFormat(), AppConstants.DEFAULT_DATE_FORMAT);
- } // else
-
- if (nvl(defaultValue).equals(AppConstants.FILTER_MAX_VALUE)
- || nvl(defaultValue).equals(AppConstants.FILTER_MIN_VALUE))
- try {
- String selectVal = (defaultValue
- .equals(AppConstants.FILTER_MAX_VALUE) ? "MAX" : "MIN")
- + "(" + lColumnName + ")";
- if (lColumnType.equals(AppConstants.CT_DATE))
- selectVal = "TO_CHAR(" + selectVal + ", '"
- + AppConstants.DEFAULT_DATE_FORMAT + "')";
- // DataSet ds = DbUtils.executeQuery("SELECT
- // "+selectVal+" FROM "+lTableName);
- DataSet ds = ConnectionUtils.getDataSet("SELECT " + selectVal
- + " FROM " + lTableName, rw.getDBInfo());
- if (ds.getRowCount() > 0)
- defaultValue = ds.getString(0, 0);
- } catch (Exception e) {
- }
-
- LookupDBInfo lookupDBInfo = DataCache.getLookupTable(lTableName,
- lColumnName);
- String lookupTable = lookupDBInfo.getLookupTable();
- String lookupIdField = lookupDBInfo.getLookupIdField();
- String lookupNameField = lookupDBInfo.getLookupNameField();
- String lookupSortByField = lookupDBInfo.getLookupNameField();
- if (lColumnType.equals(AppConstants.CT_DATE)) {
- // Expects lookup on DATE fields will have both Id and
- // Name fields with DATE format; if not the case will
- // generate an error
- lookupIdField = "TO_CHAR(" + lookupIdField + ", '"
- + AppConstants.DEFAULT_DATE_FORMAT + "')";
- lookupSortByField = " TO_DATE(TO_CHAR("+ lookupNameField +", '" + AppConstants.DEFAULT_DATE_FORMAT+ "'),'" + AppConstants.DEFAULT_DATE_FORMAT+ "') ";
- lookupNameField = "TO_CHAR(" + lookupNameField + ", '" + lColFormat
- + "')";
- lookupSortByField += " DESC";
- } // if
- if (fieldDefaultSQL!=null && fieldDefaultSQL.length()>0 && (fieldDefaultSQL.trim().length()>10) && fieldDefaultSQL.substring(0,10).toLowerCase().startsWith("select")) {
- add(new FormField(fieldName, fieldDisplayName, fieldType, validationType,
- mandatory.equals("Y"), fieldDefaultSQL, helpText, lookupTable,
- lookupIdField, lookupNameField, lookupSortByField,visible.equals("Y"),dependsOn, rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize));
-
- } else {
- add(new FormField(fieldName, fieldDisplayName, fieldType, validationType,
- mandatory.equals("Y"), defaultValue, helpText, lookupTable,
- lookupIdField, lookupNameField, lookupSortByField,visible.equals("Y"), dependsOn, rangeStartDate, rangeEndDate, rangeStartDateSQL, rangeEndDateSQL, multiSelectListSize));
- }
- } // else
- } // for
-
- List reportCols = rw.getAllColumns();
- for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
- DataColumnType dct = (DataColumnType) iter.next();
-
- if (dct.getColFilterList() != null) {
- int fNo = 0;
- List fList = dct.getColFilterList().getColFilter();
- for (Iterator iterF = fList.iterator(); iterF.hasNext(); fNo++) {
- ColFilterType cft = (ColFilterType) iterF.next();
-
- if (nvl(cft.getArgType()).equals(AppConstants.AT_FORM)
- && rw.getFormFieldByDisplayValue(cft.getArgValue()) == null) {
- String fieldName = rw.getFormFieldName(cft);
- String fieldDisplayName = rw.getFormFieldDisplayName(dct, cft);
-
- LookupDBInfo lookupDBInfo = DataCache.getLookupTable(rw
- .getColumnTableById(dct.getColId()).getTableName(), dct
- .getColName());
- String lookupTable = lookupDBInfo.getLookupTable();
- String lookupIdField = lookupDBInfo.getLookupIdField();
- String lookupNameField = lookupDBInfo.getLookupNameField();
- String lookupSortByField = lookupDBInfo.getLookupNameField();
- Calendar lookupRangeStartDate = rw.getFormFieldRangeStart(cft);
- Calendar lookupRangeEndDate = rw.getFormFieldRangeEnd(cft);
- String lookupRangeStartDateSQL = rw.getFormFieldRangeStartSQL(cft);
- String lookupRangeEndDateSQL = rw.getFormFieldRangeEndSQL(cft);
- if (dct.getColType().equals(AppConstants.CT_DATE)) {
- // Expects lookup on DATE fields will have both Id
- // and Name fields with DATE format; if not the case
- // will generate an error
- lookupIdField = "TO_CHAR("
- + lookupIdField
- + ", '"
- + nvl(dct.getColFormat(), AppConstants.DEFAULT_DATE_FORMAT)
- + "')";
- lookupNameField = "TO_CHAR("
- + lookupNameField
- + ", '"
- + nvl(dct.getColFormat(), AppConstants.DEFAULT_DATE_FORMAT)
- + "')";
- lookupSortByField += " DESC";
- } // if
- add(new FormField(fieldName, fieldDisplayName,
- FormField.FFT_TEXT_W_POPUP, null, false, null, null,
- lookupTable, lookupIdField, lookupNameField, lookupSortByField,null, lookupRangeStartDate, lookupRangeEndDate, lookupRangeStartDateSQL, lookupRangeEndDateSQL, "0"));
- } // if
- } // for
- } // if
- } // for
- } // ReportFormFields
-
- public int getFieldCount() {
- return size();
- } // getFieldCount
-
- public FormField getFormField(int fieldIdx) {
- return (FormField) get(fieldIdx);
- } // getFormField
-
- public FormField getFormField(String fieldName) {
- for (int i = 0; i < getFieldCount(); i++) {
- FormField ff = (FormField) get(i);
- if (ff.getFieldName().equals(fieldName))
- return ff;
- } // for
-
- return null;
- } // getFormField
-
- public void resetNext() {
- resetNext(0);
- } // resetNext
-
- public void resetNext(int toPos) {
- nextElemIdx = toPos;
- } // resetNext
-
- public boolean hasNext() {
- return (nextElemIdx < size());
- } // hasNext
-
- public FormField getNext() {
- return hasNext() ? getFormField(nextElemIdx++) : null;
- } // getNext
-
- /** ************************************************************************************************* */
-
- private String nvl(String s) {
- return (s == null) ? "" : s;
- }
-
- private String nvl(String s, String sDefault) {
- return nvl(s).equals("") ? sDefault : s;
- }
-
-} // ReportFormFields
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportJSONRuntime.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportJSONRuntime.java
deleted file mode 100644
index 7556a310..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportJSONRuntime.java
+++ /dev/null
@@ -1,694 +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.runtime;
-
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Map;
-
-import org.openecomp.portalsdk.analytics.model.base.IdNameValue;
-import org.openecomp.portalsdk.analytics.view.ColumnHeader;
-
-/*class MetaColumn {
- private String tableId;
- private String dbColName;
- private String crossTabValue;
- private String colName;
- private String displayName;
- private Integer displayWidth;
- private String displayWidthInPxls;
- private String pdfDisplayWidthInPxls;
- private String displayAlignment;
- private String displayHeaderAlignment;
- private int orderSeq;
- private boolean visible;
- private boolean calculated;
- private String colType;
- private String hyperlinkURL;
- private String hyperlinkType;
- private String actionImg;
- private Integer groupByPos;
- private String subTotalCustomText;
- private Boolean hideRepeatedKey;
- private String colFormat;
- private boolean groupBreak;
- private Integer orderBySeq;
- private String orderByAscDesc;
- private String displayTotal;
- private String colOnChart;
- private Integer chartSeq;
- private String chartColor;
- private String chartLineType;
- private Boolean chartSeries;
- private Boolean isRangeAxisFilled;
- private Boolean createInNewChart;
- private String drillDownType;
- private Boolean drillinPoPUp;
- private String drillDownURL;
- private String drillDownParams;
- private String comment;
- private ColFilterList colFilterList;
- private String semaphoreId;
- private String dbColType;
- private String chartGroup;
- private String yAxis;
- private String dependsOnFormField;
- private String nowrap;
- private Integer indentation;
- private Boolean enhancedPagination;
- private Integer level;
- private Integer start;
- private Integer colspan;
- private String dataMiningCol;
- private String colId;
-
- public String getTableId() {
- return tableId;
- }
- public void setTableId(String tableId) {
- this.tableId = tableId;
- }
- public String getDbColName() {
- return dbColName;
- }
- public void setDbColName(String dbColName) {
- this.dbColName = dbColName;
- }
- public String getCrossTabValue() {
- return crossTabValue;
- }
- public void setCrossTabValue(String crossTabValue) {
- this.crossTabValue = crossTabValue;
- }
- public String getColName() {
- return colName;
- }
- public void setColName(String colName) {
- this.colName = colName;
- }
- public String getDisplayName() {
- return displayName;
- }
- public void setDisplayName(String displayName) {
- this.displayName = displayName;
- }
- public Integer getDisplayWidth() {
- return displayWidth;
- }
- public void setDisplayWidth(Integer displayWidth) {
- this.displayWidth = displayWidth;
- }
- public String getDisplayWidthInPxls() {
- return displayWidthInPxls;
- }
- public void setDisplayWidthInPxls(String displayWidthInPxls) {
- this.displayWidthInPxls = displayWidthInPxls;
- }
- public String getPdfDisplayWidthInPxls() {
- return pdfDisplayWidthInPxls;
- }
- public void setPdfDisplayWidthInPxls(String pdfDisplayWidthInPxls) {
- this.pdfDisplayWidthInPxls = pdfDisplayWidthInPxls;
- }
- public String getDisplayAlignment() {
- return displayAlignment;
- }
- public void setDisplayAlignment(String displayAlignment) {
- this.displayAlignment = displayAlignment;
- }
- public String getDisplayHeaderAlignment() {
- return displayHeaderAlignment;
- }
- public void setDisplayHeaderAlignment(String displayHeaderAlignment) {
- this.displayHeaderAlignment = displayHeaderAlignment;
- }
- public int getOrderSeq() {
- return orderSeq;
- }
- public void setOrderSeq(int orderSeq) {
- this.orderSeq = orderSeq;
- }
- public boolean isVisible() {
- return visible;
- }
- public void setVisible(boolean visible) {
- this.visible = visible;
- }
- public boolean isCalculated() {
- return calculated;
- }
- public void setCalculated(boolean calculated) {
- this.calculated = calculated;
- }
- public String getColType() {
- return colType;
- }
- public void setColType(String colType) {
- this.colType = colType;
- }
- public String getHyperlinkURL() {
- return hyperlinkURL;
- }
- public void setHyperlinkURL(String hyperlinkURL) {
- this.hyperlinkURL = hyperlinkURL;
- }
- public String getHyperlinkType() {
- return hyperlinkType;
- }
- public void setHyperlinkType(String hyperlinkType) {
- this.hyperlinkType = hyperlinkType;
- }
- public String getActionImg() {
- return actionImg;
- }
- public void setActionImg(String actionImg) {
- this.actionImg = actionImg;
- }
- public Integer getGroupByPos() {
- return groupByPos;
- }
- public void setGroupByPos(Integer groupByPos) {
- this.groupByPos = groupByPos;
- }
- public String getSubTotalCustomText() {
- return subTotalCustomText;
- }
- public void setSubTotalCustomText(String subTotalCustomText) {
- this.subTotalCustomText = subTotalCustomText;
- }
- public Boolean getHideRepeatedKey() {
- return hideRepeatedKey;
- }
- public void setHideRepeatedKey(Boolean hideRepeatedKey) {
- this.hideRepeatedKey = hideRepeatedKey;
- }
- public String getColFormat() {
- return colFormat;
- }
- public void setColFormat(String colFormat) {
- this.colFormat = colFormat;
- }
- public boolean isGroupBreak() {
- return groupBreak;
- }
- public void setGroupBreak(boolean groupBreak) {
- this.groupBreak = groupBreak;
- }
- public Integer getOrderBySeq() {
- return orderBySeq;
- }
- public void setOrderBySeq(Integer orderBySeq) {
- this.orderBySeq = orderBySeq;
- }
- public String getOrderByAscDesc() {
- return orderByAscDesc;
- }
- public void setOrderByAscDesc(String orderByAscDesc) {
- this.orderByAscDesc = orderByAscDesc;
- }
- public String getDisplayTotal() {
- return displayTotal;
- }
- public void setDisplayTotal(String displayTotal) {
- this.displayTotal = displayTotal;
- }
- public String getColOnChart() {
- return colOnChart;
- }
- public void setColOnChart(String colOnChart) {
- this.colOnChart = colOnChart;
- }
- public Integer getChartSeq() {
- return chartSeq;
- }
- public void setChartSeq(Integer chartSeq) {
- this.chartSeq = chartSeq;
- }
- public String getChartColor() {
- return chartColor;
- }
- public void setChartColor(String chartColor) {
- this.chartColor = chartColor;
- }
- public String getChartLineType() {
- return chartLineType;
- }
- public void setChartLineType(String chartLineType) {
- this.chartLineType = chartLineType;
- }
- public Boolean getChartSeries() {
- return chartSeries;
- }
- public void setChartSeries(Boolean chartSeries) {
- this.chartSeries = chartSeries;
- }
- public Boolean getIsRangeAxisFilled() {
- return isRangeAxisFilled;
- }
- public void setIsRangeAxisFilled(Boolean isRangeAxisFilled) {
- this.isRangeAxisFilled = isRangeAxisFilled;
- }
- public Boolean getCreateInNewChart() {
- return createInNewChart;
- }
- public void setCreateInNewChart(Boolean createInNewChart) {
- this.createInNewChart = createInNewChart;
- }
- public String getDrillDownType() {
- return drillDownType;
- }
- public void setDrillDownType(String drillDownType) {
- this.drillDownType = drillDownType;
- }
- public Boolean getDrillinPoPUp() {
- return drillinPoPUp;
- }
- public void setDrillinPoPUp(Boolean drillinPoPUp) {
- this.drillinPoPUp = drillinPoPUp;
- }
- public String getDrillDownURL() {
- return drillDownURL;
- }
- public void setDrillDownURL(String drillDownURL) {
- this.drillDownURL = drillDownURL;
- }
- public String getDrillDownParams() {
- return drillDownParams;
- }
- public void setDrillDownParams(String drillDownParams) {
- this.drillDownParams = drillDownParams;
- }
- public String getComment() {
- return comment;
- }
- public void setComment(String comment) {
- this.comment = comment;
- }
- public ColFilterList getColFilterList() {
- return colFilterList;
- }
- public void setColFilterList(ColFilterList colFilterList) {
- this.colFilterList = colFilterList;
- }
- public String getSemaphoreId() {
- return semaphoreId;
- }
- public void setSemaphoreId(String semaphoreId) {
- this.semaphoreId = semaphoreId;
- }
- public String getDbColType() {
- return dbColType;
- }
- public void setDbColType(String dbColType) {
- this.dbColType = dbColType;
- }
- public String getChartGroup() {
- return chartGroup;
- }
- public void setChartGroup(String chartGroup) {
- this.chartGroup = chartGroup;
- }
- public String getyAxis() {
- return yAxis;
- }
- public void setyAxis(String yAxis) {
- this.yAxis = yAxis;
- }
- public String getDependsOnFormField() {
- return dependsOnFormField;
- }
- public void setDependsOnFormField(String dependsOnFormField) {
- this.dependsOnFormField = dependsOnFormField;
- }
- public String getNowrap() {
- return nowrap;
- }
- public void setNowrap(String nowrap) {
- this.nowrap = nowrap;
- }
- public Integer getIndentation() {
- return indentation;
- }
- public void setIndentation(Integer indentation) {
- this.indentation = indentation;
- }
- public Boolean getEnhancedPagination() {
- return enhancedPagination;
- }
- public void setEnhancedPagination(Boolean enhancedPagination) {
- this.enhancedPagination = enhancedPagination;
- }
- public Integer getLevel() {
- return level;
- }
- public void setLevel(Integer level) {
- this.level = level;
- }
- public Integer getStart() {
- return start;
- }
- public void setStart(Integer start) {
- this.start = start;
- }
- public Integer getColspan() {
- return colspan;
- }
- public void setColspan(Integer colspan) {
- this.colspan = colspan;
- }
- public String getDataMiningCol() {
- return dataMiningCol;
- }
- public void setDataMiningCol(String dataMiningCol) {
- this.dataMiningCol = dataMiningCol;
- }
- public String getColId() {
- return colId;
- }
- public void setColId(String colId) {
- this.colId = colId;
- }
-
-}*/
-
-/*class Row {
- private String displayValue;
- private String dataType;
- private String colId;
- private boolean visible;
-
-
- public boolean isVisible() {
- return visible;
- }
- public void setVisible(boolean visible) {
- this.visible = visible;
- }
- public String getDisplayValue() {
- return displayValue;
- }
- public void setDisplayValue(String displayValue) {
- this.displayValue = displayValue;
- }
- public String getDataType() {
- return dataType;
- }
- public void setDataType(String dataType) {
- this.dataType = dataType;
- }
- public String getColId() {
- return colId;
- }
- public void setColId(String colId) {
- this.colId = colId;
- }
-
-
-}*/
-class FormFieldJSON {
- private String fieldId;
- private String fieldDisplayName;
- private String fieldType;
- private String validationType;
- private boolean required;
- //private String defaultValue;
-
- private Calendar rangeStartDate;
- private Calendar rangeEndDate;
- private String multiSelectListSize;
- private String helpText;
- private boolean visible;
- private boolean triggerOtherFormFields;
- private ArrayList<IdNameValue> formFieldValues;
-
- public String getFieldId() {
- return fieldId;
- }
- public void setFieldId(String fieldId) {
- this.fieldId = fieldId;
- }
- public String getFieldDisplayName() {
- return fieldDisplayName;
- }
- public void setFieldDisplayName(String fieldDisplayName) {
- this.fieldDisplayName = fieldDisplayName;
- }
- public String getFieldType() {
- return fieldType;
- }
- public void setFieldType(String fieldType) {
- this.fieldType = fieldType;
- }
- public String getValidationType() {
- return validationType;
- }
- public void setValidationType(String validationType) {
- this.validationType = validationType;
- }
- public boolean isRequired() {
- return required;
- }
- public void setRequired(boolean required) {
- this.required = required;
- }
- public Calendar getRangeStartDate() {
- return rangeStartDate;
- }
- public void setRangeStartDate(Calendar rangeStartDate) {
- this.rangeStartDate = rangeStartDate;
- }
- public Calendar getRangeEndDate() {
- return rangeEndDate;
- }
- public void setRangeEndDate(Calendar rangeEndDate) {
- this.rangeEndDate = rangeEndDate;
- }
- public String getMultiSelectListSize() {
- return multiSelectListSize;
- }
- public void setMultiSelectListSize(String multiSelectListSize) {
- this.multiSelectListSize = multiSelectListSize;
- }
- public String getHelpText() {
- return helpText;
- }
- public void setHelpText(String helpText) {
- this.helpText = helpText;
- }
- public boolean isVisible() {
- return visible;
- }
- public void setVisible(boolean visible) {
- this.visible = visible;
- }
- public boolean isTriggerOtherFormFields() {
- return triggerOtherFormFields;
- }
- public void setTriggerOtherFormFields(boolean triggerOtherFormFields) {
- this.triggerOtherFormFields = triggerOtherFormFields;
- }
- public ArrayList<IdNameValue> getFormFieldValues() {
- return formFieldValues;
- }
- public void setFormFieldValues(ArrayList<IdNameValue> formFieldValues) {
- this.formFieldValues = formFieldValues;
- }
-
-
-}
-public class ReportJSONRuntime {
-
- private String reportID;
- private String reportName;
- private String reportDescr;
- private String reportTitle;
- private String reportSubTitle;
- private boolean allowSchedule;
- private boolean allowEdit;
- private ArrayList <FormFieldJSON> formFieldList;
- private String formfield_comments;
- private ArrayList<ColumnHeader> reportDataColumns;
- private ArrayList<Map<String,Object>> reportDataRows;
- private int totalRows;
- private int pageSize;
- private String sqlWhole;
- private boolean chartAvailable;
- private boolean chartWizardAvailable;
- private boolean displayData;
- private boolean displayForm;
- private boolean displayExcel;
- private boolean displayPDF;
- private String backBtnURL;
- private String colIdxTobeFreezed;
- private int numFormCols;
- private String message;
-
-
- public boolean isChartAvailable() {
- return chartAvailable;
- }
- public void setChartAvailable(boolean chartAvailable) {
- this.chartAvailable = chartAvailable;
- }
- public ArrayList<Map<String,Object>> getReportDataRows() {
- return reportDataRows;
- }
- public void setReportDataRows(ArrayList<Map<String,Object>> reportDataRows) {
- this.reportDataRows = reportDataRows;
- }
- public String getReportID() {
- return reportID;
- }
- public void setReportID(String reportID) {
- this.reportID = reportID;
- }
- public String getReportName() {
- return reportName;
- }
- public void setReportName(String reportName) {
- this.reportName = reportName;
- }
- public String getReportDescr() {
- return reportDescr;
- }
- public void setReportDescr(String reportDescr) {
- this.reportDescr = reportDescr;
- }
- public String getReportTitle() {
- return reportTitle;
- }
- public void setReportTitle(String reportTitle) {
- this.reportTitle = reportTitle;
- }
- public String getReportSubTitle() {
- return reportSubTitle;
- }
- public void setReportSubTitle(String reportSubTitle) {
- this.reportSubTitle = reportSubTitle;
- }
- public boolean isAllowSchedule() {
- return allowSchedule;
- }
- public void setAllowSchedule(boolean allowSchedule) {
- this.allowSchedule = allowSchedule;
- }
- public ArrayList getFormFieldList() {
- return formFieldList;
- }
- public void setFormFieldList(ArrayList formFieldList) {
- this.formFieldList = formFieldList;
- }
- public String getFormfield_comments() {
- return formfield_comments;
- }
- public void setFormfield_comments(String formfield_comments) {
- this.formfield_comments = formfield_comments;
- }
- public ArrayList<ColumnHeader> getReportDataColumns() {
- return reportDataColumns;
- }
- public void setReportDataColumns(ArrayList<ColumnHeader> reportDataColumns) {
- this.reportDataColumns = reportDataColumns;
- }
-
- public int getTotalRows() {
- return totalRows;
- }
- public void setTotalRows(int totalRows) {
- this.totalRows = totalRows;
- }
- public int getPageSize() {
- return pageSize;
- }
- public void setPageSize(int pageSize) {
- this.pageSize = pageSize;
- }
- public String getSqlWhole() {
- return sqlWhole;
- }
- public void setSqlWhole(String sqlWhole) {
- this.sqlWhole = sqlWhole;
- }
-
- public boolean isAllowEdit() {
- return allowEdit;
- }
- public void setAllowEdit(boolean allowEdit) {
- this.allowEdit = allowEdit;
- }
- public String getBackBtnURL() {
- return backBtnURL;
- }
- public void setBackBtnURL(String backBtnURL) {
- this.backBtnURL = backBtnURL;
- }
- public String getColIdxTobeFreezed() {
- return colIdxTobeFreezed;
- }
- public void setColIdxTobeFreezed(String colIdxTobeFreezed) {
- this.colIdxTobeFreezed = colIdxTobeFreezed;
- }
- public int getNumFormCols() {
- return numFormCols;
- }
- public void setNumFormCols(int numFormCols) {
- this.numFormCols = numFormCols;
- }
- public boolean isDisplayData() {
- return displayData;
- }
- public void setDisplayData(boolean displayData) {
- this.displayData = displayData;
- }
- public boolean isDisplayForm() {
- return displayForm;
- }
- public void setDisplayForm(boolean displayForm) {
- this.displayForm = displayForm;
- }
- public boolean isDisplayExcel() {
- return displayExcel;
- }
- public void setDisplayExcel(boolean displayExcel) {
- this.displayExcel = displayExcel;
- }
- public boolean isDisplayPDF() {
- return displayPDF;
- }
- public void setDisplayPDF(boolean displayPDF) {
- this.displayPDF = displayPDF;
- }
- public String getMessage() {
- return message;
- }
- public void setMessage(String message) {
- this.message = message;
- }
- public boolean isChartWizardAvailable() {
- return chartWizardAvailable;
- }
- public void setChartWizardAvailable(boolean chartWizardAvilable) {
- this.chartWizardAvailable = chartWizardAvilable;
- }
-
-
-
-
-}
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportParamDateValueParser.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportParamDateValueParser.java
deleted file mode 100644
index e3bbe4d0..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportParamDateValueParser.java
+++ /dev/null
@@ -1,194 +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.runtime;
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.GregorianCalendar;
-
-import org.openecomp.portalsdk.analytics.system.Globals;
-import org.openecomp.portalsdk.analytics.util.AppConstants;
-import org.openecomp.portalsdk.analytics.util.Utils;
-
-public class ReportParamDateValueParser {
-
- /*public static final SimpleDateFormat[] dateFormats;
-
- static {
- dateFormats = new SimpleDateFormat[5];
- (dateFormats[0] = new SimpleDateFormat(AppConstants.JAVA_DATE_FORMAT_MONTHYYYY))
- .setLenient(true);
- (dateFormats[1] = new SimpleDateFormat(AppConstants.JAVA_DATE_FORMAT_MONTHDDYYYY))
- .setLenient(true);
- (dateFormats[2] = new SimpleDateFormat(AppConstants.JAVA_DATE_FORMAT_MMDDYYYY))
- .setLenient(true);
- (dateFormats[3] = new SimpleDateFormat(AppConstants.JAVA_DATE_FORMAT_MMYYYY))
- .setLenient(true);
- (dateFormats[4] = new SimpleDateFormat(AppConstants.JAVA_DATE_FORMAT_DDMONYYYY))
- .setLenient(true);
- }*/
-
- public static boolean isDateHrParam(String param) {
- SimpleDateFormat[] dateFormats = new SimpleDateFormat[2];
- (dateFormats[0] = new SimpleDateFormat(AppConstants.JAVA_DATE_FORMAT_MMDDYYYY_HR))
- .setLenient(true);
- (dateFormats[1] = new SimpleDateFormat(AppConstants.JAVA_DATE_FORMAT_DDMONYYYY_HR))
- .setLenient(true);
- for (int i = 0; i < dateFormats.length; i++) {
- try {
- if (dateFormats[i].parse(param) != null) {
- return true;
- }
- } catch (ParseException pe) {
- // do nothing, continue to check param against other dates
- }
- catch (NumberFormatException pe) {
- // do nothing, continue to check param against other dates
- }
- }
- return false;
- }
- public static boolean isDateParam(String param) {
- SimpleDateFormat[] dateFormats = new SimpleDateFormat[5];
- (dateFormats[0] = new SimpleDateFormat(AppConstants.JAVA_DATE_FORMAT_MONTHYYYY))
- .setLenient(true);
- (dateFormats[1] = new SimpleDateFormat(AppConstants.JAVA_DATE_FORMAT_MONTHDDYYYY))
- .setLenient(true);
- (dateFormats[2] = new SimpleDateFormat(AppConstants.JAVA_DATE_FORMAT_MMDDYYYY))
- .setLenient(true);
- (dateFormats[3] = new SimpleDateFormat(AppConstants.JAVA_DATE_FORMAT_MMYYYY))
- .setLenient(true);
- (dateFormats[4] = new SimpleDateFormat(AppConstants.JAVA_DATE_FORMAT_DDMONYYYY))
- .setLenient(true);
-
- for (int i = 0; i < dateFormats.length; i++) {
- try {
- if (dateFormats[i].parse(param) != null) {
- return true;
- }
- } catch (ParseException pe) {
- // do nothing, continue to check param against other dates
- }
- catch (NumberFormatException pe) {
- // do nothing, continue to check param against other dates
- }
- }
- return false;
- }
-
- public static String formatDateParamValue(String param) {
- return ReportParamDateValueParser.formatDateParamValue(param, null);
- }
-
- public static String formatDateHrParamValue(String param) {
- return ReportParamDateValueParser.formatDateHrParamValue(param, null);
- }
-
- public static String formatDateHrParamValue(String param, String dateHrFormatPattern) {
- String formattedDate = null;
- Date parsedDate = null;
-
- dateHrFormatPattern = (dateHrFormatPattern != null) ? dateHrFormatPattern
- : "HH";
-
- SimpleDateFormat[] dateFormats = new SimpleDateFormat[2];
- (dateFormats[0] = new SimpleDateFormat(AppConstants.JAVA_DATE_FORMAT_MMDDYYYY_HR))
- .setLenient(true);
- (dateFormats[1] = new SimpleDateFormat(AppConstants.JAVA_DATE_FORMAT_DDMONYYYY_HR))
- .setLenient(true);
-
- for (int i = 0; i < dateFormats.length; i++) {
- try {
- if (dateFormats[i].parse(param) != null) {
- SimpleDateFormat newDateFormat = new SimpleDateFormat(dateHrFormatPattern);
- parsedDate = dateFormats[i].parse(param);
- formattedDate = newDateFormat.format(parsedDate);
-
-
- return formattedDate;
- }
- } catch (ParseException pe) {
- // do nothing, continue to check param against other dates and
- // format accordingly
- }
- catch (NumberFormatException pe) {
- // do nothing, continue to check param against other dates
- }
- }
- return param;
- }
-
-
- public static String formatDateParamValue(String param, String dateFormatPattern) {
- String formattedDate = null;
- Date parsedDate = null;
-
- dateFormatPattern = (dateFormatPattern != null) ? dateFormatPattern
- : AppConstants.JAVA_DATE_FORMAT_MMDDYYYY;
-
- SimpleDateFormat[] dateFormats = new SimpleDateFormat[5];
- (dateFormats[0] = new SimpleDateFormat(AppConstants.JAVA_DATE_FORMAT_MONTHYYYY))
- .setLenient(true);
- (dateFormats[1] = new SimpleDateFormat(AppConstants.JAVA_DATE_FORMAT_MONTHDDYYYY))
- .setLenient(true);
- (dateFormats[2] = new SimpleDateFormat(AppConstants.JAVA_DATE_FORMAT_MMDDYYYY))
- .setLenient(true);
- (dateFormats[3] = new SimpleDateFormat(AppConstants.JAVA_DATE_FORMAT_MMYYYY))
- .setLenient(true);
- (dateFormats[4] = new SimpleDateFormat(AppConstants.JAVA_DATE_FORMAT_DDMONYYYY))
- .setLenient(true);
-
- for (int i = 0; i < dateFormats.length; i++) {
- try {
- if (dateFormats[i].parse(param) != null) {
- SimpleDateFormat newDateFormat = new SimpleDateFormat(dateFormatPattern);
- parsedDate = dateFormats[i].parse(param);
- formattedDate = newDateFormat.format(parsedDate);
-
- if (Globals.getMonthFormatUseLastDay()
- && (dateFormats[i].toPattern().equals(
- AppConstants.JAVA_DATE_FORMAT_MMYYYY) || dateFormats[i]
- .toPattern().equals(
- AppConstants.JAVA_DATE_FORMAT_MONTHYYYY))) {
-
- GregorianCalendar gc = new GregorianCalendar();
- gc.setTime(parsedDate);
- int day = gc.getActualMaximum(GregorianCalendar.DAY_OF_MONTH);
- formattedDate = Utils.replaceInString(formattedDate, "/01/", "/"
- + String.valueOf(day) + "/");
-
- }
-
- return formattedDate;
- }
- } catch (ParseException pe) {
- // do nothing, continue to check param against other dates and
- // format accordingly
- }
- catch (NumberFormatException pe) {
- // do nothing, continue to check param against other dates
- }
- }
- return param;
- }
-
-} // ReportParamValues
-
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportParamValues.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportParamValues.java
deleted file mode 100644
index 66b5f517..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportParamValues.java
+++ /dev/null
@@ -1,370 +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.runtime;
-
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Iterator;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.openecomp.portalsdk.analytics.error.RaptorException;
-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.Utils;
-import org.openecomp.portalsdk.analytics.util.XSSFilter;
-import org.openecomp.portalsdk.core.controller.FavoritesController;
-import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
-
-public class ReportParamValues extends Hashtable {
- EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(FavoritesController.class);
-
- private Hashtable paramIsMultiValue = null;
- private Hashtable paramIsTextAreaValue = null;
- private Hashtable paramIsTextAreaDrilldownValue = null;
- private Hashtable paramIsTextAreaValueModified = null;
- private ReportFormFields rff = null;
-
- private Hashtable multiValueBaseSQL = null;
- private Hashtable textAreaValueBaseSQL = null;
-
- public ReportParamValues() {
- super();
- paramIsMultiValue = new Hashtable();
- multiValueBaseSQL = new Hashtable();
- paramIsTextAreaValue = new Hashtable();
- paramIsTextAreaDrilldownValue = new Hashtable();
- paramIsTextAreaValueModified = new Hashtable();
- } // ReportParamValues
-
- public ReportParamValues(ReportFormFields rff, String reportDefType) {
- this();
- this.rff = rff;
- for (Iterator iter = rff.iterator(); iter.hasNext();) {
- FormField ff = (FormField) iter.next();
- if(ff.getValidationType().equals(FormField.VT_TIMESTAMP_HR) || ff.getValidationType().equals(FormField.VT_TIMESTAMP_MIN) || ff.getValidationType().equals(FormField.VT_TIMESTAMP_SEC)) {
- put(ff.getFieldName(), nvl(ff.getDefaultValue()));
- put(ff.getFieldName()+"_Hr", nvl(ff.getDefaultValue()));
- if(ff.getValidationType().equals(FormField.VT_TIMESTAMP_MIN) || ff.getValidationType().equals(FormField.VT_TIMESTAMP_SEC)) {
- put(ff.getFieldName()+"_Min", nvl(ff.getDefaultValue()));
- }
- if(ff.getValidationType().equals(FormField.VT_TIMESTAMP_SEC)) {
- put(ff.getFieldName()+"_Sec", nvl(ff.getDefaultValue()));
- }
- } else
- put(ff.getFieldName(), nvl(ff.getDefaultValue()));
-
- boolean isMultiValue = ff.getFieldType().equals(FormField.FFT_CHECK_BOX)
- || ff.getFieldType().equals(FormField.FFT_LIST_MULTI);
- boolean isTextAreaValue = ff.getFieldType().equals(FormField.FFT_TEXTAREA) && reportDefType
- .equals(AppConstants.RD_SQL_BASED);
-
- paramIsMultiValue.put(ff.getFieldName(), new Boolean(isMultiValue));
- paramIsTextAreaValue.put(ff.getFieldName(), new Boolean(isTextAreaValue));
-
- if ((isMultiValue || isTextAreaValue) && ff.getBaseSQL() != null)
- multiValueBaseSQL.put(ff.getFieldName(), ff.getBaseSQL());
-
-
- } // for
- } // ReportParamValues
-
- /*
- * public ReportParamValues(ReportFormFields rff, HttpServletRequest
- * request) { this(rff);
- *
- * setParamValues(request); } // ReportParamValues
- */
- public boolean isParameterMultiValue(String fieldName) {
- Boolean b = (Boolean) paramIsMultiValue.get(fieldName);
- return (b != null) ? b.booleanValue() : false;
- } // isParameterMultiValue
-
- public boolean isParameterTextAreaValue(String fieldName) {
- Boolean b = (Boolean) paramIsTextAreaValue.get(fieldName);
- return (b != null) ? b.booleanValue() : false;
- } // isParameterMultiValue
-
- public boolean isParameterTextAreaValueAndModified(String fieldName) {
- Boolean b = (Boolean) paramIsTextAreaValueModified.get(fieldName);
- return (b != null) ? b.booleanValue() : false;
- } // isParameterMultiValue
-
- public boolean setParamValues(HttpServletRequest request, boolean refresh) {
- long currentTime = System.currentTimeMillis();
- //System.out.println("ReportParamValues setParamValues called " + refresh);
- boolean paramUpdated = false;
- if(refresh) clearValues();
- for (Enumeration enKeys = keys(); enKeys.hasMoreElements();) {
- String key = (String) enKeys.nextElement();
- String oldValue = XSSFilter.filterRequestOnlyScript(getParamValue(key));
- String newValue = null;
- if (isParameterMultiValue(key)) {
- String[] values = request.getParameterValues(key);
-
- if (values != null) {
- StringBuffer sb = new StringBuffer();
- for (int i = 0; i < values.length; i++) {
- if (sb.length() > 0)
- sb.append('|');
- sb.append(values[i]);
- } // for
-
- newValue = XSSFilter.filterRequestOnlyScript(sb.toString());
- } // if
- } else if (isParameterTextAreaValue(key)) {
-/* String[] values = request.getParameterValues(key);
-
- if (values != null) {
- StringBuffer sb = new StringBuffer();
- for (int i = 0; i < values.length; i++) {
- if (sb.length() > 0)
- sb.append('|');
- sb.append(values[i]);
- } // for
-*/
- String value = "";
- value = request.getParameter(key);
- value = Utils.oracleSafe(nvl(value));
- paramIsTextAreaDrilldownValue.put(key, value);
- value = value.replaceAll(",", "|");
- value = "('" + Utils.replaceInString(value, "|", "','") + "')";
- //value = Utils.replaceInString(value, "|", ",");
- newValue = XSSFilter.filterRequestOnlyScript(value);
- paramIsTextAreaValueModified.put(key, new Boolean(true));
- //} // if
-
- } else
- // newValue = nvl(request.getParameter(key));
- newValue = XSSFilter.filterRequestOnlyScript(request.getParameter(key));
- //debugLogger.debug("IN REPORTPARAM ^NEW VALUE " + newValue + " OLD VALUE " + oldValue + " KEY " + key + " isParameterMultiValue(key) " + isParameterMultiValue(key));
- if(!isParameterMultiValue(key) && !isParameterTextAreaValue(key)) {
- if(refresh && nvl(newValue).length()<=0) {
- put(key, oldValue);
- } else if ( ((newValue != null && newValue.trim().length()>0) && (oldValue!=null && oldValue.trim().length()>0) && !newValue.equals(oldValue)) ||
- ((newValue != null && newValue.trim().length()>0) && (oldValue == null || oldValue.trim().length() <= 0)) ) {
- paramUpdated = true;
- //System.out.println("paramupdated1 " +paramUpdated+ " " + newValue + " " + oldValue);
- // if(newValue.startsWith("[") && newValue.endsWith("]")) {
- // newValue = getDateAsString(newValue);
- // }
- put(key, newValue);
- } else if (((newValue == null || newValue.trim().length()<=0)) && (oldValue!=null && oldValue.trim().length()>0)) {
- paramUpdated = true;
- put(key, newValue);
- } else if (nvl(newValue).equals(nvl(oldValue)) ) {
- put(key, newValue);
- } else {
- put(key, "");
- }
- } else {
- if (((newValue != null && newValue.trim().length()>0) && (oldValue!=null && oldValue.trim().length()>0) && !newValue.equals(oldValue)) ||
- ((newValue != null && newValue.trim().length()>0) && (oldValue == null || oldValue.trim().length() <= 0)) && (isParameterMultiValue(key)||isParameterTextAreaValue(key))) {
- if(isParameterTextAreaValue(key)) {
- newValue = getParamValueforTextAreaDrilldown(key);
- if(newValue.length() > 0 && !newValue.equals(oldValue)) {
- paramUpdated = true;
- put (key, newValue);
- }
- } else {
- paramUpdated = true;
- put (key, newValue);
- }
-
- } else if (((newValue == null || newValue.trim().length()<=0)) && (oldValue!=null && oldValue.trim().length()>0) && (isParameterMultiValue(key)||isParameterTextAreaValue(key))) {
- paramUpdated = true;
- //System.out.println("paramupdated3 " +paramUpdated+ " N" + newValue + " O" + oldValue);
- put(key, "");
- }
- }
- } // for
- //printValues();
- logger.debug(EELFLoggerDelegate.debugLogger, ("[DEBUG MESSAGE FROM RAPTOR] ------->Time Taken for Adding/Clearing Param Values for Search Field Display " + (System.currentTimeMillis() - currentTime)));
- return paramUpdated;
- } // setParamValues
-
- public String getParamValueforTextAreaDrilldown(String key) {
- return (String) paramIsTextAreaDrilldownValue.get(key);
- }
-
- public String getParamValue(String key) {
- //This logic below is added to avoid BLANK formfield to pass through logic - Sundar
- if (key!=null) {
- if(isParameterTextAreaValueAndModified(key)) {
- String value = "";
- value = (String) get(key);
- value = Utils.oracleSafe(nvl(value));
- value = value.replaceAll(",","|");
- if(nvl(value).length()>0) {
- if(value.indexOf("|")!= -1) { // Need option to support "|"
- value = Utils.replaceInString(value,"\r\n","~");
- }
- value = Utils.replaceInString(value, "~", "' , '");
- value = "('" + Utils.replaceInString(value, "|", "','") + "')"; // changed from "|"
- //value = Utils.replaceInString(value, "|", ",");
- value = XSSFilter.filterRequestOnlyScript(value);
- return value;
- } else return "";
-
-// if(nvl(value).length()>0) {
-// value = Utils.replaceInString(value, ",", "|");
-// value = value.indexOf("('")!=-1? value.substring(2, value.length()-2):value;
-// value = Utils.replaceInString(value, "'|'", ",");
-// }
-// return value;
-
- } else
- return (String) get(key);
- }
- else
- return "";
- } // getParamValue
-
- public String getParamDisplayValue(String key) {
- String value = getParamValue(key);
- if (isParameterMultiValue(key))
- value = "(" + Utils.replaceInString(value, "|", ",") + ")";
- return value;
- } // getParamValue
-
- public String getParamBaseSQL(String key) {
- return (String) multiValueBaseSQL.get(key);
- } // getParamBaseSQL
-
- /** ************************************************************************************************* */
-
- private String nvl(String s) {
- return (s == null) ? "" : s;
- }
-
- private String nvl(String s, String sDefault) {
- return nvl(s).equals("") ? sDefault : s;
- }
-
- private boolean isNull(String a) {
- if ((a == null) || (a.length() == 0) || a.equalsIgnoreCase("null"))
- return true;
- else
- return false;
- }
-
- private void clearValues() {
- FormField ff = null;
- String defaultValue = "";
- String defaultSQL = "";
- String defaultQuery = "";
- DataSet dsDefault = null;
- if (rff!= null) {
- for (Enumeration enKeys = keys(); enKeys.hasMoreElements();) {
- String key = (String) enKeys.nextElement();
- for(rff.resetNext(); rff.hasNext(); ) {
- ff = rff.getNext();
- if(ff.getFieldName().equals(key)) {
- // Add default Value
- defaultValue = ff.getDefaultValue();
- defaultSQL = ff.getFieldDefaultSQL();
- if(nvl(defaultValue).length()>0) {
- put(key,ff.getDefaultValue());
- } else if(nvl(defaultSQL).length() > 0) {
- //defaultSQL = Utils.replaceInString(defaultSQL, "[LOGGED_USERID]", userId);
- if(!(isParameterMultiValue(key) || isParameterTextAreaValue(key))) {
- defaultQuery = "SELECT id, name FROM (SELECT rownum r, id, name FROM (" + defaultSQL
- + ") x "
- + ") xx ";
- try {
- dsDefault = ConnectionUtils.getDataSet(defaultQuery, ff.getDbInfo());
- if(dsDefault!=null && dsDefault.getRowCount()>0) {
- for (int i = 0; i < dsDefault.getRowCount(); i++) {
- put(key, dsDefault.getString(i, 0));
- }
- }
- } catch (RaptorException ex) {}
- } else put(key, "");
-
- } else put(key,"");
- break;
- }
- }
- }
- }
-
-/* for (Enumeration enKeys = keys(); enKeys.hasMoreElements();) {
- String key = (String) enKeys.nextElement();
- put(key,"");
- }
-*/
- }
-
-
- public void printValues() {
- for (Enumeration enKeys = keys(); enKeys.hasMoreElements();) {
- String key = (String) enKeys.nextElement();
- String value = (String) get(key);
- System.out.println("ReportParamValues " + key + " "+ value);
- }
- }
-
- private String getDateAsString (String keyword) {
- String sql = "";
- if (keyword.equals("[PROCESSING_DATE]")) {
- //sql = "select to_char(trunc(sysdate,'dd'), 'mm/dd/yyyy') as dateStr from dual";
- sql = "select to_char(trunc(sysdate,'dd'), 'mm/dd/yyyy') as dateStr" + Globals.getGenerateSqlVisualDual();
- } else if (keyword.equals("[PROCESSING_NEXT_DATE]")) {
- //sql = "select to_char(trunc(sysdate+1,'dd'), 'mm/dd/yyyy') as dateStr from dual";
- sql = "select to_char(trunc(sysdate+1,'dd'), 'mm/dd/yyyy') as dateStr" + Globals.getGenerateSqlVisualDual();
- } else if (keyword.equals("[PROCESSING_DAY_BEFORE_DATE]")) {
- //sql = "select to_char(trunc(sysdate-1,'dd'), 'mm/dd/yyyy') as dateStr from dual";
- sql = "select to_char(trunc(sysdate-1,'dd'), 'mm/dd/yyyy') as dateStr"+ Globals.getGenerateSqlVisualDual();
- } else if (keyword.equals("[PROCESSING_MONTH_START_DATE]")) {
- //sql = "select to_char(trunc(sysdate,'MM'), 'mm/dd/yyyy') as dateStr from dual";
- sql = "select to_char(trunc(sysdate,'MM'), 'mm/dd/yyyy') as dateStr"+ Globals.getGenerateSqlVisualDual();
- } else if (keyword.equals("[PROCESSING_MONTH_END_DATE]")) {
- //sql = "select to_char(last_day(sysdate), 'mm/dd/yyyy') as dateStr from dual";
- sql = "select to_char(last_day(sysdate), 'mm/dd/yyyy') as dateStr" + Globals.getGenerateSqlVisualDual();
- } else if (keyword.equals("[CURRENT_HOUR]")) {
- //sql = "select to_char(trunc(sysdate,'HH24'),'mm/dd/yyyy HH24') as dateStr from dual";
- sql = "select to_char(trunc(sysdate,'HH24'),'mm/dd/yyyy HH24') as dateStr"+ Globals.getGenerateSqlVisualDual();
- } else if (keyword.equals("[PREVIOUS_HOUR]")) {
- //sql = "select to_char(trunc(sysdate-1/24, 'HH24'),'mm/dd/yyyy HH24') as dateStr from dual";
- sql = "select to_char(trunc(sysdate-1/24, 'HH24'),'mm/dd/yyyy HH24') as dateStr" + Globals.getGenerateSqlVisualDual();
- } else if (keyword.equals("[NEXT_HOUR]")) {
- //sql = "select to_char(trunc(sysdate+1/24, 'HH24'),'mm/dd/yyyy HH24') as dateStr from dual";
- sql = "select to_char(trunc(sysdate+1/24, 'HH24'),'mm/dd/yyyy HH24') as dateStr" + Globals.getGenerateSqlVisualDual();
- }
- DataSet ds = null;
-
- try {
- if(sql.length()>0) {
- ds = DbUtils.executeQuery(sql);
- return ds.getString(0,0);
- }
- else
- return "";
- } catch (RaptorException ex) {
- ex.printStackTrace();
- //throw ex;
- }
- return "";
- }
-} // ReportParamValues
-
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportParamValuesForPDFExcel.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportParamValuesForPDFExcel.java
deleted file mode 100644
index f4bb9800..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportParamValuesForPDFExcel.java
+++ /dev/null
@@ -1,419 +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.runtime;
-
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Iterator;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.openecomp.portalsdk.analytics.error.RaptorException;
-import org.openecomp.portalsdk.analytics.error.ReportSQLException;
-import org.openecomp.portalsdk.analytics.system.AppUtils;
-import org.openecomp.portalsdk.analytics.system.ConnectionUtils;
-import org.openecomp.portalsdk.analytics.system.Globals;
-import org.openecomp.portalsdk.analytics.util.AppConstants;
-import org.openecomp.portalsdk.analytics.util.DataSet;
-import org.openecomp.portalsdk.analytics.util.Utils;
-import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
-
-public class ReportParamValuesForPDFExcel extends Hashtable {
-
- EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(ReportParamValuesForPDFExcel.class);
-
- private Hashtable paramIsMultiValue = null;
- private Hashtable paramIsTextAreaValue = null;
- private ReportFormFields rff = null;
-
- private Hashtable multiValueBaseSQL = null;
-
- public ReportParamValuesForPDFExcel() {
- super();
- paramIsMultiValue = new Hashtable();
- paramIsTextAreaValue = new Hashtable();
- multiValueBaseSQL = new Hashtable();
- } // ReportParamValues
-
- public ReportParamValuesForPDFExcel(ReportFormFields rff, String reportDefType) {
- this();
- this.rff = rff;
- for (Iterator iter = rff.iterator(); iter.hasNext();) {
- FormField ff = (FormField) iter.next();
-
- put(ff.getFieldName(), nvl(ff.getDefaultValue()));
-
- boolean isMultiValue = ff.getFieldType().equals(FormField.FFT_CHECK_BOX)
- || ff.getFieldType().equals(FormField.FFT_LIST_MULTI);
- boolean isTextAreaValue = ff.getFieldType().equals(FormField.FFT_TEXTAREA) && reportDefType
- .equals(AppConstants.RD_SQL_BASED);
- paramIsMultiValue.put(ff.getFieldName(), new Boolean(isMultiValue));
- paramIsTextAreaValue.put(ff.getFieldName(), new Boolean(isTextAreaValue));
- if (isMultiValue && ff.getBaseSQL() != null)
- multiValueBaseSQL.put(ff.getFieldName(), ff.getBaseSQL());
- } // for
- } // ReportParamValues
-
- /*
- * public ReportParamValues(ReportFormFields rff, HttpServletRequest
- * request) { this(rff);
- *
- * setParamValues(request); } // ReportParamValues
- */
- public boolean isParameterMultiValue(String fieldName) {
- Boolean b = (Boolean) paramIsMultiValue.get(fieldName);
- return (b != null) ? b.booleanValue() : false;
- } // isParameterMultiValue
-
- public boolean isParameterTextAreaValue(String fieldName) {
- Boolean b = (Boolean) paramIsTextAreaValue.get(fieldName);
- return (b != null) ? b.booleanValue() : false;
- } // isParameterMultiValue
-
- public boolean setParamValues(HttpServletRequest request, boolean refresh) {
- //debugLogger.debug("ReportParamValues for PDF Excel setParamValues called " + refresh);
- long currentTime = System.currentTimeMillis();
- boolean paramUpdated = false;
- if(refresh) clearValues();
- String name = null;
- String value = null;
- String value1 = "";
- String sql = "";
- FormField ff = null;
- String dbInfo = null;
- ReportRuntime rr = (ReportRuntime) request.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME);
- if(rr!=null && rr.getReportType().equals(AppConstants.RT_DASHBOARD)) {
- rr = (ReportRuntime) request.getSession().getAttribute("FirstDashReport");
- if(rr!=null)
- rff = rr.getReportFormFields();
- } else if (rr == null) {
- rr = (ReportRuntime) request.getSession().getAttribute("FirstDashReport");
- if(rr!=null)
- rff = rr.getReportFormFields();
- } else {
- rff = rr.getReportFormFields();
- }
-
- if(rr!=null) {
- dbInfo = rr.getDBInfo();
- if (Utils.isNull(dbInfo)) {
- dbInfo = (String) request.getSession().getAttribute("remoteDB");
- }
- if(!Utils.isNull(dbInfo)){
- for (Iterator iter = rff.iterator(); iter.hasNext();) {
- name=""; //just added
- ff = (FormField) iter.next();
- //debugLogger.debug("ff.getFieldName " + ff.getFieldName() + " " + ff.getFieldDisplayName() + " " + ff.getFieldType()+ " " +ff.getBaseSQLForPDFExcel()+ " "+ rr.getParamValue(ff.getFieldName()));
- if(!ff.getFieldType().equals(FormField.FFT_BLANK)) {
- sql = ff.getBaseSQLForPDFExcel();
- if(sql!=null && sql.trim().length()>0)
- sql = Utils.replaceInString(sql, "[LOGGED_USERID]", AppUtils.getUserID(request));
- if(ff.getFieldType().equals(FormField.FFT_COMBO_BOX) || ff.getFieldType().equals(FormField.FFT_LIST_BOX) || ff.getFieldType().equals(FormField.FFT_TEXT_W_POPUP) || ff.getFieldType().equals(FormField.FFT_HIDDEN)) {
- for (Enumeration enum1 = rr.getParamKeys(); enum1.hasMoreElements();) {
- name = (String) enum1.nextElement();
- value = rr.getParamValue(name);
- value = getParamValueForSQL(name, value);
- if(name.startsWith("ff")) {
- for (Iterator iter1 = rff.iterator(); iter1.hasNext();) {
- FormField ff1 = (FormField) iter1.next();
-
- if(sql!=null && sql.trim().length()>0){
- if(name.equals(ff.getFieldName())){
- sql = Utils.replaceInString(sql, "[VALUE]", value);
- }
- if(name.equals(ff1.getFieldName())){
- sql = Utils.replaceInString(sql, "["+ff1.getFieldDisplayName()+"]", value);
-
- } else continue;
- }
- }
- }
- }
- } else if (ff.getFieldType().equals(ff.FFT_LIST_MULTI)||ff.getFieldType().equals(ff.FFT_CHECK_BOX)) {
- for (Enumeration enum1 = rr.getParamKeys(); enum1.hasMoreElements();) {
- name = (String) enum1.nextElement();
- value = rr.getParamValue(name);
- value = getParamValueForSQL(name, value);
- if(name.startsWith("ff")) {
- for (Iterator iter1 = rff.iterator(); iter1.hasNext();) {
- FormField ff1 = (FormField) iter1.next();
-
- if(sql!=null && sql.trim().length()>0){
- if(name.equals(ff.getFieldName())){
- sql = Utils.replaceInString(sql, "[VALUE]", value);
- }
- if(name.equals(ff1.getFieldName())){
- sql = Utils.replaceInString(sql, "["+ff1.getFieldDisplayName()+"]", value);
-
- } else continue;
- }
- }
- }
- }
- } else {
- if(nvl(ff.getFieldDefaultSQL()).length()<=0)
- sql = "";
- }
- if(sql!=null && sql.trim().length()>0){
- name = "";
- if(name.length()<=0) name = ff.getFieldName();
- value = rr.getParamValue(name);
- //debugLogger.debug("Name "+ name+ " value:" + value);
- String paramValue = getParamValueForSQL(name, value);
- //debugLogger.debug("PDFEXCEL " + name+ " " + ff.getFieldName()+ " " + value + " " + sql +" "+ paramValue);
- if(name!=null && name.equals(ff.getFieldName()))
- sql = Utils.replaceInString(sql, "[VALUE]", paramValue);
- if(paramValue == null) {
- if(sql.lastIndexOf("where id = ''")>0)
- sql = sql.substring(0, sql.lastIndexOf("where id = ''"));
- }
- //debugLogger.debug("SQL Modified " + sql);
- FormField ff2 = null;
- for (Iterator iter1 = rff.iterator(); iter1.hasNext();) {
- ff2 = (FormField)iter1.next();
- sql = Utils.replaceInString(sql, "[" + ff2.getFieldDisplayName() +"]", getParamValue(ff2.getFieldName()));
- }
- //debugLogger.debug("SQL Modified after replacing formfield" + sql);
- try {
- String[] reqParameters = Globals.getRequestParams().split(",");
- String[] sessionParameters = Globals.getSessionParams().split(",");
- String[] scheduleSessionParameters = Globals.getSessionParamsForScheduling().split(",");
- javax.servlet.http.HttpSession session = request.getSession();
- //debugLogger.debug("B4 Session " + sql);
- if(session != null ) {
- for (int i = 0; i < sessionParameters.length; i++) {
- sql = Utils.replaceInString(sql, "[" + sessionParameters[i].toUpperCase()+"]", (String)session.getAttribute(sessionParameters[i]) );
- }
- }
- //debugLogger.debug("B4 request " + sql);
- if(request != null ) {
- for (int i = 0; i < scheduleSessionParameters.length; i++) {
- sql = Utils.replaceInString(sql, "[" + scheduleSessionParameters[i].toUpperCase()+"]", request.getParameter(scheduleSessionParameters[i]) );
- }
- for (int i = 0; i < reqParameters.length; i++) {
- if(!reqParameters[i].startsWith("ff")) {
- if (request.getParameter(reqParameters[i])!=null) {
- sql = Utils.replaceInString(sql, "[" + reqParameters[i]+"]", request.getParameter(reqParameters[i]) );
- sql = Utils.replaceInString(sql, "[" + reqParameters[i].toUpperCase()+"]", request.getParameter(reqParameters[i]) );
- }
- else {
- sql = Utils.replaceInString(sql, "[" + reqParameters[i]+"]", request.getParameter(reqParameters[i].toUpperCase()) );
- sql = Utils.replaceInString(sql, "[" + reqParameters[i].toUpperCase()+"]", request.getParameter(reqParameters[i].toUpperCase()) );
- }
- }
- else
- sql = Utils.replaceInString(sql, "[" + reqParameters[i].toUpperCase()+"]", request.getParameter(reqParameters[i]) );
- }
- }
- //debugLogger.debug("After request " + sql);
- DataSet ds = null;
- try {
- ds = ConnectionUtils.getDataSet(sql, dbInfo);
- } catch (ReportSQLException ex) {
- logger.debug(EELFLoggerDelegate.debugLogger, ("sql not complete" + sql));
- }
- if(ff.getFieldType().equals(FormField.FFT_LIST_MULTI) || ff.getFieldType().equals(FormField.FFT_CHECK_BOX)) {
- StringBuffer multiValue = new StringBuffer("");
- if(ds!=null) {
- for(int i = 0; i < ds.getRowCount(); i++) {
- //if(i==0) multiValue.append("(");
- multiValue.append(ds.getString(i,1));
- if(i<ds.getRowCount()-1)
- multiValue.append("|");
- //else multiValue.append(")");
-
- }
- }
- put(ff.getFieldName(), nvl(multiValue.toString()));
- } else {
- if(ff.getValidationType().equals(FormField.VT_TIMESTAMP_HR) || ff.getValidationType().equals(FormField.VT_TIMESTAMP_MIN) || ff.getValidationType().equals(FormField.VT_TIMESTAMP_SEC) ) {
- value1 = nvl(rr.getParamValue(ff.getFieldName())) + " "+addZero(Utils.oracleSafe(nvl(rr
- .getParamValue(ff.getFieldName()+"_Hr"))));
- if(ff.getValidationType().equals(FormField.VT_TIMESTAMP_MIN) || ff.getValidationType().equals(FormField.VT_TIMESTAMP_SEC) ) {
- value1 = value1 + (nvl(rr
- .getParamValue(ff.getFieldName()+"_Min")).length() > 0 ? ":" + addZero(Utils.oracleSafe(nvl(rr
- .getParamValue(ff.getFieldName()+"_Min")))) : "");
- }
- if(ff.getValidationType().equals(FormField.VT_TIMESTAMP_SEC) ) {
- value1 = value1 + (nvl(rr
- .getParamValue(ff.getFieldName()+"_Sec")).length() > 0 ? ":"+ addZero(Utils.oracleSafe(nvl(rr
- .getParamValue(ff.getFieldName()+"_Sec")))) : "");
- }
- //debugLogger.debug("77777777777777 " + value1);
- put(ff.getFieldName(), nvl(value1));
- } else {
-
- if(ds!=null && ds.getRowCount()>0) put(ff.getFieldName(), nvl(ds.getString(0,1)));
- else put(ff.getFieldName(), nvl(value));
- }
- }
-
- paramUpdated = true;
- } catch (ReportSQLException ex) {
- logger.debug(EELFLoggerDelegate.debugLogger, ("sql not complete" + sql));
- }
- catch (Exception ex) {}
-
- //debugLogger.debug("66666666666666666 " + ff.getValidationType());
-
- //Added for TimeStamp validation
-
- } else {
- if(!ff.getFieldType().equals(FormField.FFT_BLANK)) {
- //Added for TimeStamp validation
- //debugLogger.debug("666666666666 " + ff.getValidationType());
- if(ff.getValidationType().equals(FormField.VT_TIMESTAMP_HR) || ff.getValidationType().equals(FormField.VT_TIMESTAMP_MIN) || ff.getValidationType().equals(FormField.VT_TIMESTAMP_SEC) ) {
- value1 = nvl(rr.getParamValue(ff.getFieldName())) + " "+addZero(Utils.oracleSafe(nvl(rr
- .getParamValue(ff.getFieldName()+"_Hr"))));
- if(ff.getValidationType().equals(FormField.VT_TIMESTAMP_MIN) || ff.getValidationType().equals(FormField.VT_TIMESTAMP_SEC) ) {
- value1 = value1 + (nvl(rr
- .getParamValue(ff.getFieldName()+"_Min")).length() > 0 ? ":" + addZero(Utils.oracleSafe(nvl(rr
- .getParamValue(ff.getFieldName()+"_Min")))) : "");
- }
- if(ff.getValidationType().equals(FormField.VT_TIMESTAMP_SEC) ) {
- value1 = value1 + (nvl(rr
- .getParamValue(ff.getFieldName()+"_Sec")).length() > 0 ? ":"+ addZero(Utils.oracleSafe(nvl(rr
- .getParamValue(ff.getFieldName()+"_Sec")))) : "");
- }
- //debugLogger.debug("77777777777777 " + value1);
- } else
- value1 = nvl(rr.getParamValue(ff.getFieldName()));
- if(value1.length()<=0) value1 = nvl(ff.getDefaultValue());
- put(ff.getFieldName(), nvl(value1));
-
- }
- paramUpdated = true;
- }
-
- } // BLANK
- } // for
- } // dbInfo
- } // !=null
-
- //printValues();
- logger.debug(EELFLoggerDelegate.debugLogger, ("[DEBUG MESSAGE FROM RAPTOR] ------->Time Taken for Adding/Clearing Param Values for FormField Info Bar " + (System.currentTimeMillis() - currentTime)));
- return paramUpdated;
- } // setParamValues
-
- public String getParamValue(String key) {
- if (key!=null)
- return (String) get(key);
- else
- return "NULL";
- } // getParamValue
-
- public String getParamValueForSQL(String key, String value) {
- value = Utils.oracleSafe(value);
- if (isParameterMultiValue(key))
- value = "('" + Utils.replaceInString(value, "|", "','") + "')";
- return value;
- } // getParamValue
-
- public String getParamDisplayValue(String key) {
- //debugLogger.debug("Key is " + key +" Value is " + getParamValue(key));
- String value = getParamValue(key);
- if (isParameterMultiValue(key))
- value = "(" + Utils.replaceInString(value, "|", ",") + ")";
- return value;
- } // getParamValue
-
- public String getParamBaseSQL(String key) {
- return (String) multiValueBaseSQL.get(key);
- } // getParamBaseSQL
-
- /** ************************************************************************************************* */
-
- private String nvl(String s) {
- return (s == null) ? "" : s;
- }
-
- private String nvl(String s, String sDefault) {
- return nvl(s).equals("") ? sDefault : s;
- }
-
- private boolean isNull(String a) {
- if ((a == null) || (a.length() == 0) || a.equalsIgnoreCase("null"))
- return true;
- else
- return false;
- }
-
- private void clearValues() {
- FormField ff = null;
- String defaultValue = "";
- String defaultSQL = "";
- String defaultQuery = "";
- DataSet dsDefault = null;
- if (rff!= null) {
- for (Enumeration enKeys = keys(); enKeys.hasMoreElements();) {
- String key = (String) enKeys.nextElement();
- for(rff.resetNext(); rff.hasNext(); ) {
- ff = rff.getNext();
- if(ff.getFieldName().equals(key)) {
- // Add default Value
- defaultValue = ff.getDefaultValue();
- defaultSQL = ff.getFieldDefaultSQL();
- if(nvl(defaultValue).length()>0) {
- put(key,ff.getDefaultValue());
- } else if(nvl(defaultSQL).length() > 0) {
- //defaultSQL = Utils.replaceInString(defaultSQL, "[LOGGED_USERID]", userId);
- if(!(isParameterMultiValue(key) || isParameterTextAreaValue(key))) {
- defaultQuery = "SELECT id, name FROM (SELECT rownum r, id, name FROM (" + defaultSQL
- + ") x "
- + ") xx ";
- try {
- dsDefault = ConnectionUtils.getDataSet(defaultQuery, ff.getDbInfo());
- if(dsDefault!=null && dsDefault.getRowCount()>0) {
- for (int i = 0; i < dsDefault.getRowCount(); i++) {
- put(key, dsDefault.getString(i, 1));
- }
- }
- } catch (RaptorException ex) {}
- } else put(key, "");
-
- } else put(key,"");
- break;
- }
- }
- }
- }
-
- }
-
- public void printValues() {
- for (Enumeration enKeys = keys(); enKeys.hasMoreElements();) {
- String key = (String) enKeys.nextElement();
- String value = (String) get(key);
- logger.debug(EELFLoggerDelegate.debugLogger, ("ReportParamValuesForPDFEXCEL " + key + " "+ value));
- }
- }
- 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;
- }
-
-} // ReportParamValues
-
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportRuntime.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportRuntime.java
deleted file mode 100644
index fd8fadcb..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportRuntime.java
+++ /dev/null
@@ -1,3618 +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.runtime;
-
-import java.io.Serializable;
-import java.sql.Connection;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.StringTokenizer;
-import java.util.Vector;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-
-import org.openecomp.portalsdk.analytics.error.RaptorException;
-import org.openecomp.portalsdk.analytics.model.DataCache;
-import org.openecomp.portalsdk.analytics.model.ReportHandler;
-import org.openecomp.portalsdk.analytics.model.ReportLoader;
-import org.openecomp.portalsdk.analytics.model.base.IdNameList;
-import org.openecomp.portalsdk.analytics.model.base.IdNameSql;
-import org.openecomp.portalsdk.analytics.model.base.IdNameValue;
-import org.openecomp.portalsdk.analytics.model.base.ReportWrapper;
-import org.openecomp.portalsdk.analytics.model.definition.Marker;
-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.Utils;
-import org.openecomp.portalsdk.analytics.view.ColumnHeader;
-import org.openecomp.portalsdk.analytics.view.ColumnHeaderRow;
-import org.openecomp.portalsdk.analytics.view.CrossTabOrderManager;
-import org.openecomp.portalsdk.analytics.view.CrossTabTotalValue;
-import org.openecomp.portalsdk.analytics.view.DataRow;
-import org.openecomp.portalsdk.analytics.view.DataValue;
-import org.openecomp.portalsdk.analytics.view.ReportData;
-import org.openecomp.portalsdk.analytics.view.RowHeaderCol;
-import org.openecomp.portalsdk.analytics.xmlobj.CustomReportType;
-import org.openecomp.portalsdk.analytics.xmlobj.DataColumnType;
-import org.openecomp.portalsdk.analytics.xmlobj.FormFieldType;
-import org.openecomp.portalsdk.analytics.xmlobj.ObjectFactory;
-import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-
-/**<HR/>
- * This class is part of <B><I>RAPTOR (Rapid Application Programming Tool for OLAP Reporting)</I></B><BR/>
- * <HR/>
- *
- * --------------------------------------------------------------------------------------------------<BR/>
- * <B>ReportRuntime.java</B> - This class involves in running, downloading RAPTOR reports.
- * --------------------------------------------------------------------------------------------------<BR/>
- *
- *
- * <U>Change Log</U><BR/><BR/>
- *
- * 27-Aug-2009 : Version 8.5 (Sundar); <UL><LI>Order by logic is restored for DAYTONA.</LI></UL>
- * 13-Aug-2009 : Version 8.5 (Sundar); <UL><LI>Removing order by logic is rollbacked.</LI></UL>
- * 22-Jun-2009 : Version 8.4 (Sundar); <UL><LI>Bug while parsing SQL for text download is fixed.</LI></UL>
- *
- */
-
-public class ReportRuntime extends ReportWrapper implements Cloneable, Serializable {
-
- static EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(ReportRuntime.class);
-
-
- //TODO DELETE IF PARSE SQL is not working
- private int curSQLParsePos = 0;
-
- private String xmlFileURL = null;
-
- private String xmlFileName = null;
-
- private String flatFileName = null;
-
- private String excelPageFileName = null;
-
- private int reportDataSize = -1;
-
- private boolean displayChart = true;
-
- private boolean displayForm = true;
-
- private boolean displayContent = true;
-
- private boolean reportRunLogged = false; // Used to avoid multiple
- // entries in the report log
- // when executing with different
- // params or going to next page
-
- private DataSet chartDataCache = null;
-
- private ReportData pageDataCache = null;
-
- private int cachedPageNo = -1;
-
- private String cachedSQL = null; // For display purposes only
-
- private String wholeSQL = null; // For display purposes only
-
- private String totalSql = null; // For display purposes only
-
- private ReportParamValues reportParamValues = null;
-
- private ReportParamValuesForPDFExcel reportParamValuesFPE = null;
-
- private ReportFormFields reportFormFields = null;
-
- private VisualManager visualManager = null;
-
- private CrossTabOrderManager crossTabOrderManager = null;
-
- private boolean displayColTotals = false;
-
- private boolean displayRowTotals = false;
-
- private DataRow colDataTotalsLinear = null;
-
- private Vector colDataTotalsCrosstab = null;
-
- private Vector rowDataTotalsCrosstab = null;
-
- private String grandTotalCrosstab = null;
-
- public static int DISPLAY_DATA_ONLY = 1;
- public static int DISPLAY_CHART_ONLY = 2;
- public static int DISPLAY_CHART_AND_DATA = 3;
-
- public static final int DATE_OPTION_MONTHLY = 1;
- public static final int DATE_OPTION_YEARLY = 2;
- public static final int DATE_OPTION_DAILY = 3;
-
-
- private int DISPLAY_MODE = 0;
-
- private int DATE_OPTION = -1;
-
- /*
- * private ReportRuntime(CustomReport cr, String reportID,
- * HttpServletRequest request) { super(cr, reportID);
- *
- * reportParamValues = new ReportParamValues(this); reportFormFields = new
- * ReportFormFields(this);
- *
- * if(request!=null) setParamValues(request); } // ReportRuntime
- */
- private ReportRuntime(CustomReportType crType, String reportID, HttpServletRequest request,
- String ownerID, String createID, String createDate, String updateID,
- String updateDate, String menuID, boolean menuApproved) throws RaptorException {
- super(crType, reportID, ownerID, createID, createDate, updateID, updateDate, menuID,
- menuApproved);
- initializeReportRuntime(request);
- } // ReportRuntime
-
- public ReportRuntime(ReportWrapper rw) throws RaptorException {
- this(rw, null);
- } // ReportRuntime
-
- public ReportRuntime(ReportWrapper rw, HttpServletRequest request)throws RaptorException {
- super(rw);
- initializeReportRuntime(request);
- } // ReportRuntime
-
- private void initializeReportRuntime(HttpServletRequest request) throws RaptorException {
- reportFormFields = new ReportFormFields(this, request);
- setParamValues(request, true, true);
-
- visualManager = new VisualManager();
- } // initializeReportRuntime
-
-// public void setReportFormFields(HttpServletRequest request) {
-// reportFormFields = new ReportFormFields(this, request);
-// setParamValues(request, true, true);
-// }
-
- public static ReportRuntime unmarshal(String reportXML, String reportID)
- throws RaptorException {
- return unmarshal(reportXML, reportID, null);
- } // unmarshal
-
- public static ReportRuntime unmarshal(String reportXML, String reportID,
- HttpServletRequest request) throws RaptorException {
- CustomReportType crType = ReportWrapper.unmarshalCR(reportXML);
- ObjectFactory objFactory = new ObjectFactory();
-
- logger.debug(EELFLoggerDelegate.debugLogger, ("[DEBUG MESSAGE FROM RAPTOR] Report [" + reportID + "]: XML unmarshalled"));
-
- return new ReportRuntime(crType, reportID, request, null, null, null, null, null, null,
- false);
-
- } // unmarshal
-
- public String getXmlFileURL() {
- return xmlFileURL;
- }
-
- public String getXmlFileName() {
- return xmlFileName;
- }
-
- public String getFlatFileName() {
- return flatFileName;
- }
-
- public String getExcelPageFileName() {
- return excelPageFileName;
- }
-
- public int getReportDataSize() {
- return reportDataSize;
- }
-
- public boolean getDisplayChart() {
- return displayChart;
- }
-
- public boolean getDisplayForm() {
- return displayForm;
- }
-
- public boolean getDisplayContent() {
- return displayContent;
- }
-
- public int getCachedPageNo() {
- return cachedPageNo;
- }
-
- public String getCachedSQL() {
- return cachedSQL;
- }
-
- public boolean isDashboardType() throws RaptorException {
- return ReportLoader.isDashboardType(getReportID());
- }
-
-
- public void setXmlFileURL(String xmlFileURL) {
- this.xmlFileURL = xmlFileURL;
- }
-
- public void setXmlFileName(String xmlFileName) {
- this.xmlFileName = xmlFileName;
- }
-
- public void setFlatFileName(String flatFileName) {
- this.flatFileName = flatFileName;
- }
-
- public void setExcelPageFileName(String excelPageFileName) {
- this.excelPageFileName = excelPageFileName;
- }
-
- /*private*/ public void setReportDataSize(int reportDataSize) {
- this.reportDataSize = reportDataSize;
- }
-
- private void setDisplayForm(boolean displayForm) {
- this.displayForm = displayForm;
- }
-
- private void setDisplayContent(boolean displayContent) {
- this.displayContent = displayContent;
- }
-
- public void setDisplayFlags(boolean isFirstAccess, boolean forceDisplayContent) {
- if (isFirstAccess) {
- setDisplayForm(true);
-
- if (forceDisplayContent)
- setDisplayContent(true);
- else if (Globals.getDisplayFormBeforeRun())
- if (needFormInput())
- setDisplayContent(false);
- else
- setDisplayContent(true);
- else
- setDisplayContent(true);
- } else {
- setDisplayContent(true);
-
- if (Globals.getIncludeFormWithData())
- setDisplayForm(true);
- else if (Globals.getDisplayFormBeforeRun())
- setDisplayForm(false);
- else
- setDisplayForm(true);
- } // else
- } // setDisplayFlags
-
- public void logReportRun(String userID, String executionTime, String formFields) throws RaptorException {
- if (reportRunLogged)
- return;
-
- ReportLoader.createReportLogEntry(null, reportID, userID, AppConstants.RLA_RUN,executionTime,formFields );
- reportRunLogged = true;
- } // logReportRun
-
- public void logReportExecutionTime(String userId, String executionTime, String action, String formFields) throws RaptorException {
- ReportLoader.createReportLogEntryForExecutionTime(null, reportID, userId,executionTime , action, formFields);
- }
-
- public void logReportExecutionTimeFromLogList (String userId, String executionTime, String formFields) throws RaptorException {
- ReportLoader.createReportLogEntryForExecutionTime(null, reportID, userId,executionTime , AppConstants.RLA_FROM_LOG, formFields);
- }
-
- public void resetVisualSettings() {
- boolean haveToResetCachedData = (visualManager.getSortByColId().length() > 0);
- visualManager = new VisualManager();
-
- if (haveToResetCachedData)
- pageDataCache = null;
-
- if (pageDataCache != null)
- pageDataCache.resetVisualSettings();
- } // resetVisualSettings
-
- /** ************** ReportParamValues processing *************** */
-
- public boolean setParamValues(HttpServletRequest request, boolean resetParams, boolean refresh) throws RaptorException {
- boolean paramsUpdated = false;
- if (resetParams) {
- reportFormFields = new ReportFormFields(this, request);
- reportParamValues = new ReportParamValues(reportFormFields, getReportDefType());
- // This is called even in the wizard page. Hence this condition.
- if((ReportRuntime) request.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)!=null)
- reportParamValuesFPE = new ReportParamValuesForPDFExcel(reportFormFields, getReportDefType());
- paramsUpdated = true;
-
- reportRunLogged = false;
- } else if (request != null) {
- paramsUpdated = reportParamValues.setParamValues(request,refresh);
- }
- // This is called even in the wizard page. Hence this condition.
- if((ReportRuntime) request.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME)!=null) {
- if(reportParamValuesFPE!=null) reportParamValuesFPE.setParamValues(request,refresh);
- else {
- reportParamValuesFPE = new ReportParamValuesForPDFExcel(reportFormFields, getReportDefType());
- reportParamValuesFPE.setParamValues(request,refresh);
- }
- } else {
- reportFormFields = new ReportFormFields(this, request);
- //added below two lines for dashboard default value
- reportParamValues = new ReportParamValues(reportFormFields, getReportDefType());
- reportParamValues.setParamValues(request,refresh);
- //End
- reportParamValuesFPE = new ReportParamValuesForPDFExcel(reportFormFields, getReportDefType());
- reportParamValuesFPE.setParamValues(request,refresh);
-
- }
-// }
- if (paramsUpdated) {
- setReportDataSize(-1);
- chartDataCache = null;
- pageDataCache = null;
- cachedPageNo = -1;
-
- crossTabOrderManager = null;
-
- colDataTotalsLinear = null;
- colDataTotalsCrosstab = null;
- rowDataTotalsCrosstab = null;
- grandTotalCrosstab = null;
- if(!refresh)
- resetVisualSettings();
- } // if
-
- displayChart = (request.getParameter(AppConstants.RI_DISPLAY_CHART) == null) ? !isDisplayOptionHideChart() : request.getParameter("display_chart")
- .equals("Y");
-
- return paramsUpdated;
- } // setParamValues
-
- public String getParamValue(String key) {
- //reportParamValues.printValues();
- return reportParamValues.getParamValue(key);
- } // getParamValue
-
- public String getParamDisplayValue(String key) {
- //reportParamValues.printValues();
- return reportParamValues.getParamDisplayValue(key);
- } // getParamValue
-
- public Enumeration getParamKeys() {
- return reportParamValues.keys();
- } // getParamKeys
-
- public Enumeration getParamKeysForPDFExcel() {
- return reportParamValuesFPE.keys();
- } // getParamKeys
-
- public String getParamValueForPDFExcel(String key) {
- return reportParamValuesFPE.getParamValue(key);
- } // getParamValue
-
- public ArrayList getParamNameValuePairs() {
- ArrayList paramList = new ArrayList(getReportFormFields().size());
- for (Iterator iter = getReportFormFields().iterator(); iter.hasNext();) {
- FormField ff = (FormField) iter.next();
- paramList.add(new IdNameValue(ff.getFieldDisplayName(), reportParamValues
- .getParamDisplayValue(ff.getFieldName())));
- } // for
- return paramList;
- } // getParamNameValuePairs
-
- public ArrayList getParamNameValuePairsforPDFExcel(HttpServletRequest request, int type /*excel =1; pdf=2*/) {
- javax.servlet.http.HttpSession session = request.getSession();
- ArrayList paramList = new ArrayList(getReportFormFields().size());
- if(session.getAttribute(AppConstants.SI_FORMFIELD_DOWNLOAD_INFO)!=null) {
- paramList = (ArrayList) session.getAttribute(AppConstants.SI_FORMFIELD_DOWNLOAD_INFO);
- if(paramList!=null && paramList.size()>0)
- return paramList;
- }
- //System.out.println(" getParamNamePairs type " + type + " " + Globals.customizeFormFieldInfo());
- if ( reportParamValuesFPE == null) {
- reportParamValuesFPE = new ReportParamValuesForPDFExcel(reportFormFields, getReportDefType());
- reportParamValuesFPE.setParamValues(request,true);
- }
-
- String valueString = "";
- for (Iterator iter = getReportFormFields().iterator(); iter.hasNext();) {
- FormField ff = (FormField) iter.next();
- if(ff.isVisible() && /*!ff.getFieldType().equals(FormField.FFT_HIDDEN) &&*/ type == 1){
- valueString = reportParamValuesFPE.getParamDisplayValue(ff.getFieldName());
- } else if(ff.isVisible() && type != 1) {
- valueString = reportParamValuesFPE.getParamDisplayValue(ff.getFieldName());
- }
- if(valueString.equalsIgnoreCase("NULL"))
- valueString="";
- paramList.add(new IdNameValue(ff.getFieldDisplayName(), valueString));
-// }
- } // for
-
- String pdfAttachmentKey = AppUtils.getRequestValue(request, "pdfAttachmentKey");
- boolean isSchedule = false;
- if(pdfAttachmentKey != null)
- isSchedule = true;
- if(Globals.customizeFormFieldInfo() && type == 2) {
- String[] sessionParameters = Globals.getSessionParams().split(",");
-
- if(session != null && !isSchedule ) {
- session.setAttribute("login_id", AppUtils.getUserBackdoorLoginId(request));
- for (int i = 0; i < sessionParameters.length; i++) {
- if(session.getAttribute(sessionParameters[i])!=null)
- paramList.add(new IdNameValue(sessionParameters[i].toUpperCase(), (String)session.getAttribute(sessionParameters[i])));
- }
- }
-
- if(isSchedule) {
- //debugLogger.debug("Globals " + Globals.getSessionParamsForScheduling());
- String[] scheduleSessionParam = Globals.getSessionParamsForScheduling().split(",");
- for (int i = 0; i < scheduleSessionParam.length; i++) {
- //debugLogger.debug(" scheduleSessionParam[i] " + scheduleSessionParam[i] + " " + request.getParameter(scheduleSessionParam[i]) );
- if(request.getParameter(scheduleSessionParam[i])!=null)
- paramList.add(new IdNameValue(scheduleSessionParam[i].toUpperCase(), request.getParameter(scheduleSessionParam[i])));
- }
- }
-
- try {
- SimpleDateFormat oracleDateFormat = new SimpleDateFormat("MM/dd/yyyy kk:mm:ss");
- Date sysdate = oracleDateFormat.parse(ReportLoader.getSystemDateTime());
- SimpleDateFormat dtimestamp = new SimpleDateFormat(Globals.getScheduleDatePattern());
- paramList.add(new IdNameValue("DATE", dtimestamp.format(sysdate)+" "+Globals.getTimeZone()));
- } catch(Exception ex) {}
-
- } else {
- //System.out.println(" In Else getParamNamePairs type " + type);
- String[] sessionDisplayParameters = Globals.getDisplaySessionParamInPDFEXCEL().split(",");
- if(session != null && !isSchedule ) {
- session.setAttribute("login_id", AppUtils.getUserBackdoorLoginId(request));
- for (int i = 0; i < sessionDisplayParameters.length; i++) {
- String sessionDispParam = sessionDisplayParameters[i];
- if(nvl(sessionDispParam).length()>0) {
- String sessionDispParamArr[] = sessionDispParam.split(";");
- //System.out.println("Session " + sessionDispParamArr[1] + " " + (String)session.getAttribute(sessionDispParamArr[0]));
- paramList.add(new IdNameValue(sessionDispParamArr[1], nvl((String)session.getAttribute(sessionDispParamArr[0]),"")));
- }
- }
- }
- if(isSchedule) {
- String[] scheduleSessionParam = Globals.getDisplayScheduleSessionParamInPDFEXCEL().split(",");
- for (int i = 0; i < scheduleSessionParam.length; i++) {
- String scheduleSessionDispParam = scheduleSessionParam[i];
- if(nvl(scheduleSessionDispParam).length()>0) {
- String scheduleSessionDispParamArr[] = scheduleSessionDispParam.split(";");
- paramList.add(new IdNameValue(scheduleSessionDispParamArr[1], nvl(request.getParameter(scheduleSessionDispParamArr[0]),"")));
- }
- }
- }
- try {
- SimpleDateFormat oracleDateFormat = new SimpleDateFormat("MM/dd/yyyy kk:mm:ss");
- Date sysdate = oracleDateFormat.parse(ReportLoader.getSystemDateTime());
- SimpleDateFormat dtimestamp = new SimpleDateFormat(Globals.getScheduleDatePattern());
- paramList.add(new IdNameValue("Report Date/Time", dtimestamp.format(sysdate)+" "+Globals.getTimeZone()));
- } catch(Exception ex) {}
-
- }
-
- for (int i = 0; i < paramList.size(); i++) {
- IdNameValue value = (IdNameValue) paramList.get(i);
- String name = value.getName().replaceAll(",","~");
- value.setName(name);
- }
- //request.getSession().setAttribute(AppConstants.SI_FORMFIELD_DOWNLOAD_INFO, paramList);
- return paramList;
- } // getParamNameValuePairs
-
- /** ************** ReportFormFields processing *************** */
-
- public String getFormFieldComments(HttpServletRequest request) {
- String comment = "";
- StringBuffer st = new StringBuffer("");
- if(getFormFieldList()!=null){
- comment = nvl(getFormFieldList().getComment());
- ArrayList al = null;
- if(comment.length()>0) {
- al = getParamNameValuePairsforPDFExcel(request, 2);
- if(al!=null) {
- //st = new StringBuffer(comment);
- for (int i=0; i < al.size(); i++) {
- IdNameValue idNameValue = (IdNameValue)al.get(i);
- if(nvl(idNameValue.getId()).equals("DATE"))
- st.append("<b>Date/Time Report Run:</b>"+ idNameValue.getName() +"<br></br>");
- }
-
- for (int i=0; i < al.size(); i++) {
- IdNameValue idNameValue = (IdNameValue)al.get(i);
- comment = Utils.replaceInString(comment, "["+ idNameValue.getId()+"]", idNameValue.getName());
- }
- st.append(comment);
-
- }
- }
- }
- return st.toString();
- }
-
- public boolean needFormInput() {
- return reportFormFields.getFieldCount() > 0;
- } // needFormInput
-
- public FormField getFormField(String fieldName) {
- return reportFormFields.getFormField(fieldName);
- } // getFormField
-
- public ReportFormFields getReportFormFields() {
- return reportFormFields;
- } // getReportFormFields
-
- /** ************** Report Data processing *************** */
- public DataSet loadChartData(String userId, HttpServletRequest request) throws RaptorException {
- if (nvl(getChartType()).length() == 0)
- return null;
- if (!getDisplayChart())
- return null;
-
- DataSet ds = chartDataCache;
- String sql = null;
- if (ds == null) {
- sql = generateChartSQL(reportParamValues, userId, request);
- String dbInfo = getDBInfo();
- ds = ConnectionUtils.getDataSet(sql, dbInfo);
- if (Globals.getCacheChartData())
- chartDataCache = ds;
- } // if
-
- return ds;
- } // loadChartData
-
- public String getReportDataSQL(String userId, int downloadLimit, HttpServletRequest request) throws RaptorException {
- //String reportSQL = generateSQL(reportParamValues, userId, request);
- String reportSQL = "";
- if(doesReportContainsGroupFormField()) {
- reportSQL = generateSubsetSQL(0, downloadLimit,userId, request, true, reportParamValues);
- } else
- reportSQL = generateSubsetSQL(0, downloadLimit,userId, request, false, reportParamValues);
- return reportSQL;
- }
-
- public ReportData loadReportData(int pageNo, String userId, int downloadLimit, HttpServletRequest request, boolean download) throws RaptorException {
- ReportData rd = null;
- boolean isGoBackAction = AppUtils.getRequestFlag(request, AppConstants.RI_GO_BACK);
- if (pageNo >= 0)
- if (pageNo == cachedPageNo && pageDataCache != null)
- rd = pageDataCache;
-
- if(isGoBackAction && rd!=null) return rd;
- if (rd == null) { // Commented So that Data is refreshed from DB again
- if (getReportDataSize() < 0)
- //if (pageNo > 0)
- //pageNo = 0;
-
- if (getReportType().equals(AppConstants.RT_CROSSTAB))
- rd = loadCrossTabReportData(pageNo, userId, downloadLimit, request, download);
- else if (getReportType().equals(AppConstants.RT_LINEAR))
- rd = loadLinearReportData(pageNo, userId, downloadLimit, request, download);
- else
- throw new RuntimeException(
- "[ReportRuntime.loadReportData] Invalid report type");
-
- if (pageNo >= 0)
- if (Globals.getCacheCurPageData()) {
- pageDataCache = rd;
- cachedPageNo = pageNo;
- }
- } // if // Commented So that Data is refreshed from DB again
-
- return rd;
- } // loadReportData
-
- private ReportData loadCrossTabReportData(int pageNo, String userId, int downloadLimit, HttpServletRequest request, boolean download) throws RaptorException {
- String reportSQL = generateSQL(reportParamValues, userId, request);
- setWholeSQL(reportSQL);
- //if(getReportDefType().equals(AppConstants.RD_SQL_BASED))
- // reportSQL = new SQLCorrector().fixCrosstabSQL(new StringBuffer(reportSQL));
- cachedSQL = reportSQL;
- wholeSQL = reportSQL;
- //if (crossTabOrderManager == null
- ///*&& (!getReportDefType().equals(AppConstants.RD_SQL_BASED))*/)
- //crossTabOrderManager = new CrossTabOrderManager(this, userId,request);
-/* boolean isGoBackAction = AppUtils.getRequestFlag(request, AppConstants.RI_GO_BACK);
- if(isGoBackAction) {
- crossTabOrderManager = null;
- crossTabOrderManager = new CrossTabOrderManager(this, userId,request);
- }
-*/
- List reportCols = getAllColumns();
- // replace the request parameter specified in the drill down
- DataColumnType dataColumnRequest = getCrossTabValueColumn();
- reportSQL = parseReportSQLForDrillDownParams(reportSQL, dataColumnRequest, request);
-
-
- DataSet ds = null;
- // try {
- String dbInfo = getDBInfo();
- StringBuffer colNames = new StringBuffer();
- StringBuffer colExtraIdNames = new StringBuffer();
- StringBuffer colExtraDateNames = new StringBuffer();
-
-
- 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) {
- System.out.println("Drilldown URL " + dc.getDrillDownURL());
-
- }
- } // for
-
- if (reportSQL.toUpperCase().indexOf("GROUP BY ") < 0)
- colNames.append(colExtraIdNames.toString());
- colNames.append(colExtraDateNames.toString());
- //reportSQL = " SELECT ROWNUM rnum, "
- // + colNames.toString() + " FROM (" + reportSQL + ") ";
-
- String rSQL = Globals.getLoadCrosstabReportData();
- rSQL = rSQL.replace("[colNames.toString()]", colNames.toString());
- rSQL = rSQL.replace("[reportSQL]", reportSQL);
- reportSQL = rSQL;
- setWholeSQL(reportSQL);
- if (crossTabOrderManager == null)
- crossTabOrderManager = new CrossTabOrderManager(this, userId,request);
- ds = ConnectionUtils.getDataSet(reportSQL, dbInfo);
- // if ( (remDbInfo!=null) && (!remDbInfo.equals(AppConstants.DB_LOCAL)))
- // ds = RemDbUtils.executeQuery(reportSQL);
- // else
- // ds = DbUtils.executeQuery(reportSQL);
- /*
- * } catch(SQLException e) { throw new
- * ReportSQLException("[ReportRuntime.loadCrossTabReportData]
- * "+e.getMessage(), reportSQL); }
- */
-
- ReportData rd = new ReportData(pageNo, false);
- ReportFormFields childReportFormFields = null;
- if(doesReportContainsGroupFormField()) {
- 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(reportParamValues
- .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;
- }
- }
-
-
- }
- }
- }
- }
-
- int dataColumnIdx = (rd.reportRowHeaderCols.size() + rd.reportColumnHeaderRows.size())-1;
- DataColumnType dataColumn = getCrossTabValueColumn();
-
- String columnValue = "";
-
-
- for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
- DataColumnType dct = (DataColumnType) iter.next();
-
- if (nvl(dct.getDrillDownURL()).length() > 0) {
- childReportFormFields = getChildReportFormFields(request,dct.getDrillDownURL());
- }
-
- if (nvl(dct.getCrossTabValue()).equals(AppConstants.CV_ROW)) {
- RowHeaderCol rhc = new RowHeaderCol();
- rhc.setColumnTitle(dct.getDisplayName());
- // rhc.setColumnWidth("10%");
- //rhc.setColumnWidth(dct.getDisplayWidth() + "%");
- if(nvl(dct.getDisplayWidthInPxls()).length()<=0) {
- dct.setDisplayWidthInPxls("100px");
- }
- if(dct.getDisplayWidthInPxls().endsWith("px"))
- rhc.setColumnWidth(dct.getDisplayWidthInPxls());
- else
- rhc.setColumnWidth(dct.getDisplayWidthInPxls()+"px");
-
- rhc.setAlignment(dct.getDisplayAlignment());
- rhc.setDisplayHeaderAlignment(dct.getDisplayHeaderAlignment());
- rhc.setNowrap(nvl(dataColumn.getNowrap(),"null").equals("false")?"null":nvl(dataColumn.getNowrap(),"null"));
- rd.reportRowHeaderCols.addRowHeaderCol(rhc);
- } else if (nvl(dct.getCrossTabValue()).equals(AppConstants.CV_COLUMN)) {
- ColumnHeaderRow chr = new ColumnHeaderRow();
- chr.setAlignment(dct.getDisplayHeaderAlignment());
- chr.setRowHeight("15");
- if(nvl(dct.getDisplayWidthInPxls()).length()<=0) {
- dct.setDisplayWidthInPxls("80px");
- }
- if(dct.getDisplayWidthInPxls().endsWith("px"))
- chr.setDisplayWidth(dct.getDisplayWidthInPxls());
- else
- chr.setDisplayWidth(dct.getDisplayWidthInPxls()+"px");
-
- rd.reportColumnHeaderRows.addColumnHeaderRow(chr);
- } else if (nvl(dct.getCrossTabValue()).equals(AppConstants.CV_VALUE)) {
- columnValue = dct.getColId();
- } else {
- if(!dct.getColId().toLowerCase().endsWith("_sort")) {
- RowHeaderCol rhc = new RowHeaderCol();
- rhc.setVisible(false);
- rd.reportRowHeaderCols.addRowHeaderCol(rhc);
- }
- }
- } // for
-
- //int dataColumnIdx = getCrossTabValueColumnIndex();
- FormatProcessor formatProcessor = new FormatProcessor(getSemaphoreById(dataColumn
- .getSemaphoreId()),
- getReportDefType().equals(AppConstants.RD_SQL_BASED) ? AppConstants.CT_NUMBER
- : dataColumn.getColType(), dataColumn.getColFormat(), false);
- List dataList = new ArrayList();
- /* //fillup all rows based on rowheaders
- Vector rowHeaders = crossTabOrderManager.getRowHeaderValues();
- CrossTabColumnValues crossTabRowValues;
- int size = 0;
- for (int i = 0; i < rowHeaders.size(); i++) {
- if((i+1)==rowHeaders.size()) {
- crossTabRowValues = (CrossTabColumnValues) rowHeaders.get(i);
- size = crossTabRowValues.getValuesCount();
- }
- }
-
- for (int i = 0; i < size; i++) {
- dataList.add(new DataRow());
- }*/
-
- for (int i = 0; i < ds.getRowCount(); i++) {
- Vector rValues = new Vector();
- Vector cValues = new Vector();
- Vector cValuesSort = new Vector();
-
- int colIdx = 0;
- for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
- try {
- DataColumnType dct = (DataColumnType) iter.next();
- if (nvl(dct.getCrossTabValue()).equals(AppConstants.CV_ROW))
- rValues.add(addDataValue(dct, ds.getString(i, dct.getColId())));
- if (nvl(dct.getCrossTabValue()).trim().length()<=0 && !dct.getColId().toLowerCase().endsWith("_sort"))
- rValues.add(addDataValue(dct, ds.getString(i, dct.getColId())));
- if (nvl(dct.getCrossTabValue()).equals(AppConstants.CV_COLUMN)) {
- cValues.add(addDataValue(dct, ds.getString(i, dct.getColId())));
- if(getColumnById(dct.getColId().toLowerCase()+"_sort")!=null)
- cValuesSort.add(addDataValue(dct, new Integer(ds.getString(i, dct.getColId()+"_sort")).toString()));
- }
- if (dct.isVisible())
- colIdx++;
- } catch (ArrayIndexOutOfBoundsException ex ) {continue;}
- catch (NumberFormatException ex1) {
- ex1.printStackTrace();
- continue;
- }
- } // for
-
- DataValue dv = new DataValue();
- dv.setDisplayValue(ds.getString(i, columnValue));
- if (nvl(dataColumn.getCrossTabValue()).trim().length()<=0)
- dv.setVisible(false);
- dv.setAlignment(dataColumn.getDisplayAlignment());
- dv.setDisplayTotal(dataColumn.getDisplayTotal());
- dv.setColName(dataColumn.getColName());
- dv.setDisplayName(dataColumn.getDisplayName());
- dv.setColId(dataColumn.getColId());
- dv.setNowrap(nvl(dataColumn.getNowrap(),"null").equals("false")?"null":nvl(dataColumn.getNowrap(),"null"));
- /*StringBuffer indentation = new StringBuffer("");
- if(dataColumn.getIndentation()!=null && dataColumn.getIndentation().intValue()>0) {
- for (int indent=0; indent < dataColumn.getIndentation(); indent++) {
- indentation.append("\t");
- }
- dv.setNowrap("true");
- }
- dv.setIndentation(indentation.toString());*/
-
- if (nvl(dataColumn.getDrillDownURL()).length() > 0) {
- if(dv.getDisplayValue().length() > 0) {
- dv.setDrillDownURL(parseDrillDownURL(i, /* dataColumnIdx, */ds, dataColumn,request, childReportFormFields));
- dv.setDrillDowninPoPUp(dataColumn.isDrillinPoPUp()!=null?dataColumn.isDrillinPoPUp():false);
- }
- if (dv.getDisplayValue().length() == 0) {
- //dv.setDisplayValue("[NULL]");
- dv.setDisplayValue("");
- }
- } // if
-
- rd.setDataValue(rValues, cValues, cValuesSort.size()==0?null:cValuesSort, dv, formatProcessor, crossTabOrderManager, dataList);
- } // for
- rd.setReportDataList(dataList);
- /*if (getReportDataSize() < 0)
- setReportDataSize(rd.getDataRowCount());*/
-
- /*if (pageNo >= 0)
- rd.truncateData(pageNo * getPageSize(), (pageNo + 1) * getPageSize() - 1);
- else {
- if( downloadLimit != -1)
- rd.truncateData(0, downloadLimit - 1);
- else
- rd.truncateData(0, -1);
- }*/
-
- if (colDataTotalsCrosstab == null)
- colDataTotalsCrosstab = generateDataTotalsCrossTab(AppConstants.CV_COLUMN, userId,request);
- if (displayColTotals && colDataTotalsCrosstab != null)
- rd.setColumnDataTotalsCrossTab(colDataTotalsCrosstab, dataColumn
- .getDisplayAlignment(), getCrossTabDisplayTotal(AppConstants.CV_COLUMN),
- crossTabOrderManager, dataList);
-
- if (rowDataTotalsCrosstab == null)
- rowDataTotalsCrosstab = generateDataTotalsCrossTab(AppConstants.CV_ROW, userId, request);
- if (displayRowTotals && rowDataTotalsCrosstab != null)
- rd.setRowDataTotalsCrossTab(rowDataTotalsCrosstab, dataColumn
- .getDisplayAlignment(), getCrossTabDisplayTotal(AppConstants.CV_ROW),
- crossTabOrderManager, dataList);
-
- if (displayColTotals
- && displayRowTotals
- && getCrossTabDisplayTotal(AppConstants.CV_COLUMN).equals(
- getCrossTabDisplayTotal(AppConstants.CV_ROW))) {
- // Display grand total
- if (grandTotalCrosstab == null)
- grandTotalCrosstab = ((CrossTabTotalValue) generateDataTotalsCrossTab("",
- userId,request).get(0)).getTotalValue();
- if (grandTotalCrosstab != null)
- rd.setGrandTotalCrossTab(Utils.truncateTotalDecimals(grandTotalCrosstab),
- dataColumn.getDisplayAlignment(),
- getCrossTabDisplayTotal(AppConstants.CV_COLUMN), dataList);
- } // if
-
- rd.consolidateColumnHeaders(visualManager);
- //if (Globals.getMergeCrosstabRowHeadings())
- // rd.consolidateRowHeaders();
- //rd.addRowNumbers(pageNo, dataList);
-
- if (displayColTotals && colDataTotalsCrosstab != null) {
- String totalLabel = "Total";
- String colDisplayTotal = getCrossTabDisplayTotal(AppConstants.CV_COLUMN);
- if (colDisplayTotal.length() > 0
- && (!colDisplayTotal.equals(AppConstants.TOTAL_SUM_ID)))
- totalLabel = nvl(AppConstants.TOTAL_FUNCTIONS.getNameById(colDisplayTotal));
- if (getReportDataSize() > getPageSize())
- totalLabel += "_nl_(for all pages)";
-
- //rd.setCrossTabColumnTotalLabel(totalLabel);
- } // if
-
- //rd.applyVisibility();
- //Collections.sort((List)dataList, new DataRowComparable());
- DataRow drInFor1 = null;
- Vector<DataValue> v1= null, v2 = null;
- ArrayList<String> temp = new ArrayList<String>();
- if (Globals.getMergeCrosstabRowHeadings()) {
- for (int i = 0; i < dataList.size(); i++) {
- drInFor1 = (DataRow)dataList.get(i);
- drInFor1.setRowNum(i+1);
- v1 = drInFor1.getRowValues();
- if(i<dataList.size()-1) {
- v2 = ((DataRow)dataList.get(i+1)).getRowValues();
- } /*else {
- v2 = ((DataRow)dataList.get(i-1)).getRowValues();
- }*/
- for (int j = 0; j < v1.size(); j++) {
- if(j==0) {
- if(v1.get(j).getDisplayValue().length()>0) { // another ArrayList
- temp = new ArrayList();
- temp.add(v1.get(j).getDisplayValue());
- }
- if(v2!=null && temp.get(j).equals(v2.get(j).getDisplayValue())) {
- v2.get(j).setDisplayValue("");
- }
- }
- }
- }
- }
- rd.setReportDataList(dataList);
- if (getReportDataSize() < 0) {
- //setReportDataSize(rd.getDataRowCount());
- setReportDataSize(rd.getReportDataList().size());
- }
-
- return rd;
- } // loadCrossTabReportData
-
-
- public DataValue addDataValue(DataColumnType dataColumn, String columnValue) {
- DataValue dv = new DataValue();
- dv.setDisplayValue(columnValue);
- if (nvl(dataColumn.getCrossTabValue()).trim().length()<=0)
- dv.setVisible(false);
- dv.setAlignment(dataColumn.getDisplayAlignment());
- dv.setDisplayTotal(dataColumn.getDisplayTotal());
- dv.setColName(dataColumn.getColName());
- dv.setDisplayName(dataColumn.getDisplayName());
- dv.setColId(dataColumn.getColId());
- dv.setNowrap(nvl(dataColumn.getNowrap(),"null").equals("false")?"null":nvl(dataColumn.getNowrap(),"null"));
- return dv;
-
- }
-
- /*private*/ public boolean doesReportContainsGroupFormField() {
- int flag = 0;
- if(getFormFieldList()!=null) {
- for (Iterator iter = getFormFieldList().getFormField().iterator(); iter.hasNext();) {
- FormFieldType fft = (FormFieldType) iter.next();
- if(fft.isGroupFormField()!=null && fft.isGroupFormField().booleanValue()) {
- flag = 1;
- break;
- }
- }
- }
- return (flag ==1);
- }
-
- private ReportData loadLinearReportData(int pageNo, String userId, int downloadLimit, HttpServletRequest request, boolean download) throws RaptorException {
- String action = nvl(request.getParameter(AppConstants.RI_ACTION), request.getParameter("action"));;
-
- String reportSQL = "";
-
- if(action.endsWith("session")) {
- reportSQL = getWholeSQL();
- wholeSQL = reportSQL;
- } else {
- reportSQL = generateSQL(reportParamValues, visualManager.getSortByColId(),
- visualManager.getSortByAscDesc(), userId, request);
- wholeSQL = reportSQL;
- setWholeSQL(wholeSQL);
- }
- DataSet ds = null;
- String dbInfo = getDBInfo();
- ds = ConnectionUtils.getDataSet(wholeSQL, dbInfo);
- setReportDataSize(ds.getRowCount());
- //wholeSQL = reportSQL;
- HttpSession session = request.getSession();
- //debugLogger.debug(" ******** Download Limit ********* " + downloadLimit + " %%%%%%%%%%PAGE " + pageNo );
- List reportCols = null;
- StringBuffer colNames = new StringBuffer();
-
- if(download && action.endsWith("session")) {
- reportCols = getAllColumns();
- 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());
- }
-
- }
- else {
- String pagedSQL = null; // reportSQL;
- if (pageNo >= 0)
- pagedSQL = generatePagedSQL(pageNo, userId, request, false, null);
- else
- pagedSQL = generateSubsetSQL(0, downloadLimit, userId, request, false, null);
- // replace the request parameter specified in the drill down
- reportCols = getAllColumns();
- 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());
- if (dc.isVisible()) {
- reportSQL = parseReportSQLForDrillDownParams(reportSQL, dc, request);
- pagedSQL = parseReportSQLForDrillDownParams(pagedSQL, dc, request);
- }
- }
-
- cachedSQL = pagedSQL;
-
-
- // try {
- if(doesReportContainsGroupFormField()) {
- if (pageNo >= 0)
- pagedSQL = generatePagedSQL(pageNo, userId, request, true, reportParamValues);
- else
- pagedSQL = generateSubsetSQL(0, downloadLimit, userId, request, true, reportParamValues);
- }
- //check for Group formfield
- //if groupformfield get columns from sql
-
- ds = ConnectionUtils.getDataSet(pagedSQL, dbInfo);
-
- if(doesReportContainsGroupFormField()) {
- 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(reportParamValues
- .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;
- }
- }
-
-
- }
- }
- }
- }
-
-
- // if ( (remDbInfo!=null) && (!remDbInfo.equals(AppConstants.DB_LOCAL)))
- // {
- // Globals.getRDbUtils().setDBPrefix(remDbInfo);
- // ds = RemDbUtils.executeQuery(pagedSQL);
- // }
- // else
- // ds = DbUtils.executeQuery(pagedSQL);
- /*
- * } catch(SQLException e) { throw new
- * ReportSQLException("[ReportRuntime.loadLinearReportData]
- * "+e.getMessage(), pagedSQL); }
- */
-
- if (getReportDataSize() < 0)
- if (pageNo < 0)
- setReportDataSize(ds.getRowCount());
- else if (ds.getRowCount() <= getPageSize())
- setReportDataSize(ds.getRowCount());
- else {
-
- /*Pattern re1 = Pattern.compile("[Oo][Rr][Dd][Ee][Rr](.*?[^\r\n]*)[Bb][Yy]", Pattern.DOTALL);
- Pattern re2 = Pattern.compile("[Oo][Rr][Dd][Ee][Rr](.*?[^\r\n]*)[Bb][Yy]((.*?[^\r\n]*)|[\\s]|[^0-9a-zA-Z])\\)", Pattern.DOTALL);
- Matcher matcher = re1.matcher(reportSQL);
- Matcher matcher2 = null;
- int startPoint = reportSQL.length()-30;
- String startReportSQL = "";
- String endReportSQL = "";
- while(reportSQL.indexOf("xid", startPoint)!=-1)startPoint++;
- if (matcher.find(startPoint)) {
- startReportSQL = reportSQL.substring(0, reportSQL.indexOf(matcher.group()));
- endReportSQL = reportSQL.substring(reportSQL.indexOf(matcher.group()));
- matcher2 = re2.matcher(endReportSQL);
- if(matcher2.find())
- endReportSQL = endReportSQL.substring(matcher.group().length()-1);
- else
- endReportSQL = "";
- reportSQL = startReportSQL + endReportSQL;
- }*/
- String countSQL = "SELECT count(*) FROM (" + reportSQL + ")"+ (Globals.isPostgreSQL() || Globals.isMySQL()?" AS ":"") +" x ";
- 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);
- if (dbType.equals("DAYTONA") && reportSQL.trim().toUpperCase().startsWith("SELECT")) {
- Pattern re1 = Pattern.compile("order(.*?[^\r\n]*)by", Pattern.DOTALL);
- Matcher matcher = re1.matcher(reportSQL);
- int startPoint = reportSQL.length()-30;
- while(reportSQL.indexOf("xid", startPoint)!=-1)startPoint++;
- if (matcher.find(startPoint)) {
- reportSQL = reportSQL.substring(0, reportSQL.indexOf(matcher.group()));
- }
- countSQL = "SELECT count(*) FROM (" + reportSQL + ")"+ (Globals.isPostgreSQL() || Globals.isMySQL()?" AS ":"") +" x";
- countSQL = countSQL + " ("+ colNames+ ")";
- } else if (dbType.equals("DAYTONA")) {
- setReportDataSize(50);
- }
- } catch (Exception ex) {
- throw new RaptorException(ex);
- }
- }
-
- DataSet ds2 = null;
- // try {
- if(reportSQL.trim().toUpperCase().startsWith("SELECT")) {
- ds2 = ConnectionUtils.getDataSet(countSQL, dbInfo);
- if (ds2.getRowCount() > 0)
- setReportDataSize(ds2.getInt(0, 0));
- else
- throw new RuntimeException(
- "[ReportRuntime.loadLinearReportData] Unable to load report data size");
- } else
- setReportDataSize(50);
- // if ( (remDbInfo!=null) &&
- // (!remDbInfo.equals(AppConstants.DB_LOCAL))){
- // Globals.getRDbUtils().setDBPrefix(remDbInfo);
- // ds2 = RemDbUtils.executeQuery(countSQL);
- // }
- // else
- // ds2 = DbUtils.executeQuery(countSQL);
- /*
- * } catch(SQLException e) { throw new
- * ReportSQLException("[ReportRuntime.loadLinearReportData size]
- * "+e.getMessage(), countSQL); }
- */
-
-
- } // else
- }
- ReportData rd = new ReportData(pageNo, true);
-
- // Already defined changed for modifying request parameters
- //List reportCols = getAllColumns();
- Vector visibleCols = new Vector(reportCols.size());
- Vector formatProcessors = new Vector(reportCols.size());
-
- // ColumnHeaderRow chr = new ColumnHeaderRow();
- // rd.reportColumnHeaderRows.addColumnHeaderRow(chr);
- // chr.setRowHeight("30");
- int count =0 ;
-
- /* ADDED */
- ReportFormFields rff = getReportFormFields();
- ReportFormFields childReportFormFields = null;
- String fieldDisplayName = "";
- String fieldValue = "";
-
- for (int c = 0; c < reportCols.size(); c++) {
- if(reportCols.get(c)!=null) {
- DataColumnType dct = (DataColumnType) reportCols.get(c);
- if(nvl(dct.getDependsOnFormField()).length()>0 && nvl(dct.getDependsOnFormField()).indexOf("[")!=-1) {
- for(int i = 0 ; i < rff.size(); i++) {
- fieldDisplayName = "["+((FormField)rff.getFormField(i)).getFieldDisplayName()+"]";
- fieldValue = "";
- //if(dct.getOriginalDisplayName()==null) dct.setOriginalDisplayName(dct.getDisplayName());
- if (dct.getDependsOnFormField().equals(fieldDisplayName)) {
- fieldValue = nvl(request.getParameter(((FormField)rff.getFormField(i)).getFieldName()));
-
- if (fieldValue.length()>0) {
- if(!fieldValue.toUpperCase().equals("Y"))
- dct.setDisplayName(fieldValue);
- if(!dct.isVisible())
- dct.setVisible(true);
- } else {
- dct.setVisible(false);
- }
- }
- }
- }
- }
- }
-
- /* ADDED */
- String displayName = "";
- for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
-
- DataColumnType dc = (DataColumnType) iter.next();
-
- formatProcessors.add(count,new FormatProcessor(
- getSemaphoreById(dc.getSemaphoreId()), dc.getColType(), dc
- .getColFormat(), getReportDefType().equals(
- AppConstants.RD_SQL_BASED)));
-
- if (nvl(dc.getDrillDownURL()).length() > 0) {
- childReportFormFields = getChildReportFormFields(request,AppUtils.getDrillActionURL()+""+dc.getDrillDownURL());
- }
- if (dc.isVisible()) {
- visibleCols.add(count,dc);
- //if(dc.getColId().startsWith("group")) {
- for (int d = 0; d < reportCols.size(); d++) {
- if(reportCols.get(d)!=null) {
- DataColumnType dct1 = (DataColumnType) reportCols.get(d);
- if(dct1.getColId().equals(dc.getColId()+"_name") && ds.getRowCount()>0) {
- displayName = ds.getString(0,dct1.getColId());
- dc.setDisplayName(displayName);
- }
- }
- }
- //}
-
- String widthInPxls = dc.getDisplayWidthInPxls();
-
- if(nvl(widthInPxls).endsWith("px"))
- dc.setDisplayWidthInPxls(widthInPxls);
- else {
- widthInPxls = widthInPxls+"px";
- dc.setDisplayWidthInPxls(widthInPxls+"px");
- }
-
- rd.createColumn(dc.getColId(), dc.getDisplayName(), dc.getDisplayWidthInPxls(), dc.getDisplayHeaderAlignment(),
- visualManager.isColumnVisible(dc.getColId()), visualManager
- .getSortByColId().equals(dc.getColId()) ? visualManager
- .getSortByAscDesc() : null, isRuntimeColSortDisabled(), dc.getLevel()!=null?dc.getLevel():0, dc.getStart()!=null?dc.getStart():0, dc.getColspan()!=null?dc.getColspan():0, dc.isIsSortable()!=null?dc.isIsSortable():false);
- // chr.addColumnHeader(new ColumnHeader(dc.getDisplayName(),
- // (dc.getDisplayWidth()>100)?"10%":(""+dc.getDisplayWidth()+"%")));
- } // if
- else {
- visibleCols.add(count,null);
- rd.createColumn(dc.getColId(), AppConstants.HIDDEN, dc.getDisplayWidthInPxls(), dc.getDisplayHeaderAlignment(),
- false, null,false, dc.getLevel()!=null?dc.getLevel():0, dc.getStart()!=null?dc.getStart():0, dc.getColspan()!=null?dc.getColspan():0, dc.isIsSortable()!=null?dc.isIsSortable():false);
-// formatProcessors.add(count,null);
- }
- count++;
- } // for
-
- if(getReportDefType().equals(AppConstants.RD_SQL_BASED_DATAMIN) && pageNo ==0) {
- /*Vector v = null;
- try {
- v = addForecastData(reportSQL);
- } catch (Exception ex) {
- ex.printStackTrace();
- throw new RaptorException (ex);
- }
- session.setAttribute("FORECASTED_DATA", v);
- DataSet dsWhole = ConnectionUtils.getDataSet(wholeSQL, dbInfo);
- dsWhole.addAll(v);
- session.setAttribute(AppConstants.RI_CHART_FORECAST_DATA, dsWhole);
- }
-
- if(getReportDefType().equals(AppConstants.RD_SQL_BASED_DATAMIN) && session.getAttribute("FORECASTED_DATA")!=null) {
- Vector vForecastedData = (Vector)session.getAttribute("FORECASTED_DATA");
- if(vForecastedData.size() > 0)
- ds.addAll(vForecastedData);*/
- }
-
-
- // Utils._assert(chr.size()==ds.getColumnCount(),
- // "[ReportRuntime.loadLinearReportData] The number of visible columns
- // does not match the number of data columns");
- //TODO: This should be optimized to accept -1 for flat file download
- for (int r = 0; r < Math.min(ds.getRowCount(), ((pageNo < 0) ? (downloadLimit == -1?Globals.getFlatFileUpperLimit():Globals.getDownloadLimit() ) : getPageSize())); r++) {
- DataRow dr = new DataRow();
- rd.reportDataRows.addDataRow(dr);
-
- for (int c = 0; c < reportCols.size(); c++) {
- if(reportCols.get(c)!=null) {
- DataColumnType dct = (DataColumnType) reportCols.get(c);
- DataValue dv = new DataValue();
- dr.addDataValue(dv);
- dv.setDisplayValue(ds.getString(r, c));
- dv.setColName(dct.getColName());
- dv.setColId(dct.getColId());
- dv.setNowrap(nvl(dct.getNowrap(),"null").equals("false")?"null":nvl(dct.getNowrap(),"null"));
- StringBuffer indentation = new StringBuffer("");
- if(dct.getIndentation()!=null && dct.getIndentation()>0) {
- for (int indent=0; indent< dct.getIndentation(); indent++) {
- indentation.append("\t");
- }
- dv.setNowrap("true");
- }
- dv.setIndentation(indentation.toString());
- if(dct.isVisible()) {
-
- dv.setVisible(true);
- dv.setAlignment(dct.getDisplayAlignment());
- dv.setDisplayTotal(dct.getDisplayTotal());
- dv.setDisplayName(dct.getDisplayName());
-
- if (nvl(dct.getDrillDownURL()).length() > 0) {
-
- if(dv.getDisplayValue().length() > 0) {
- dv.setDrillDownURL(parseDrillDownURL(r, /* c, */ds, dct,request, childReportFormFields));
- dv.setDrillDowninPoPUp(dct.isDrillinPoPUp()!=null?dct.isDrillinPoPUp():false);
- }
-
- if (dv.getDisplayValue().length() == 0) {
- //dv.setDisplayValue("[NULL]");
- dv.setDisplayValue("");
- }
- } // if
-
- } else {
- dv.setVisible(false);
- dv.setHidden(true);
- }
- //System.out.println("in Linear report b4" + dr.getFormatId() + dr.getBgColorHtml() + dv.getDisplayValue());
-
- if(dr.getFormatId()!=null)
- ((FormatProcessor) formatProcessors.get(c)).setHtmlFormatters(dv, dr, true);
- else
- ((FormatProcessor) formatProcessors.get(c)).setHtmlFormatters(dv, dr, false);
-
- //System.out.println("in Linear report After" + dr.getFormatId() + dr.getBgColorHtml() + dv.getDisplayValue());
- } // if reportCols
- } // for
- } // for
-
- //Only if rownumber options is needed
- //rd.addRowNumbers(pageNo, getPageSize());
-
- if (colDataTotalsLinear == null) {
- if(!download && !action.endsWith("session"))
- colDataTotalsLinear = generateColumnDataTotalsLinear(new ArrayList(reportCols), userId,
- getDbInfo(),request);
- if(download && action.endsWith("session"))
- colDataTotalsLinear = generateColumnDataTotalsLinear(new ArrayList(reportCols), userId,
- getDbInfo(), getTotalSql());
- }
- if (displayColTotals && colDataTotalsLinear != null) {
- String totalLabel = "Total";
- if (getReportDataSize() > getPageSize())
- totalLabel += "<br><font size=1>(for all pages)</font>";
-
- rd.setColumnDataTotalsLinear(colDataTotalsLinear, totalLabel);
- } // if
- // Please note the below function doesn't set the visibility for dv since this is set in this function. - Sundar
- rd.applyVisibility();
-
- return rd;
- } // loadLinearReportData
-
-
-
- public DataRow generateColumnDataTotalsLinear(ArrayList reportCols, String userId,
- String dbInfo, String reportSQL) throws RaptorException {
- DataRow dr = null;
-
- boolean displayColTotals = false;
- for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
-
- DataColumnType dct = (DataColumnType) iter.next();
- if( dct != null ) {
- if (nvl(dct.getDisplayTotal()).length() > 0) {
- displayColTotals = true;
- break;
- } // if
- } // if checking dct
- } // for
-
- DataSet ds = null;
- if (displayColTotals) {
- dr = new DataRow();
- // ds =
- // DbUtils.executeQuery(generateTotalSQLLinear(reportParamValues,
- // userId));
- ds = ConnectionUtils.getDataSet(reportSQL,
- dbInfo);
-
- for (int c = 0; c < reportCols.size(); c++) {
- DataColumnType dct = (DataColumnType) reportCols.get(c);
- if ( dct != null ) {
- DataValue dv = new DataValue();
-
- String totalValue = "";
- if (ds != null)
- totalValue = ds.getString(0, c);
- if (nvl(dct.getDisplayTotal()).length() > 0
- && (!dct.getDisplayTotal().equals(AppConstants.TOTAL_SUM_ID)))
- totalValue = nvl(AppConstants.TOTAL_FUNCTIONS.getNameById(dct
- .getDisplayTotal()))
- + ": " + totalValue;
- dv.setDisplayValue(Utils.truncateTotalDecimals(totalValue));
-
- dv.setAlignment(dct.getDisplayAlignment());
- dv.setColName(dct.getColName());
- dv.setDisplayName(dct.getDisplayName());
- dv.setColId(dct.getColId());
- dv.setNowrap(nvl(dct.getNowrap(),"null").equals("false")?"null":nvl(dct.getNowrap(),"null"));
- StringBuffer indentation = new StringBuffer("");
- if(dct.getIndentation()!=null && dct.getIndentation()>0) {
- for (int indent=0; indent< dct.getIndentation(); indent++) {
- indentation.append("\t");
- }
- dv.setNowrap("true");
- }
- dv.setIndentation(indentation.toString());
- dv.setDisplayTotal(dct.getDisplayTotal());
- dv.setBold(true);
- dv.setVisible(dct.isVisible());
- if(dv.isVisible())
- dr.addDataValue(dv);
- } // dct check
- } // for
- }
-
- return dr;
- } // generateColumnDataTotalsLinear
-
-
- public ReportData loadHiveLinearReportData(String reportSQL, String userId, int downloadLimit, HttpServletRequest request) throws RaptorException {
- wholeSQL = reportSQL;
- int countRows = getHiveReportCount(wholeSQL);
- setReportDataSize(countRows);
- if(countRows < 1001)
- wholeSQL += " limit "+ countRows;
- else
- wholeSQL += " limit "+ downloadLimit;
- HttpSession session = request.getSession();
-
- DataSet ds = null;
- // try {
- String dbInfo = getDBInfo();
-
- List reportCols = getAllColumns();
- 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());
- }
-
- ds = ConnectionUtils.getDataSet(wholeSQL, dbInfo);
-
- ReportData rd = new ReportData(0, true);
-
- // Already defined changed for modifying request parameters
- //List reportCols = getAllColumns();
- Vector visibleCols = new Vector(reportCols.size());
- Vector formatProcessors = new Vector(reportCols.size());
-
- // ColumnHeaderRow chr = new ColumnHeaderRow();
- // rd.reportColumnHeaderRows.addColumnHeaderRow(chr);
- // chr.setRowHeight("30");
- int count =0 ;
-
- /* ADDED */
- ReportFormFields rff = getReportFormFields();
- ReportFormFields childReportFormFields = null;
- String fieldDisplayName = "";
- String fieldValue = "";
-
- for (int c = 0; c < reportCols.size(); c++) {
- if(reportCols.get(c)!=null) {
- DataColumnType dct = (DataColumnType) reportCols.get(c);
- if(nvl(dct.getDependsOnFormField()).length()>0 && nvl(dct.getDependsOnFormField()).indexOf("[")!=-1) {
- for(int i = 0 ; i < rff.size(); i++) {
- fieldDisplayName = "["+((FormField)rff.getFormField(i)).getFieldDisplayName()+"]";
- fieldValue = "";
- //if(dct.getOriginalDisplayName()==null) dct.setOriginalDisplayName(dct.getDisplayName());
- if (dct.getDependsOnFormField().equals(fieldDisplayName)) {
- fieldValue = nvl(request.getParameter(((FormField)rff.getFormField(i)).getFieldName()));
-
- if (fieldValue.length()>0) {
- if(!fieldValue.toUpperCase().equals("Y"))
- dct.setDisplayName(fieldValue);
- if(!dct.isVisible())
- dct.setVisible(true);
- } else {
- dct.setVisible(false);
- }
- }
- }
- }
- }
- }
-
- /* ADDED */
- String displayName = "";
- for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
-
- DataColumnType dc = (DataColumnType) iter.next();
-
- formatProcessors.add(count,new FormatProcessor(
- getSemaphoreById(dc.getSemaphoreId()), dc.getColType(), dc
- .getColFormat(), getReportDefType().equals(
- AppConstants.RD_SQL_BASED)));
-
- if (nvl(dc.getDrillDownURL()).length() > 0) {
- childReportFormFields = getChildReportFormFields(request,dc.getDrillDownURL());
- }
- if (dc.isVisible()) {
- visibleCols.add(count,dc);
- //if(dc.getColId().startsWith("group")) {
- for (int d = 0; d < reportCols.size(); d++) {
- if(reportCols.get(d)!=null) {
- DataColumnType dct1 = (DataColumnType) reportCols.get(d);
- if(dct1.getColId().equals(dc.getColId()+"_name") && ds.getRowCount()>0) {
- displayName = ds.getString(0,dct1.getColId());
- dc.setDisplayName(displayName);
- }
- }
- }
- //}
-
- String widthInPxls = dc.getDisplayWidthInPxls();
-
- if(nvl(widthInPxls).endsWith("px"))
- dc.setDisplayWidthInPxls(widthInPxls);
- else {
- widthInPxls = widthInPxls+"px";
- dc.setDisplayWidthInPxls(widthInPxls+"px");
- }
-
- rd.createColumn(dc.getColId(), dc.getDisplayName(), dc.getDisplayWidthInPxls(), dc.getDisplayHeaderAlignment(),
- visualManager.isColumnVisible(dc.getColId()), visualManager
- .getSortByColId().equals(dc.getColId()) ? visualManager
- .getSortByAscDesc() : null, isRuntimeColSortDisabled(), dc.getLevel()!=null?dc.getLevel():0, dc.getStart()!=null?dc.getStart():0, dc.getColspan()!=null?dc.getColspan():0, dc.isIsSortable()!=null?dc.isIsSortable():false);
- // chr.addColumnHeader(new ColumnHeader(dc.getDisplayName(),
- // (dc.getDisplayWidth()>100)?"10%":(""+dc.getDisplayWidth()+"%")));
- } // if
- else {
- visibleCols.add(count,null);
- rd.createColumn(dc.getColId(), AppConstants.HIDDEN, dc.getDisplayWidthInPxls(), dc.getDisplayHeaderAlignment(),
- false, null,false, dc.getLevel()!=null?dc.getLevel():0, dc.getStart()!=null?dc.getStart():0, dc.getColspan()!=null?dc.getColspan():0, dc.isIsSortable()!=null?dc.isIsSortable():false);
-// formatProcessors.add(count,null);
- }
- count++;
- } // for
-
- ArrayList reportDataList = new ArrayList();
- for (int r = 0; r < ds.getRowCount(); r++) {
- DataRow dr = new DataRow();
- rd.reportDataRows.addDataRow(dr);
-
- for (int c = 0; c < reportCols.size(); c++) {
- if(reportCols.get(c)!=null) {
- DataColumnType dct = (DataColumnType) reportCols.get(c);
- DataValue dv = new DataValue();
- dr.addDataValue(dv);
- dv.setDisplayValue(ds.getString(r, c));
- dv.setColName(dct.getColName());
- dv.setColId(dct.getColId());
- dv.setNowrap(nvl(dct.getNowrap(),"null").equals("false")?"null":nvl(dct.getNowrap(),"null"));
- StringBuffer indentation = new StringBuffer("");
- if(dct.getIndentation()!=null && dct.getIndentation()>0) {
- for (int indent=0; indent< dct.getIndentation(); indent++) {
- indentation.append("\t");
- }
- dv.setNowrap("true");
- }
- dv.setIndentation(indentation.toString());
- if(dct.isVisible()) {
-
- dv.setVisible(true);
- dv.setAlignment(dct.getDisplayAlignment());
- dv.setDisplayTotal(dct.getDisplayTotal());
- dv.setDisplayName(dct.getDisplayName());
-
- if (nvl(dct.getDrillDownURL()).length() > 0) {
-
- if(dv.getDisplayValue().length() > 0) {
- dv.setDrillDownURL(parseDrillDownURL(r, /* c, */ds, dct,request, childReportFormFields));
- dv.setDrillDowninPoPUp(dct.isDrillinPoPUp()!=null?dct.isDrillinPoPUp():false);
- }
-
- if (dv.getDisplayValue().length() == 0) {
- //dv.setDisplayValue("[NULL]");
- dv.setDisplayValue("");
- }
- } // if
-
- } else {
- dv.setVisible(false);
- dv.setHidden(true);
- }
- //System.out.println("in Linear report b4" + dr.getFormatId() + dr.getBgColorHtml() + dv.getDisplayValue());
-
- if(dr.getFormatId()!=null)
- ((FormatProcessor) formatProcessors.get(c)).setHtmlFormatters(dv, dr, true);
- else
- ((FormatProcessor) formatProcessors.get(c)).setHtmlFormatters(dv, dr, false);
-
- //System.out.println("in Linear report After" + dr.getFormatId() + dr.getBgColorHtml() + dv.getDisplayValue());
- } // if reportCols
- } // for
- reportDataList.add(dr);
- } // for
- rd.setReportDataList(reportDataList);
- //Only if rownumber options is needed
- //rd.addRowNumbers(pageNo, getPageSize());
-
- if (colDataTotalsLinear == null)
- colDataTotalsLinear = generateColumnDataTotalsLinear(new ArrayList(reportCols), userId,
- getDbInfo(),request);
- if (displayColTotals && colDataTotalsLinear != null) {
- String totalLabel = "Total";
- if (getReportDataSize() > getPageSize())
- totalLabel += "<br><font size=1>(for all pages)</font>";
-
- rd.setColumnDataTotalsLinear(colDataTotalsLinear, totalLabel);
- } // if
- // Please note the below function doesn't set the visibility for dv since this is set in this function. - Sundar
- rd.applyVisibility();
-
- return rd;
- } // loadHiveLinearReportData
-
- //For Hive reports
- public int getHiveReportCount(String sql) throws RaptorException {
- //select t from (select count(*) t from (select * from program)x)x1;
- int count = 0;
- String countSql = "select t from (select count(*) t from ("+ sql + ")" + (Globals.isPostgreSQL() || Globals.isMySQL() ?" AS ":"") + " x) AS x1";
-
- DataSet ds = null;
- // try {
- String dbInfo = getDBInfo();
- System.out.println("SQL getReportCount()- " + countSql);
- try {
- ds = ConnectionUtils.getDataSet(countSql, dbInfo);
- int totalRows = 0;
- 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);
- }
- }
- if( ds.getRowCount()>0) {
- count = Integer.parseInt(ds.getString(0,0));
- }
- } catch (NumberFormatException ex) {}
- return count;
-
- } // getReportCount
-
-
- /*private*/ public ReportFormFields getChildReportFormFields( HttpServletRequest request, String URL ) throws RaptorException {
- String childReportID = getReportID(URL);
-
- ReportRuntime ddRr = (new ReportHandler()).loadReportRuntime(request, childReportID,
- false, 1);
-
- ReportFormFields ddReportFormFields = ddRr.getReportFormFields();
- return ddReportFormFields;
- }
-
- private String getReportID(String URL) {
- URL = nvl(URL);
- int pos = URL.toLowerCase().indexOf("c_master=")+9;
- String reportID = "";
- if(URL.toLowerCase().indexOf("&", pos)!=-1)
- reportID = URL.substring(pos, URL.toLowerCase().indexOf("&", pos));
- else
- reportID = URL.substring(pos);
- return reportID;
-
- }
- /*private*/ public String parseDrillDownURL(int rowIdx, /* int colIdx, */DataSet ds, DataColumnType dct, HttpServletRequest request, ReportFormFields ddReportFormFields)
- throws RaptorException {
- Vector viewActions = DataCache.getDataViewActions();
- javax.servlet.http.HttpSession session = request.getSession();
-
- StringBuffer dUrl = new StringBuffer();
-
- //String childReportID = getReportID(dct.getDrillDownURL());
-
- //ReportRuntime ddRr = (new ReportHandler()).loadReportRuntime(request, childReportID,
- // false, 1);
-
- //ReportFormFields ddReportFormFields = ddRr.getReportFormFields();
-
- boolean isViewAction = false;
- int flag = 0;
- String requestParam ="";
- for (int k = 0; k < viewActions.size(); k++)
- if (dct.getDrillDownURL().equals(
- AppUtils.getBaseActionURL() + ((String) viewActions.get(k))))
- isViewAction = true;
- if (isViewAction) {
- // Drill-down to record details
- String param = nvl(dct.getDrillDownParams()); // i.e.
- // "c_master=[bo1.RECID$]"
- param = param.substring(AppUtils.getBaseActionParam().length() + 1,
- param.length() - 1); // i.e. "bo1.RECID$"
- param = param.replace('.', '_'); // i.e. "bo1.RECID$"
-
- dUrl.append(AppUtils.getBaseActionParam());
- dUrl.append(java.net.URLEncoder.encode(ds.getString(rowIdx, param.toLowerCase())));
- } else {
- // Drill-down to another report
- // Replacing col ids with values
- String param = nvl(dct.getDrillDownParams());
- while (param.indexOf('[') >= 0) {
- int startIdx = param.indexOf('[');
- int endIdx = param.indexOf(']');
- StringBuffer sb = new StringBuffer();
- if(startIdx>endIdx) {
- if (endIdx < param.length() - 1)
- sb.append(param.substring(endIdx + 1));
- param = sb.toString();
- continue;
- }
- if (startIdx > 0)
- sb.append(param.substring(0, startIdx));
-
- if (param.charAt(startIdx + 1) == '!') {
- // Parameter is a form field value
- String fieldId = param.substring(startIdx + 2, endIdx);
- String fieldValue = (String) reportParamValues.get(fieldId);
-
- sb.append(java.net.URLEncoder.encode(nvl(fieldValue)));
- //TODO Add a else if condition to check whether the param is from request Param
- //TODO make a unique symbol like #
- }else if (param.charAt(startIdx + 1) == '#') {
- flag = 1;
- String fieldId = param.substring(startIdx + 2, endIdx);
- String fieldValue = request.getParameter(fieldId);
- sb.append(java.net.URLEncoder.encode(nvl(fieldValue)));
-
- }else {
- // Parameter is a column value
- String fieldValue = "";
- String colValue = null;
- String colId = null;
- if (param.indexOf('!') < 0 || param.indexOf('!') > endIdx)
- colId = param.substring(startIdx + 1, endIdx);
- else {
- // Need to use NVL(column, form field)
- colId = param.substring(startIdx + 1, param.indexOf('!'));
-
- String fieldId = param.substring(param.indexOf('!') + 1, endIdx);
- FormField ff = getFormField(fieldId);
- if (ff.getFieldType().equals(FormField.FFT_TEXTAREA)) {
- fieldValue = reportParamValues.getParamValueforTextAreaDrilldown(fieldId);
- } else
- fieldValue = (String) reportParamValues.get(fieldId);
- } // else
-
- DataColumnType column = getColumnById(colId);
- String columnName = "";
- int groupColumn = 0;
- int groupMatch = 0;
- if(column.getColName().startsWith("[")) {
- groupColumn = 1;
- columnName = column.getDisplayName();
- for(ddReportFormFields.resetNext(); ddReportFormFields.hasNext(); ) {
- FormField ff = ddReportFormFields.getNext();
- if(ff.getFieldDisplayName().toLowerCase().equals(columnName.toLowerCase())) {
- groupMatch = 1;
- sb.delete(sb.lastIndexOf("&")+1, sb.length());
- sb.append(ff.getFieldName()+"=");
- }
- }
- }
- if (groupColumn == 0 || (groupColumn == 1 && groupMatch == 1)) {
- String dependsOn = column.getDependsOnFormField();
- if(nvl(dependsOn).length()>0)
- System.out.println("DependsOn " + dependsOn);
- if (column != null) {
- // if (column.getColType().equals(AppConstants.CT_DATE))
- //if (!nvl(column.getColFormat(), AppConstants.DEFAULT_DATE_FORMAT)
- // .equals(AppConstants.DEFAULT_DATE_FORMAT))
- // Use extra column instead
- //commented out below line usually for Visual
- //colId += AppConstants.DD_COL_EXTENSION;
- colValue = ds.getString(rowIdx, colId.toLowerCase());
- // if SQL-Based and drill-down param is a date, decode
- // it to the expected Oracle format **/
- if (getReportDefType().equals(AppConstants.RD_SQL_BASED))
- if (!getColumnNoParseDateFlag(column))
- if (ReportParamDateValueParser.isDateParam(colValue))
- colValue = ReportParamDateValueParser
- .formatDateParamValue(colValue);
- } // if
-
- String suppressValues = "|" + nvl(dct.getDrillDownType()) + "|";
- if (suppressValues.length() > 2
- && suppressValues.indexOf("|" + colValue + "|") >= 0)
- // Parameter value is suppressed and not passed to the
- // drill-down report
- colValue = null;
-
- sb.append(java.net.URLEncoder.encode(nvl(colValue, fieldValue)));
- } else {
- sb.delete(sb.lastIndexOf("&")+1, sb.length());
- }
- } // else
-
- if (endIdx < param.length() - 1)
- sb.append(param.substring(endIdx + 1));
- param = sb.toString();
- } // while
- if(Globals.getPassRequestParamInDrilldown()) {
- if(param.indexOf('#') < 0) {
- String[] reqParameters = Globals.getRequestParams().split(",");
- String[] sessionParameters = Globals.getSessionParams().split(",");
- for (int i = 0; i < reqParameters.length; i++) {
- if(request.getParameter(reqParameters[i])!=null) {
- if(!reqParameters[i].toUpperCase().startsWith("FF")){
- if(param.length()>0) {
- param += "&" + reqParameters[i]+"="
- + request.getParameter(reqParameters[i]);
- } else {
- param += "&" + reqParameters[i]+"="
- + request.getParameter(reqParameters[i]);
-
- }
- }
- }
- }
- for (int i = 0; i < sessionParameters.length; i++) {
- if(session.getAttribute(sessionParameters[i].toUpperCase())!=null) {
- if(!sessionParameters[i].toUpperCase().startsWith("FF")){
- if(param.length()>0) {
- param += "&" + sessionParameters[i].toUpperCase()+"="
- + (String)session.getAttribute(sessionParameters[i].toUpperCase());
- } else {
- param += "&" + sessionParameters[i].toUpperCase()+"="
- + (String)session.getAttribute(sessionParameters[i].toUpperCase());
-
- }
- }
- } else {
- param += "&" + sessionParameters[i].toUpperCase()+"="
- + (String)session.getAttribute(sessionParameters[i]);
-
- }
- }
-
- }
- }
-
- dUrl.append(param.toString());
- dUrl.append("&");
- dUrl.append(AppConstants.RI_DISPLAY_CONTENT);
- dUrl.append("=Y");
- dUrl.append("&");
- if(dct.isDrillinPoPUp()==null || (!dct.isDrillinPoPUp().booleanValue())) {
- dUrl.append(AppConstants.RI_SHOW_BACK_BTN);
- dUrl.append("=Y");
- dUrl.append("&");
- }
- dUrl.append(AppConstants.DRILLDOWN_INDEX);
- int index = Integer.parseInt(nvl(AppUtils.getRequestValue(request, AppConstants.DRILLDOWN_INDEX), "0"));
- /*
- int form_index = Integer.parseInt(nvl(AppUtils.getRequestValue(request, AppConstants.FORM_DRILLDOWN_INDEX), "0"));
- index = index>0 ? --index : 0;
- form_index = form_index>0 ? --form_index : 0;*/
- request.setAttribute(AppConstants.DRILLDOWN_INDEX, Integer.toString(index));
- /*session.setAttribute(AppConstants.DRILLDOWN_INDEX, Integer.toString(index));
- request.setAttribute(AppConstants.FORM_DRILLDOWN_INDEX, Integer.toString(form_index));
- session.setAttribute(AppConstants.FORM_DRILLDOWN_INDEX, Integer.toString(form_index));*/
-
- dUrl.append("=" + AppUtils.getRequestNvlValue(request, AppConstants.DRILLDOWN_INDEX));
-
- //TODO Add a if condition to check whether the param is request Param
- } // if
-
- if (dUrl.length() > 0)
- dUrl.insert(0, ((dct.getDrillDownURL()).indexOf('&') > 0) ? '&' : '&');
- dUrl.insert(0, AppUtils.getDrillActionURL()+dct.getDrillDownURL());
-
- //debugLogger.debug(" [[[[[[[[[[[[[[[[ " + dUrl);
-
- return dUrl.toString();
- } // parseDrillDownURL
-
- /** *********************************************************************************** */
-
- public DataRow generateColumnDataTotalsLinear(ArrayList reportCols, String userId,
- String dbInfo, HttpServletRequest request) throws RaptorException {
- DataRow dr = null;
-
- displayColTotals = false;
- for (Iterator iter = reportCols.iterator(); iter.hasNext();) {
-
- DataColumnType dct = (DataColumnType) iter.next();
- if( dct != null ) {
- if (nvl(dct.getDisplayTotal()).length() > 0) {
- displayColTotals = true;
- break;
- } // if
- } // if checking dct
- } // for
-
- DataSet ds = null;
- if (displayColTotals) {
- dr = new DataRow();
- // ds =
- // DbUtils.executeQuery(generateTotalSQLLinear(reportParamValues,
- // userId));
- ds = ConnectionUtils.getDataSet(generateTotalSQLLinear(reportParamValues, userId,request),
- dbInfo);
-
- for (int c = 0; c < reportCols.size(); c++) {
- DataColumnType dct = (DataColumnType) reportCols.get(c);
- if ( dct != null ) {
- DataValue dv = new DataValue();
- if(dv.isVisible())
- dr.addDataValue(dv);
-
- String totalValue = "";
- if (ds != null)
- totalValue = ds.getString(0, c);
- if (nvl(dct.getDisplayTotal()).length() > 0
- && (!dct.getDisplayTotal().equals(AppConstants.TOTAL_SUM_ID)))
- totalValue = nvl(AppConstants.TOTAL_FUNCTIONS.getNameById(dct
- .getDisplayTotal()))
- + ": " + totalValue;
- dv.setDisplayValue(Utils.truncateTotalDecimals(totalValue));
-
- dv.setAlignment(dct.getDisplayAlignment());
- dv.setColName(dct.getColName());
- dv.setDisplayName(dct.getDisplayName());
- dv.setColId(dct.getColId());
- dv.setNowrap(nvl(dct.getNowrap(),"null").equals("false")?"null":nvl(dct.getNowrap(),"null"));
- StringBuffer indentation = new StringBuffer("");
- if(dct.getIndentation()!=null && dct.getIndentation()>0) {
- for (int indent=0; indent< dct.getIndentation(); indent++) {
- indentation.append("\t");
- }
- dv.setNowrap("true");
- }
- dv.setIndentation(indentation.toString());
- dv.setDisplayTotal(dct.getDisplayTotal());
- dv.setBold(true);
- } // dct check
- } // for
- }
-
- return dr;
- } // generateColumnDataTotalsLinear
-
- private Vector generateDataTotalsCrossTab(String rowColPos, String userId, HttpServletRequest request)
- throws RaptorException {
- String sql = getWholeSQL();
- Vector dataTotals = new Vector();
-
- boolean displayTotals = ((rowColPos.length() == 0) || (getCrossTabDisplayTotal(
- rowColPos).length() > 0));
- if (rowColPos.equals(AppConstants.CV_COLUMN))
- displayColTotals = displayTotals;
- else if (rowColPos.equals(AppConstants.CV_ROW))
- displayRowTotals = displayTotals;
-
- if (displayTotals) {
- // DataSet ds =
- // DbUtils.executeQuery(generateTotalSQLCrossTab(reportParamValues,
- // rowColPos, userId));
- String executeSql = generateTotalSQLCrossTab(
- sql, rowColPos, userId, request, reportParamValues);
- DataSet ds = ConnectionUtils.getDataSet(executeSql, getDbInfo());
-
- for (int i = 0; i < ds.getRowCount(); i++) {
- Vector headerValues = new Vector();
- String totalValue = null;
-
- int cPos = 0;
- for (Iterator iter = getAllColumns().iterator(); iter.hasNext();) {
- DataColumnType dct = (DataColumnType) iter.next();
-
- if (rowColPos.length() > 0
- && nvl(dct.getCrossTabValue()).equals(rowColPos)) {
- DataValue dataValue = new DataValue();
- dataValue.setBold(true);
- dataValue.setAlignment("center");
- dataValue.setDisplayValue(ds.getString(i, cPos++));
- headerValues.add(dataValue);
-
- //headerValues.add(ds.getString(i, cPos++));
- }
- else if (nvl(dct.getCrossTabValue()).equals(AppConstants.CV_VALUE))
- totalValue = ds.getString(i, cPos++);
- } // for
-
- dataTotals.add(new CrossTabTotalValue(headerValues, Utils
- .truncateTotalDecimals(totalValue)));
- } // for
- } // if
-
- return dataTotals;
- } // generateDataTotalsCrossTab
-
- /** *********************************************************************************** */
-
- public void hideColVisual(String colId) {
- visualManager.hideColumn(colId);
- if (pageDataCache != null)
- pageDataCache.columnVisualShowHide(colId, false);
- } // hideColVisual
-
- public void showColVisual(String colId) {
- visualManager.showColumn(colId);
- if (pageDataCache != null)
- pageDataCache.columnVisualShowHide(colId, true);
- } // showColVisual
-
- public void sortColVisual(String colId) {
- visualManager.setSortByColumn(colId);
- resetCache(true);
-
- pageDataCache = null;
- cachedPageNo = -1;
- } // sortColVisual
-
- /** *********************************************************************************** */
-
- public String generateDistinctValuesSQL(DataColumnType dct, String userId, HttpServletRequest request) throws RaptorException {
- return super.generateDistinctValuesSQL(reportParamValues, dct, userId, request);
- } // generateDistinctValuesSQL
-
- public String getDbInfo() {
- return this.cr.getDbInfo();
- }
-
- private String fixSQL(StringBuffer sql) {
- int pos = 0;
- int pos_f_format = 0;
- int pos_t_format = 0;
- int pos_alias = 0;
- String format = "";
- String alias = null;
- if(sql.indexOf("SELECT", 7)!= -1) {
- pos = sql.indexOf("SELECT", 7);
- if(sql.indexOf("TO_CHAR", pos)!= -1){
- pos = sql.indexOf("TO_CHAR", pos);
- if(sql.indexOf("999",pos)!= -1) {
- pos = sql.indexOf("999",pos);
- pos_f_format = sql.lastIndexOf(", '", pos);
- if(pos_f_format == -1 || (pos - pos_f_format > 10)) {
- pos_f_format = sql.lastIndexOf(",'", pos);
- pos_f_format -= 1;
- }
- pos = pos_f_format;
- if(sql.indexOf("')", pos)!= -1) {
- pos_t_format = sql.indexOf("')", pos);
- //debugLogger.debug("pos_t - " + pos_t_format + " " + pos);
- if(pos_t_format == -1 || (pos_t_format - pos > 20)) {
- pos_t_format = sql.indexOf("' )", pos);
- pos_t_format += 3;
- }
- else if (pos_t_format != -1)
- pos_t_format += 2;
- format = sql.substring(pos_f_format+3, pos_t_format);
- //alias = sql.substring(pos_t_format+3, pos_t_format+6);
- pos_alias = sql.indexOf(" ", pos_t_format);
- alias = sql.substring(pos_alias+1, pos_alias+4);
- }
- }
- }
-
- if(sql.indexOf(alias)!=-1) {
- pos = sql.indexOf(alias);
- //debugLogger.debug(pos + " " + alias.length()+1 + "\n" + sql);
- sql.delete(pos,pos+4);
- sql.insert(pos, "TO_NUMBER("+alias+", '"+format+"')),'"+ format + "')");
- pos = sql.lastIndexOf("SUM", pos);
- if(pos==-1)
- pos = sql.lastIndexOf("AVG", pos);
- else if (pos==-1)
- pos = sql.lastIndexOf("COUNT", pos);
- else if (pos == -1)
- pos = sql.lastIndexOf("STDDEV", pos);
- else if (pos == -1)
- pos = sql.lastIndexOf("VARIANCE", pos);
- sql.insert(pos, "TO_CHAR (");
- }
-
- }
-
- //debugLogger.debug("Alias|" + alias + "| Format " + format);
- //debugLogger.debug(sql.toString());
- return sql.toString();
- } // FixSQL
-
- public String parseReportSQL(String sql) throws RaptorException {
- StringBuffer parsedSQL = new StringBuffer();
-
- Vector updatedReportCols = new Vector();
-
- curSQLParsePos = 0;
- int lastParsePos = curSQLParsePos;
- String lastToken = null;
- logger.debug(EELFLoggerDelegate.debugLogger, ("Flat File parseReportSQL ******* SQL " + sql));
- sql = sql.replaceAll("([\\s]*\\() (?!FROM)", "(");
- sql = sql.replaceAll("[\\s]*\\)", ")");
- //sql = sql.replaceAll("[dD][eE][cC][oO][dD][eE] ", "decode");
- //sql = sql.replaceAll("[\\s]*\\(", "(");
- //sql = replaceNewLine(sql, "decode ", "decode");
- //sql = replaceNewLine(sql, "DECODE ", "decode");
- //sql = replaceNewLine(sql, "Decode ", "decode");
-
- String nextToken = getNextSQLParseToken(sql, true);
- String dbInfo = getDbInfo();
- boolean isCYMBALScript = false;
- if (!isNull(dbInfo) && (!dbInfo.equals(AppConstants.DB_LOCAL))) {
- try {
- org.openecomp.portalsdk.analytics.util.RemDbInfo remDbInfo = new org.openecomp.portalsdk.analytics.util.RemDbInfo();
- String dbType = remDbInfo.getDBType(dbInfo);
- if (dbType.equals("DAYTONA") && !(nextToken.toUpperCase().equals("SELECT"))) {
- isCYMBALScript = true;
- }
- } catch (Exception ex) {
- throw new RaptorException(ex);
- }
- }
- if ( isCYMBALScript == false ) {
- while (nextToken.length() > 0) {
- //System.out.println("LastToken " + lastToken + " NextToken " + nextToken);
-
-
- if (parsedSQL.length() == 0) {
- if (nextToken.toUpperCase().equals("SELECT"))
- parsedSQL.append("SELECT ");
- else
- throw new org.openecomp.portalsdk.analytics.error.ValidationException(
- "The SQL must start with the SELECT keyword.");
- } else if (nextToken.toUpperCase().equals("DISTINCT")
- && parsedSQL.toString().equals("SELECT ")) {
- parsedSQL.append("DISTINCT ");
- } else if (nextToken.equals("*")
- && (parsedSQL.toString().equals("SELECT ") || parsedSQL.toString().equals(
- "SELECT DISTINCT "))) {
- throw new org.openecomp.portalsdk.analytics.error.ValidationException(
- "You cannot use \"SELECT *\". Please specify select columns/expressions.");
- } else if (nextToken.toUpperCase().equals("FROM")) {
- if (lastToken != null) {
- updatedReportCols.add(getParseSQLDataColumn(lastToken, null, parsedSQL,
- updatedReportCols, false));
- lastToken = null;
- }
-
- parsedSQL.append(" \n");
- while (lastParsePos < sql.length()
- && Character.isWhitespace(sql.charAt(lastParsePos)))
- lastParsePos++;
- parsedSQL.append(sql.substring(lastParsePos));
- break;
- } else {
- //System.out.println("Next Token " + nextToken);
- if (nextToken.charAt(nextToken.length() - 1) == ',') {
- // The token ends with ,
- nextToken = nextToken.substring(0, nextToken.length() - 1);
-
- if (nextToken.length() == 0) {
- if (lastToken != null) {
- updatedReportCols.add(getParseSQLDataColumn(lastToken, null,
- parsedSQL, updatedReportCols, false));
- lastToken = null;
- } // else just comma => ignore it
- } else {
- //System.out.println("Next Token " + nextToken + " is Here" + " Last Token " + lastToken);
- if (lastToken != null) {
- updatedReportCols.add(getParseSQLDataColumn(lastToken, nextToken,
- parsedSQL, updatedReportCols, false));
- lastToken = null;
- } else
- updatedReportCols.add(getParseSQLDataColumn(nextToken, null,
- parsedSQL, updatedReportCols, false));
- }
- } else {
- // The token doesn't end with ,
- if (lastToken == null)
- lastToken = nextToken;
- else {
- String token = getNextSQLParseToken(sql, false);
- //System.out.println(" ********** " + token + " " + lastToken);
- if (!token.toUpperCase().equals("FROM"))
- throw new org.openecomp.portalsdk.analytics.error.ValidationException(
- "|FROM keyword or a comma expected after [" + nextToken
- + "].");
- //System.out.println("Next Token " + nextToken);
- updatedReportCols.add(getParseSQLDataColumn(lastToken, nextToken,
- parsedSQL, updatedReportCols, false));
- lastToken = null;
- } // else
- } // else
- } // else
-
- lastParsePos = curSQLParsePos;
- nextToken = getNextSQLParseToken(sql, true);
- } // while
- } else { // if CYMBAL Script
- nextToken = getNextCYMBALSQLParseToken(sql, true);
- Pattern re = null;
- Matcher matcher = null;
- String extracted = null;
- while (nextToken.length() > 0) {
- if (lastToken == null) lastToken = nextToken;
-
- if( lastToken.toUpperCase().equals("DO DISPLAY")) {
- re = Pattern.compile("each(.*)\\[.(.*?)\\]"); //\\[(.*?)\\]
- matcher = re.matcher(nextToken);
- if (matcher.find()) {
- extracted = matcher.group();
- re = Pattern.compile("\\[(.*?)\\]");
- matcher = re.matcher(nextToken);
- if(matcher.find()) {
- extracted = matcher.group();
- extracted = extracted.substring(1,extracted.length()-2);
- StringTokenizer sToken = new StringTokenizer(extracted);
- while(sToken.hasMoreTokens()) {
- updatedReportCols.add(getParseSQLDataColumn("", sToken.nextToken(),
- new StringBuffer(""), updatedReportCols, true));
- }
- }
-
- }
-
- }
- lastToken = nextToken;
- nextToken = getNextCYMBALSQLParseToken(sql, true);
- }
- }
-
- if (updatedReportCols.size() == 0)
- throw new org.openecomp.portalsdk.analytics.error.ValidationException(
- "The SQL statement must have at least one column in the SELECT clause.");
-
-
- return parsedSQL.toString();
-
- } // parseReportSQL
-
- private String getNextCYMBALSQLParseToken(String sql, boolean updateParsePos) {
- int braketCount = 0;
- boolean isInsideQuote = false;
- StringBuffer nextToken = new StringBuffer();
- for (int idxNext = curSQLParsePos; idxNext < sql.length(); idxNext++) {
- char ch = sql.charAt(idxNext);
-
- if (ch!='\n')
- nextToken.append(ch);
- else break;
- } // for
-
- return nextToken.toString();
- } // getNextSQLParseToken
-
- private String getNextSQLParseToken(String sql, boolean updateParsePos) {
- int braketCount = 0;
- boolean isInsideQuote = false;
- StringBuffer nextToken = new StringBuffer();
- for (int idxNext = curSQLParsePos; idxNext < sql.length(); idxNext++) {
- char ch = sql.charAt(idxNext);
-
- if (Character.isWhitespace(ch) || ch == ',') {
- if (ch == ',')
- nextToken.append(ch);
-
- if (nextToken.length() == 0)
- continue;
- else if (braketCount == 0 && (!isInsideQuote)) {
- if (updateParsePos)
- curSQLParsePos = idxNext + ((ch == ',') ? 1 : 0);
- break;
- } else if (ch != ',' && nextToken.charAt(nextToken.length() - 1) != ' ')
- nextToken.append(' ');
- } else {
- nextToken.append(ch);
-
- if (ch == '(' || ch == '[')
- braketCount++;
- else if (ch == ')' || ch == ']')
- braketCount--;
- else if (ch == '\''/* ||ch=='\"' */)
- isInsideQuote = (!isInsideQuote);
- } // else
- } // for
-
- return nextToken.toString();
- } // getNextSQLParseToken
-
- private DataColumnType getParseSQLDataColumn(String sqlExpression, String colId,
- StringBuffer parsedSQL, Vector updatedReportCols, boolean isCYMBALScript) throws RaptorException {
- DataColumnType dct = null;
-
- if (colId != null) {
- if (!isParseSQLColID(colId))
- throw new org.openecomp.portalsdk.analytics.error.ValidationException(
- "["
- + colId
- + "] must either be a valid column id consisting only of letters, numbers, and underscores, or there must be a comma in front of it.");
-
- dct = getColumnById(colId);
- } else {
- // Getting unique column id
- colId = "";
- int colIdN = 0;
- for (int i = 0; (i < sqlExpression.length()) && (colIdN < 2); i++)
- if (Character.isLetter(sqlExpression.charAt(i))) {
- colId += sqlExpression.toLowerCase().charAt(i);
- colIdN++;
- } // if
-
- colIdN = getAllColumns().size() + updatedReportCols.size();
- for (boolean idAlreadyUsed = true; idAlreadyUsed; colIdN++) {
- String newColId = colId + colIdN;
- idAlreadyUsed = false;
-
- for (Iterator iter = getAllColumns().iterator(); iter.hasNext();)
- if (newColId.equals(((DataColumnType) iter.next()).getColId())) {
- idAlreadyUsed = true;
- break;
- }
-
- if (!idAlreadyUsed)
- for (Iterator iter = updatedReportCols.iterator(); iter.hasNext();)
- if (newColId.equals(((DataColumnType) iter.next()).getColId())) {
- idAlreadyUsed = true;
- break;
- }
- } // for
-
- colId += (colIdN - 1);
- } // else
-
- if (dct == null) {
- dct = (new ObjectFactory()).createDataColumnType();
- dct.setColId(colId);
- dct.setDisplayWidth(10);
- dct.setDisplayAlignment("Left");
- dct.setVisible(true);
- dct.setGroupBreak(false); // ???
-
- boolean isValidIdentifier = Character.isLetterOrDigit(sqlExpression.charAt(0));
- for (int i = 0; i < sqlExpression.length(); i++)
- if (!(Character.isLetterOrDigit(sqlExpression.charAt(i))
- || (sqlExpression.charAt(i) == '_') || (sqlExpression.charAt(i) == '$'))) {
- isValidIdentifier = false;
- break;
- } // if
-
- if (isValidIdentifier) {
- dct.setDisplayName(sqlExpression);
- } else {
- dct.setDisplayName(colId);
- } // else
- } // if
- if(!isCYMBALScript)
- sqlExpression = sqlExpression.replaceAll(", '", ",'");
- dct.setDbColName(sqlExpression);
- dct.setColName(sqlExpression);
- dct.setCalculated(true);
- dct.setColType(AppConstants.CT_CHAR);
- dct.setDbColType(AppConstants.CT_CHAR);
- adjustColumnType(dct); // ???
-
- if(!isCYMBALScript) {
- if (parsedSQL.toString().equals("SELECT ")
- || parsedSQL.toString().equals("SELECT DISTINCT "))
- parsedSQL.append("\n\t");
- else
- parsedSQL.append(", \n\t");
- parsedSQL.append(sqlExpression);
- parsedSQL.append(" ");
- parsedSQL.append(colId);
- }
-
- return dct;
- } // getParseSQLDataColumn
-
- private boolean isParseSQLColID(String token) {
- if (nvl(token).length() == 0)
- return false;
-
- for (int i = 0; i < token.length(); i++) {
- char ch = token.charAt(i);
-
- if (i == 0 && ch == '_')
- return false;
-
- if (!(Character.isLetterOrDigit(ch) || ch == '_'))
- return false;
- } // for
-
- return true;
- } // isParseSQLColID
-
- /*private*/ public String parseReportSQLForDrillDownParams(String reportSQL, DataColumnType dataColumnRequest, HttpServletRequest request){
- String param = nvl(dataColumnRequest.getDrillDownParams());
- String sql = reportSQL;
- int pos = 0;
- while (param.indexOf('[', pos) >= 0) {
- int startIdx = param.indexOf('[',pos);
- int endIdx = param.indexOf(']',startIdx+1);
- pos = startIdx+1;
- StringBuffer sb = new StringBuffer();
- if (startIdx > 0)
- sb.append(param.substring(0, startIdx));
- else break;
-
- if (param.charAt(startIdx + 1) == '#') {
- // Parameter is a form field value
- String fieldId = param.substring(startIdx + 2, endIdx);
- String fieldValue = request.getParameter(fieldId);
- sql = Utils.replaceInString(sql, "[" + fieldId.toUpperCase()+"]", fieldValue );
- }
- }
- return sql;
- }
-
-public List getMapMarkers(ReportData rd, org.openecomp.portalsdk.analytics.xmlobj.ReportMap xmlmap){
-
- ArrayList markers = new ArrayList();
- int rNum = 0;
- HashMap colHash = new HashMap();
-
- for(rd.reportDataRows.resetNext(); rd.reportDataRows.hasNext(); rNum++) {
- DataRow dr = rd.reportDataRows.getNext();
- for(dr.resetNext(); dr.hasNext(); ) {
- DataValue dv = dr.getNext();
- colHash.put(dv.getColId(), dv.getDisplayValueLinkHtml());
- }
-
- for (int i = 0; i < xmlmap.getMarkers().size(); i ++){
- Marker marker = new Marker("", "", "");
- org.openecomp.portalsdk.analytics.xmlobj.Marker m = (org.openecomp.portalsdk.analytics.xmlobj.Marker) xmlmap.getMarkers().get(i);
- String address = (String) colHash.get(m.getAddressColumn());
- String data = (String) colHash.get(m.getDataColumn());
- marker.setAddress(address);
- if (xmlmap.getAddAddressInDataYN() != null && xmlmap.getAddAddressInDataYN().equals("Y")){
- marker.setData(address + "<br/>" + data);
- }
- else{
- marker.setData(data);
- }
- marker.setColor(m.getMarkerColor());
- markers.add(marker);
- System.out.println("%%%%%%%%%%%% marker is : " + address + data);
- }
-
- }
-
- return markers;
- }
-
-
-
- public ReportParamValues getReportParamValues() {
- return reportParamValues;
- }
-
- public String getFormFieldFilled(String title) {
- if( getFormFieldList()!=null && reportParamValues!=null && nvl(title).length()>0) {
- 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)));
- title = Utils.replaceInString(title, fieldDisplay, nvl(
- paramValue, ""));
- }
- }
- }
- return title;
- }
-// public static void main (String args[])throws Exception {
-// ReportRuntime rr = new ReportRuntime();
-// String sql= " SELECT NULL TOTAL_AC20, NULL TOTAL_AC21, NULL TOTAL_AC22, NULL TOTAL_CO1, NULL TOTAL_BR2, NULL TOTAL_CO3, NULL TOTAL_CO4, NULL TOTAL_HO20, NULL TOTAL_DU9, NULL TOTAL_HO19, NULL TOTAL_CU10, NULL TOTAL_AC11,TO_CHAR (SUM(TO_NUMBER (SE29,'$9,999,999,990.99')),'$9,999,999,990.99') TOTAL_SE29,TO_CHAR (SUM(TO_NUMBER (BR6,'$9,999,999,990.99')),'$9,999,999,990.99') TOTAL_BR6,TO_CHAR (SUM(TO_NUMBER (TR7,'$9,999,999,990.99')),'$9,999,999,990.99') TOTAL_TR7,TO_CHAR (SUM(TO_NUMBER (FE8,'$9,999,999,990.99')),'$9,999,999,990.99') TOTAL_FE8,TO_CHAR (SUM(TO_NUMBER (TA12,'$9,999,999,990.99')),'$9,999,999,990.99') TOTAL_TA12,TO_CHAR (SUM(TO_NUMBER (UN13,'$9,999,999,990.99')),'$9,999,999,990.99') TOTAL_UN13,TO_CHAR (SUM(TO_NUMBER (TA27,'$9,999,999,990.99')),'$9,999,999,990.99') TOTAL_TA27,TO_CHAR (SUM(TO_NUMBER (TA28,'$9,999,999,990.99')),'$9,999,999,990.99') TOTAL_TA28, NULL TOTAL_CU20, NULL TOTAL_MG23, NULL TOTAL_CU27, NULL TOTAL_CU24, NULL TOTAL_CU28, NULL TOTAL_AC24, NULL TOTAL_CU21, NULL TOTAL_RE25, NULL TOTAL_BI29 FROM (SELECT substr(ACCT_ID,1,3) ac20, substr(ACCT_ID,5,5) ac21, substr(ACCT_ID,11,25) ac22, ci1.CONF_ID co1, ci1.BRIDGE_ID br2, ci1.CONF_RESERVE_DATE co3, ci1.CONF_RESERVE_TIME co4, ci1.HOST_PARTICIPANT_NUMBER ho20, to_number(duration_in_minutes) du9, ci1.HOST_PARTICIPANT_NAME ho19, ci1.CUSTOMER_CONF_ID cu10, ci1.ACCESS_METHOD ac11, TO_CHAR(ci1.SETUP_CHARGES,'$9,999,999,990.99') se29, TO_CHAR(ci1.BRIDGE_CHARGES,'$9,999,999,990.99') br6, TO_CHAR(ci1.TRANSPORT_CHARGES,'$9,999,999,990.99') tr7, TO_CHAR(ci1.FEATURES_CHARGES,'$9,999,999,990.99') fe8, TO_CHAR(ci1.TAXES,'$9,999,999,990.99') ta12, TO_CHAR(Univ_connect_charges+admin_exp_fee+nvl(property_tax_allotment,0)+nvl(federal_regulatory_fee,0),'$9,999,999,990.99') un13, TO_CHAR(setup_charges+Bridge_charges + transport_charges + features_charges-discount,'$9,999,999,990.99') ta27, TO_CHAR(setup_charges + bridge_charges + transport_charges + features_charges + taxes + univ_connect_charges+admin_exp_fee+nvl(property_tax_allotment,0)+nvl(federal_regulatory_fee,0)-discount,'$9,999,999,990.99') ta28, ci1.CUST_ID cu20, ci2.MGD_SVC_FEE mg23, NULL cu27, to_char( DURATION_IN_MINUTES * mgd_svc_fee ,'$9,990.99') cu24, NULL cu28, ci2.ACCESS_DESCRIPTION ac24, decode ( cust_id , '0011681500002' , '00002' , decode ( cust_id , '0011681500092' , '00092' , decode ( cust_id , '0011681500093' , '00093' , substr(cust_id,9,5) ))) cu21, ci1.RECORD_TYPE re25, ci1.BILL_MONTH bi29 FROM CIS_AUDIO ci1, CIS_MGD_SVC_FEE ci2 WHERE ci2.ACCESS_METHOD (+)=ci1.ACCESS_METHOD AND substr(ACCT_ID,1,3) = '215' AND decode ( cust_id , '0011681500002' , '00002' , decode ( cust_id , '0011681500092' , '00092' , decode ( cust_id , '0011681500093' , '00093' , substr(cust_id,9,5) ))) IN ('00002') AND ci1.BILL_MONTH = 'NOV 2006' ORDER BY ci1.ACCESS_METHOD ASC) totalSQL";
-// rr.parseReportSQL(sql);
-// }
-
- public synchronized Object clone() {
- try {
- return super.clone();
- } catch (CloneNotSupportedException e) {
- // this shouldn't happen, since we are Cloneable
- throw new InternalError("Cloning throws error.");
- }
- }
-
- /* private Vector addForecastData(String sql) throws Exception {
- InstanceQuery instTrainQuery = new InstanceQuery();
- //instTrainQuery.setDatabaseURL("jdbc:idb:=experiments.prp");
- instTrainQuery.setUsername("fusionapp");
- instTrainQuery.setPassword("i64eq4aunp");
- Instances data = instTrainQuery.retrieveInstances(sql);
-
- ArrayList<String> forecastArray = new ArrayList<String>();
-
- List reportCols = getAllColumns();
- DataColumnType dct = null;
- Iterator iter = null;
-
- String dateAttribute = "";
-
- for(iter=reportCols.iterator(); iter.hasNext(); ) {
- dct = (DataColumnType) iter.next();
- if(nvl(dct.getDataMiningCol()).equals(AppConstants.DM_FORECASTING_ATTR))
- forecastArray.add(dct.getColId().toUpperCase());
- }
-
- for(iter=reportCols.iterator(); iter.hasNext(); ) {
- dct = (DataColumnType) iter.next();
- if(nvl(dct.getDataMiningCol()).equals(AppConstants.DM_DATE_ATTR))
- dateAttribute = dct.getColId().toUpperCase();
- }
-
-
- int forecastUnits = getForecastingPeriod();
- // new forecaster
- WekaForecaster forecaster = new WekaForecaster();
-
- // set the targets we want to forecast. This method calls
- // setFieldsToLag() on the lag maker object for us
- StringBuffer forecastAttribute = new StringBuffer("");
- for (int i=0; i < forecastArray.size(); i++) {
- forecastAttribute.append(forecastArray.get(i));
- if(i<forecastArray.size()-1) forecastAttribute.append(",");
- }
- forecaster.setFieldsToForecast(forecastAttribute.toString());
-
- // default underlying classifier is SMOreg (SVM) - we'll use
- // gaussian processes for regression instead
- if(getClassifier().equals(AppConstants.DM_GAUSSIAN_CLASSIFIER))
- forecaster.setBaseForecaster(new GaussianProcesses());
- else if (getClassifier().equals(AppConstants.DM_SVM_CLASSIFIER))
- forecaster.setBaseForecaster(new weka.classifiers.functions.SMOreg());
-
- forecaster.getTSLagMaker().setTimeStampField(dateAttribute); // date time stamp
- forecaster.getTSLagMaker().setMinLag(1);
- forecaster.getTSLagMaker().setMaxLag(12); // monthly data
-
- // add a month of the year indicator field
- forecaster.getTSLagMaker().setAddMonthOfYear(true);
-
- // add a quarter of the year indicator field
- forecaster.getTSLagMaker().setAddQuarterOfYear(true);
-
- // build the model
- forecaster.buildForecaster(data, System.out);
-
- // prime the forecaster with enough recent historical data
- // to cover up to the maximum lag. In our case, we could just supply
- // the 12 most recent historical instances, as this covers our maximum
- // lag period
- forecaster.primeForecaster(data);
-
- // forecast for 12 units (months) beyond the end of the
- // training data
- List<List<NumericPrediction>> forecast = forecaster.forecast(getForecastingPeriod(), System.out);
-
- String dateFormat = "";
- if(nvl(getForecastingTimeFormat()).length()>0)
- dateFormat = getForecastingTimeFormat();
- java.text.SimpleDateFormat sdf = null;
- java.text.SimpleDateFormat sdf1 = null;
- java.text.SimpleDateFormat sdf2 = null;
- if(dateFormat.equals("Default")) {
- sdf = new SimpleDateFormat("yyyy-MM-dd\'T\'HH:mm:ss");
- sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- } else {
- sdf = new SimpleDateFormat("yyyy-MM-dd\'T\'HH:mm:ss");
- sdf1 = new SimpleDateFormat(dateFormat);
- sdf2 = new SimpleDateFormat("MM/yyyy");
- }
- // output the predictions. Outer list is over the steps; inner list is over
- // the targets
- int k = 0;
- int flag = 0;
- Enumeration<Attribute> enum1 = data.lastInstance().enumerateAttributes();
- Attribute attrib = null;
-
- HashMap<String, Object> predictedHashMap = new HashMap<String, Object>();
-
- while(enum1.hasMoreElements()) {
- attrib = enum1.nextElement();
- System.out.println(attrib.name() + " " + attrib.index());
- }
- Vector<Vector> forecastedDataSet = new Vector<Vector>();
- Vector forecastedData = new Vector();
- Date d = null;
- Date forecastedDate = null;
- Calendar c1 = Calendar.getInstance();
- for (int i = 0; i < forecastUnits; i++) {
- TSLagMaker ts = forecaster.getTSLagMaker();
- //java.sql.Timestamp ts1 = new java.sql.Timestamp(new Long(ts.getCurrentTimeStampValue()).longValue());
- //System.out.println(data.lastInstance().dataset().attribute(0).getDateFormat());//parseDate("yyyy-MM-dd\'T\'HH:mm:ss")
- //System.out.println(data.lastInstance().dataset().lastInstance().stringValue(0) + " " + sdf.parse(data.lastInstance().dataset().lastInstance().stringValue(0)));
- d = sdf.parse(data.lastInstance().dataset().lastInstance().stringValue(0));
- c1.setTime(d);
- c1.add(Calendar.MONTH, i+1);
- forecastedDate = c1.getTime();
- List<NumericPrediction> predsAtStep = forecast.get(i);
- predictedHashMap.put(dateAttribute, sdf1.format(forecastedDate));
- predictedHashMap.put(dateAttribute+"_FORMAT", sdf2.format(forecastedDate));
-
- for (int j = 0; j < forecastArray.size(); j++) {
- NumericPrediction predForTarget = predsAtStep.get(j);
- predictedHashMap.put(forecastArray.get(j), new Integer(new Double(predForTarget.predicted()).intValue()).toString());
- //System.out.print(forecastArray.get(j)+" " + predForTarget.predicted());
- }
-
- enum1 = data.lastInstance().enumerateAttributes();
- while(enum1.hasMoreElements()) {
- attrib = enum1.nextElement();
- if((!attrib.name().equals(dateAttribute)) && (!attrib.name().equals(dateAttribute+"_FORMAT"))){
- for (int h=0; h < forecastArray.size(); h++) {
- if(attrib.name().equals(forecastArray.get(h))) {
- forecastedData.add(predictedHashMap.get(attrib.name()));
- flag = 1;
- }
-
- }
- } else if(attrib.name().equals(dateAttribute+"_FORMAT")) {
- forecastedData.add(predictedHashMap.get(dateAttribute+"_FORMAT"));
- flag = 1;
- } else if(attrib.name().equals(dateAttribute)) {
- forecastedData.add(predictedHashMap.get(dateAttribute));
- flag = 1;
- }
- if(flag == 0) {
- forecastedData.add("");
- } / *else {
- forecastedData.add(predictedHashMap.get(dateAttribute));
- forecastedData.add(predictedHashMap.get(dateAttribute+"_format"));
- }* /
- //System.out.println(attrib.name() + " " + attrib.index());
-
-
-
-
-
- flag = 0;
-
- }
- forecastedDataSet.add(forecastedData);
- predictedHashMap = new HashMap<String, Object>();
- forecastedData = new Vector();
- enum1 = data.lastInstance().enumerateAttributes();
- }
- setReportDataSize(getReportDataSize()+getForecastingPeriod());
- return forecastedDataSet;
- } */
-
- public VisualManager getVisualManager() {
- return visualManager;
- }
-
- public String getReportSQLWithRowNum(String _orderBy, boolean asc) {
- String sql = getWholeSQL();
- int closeBracketPos = 0;
- /*if (nvl(_orderBy).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(_orderBy+"_sort");
- if(dct!=null && dct.getColName().length()>0) {
- _orderBy = _orderBy+"_sort";
- }
- if (idxOrderBy < 0)
- sql += " ORDER BY " + _orderBy + " " + (asc ? "ASC" : "DESC");
- 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 " + _orderBy + " "
- + (asc ? "ASC" : "DESC") + sql.substring(idxOrderByClauseEnd);
- } // else
- } // if*/
-
- // Added reportSQLOnlyFirstPart which has Column information with Rownum
- return nvl(getReportSQLOnlyFirstPart()) + " " + sql + ") x ";
-
- }
-
- public int getDisplayMode() {
- return DISPLAY_MODE;
- }
-
- public void setDisplayMode(int mode) {
- DISPLAY_MODE = mode;
- }
-
- public int getDateOption() {
- return DATE_OPTION;
- }
-
- public void setDateOption(int dateOption) {
- DATE_OPTION = dateOption;
- }
-
- public boolean isDisplayColTotals() {
- return displayColTotals;
- }
-
- public void setDisplayColTotals(boolean displayColTotals) {
- this.displayColTotals = displayColTotals;
- }
-
- public boolean isDisplayRowTotals() {
- return displayRowTotals;
- }
-
- public void setDisplayRowTotals(boolean displayRowTotals) {
- this.displayRowTotals = displayRowTotals;
- }
-
-
- private boolean canPersistLinearReport() {
- boolean visibleColExist = false;
-
- if (getDataSourceList().getDataSource().size() > 0) {
- for (Iterator iter = getAllColumns().iterator(); iter.hasNext();) {
- DataColumnType dct = (DataColumnType) iter.next();
-
- if (dct.isVisible()) {
- visibleColExist = true;
- break;
- }
- } // for
- } // if
-
- return visibleColExist;
- } // canPersistLinearReport
-
- public void persistLinearReport(HttpServletRequest request)
- throws RaptorException {
- if (!canPersistLinearReport())
- return;
-
- Connection connection = null;
- try {
- String userID = AppUtils.getUserID(request);
- String reportXML = marshal();
- logger.debug(EELFLoggerDelegate.debugLogger, ("[DEBUG MESSAGE FROM RAPTOR] Report " + reportID
- + " XML marshalled succesfully"));
-
- // Update report
- verifySQLBasedReportAccess(request);
- reportSecurity.reportUpdate(request);
- connection = DbUtils.startTransaction();
- ReportLoader.updateCustomReportRec(connection, this, reportXML);
- ReportLoader.createReportLogEntry(connection, reportID, userID,
- AppConstants.RLA_UPDATE, "", "");
- logger.debug(EELFLoggerDelegate.debugLogger, ("[DEBUG MESSAGE FROM RAPTOR] DB update report "
- + reportID + " succesfull"));
- DbUtils.commitTransaction(connection);
- } catch (RaptorException e) {
- e.printStackTrace();
- DbUtils.rollbackTransaction(connection);
- throw e;
- } finally {
- DbUtils.clearConnection(connection);
- }
- } // persistLinearReport
-
- public void persistDashboardReport(HttpServletRequest request)
- throws RaptorException {
-
- Connection connection = null;
- try {
- String userID = AppUtils.getUserID(request);
- String reportXML = marshal();
- logger.debug(EELFLoggerDelegate.debugLogger, ("[DEBUG MESSAGE FROM RAPTOR] Report " + reportID
- + " XML marshalled succesfully"));
-
- // Update report
- verifySQLBasedReportAccess(request);
- reportSecurity.reportUpdate(request);
- connection = DbUtils.startTransaction();
- ReportLoader.updateCustomReportRec(connection, this, reportXML);
- ReportLoader.createReportLogEntry(connection, reportID, userID,
- AppConstants.RLA_UPDATE, "", "");
- logger.debug(EELFLoggerDelegate.debugLogger, ("[DEBUG MESSAGE FROM RAPTOR] DB update report "
- + reportID + " succesfull"));
- DbUtils.commitTransaction(connection);
- } catch (RaptorException e) {
- e.printStackTrace();
- DbUtils.rollbackTransaction(connection);
- throw e;
- } finally {
- DbUtils.clearConnection(connection);
- }
- } // persistDashboardReport
- public String getTotalSql() {
- return totalSql;
- }
-
- public void setTotalSql(String totalSql) {
- this.totalSql = totalSql;
- }
-
- public void setTriggerFormFieldCheck( ReportFormFields FormFieldList, FormField selectedFormField) {
-
- for (Iterator iter = getReportFormFields().iterator(); iter.hasNext();) {
- FormField ff = (FormField) iter.next();
- if(!ff.getFieldName().equals(selectedFormField.getFieldName())) {
- if(nvl(ff.getBaseSQL()).length()>0 && ff.getBaseSQL().indexOf("["+selectedFormField.getFieldDisplayName() +"]")!= -1) {
- selectedFormField.setTriggerOtherFormFields(true);
- }
-
- }
- }
-
- }
-
- public void setTriggerThisFormFieldCheck( ReportFormFields FormFieldList, FormField selectedFormField) {
-
- String sql = nvl(selectedFormField.getBaseSQL()).length()>0 ? selectedFormField.getBaseSQL():"";
- for (Iterator iter = getReportFormFields().iterator(); iter.hasNext();) {
- FormField ff = (FormField) iter.next();
- if(!ff.getFieldName().equals(selectedFormField.getFieldName())) {
- if(sql.indexOf("["+ff.getFieldDisplayName() +"]")!= -1) {
- selectedFormField.setTriggerThisFormfield(true);
- break;
- }
-
- }
- }
-
- }
-
- private boolean isAllowEdit(HttpServletRequest request) {
- boolean allowEdit = false;
- try {
- if( AppUtils.isAdminUser(request) || AppUtils.isSuperUser(request) ) {
- allowEdit = true;
- }
- } catch (RaptorException ex) {
- allowEdit = false;
- }
- return allowEdit;
- }
- public ReportJSONRuntime createReportJSONRuntime(HttpServletRequest request, ReportData rd) {
- String userId = AppUtils.getUserID(request);
- ObjectMapper mapper = new ObjectMapper();
- ReportJSONRuntime reportJSONRuntime = new ReportJSONRuntime();
- reportJSONRuntime.setReportTitle(getReportTitle());
- reportJSONRuntime.setReportID(getReportID());
- reportJSONRuntime.setReportDescr(getReportDescr());
- reportJSONRuntime.setReportName(getReportName());
- reportJSONRuntime.setReportSubTitle(getReportSubTitle());
- reportJSONRuntime.setAllowSchedule(isAllowSchedule());
- reportJSONRuntime.setAllowEdit(isAllowEdit(request));
- reportJSONRuntime.setColIdxTobeFreezed(getFrozenColumnId());
- reportJSONRuntime.setNumFormCols(getNumFormColsAsInt());
- //back button url
- reportJSONRuntime.setBackBtnURL("");
- String chartType = getChartType();
- boolean displayChart = (nvl(chartType).length()>0)&&getDisplayChart();
- boolean displayChartWizard = getDisplayChart();
- reportJSONRuntime.setChartAvailable(displayChart);
- reportJSONRuntime.setChartWizardAvailable(displayChartWizard);
- reportJSONRuntime.setDisplayData(!isDisplayOptionHideData());
- reportJSONRuntime.setDisplayForm(!isDisplayOptionHideForm());
- reportJSONRuntime.setDisplayExcel(!isDisplayOptionHideExcelIcons());
- reportJSONRuntime.setDisplayPDF(!isDisplayOptionHidePDFIcons());
- ArrayList<IdNameValue> formFieldValues = new ArrayList<IdNameValue>();
- ArrayList<FormFieldJSON> formFieldJSONList = new ArrayList<FormFieldJSON>();
- if(getReportFormFields()!=null) {
- formFieldJSONList = new ArrayList<FormFieldJSON>(getReportFormFields().size());
- for (Iterator iter = getReportFormFields().iterator(); iter.hasNext();) {
- formFieldValues = new ArrayList<IdNameValue>();
- FormField ff = (FormField) iter.next();
- ff.setDbInfo(getDbInfo());
- FormFieldJSON ffJSON = new FormFieldJSON();
- ffJSON.setFieldId(ff.getFieldName());
- ffJSON.setFieldType(ff.getFieldType());
- ffJSON.setFieldDisplayName(ff.getFieldDisplayName());
- ffJSON.setHelpText(ff.getHelpText());
- ffJSON.setValidationType(ff.getValidationType());
- ffJSON.setVisible(ff.isVisible());
- //ffJSON.setTriggerOtherFormFields(ff.getDependsOn());
- IdNameList lookup = null;
- lookup = ff.getLookupList();
- String selectedValue = "";
- String oldSQL = "";
- IdNameList lookupList = null;
- boolean readOnly = false;
- if(lookup!=null) {
- if(!ff.hasPredefinedList) {
- IdNameSql lu = (IdNameSql) lookup;
- String SQL = lu.getSql();
- oldSQL = lu.getSql();
- setTriggerFormFieldCheck( getReportFormFields(), ff);
- ffJSON.setTriggerOtherFormFields(ff.isTriggerOtherFormFields());
- SQL = parseAndFillReq_Session_UserValues(request, SQL, userId);
- SQL = parseAndFillWithCurrentValues(request, SQL, ff);
- String defaultSQL = lu.getDefaultSQL();
- defaultSQL = parseAndFillReq_Session_UserValues(request, defaultSQL, userId);
- defaultSQL = parseAndFillWithCurrentValues(request, defaultSQL, ff);
- lookup = new IdNameSql(-1,SQL,defaultSQL);
-
- lookupList = lookup;
- try {
- lookup.loadUserData(0, "", ff.getDbInfo(), ff.getUserId());
- } catch (Exception e ){ e.printStackTrace(); //throw new RaptorRuntimeException(e);
- }
- }
- lookup.trimToSize();
-
- String[] requestValue = request.getParameterValues(ff.getFieldName());
-
- if(lookup != null && lookup.size() > 0) {
- for (lookup.resetNext(); lookup.hasNext();) {
- IdNameValue value = lookup.getNext();
- readOnly = value.isReadOnly();
- if(requestValue != null && Arrays.asList(requestValue).contains(value.getId())) {
- //if(value.getId().equals(requestValue))
- value.setDefaultValue(true);
- } else if (AppUtils.nvl(ff.getDefaultValue()).length()>0) {
- if(ff.getDefaultValue().equals(value.getId())) {
- value.setDefaultValue(true);
- }
- }
- if(!(ff.getFieldType().equals(FormField.FFT_CHECK_BOX) || ff.getFieldType().equals(FormField.FFT_COMBO_BOX) || ff.getFieldType().equals(FormField.FFT_LIST_BOX)
- || ff.getFieldType().equals(FormField.FFT_LIST_MULTI)) && value.isDefaultValue())
- formFieldValues.add(value);
- else if(ff.getFieldType().equals(FormField.FFT_CHECK_BOX) || ff.getFieldType().equals(FormField.FFT_COMBO_BOX) || ff.getFieldType().equals(FormField.FFT_LIST_BOX)
- || ff.getFieldType().equals(FormField.FFT_LIST_MULTI)) {
- formFieldValues.add(value);
- }
- //break;
- }
- } else {
- if(requestValue!=null && requestValue.length>0) {
- IdNameValue value = new IdNameValue(requestValue[0], requestValue[0], true, false);
- formFieldValues.add(value);
- }
- }
-
- } else {
- setTriggerFormFieldCheck( getReportFormFields(), ff);
- ffJSON.setTriggerOtherFormFields(ff.isTriggerOtherFormFields());
- String[] requestValue = request.getParameterValues(ff.getFieldName());
- if(requestValue!=null && requestValue.length>0) {
- IdNameValue value = new IdNameValue(requestValue[0], requestValue[0], true, false);
- formFieldValues.add(value);
- } else if (AppUtils.nvl(ff.getDefaultValue()).length()>0) {
- IdNameValue value = new IdNameValue(ff.getDefaultValue(), ff.getDefaultValue(), true, false);
- formFieldValues.add(value);
- }
- }
- if(!ff.hasPredefinedList) {
- if(oldSQL != null && !oldSQL.equals("")) {
- ((IdNameSql)lookup).setSQL(oldSQL);
- }
- }
-
-
-
- ffJSON.setFormFieldValues(formFieldValues);
- formFieldJSONList.add(ffJSON);
- } // for
- }
- reportJSONRuntime.setFormFieldList(formFieldJSONList);
- //reportJSONRuntime.setReportDataColumns(get);
- int count = 0;
- Map<String,Object> dvJSON = null;
- if(rd!=null) {
- count = 0;
- reportJSONRuntime.setTotalRows(getReportDataSize());
- ArrayList<ColumnHeader> colList = new ArrayList<ColumnHeader>();
- ArrayList<Map<String,Object>> reportDataRows = new ArrayList<Map<String,Object>>();
- for(rd.reportColumnHeaderRows.resetNext(); rd.reportColumnHeaderRows.hasNext(); ) {
- count++;
- ColumnHeaderRow chr = rd.reportColumnHeaderRows.getNext();
- for(chr.resetNext(); chr.hasNext(); ) {
- colList.add(chr.getNext());
- }
- }
- if(getReportDataSize() > 0) {
- count = 0;
- for(rd.reportDataRows.resetNext(); rd.reportDataRows.hasNext(); count++) {
- dvJSON = new HashMap<String,Object>();
- DataRow dr = rd.reportDataRows.getNext();
- for(dr.resetNext(); dr.hasNext(); ) {
- DataValue dv = dr.getNext();
- try {
- dvJSON.put(dv.getColId(), dv);
- } catch (Exception ex) {
- ex.printStackTrace();
-
- }
- }
- reportDataRows.add(dvJSON);
- }
- }
- reportJSONRuntime.setReportDataColumns(colList);
- reportJSONRuntime.setReportDataRows(reportDataRows);
- //reportJSONRuntime.setSqlWhole(getWholeSQL());
- reportJSONRuntime.setPageSize(getPageSize());
-
- }
-
- if(getReportDataSize() <= 0) {
- reportJSONRuntime.setMessage(getEmptyMessage());
- }
- reportJSONRuntime.setSqlWhole(getWholeSQL());
- return reportJSONRuntime;
-
- }
-
- public ReportJSONRuntime createFormFieldJSONRuntime(HttpServletRequest request) {
- String userId = AppUtils.getUserID(request);
- ObjectMapper mapper = new ObjectMapper();
- ReportJSONRuntime reportJSONRuntime = new ReportJSONRuntime();
- reportJSONRuntime.setReportTitle(getReportTitle());
- reportJSONRuntime.setReportID(getReportID());
- reportJSONRuntime.setReportName(getReportName());
- reportJSONRuntime.setReportSubTitle(getReportSubTitle());
- reportJSONRuntime.setNumFormCols(getNumFormColsAsInt());
- ArrayList<IdNameValue> formFieldValues = new ArrayList<IdNameValue>();
- ArrayList<FormFieldJSON> formFieldJSONList = new ArrayList<FormFieldJSON>();
- if(reportFormFields!=null) {
- formFieldJSONList = new ArrayList<FormFieldJSON>(reportFormFields.size());
- for (Iterator iter = reportFormFields.iterator(); iter.hasNext();) {
- formFieldValues = new ArrayList<IdNameValue>();
- FormField ff = (FormField) iter.next();
- FormFieldJSON ffJSON = new FormFieldJSON();
- ffJSON.setFieldId(ff.getFieldName());
- ffJSON.setFieldType(ff.getFieldType());
- ffJSON.setFieldDisplayName(ff.getFieldDisplayName());
- ffJSON.setHelpText(ff.getHelpText());
- ffJSON.setValidationType(ff.getValidationType());
- ffJSON.setFormFieldValues(formFieldValues);
- ffJSON.setVisible(ff.isVisible());
- formFieldJSONList.add(ffJSON);
- }
- for (Iterator iter = reportFormFields.iterator(); iter.hasNext();) {
- formFieldValues = new ArrayList<IdNameValue>();
- FormField ff = (FormField) iter.next();
- ff.setDbInfo(getDbInfo());
- for (Iterator iter1 = formFieldJSONList.iterator(); iter1.hasNext();) {
- FormFieldJSON ffJSON = (FormFieldJSON) iter1.next();
- if(ffJSON.getFieldId().equals(ff.getFieldName())) {
- IdNameList lookup = null;
- lookup = ff.getLookupList();
- String selectedValue = "";
- String oldSQL = "";
- IdNameList lookupList = null;
- boolean readOnly = false;
- if(lookup!=null) {
- if(!ff.hasPredefinedList) {
- IdNameSql lu = (IdNameSql) lookup;
- String SQL = lu.getSql();
- oldSQL = lu.getSql();
- setTriggerFormFieldCheck( getReportFormFields(), ff);
- ffJSON.setTriggerOtherFormFields(ff.isTriggerOtherFormFields());
- setTriggerThisFormFieldCheck(getReportFormFields(), ff);
- SQL = parseAndFillReq_Session_UserValues(request, SQL, userId);
- SQL = parseAndFillOtherFormfieldValues(request, SQL, userId, formFieldJSONList);
- //SQL = parseAndFillWithCurrentValues(formGrid,SQL, ff);
- String defaultSQL = lu.getDefaultSQL();
- defaultSQL = parseAndFillReq_Session_UserValues(request, defaultSQL, userId);
- //defaultSQL = parseAndFillWithCurrentValues(formGrid,defaultSQL, ff);
- lookup = new IdNameSql(-1,SQL,defaultSQL);
-
- lookupList = lookup;
- try {
- lookup.loadUserData(0, "", ff.getDbInfo(), ff.getUserId());
- } catch (Exception e ){ e.printStackTrace(); //throw new RaptorRuntimeException(e);
- }
- }
- lookup.trimToSize();
-
- String requestValue = request.getParameter(ff.getFieldName());
- ArrayList<String> requestValueList = new ArrayList<String>();
- requestValueList.add(requestValue);
-
- /*if(ff.isTriggerThisFormfield()) {
- refreshFormFieldsWithLatestValue(request, userId, ff, formFieldJSONList);
- }*/
-
-
- for (lookup.resetNext(); lookup.hasNext();) {
- IdNameValue value = lookup.getNext();
- readOnly = value.isReadOnly();
- if(nvl(requestValue).length()>0) {
- if(value.getId().equals(requestValue))
- value.setDefaultValue(true);
- }
- formFieldValues.add(value);
- //break;
- }
-
- } else {
- setTriggerFormFieldCheck( getReportFormFields(), ff);
- ffJSON.setTriggerOtherFormFields(ff.isTriggerOtherFormFields());
- String[] requestValue = request.getParameterValues(ff.getFieldName());
- if(requestValue!=null && requestValue.length>0) {
- IdNameValue value = new IdNameValue(requestValue[0], requestValue[0], true, false);
- formFieldValues.add(value);
- } else if (AppUtils.nvl(ff.getDefaultValue()).length()>0) {
- IdNameValue value = new IdNameValue(ff.getDefaultValue(), ff.getDefaultValue(), true, false);
- formFieldValues.add(value);
- }
- }
- if(!ff.hasPredefinedList) {
- if(oldSQL != null && !oldSQL.equals("")) {
- ((IdNameSql)lookup).setSQL(oldSQL);
- }
- }
-
-
- //if(!ff.isTriggerThisFormfield()) {
- ffJSON.setFormFieldValues(formFieldValues);
- //}
-
- break;
-
- } //if
- } //for
- }//for
- }//if
-
- reportJSONRuntime.setFormFieldList(formFieldJSONList);
- //reportJSONRuntime.setReportDataColumns(get);
-
- return reportJSONRuntime;
-
- }
-
-
- private String parseAndFillOtherFormfieldValues(HttpServletRequest request, String SQL, String userId, ArrayList<FormFieldJSON> formFieldJSONList) {
- ArrayList<IdNameValue> formFieldValues = new ArrayList<IdNameValue>();
- String selectedValue = "";
- String displayName = "";
- for (Iterator iter1 = formFieldJSONList.iterator(); iter1.hasNext();) {
- FormFieldJSON ffJSON = (FormFieldJSON) iter1.next();
- displayName = ffJSON.getFieldDisplayName();
- ArrayList<IdNameValue> formfieldvalues = ffJSON.getFormFieldValues();
- for (int i = 0; i< formfieldvalues.size(); i++) {
- IdNameValue formfieldItem = formfieldvalues.get(i);
- if(formfieldItem.isDefaultValue()) {
- selectedValue = formfieldItem.getId();
- }
- }
- SQL = Utils.replaceInString(SQL, "["+displayName+"]", selectedValue);
- }
- return SQL;
-
- }
-
- private void refreshFormFieldsWithLatestValue(HttpServletRequest request, String userId, FormField ff_src, ArrayList<FormFieldJSON> formFieldJSONList) {
- ArrayList<IdNameValue> formFieldValues = new ArrayList<IdNameValue>();
- //ArrayList<FormFieldJSON> formFieldJSONList = new ArrayList<FormFieldJSON>();
- List<String> requestValueList = null;
- IdNameList lookup = null;
- lookup = ff_src.getLookupList();
- IdNameSql lu = (IdNameSql) lookup;
- String SQL = "" ;
- String oldSQL = "";
- String oldDefaultSQL = "";
- String defaultSQL = "";
- IdNameList lookupList = null;
- if(lu != null) {
- SQL = lu.getSql();
- oldSQL = lu.getSql();
- oldDefaultSQL = lu.getDefaultSQL();
- defaultSQL = lu.getDefaultSQL();
- }
- boolean readOnly = false;
- for (Iterator iter1 = formFieldJSONList.iterator(); iter1.hasNext();) {
- FormFieldJSON ffJSON = (FormFieldJSON) iter1.next();
- if((ffJSON.getFieldId().equals(ff_src.getFieldName())) && ffJSON.isVisible()) {
- for (Iterator iter = reportFormFields.iterator(); iter.hasNext();) {
- formFieldValues = new ArrayList<IdNameValue>();
- FormField ff = (FormField) iter.next();
- if(!ff.getFieldName().equals(ff_src.getFieldName())) {
- //IdNameList lookup = null;
- //lookup = ff.getLookupList();
- String selectedValue = "";
-
-
-
- String [] requestParam = request.getParameterValues(ff.getFieldName());
- if(requestParam != null) {
- requestValueList = Arrays.asList(request.getParameterValues(ff.getFieldName()));
-
- } else {
- requestValueList = new ArrayList<String>();
- }
-
-
- if(nvl(ff_src.getBaseSQL()).length()>0 && ff_src.getBaseSQL().indexOf("["+ff.getFieldDisplayName() +"]")!= -1) {
- if(lookup!=null) {
- try {
- if(!ff_src.hasPredefinedList) {
- String formatSelected = null;
- if(ff_src.getFieldType().equals(FormField.FFT_LIST_MULTI) || ff_src.getFieldType().equals(FormField.FFT_CHECK_BOX)) {
- formatSelected = formatSelectedItems(requestValueList, ff_src.getFieldType());
- } else
- formatSelected = requestValueList.size()>0?requestValueList.get(0):"";
- SQL = Utils.replaceInString(SQL, "["+ff_src.getFieldDisplayName()+"]", formatSelected);
- defaultSQL = Utils.replaceInString(defaultSQL, "["+ff_src.getFieldDisplayName()+"]", formatSelected);
- defaultSQL = parseAndFillWithCurrentValues(request, defaultSQL, ff_src);
- defaultSQL = parseAndFillReq_Session_UserValues(request, defaultSQL, userId);
- SQL = parseAndFillReq_Session_UserValues(request, SQL, userId);
- SQL = parseAndFillWithCurrentValues(request, SQL, ff_src);
-
- }
- } catch (Exception ex) {
- ex.printStackTrace();
- }
-
- }
-
- }
- }
- }
-
- if(nvl(ff_src.getBaseSQL()).length()>0) {
- lookup = new IdNameSql(-1,SQL,defaultSQL);
- lookupList = lookup;
- try {
- lookup.loadUserData(0, "", ff_src.getDbInfo(), ff_src.getUserId());
- } catch (Exception e ){
- e.printStackTrace(); //throw new RaptorRuntimeException(e);
- }
- if(!ff_src.hasPredefinedList) {
- lookup.trimToSize();
- for (lookup.resetNext(); lookup.hasNext();) {
- IdNameValue value = lookup.getNext();
- readOnly = value.isReadOnly();
- formFieldValues.add(value);
- }
- }
- ffJSON.setFormFieldValues(formFieldValues);
- }
- if(!ff_src.hasPredefinedList) {
- if(oldSQL != null && !oldSQL.equals("")) {
- ((IdNameSql)lookup).setSQL(oldSQL);
- }
- if(oldDefaultSQL != null && !oldDefaultSQL.equals("")) {
- ((IdNameSql)lookup).setDefaultSQL(oldDefaultSQL);
- }
- }
-
- }
- }
-
- }
-
-
- private void triggerOtherFormFieldsWithThisValue(HttpServletRequest request, String userId, FormField ff_src, ArrayList<String> requestValueList, ArrayList<FormFieldJSON> formFieldJSONList) {
- ArrayList<IdNameValue> formFieldValues = new ArrayList<IdNameValue>();
- //ArrayList<FormFieldJSON> formFieldJSONList = new ArrayList<FormFieldJSON>();
- for (Iterator iter = reportFormFields.iterator(); iter.hasNext();) {
- formFieldValues = new ArrayList<IdNameValue>();
- FormField ff = (FormField) iter.next();
- if(!ff_src.getFieldName().equals(ff.getFieldName())) {
- for (Iterator iter1 = formFieldJSONList.iterator(); iter1.hasNext();) {
- FormFieldJSON ffJSON = (FormFieldJSON) iter1.next();
- if(ffJSON.getFieldId().equals(ff.getFieldName()) && ffJSON.isVisible()) {
- if(nvl(ff.getBaseSQL()).length()>0 && ff.getBaseSQL().indexOf("["+ff_src.getFieldDisplayName() +"]")!= -1) {
- IdNameList lookup = null;
- lookup = ff.getLookupList();
- String selectedValue = "";
- String oldSQL = "";
- String oldDefaultSQL = "";
- IdNameList lookupList = null;
- boolean readOnly = false;
- if(lookup!=null) {
- try {
- if(!ff.hasPredefinedList) {
- IdNameSql lu = (IdNameSql) lookup;
- String SQL = lu.getSql();
- oldSQL = lu.getSql();
- oldDefaultSQL = lu.getDefaultSQL();
- String defaultSQL = lu.getDefaultSQL();
- String formatSelected = null;
- if(ff_src.getFieldType().equals(FormField.FFT_LIST_MULTI) || ff_src.getFieldType().equals(FormField.FFT_CHECK_BOX)) {
- formatSelected = formatSelectedItems(requestValueList, ff.getFieldType());
- }
- else
- formatSelected = requestValueList.size()>0?requestValueList.get(0):"";
- SQL = Utils.replaceInString(SQL, "["+ff_src.getFieldDisplayName()+"]", formatSelected);
- defaultSQL = Utils.replaceInString(defaultSQL, "["+ff_src.getFieldDisplayName()+"]", formatSelected);
- defaultSQL = parseAndFillWithCurrentValues(request, defaultSQL, ff_src);
- defaultSQL = parseAndFillReq_Session_UserValues(request, defaultSQL, userId);
- SQL = parseAndFillReq_Session_UserValues(request, SQL, userId);
- SQL = parseAndFillWithCurrentValues(request, SQL, ff_src);
- lookup = new IdNameSql(-1,SQL,defaultSQL);
- lookupList = lookup;
- try {
- lookup.loadUserData(0, "", ff.getDbInfo(), ff.getUserId());
- } catch (Exception e ){
- e.printStackTrace(); //throw new RaptorRuntimeException(e);
- }
- }
- lookup.trimToSize();
-
-
-
- for (lookup.resetNext(); lookup.hasNext();) {
- IdNameValue value = lookup.getNext();
- readOnly = value.isReadOnly();
-// if(nvl(requestValue).length()>0) {
-// if(value.getId().equals(requestValue))
-// value.setDefaultValue(true);
-// }
- formFieldValues.add(value);
- //break;
- }
-
- ffJSON.setFormFieldValues(formFieldValues);
-
- if(!ff.hasPredefinedList) {
- if(oldSQL != null && !oldSQL.equals("")) {
- ((IdNameSql)lookup).setSQL(oldSQL);
- }
- if(oldDefaultSQL != null && !oldDefaultSQL.equals("")) {
- ((IdNameSql)lookup).setDefaultSQL(oldDefaultSQL);
- }
- }
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- }
-
- } //ff baseSQL
- }
- }
- }
- }
-
- }
-
- public String formatSelectedItems(List selectedItems, String type) {
- StringBuffer value = new StringBuffer("");
- int count = 0;
- boolean multiple = false;
- if(type.equals("LIST_MULTI_SELECT"))
- multiple = true;
- //multiple = (selectedItems.size()>1);
- for(Iterator iter = selectedItems.iterator(); iter.hasNext(); ) {
- count++;
- String entry = (String) iter.next();
- if(count == 1 && multiple)
- value.append("(");
- //if(type.equals(FormField.FFT_CHECK_BOX))
- /*if(type.equals(FormField.FFT_CHECK_BOX))
- value.append("'"+Utils.oracleSafe(entry)+"'");
- else*/ if (type.equals(FormField.FFT_LIST_MULTI))
- value.append("'"+Utils.oracleSafe(entry)+"'");
- else if(type.equals(FormField.FFT_LIST_BOX))
- value.append(Utils.oracleSafe(entry));
- else
- value.append("'"+Utils.oracleSafe(entry)+"'");
- if((count < selectedItems.size()) && multiple)
- value.append(",");
- if((count == selectedItems.size()) && multiple)
- value.append(")");
- }
-
- if(value.length()>0)
- return value.toString();
- else
- return null;
- }
-
-public String parseAndFillWithCurrentValues(HttpServletRequest request, String sql, FormField source_Formfield) {
-
- if (getFormFieldList() != null) {
- for (Iterator iter = getFormFieldList().getFormField().iterator(); iter.hasNext();) {
- FormFieldType fft = (FormFieldType) iter.next();
- String fieldId = fft.getFieldId();
- String fieldDisplay = getFormFieldDisplayName(fft);
- String formfield_value = "";
- List<String> selectedItems = new ArrayList<String>();
- //Added so that Combo Box in old RAPTOR definition is translated to List box
- if(fft.getFieldType().equals(FormField.FFT_COMBO_BOX)) {
- fft.setFieldType(FormField.FFT_LIST_BOX);
- }
- if(!fft.getFieldType().equals(FormField.FFT_BLANK)) {
- //if(source_Formfield==null || (source_Formfield!=null && !fft.getFieldId().equals(source_Formfield.getFieldName()))) {
- // Add oracle safe
- // Add param base sql
- if(fft.getFieldType().equals(FormField.FFT_LIST_MULTI) || fft.getFieldType().equals(FormField.FFT_CHECK_BOX)) {
- if(request.getParameterValues(fieldId)!=null && request.getParameterValues(fieldId).length > 0) {
-
- selectedItems = Arrays.asList(request.getParameterValues(fieldId));
- formfield_value = formatSelectedItems(selectedItems, fft.getFieldType());
- } else {
- formfield_value = "";
- }
- } else if(fft.getFieldType().equals(FormField.FFT_RADIO_BTN)) {
- if(request.getParameter(fieldId)!=null) {
- formfield_value = request.getParameter(fieldId);
- } else {
- formfield_value = "";
- }
- } else if (fft.getFieldType().equals(FormField.FFT_HIDDEN)) {
- if(request.getParameter(fieldId)!=null) {
- formfield_value = request.getParameter(fieldId);
- } else {
- formfield_value = "";
- }
- } else if((fft.getFieldType().equals(FormField.FFT_TEXT) || fft.getFieldType().equals(FormField.FFT_TEXTAREA)) &&
- (!fft.getValidationType().equals(FormField.VT_DATE) && !fft.getValidationType().equals(FormField.VT_TIMESTAMP_HR)&&
- !fft.getValidationType().equals(FormField.VT_TIMESTAMP_MIN) && !fft.getValidationType().equals(FormField.VT_TIMESTAMP_SEC)) ) {
- if(request.getParameter(fieldId)!=null) {
- formfield_value = request.getParameter(fieldId);
- } else {
- formfield_value = "";
- }
- } else if (fft.getValidationType().equals(FormField.VT_DATE) || fft.getValidationType().equals(FormField.VT_TIMESTAMP_HR)||
- fft.getValidationType().equals(FormField.VT_TIMESTAMP_MIN) || fft.getValidationType().equals(FormField.VT_TIMESTAMP_SEC)) {
- /*if(formGrid.hasFellow(fieldId, true)) {
- Datebox tb = (Datebox) formGrid.getFellowIfAny(fieldId, true);
- try {
- formfield_value = tb.getText();
- } catch (WrongValueException ex) {
- formfield_value = "";
- }
- if(AppUtils.nvl(formfield_value).length() > 0) {
- if(fft.getValidationType().equals(FormField.VT_TIMESTAMP_HR)) {
- if(formGrid.hasFellow(fieldId+"_Hr", true)) {
- Label hiddenLbHr = (Label) formGrid.getFellowIfAny(fieldId+"_Hr", true);
- formfield_value = formfield_value + " " + hiddenLbHr.getValue();
- }
- } else if(fft.getValidationType().equals(FormField.VT_TIMESTAMP_MIN)) {
- if(formGrid.hasFellow(fieldId+"_Min", true)) {
- Label hiddenLbHr = (Label) formGrid.getFellowIfAny(fieldId+"_Hr", true);
- //formfield_value = formfield_value + " " + hiddenLbHr.getValue();
- Label hiddenLbMin = (Label) formGrid.getFellowIfAny(fieldId+"_Min", true);
- formfield_value = formfield_value + " " + hiddenLbHr.getValue() + ":" +hiddenLbMin.getValue();
-
- }
- } else if(fft.getValidationType().equals(FormField.VT_TIMESTAMP_SEC)) {
- if(formGrid.hasFellow(fieldId+"_Sec", true)) {
- Label hiddenLbHr = (Label) formGrid.getFellowIfAny(fieldId+"_Hr", true);
- //formfield_value = formfield_value + " " + hiddenLbHr.getValue();
- Label hiddenLbMin = (Label) formGrid.getFellowIfAny(fieldId+"_Min", true);
- //formfield_value = formfield_value + " " + hiddenLbHr.getValue() + ":" +hiddenLbMin.getValue();
- Label hiddenLbSec = (Label) formGrid.getFellowIfAny(fieldId+"_Sec", true);
- formfield_value = formfield_value + " " + hiddenLbHr.getValue() + ":" +hiddenLbMin.getValue()+ ":" +hiddenLbSec.getValue();
-
- }
- }
- }
-
- } else {
- formfield_value = "";
- }*/
- } else if ((fft.getValidationType().equals(FormField.VT_TIMESTAMP_HR)||
- fft.getValidationType().equals(FormField.VT_TIMESTAMP_MIN) || fft.getValidationType().equals(FormField.VT_TIMESTAMP_SEC))) {
- /*if(fft.getValidationType().equals(FormField.VT_TIMESTAMP_HR)||
- fft.getValidationType().equals(FormField.VT_TIMESTAMP_MIN) || fft.getValidationType().equals(FormField.VT_TIMESTAMP_SEC)) {
- if(fft.getValidationType().equals(FormField.VT_TIMESTAMP_HR)) {
- if(formGrid.hasFellow(fieldId+"_Hr", true)) {
- Label hiddenLbHr = (Label) formGrid.getFellowIfAny(fieldId+"_Hr", true);
- formfield_value = formfield_value + " " + hiddenLbHr.getValue();
- }
- } else if(fft.getValidationType().equals(FormField.VT_TIMESTAMP_MIN)) {
- if(formGrid.hasFellow(fieldId+"_Min", true)) {
- Label hiddenLbHr = (Label) formGrid.getFellowIfAny(fieldId+"_Hr", true);
- //formfield_value = formfield_value + " " + hiddenLbHr.getValue();
- Label hiddenLbMin = (Label) formGrid.getFellowIfAny(fieldId+"_Min", true);
- formfield_value = formfield_value + " " + hiddenLbHr.getValue() + ":" +hiddenLbMin.getValue();
-
- }
- } else if(fft.getValidationType().equals(FormField.VT_TIMESTAMP_SEC)) {
- if(formGrid.hasFellow(fieldId+"_Sec", true)) {
- Label hiddenLbHr = (Label) formGrid.getFellowIfAny(fieldId+"_Hr", true);
- //formfield_value = formfield_value + " " + hiddenLbHr.getValue();
- Label hiddenLbMin = (Label) formGrid.getFellowIfAny(fieldId+"_Min", true);
- //formfield_value = formfield_value + " " + hiddenLbHr.getValue() + ":" +hiddenLbMin.getValue();
- Label hiddenLbSec = (Label) formGrid.getFellowIfAny(fieldId+"_Sec", true);
- formfield_value = formfield_value + " " + hiddenLbHr.getValue() + ":" +hiddenLbMin.getValue()+ ":" +hiddenLbSec.getValue();
-
- }
- }
-
- } */
- } else if (fft.getFieldType().equals(FormField.FFT_TEXT_W_POPUP)) {
- if(request.getParameter(fieldId)!=null) {
- formfield_value = request.getParameter(fieldId);
- } else {
- formfield_value = "";
- }
- } else if (fft.getFieldType().equals(FormField.FFT_LIST_BOX)) {
- if(request.getParameter(fieldId)!=null) {
- formfield_value = request.getParameter(fieldId);
- } else {
- formfield_value = "";
- }
- //}
- }
- if(nvl(formfield_value).length()>0) {
- sql = Utils.replaceInString(sql, fieldDisplay, formfield_value);
- } else {
- sql = Utils.replaceInString(sql, "'"+fieldDisplay+"'", "null");
- sql = Utils.replaceInString(sql, fieldDisplay, "null");
- //sql = Utils.replaceInString(sql, fieldDisplay, "''");
- }
- } // for
- }
- }
- return sql;
- }
- public String parseAndFillReq_Session_UserValues(HttpServletRequest request, String sql, String user_id) {
- HttpSession session = request.getSession();
-
- String[] reqParameters = Globals.getRequestParams().split(",");
- String[] sessionParameters = Globals.getSessionParams().split(",");
- String[] scheduleSessionParameters = Globals.getSessionParamsForScheduling().split(",");
-
-
- if(AppUtils.nvl(sql).length()>0) {
- for (int i = 0; i < reqParameters.length; i++) {
- if(!reqParameters[i].startsWith("ff") && (request.getParameter(reqParameters[i].toUpperCase())!=null && request.getParameter(reqParameters[i].toUpperCase()).length() > 0))
- sql = Utils.replaceInString(sql, "[" + reqParameters[i].toUpperCase()+"]", request.getParameter(reqParameters[i].toUpperCase()) );
- else if (request.getParameter(reqParameters[i])!=null && request.getParameter(reqParameters[i]).length() > 0)
- sql = Utils.replaceInString(sql, "[" + reqParameters[i].toUpperCase()+"]", request.getParameter(reqParameters[i]) );
- }
-
- for (int i = 0; i < scheduleSessionParameters.length; i++) {
- //debugLogger.debug(" Session " + " scheduleSessionParameters[i] " + scheduleSessionParameters[i].toUpperCase() + " " + request.getParameter(scheduleSessionParameters[i]));
- if(request.getParameter(scheduleSessionParameters[i])!=null && request.getParameter(scheduleSessionParameters[i]).trim().length()>0 )
- sql = Utils.replaceInString(sql, "[" + scheduleSessionParameters[i].toUpperCase()+"]", request.getParameter(scheduleSessionParameters[i]) );
- if(request.getAttribute(scheduleSessionParameters[i])!=null && ((String)request.getAttribute(scheduleSessionParameters[i])).trim().length()>0 )
- sql = Utils.replaceInString(sql, "[" + scheduleSessionParameters[i].toUpperCase()+"]", (String) request.getAttribute(scheduleSessionParameters[i]) );
-
- }
-
- for (int i = 0; i < sessionParameters.length; i++) {
- //if(!sessionParameters[i].startsWith("ff"))
- //fieldSQL = Utils.replaceInString(fieldSQL, "[" + sessionParameters[i].toUpperCase()+"]", (String)session.getAttribute(sessionParameters[i].toUpperCase()) );
- //else {
- if (session.getAttribute(sessionParameters[i])!=null && ((String)session.getAttribute(sessionParameters[i])).length() > 0) {
- //debugLogger.debug(" Session " + " sessionParameters[i] " + sessionParameters[i] + " " + (String)session.getAttribute(sessionParameters[i]));
- sql = Utils.replaceInString(sql, "[" + sessionParameters[i].toUpperCase()+"]", (String)session.getAttribute(sessionParameters[i]) );
- }
- // }
- }
- sql = Utils.replaceInString(sql, "[USERID]", user_id);
- sql = Utils.replaceInString(sql, "[USER_ID]", user_id);
- sql = Utils.replaceInString(sql, "[LOGGED_USERID]", user_id);
-
- }
- return sql;
- }
-
-} // ReportRuntime
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/TimeSeriesChartOptions.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/TimeSeriesChartOptions.java
deleted file mode 100644
index 9e6f657f..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/TimeSeriesChartOptions.java
+++ /dev/null
@@ -1,62 +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.runtime;
-
-public class TimeSeriesChartOptions {
- private String lineChartRenderer;
- private boolean multiSeries;
- private boolean nonTimeAxis;
- private boolean showXAxisLabel;
- private boolean addXAxisTicker;
-
- public String getLineChartRenderer() {
- return lineChartRenderer;
- }
- public void setLineChartRenderer(String lineChartRenderer) {
- this.lineChartRenderer = lineChartRenderer;
- }
- public boolean isMultiSeries() {
- return multiSeries;
- }
- public void setMultiSeries(boolean multiSeries) {
- this.multiSeries = multiSeries;
- }
- public boolean isNonTimeAxis() {
- return nonTimeAxis;
- }
- public void setNonTimeAxis(boolean nonTimeAxis) {
- this.nonTimeAxis = nonTimeAxis;
- }
- public boolean isShowXAxisLabel() {
- return showXAxisLabel;
- }
- public void setShowXAxisLabel(boolean showXAxisLabel) {
- this.showXAxisLabel = showXAxisLabel;
- }
- public boolean isAddXAxisTicker() {
- return addXAxisTicker;
- }
- public void setAddXAxisTicker(boolean addXAxisTicker) {
- this.addXAxisTicker = addXAxisTicker;
- }
-
-
-
-}
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/VisualManager.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/VisualManager.java
deleted file mode 100644
index 9587de53..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/VisualManager.java
+++ /dev/null
@@ -1,68 +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.runtime;
-
-import java.util.HashMap;
-
-import org.openecomp.portalsdk.analytics.RaptorObject;
-import org.openecomp.portalsdk.analytics.util.AppConstants;
-
-public class VisualManager extends RaptorObject {
- private HashMap hiddenCols = new HashMap();
-
- private String sortByColId = "";
-
- private String sortByAscDesc = AppConstants.SO_ASC;
-
- public VisualManager() {
- super();
- }
-
- public void hideColumn(String colId) {
- hiddenCols.put(colId, "Y");
- } // hideColumn
-
- public void showColumn(String colId) {
- hiddenCols.put(colId, "N");
- } // showColumn
-
- public boolean isColumnVisible(String colId) {
- return nvl((String) hiddenCols.get(colId), "N").equals("N");
- } // isColumnVisible
-
- public void setSortByColumn(String colId) {
- if (sortByColId.equals(colId))
- sortByAscDesc = sortByAscDesc.equals(AppConstants.SO_ASC) ? AppConstants.SO_DESC
- : AppConstants.SO_ASC;
- else {
- sortByColId = colId;
- sortByAscDesc = AppConstants.SO_ASC;
- }
- } // setSortByColumn
-
- public String getSortByColId() {
- return sortByColId;
- }
-
- public String getSortByAscDesc() {
- return sortByAscDesc;
- }
-
-} // VisualManager
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/ReportSearchResult.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/ReportSearchResult.java
deleted file mode 100644
index ec7999e0..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/ReportSearchResult.java
+++ /dev/null
@@ -1,84 +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.search;
-
-import org.openecomp.portalsdk.analytics.system.AppUtils;
-import org.openecomp.portalsdk.analytics.system.Globals;
-import org.openecomp.portalsdk.analytics.util.AppConstants;
-
-public class ReportSearchResult extends SearchResult {
- private static final String HTML_FORM = "forma";
-
- public ReportSearchResult(int pageNo) {
- this(pageNo, Globals.getDefaultPageSize(), -1, -1);
- } // ReportSearchResult
-
- public ReportSearchResult(int pageNo, int writeAccessColIndex, int ownerIndicatorColIndex) {
- this(pageNo, Globals.getDefaultPageSize(), writeAccessColIndex, ownerIndicatorColIndex);
- } // ReportSearchResult
-
- public ReportSearchResult(int pageNo, int pageSize, int writeAccessColIndex,
- int ownerIndicatorColIndex) {
- super(pageNo, pageSize, writeAccessColIndex, ownerIndicatorColIndex);
-
- addColumn(new SearchResultColumn("no","No", "5%", "Center"));
- addColumn(new SearchResultColumn("rep_id","Report ID", "5%", "Center"));
- addColumn(new SearchResultColumn("rep_name","Report Name", "25%", "Left"));
- addColumn(new SearchResultColumn("descr","Description", "30%", "Left"));
- addColumn(new SearchResultColumn("owner","Report Owner", "10%", "Center"));
- addColumn(new SearchResultColumn("create_date","Create Date", "10%", "Center"));
- addColumn(new SearchResultColumn("copy","&nbsp;&nbsp;Copy&nbsp;&nbsp;", "5%", "Center",
- "document." + HTML_FORM + "." + AppConstants.RI_ACTION
- + ".value='report.copy';", "Copy report", HTML_FORM,
- "Are you sure you want to create a copy of this report?", AppUtils
- .getImgFolderURL()
- + "modify_icon.gif", "13", "12", true, false, false));
- /*addColumn(new SearchResultColumn("&nbsp;&nbsp;Schedule&nbsp;&nbsp;", "5%", "Center",
- "document." + HTML_FORM + "." + AppConstants.RI_ACTION
- + ".value='report.schedule_only';", "Schedule report", HTML_FORM,
- null, AppUtils
- .getImgFolderURL()
- + "calendar_icon.gif", "13", "12", true, false, false));
- */
-
- addColumn(new SearchResultColumn("edit","&nbsp;&nbsp;Edit&nbsp;&nbsp;", "5%", "Center",
- "document." + HTML_FORM + "." + AppConstants.RI_ACTION
- + ".value='report.edit';", "Edit report", HTML_FORM, null, AppUtils
- .getImgFolderURL()
- + "pen_paper.gif", "12", "12", false, true, false));
- addColumn(new SearchResultColumn("delete","Delete", "5%", "Center", "document." + HTML_FORM
- + "." + AppConstants.RI_ACTION + ".value='report.delete';", "Delete report",
- HTML_FORM, "Are you sure you want to delete this report?", AppUtils
- .getImgFolderURL()
- + "deleteicon.gif", "12", "12", false, false, true));
- addColumn(new SearchResultColumn("schedule","Schedule", "5%", "Center", "document." + HTML_FORM
- + "." + AppConstants.RI_ACTION + ".value='report.schedule.report.submit_wmenu';", "Schedule report",
- HTML_FORM, null, AppUtils
- .getImgFolderURL()
- + "calendar_icon.gif", "20", "20", false, false, false, true));
- addColumn(new SearchResultColumn("run","&nbsp;&nbsp;Run&nbsp;&nbsp;", "5%", "Center",
- "document." + HTML_FORM + "." + AppConstants.RI_ACTION
- + ".value='report.run';", "Run report", HTML_FORM, null, AppUtils
- .getImgFolderURL()
- + "test_run.gif", "12", "12"));
- } // ReportSearchResult
-
-} // ReportSearchResult
-
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/ReportSearchResultJSON.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/ReportSearchResultJSON.java
deleted file mode 100644
index fda50d54..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/ReportSearchResultJSON.java
+++ /dev/null
@@ -1,251 +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.search;
-
-import java.util.ArrayList;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.openecomp.portalsdk.analytics.error.RaptorException;
-import org.openecomp.portalsdk.analytics.system.AppUtils;
-import org.openecomp.portalsdk.analytics.system.Globals;
-import org.openecomp.portalsdk.analytics.util.AppConstants;
-import org.openecomp.portalsdk.analytics.util.DataSet;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-class MetaReport {
- private boolean pagination = true;
- private int pageSize;
- private int totalSize;
- private int pageNo;
- public boolean isPagination() {
- return pagination;
- }
- public void setPagination(boolean pagination) {
- this.pagination = pagination;
- }
- public int getPageSize() {
- return pageSize;
- }
- public void setPageSize(int pageSize) {
- this.pageSize = pageSize;
- }
- public int getTotalSize() {
- return totalSize;
- }
- public void setTotalSize(int totalSize) {
- this.totalSize = totalSize;
- }
- public int getPageNo() {
- return pageNo;
- }
- public void setPageNo(int pageNo) {
- this.pageNo = pageNo;
- }
-
-
-}
-class SearchReport {
- private MetaReport metaReport;
- public MetaReport getMetaReport() {
- return metaReport;
- }
- public void setMetaReport(MetaReport metaReport) {
- this.metaReport = metaReport;
- }
- private ArrayList<ArrayList<SearchResultColumn>> columns = new ArrayList<ArrayList<SearchResultColumn>>();
- private ArrayList<ArrayList<SearchResultRow>> rows = new ArrayList<ArrayList<SearchResultRow>>();
- public ArrayList<ArrayList<SearchResultColumn>> getColumns() {
- return columns;
- }
- public void setColumns(ArrayList<ArrayList<SearchResultColumn>> columns) {
- this.columns = columns;
- }
- public ArrayList<ArrayList<SearchResultRow>> getRows() {
- return rows;
- }
- public void setRows(ArrayList<ArrayList<SearchResultRow>> rows) {
- this.rows = rows;
- }
-
-}
-
-public class ReportSearchResultJSON extends SearchResultJSON {
- private static final String HTML_FORM = "forma";
- private String JSONString= "";
- private SearchReport searchReport;
- //private ArrayList<ArrayList<SearchResultColumn>> columns = new ArrayList<ArrayList<SearchResultColumn>>();
- //private ArrayList<ArrayList<SearchResultRow>> rows = new ArrayList<ArrayList<SearchResultRow>>();
-
-
- public ReportSearchResultJSON(int pageNo) {
- this(pageNo, Globals.getDefaultPageSize(), -1, -1);
- } // ReportSearchResult
-
- public ReportSearchResultJSON(int pageNo, int writeAccessColIndex, int ownerIndicatorColIndex) {
- this(pageNo, Globals.getDefaultPageSize(), writeAccessColIndex, ownerIndicatorColIndex);
- } // ReportSearchResult
-
- public ReportSearchResultJSON(int pageNo, int pageSize, int writeAccessColIndex,
- int ownerIndicatorColIndex) {
-
- searchReport = new SearchReport();
- MetaReport metaReport = new MetaReport();
- //if(searchReport.getMetaReport()!=null)
- searchReport.setMetaReport(metaReport);
- metaReport.setPageNo(pageNo);
- metaReport.setPageSize(pageSize);
- metaReport.setPagination(true);
- addColumn(new SearchResultColumn("no", "No", "5%", "Center"));
- addColumn(new SearchResultColumn("rep_id", "Report ID", "5%", "Center"));
- addColumn(new SearchResultColumn("rep_name", "Report Name", "25%", "Left"));
- addColumn(new SearchResultColumn("descr", "Description", "30%", "Left"));
- addColumn(new SearchResultColumn("owner", "Report Owner", "10%", "Center"));
- addColumn(new SearchResultColumn("create_date", "Create Date", "10%", "Center"));
- addColumn(new SearchResultColumn("copy", "Copy", "5%", "Center",
- "document." + HTML_FORM + "." + AppConstants.RI_ACTION
- + ".value='report.copy';", "Copy report", HTML_FORM,
- "Are you sure you want to create a copy of this report?", AppUtils
- .getImgFolderURL()
- + "modify_icon.gif", "13", "12", true, false, false));
- /*addColumn(new SearchResultColumn("&nbsp;&nbsp;Schedule&nbsp;&nbsp;", "5%", "Center",
- "document." + HTML_FORM + "." + AppConstants.RI_ACTION
- + ".value='report.schedule_only';", "Schedule report", HTML_FORM,
- null, AppUtils
- .getImgFolderURL()
- + "calendar_icon.gif", "13", "12", true, false, false));
- */
-
- addColumn(new SearchResultColumn("edit", "Edit", "5%", "Center",
- "document." + HTML_FORM + "." + AppConstants.RI_ACTION
- + ".value='report.edit';", "Edit report", HTML_FORM, null, AppUtils
- .getImgFolderURL()
- + "pen_paper.gif", "12", "12", false, true, false));
- addColumn(new SearchResultColumn("delete", "Delete", "5%", "Center", "document." + HTML_FORM
- + "." + AppConstants.RI_ACTION + ".value='report.delete';", "Delete report",
- HTML_FORM, "Are you sure you want to delete this report?", AppUtils
- .getImgFolderURL()
- + "deleteicon.gif", "12", "12", false, false, true));
- addColumn(new SearchResultColumn("schedule", "Schedule", "5%", "Center", "document." + HTML_FORM
- + "." + AppConstants.RI_ACTION + ".value='report.schedule.report.submit_wmenu';", "Schedule report",
- HTML_FORM, null, AppUtils
- .getImgFolderURL()
- + "calendar_icon.gif", "20", "20", false, false, false, true));
- addColumn(new SearchResultColumn("run", "Run", "5%", "Center",
- "document." + HTML_FORM + "." + AppConstants.RI_ACTION
- + ".value='report.run';", "Run report", HTML_FORM, null, AppUtils
- .getImgFolderURL()
- + "test_run.gif", "12", "12"));
- searchReport.getColumns().add(searchResultColumns);
- } // ReportSearchResult
-
- public void parseData(DataSet ds, HttpServletRequest request, int pageNo, int pageSize, int writeAccessColIndex, int ownerIndicatorColIndex) throws RaptorException {
- // Presumes single ID field in the first column of the DataSet and row
- // number in the first SearchResultColumn
-
- pageNo = AppUtils.getRequestNvlValue(request, "r_page").length()>0?Integer.parseInt(AppUtils.getRequestNvlValue(request, "r_page")):0;
- String userID = AppUtils.getUserID(request);
- int dataSize = ds.getRowCount();
- //pageSize = 0;
-
- if(searchReport.getMetaReport()!=null) {
- searchReport.getMetaReport().setPageNo(pageNo);
- //searchReport.getMetaReport().setPageSize(pageSize);
- pageSize = searchReport.getMetaReport().getPageSize();
- searchReport.getMetaReport().setTotalSize(dataSize);
- }
- int startRow = (pageNo >= 0) ? (pageNo * pageSize) : 0;
- int endRow = (pageNo >= 0) ? Math.min(startRow + pageSize, ds.getRowCount()) : ds
- .getRowCount();
- for (int r = startRow; r < endRow; r++) {
- SearchResultRow row = new SearchResultRow();
- searchResultRows.add(row);
-
- String idValue = ds.getString(r, 0);
-
- boolean bCanEdit = true;
- if (writeAccessColIndex >= 0) {
- String isReadOnlyValue = nvl(ds.getString(r, writeAccessColIndex), "Y");
- bCanEdit = AppUtils.isSuperUser(request) || AppUtils.isAdminUser(request)
- || isReadOnlyValue.equals("N");
- }
-
- boolean bCanDelete = bCanEdit;
- if (Globals.getDeleteOnlyByOwner() && ownerIndicatorColIndex >= 0) {
- String isOwnedByUserRecord = nvl(ds.getString(r, ownerIndicatorColIndex), "N");
- bCanDelete = AppUtils.isSuperUser(request) || isOwnedByUserRecord.equals("Y");
- }
-
- boolean bCanSchedule = ds.getString(r, getNumColumns()-3).equals("Y");
-
- row.addColumnContent(new ColumnContent(getColumn(0).getColumnId(), new SearchResultField("" + (r + 1), idValue,
- getColumn(0), true)));
- boolean isAuthorized = true;
- for (int c = 1; c < getNumColumns(); c++) {
- SearchResultColumn column = getColumn(c);
- isAuthorized = true;
-
- if(column.isCopyLink())
- isAuthorized = Globals.getCanCopyOnReadOnly()? true:bCanEdit;
- else if (column.isDeleteLink())
- isAuthorized = bCanDelete;
- else if (column.isEditLink())
- isAuthorized = bCanEdit;
- else if (column.isScheduleLink())
- isAuthorized = bCanSchedule;
- row.addColumnContent(new ColumnContent(column.getColumnId(), new SearchResultField(
- (column.getLinkURL() == null) ? ds.getString(r, c) : column
- .getLinkTitle(), idValue, column, isAuthorized
- )));
- } // for
- } // for
- searchReport.getRows().add(searchResultRows);
- ObjectMapper mapper = new ObjectMapper();
- String jsonInString = "";
- try {
- jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(searchReport);
- } catch (Exception ex) {
- ex.printStackTrace();
-
- }
- System.out.println(jsonInString);
- this.JSONString = jsonInString;
- } // parseData
-
- private String nvl(String s) {
- return (s == null) ? "" : s;
- }
-
- private String nvl(String s, String sDefault) {
- return nvl(s).equals("") ? sDefault : s;
- }
-
- public String getJSONString() {
- return JSONString;
- }
-
- public void setJSONString(String jSONString) {
- JSONString = jSONString;
- }
-
-
-} // ReportSearchResult
-
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/SearchResult.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/SearchResult.java
deleted file mode 100644
index 5ab75590..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/SearchResult.java
+++ /dev/null
@@ -1,213 +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.search;
-
-import java.util.ArrayList;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.openecomp.portalsdk.analytics.error.RaptorException;
-import org.openecomp.portalsdk.analytics.system.AppUtils;
-import org.openecomp.portalsdk.analytics.system.Globals;
-import org.openecomp.portalsdk.analytics.util.DataSet;
-
-public class SearchResult{
- private int pageNo = -1;
-
- private int pageSize = 50;
-
- private int dataSize = -1;
-
- private int writeAccessColIndex = -1;
-
- private int ownerIndicatorColIndex = -1;
-
- private String csvPageFileName = null;
-
-
-
- private String csvAllRowsFileName = null;
-
- private String excelAllRowsFileName = null;
-
- public ArrayList searchResultColumns = new ArrayList();
-
- public ArrayList searchResultRows = new ArrayList();
-
- public SearchResult(int pageNo) {
- this(pageNo, Globals.getDefaultPageSize());
- } // SearchResult
-
- public SearchResult(int pageNo, int pageSize) {
- this(pageNo, pageSize, -1, -1);
- } // SearchResult
-
- public SearchResult(int pageNo, int pageSize, int writeAccessColIndex,
- int ownerIndicatorColIndex) {
- super();
-
- this.pageNo = pageNo;
- this.pageSize = pageSize;
-
- this.writeAccessColIndex = writeAccessColIndex;
- this.ownerIndicatorColIndex = ownerIndicatorColIndex;
- } // SearchResult
-
- public int getPageNo() {
- return pageNo;
- }
-
- public int getPageSize() {
- return pageSize;
- }
-
- public int getDataSize() {
- return dataSize;
- }
-
- public String getCsvPageFileName() {
- return csvPageFileName;
- }
-
- public String getCsvAllRowsFileName() {
- return csvAllRowsFileName;
- }
-
- public String getExcelAllRowsFileName() {
- return excelAllRowsFileName;
- }
-
- private void setDataSize(int dataSize) {
- this.dataSize = dataSize;
- }
-
- public void setCsvPageFileName(String csvPageFileName) {
- this.csvPageFileName = csvPageFileName;
- }
-
-
-
- public void setCsvAllRowsFileName(String csvAllRowsFileName) {
- this.csvAllRowsFileName = csvAllRowsFileName;
- }
-
-
-
- public void addColumn(SearchResultColumn column) {
- searchResultColumns.add(column);
- } // addColumn
-
- public SearchResultColumn getColumn(int index) {
- return (SearchResultColumn) searchResultColumns.get(index);
- } // getColumn
-
- public int getNumColumns() {
- return searchResultColumns.size();
- } // getNumColumns
-
- public int getNumRows() {
- return searchResultRows.size();
- } // getNumRows
-
- public SearchResultRow getRow(int index) {
- return (SearchResultRow) searchResultRows.get(index);
- } // getRow
-
- public void parseData(DataSet ds, HttpServletRequest request) throws RaptorException {
- // Presumes single ID field in the first column of the DataSet and row
- // number in the first SearchResultColumn
- String userID = AppUtils.getUserID(request);
- setDataSize(ds.getRowCount());
-
- int startRow = (pageNo >= 0) ? (pageNo * pageSize) : 0;
- int endRow = (pageNo >= 0) ? Math.min(startRow + pageSize, ds.getRowCount()) : ds
- .getRowCount();
- for (int r = startRow; r < endRow; r++) {
- SearchResultRow row = new SearchResultRow();
- searchResultRows.add(row);
-
- String idValue = ds.getString(r, 0);
-
- boolean bCanEdit = true;
- if (writeAccessColIndex >= 0) {
- String isReadOnlyValue = nvl(ds.getString(r, writeAccessColIndex), "Y");
- bCanEdit = AppUtils.isSuperUser(request) || AppUtils.isAdminUser(request)
- || isReadOnlyValue.equals("N");
- }
-
- boolean bCanDelete = bCanEdit;
- if (Globals.getDeleteOnlyByOwner() && ownerIndicatorColIndex >= 0) {
- String isOwnedByUserRecord = nvl(ds.getString(r, ownerIndicatorColIndex), "N");
- bCanDelete = AppUtils.isSuperUser(request) || isOwnedByUserRecord.equals("Y");
- }
-
- boolean bCanSchedule = ds.getString(r, getNumColumns()-3).equals("Y");
-
- row.addSearchResultField(new SearchResultField("" + (r + 1), idValue,
- getColumn(0), true));
- boolean isAuthorized = true;
- for (int c = 1; c < getNumColumns(); c++) {
- SearchResultColumn column = getColumn(c);
- isAuthorized = true;
-
- if(column.isCopyLink())
- isAuthorized = Globals.getCanCopyOnReadOnly()? true:bCanEdit;
- else if (column.isDeleteLink())
- isAuthorized = bCanDelete;
- else if (column.isEditLink())
- isAuthorized = bCanEdit;
- else if (column.isScheduleLink())
- isAuthorized = bCanSchedule;
-
- row.addSearchResultField(new SearchResultField(
- (column.getLinkURL() == null) ? ds.getString(r, c) : column
- .getLinkTitle(), idValue, column, isAuthorized
- ));
- } // for
- } // for
- } // parseData
-
- public void truncateToPage(int pageNo) {
- if (this.pageNo >= 0 || pageNo < 0)
- return;
-
- this.pageNo = pageNo;
-
- int startRow = pageNo * pageSize;
- int endRow = Math.min(startRow + pageSize, dataSize);
-
- for (int r = getNumRows() - 1; r >= endRow; r--)
- searchResultRows.remove(r);
-
- for (int r = startRow - 1; r >= 0; r--)
- searchResultRows.remove(r);
- } // truncateToPage
-
- /** *********************************************************************** */
-
- private String nvl(String s) {
- return (s == null) ? "" : s;
- }
-
- private String nvl(String s, String sDefault) {
- return nvl(s).equals("") ? sDefault : s;
- }
-
-} // SearchResult
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/SearchResultColumn.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/SearchResultColumn.java
deleted file mode 100644
index bca1f4cf..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/SearchResultColumn.java
+++ /dev/null
@@ -1,254 +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.search;
-
-public class SearchResultColumn extends org.openecomp.portalsdk.analytics.RaptorObject {
- private String columnId = "";
- private String columnTitle = "";
-
- private String columnWidth = "";
-
- private String alignment = "Left";
-
- private String linkURL = null; // if not null => display link instead of
- // text
-
- private String linkTitle = null; // if img => hint, otherwise link
- // display text
-
- private String linkForm = null; // if not null => displays input submit
- // instead of link
-
- private String linkConfirmMsg = null; // if not null => display conf. box
- // on link click
-
- private String linkImg = null; // if not null => link shows image, not text
-
- private String linkImgWidth = null; // optional
-
- private String linkImgHeight = null; // optional
-
- private boolean copyLink = false; // optional
-
- private boolean editLink = false; // optional
-
- private boolean deleteLink = false; // optional
-
- private boolean scheduleLink = false; // optional
-
- public SearchResultColumn(String columnId, String columnTitle) {
- super();
- setColumnId(columnId);
- setColumnTitle(columnTitle);
- } // SearchResultColumn
-
- public SearchResultColumn(String columnId, String columnTitle, String columnWidth, String alignment) {
- super();
- setColumnId(columnId);
- setColumnTitle(columnTitle);
- setColumnWidth(columnWidth);
- setAlignment(alignment);
- } // SearchResultColumn
-
- public SearchResultColumn(String columnId, String columnTitle, String columnWidth, String alignment,
- String linkURL, String linkTitle, String linkForm, String linkConfirmMsg,
- String linkImg) {
- super();
- setColumnId(columnId);
- setColumnTitle(columnTitle);
- setColumnWidth(columnWidth);
- setAlignment(alignment);
- setLinkURL(linkURL);
- setLinkTitle(linkTitle);
- setLinkForm(linkForm);
- setLinkConfirmMsg(linkConfirmMsg);
- setLinkImg(linkImg);
- } // SearchResultColumn
-
- public SearchResultColumn(String columnId, String columnTitle, String columnWidth, String alignment,
- String linkURL, String linkTitle, String linkForm, String linkConfirmMsg,
- String linkImg, String linkImgWidth, String linkImgHeight) {
- this(columnId, columnTitle, columnWidth, alignment, linkURL, linkTitle, linkForm,
- linkConfirmMsg, linkImg);
-
- setLinkWidth(linkImgWidth);
- setLinkHeight(linkImgHeight);
- } // SearchResultColumn
-
- public SearchResultColumn(String columnId, String columnTitle, String columnWidth, String alignment,
- String linkURL, String linkTitle, String linkForm, String linkConfirmMsg,
- String linkImg, String linkImgWidth, String linkImgHeight, boolean copyLink,
- boolean editLink, boolean deleteLink) {
- this(columnId, columnTitle, columnWidth, alignment, linkURL, linkTitle, linkForm,
- linkConfirmMsg, linkImg, linkImgWidth, linkImgHeight);
-
- setCopyLink(copyLink);
- setEditLink(editLink);
- setDeleteLink(deleteLink);
- } // SearchResultColumn
-
- public SearchResultColumn(String columnId, String columnTitle, String columnWidth, String alignment,
- String linkURL, String linkTitle, String linkForm, String linkConfirmMsg,
- String linkImg, String linkImgWidth, String linkImgHeight, boolean copyLink,
- boolean editLink, boolean deleteLink, boolean scheduleLink) {
- this(columnId, columnTitle, columnWidth, alignment, linkURL, linkTitle, linkForm,
- linkConfirmMsg, linkImg, linkImgWidth, linkImgHeight);
-
- setCopyLink(copyLink);
- setEditLink(editLink);
- setDeleteLink(deleteLink);
- setScheduleLink(scheduleLink);
- } // SearchResultColumn
-
- public String getColumnTitle() {
- return columnTitle;
- }
-
- public String getColumnWidth() {
- return columnWidth;
- }
-
- public String getAlignment() {
- return alignment;
- }
-
- public String getLinkURL() {
- return linkURL;
- }
-
- public String getLinkTitle() {
- return linkTitle;
- }
-
- public String getLinkForm() {
- return linkForm;
- }
-
- public String getLinkConfirmMsg() {
- return linkConfirmMsg;
- }
-
- public String getLinkImg() {
- return linkImg;
- }
-
- public String getLinkImgWidth() {
- return linkImgWidth;
- }
-
- public String getLinkImgHeight() {
- return linkImgHeight;
- }
-
- public boolean isCopyLink() {
- return copyLink;
- }
-
- public boolean isEditLink() {
- return editLink;
- }
-
- public boolean isDeleteLink() {
- return deleteLink;
- }
-
- public void setColumnTitle(String columnTitle) {
- this.columnTitle = nvl(columnTitle);
- }
-
- public void setColumnWidth(String columnWidth) {
- this.columnWidth = nvl(columnWidth);
- }
-
- public void setAlignment(String alignment) {
- this.alignment = alignment;
- }
-
- public void setLinkURL(String linkURL) {
- this.linkURL = linkURL;
- }
-
- public void setLinkTitle(String linkTitle) {
- this.linkTitle = linkTitle;
- }
-
- public void setLinkForm(String linkForm) {
- this.linkForm = linkForm;
- }
-
- public void setLinkConfirmMsg(String linkConfirmMsg) {
- this.linkConfirmMsg = linkConfirmMsg;
- }
-
- public void setLinkImg(String linkImg) {
- this.linkImg = linkImg;
- }
-
- public void setLinkWidth(String linkImgWidth) {
- this.linkImgWidth = linkImgWidth;
- }
-
- public void setLinkHeight(String linkImgHeight) {
- this.linkImgHeight = linkImgHeight;
- }
-
- public void setCopyLink(boolean copyLink) {
- this.copyLink = copyLink;
- }
-
- public void setEditLink(boolean editLink) {
- this.editLink = editLink;
- }
-
- public void setDeleteLink(boolean deleteLink) {
- this.deleteLink = deleteLink;
- }
-
- public String getColumnTitleHtml() {
- return (columnTitle.length() == 0) ? "&nbsp;" : columnTitle;
- }
-
- public String getColumnWidthHtml() {
- return (columnWidth.length() == 0) ? "" : (" width=" + columnWidth);
- }
-
- public String getLinkImgSizeHtml() {
- return ((nvl(linkImgWidth).length() > 0) ? " width=\"" + linkImgWidth + "\"" : "")
- + ((nvl(linkImgHeight).length() > 0) ? " height=\"" + linkImgHeight + "\""
- : "");
- }
-
- public boolean isScheduleLink() {
- return scheduleLink;
- }
-
- public void setScheduleLink(boolean scheduleLink) {
- this.scheduleLink = scheduleLink;
- }
-
- public String getColumnId() {
- return columnId;
- }
-
- public void setColumnId(String columnId) {
- this.columnId = columnId;
- }
-
-} // SearchResultColumn
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/SearchResultField.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/SearchResultField.java
deleted file mode 100644
index a0621553..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/SearchResultField.java
+++ /dev/null
@@ -1,212 +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.search;
-
-import org.openecomp.portalsdk.analytics.util.AppConstants;
-
-public class SearchResultField extends org.openecomp.portalsdk.analytics.RaptorObject {
- private String columnId;
- private String displayValue = "";
-
- private String alignment = "Left";
-
- private String drillDownLink = null;
-
- private String drillDownImage = null;
-
- private String confirmationText = null;
-
-
-
- public String getConfirmationText() {
- return confirmationText;
- }
-
- public void setConfirmationText(String confirmationText) {
- this.confirmationText = confirmationText;
- }
-
- public String getDrillDownImage() {
- return drillDownImage;
- }
-
- public void setDrillDownImage(String drillDownImage) {
- this.drillDownImage = drillDownImage;
- }
-
- public SearchResultField() {
- }
-
- public SearchResultField(String displayValue, String linkIdValue,
- SearchResultColumn column, boolean isAuthorized) {
- super();
-
- if (!isAuthorized)
- return;
-
- setColumnId(column.getColumnId());
- setDisplayValue(displayValue);
- setAlignment(column.getAlignment());
- if(column.getColumnId().equals("edit")) {
- setDrillDownLink("report_wizard.htm?action=report.edit&c_master="+linkIdValue);
- setDrillDownImage(column.getLinkImg());
- setConfirmationText(null);
- } else if(column.getColumnId().equals("copy")) {
- setDrillDownLink("report_wizard.htm?action=report.copy&c_master="+linkIdValue);
- setDrillDownImage(column.getLinkImg());
- setConfirmationText(column.getLinkConfirmMsg());
- } else if(column.getColumnId().equals("delete")) {
- setDrillDownLink("raptor.htm?action=report.delete&c_master="+linkIdValue);
- setDrillDownImage(column.getLinkImg());
- setConfirmationText(column.getLinkConfirmMsg());
- } else if(column.getColumnId().equals("schedule")) {
- setDrillDownLink("report_wizard.htm?action=report.schedule.report.submit_wmenu&c_master="+linkIdValue+"&refresh=Y");
- setDrillDownImage(column.getLinkImg());
- setConfirmationText(null);
- } else if(column.getColumnId().equals("run")) {
- setDrillDownLink("raptor.htm?action=report.run.container&c_master="+linkIdValue+"&refresh=Y");
- setDrillDownImage(column.getLinkImg());
- setConfirmationText(null);
- } else {
- if (column.getLinkURL() != null) {
- StringBuffer sb = new StringBuffer();
-
- if (column.getLinkForm() == null) {
- sb.append("<a href=\"");
- sb.append(column.getLinkURL());
- sb.append(nvl(linkIdValue));
- if (column.getLinkConfirmMsg() != null) {
- sb.append(" onClick=\"return confirm('");
- sb.append(column.getLinkConfirmMsg());
- sb.append("');\"");
- }
- sb.append("\">");
- if (column.getLinkImg() != null) {
- sb.append("<img src=\"");
- sb.append(column.getLinkImg());
- sb.append("\"");
- sb.append(column.getLinkImgSizeHtml());
- sb.append(" border=\"0\"");
- sb.append(column.getLinkTitle() != null ? " alt=\""
- + column.getLinkTitle()/*
- * +(column.isDeleteLink()?"
- * "+linkIdValue:"")
- */
- + "\"" : "");
- sb.append(">");
- } else
- sb.append(column.getLinkTitle());
- sb.append("</a>");
- } else {
- sb.append("<input type=\"");
- if (column.getLinkImg() != null) {
- sb.append("image\" src=\"");
- sb.append(column.getLinkImg());
- sb.append("\"");
- sb.append(column.getLinkImgSizeHtml());
- sb.append(" border=\"0\"");
- sb.append(column.getLinkTitle() != null ? " alt=\""
- + column.getLinkTitle()/*
- * +(column.isDeleteLink()?"
- * "+linkIdValue:"")
- */
- + "\"" : "");
- } else {
- sb.append("submit\" value=\"");
- sb.append(column.getLinkTitle());
- sb.append("\"");
- }
- sb.append(" onClick=\"");
- if (column.getLinkConfirmMsg() != null) {
- sb.append("if(! confirm('");
- sb.append(column.getLinkConfirmMsg());
- sb.append("')) return false; ");
- }
- sb.append(column.getLinkURL());
- sb.append(" document.");
- sb.append(column.getLinkForm());
- sb.append(".");
- sb.append(AppConstants.RI_REPORT_ID);
- sb.append(".value='");
- sb.append(nvl(linkIdValue));
- sb.append("';");
- sb.append(" document.");
- sb.append(column.getLinkForm());
- sb.append(".");
- sb.append("refresh");
- sb.append(".value='");
- sb.append("Y");
- sb.append("';\">");
- } // else
-
- setDrillDownLink(sb.toString());
- } // if
- }
- } // SearchResultField
-
- public String getDisplayValue() {
- return displayValue;
- }
-
- public String getAlignment() {
- return alignment;
- }
-
- public String getDrillDownLink() {
- return drillDownLink;
- }
-
- public void setDisplayValue(String displayValue) {
- this.displayValue = nvl(displayValue);
- }
-
- public void setAlignment(String alignment) {
- this.alignment = alignment;
- }
-
- public void setDrillDownLink(String drillDownLink) {
- this.drillDownLink = drillDownLink;
- }
-
- public String getTooltipValue() {
- return (displayValue.length() == 0) ? "&nbsp;" : displayValue;
- }
-
- /*public String getAlignmentHtml() {
- return (alignment.length() == 0) ? "" : (" align=" + alignment);
- }*/
-
- /*public String getDisplayValueLinkHtml() {
- if (nvl(drillDownLink).length() == 0)
- return getDisplayValueHtml();
- else
- return getDrillDownLink();
- } // getDisplayValueLinkHtml*/
-
- public String getColumnId() {
- return columnId;
- }
-
- public void setColumnId(String columnId) {
- this.columnId = columnId;
- }
-
-
-} // SearchResultField
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/SearchResultJSON.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/SearchResultJSON.java
deleted file mode 100644
index 00e18f12..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/SearchResultJSON.java
+++ /dev/null
@@ -1,80 +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.search;
-
-import java.util.ArrayList;
-
-public class SearchResultJSON{
-
- public ArrayList<SearchResultColumn> searchResultColumns = new ArrayList<SearchResultColumn>();
-
- public ArrayList<SearchResultRow> searchResultRows = new ArrayList<SearchResultRow>();
-
-
-
-
-
-
- public ArrayList<SearchResultColumn> getSearchResultColumns() {
- return searchResultColumns;
- }
-
- public void setSearchResultColumns(ArrayList<SearchResultColumn> searchResultColumns) {
- this.searchResultColumns = searchResultColumns;
- }
-
- public ArrayList<SearchResultRow> getSearchResultRows() {
- return searchResultRows;
- }
-
- public void setSearchResultRows(ArrayList<SearchResultRow> searchResultRows) {
- this.searchResultRows = searchResultRows;
- }
-
- public void addColumn(SearchResultColumn column) {
- searchResultColumns.add(column);
- } // addColumn
-
- public SearchResultColumn getColumn(int index) {
- return (SearchResultColumn) searchResultColumns.get(index);
- } // getColumn
-
- public int getNumColumns() {
- return searchResultColumns.size();
- } // getNumColumns
-
- public int getNumRows() {
- return searchResultRows.size();
- } // getNumRows
-
- public SearchResultRow getRow(int index) {
- return (SearchResultRow) searchResultRows.get(index);
- } // getRow
-
-
- private String nvl(String s) {
- return (s == null) ? "" : s;
- }
-
- private String nvl(String s, String sDefault) {
- return nvl(s).equals("") ? sDefault : s;
- }
-
-} // SearchResultJSON
diff --git a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/SearchResultRow.java b/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/SearchResultRow.java
deleted file mode 100644
index 21fb0254..00000000
--- a/ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/SearchResultRow.java
+++ /dev/null
@@ -1,92 +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.search;
-
-import java.util.ArrayList;
-
-class ColumnContent {
- String columnId;
- SearchResultField searchresultField;
-
- public ColumnContent(String columnId, SearchResultField searchresultField) {
- this.columnId = columnId;
- this.searchresultField = searchresultField;
- }
- public String getColumnId() {
- return columnId;
- }
- public void setColumnId(String columnId) {
- this.columnId = columnId;
- }
- public SearchResultField getSearchresultField() {
- return searchresultField;
- }
- public void setSearchresultField(SearchResultField searchresultField) {
- this.searchresultField = searchresultField;
- }
-
-
-
-}
-public class SearchResultRow extends ArrayList {
-
-
- //private SearchResultField searchresultField;
- private int nextElemIdx = 0;
-
- public void resetNext() {
- resetNext(0);
- } // resetNext
-
- public void resetNext(int toPos) {
- nextElemIdx = toPos;
- } // resetNext
-
- public boolean hasNext() {
- return (nextElemIdx < size());
- } // hasNext
-
- public SearchResultField getNext() {
- return hasNext() ? getSearchResultField(nextElemIdx++) : null;
- } // getNext
-
- public SearchResultField getSearchResultField(int idx) {
- return (SearchResultField) get(idx);
- } // getRowHeader
-
- public void addSearchResultField(SearchResultField searchResultField) {
- add(searchResultField);
- } // addSearchResultField
-
- public void addSearchResultField(int idx, SearchResultField searchResultField) {
- add(idx, searchResultField);
- } // addSearchResultField
-
- public void addColumnContent(ColumnContent cc ) {
-
- add(cc);
- } // addSearchResultField
-
- public void addColumnContent(int idx, ColumnContent cc) {
- add(idx, cc);
- } // addSearchResultField
-
-
-} // SearchResultRow