diff options
author | TATTAVARADA <statta@research.att.com> | 2017-04-27 07:53:18 -0400 |
---|---|---|
committer | st782s <statta@research.att.com> | 2017-04-27 08:31:27 -0400 |
commit | 6beb446925c967aca92f5513adf36c5db77c00d6 (patch) | |
tree | 9392057ed0739de2445c5b2a2a8bee6dcdacbcf7 /ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/DataCache.java | |
parent | 246b225194e3e8dc1926294de591a94fd9787fa7 (diff) |
[PORTAL-7] Rebase
This rebasing includes common libraries and common overlays projects
abstraction of components
Change-Id: Ia1efa4deacdc5701e6205104ac021a6c80ed60ba
Signed-off-by: st782s <statta@research.att.com>
Diffstat (limited to 'ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/DataCache.java')
-rw-r--r-- | ecomp-sdk/sdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/DataCache.java | 524 |
1 files changed, 0 insertions, 524 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 - |