From 7f535078ef80a7b7efa3e3325bfccb994fbd00e8 Mon Sep 17 00:00:00 2001 From: "Christopher Lott (cl778h)" Date: Thu, 31 Aug 2017 15:16:38 -0400 Subject: Rename packages to org.onap in 1.4.0-SNAPSHOT 19 - remove openecomp 72 - remediate Sonar scan issues 79 - removed unwanted left menu under Report 90 - apply approved license text Issue: PORTAL-19, PORTAL-72, PORTAL-79, PORTAL-90 Change-Id: I41a0ef5fba623d2242574bd15f2d9fb8029a496c Signed-off-by: Christopher Lott (cl778h) --- .../onap/portalsdk/analytics/system/AppUtils.java | 362 +++ .../analytics/system/ConnectionUtils.java | 87 + .../onap/portalsdk/analytics/system/DbUtils.java | 289 +++ .../portalsdk/analytics/system/ExecuteQuery.java | 79 + .../onap/portalsdk/analytics/system/Globals.java | 2316 ++++++++++++++++++++ .../onap/portalsdk/analytics/system/IAppUtils.java | 195 ++ .../onap/portalsdk/analytics/system/IDbUtils.java | 54 + .../onap/portalsdk/analytics/system/RDbUtils.java | 53 + .../portalsdk/analytics/system/RemDbUtils.java | 216 ++ .../analytics/system/fusion/AntBuild.java | 85 + .../analytics/system/fusion/AppUtils.java | 383 ++++ .../portalsdk/analytics/system/fusion/DbUtils.java | 96 + .../analytics/system/fusion/RemoteDbUtils.java | 75 + .../adapter/AdapterSessionFactoryContainer.java | 57 + .../analytics/system/fusion/adapter/DateUtils.java | 305 +++ .../system/fusion/adapter/FusionAdapter.java | 139 ++ .../analytics/system/fusion/adapter/IdName.java | 85 + .../analytics/system/fusion/adapter/Item.java | 73 + .../analytics/system/fusion/adapter/Lookup.java | 103 + .../system/fusion/adapter/RaptorAdapter.java | 380 ++++ .../system/fusion/adapter/SpringContext.java | 55 + .../fusion/controller/FileServletController.java | 223 ++ .../analytics/system/fusion/domain/CR_Report.java | 325 +++ .../analytics/system/fusion/domain/QuickLink.java | 79 + .../system/fusion/domain/RaptorSearch.java | 206 ++ .../analytics/system/fusion/domain/ReportInfo.java | 177 ++ .../system/fusion/service/RaptorService.java | 53 + .../system/fusion/service/RaptorServiceImpl.java | 201 ++ .../system/fusion/web/RaptorController.java | 208 ++ .../system/fusion/web/RaptorControllerAsync.java | 1787 +++++++++++++++ .../fusion/web/ReportsSearchListController.java | 95 + 31 files changed, 8841 insertions(+) create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/AppUtils.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/ConnectionUtils.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/DbUtils.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/ExecuteQuery.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/Globals.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/IAppUtils.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/IDbUtils.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/RDbUtils.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/RemDbUtils.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/AntBuild.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/AppUtils.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/DbUtils.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/RemoteDbUtils.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/adapter/AdapterSessionFactoryContainer.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/adapter/DateUtils.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/adapter/FusionAdapter.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/adapter/IdName.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/adapter/Item.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/adapter/Lookup.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/adapter/RaptorAdapter.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/adapter/SpringContext.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/controller/FileServletController.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/domain/CR_Report.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/domain/QuickLink.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/domain/RaptorSearch.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/domain/ReportInfo.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/service/RaptorService.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/service/RaptorServiceImpl.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/web/RaptorController.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/web/RaptorControllerAsync.java create mode 100644 ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/web/ReportsSearchListController.java (limited to 'ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system') diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/AppUtils.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/AppUtils.java new file mode 100644 index 00000000..ed1cc6e7 --- /dev/null +++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/AppUtils.java @@ -0,0 +1,362 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the “License”); + * you may not use this software 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. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the “License”); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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. + * + * ============LICENSE_END============================================ + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + */ +package org.onap.portalsdk.analytics.system; + +import java.io.File; +import java.text.SimpleDateFormat; +import java.util.*; + +import javax.servlet.http.*; + +import org.onap.portalsdk.analytics.error.RaptorException; +import org.onap.portalsdk.analytics.util.*; + +public class AppUtils /* implements IAppUtils */{ + private static String baseURL = null; + + private AppUtils() { + } + + /** ******************************************************** */ + + public static String generateFileName(HttpServletRequest request, String fileTypeExtension) { + return AppConstants.FILE_PREFIX + getUserID(request) + fileTypeExtension; + } // generateFileName + + public static String generateUniqueFileName(HttpServletRequest request, String reportName, String fileTypeExtension) { + String formattedReportName = new HtmlStripper().stripSpecialCharacters(reportName); + String formattedDate = new SimpleDateFormat("MMddyyyyHHmm").format(new Date()); + return formattedReportName+formattedDate+getUserID(request)+fileTypeExtension; + } // generateFileName + + public static String getRequestValue(HttpServletRequest request, String valueID) { + String value = (String) request.getAttribute(valueID); + if (value == null) + value = request.getParameter(valueID); + return value; + } // getRequestValue + + public static String getRequestNvlValue(HttpServletRequest request, String valueID) { + String value = getRequestValue(request, valueID); + return (value == null) ? "" : value; + } // getRequestValue + + public static boolean getRequestFlag(HttpServletRequest request, String valueID) { + String value = getRequestNvlValue(request, valueID); + return value.toLowerCase().equals("true") || value.toUpperCase().startsWith("Y"); + } // getRequestFlag + + /** ******************************************************** */ + + public static String getUserID(HttpServletRequest request) { + return Globals.getAppUtils().getUserID(request); + } // getUserID + + public static String getUserName(HttpServletRequest request) { + return Globals.getAppUtils().getUserName(request); + } // getUserName + + public static String getUserName(String userId) { + return Globals.getAppUtils().getUserName(userId); + } // getUserName + + public static String getUserEmail(String userId) { + return Globals.getAppUtils().getUserEmail(userId); + } // getUserEmail + + public static String getUserEmail(HttpServletRequest request) { + return Globals.getAppUtils().getUserEmail(request); + } // getUserEmail + + public static String getUserLoginId(HttpServletRequest request) { + return Globals.getAppUtils().getUserLoginId(request); + } // getUserLoginId + + public static String getUserLoginId(String userId) { + return Globals.getAppUtils().getUserLoginId(userId); + } // getUserLoginId + + public static String getUserBackdoorLoginId(HttpServletRequest request) { + return Globals.getAppUtils().getUserBackdoorLoginId(request); + } // getUserBackdoorLoginId + + public static Vector getAllUsers(String customizedQuery, String param, boolean isAdmin) { + return Globals.getAppUtils().getAllUsers(customizedQuery, param, isAdmin); + } // getAllUsers + + public static String getRoleName(String roleId) { + return Globals.getAppUtils().getRoleName(roleId); + } // getRoleName + + public static Vector getAllRoles(String customizedQuery, String param, boolean isAdmin) { + return Globals.getAppUtils().getAllRoles(customizedQuery, param, isAdmin); + } // getAllRoles + + public static boolean isUserInRole(HttpServletRequest request, String roleId) throws RaptorException { + return Globals.getAppUtils().isUserInRole(request,roleId); + } // isUserInRole + +// public static boolean isUserInRole(String userId, String roleId) throws RaptorException { +// return Globals.getAppUtils().isUserInRole(userId, roleId); +// } // isUserInRole + + public static Vector getUserRoles(HttpServletRequest request) throws RaptorException { + return Globals.getAppUtils().getUserRoles(request); + } // getUserRoles + + public static Vector getUserRoles(String userID) throws RaptorException { + return Globals.getAppUtils().getUserRoles(userID); + } // getUserRoles + +// public static Vector getUserRoles(HttpServletRequest request) throws RaptorException { +// return Globals.getAppUtils().getUserRoles(request); +// } // getUserRoles + + public static void resetUserCache() { + Globals.getAppUtils().resetUserCache(); + } // resetUserCache + + public static String getSuperRoleID() { + return Globals.getAppUtils().getSuperRoleID(); + } // getSuperRoleID + + public static Vector getAdminRoleIDs() { + return Globals.getAppUtils().getAdminRoleIDs(); + } // getAdminRoleIDs + + // This is changed to check for Admin User as admin user also need super user privilege if explicitly specified in properties file. + public static boolean isSuperUser(HttpServletRequest request)throws RaptorException { + if(Globals.isAdminRoleEquivalenttoSuperRole()) return isAdminUser(request); + else return isUserInRole(request, getSuperRoleID()); + } // isSuperUser + + /*public static boolean isSuperUser(String userId) throws RaptorException { + if(Globals.isAdminRoleEquivalenttoSuperRole()) return isAdminUser(userId); + else return isUserInRole(userId, getSuperRoleID()); + } // isSuperUser + */ + + public static boolean isAdminUser(HttpServletRequest request) throws RaptorException { + if (isSuperUser(request)) + return true; + for (int i = 0; i < getAdminRoleIDs().size(); i++) + if (isUserInRole(request, (String) getAdminRoleIDs().get(i))) + return true; + + return false; + } // isAdminUser + + /*public static boolean isAdminUser(String userId) throws RaptorException { + if (isSuperUser(userId)) + return true; + + for (int i = 0; i < getAdminRoleIDs().size(); i++) + if (isUserInRole(userId, (String) getAdminRoleIDs().get(i))) + return true; + + return false; + } // isAdminUser + */ + + public static String getTempFolderPath() { + String path = Globals.getAppUtils().getTempFolderPath(); + if (path.endsWith(File.separator) || path.endsWith("/")){ + return path; + } else { + path = path + File.separator; + return path; + } + } // getTempFolderPath + + public static String getUploadFolderPath() { + String path = Globals.getAppUtils().getUploadFolderPath(); + if (path.endsWith(File.separator)){ + return path; + } else { + path = path + File.separator; + return path; + } + } // getUploadFolderPath + + public static String getTempFolderURL() { + return Globals.getAppUtils().getTempFolderURL(); + } // getTempFolderURL + + public static String getUploadFolderURL() { + return Globals.getAppUtils().getUploadFolderURL(); + } // getUploadFolderURL + + public static String getSMTPServer()throws Exception { + return Globals.getAppUtils().getSMTPServer(); + } // getSMTPServer + + public static String getDefaultEmailSender() throws RaptorException { + return Globals.getAppUtils().getDefaultEmailSender(); + } // getDefaultEmailSender + + public static String getErrorPage() { + return getJspContextPath() + Globals.getAppUtils().getErrorPage(); + } // getErrorPage + + public static String getErrorPageWMenu() { + return getJspContextPath() + Globals.getAppUtils().getErrorPageWMenu(); + } // getErrorPage + + public static String getJspContextPath() { + return Globals.getAppUtils().getJspContextPath(); + } // getJspContextPath + + public static String getImgFolderURL() { + return Globals.getAppUtils().getImgFolderURL(); + } // getImgFolderURL + + public static String getBaseFolderURL() { + return Globals.getAppUtils().getBaseFolderURL(); + } // getBaseFolderURL + + public static String getChartScriptsPath() { + return getFolderPathAdj()+getBaseFolderURL(); + } // getBaseFolderURL + + public static String getChartScriptsPath(String folderAdj1) { + return folderAdj1+getBaseFolderURL(); + } // getBaseFolderURL + + public static String getFolderPathAdj() { + return Globals.getAppUtils().getFolderPathAdj(); + } // getBaseFolderURL + + + /* + * public static String getReportExecuteActionURL() { return + * Globals.getAppUtils().getReportExecuteActionURL(); } // + * getReportExecuteActionURL + * + * public static String getDataViewActionURL() { return + * Globals.getAppUtils().getDataViewActionURL(); } // getDataViewActionURL + * + * public static String getDataViewActionParam() { return + * Globals.getAppUtils().getDataViewActionParam(); } // + * getDataViewActionParam + */ + public static String getDirectAccessURL() { + return Globals.getAppUtils().getDirectAccessURL(); + } // getDirectAccessURL + + public static String getBaseURL() { + if (baseURL == null) { + baseURL = getBaseActionURL(); + if (baseURL.indexOf("?") > 0) + baseURL = baseURL.substring(0, baseURL.indexOf("?")); + } // if + + return baseURL; + } // getBaseURL + + public static String getBaseActionURL() { + return Globals.getAppUtils().getBaseActionURL(); + } // getBaseActionURL + + public static String getDrillActionURL() { + return Globals.getAppUtils().getDrillActionURL(); + } // getBaseActionURL + + public static String getRaptorActionURL() { + return Globals.getAppUtils().getBaseActionURL() + "raptor&" + AppConstants.RI_ACTION + + "="; + } // getRaptorActionURL + + public static String getRaptorActionURLNG() { + return Globals.getAppUtils().getBaseActionURLNG(); + } // getRaptorActionURL + + public static String getReportExecuteActionURL() { + return getRaptorActionURL() + "report.run.container&" + AppConstants.RI_REPORT_ID + "="; // getBaseActionParam(); + } // getReportExecuteActionURL + + public static String getReportExecuteActionURLNG() { + return getRaptorActionURLNG() + "report_run/"; // getBaseActionParam(); + } // getReportExecuteActionURL + + public static String getBaseActionParam() { + return Globals.getAppUtils().getBaseActionParam(); + } // getBaseActionParam + + public static Vector getQuickLinksMenuIDs() { + return Globals.getAppUtils().getQuickLinksMenuIDs(); + } // getQuickLinksMenuIDs + + public static String getMenuLabel(String menuId) { + return Globals.getAppUtils().getMenuLabel(menuId); + } // getMenuLabel + + public static String getReportDbColsMaskSQL() { + return Globals.getAppUtils().getReportDbColsMaskSQL(); + } // getReportDbColsMaskSQL + + public static String getReportDbLookupsSQL() { + return Globals.getAppUtils().getReportDbLookupsSQL(); + } // getReportDbLookupsSQL + + public static void processErrorNotification(HttpServletRequest request, RaptorException e) { + Globals.getAppUtils().processErrorNotification(request, e); + } // processErrorNotification + + public static String getExcelTemplatePath() { + String path = Globals.getAppUtils().getExcelTemplatePath(); + if (path.endsWith(File.separator)){ + return path; + } else { + path = path + File.separator; + return path; + } + } // getTempFolderPath + + public static String nvl(String s) { + return (s == null) ? "" : s; + } + + public static boolean isNotEmpty(String s) { + return nvl(s).length()>0; + } + public static String nvls(String s, String sDefault) { + return nvl(s).equals("") ? sDefault : s; + } + +} // AppUtils + diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/ConnectionUtils.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/ConnectionUtils.java new file mode 100644 index 00000000..79bbaaa5 --- /dev/null +++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/ConnectionUtils.java @@ -0,0 +1,87 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the “License”); + * you may not use this software 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. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the “License”); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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. + * + * ============LICENSE_END============================================ + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + */ +package org.onap.portalsdk.analytics.system; + +import java.sql.Connection; + +import org.onap.portalsdk.analytics.error.RaptorException; +import org.onap.portalsdk.analytics.error.ReportSQLException; +import org.onap.portalsdk.analytics.util.AppConstants; +import org.onap.portalsdk.analytics.util.DataSet; + +public class ConnectionUtils { + + public static DataSet getDataSet(String sql, String remoteDbPrefix) + throws RaptorException { + return getDataSet(sql, remoteDbPrefix, false); + } + + public static Connection getConnection(String remoteDbPrefix) throws ReportSQLException { + if (!isNull(remoteDbPrefix) && (!remoteDbPrefix.equals(AppConstants.DB_LOCAL)) && !Globals.getSystemType().equals(Globals.ST_GENERIC) ) { + return RemDbUtils.getConnection(remoteDbPrefix); + } else { + return DbUtils.getConnection(); + } + } + + public static DataSet getDataSet(String sql, String remoteDbPrefix, + boolean pagesize) throws ReportSQLException { + DataSet ds = null; + if (!isNull(remoteDbPrefix) && (!remoteDbPrefix.equals(AppConstants.DB_LOCAL)) && !Globals.getSystemType().equals(Globals.ST_GENERIC) ) { + if (pagesize == false) + ds = RemDbUtils.executeQuery(sql,remoteDbPrefix); + else + ds = RemDbUtils.executeQuery(sql, Globals.getDefaultPageSize() + 1,remoteDbPrefix); + } else { + if (pagesize == false) + ds = DbUtils.executeQuery(sql); + else + ds = DbUtils.executeQuery(sql, Globals.getDefaultPageSize() + 1); + } + return ds; + } + + public static boolean isNull(String a) { + if ((a == null) || (a.length() == 0) || a.equalsIgnoreCase("null")) + return true; + else + return false; + } + + +} diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/DbUtils.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/DbUtils.java new file mode 100644 index 00000000..68269bc9 --- /dev/null +++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/DbUtils.java @@ -0,0 +1,289 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the “License”); + * you may not use this software 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. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the “License”); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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. + * + * ============LICENSE_END============================================ + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + */ +package org.onap.portalsdk.analytics.system; + +import java.sql.CallableStatement; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.sql.Types; + +import javax.sql.DataSource; + +import org.onap.portalsdk.analytics.error.RaptorException; +import org.onap.portalsdk.analytics.error.ReportSQLException; +import org.onap.portalsdk.analytics.model.runtime.ReportRuntime; +import org.onap.portalsdk.analytics.util.DataSet; +import org.onap.portalsdk.analytics.xmlobj.DataColumnType; +import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate; +import org.onap.portalsdk.core.web.support.AppUtils; +import org.springframework.beans.factory.annotation.Autowired; + +public class DbUtils { + + private static final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(DbUtils.class); + + private static DataSource dataSource; + + public DbUtils() { + } + + public static Connection getConnection() throws ReportSQLException { + try { + return AppUtils.getDatasource().getConnection(); + } catch(SQLException ex) { + ex.printStackTrace(); + } + return null; + } // getConnection + + public static void clearConnection(Connection con) throws ReportSQLException { + try { + if ((con != null) && !con.isClosed()) + Globals.getDbUtils().clearConnection(con); + } catch (SQLException ex) { + throw new ReportSQLException(ex.getMessage(), ex.getCause()); + } catch (Exception ex2 ) { + throw new ReportSQLException (ex2.getMessage(), ex2.getCause()); + } + } // clearConnection + + public static Connection startTransaction() throws ReportSQLException { + Connection con = null; + try { + con = getConnection(); + con.setAutoCommit(false); + } catch (SQLException ex) { + throw new ReportSQLException (ex.getMessage(), ex.getCause()); + } catch (Exception ex2 ) { + throw new ReportSQLException (ex2.getMessage(), ex2.getCause()); + } + return con; + } // startTransaction + + public static void commitTransaction(Connection con) throws ReportSQLException { + try { + con.commit(); + } catch (SQLException ex) { + throw new ReportSQLException (ex.getMessage(), ex.getCause()); + } catch (Exception ex2 ) { + throw new ReportSQLException (ex2.getMessage(), ex2.getCause()); + } + } // commitTransaction + + public static void rollbackTransaction(Connection con) throws ReportSQLException { + try { + con.rollback(); + clearConnection(con); + } catch (SQLException ex) { + throw new ReportSQLException (ex.getMessage(), ex.getCause()); + } catch (Exception ex2 ) { + throw new ReportSQLException (ex2.getMessage(), ex2.getCause()); + } + } // rollbackTransaction + + public static String executeCall(Connection con, String sql, boolean expectResult) + throws ReportSQLException { + String result = null; + + try { + if(con.isClosed()) con = getConnection(); + logger.debug(EELFLoggerDelegate.debugLogger, ("[SQL CALL FROM RAPTOR] [SQL Call] " + sql)); + CallableStatement stmt = con.prepareCall(sql); + if (expectResult) + stmt.registerOutParameter(1, Types.CHAR); + stmt.executeUpdate(); + if (expectResult) + result = stmt.getString(1); + stmt.close(); + con.commit(); + } catch (SQLException e) { + throw new ReportSQLException(e.getMessage(), sql); + } finally { + clearConnection(con); + } + + return result; + } // executeCall + + public static String executeCall(String sql, boolean expectResult) + throws RaptorException { + Connection con = null; + con = getConnection(); + String result = executeCall(con, sql, expectResult); + //con.commit(); + return result; + } // executeCall + + public static int executeUpdate(Connection con, String sql) throws ReportSQLException { + int rcode = -1; + try { + Statement stmt = con.createStatement(); + logger.debug(EELFLoggerDelegate.debugLogger, ("[SQL CALL FROM RAPTOR] [SQL Update] " + sql)); + rcode = stmt.executeUpdate(sql); + stmt.close(); + //con.commit(); + } catch (SQLException e) { + //e.printStackTrace(); + throw new ReportSQLException(e.getMessage(), sql); + } + return rcode; + } // executeUpdate + + public static int executeUpdate(String sql) throws ReportSQLException { + Connection con = null; + try { + con = getConnection(); + int rcode = executeUpdate(con, sql); + if(Globals.getDBType().equals("oracle")) + con.commit(); + + return rcode; + } catch (SQLException e) { + throw new ReportSQLException(e.getMessage(), sql); + } finally { + clearConnection(con); + } + } // executeUpdate + + public static DataSet executeQuery(Connection con, String sql) throws ReportSQLException { + return executeQuery(con, sql, Integer.MAX_VALUE); + } // executeQuery + + public static DataSet executeQuery(Connection con, String sql, int maxRowLimit) + throws ReportSQLException { + try { + if(con.isClosed()) con = getConnection(); + //con. + Statement stmt = con.createStatement(); + + logger.debug(EELFLoggerDelegate.debugLogger, ("[SQL CALL FROM RAPTOR] [SQL] " + sql)); + ResultSet rs = stmt.executeQuery(sql); + DataSet ds = new DataSet(rs, maxRowLimit); + + if(rs!=null) + rs.close(); + if(stmt!=null) + stmt.close(); + + return ds; + } catch (SQLException e) { + throw new ReportSQLException(e.getMessage(), sql); + } + } // executeQuery + + public static DataSet executeQuery(String sql) throws ReportSQLException { + return executeQuery(sql, Integer.MAX_VALUE); + } // executeQuery + + public static DataSet executeQuery(String sql, int maxRowLimit) throws ReportSQLException { + Connection con = null; + try { + con = getConnection(); + return executeQuery(con, sql, maxRowLimit); + }catch (ReportSQLException ex) { + logger.error(EELFLoggerDelegate.debugLogger, ("Error " + sql)); + throw new ReportSQLException(ex.getMessage(), ex); + }catch(Exception ex1) { + throw new ReportSQLException(ex1.getMessage(), ex1.getCause()); + } finally { + clearConnection(con); + } + } // executeQuery + + //For ZK Support + + public static int executeQuery(ReportRuntime rr, int dateOption) { + Connection con = null; + int rowCount = 0; + try { + con = ConnectionUtils.getConnection(rr.getDBInfo()); + String wholeSql = rr.getWholeSQL(); + + DataColumnType dc = rr.getColumnWhichNeedEnhancedPagination(); + String date_ColId = dc.getColId(); + String dataFormat = dc.getColFormat(); + if(dataFormat!=null && dataFormat.length()>0) + date_ColId = "to_date("+date_ColId+", '"+ dataFormat +"')"; + String sql = ""; + if(dateOption == 1) + sql = "select count(distinct to_char("+date_ColId+", 'YYYY/MM')) from ("+wholeSql+")"; + else if (dateOption == 3) + sql = "select count(distinct to_char("+date_ColId+", 'YYYY/MM/DD')) from ("+wholeSql+")"; + else if (dateOption == 2) + sql = "select count(distinct to_char("+date_ColId+", 'YYYY')) from ("+wholeSql+")"; + DataSet ds = executeQuery(con, sql.toString()); + rowCount = ds.getInt(0,0); + } catch (ReportSQLException ex) { + ex.printStackTrace(); + }catch(Exception ex1) { + ex1.printStackTrace(); + } finally { + try { + clearConnection(con); + } catch (ReportSQLException ex2) { + ex2.printStackTrace(); + } + } + return rowCount; + } + + public String nvl(String s) { + return (s == null) ? "" : s; + } + + public static String nvls(String s) { + return (s == null) ? "" : s; + } + + public static String nvl(String s, String sDefault) { + return nvls(s).equals("") ? sDefault : s; + } + + public static DataSource getDataSource() { + return dataSource; + } + + @Autowired + public void setDataSource(DataSource dataSource) { + dataSource = dataSource; + } + +} // DbUtils diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/ExecuteQuery.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/ExecuteQuery.java new file mode 100644 index 00000000..54631d47 --- /dev/null +++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/ExecuteQuery.java @@ -0,0 +1,79 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the “License”); + * you may not use this software 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. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the “License”); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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. + * + * ============LICENSE_END============================================ + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + */ +package org.onap.portalsdk.analytics.system; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.concurrent.Callable; + +public class ExecuteQuery implements Callable{ + + private Statement stmt; + private String sql = ""; + private int maxRowLimit; + private ResultSet resultSet; + + public ResultSet getResultSet() { + return resultSet; + } + public void setResultSet(ResultSet resultSet) { + this.resultSet = resultSet; + } + + public ExecuteQuery(Statement stmt, String sql, int maxRowLimit) { + super(); + this.stmt = stmt; + this.sql = sql; + this.maxRowLimit = maxRowLimit; + } + + public ResultSet call() throws SQLException { + try { + System.out.println("Query Started" + new java.util.Date()); + resultSet = stmt.executeQuery(sql); + System.out.println("Query End" + new java.util.Date()); + } catch (SQLException ex) { + System.out.println("Query Exception" + new java.util.Date()); + ex.printStackTrace(); + throw ex; + } + return resultSet; + } +} diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/Globals.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/Globals.java new file mode 100644 index 00000000..a394b30f --- /dev/null +++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/Globals.java @@ -0,0 +1,2316 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the “License”); + * you may not use this software 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. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the “License”); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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. + * + * ============LICENSE_END============================================ + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + */ + +/* =========================================================================================== + * This class is part of RAPTOR (Rapid Application Programming Tool for OLAP Reporting) + * Raptor : This tool is used to generate different kinds of reports with lot of utilities + * =========================================================================================== + * + * ------------------------------------------------------------------------------------------- + * Globals.java - This class is used to read properties file and call the common methods + * existing among all the frameworks. + + * ------------------------------------------------------------------------------------------- + * + * + * Changes + * ------- + * 31-Jul-2009 : Version 8.4 (Sundar);
  • getRequestparametersMap method iterates form field collections.
  • + *
+ * 27-Jul-2009 : Version 8.4 (Sundar);
  • Added property "admin_role_equiv_to_super_role" to specify Admin User equivalent to Super User.
  • + *
+ * 14-Jul-2009 : Version 8.4 (Sundar);
  • Added property to showing/hiding params displayed in dashboard reports.
  • + *
+ * + */ +package org.onap.portalsdk.analytics.system; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Hashtable; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.StringTokenizer; + +import javax.servlet.ServletContext; +import javax.servlet.http.HttpServletRequest; + +import org.onap.portalsdk.analytics.config.ConfigLoader; +import org.onap.portalsdk.analytics.controller.ActionMapping; +import org.onap.portalsdk.analytics.model.runtime.FormField; +import org.onap.portalsdk.analytics.model.runtime.ReportFormFields; +import org.onap.portalsdk.analytics.model.runtime.ReportRuntime; +import org.onap.portalsdk.analytics.util.AppConstants; +import org.onap.portalsdk.analytics.util.ExcelColorDef; +import org.onap.portalsdk.analytics.util.Scheduler; +import org.onap.portalsdk.analytics.util.Utils; +import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate; + +public class Globals extends org.onap.portalsdk.analytics.RaptorObject { + + private static final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(Globals.class); + + private static boolean systemInitialized = false; + + private static ActionMapping raptorActionMapping = null; + + private static Scheduler scheduler = null; + + // System type constants + public final static String ST_FUSION = "fusion"; + + public final static String ST_GENERIC = "generic"; + + public final static String ST_PRISMS = "prisms"; + + private static String systemType = ST_PRISMS; // default + + private static IAppUtils appUtils = null; + + private static IDbUtils dbUtils = null; + + private static RDbUtils rdbUtils = null; + + private static int debugLevel = 5; + + private static int downloadLimit = 65000; // max number rows for download + // csv file + + private static int defaultPageSize = 50; + + private static int formFieldsListSize = 50; + + private static int schedulerInterval = 0; + + private static String systemName = "MSA Databank"; + + private static String baseTitle = "ANALYSIS"; + + private static String sheet_name = "Raptor Reports"; + + private static boolean allowSQLBasedReports = true; // whether to allow + // SQL-based report + // definition (security + // risk); super users + // are always allowed to + // create SQL-based + // reports + + private static boolean showDisclaimer = true; // whether to include + // disclaimer page at the + // bottom of each screen + + private static boolean displayFormBeforeRun = true; // whether to display + // the form page as a + // separate page before + // running the report + + private static boolean includeFormWithData = true; // whether to include + // the form page on the + // report data page + + private static boolean cacheChartData = true; // whether to cache chart + // data in the session => + // faster re-display if the + // data volume does not get + // too large + + private static boolean cacheCurPageData = true; // whether to cache report + // data for the currently + // displayed page in the + // session => faster + // re-display if the data + // volume does not get too + // large + + private static boolean deleteOnlyByOwner = true; // whether to permit + // report deletion only + // by report owner or by + // everyone with "write" + // access + + private static boolean enableReportLog = true; // whether to log each + // report execution and + // update time and user ID + + private static boolean cacheUserRoles = true; // whether to cache user + // roles info in memory + // (saves many DB reads, but + // does not account for + // roles assigned after the + // cache was loaded) + + private static boolean monthFormatUseLastDay = true; // whether to + // convert month + // formats (e.g. + // MM/YYYY) to the + // last day of the + // month (true) or + // first day (false) + // - like 12/2003 is + // converted to + // either 12/31/2003 + // or 12/01/2003 + + private static boolean printTitleInDownload = false; // whether to print + // the report title + // in the download + // files + + private static boolean showDescrAtRuntime = false; // whether to show + // report description + // when the report is + // run and in the quick + // links + + // private static boolean skipChartLabelsToFit = false; // whether to skip + // labels on the Line chart axis when they overlap + private static boolean showNonstandardCharts = false; // whether to show + // chart types that + // are purpose + // and/or data + // specific + + private static boolean allowRuntimeChartSel = true; // whether to allow the + // user to change the + // chart type at runtime + + private static boolean displayChartTitle = false; // whether to display + // the report title as + // chart title as well + + private static boolean mergeCrosstabRowHeadings = true; // whether to + // merge/blank + // multi-level row + // headings in + // cross-tab report + + private static boolean displayChartByDefault = true; // whether to + // display chart + // when displaying + // the report at + // first or just a + // "Show Chart" + // button + + private static boolean printParamsInDownload = false; // whether to print + // the form field + // values in the + // download files + + // private static boolean chartLinesAlwaysSolid = true; // whether + // multi-lines chart uses solid line for all series or dashed/dotted/etc for + // each + // private static boolean chartLinesAlwaysSmooth = true; // whether line + // charts display smooth lines or with marked points on them for each value + private static int maxDecimalsOnTotals = 2; // Maximum number of decimals + // displayed in totals; decimal + // digits beyond that number + // will be truncated; if + // negative => display all + // decimal digits + + private static int defaultChartWidth = 700; + + private static int defaultChartHeight = 420; + + private static int skipChartLabelsLimit = 30; + + private static boolean canCopyOnReadOnly = true; // whether to users with + // read-only rights for + // a report can copy it + + // Currently not loaded from a property file + private static boolean restrictTablesByRole = true; // whether to restrict + // DB tables + // accessibility by user + // role; defaults to + // false if table + // CR_TABLE_ROLE is + // empty, otherwise true + + private static String javaTimeFormat = "MM/dd/yyyy h:m:s a"; + + private static String oracleTimeFormat = "%m/%d/%Y %h:%i:%s %p"; // must + // correspond + // to + // the + // java + // format + // modifier + + private static String raptorVersion = "10.5.1"; + + private static int flatFileLowerLimit = 0; + + private static int flatFileUpperLimit = 0; + + private static String shellScriptDir = ""; + + private static String queryFolder = ""; + + private static String requestParams = ""; + + private static String sessionParams = ""; + + private static boolean displayAllUsers = true; + + private static boolean user_col_def = true; + + private static boolean printFooterInDownload = true; + + private static String footerFirstLine = ""; + + private static String footerSecondLine = ""; + + private static boolean reportsInPoPUpWindow = false; + + private static boolean poPUpInNewWindow = false; + + private static boolean passRequestParamInDrilldown = false; + + private static Properties raptorPdfProperties; + + private static Properties raptorProperties; + + private static Properties sqlProperty; + + private static boolean showPDFDownloadIcon = false; + + + + private Globals() { + } + + public static synchronized void initializeSystem(ServletContext servletContext) { + if (systemInitialized) + return; + AppConstants.initializeAppConstants(); + ExcelColorDef.initializeExcelColorDef(); + + //DB Agnostic Addition + try{ + Properties sqlProperty = ConfigLoader.getProperties(servletContext, ConfigLoader.SQL_PROPERTIES); + Globals.sqlProperty = sqlProperty; + } + + catch (IOException e) { + e.printStackTrace(); + } + + try { + Properties raptorProperties = ConfigLoader.getProperties(servletContext, + ConfigLoader.RAPTOR_PROPERTIES); + initializeRaptorProperties(raptorProperties); + + + } catch (Exception e) { + logger.error(EELFLoggerDelegate.debugLogger, ("[EXCEPTION ENCOUNTERED IN RAPTOR] Globals: Unable to load properties [" + + ConfigLoader.RAPTOR_PROPERTIES + "]. Exception: " + e.getMessage())); + // throw new RuntimeException(e.getMessage()); + } + + systemInitialized = true; + + try { + appUtils = (IAppUtils) Class.forName( + "org.onap.portalsdk.analytics.system." + systemType.toLowerCase() + ".AppUtils") + .newInstance(); + appUtils.initializeAppUtils(servletContext); + + dbUtils = (IDbUtils) Class.forName( + "org.onap.portalsdk.analytics.system." + systemType.toLowerCase() + ".DbUtils") + .newInstance(); + dbUtils.initializeDbUtils(servletContext); + + if(!Globals.getSystemType().equals(Globals.ST_GENERIC)) { + rdbUtils = (RDbUtils) Class.forName( + "org.onap.portalsdk.analytics.system." + systemType.toLowerCase() + ".RemoteDbUtils") + .newInstance(); + rdbUtils.initializeDbUtils(servletContext); + } + } catch (Exception e) { + String eMsg = "[SYSTEM ERROR] Globals: Unable to instantiate system classes. Exception: " + + e.getMessage(); + logger.error(EELFLoggerDelegate.debugLogger, ("[EXCEPTION ENCOUNTERED IN RAPTOR] " + eMsg)); + systemInitialized = false; + throw new RuntimeException(eMsg); + } + + try { + raptorActionMapping = ConfigLoader.loadRaptorActionMapping(servletContext); + } catch (Exception e) { + String eMsg = "[SYSTEM ERROR] Globals: Unable to load Raptor action mapping. Exception: " + + e.getMessage(); + logger.error(EELFLoggerDelegate.debugLogger, ("[EXCEPTION ENCOUNTERED IN RAPTOR] " + eMsg)); + systemInitialized = false; + throw new RuntimeException(eMsg); + } // catch + + /*try { + //DataSet ds = DbUtils + // .executeQuery("SELECT 1 FROM dual WHERE EXISTS (SELECT 1 FROM cr_table_role)"); + + String p_sql = Globals.getInitializeRoles(); + DataSet ds = DbUtils.executeQuery(p_sql); + + restrictTablesByRole = (ds.getRowCount() > 0); + } catch (Exception e) { + String eMsg = "[SYSTEM ERROR] Globals: Unable to load Raptor version. Exception: " + + e.getMessage(); + debugLogger.error("[EXCEPTION ENCOUNTERED IN RAPTOR] " + eMsg, e); + } // catch + */ + /*try { + //DataSet ds = DbUtils.executeQuery("SELECT cr_raptor.get_version FROM dual"); + + //String n_sql = Globals.getInitializeVersion(); + //DataSet ds = DbUtils.executeQuery(n_sql); + //raptorVersion = Globals.get + // if(ds.getRowCount()>0) + // raptorVersion = " v"+ds.getString(0, 0); + } catch (Exception e) { + String eMsg = "[SYSTEM ERROR] Globals: Unable to load Raptor version. Exception: " + + e.getMessage(); + debugLogger.error("[EXCEPTION ENCOUNTERED IN RAPTOR] " + eMsg, e); + } // catch*/ + + + //initiate pdf global config + try { + raptorPdfProperties = ConfigLoader.getProperties(servletContext, ConfigLoader.RAPTOR_PDF_PROPERTIES); + } + catch (Exception e) { + logger.error(EELFLoggerDelegate.debugLogger, ("[EXCEPTION ENCOUNTERED IN RAPTOR] Globals: Unable to load properties [" + + ConfigLoader.RAPTOR_PDF_PROPERTIES + "]. Exception: " + e.getMessage())); + + } + + scheduler = new Scheduler(schedulerInterval); + + } // initializeSystem + + public static void initializeRaptorProperties(Properties raptorProperties) { + Globals.raptorProperties = raptorProperties; + systemType = raptorProperties.getProperty("system"); + + try { + debugLevel = Integer.parseInt(nvls(raptorProperties + .getProperty("debug_level")).trim()); + } catch (NumberFormatException nfe) { + } + + try { + downloadLimit = Integer.parseInt(nvls(raptorProperties + .getProperty("download_limit")).trim()); + } catch (NumberFormatException nfe) { + } + + try { + defaultPageSize = Integer.parseInt(nvls(raptorProperties + .getProperty("default_page_size")).trim()); + } catch (NumberFormatException nfe) { + } + + try { + formFieldsListSize = Integer.parseInt(nvls(raptorProperties + .getProperty("form_fields_list_size")).trim()); + } catch (NumberFormatException nfe) { + } + + try { + schedulerInterval = Integer.parseInt(nvls(raptorProperties + .getProperty("scheduler_interval")).trim()); + } catch (NumberFormatException nfe) { + System.out.println("NUMBERFORMATEXCEPTION Schedular " + raptorProperties + .getProperty("scheduler_interval")); + schedulerInterval = 0; + } + + try { + maxDecimalsOnTotals = Integer.parseInt(nvls(raptorProperties + .getProperty("max_decimals_on_totals")).trim()); + } catch (NumberFormatException nfe) { + } + + try { + defaultChartWidth = Integer.parseInt(nvls(raptorProperties + .getProperty("default_chart_width")).trim()); + } catch (NumberFormatException nfe) { + } + + try { + defaultChartHeight = Integer.parseInt(nvls(raptorProperties + .getProperty("default_chart_height")).trim()); + } catch (NumberFormatException nfe) { + } + + try { + skipChartLabelsLimit = Integer.parseInt(nvls(raptorProperties + .getProperty("skip_chart_labels_limit")).trim()); + } catch (NumberFormatException nfe) { + } + + systemName = nvls(raptorProperties.getProperty("system_name"), "MSA Databank"); + baseTitle = nvls(raptorProperties.getProperty("base_title"), "ANALYSIS"); + + allowSQLBasedReports = nvls( + raptorProperties.getProperty("allow_sql_based_reports"), "yes") + .toUpperCase().startsWith("Y"); + showDisclaimer = nvls(raptorProperties.getProperty("show_disclaimer"), "yes") + .toUpperCase().startsWith("Y"); + displayFormBeforeRun = nvls( + raptorProperties.getProperty("display_form_before_run"), "yes") + .toUpperCase().startsWith("Y"); + includeFormWithData = nvls(raptorProperties.getProperty("include_form_with_data"), + "yes").toUpperCase().startsWith("Y"); + cacheChartData = nvls(raptorProperties.getProperty("cache_chart_data"), "yes") + .toUpperCase().startsWith("Y"); + cacheCurPageData = nvls(raptorProperties.getProperty("cache_cur_page_data"), "yes") + .toUpperCase().startsWith("Y"); + deleteOnlyByOwner = nvls(raptorProperties.getProperty("delete_only_by_owner"), + "yes").toUpperCase().startsWith("Y"); + enableReportLog = nvls(raptorProperties.getProperty("enable_report_log"), "yes") + .toUpperCase().startsWith("Y"); + cacheUserRoles = nvls(raptorProperties.getProperty("cache_user_roles"), "yes") + .toUpperCase().startsWith("Y"); + monthFormatUseLastDay = nvls( + raptorProperties.getProperty("month_format_use_last_day"), "yes") + .toUpperCase().startsWith("Y"); + printTitleInDownload = nvls( + raptorProperties.getProperty("print_title_in_download"), "no") + .toUpperCase().startsWith("Y"); + showDescrAtRuntime = nvls(raptorProperties.getProperty("show_descr_at_runtime"), + "no").toUpperCase().startsWith("Y"); + // skipChartLabelsToFit = + // nvls(raptorProperties.getProperty("skip_chart_labels_to_fit"), + // "no" ).toUpperCase().startsWith("Y"); + showNonstandardCharts = nvls( + raptorProperties.getProperty("show_nonstandard_charts"), "no") + .toUpperCase().startsWith("Y"); + allowRuntimeChartSel = nvls( + raptorProperties.getProperty("allow_runtime_chart_sel"), "yes") + .toUpperCase().startsWith("Y"); + displayChartTitle = nvls(raptorProperties.getProperty("display_chart_title"), "no") + .toUpperCase().startsWith("Y"); + mergeCrosstabRowHeadings = nvls( + raptorProperties.getProperty("merge_crosstab_row_headings"), "yes") + .toUpperCase().startsWith("Y"); + displayChartByDefault = nvls( + raptorProperties.getProperty("display_chart_by_default"), "yes") + .toUpperCase().startsWith("Y"); + //System.out.println("Params Globals " + raptorProperties.getProperty("print_params_in_download")); + + printParamsInDownload = nvls( + raptorProperties.getProperty("print_params_in_download"), "no") + .toUpperCase().startsWith("Y"); + //System.out.println("printParamsInDownload " + printParamsInDownload); + + canCopyOnReadOnly = nvls(raptorProperties.getProperty("can_copy_on_read_only"), + "yes").toUpperCase().startsWith("Y"); + // chartLinesAlwaysSolid = + // nvls(raptorProperties.getProperty("chart_lines_always_solid"), + // "yes").toUpperCase().startsWith("Y"); + // chartLinesAlwaysSmooth = + // nvls(raptorProperties.getProperty("chart_lines_always_smooth"), + // "yes").toUpperCase().startsWith("Y"); + displayAllUsers = nvls( + raptorProperties.getProperty("display_all_users"), "yes") + .toUpperCase().startsWith("Y"); + requestParams = nvls( + raptorProperties.getProperty("request_get_params"), ""); + sessionParams = nvls( + raptorProperties.getProperty("session_params"), ""); + user_col_def = nvls( + raptorProperties.getProperty("user_col_def"), "no") + .toUpperCase().startsWith("Y"); + sheet_name = nvls(raptorProperties.getProperty("sheet_name"), "Raptor Reports"); + try { + flatFileLowerLimit = Integer.parseInt(raptorProperties + .getProperty("flat_file_lower_limit")); + } catch (NumberFormatException nfe) { + } + try { + flatFileUpperLimit = Integer.parseInt(raptorProperties + .getProperty("flat_file_upper_limit")); + } catch (NumberFormatException nfe) { + } + shellScriptDir = nvls(raptorProperties.getProperty("shell_script_dir"), ""); + //queryFolder = nvls(raptorProperties.getProperty("download_query_folder"), AppUtils.getTempFolderPath()+"../raptor/dwnld/query/"); + queryFolder = nvls(raptorProperties.getProperty("download_query_folder"),"../raptor/dwnld/query/"); + + + printFooterInDownload = nvls( + raptorProperties.getProperty("print_footer_in_download"), "no") + .toUpperCase().startsWith("Y"); + footerFirstLine = nvls(raptorProperties.getProperty("footer_first_line"), "AT&T Proprietary"); + footerSecondLine = nvls(raptorProperties.getProperty("footer_second_line"), "Use Pursuant to Company Instructions"); + reportsInPoPUpWindow = nvls( + raptorProperties.getProperty("report_in_popup_window"), "no") + .toUpperCase().startsWith("Y"); + poPUpInNewWindow = nvls( + raptorProperties.getProperty("popup_in_new_window"), "no") + .toUpperCase().startsWith("Y") && reportsInPoPUpWindow; + + passRequestParamInDrilldown = nvls( + raptorProperties.getProperty("pass_request_param_in_drilldown"), "yes") + .toUpperCase().startsWith("Y"); + showPDFDownloadIcon = nvls( + raptorProperties.getProperty("show_pdf_download"), "no") + .toUpperCase().startsWith("Y"); + } + + /** *********************************************************************** */ + + public static ActionMapping getRaptorActionMapping() { + if (!systemInitialized) + throw new RuntimeException("[SYSTEM ERROR] Globals not initialized"); + + return raptorActionMapping; + } // getRaptorActionMapping + + public static String getSystemType() { + if (!systemInitialized) + throw new RuntimeException("[SYSTEM ERROR] Globals not initialized"); + + return systemType; + } // getSystemType + + public static IAppUtils getAppUtils() { + if (!systemInitialized) + throw new RuntimeException("[SYSTEM ERROR] Globals not initialized"); + + return appUtils; + } // getAppUtils + + public static IDbUtils getDbUtils() { + if (!systemInitialized) + throw new RuntimeException("[SYSTEM ERROR] Globals not initialized"); + + return dbUtils; + } // getDbUtils + + public static RDbUtils getRDbUtils() { + if (!systemInitialized) + throw new RuntimeException("[SYSTEM ERROR] Globals not initialized"); + return rdbUtils; + } // getDbUtils + + /** *********************************************************************** */ + + public static int getDebugLevel() { + return debugLevel; + } + + public static int getDownloadLimit() { + return downloadLimit; + } + + public static int getCSVDownloadLimit() { + return Integer.parseInt(nvls(raptorProperties.getProperty("csv_download_limit"), new Integer(getDownloadLimit()).toString()).trim()); + } + + public static String getDownloadLimitAsText() { + return java.text.NumberFormat.getNumberInstance(java.util.Locale.US).format( + downloadLimit); + } + + public static int getDefaultPageSize() { + return defaultPageSize; + } + + public static int getFormFieldsListSize() { + return formFieldsListSize; + } + + public static int getSchedulerInterval() { + return schedulerInterval; + } + + public static String getBaseTitle() { + return baseTitle; + } + + public static String getSystemName() { + return systemName; + } + + public static boolean getAllowSQLBasedReports() { + return allowSQLBasedReports; + } + + public static boolean getShowDisclaimer() { + return showDisclaimer; + } + + public static boolean getDisplayFormBeforeRun() { + return displayFormBeforeRun; + } + + public static boolean getIncludeFormWithData() { + return includeFormWithData; + } + + public static boolean getCacheChartData() { + return cacheChartData; + } + + public static boolean getCacheCurPageData() { + return cacheCurPageData; + } + + public static boolean getDeleteOnlyByOwner() { + return deleteOnlyByOwner; + } + + public static boolean getEnableReportLog() { + return enableReportLog; + } + + public static boolean getCacheUserRoles() { + return cacheUserRoles; + } + + public static boolean getMonthFormatUseLastDay() { + return monthFormatUseLastDay; + } + + public static boolean getPrintTitleInDownload() { + return printTitleInDownload; + } + + public static boolean getShowDescrAtRuntime() { + return showDescrAtRuntime; + } + + // public static boolean getSkipChartLabelsToFit() { return + // skipChartLabelsToFit; } + public static boolean getShowNonstandardCharts() { + return showNonstandardCharts; + } + + public static boolean getAllowRuntimeChartSel() { + return allowRuntimeChartSel; + } + + public static boolean getDisplayChartTitle() { + return displayChartTitle; + } + + public static boolean getMergeCrosstabRowHeadings() { + return mergeCrosstabRowHeadings; + } + + public static boolean getDisplayChartByDefault() { + return displayChartByDefault; + } + + public static boolean getPrintParamsInDownload() { + return printParamsInDownload; + } + + public static boolean getCanCopyOnReadOnly() { + return canCopyOnReadOnly; + } + + // public static boolean getChartLinesAlwaysSolid() { return + // chartLinesAlwaysSolid; } + // public static boolean getChartLinesAlwaysSmooth() { return + // chartLinesAlwaysSmooth; } + public static int getMaxDecimalsOnTotals() { + return maxDecimalsOnTotals; + } + + public static int getDefaultChartWidth() { + return defaultChartWidth; + } + + public static int getDefaultChartHeight() { + return defaultChartHeight; + } + + public static int getSkipChartLabelsLimit() { + return skipChartLabelsLimit; + } + + public static boolean getRestrictTablesByRole() { + return restrictTablesByRole; + } + + public static String getJavaTimeFormat() { + return javaTimeFormat; + } + +/* public static String getOracleTimeFormat() { + return oracleTimeFormat; + } +*/ + + public static String getRaptorVersion() { + return raptorVersion; + } + + public static boolean getDisplayAllUsers() { + return displayAllUsers; + } + + public static boolean getUserColDef() { + return user_col_def; + } + + public static String getSheetName() { + return sheet_name; + } + + public static int getFlatFileLowerLimit() { + return flatFileLowerLimit; + } + + public static int getFlatFileUpperLimit() { + return flatFileUpperLimit; + } + + + public static String getShellScriptDir() { + return shellScriptDir; + } + + public static String getQueryFolder() { + return AppUtils.getTempFolderPath()+queryFolder; + } + + public static String getRequestParams() { + return requestParams; + } + + public static String getSessionParams() { + return sessionParams; + } + + public static boolean getPrintFooterInDownload() { + return printFooterInDownload; + } + + public static String getFooterFirstLine() { + return footerFirstLine; + } + + public static String getFooterSecondLine() { + return footerSecondLine; + } + + public static boolean getReportsInPoPUpWindow() { + return reportsInPoPUpWindow; + } + + public static boolean getPoPUpInNewWindow() { + return poPUpInNewWindow; + } + + public static boolean getPassRequestParamInDrilldown() { + return passRequestParamInDrilldown; + } + + + //pdf specific properties + public static float getDataFontSize() { + float size = 10f; + + try { + size = Float.parseFloat(nvls(raptorPdfProperties.getProperty("pdf_data_font_size")).trim()); + } catch (Exception ex) { + + } + return size; + } + + public static float getDataFontSizeOffset() { + float size = 9f; + + try { + size = Float.parseFloat(nvls(raptorPdfProperties.getProperty("pdf_data_font_size_offset")).trim()); + } catch (Exception ex) { + + } + return size; + } + + public static float getFooterFontSize() { + float size = 9f; + + try { + size = Float.parseFloat(nvls(raptorPdfProperties.getProperty("pdf_footer_font_size")).trim()); + } catch (Exception ex) { + + } + return size; + } + + public static int getPageNumberPosition() { + int size = 1; + + try { + size = Integer.parseInt(nvls(raptorPdfProperties.getProperty("pdf_page_number_position")).trim()); + } catch (Exception ex) { + + } + return size; + } + + public static String getDataFontFamily() { + + return nvls(raptorPdfProperties.getProperty("pdf_data_font_family"),"Arial").trim(); + } + + public static String getFooterFontFamily() { + + return nvls(raptorPdfProperties.getProperty("pdf_footer_font_family"),"Arial").trim(); + } + + public static boolean isCoverPageNeeded() { + + return nvls(raptorPdfProperties.getProperty("display_cover_page"),"true").trim().equalsIgnoreCase("true"); + } + + public static boolean isDataAlternateColor() { + + return nvls(raptorPdfProperties.getProperty("pdf_data_alternate_color"),"true").trim().equalsIgnoreCase("true"); + } + + public static String getPDFFooter() { + + return nvls(raptorPdfProperties.getProperty("pdf_footer")); + } + + public static boolean isCreatedOwnerInfoNeeded() { + return nvls(raptorPdfProperties.getProperty("display_create_owner_info"),"true").trim().equalsIgnoreCase("true"); + } + + // Selected Form field section in the run page + public static boolean displayFormFieldInfo() { + return nvls(raptorProperties.getProperty("display_formfield_info"),"no").trim().toUpperCase().startsWith("Y"); + } + + // Customize Form field section in the run page + public static boolean customizeFormFieldInfo() { + return nvls(raptorProperties.getProperty("customize_formfield_info"),"no").trim().toUpperCase().startsWith("Y"); + } + + public static boolean displayLoginIdForDownloadedBy() { + return nvls(raptorPdfProperties.getProperty("display_loginid_for_downloaded_by"),"false").trim().equalsIgnoreCase("true"); + } + + public static boolean isDefaultOrientationPortrait() { + return nvls(raptorPdfProperties.getProperty("is_default_orientation_portrait"),"true").trim().equalsIgnoreCase("true"); + } + + public static String getSessionInfoForTheCoverPage() { + return nvls(raptorPdfProperties.getProperty("session_info")); + } + + public static String getDatePattern() { + + return nvls(raptorPdfProperties.getProperty("pdf_date_pattern"),"MM/dd/yyyy hh:mm:ss a"); + } + + public static String getTimeZone() { + + return nvls(raptorPdfProperties.getProperty("pdf_date_timezone"),"EST"); + } + + public static String getWordBeforePageNumber() { + + return nvls(raptorPdfProperties.getProperty("pdf_word_before_page_number")); + } + + public static String getWordAfterPageNumber() { + + return nvls(raptorPdfProperties.getProperty("pdf_word_after_page_number")); + } + + public static float getPDFFooterFontSize() { + float size = 7f; + + try { + size = Float.parseFloat(nvls(raptorPdfProperties.getProperty("pdf_footer_font_size")).trim()); + } catch (Exception ex) { + + } + return size; + } + + public static String getDataBackgroundAlternateHexCode() { + + return nvls(raptorPdfProperties.getProperty("pdf_data_background_alternate_hex_code"),"#FFFFFF"); + } + + public static String getDataDefaultBackgroundHexCode() { + + return nvls(raptorPdfProperties.getProperty("pdf_data_default_background_hex_code"),"#FFFFFF"); + } + + public static String getDataTableHeaderFontColor() { + + return nvls(raptorPdfProperties.getProperty("pdf_data_table_header_font_hex_code"),"#FFFFFF"); + } + + public static String getDataTableHeaderBackgroundFontColor() { + + return nvls(raptorPdfProperties.getProperty("pdf_data_table_header_background_hex_code"),"#8A9BB3"); + } + + public static boolean isFolderTreeAllowed() { + return nvls(raptorProperties.getProperty("show_folder_tree"),"yes").trim().toUpperCase().startsWith("Y"); + } + + public static boolean isFolderDefaultMinimized() { + return nvls(raptorProperties.getProperty("folder_tree_minimized"),"no").trim().toUpperCase().startsWith("Y"); + } + + public static boolean isFolderTreeAllowedOnlyForAdminUsers() { + return nvls(raptorProperties.getProperty("show_folder_tree_only_to_admin_users"),"yes").trim().toUpperCase().startsWith("Y"); + } + + public static float getCoverPageFirstColumnSize() { + float size = 0.3f; + + try { + size = Float.parseFloat(nvls(raptorPdfProperties.getProperty("pdf_coverpage_firstcolumn_size")).trim()); + } catch (Exception ex) { + + } + return size; + } + + public static boolean isImageAutoRotate() { + return nvls(raptorPdfProperties.getProperty("pdf_image_auto_rotate"),"false").trim().equalsIgnoreCase("true"); + } + + + public static boolean isShowPDFDownloadIcon() { + return showPDFDownloadIcon; + } + + + public static void setShowPDFDownloadIcon(boolean showPDFDownloadIcon) { + Globals.showPDFDownloadIcon = showPDFDownloadIcon; + } + + public static int getScheduleLimit() { + int limit = 1000; + try { + limit = Integer.parseInt(nvls(raptorProperties.getProperty("schedule_limit")).trim()); + } catch (Exception ex) { + + } + return limit; + } + +// public static String getWhereConditionForUserRole() { +// return nvls(raptorProperties.getProperty("schedule_where_condition"),"").trim(); +// } + public static String getCustomizedScheduleQueryForUsers() { + return nvls(raptorProperties.getProperty("schedule_custom_query_for_users"),"").trim(); + } + + public static String getTimeFormat() { + return nvls(raptorProperties.getProperty("time_format"),"%m/%d/%Y %h:%i:%s %p").trim(); + } + + public static String getCustomizedScheduleQueryForRoles() { + return nvls(raptorProperties.getProperty("schedule_custom_query_for_roles"),"").trim(); + } + + public static String getScheduleDatePattern() { + return nvls(raptorProperties.getProperty("schedule_date_pattern"),"MM/dd/yyyy hh:mm:ss a"); + } + + public static String getChartYearlyPattern() { + return nvls(raptorProperties.getProperty("chart_yearly_format"),"yyyy"); + } + + public static String getChartMonthlyPattern() { + return nvls(raptorProperties.getProperty("chart_monthly_format"),"MMM-yyyy"); + } + + public static String getChartDailyPattern() { + return nvls(raptorProperties.getProperty("chart_daily_format"),"MM-dd-yyyy"); + } + + public static String getChartWeeklyPattern() { + return nvls(raptorProperties.getProperty("chart_weekly_format"),"MM-dd-yyyy"); + } + + public static String getChartHourlyPattern() { + return nvls(raptorProperties.getProperty("chart_hourly_format"),"HH"); + } + + public static String getChartMinutePattern() { + return nvls(raptorProperties.getProperty("chart_minute_format"),"HH:mm"); + } + + public static String getChartSecPattern() { + return nvls(raptorProperties.getProperty("chart_second_format"),"HH:mm:ss"); + } + + public static String getChartMilliSecPattern() { + return nvls(raptorProperties.getProperty("chart_millisecond_format"),"HH:mm:ss.S"); + } + + public static String getSessionParamsForScheduling() { + return nvls(raptorProperties.getProperty("session_params_for_scheduling"),""); + } + + public static String getDisplaySessionParamInPDFEXCEL() { + return nvls(raptorProperties.getProperty("display_session_param_pdfexcel"),""); + } + + public static String getDisplayScheduleSessionParamInPDFEXCEL() { + return nvls(raptorProperties.getProperty("session_params_for_displaying_in_scheduling"),""); + } + + public static boolean isScheduleDateParamAutoIncr() { + return nvls(raptorProperties.getProperty("session_date_formfield_auto_incr"),"yes").trim().toUpperCase().startsWith("Y"); + } + + public static int getMaxCellWidthInExcel() { + int cellWidth = 40; + try { + cellWidth = Integer.parseInt(nvls(raptorProperties.getProperty("max_cell_width_in_excel")).trim()); + } catch (Exception ex) { + + } + return cellWidth; + } + + public static synchronized int getFormFieldsCount(HttpServletRequest request) + { + if(request.getSession().getAttribute( + AppConstants.SI_REPORT_RUNTIME) == null ) + { + return 0; + } + + ReportRuntime rr = (ReportRuntime) request.getSession().getAttribute( + AppConstants.SI_REPORT_RUNTIME); + + 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++; + } + return countOfFields; + + } + + public static synchronized java.util.HashMap getRequestParametersMap(HttpServletRequest request, HashMap paramsMap) { + HashMap valuesMap = new HashMap(); + if(paramsMap.size() <= 0) { + return valuesMap; + } + + ReportRuntime rr = (ReportRuntime) request.getSession().getAttribute( + AppConstants.SI_REPORT_RUNTIME); + if(rr.getReportType().equals(AppConstants.RT_DASHBOARD)) { + rr = (ReportRuntime) request.getSession().getAttribute("FirstDashReport"); + } + 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(); + + if(paramsMap.containsKey(formField) ) { + String vals = (String) paramsMap.get(formField); + StringBuffer value = new StringBuffer(""); + 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(isMultiValue) { + value.append("("); + } + StringTokenizer st = new StringTokenizer(vals, "|"); + if(st.countTokens()>0) { + while(st.hasMoreTokens()) { + if(isMultiValue) value.append("'"); + String token = st.nextToken(); + try { + if(token !=null && token.length() > 0) + token = java.net.URLDecoder.decode(token, "UTF-8"); + } catch (UnsupportedEncodingException ex) {} + catch (IllegalArgumentException ex1){} + catch (Exception ex2){} + value.append(token); + if(isMultiValue) value.append("'"); + if(st.hasMoreTokens()) { + value.append(","); + } + } + } else { + String valueStr = ""; + valueStr = request.getParameter(formField); + valueStr = Utils.oracleSafe(valueStr); + valueStr = "('" + Utils.replaceInString(valueStr, ",", "'|'") + "')"; + valueStr = Utils.replaceInString(valueStr, "|", ","); + valuesMap.put(fieldNameMap.get(formField), valueStr); + valueStr = ""; + } + if(isMultiValue) value.append(")"); + + valuesMap.put(fieldNameMap.get(formField), value.toString()); + if(ff.getValidationType().equals(FormField.VT_TIMESTAMP_HR) || ff.getValidationType().equals(FormField.VT_TIMESTAMP_MIN) || ff.getValidationType().equals(FormField.VT_TIMESTAMP_SEC)) { + String valueStr = ""; + if(ff.getValidationType().equals(FormField.VT_TIMESTAMP_HR)) { + valueStr = (String) paramsMap.get(formField +"_Hr"); + valuesMap.put(formField+"_Hr", valueStr); + valueStr = ""; + } else if (ff.getValidationType().equals(FormField.VT_TIMESTAMP_MIN)) { + valueStr =(String) paramsMap.get(formField +"_Hr"); + valuesMap.put(formField+"_Hr", valueStr); + valueStr = ""; + valueStr = (String) paramsMap.get(formField +"_Min"); + valuesMap.put(formField+"_Min", valueStr); + valueStr = ""; + } else if (ff.getValidationType().equals(FormField.VT_TIMESTAMP_SEC)) { + valueStr = (String) paramsMap.get(formField +"_Hr"); + valuesMap.put(formField+"_Hr", valueStr); + valueStr = ""; + valueStr =(String) paramsMap.get(formField +"_Min"); + valuesMap.put(formField+"_Min", valueStr); + valueStr = ""; + valueStr = (String) paramsMap.get(formField +"_Sec"); + valuesMap.put(formField+"_Sec", valueStr); + valueStr = ""; + } + } + + value = new StringBuffer(""); + + } else if (paramsMap.containsKey(formField +"_auto")) { + String vals = (String) paramsMap.get(formField +"_auto"); + StringBuffer value = new StringBuffer(""); + 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(isMultiValue) { + value.append("("); + } + StringTokenizer st = new StringTokenizer(vals, "|"); + if(st.countTokens()>0) { + while(st.hasMoreTokens()) { + if(isMultiValue) value.append("'"); + String token = st.nextToken(); + try { + if(token !=null && token.length() > 0) + token = java.net.URLDecoder.decode(Utils.oracleSafe(token), "UTF-8"); + } catch (UnsupportedEncodingException ex) {} + catch (IllegalArgumentException ex1){} + catch (Exception ex2){} + value.append(token); + if(isMultiValue) value.append("'"); + if(st.hasMoreTokens()) { + value.append(","); + } + } + } else { + String valueStr = ""; + valueStr = request.getParameter(formField +"_auto"); + valueStr = "('" + Utils.replaceInString(valueStr, ",", "'|'") + "')"; + valueStr = Utils.replaceInString(valueStr, "|", ","); + valuesMap.put(fieldNameMap.get(formField), valueStr); + valueStr = ""; + } + if(isMultiValue) value.append(")"); + + valuesMap.put(fieldNameMap.get(formField), value.toString()); + + if(ff.getValidationType().equals(FormField.VT_TIMESTAMP_HR) || ff.getValidationType().equals(FormField.VT_TIMESTAMP_MIN) || ff.getValidationType().equals(FormField.VT_TIMESTAMP_SEC)) { + String valueStr = ""; + if(ff.getValidationType().equals(FormField.VT_TIMESTAMP_HR)) { + valueStr = (String) paramsMap.get(formField +"_Hr"); + valuesMap.put(formField+"_Hr", valueStr); + valueStr = ""; + } else if (ff.getValidationType().equals(FormField.VT_TIMESTAMP_MIN)) { + valueStr = (String) paramsMap.get(formField +"_Hr"); + valuesMap.put(formField+"_Hr", valueStr); + valueStr = ""; + valueStr = (String) paramsMap.get(formField +"_Min"); + valuesMap.put(formField+"_Min", valueStr); + valueStr = ""; + } else if (ff.getValidationType().equals(FormField.VT_TIMESTAMP_SEC)) { + valueStr = (String) paramsMap.get(formField +"_Hr"); + valuesMap.put(formField+"_Hr", valueStr); + valueStr = ""; + valueStr = (String) paramsMap.get(formField +"_Min"); + valuesMap.put(formField+"_Min", valueStr); + valueStr = ""; + valueStr = (String) paramsMap.get(formField +"_Sec"); + valuesMap.put(formField+"_Sec", valueStr); + valueStr = ""; + } + } + value = new StringBuffer(""); + + + } else + valuesMap.put(fieldNameMap.get(formField), "" ); + } + return valuesMap; + } + + public static synchronized java.util.HashMap getRequestParamtersMap(HttpServletRequest request) { + return getRequestParamtersMap(request, false); + } + + public static synchronized java.util.HashMap getRequestParamtersMap(HttpServletRequest request, boolean isFromChild) + { + HashMap valuesMap = new HashMap(); + ReportRuntime rr = null; + if(request.getSession().getAttribute( + AppConstants.SI_REPORT_RUNTIME) == null ) + { + rr = (ReportRuntime) request.getSession().getAttribute("FirstDashReport"); + if(rr==null) + return valuesMap; + } + + rr = (ReportRuntime) request.getSession().getAttribute( + AppConstants.SI_REPORT_RUNTIME); + if(rr!=null && rr.getReportType().equals(AppConstants.RT_DASHBOARD)) { + rr = (ReportRuntime) request.getSession().getAttribute("FirstDashReport"); + } + + 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++; + } + if(isFromChild) { + Hashtable ht = rr.getReportParamValues(); + Set set = ht.entrySet(); + HashMap hashMap = new HashMap(); + Iterator itr = set.iterator(); + while(itr.hasNext()){ + Map.Entry entry = (Map.Entry)itr.next(); + Object key = entry.getKey(); + Object val = entry.getValue(); + if(key==null){ + key = ""; // Or whatever you want + } + if(val==null){ + val = ""; // Or whatever you want + } + hashMap.put(fieldNameMap.get((String)key),val); + } + return hashMap; + + } else { + List formParameter = new ArrayList(); + String formField = ""; + +// for(int i = 1 ; i < (countOfFields+1); i++) +// { +// formField ="ff"+i; +// +// if(request.getParameterValues(formField) != null && request.getParameterValues(formField).length > 1 ) +// { +// String[] vals = request.getParameterValues(formField); +// boolean isMultiValue = false; +// StringBuffer value = new StringBuffer(""); +// if(vals.length > 1) { +// isMultiValue = true; +// value.append("("); +// } +// for(int j = 0 ; j < vals.length; j++) +// { +// if(isMultiValue) value.append("'"); +// try { +// if(vals[j] !=null && vals[j].length() > 0) +// 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 > 1) { +// value.append(")"); +// } +// +// //value = value.substring(0 , value.length()); +// +// valuesMap.put(fieldNameMap.get(formField), value.toString()); +// value = new StringBuffer(""); +// +// } +// else if(request.getParameter(formField) != null) +// { +// String value = ""; +// value = request.getParameter(formField); +// try { +// if(value !=null && value.length() > 0) +// value = java.net.URLDecoder.decode(request.getParameter(formField), "UTF-8"); +// } catch (UnsupportedEncodingException ex) {} +// catch (IllegalArgumentException ex1){} +// catch (Exception ex2){} +// valuesMap.put(fieldNameMap.get(formField), value); +// +// }else +// { +// valuesMap.put(fieldNameMap.get(formField), "NULL" ); +// } +// } + 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); +/* try { + value = java.net.URLDecoder.decode(value, "UTF-8"); + } catch (UnsupportedEncodingException ex) {} + catch (IllegalArgumentException ex1){} + catch (Exception ex2){} +*/ + 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); + /*try { + value = java.net.URLDecoder.decode(value, "UTF-8"); + } catch (UnsupportedEncodingException ex) {} + catch (IllegalArgumentException ex1){} + catch (Exception ex2){} +*/ + valuesMap.put(fieldNameMap.get(formField), Utils.oracleSafe(value)); + } + + } else { + valuesMap.put(fieldNameMap.get(formField), "" ); + } + + } + + return valuesMap; + } + } + + //new method added to get the help message for schedule tab + public static String getScheduleHelpMessage() { + return nvls(raptorProperties.getProperty("schedule_help_text"),"").trim(); + } + + //new method added to get the help message for schedule tab + public static String getUseLoginIdInSchedYN() { + return nvls(raptorProperties.getProperty("use_loginid_in_schedYN"),"N").trim(); + } + + //new method to check if map is allowed or not + public static String getMapAllowedYN() { + return nvls(raptorProperties.getProperty("map_allowed"),"").trim(); + } + + //new method added to get gmap key + public static String getGmapKey() { + return nvls(raptorProperties.getProperty("gmap_key"),"").trim(); + } + +// new method added to get gmap + public static String getProjectFolder() { + return nvls(raptorProperties.getProperty("PROJECT-FOLDER"),"").trim(); + } + + + //new method added to get gmap + public static String getMarketShapefileFolder() { + return nvls(raptorProperties.getProperty("MARKET-SHAPEFILE-FOLDER"),"").trim(); + } + + //new method added to get gmap + public static String getTileSize() { + return nvls(raptorProperties.getProperty("TILE-SIZE"),"").trim(); + } + + // new method added to get gmap + public static String getOutputFolder() { + return nvls(raptorProperties.getProperty("OUTPUT-FOLDER"),"").trim(); + } + + //getting server details + public static boolean isWeblogicServer() { + return nvls(raptorProperties.getProperty("application_server"),"tomcat").trim().toUpperCase().startsWith("WEBLOGIC"); + } + + public static String getTempFolderURL() { + return nvls(AppUtils.getTempFolderURL(),"").trim(); + } + + public static int getMaxDrillDownLevel() { + int drillDownLevel = 1; + try { + drillDownLevel = Integer.parseInt(nvls(raptorProperties.getProperty("max_drilldown_level")).trim()); + } catch (Exception ex) { + + } + return drillDownLevel; + } + + public static int getMemoryThreshold() { + int threshold = Integer.parseInt(nvls(raptorProperties.getProperty("memory_threshold_percentage"),"0").trim()); + if(threshold <= 0) threshold = 0; + return threshold; + } + + public static boolean showParamsInAllDashboardReports() { + return nvls(raptorProperties.getProperty("show_params_in_all_dashboard_reports"),"N").trim().toUpperCase().startsWith("Y"); + } + + public static boolean isAdminRoleEquivalenttoSuperRole() { + return nvls(raptorProperties.getProperty("admin_role_equiv_to_super_role"),"N").trim().toUpperCase().startsWith("Y"); + } + + public static boolean showLoadingMsgDuringFormFieldChain() { + return nvls(raptorProperties.getProperty("show_loading_during_formfield_chain"),"Y").trim().toUpperCase().startsWith("Y"); + } + + public static boolean showPrintIcon() { + return nvls(raptorProperties.getProperty("show_print_icon"),"Y").trim().toUpperCase().startsWith("Y"); + } + + public static boolean IsGlobalNoWrap() { + return nvls(raptorProperties.getProperty("globally_nowrap"),"N").trim().toUpperCase().startsWith("Y"); + } + + public static String getCalendarOutputDateFormat() { + return nvls(raptorProperties.getProperty("calendar_output_date_format"),"MM/dd/yyyy"); + } + + public static String getUserDefinedMessageForMemoryLimitReached() { + return nvls(raptorProperties.getProperty("user_defined_message_memory_limit"),"Please note: Due to limited computing resource at this time,"); + } + + public static String getAdhocUserRoldId() { + return nvls(raptorProperties.getProperty("adhoc_user_roleId"),""); + } + + public static String getAdhocReportSequence() { + return nvls(raptorProperties.getProperty("adhoc_report_sequence"),""); + } + + public static boolean hideToolTipsGlobally() { + return nvls(raptorProperties.getProperty("hide_tooltips_in_chart"),"N").trim().toUpperCase().startsWith("Y"); + } + + public static boolean showScheduleIconBeforeRun() { + return nvls(raptorProperties.getProperty("show_schedule_icon_before_run"),"Y").trim().toUpperCase().startsWith("Y"); + } + + public static boolean hideRaptorFooter() { + return nvls(raptorProperties.getProperty("hide_raptor_footer"),"N").trim().toUpperCase().startsWith("Y"); + } + + public static boolean getPrintParamsInCSVDownload() { + return nvls(raptorProperties.getProperty("print_params_in_csv_download"),"N").trim().toUpperCase().startsWith("Y"); + } + + public static String getLogVariablesInSession() { + return nvls(raptorProperties.getProperty("log_variable_in_session"), ""); + } + + public static boolean hideTitleInDashboard() { + return nvls(raptorProperties.getProperty("notitle_in_dashboard"), "N").trim().toUpperCase().startsWith("Y"); + } + + public static String getEncryptedSMTPServer() { + return nvls(raptorProperties.getProperty("secure_smtp_server"), ""); + } + + public static boolean generateSchedReportsInFileSystem() { + return nvls(raptorProperties.getProperty("generate_store_sched_reports"), "N").trim().toUpperCase().startsWith("Y"); + } + + public static boolean showExcel2007DownloadIcon() { + return nvls(raptorProperties.getProperty("show_excel_2007_download"), "N").trim().toUpperCase().startsWith("Y"); + } + + public static boolean printExcelInLandscapeMode() { + return nvls(raptorProperties.getProperty("print_excel_in_landscape"), "").trim().toUpperCase().startsWith("Y"); + } + + public static String getAppDefinedMessageForSendingSchedAsAttachment() { + return nvls(raptorProperties.getProperty("app_defined_message_schedule_attachment"),"Send as Attachment"); + } + + public static String getReportEmptyMessage() { + return nvls(raptorProperties.getProperty("no_rows_found"),"Your Search didn't yield any results."); + } + + public static boolean showAnimatedChartOption() { + return nvls(raptorProperties.getProperty("show_animated_chart_option"),"N").trim().toUpperCase().startsWith("Y"); + } + + public static boolean showAnimatedChartOnly() { + return nvls(raptorProperties.getProperty("show_animated_chart_only"),"N").trim().toUpperCase().startsWith("Y"); + } + + public static boolean adjustContentBasedOnHeight() { + return nvls(raptorProperties.getProperty("adjust_content_based_on_height"),"N").trim().toUpperCase().startsWith("Y"); + } + + public static boolean disclaimerPositionedTopInCSVExcel() { + return nvls(raptorProperties.getProperty("disclaimer_positioned_top_in_csvexcel"),"N").trim().toUpperCase().startsWith("Y"); + } + + public static String customizedSubmitButtonText() { + return nvls(raptorProperties.getProperty("custom_submit_button_text"),"submit"); + } + + public static String customizedResetButtonText() { + return nvls(raptorProperties.getProperty("custom_reset_button_text"),"reset"); + } + public static boolean customizeFormFieldLayout() { + return nvls(raptorProperties.getProperty("customize_formfield_layout"),"N").trim().toUpperCase().startsWith("Y"); + } + public static String getRaptorTheme() { + return nvls(raptorProperties.getProperty("raptor_theme"),"default"); + } + + public static String getFormfieldAlignment() { + return nvls(raptorProperties.getProperty("formfield_alignment"),"left"); + } + + public static boolean displayExcelOptionInDashboard() { + return nvls(raptorProperties.getProperty("display_excel_option_in_dashboard"),"N").trim().toUpperCase().startsWith("Y"); + } + + public static boolean displayRuntimeOptionsAsDefault() { + return nvls(raptorProperties.getProperty("display_runtime_options_as_default"),"Y").trim().toUpperCase().startsWith("Y"); + } + + public static boolean displayHiddenFormfieldinExcel() { + return nvls(raptorProperties.getProperty("display_hidden_field_in_excel"),"N").trim().toUpperCase().startsWith("Y"); + } + + //ReportLoader.java + public static String getLoadCustomReportXml(){ + return nvls(sqlProperty.getProperty("load.custom.report.xml")); + } + + public static String getDBUpdateReportXml(){ + return nvls(sqlProperty.getProperty("db.update.report.xml")); + } + + public static String getDBUpdateReportXmlMySql(){ + return nvls(sqlProperty.getProperty("db.update.report.xml.mysql")); + } + + public static String getDBUpdateReportXmlMySqlSelect(){ + return nvls(sqlProperty.getProperty("db.update.report.xml.mysql.select")); + } + + public static String getUpdateCustomReportRec(){ + return nvls(sqlProperty.getProperty("update.custom.report.rec")); + } + + public static String getIsReportAlreadyScheduled(){ + return nvls(sqlProperty.getProperty("is.report.already.scheduled")); + } + + public static String getCreateCustomReportRec(){ + return nvls(sqlProperty.getProperty("create.custom.report.rec")); + } + + public static String getTheUserReportNames(){ + return nvls(sqlProperty.getProperty("get.user.report.names")); + } + + public static String getTheReportOwnerId(){ + return nvls(sqlProperty.getProperty("get.report.owner.id")); + } + + public static String getReportSecurity(){ + return nvls(sqlProperty.getProperty("report.security.create")); + } + + public static String getDeleteReportRecordLog(){ + return nvls(sqlProperty.getProperty("delete.report.record.log")); + } + + public static String getDeleteReportRecordUsers(){ + return nvls(sqlProperty.getProperty("delete.report.record.users")); + } + + public static String getDeleteReportRecordSchedule(){ + return nvls(sqlProperty.getProperty("delete.report.record.schedule")); + } + + public static String getDeleteReportRecordAccess(){ + return nvls(sqlProperty.getProperty("delete.report.record.access")); + } + + public static String getDeleteReportRecordEmail(){ + return nvls(sqlProperty.getProperty("delete.report.record.email")); + } + + public static String getDeleteReportRecordFavorite(){ + return nvls(sqlProperty.getProperty("delete.report.record.favorite")); + } + + public static String getDeleteReportRecordReport(){ + return nvls(sqlProperty.getProperty("delete.report.record.report")); + } + + public static String getLoadQuickLinks(){ + return nvls(sqlProperty.getProperty("load.quick.links")); + } + + public static String getLoadFolderReports(){ + return nvls(sqlProperty.getProperty("load.folder.reports")); + } + + public static String getLoadFolderReportsUser(){ + return nvls(sqlProperty.getProperty("load.folder.reports.user")); + } + + public static String getLoadFolderReportsPublicSql(){ + return nvls(sqlProperty.getProperty("load.folder.reports.publicsql")); + } + + public static String getLoadQuickDownloadLinks(){ + return nvls(sqlProperty.getProperty("load.quick.download.links")); + } + + public static String getLoadReportsToSchedule(){ + return nvls(sqlProperty.getProperty("load.reports.to.schedule")); + } + + public static String getLoadReportsToAddInDashboard(){ + return nvls(sqlProperty.getProperty("load.reports.to.add.in.dashboard")); + } + + public static String getLoadMyRecentLinks(){ + return nvls(sqlProperty.getProperty("load.my.recent.links")); + } + + public static String getCreateReportLogEntry(){ + return nvls(sqlProperty.getProperty("create.report.log.entry")); + } + + public static String getCreateReportLogEntryExecTime(){ + return nvls(sqlProperty.getProperty("create.report.log.entry.exec.time")); + } + + public static String getClearReportLogEntries(){ + return nvls(sqlProperty.getProperty("clear.report.log.entries")); + } + + public static String getLoadReportLogEntries(){ + return nvls(sqlProperty.getProperty("load.report.log.entries")); + } + + public static String getDoesUserCanScheduleReport(){ + return nvls(sqlProperty.getProperty("does.user.can.schedule.report")); + } + + public static String getDoesUserCanSchedule(){ + return nvls(sqlProperty.getProperty("does.user.can.schedule")); + } + + public static String getTheSystemDateTime(){ + return nvls(sqlProperty.getProperty("get.system.date.time")); + } + + public static String getTheNextDayDateTime(){ + return nvls(sqlProperty.getProperty("get.next.day.date.time")); + } + + public static String getTheNextFifteenMinDateTime(){ + return nvls(sqlProperty.getProperty("get.next.fifteen.minutes.date.time")); + } + + public static String getTheNextThirtyMinDateTime(){ + return nvls(sqlProperty.getProperty("get.next.thirty.minutes.date.time")); + } + + public static String getTheTemplateFile(){ + return nvls(sqlProperty.getProperty("get.template.file")); + } + + public static String getLoadPdfImgLookup(){ + return nvls(sqlProperty.getProperty("load.pdf.img.lookup")); + } + + public static String getLoadActionImgLookup(){ + return nvls(sqlProperty.getProperty("load.action.img.lookup")); + } + + //ActionHandler.java + + public static String getReportValuesMapDefA(){ + return nvls(sqlProperty.getProperty("report.values.map.def.a")); + } + public static String getReportValuesMapDefB(){ + return nvls(sqlProperty.getProperty("report.values.map.def.b")); + } + public static String getReportValuesMapDefC(){ + return nvls(sqlProperty.getProperty("report.values.map.def.c")); + } + public static String getReportValuesMapDefD(){ + return nvls(sqlProperty.getProperty("report.values.map.def.d")); + } + + public static String getTestSchedCondPopup(){ + return nvls(sqlProperty.getProperty("test.sched.cond.popup")); + } + + public static String getDownloadAllEmailSent(){ + return nvls(sqlProperty.getProperty("download.all.email.sent")); + } + + public static String getDownloadAllGenKey(){ + return nvls(sqlProperty.getProperty("download.all.gen.key")); + } + + public static String getDownloadAllRetrieve(){ + return nvls(sqlProperty.getProperty("download.all.retrieve")); + } + + public static String getDownloadAllInsert(){ + return nvls(sqlProperty.getProperty("download.all.insert")); + } + + //ReportWrapper.java + + public static String getReportWrapperFormat(){ + return nvls(sqlProperty.getProperty("report.wrapper.format")); + } + + public static String getGenerateSubsetSql(){ + return nvls(sqlProperty.getProperty("generate.subset.sql")); + } + + public static String getReportSqlForFormfield(){ + return nvls(sqlProperty.getProperty("formfield.id.name.sql")); + } + + public static String getReportSqlForFormfieldPrefix(){ + return nvls(sqlProperty.getProperty("formfield.id.name.sql.prefix")); + } + + public static String getReportSqlForFormfieldSuffix(){ + return nvls(sqlProperty.getProperty("formfield.id.name.sql.suffix")); + } + + public static String getReportSqlOnlyFirstPart(){ + return nvls(sqlProperty.getProperty("report.sql.only.first.part")); + } + + public static String getReportSqlOnlySecondPartA(){ + return nvls(sqlProperty.getProperty("report.sql.only.second.part.a")); + } + + public static String getReportSqlOnlySecondPartB(){ + return nvls(sqlProperty.getProperty("report.sql.only.second.part.b")); + } + + public static String getReportSqlOnlySecondPartBNoOrderBy(){ + return nvls(sqlProperty.getProperty("report.sql.only.second.part.b.noorderby")); + } + + public static String getGenerateSqlVisualSelect(){ + return nvls(sqlProperty.getProperty("generate.sql.visual.select")); + } + + public static String getGenerateSqlVisualCount(){ + return nvls(sqlProperty.getProperty("generate.sql.visual.count")); + } + + public static String getGenerateSqlVisualDual(){ + return nvls(sqlProperty.getProperty("generate.sql.visual.select")); + } + + //ReportRuntime.java + + public static String getLoadCrosstabReportData(){ + return nvls(sqlProperty.getProperty("load.crosstab.report.data")); + } + + //ReportRunHandler.java + + public static String getGenerateSqlHandler(){ + return nvls(sqlProperty.getProperty("generate.sql.handler")); + } + + public static String getGenerateSqlSelect(){ + return nvls(sqlProperty.getProperty("generate.sql.select")); + } + + public static String getRemoteDbSchemaSql() { + return nvls(sqlProperty.getProperty("load.remoteDB.schema")); + } + + public static String getRemoteDbSchemaSqlWithWhereClause() { + return nvls(sqlProperty.getProperty("load.remoteDB.schema.where")); + } + + //ReportSchedule.java + + public static String getLoadScheduleData(){ + return nvls(sqlProperty.getProperty("load.schedule.data")); + } + + public static String getLoadScheduleGetId(){ + return nvls(sqlProperty.getProperty("load.schedule.getid")); + } + + public static String getLoadScheduleUsers(){ + return nvls(sqlProperty.getProperty("load.schedule.users")); + } + + public static String getNewScheduleData(){ + return nvls(sqlProperty.getProperty("new.schedule.data")); + } + + public static String getNewReportData(){ + return nvls(sqlProperty.getProperty("new.report.data")); + } + + public static String getExecuteUpdate(){ + return nvls(sqlProperty.getProperty("execute.update")); + } + + public static String getExecuteUpdateUsers(){ + return nvls(sqlProperty.getProperty("execute.update.users")); + } + + public static String getExecuteUpdateRoles(){ + return nvls(sqlProperty.getProperty("execute.update.roles")); + } + + public static String getExecuteUpdateActivity(){ + return nvls(sqlProperty.getProperty("execute.update.activity")); + } + + public static String getDeleteScheduleData(){ + return nvls(sqlProperty.getProperty("delete.schedule.data")); + } + + public static String getDeleteScheduleDataUsers(){ + return nvls(sqlProperty.getProperty("delete.schedule.data.users")); + } + + public static String getDeleteScheduleDataId(){ + return nvls(sqlProperty.getProperty("delete.schedule.data.id")); + } + + public static String getLoadCondSql(){ + return nvls(sqlProperty.getProperty("load.cond.sql")); + } + + public static String getLoadCondSqlSelect(){ + return nvls(sqlProperty.getProperty("load.cond.sql.select")); + } + + public static String getPersistCondSqlUpdate(){ + return nvls(sqlProperty.getProperty("persist.cond.sql.update")); + } + + public static String getPersistCondSqlLarge(){ + return nvls(sqlProperty.getProperty("persist.cond.sql.large")); + } + + public static String getPersistCondSqlSet(){ + return nvls(sqlProperty.getProperty("persist.cond.sql.set")); + } + + //DataCache.java + + public static String getTheDataViewActions(){ + return nvls(sqlProperty.getProperty("get.data.view.actions")); + } + + public static String getThePublicReportIdNames(){ + return nvls(sqlProperty.getProperty("get.public.report.id.names")); + } + + public static String getThePrivateAccessibleNamesA(){ + return nvls(sqlProperty.getProperty("get.private.accessible.names.a")); + } + public static String getThePrivateAccessibleNamesIf(){ + return nvls(sqlProperty.getProperty("get.private.accessible.names.if")); + } + public static String getThePrivateAccessibleNamesB(){ + return nvls(sqlProperty.getProperty("get.private.accessible.names.b")); + } + + public static String getTheGroupAccessibleNamesA(){ + return nvls(sqlProperty.getProperty("get.group.accessible.names.a")); + } + + public static String getTheGroupAccessibleNamesB(){ + return nvls(sqlProperty.getProperty("get.group.accessible.names.b")); + } + + public static String getTheReportTableSourcesA(){ + return nvls(sqlProperty.getProperty("get.report.table.sources.a")); + } + + public static String getTheReportTableSourcesWhere(){ + return nvls(sqlProperty.getProperty("get.report.table.sources.where")); + } + + public static String getTheReportTableSourcesIf(){ + return nvls(sqlProperty.getProperty("get.report.table.sources.if")); + } + + public static String getTheReportTableSourcesElse(){ + return nvls(sqlProperty.getProperty("get.report.table.sources.else")); + } + + public static String grabTheReportTableA(){ + return nvls(sqlProperty.getProperty("grab.report.table.a")); + } + + public static String grabTheReportTableIf(){ + return nvls(sqlProperty.getProperty("grab.report.table.if")); + } + + public static String grabTheReportTableElse(){ + return nvls(sqlProperty.getProperty("grab.report.table.else")); + } + + public static String grabTheReportTableB(){ + return nvls(sqlProperty.getProperty("grab.report.table.b")); + } + + public static String grabTheReportTableC(){ + return nvls(sqlProperty.getProperty("grab.report.table.c")); + } + + public static String getTheReportTableCrJoin(){ + return nvls(sqlProperty.getProperty("get.report.table.crjoin")); + } + + public static String getTheReportTableJoins(){ + return nvls(sqlProperty.getProperty("get.report.table.joins")); + } + + public static String getGenerateReportTableCol(){ + return nvls(sqlProperty.getProperty("generate.report.table.col")); + } + + + public static String getGenerateDbUserSqlA(){ + return nvls(sqlProperty.getProperty("generate.db.user.sql.a")); + } + + public static String getGenerateDbUserSqlIf(){ + return nvls(sqlProperty.getProperty("generate.db.user.sql.if")); + } + + public static String getGenerateDbUserSqlElse(){ + return nvls(sqlProperty.getProperty("generate.db.user.sql.else")); + } + + public static String getGenerateDbUserSqlB(){ + return nvls(sqlProperty.getProperty("generate.db.user.sql.b")); + } + + public static String getGenerateDbUserSqlC(){ + return nvls(sqlProperty.getProperty("generate.db.user.sql.c")); + } + + public static String getGenerateDbUserSqlD(){ + return nvls(sqlProperty.getProperty("generate.db.user.sql.d")); + } + + //SearchHandler.java + + public static String getLoadReportSearchResult(){ + return nvls(sqlProperty.getProperty("load.report.search.result")); + } + + public static String getLoadReportSearchRepIdSql(){ + return nvls(sqlProperty.getProperty("load.report.search.rep_id_sql")); + } + + public static String getLoadReportSearchInstr(){ + return nvls(sqlProperty.getProperty("load.report.search.instr")); + } + + public static String getLoadReportSearchResultUser(){ + return nvls(sqlProperty.getProperty("load.report.search.result.user")); + } + + public static String getLoadReportSearchResultPublic(){ + return nvls(sqlProperty.getProperty("load.report.search.result.public")); + } + + public static String getLoadReportSearchResultFav(){ + return nvls(sqlProperty.getProperty("load.report.search.result.fav")); + } + + public static String getLoadReportSearchResultSort(){ + return nvls(sqlProperty.getProperty("load.report.search.result.sort")); + } + + public static String getLoadFolderReportResult(){ + return nvls(sqlProperty.getProperty("load.folder.report.result")); + } + + public static String getLoadFolderReportResultSort(){ + return nvls(sqlProperty.getProperty("load.folder.report..result.sort")); + } + + //WizardProcessor.java + + public static String getProcessFilterAddEdit(){ + return nvls(sqlProperty.getProperty("process.filter.add.edit")); + } + + //ReportDefinition.java + + public static String getPersistReportAdhoc(){ + return nvls(sqlProperty.getProperty("persist.report.adhoc")); + } + + //Globals.java + public static String getInitializeRoles(){ + return nvls(sqlProperty.getProperty("initialize.roles")); + } + + public static String getInitializeVersion(){ + return nvls(sqlProperty.getProperty("initialize.version")); + } + + public static String getDBType(){ + return nvls(raptorProperties.getProperty("db_type"), "oracle"); + } + + public static boolean isPostgreSQL(){ + return getDBType().equals("postgresql"); + } + public static boolean isMySQL(){ + return getDBType().equals("mysql"); + } + public static boolean isOracle(){ + return getDBType().equals("oracle"); + } + + //scheduler + public static String getAvailableSchedules(){ + return nvls(sqlProperty.getProperty("scheduler.available.schedules")); + } + + public static String getCurrentDateString(){ + return nvls(sqlProperty.getProperty("current.date.string")); + } + + public static String getSchedulerUserEmails(){ + return nvls(sqlProperty.getProperty("scheduler.user.emails")); + } + + public static String getSqlConvertToRaw(){ + return nvls(sqlProperty.getProperty("convert.to.raw")); + } + + public static Properties getRaptorPdfProperties() { + return raptorPdfProperties; + } + + public static void setRaptorPdfProperties(Properties raptorPdfProperties) { + Globals.raptorPdfProperties = raptorPdfProperties; + } + + public static Properties getRaptorProperties() { + return raptorProperties; + } + + public static void setRaptorProperties(Properties raptorProperties) { + Globals.raptorProperties = raptorProperties; + } + + public static Properties getSqlProperty() { + return sqlProperty; + } + + public static void setSqlProperty(Properties sqlProperty) { + Globals.sqlProperty = sqlProperty; + } + + public static String getSequenceNextVal() { + return nvls(sqlProperty.getProperty("seq.next.val")); + } + + public static String getRandomString() { + return nvls(sqlProperty.getProperty("seq.next.val")); + } + + public static String getReportUserAccess(){ + return nvls(sqlProperty.getProperty("report.user.access")); + } + + public static String getAddUserAccess(){ + return nvls(sqlProperty.getProperty("add.user.access")); + } + + public static String getUpdateUserAccess(){ + return nvls(sqlProperty.getProperty("update.user.access")); + } + + public static String getRemoveUserAccess(){ + return nvls(sqlProperty.getProperty("remove.user.access")); + } + + public static String getAddRoleAccess(){ + return nvls(sqlProperty.getProperty("add.role.access")); + } + + public static String getUpdateRoleAccess(){ + return nvls(sqlProperty.getProperty("update.role.access")); + } + + public static String getRemoveRoleAccess(){ + return nvls(sqlProperty.getProperty("remove.role.access")); + } + + public static boolean isSystemInitialized() { + return systemInitialized; + } + +} // Globals diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/IAppUtils.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/IAppUtils.java new file mode 100644 index 00000000..ba967e8b --- /dev/null +++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/IAppUtils.java @@ -0,0 +1,195 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the “License”); + * you may not use this software 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. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the “License”); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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. + * + * ============LICENSE_END============================================ + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + */ +package org.onap.portalsdk.analytics.system; + +import java.util.*; +import javax.servlet.*; +import javax.servlet.http.*; + +import org.onap.portalsdk.analytics.error.RaptorException; +import org.onap.portalsdk.analytics.error.ReportSQLException; + +public interface IAppUtils { + void initializeAppUtils(ServletContext servletContext); + + /** Returns ID of the user currently logged in */ + String getUserID(HttpServletRequest request); + + /** Obtains user name by ID */ + String getUserName(HttpServletRequest request); + String getUserName(String userId); + + /** Obtains user email by ID */ + String getUserEmail(HttpServletRequest request); + String getUserEmail(String userId); + + /** Obtains user login ID */ + String getUserLoginId(HttpServletRequest request); + String getUserLoginId(String userId); + + /** Obtains user back door log id */ + String getUserBackdoorLoginId(HttpServletRequest request); + + /** Obtains list of all users (in IdNameValue objects) */ + Vector getAllUsers(String customizedQuery, String param, boolean isAdmin); + + /** Obtains role name by ID */ + String getRoleName(String roleId); + + /** Obtains list of all roles (in IdNameValue objects) */ + Vector getAllRoles(String customizedQuery, String param, boolean isAdmin); + + /** Checks whether the user currently logged in has the specified role */ + // boolean isUserInRole(HttpServletRequest request, String roleId); + /** Checks whether the specified user has the specified role */ + boolean isUserInRole(HttpServletRequest request, String roleId) throws RaptorException ; + + /** + * Returns Vector containing the IDs of all the roles to which the user + * currently logged in belongs + */ + // Vector getUserRoles(HttpServletRequest request); + /** + * Returns Vector containing the IDs of all the roles to which the specified + * user belongs + */ + Vector getUserRoles(HttpServletRequest request)throws RaptorException; + + Vector getUserRoles(String userID)throws RaptorException; + /** Empties cached lists of app users and roles */ + void resetUserCache(); + + /** Returns the ID of the super role (all powerful) */ + String getSuperRoleID(); + + /** Returns Vector containing the IDs of all Admin roles */ + Vector getAdminRoleIDs(); + + /** Returns Temp folder file path */ + String getTempFolderPath(); + + /** Returns Upload folder file path */ + String getUploadFolderPath(); + + /** Returns Temp folder web URL */ + String getTempFolderURL(); + + /** Returns Upload folder web URL */ + String getUploadFolderURL(); + + /** Returns SMTP server to be used for notifications */ + String getSMTPServer()throws RaptorException ; + + /** Returns Encrypted SMTP server to be used for notifications */ + String getEncryptedSMTPServer()throws RaptorException ; + + /** + * Returns email address used for the "From" field in the system + * notifications + */ + String getDefaultEmailSender() throws RaptorException; + + /** Returns the application error page */ + String getErrorPage(); + + /** Returns the application error page with menu for fusion*/ + String getErrorPageWMenu(); + + /** Returns path to the folder containing JSP pages */ + String getJspContextPath(); + + /** Returns web URL of the folder containing the images */ + String getImgFolderURL(); + + /** Returns web URL to the base raptor folder */ + String getBaseFolderURL(); + + /** Returns the URL used for executing a report - system specific */ + // String getReportExecuteActionURL(); + /** Returns the URL used for displaying data record - system specific */ + // String getDataViewActionURL(); + /** + * Returns the parameter name of the ID value used for displaying data + * record - system specific + */ + // String getDataViewActionParam(); + /** Returns full web URL for direct access to execute a report */ + String getDirectAccessURL(); + + /** Returns the URL of the controller servlet - system specific */ + String getBaseActionURL(); + + /** Returns the base URL of the NG report - system specific */ + String getBaseActionURLNG(); + + /** Returns the URL of the Report Run specifc to AngularJS */ + String getDrillActionURL(); + + /** Returns the primary parameter name - system specific */ + String getBaseActionParam(); + + /** Returns Vector containing menu IDs for quick links */ + Vector getQuickLinksMenuIDs(); + + /** Obtains menu label by ID */ + String getMenuLabel(String menuId); + + /** + * SQL for loading the screen labels and restricting to active cols only for + * report columns; can return null => use straight data dictionary For + * PRISMS - based on "useFieldTable" config parameter + */ + String getReportDbColsMaskSQL(); + + /** + * SQL for replacing lookup tables with id and name values; can return null => + * do NOT replace lookups Returns SQL with columns - Table_name, Field_name, + * New_Lookup_Table_name, New_Lookup_Id_Field_name, + * New_Lookup_Name_Field_name For PRISMS - based on "useFieldTable" config + * parameter + */ + String getReportDbLookupsSQL(); + + /** Obtains menu label by ID */ + void processErrorNotification(HttpServletRequest request, RaptorException e); + + /** Returns Excel template PATH web URL */ + String getExcelTemplatePath(); + + String getFolderPathAdj(); +} // IAppUtils diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/IDbUtils.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/IDbUtils.java new file mode 100644 index 00000000..6d5daeaf --- /dev/null +++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/IDbUtils.java @@ -0,0 +1,54 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the “License”); + * you may not use this software 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. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the “License”); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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. + * + * ============LICENSE_END============================================ + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + */ +package org.onap.portalsdk.analytics.system; + +import java.sql.*; +import java.util.*; +import javax.servlet.*; + +import org.onap.portalsdk.analytics.error.RaptorRuntimeException; +import org.onap.portalsdk.analytics.error.ReportSQLException; + +public interface IDbUtils { + void initializeDbUtils(ServletContext servletContext); + + Connection getConnection() throws ReportSQLException ; + + void clearConnection(Connection con) throws ReportSQLException ; + +} diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/RDbUtils.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/RDbUtils.java new file mode 100644 index 00000000..8f624a31 --- /dev/null +++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/RDbUtils.java @@ -0,0 +1,53 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the “License”); + * you may not use this software 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. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the “License”); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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. + * + * ============LICENSE_END============================================ + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + */ +package org.onap.portalsdk.analytics.system; + +import java.sql.*; +import javax.servlet.*; + +import org.onap.portalsdk.analytics.error.ReportSQLException; + +public interface RDbUtils { + + void initializeDbUtils(ServletContext servletContext); + + Connection getRemoteConnection(String dbKey)throws ReportSQLException; + + void clearConnection(Connection con)throws ReportSQLException; + +} diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/RemDbUtils.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/RemDbUtils.java new file mode 100644 index 00000000..cab90879 --- /dev/null +++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/RemDbUtils.java @@ -0,0 +1,216 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the “License”); + * you may not use this software 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. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the “License”); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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. + * + * ============LICENSE_END============================================ + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + */ +package org.onap.portalsdk.analytics.system; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; + +import org.onap.portalsdk.analytics.error.RaptorException; +import org.onap.portalsdk.analytics.error.RaptorRuntimeException; +import org.onap.portalsdk.analytics.error.ReportSQLException; +import org.onap.portalsdk.analytics.util.DataSet; +import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate; + +public class RemDbUtils /* implements IDbUtils */{ + + private static final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(RemDbUtils.class); + + public RemDbUtils() { + } + + public static Connection getConnection(String dbKey) throws ReportSQLException { + return Globals.getRDbUtils().getRemoteConnection(dbKey); + } // getConnection + + public static void clearConnection(Connection con) throws ReportSQLException { + try { + if ((con != null) && !con.isClosed()) + Globals.getRDbUtils().clearConnection(con); + } catch (SQLException ex) { throw new ReportSQLException(ex.getMessage()); } + + } // clearConnection + + public static Connection startTransaction(String dbKey) throws RaptorException { + Connection con = null; + try { + con = getConnection(dbKey); + con.setAutoCommit(false); + } catch (SQLException ex) { + throw new RaptorRuntimeException (ex.getMessage(), ex.getCause()); + } catch (Exception ex2 ) { + throw new RaptorException (ex2.getMessage(), ex2.getCause()); + } + return con; + } // startTransaction + + public static void commitTransaction(Connection con) throws RaptorException { + try { + con.commit(); + } catch (SQLException ex) { + throw new RaptorRuntimeException (ex.getMessage(), ex.getCause()); + } catch (Exception ex2 ) { + throw new RaptorException (ex2.getMessage(), ex2.getCause()); + } + //clearConnection(con); + } // commitTransaction + + public static void rollbackTransaction(Connection con) throws RaptorException { + try { + con.rollback(); + clearConnection(con); + } catch (SQLException ex) { + throw new RaptorRuntimeException (ex.getMessage(), ex.getCause()); + } catch (Exception ex2 ) { + throw new RaptorException (ex2.getMessage(), ex2.getCause()); + } + } // rollbackTransaction + +// public static String executeCall(Connection con, String sql, boolean expectResult) +// throws ReportSQLException, Exception { +// String result = null; +// +// try { +// if(con.isClosed()) con = getConnection(); +// Log.write("[SQL Call] " + sql, 4); +// CallableStatement stmt = con.prepareCall(sql); +// if (expectResult) +// stmt.registerOutParameter(1, Types.CHAR); +// stmt.executeUpdate(); +// if (expectResult) +// result = stmt.getString(1); +// stmt.close(); +// con.commit(); +// } catch (SQLException e) { +// throw new ReportSQLException(e.getMessage(), sql); +// } finally { +// clearConnection(con); +// } +// +// return result; +// } // executeCall +// +// public static String executeCall(String sql, boolean expectResult) +// throws ReportSQLException, Exception { +// Connection con = null; +// try { +// con = getConnection(); +// String result = executeCall(con, sql, expectResult); +// return result; +// } catch (SQLException e) { +// throw new ReportSQLException(e.getMessage(), sql); +// } +// } // executeCall +// +// public static int executeUpdate(Connection con, String sql) throws ReportSQLException, Exception { +// try { +// if(con.isClosed()) con = getConnection(); +// Statement stmt = con.createStatement(); +// +// int rcode = -1; +// try { +// Log.write("[SQL Update] " + sql, 4); +// rcode = stmt.executeUpdate(sql); +// stmt.close(); +// con.commit(); +// } finally { +// clearConnection(con); +// } +// +// return rcode; +// } catch (SQLException e) { +// throw new ReportSQLException(e.getMessage(), sql); +// } finally { +// clearConnection(con); +// } +// } // executeUpdate +// +// public static int executeUpdate(String sql) throws ReportSQLException, Exception { +// Connection con = null; +// try { +// con = getConnection(); +// int rcode = executeUpdate(con, sql); +// return rcode; +// } catch (SQLException e) { +// throw new ReportSQLException(e.getMessage(), sql); +// } +// } // executeUpdate + + public static DataSet executeQuery(Connection con, String sql, String dbKey) throws ReportSQLException, Exception { + return executeQuery(con, sql, Integer.MAX_VALUE,dbKey); + } // executeQuery + + public static DataSet executeQuery(Connection con, String sql, int maxRowLimit, String dbKey) + throws ReportSQLException { + try { + if (con==null || con.isClosed()) con = getConnection(dbKey); + if(con==null) throw new ReportSQLException("Remote Connection not configured for "+ dbKey); + Statement stmt = con.createStatement(); + logger.debug(EELFLoggerDelegate.debugLogger, ("[SQL CALL FROM RAPTOR] [SQL] " + sql)); + ResultSet rs = stmt.executeQuery(sql); + DataSet ds = new DataSet(rs, maxRowLimit); + if(rs!=null) + rs.close(); + if(stmt!=null) + stmt.close(); + + return ds; + } catch (SQLException e) { + throw new ReportSQLException(e.getMessage(), sql, e.getCause()); + } + } // executeQuery + + public static DataSet executeQuery(String sql,String dbKey) throws ReportSQLException { + return executeQuery(sql, Integer.MAX_VALUE, dbKey); + } // executeQuery + + public static DataSet executeQuery(String sql, int maxRowLimit, String dbKey) throws ReportSQLException{ + Connection con = null; + try { + con = getConnection(dbKey); + return executeQuery(con, sql, maxRowLimit,dbKey); + } catch (ReportSQLException e) { + throw new ReportSQLException(e.getMessage(), sql, e.getCause()); + } finally { + clearConnection(con); + } + } // executeQuery + +} // DbUtils + diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/AntBuild.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/AntBuild.java new file mode 100644 index 00000000..6451a961 --- /dev/null +++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/AntBuild.java @@ -0,0 +1,85 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the “License”); + * you may not use this software 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. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the “License”); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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. + * + * ============LICENSE_END============================================ + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + */ +package org.onap.portalsdk.analytics.system.fusion; + +import java.io.IOException; +import java.util.Iterator; +import java.util.Map; +import java.util.jar.Attributes; +import java.util.jar.JarFile; +import java.util.jar.Manifest; + +/** + * @author sundar + * This class is used to get version and Build information when + * user run "java -jar raptor_fusion.jar" command. + */ +public class AntBuild { + + public static void main(String[] args) { + System.out.println("Jar (raptor_fusion.jar) Information: "); + readManifest(); + } + + public static void readManifest() { + try { + JarFile jar = new JarFile("./raptor_fusion.jar"); + Manifest manifest = jar.getManifest(); + + Attributes attribs = manifest.getMainAttributes(); + Iterator it = attribs.entrySet().iterator(); + while(it.hasNext()) { + Map.Entry entry = (Map.Entry) it.next(); + Attributes.Name attributeName = (Attributes.Name) entry.getKey(); + String attributeValue = (String) entry.getValue(); + if (attributeName.toString().equals("Created-By")) + System.out.println("JDK Version " + " : " + attributeValue); + else if (attributeName.toString().equals("Ant-Version")) + System.out.println(attributeName.toString() + " : " + attributeValue); + else { + if(attributeName.toString().startsWith("Raptor")) + System.out.println(attributeName.toString() + " : " + attributeValue); + } + } + + } catch (IOException e) { + System.err.println("Cannot read jar-file manifest: " + + e.getMessage()); + } + } +} \ No newline at end of file diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/AppUtils.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/AppUtils.java new file mode 100644 index 00000000..e3bd0f7e --- /dev/null +++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/AppUtils.java @@ -0,0 +1,383 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the “License”); + * you may not use this software 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. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the “License”); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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. + * + * ============LICENSE_END============================================ + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + */ +package org.onap.portalsdk.analytics.system.fusion; + +import java.util.Iterator; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.StringTokenizer; +import java.util.Vector; + +import javax.servlet.ServletContext; +import javax.servlet.http.HttpServletRequest; + +import org.onap.portalsdk.analytics.config.ConfigLoader; +import org.onap.portalsdk.analytics.error.RaptorException; +import org.onap.portalsdk.analytics.model.base.IdNameValue; +import org.onap.portalsdk.analytics.system.Globals; +import org.onap.portalsdk.analytics.system.IAppUtils; +import org.onap.portalsdk.analytics.system.fusion.adapter.RaptorAdapter; +import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;; + +public class AppUtils extends org.onap.portalsdk.analytics.RaptorObject implements IAppUtils { + + private static final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(AppUtils.class); + + private static String tempFolderPath = "/artemis/PROJECT1/MSA/databank/WEB-INF/temp/"; + private static String uploadFolderPath = "/artemis/PROJECT1/MSA/databank/WEB-INF/upload/"; + private static String tempFolderURL = "temp/"; + private static String uploadFolderURL = "upload/"; + private static String SMTPServer = "todo.smtp.server.com"; + private static String defaultEmailSender = "todo.email.sender.com"; + private static String errorPage = "error_page"; + private static String errorPageWMenu = "error_page_wmenu"; + private static String jspContextPath = "raptor/"; + private static String imgFolderURL = "raptor/images/"; + private static String baseFolderURL = "raptor/"; + //private static String reportExecuteActionURL = "dispatcher?action=raptor&r_action=report.run&c_master="; + //private static String dataViewActionURL = "dispatcher?action="; // dispatcher?action=ACTION_ID&c_master=REC_ID + //private static String dataViewActionParam = "c_master="; + private static String directAccessURL = "http://localhost:8082/databank/dispatcher?direct.access=raptor&r_action=report.run&show="; + private static String baseActionURL = "dispatcher?action="; // dispatcher?action=ACTION_ID&c_master=REC_ID or dispatcher?action=raptor&r_action=RAPTOR_ACTION_ID&c_master=REC_ID + private static String baseActionURLNG = "report#/"; // dispatcher?action=ACTION_ID&c_master=REC_ID or dispatcher?action=raptor&r_action=RAPTOR_ACTION_ID&c_master=REC_ID + private static String drillActionURL = "dispatcher?action="; // dispatcher?action=ACTION_ID&c_master=REC_ID or dispatcher?action=raptor&r_action=RAPTOR_ACTION_ID&c_master=REC_ID + private static String baseActionParam = "c_master="; + private static String superRoleID = "1"; + private static Vector adminRoleIDs = new Vector(); + private static Vector quickLinksMenuIDs = new Vector(); + + private static Properties raptorAppProperties; + + private static String encryptedSMTPServer = ""; + public AppUtils() {} + + public void initializeAppUtils(ServletContext servletContext) { + try { + Properties appProperties = ConfigLoader.getProperties(servletContext, ConfigLoader.APP_PROPERTIES, Globals.getSystemType()); + raptorAppProperties = appProperties; + tempFolderPath = appProperties.getProperty("temp_folder_path"); + uploadFolderPath = appProperties.getProperty("upload_folder_path"); + tempFolderURL = appProperties.getProperty("temp_folder_url"); + uploadFolderURL = appProperties.getProperty("upload_folder_url"); + SMTPServer = appProperties.getProperty("smtp_server"); + encryptedSMTPServer = appProperties.getProperty("encrypted_smtp_server"); + defaultEmailSender = appProperties.getProperty("default_email_sender"); + errorPage = appProperties.getProperty("error_page"); + jspContextPath = appProperties.getProperty("jsp_context_path"); + imgFolderURL = appProperties.getProperty("img_folder_url"); + baseFolderURL = appProperties.getProperty("base_folder_url"); +/* reportExecuteActionURL = appProperties.getProperty("report_execute_action_url"); + dataViewActionURL = appProperties.getProperty("data_view_action_url"); + dataViewActionParam = appProperties.getProperty("data_view_action_param");*/ + directAccessURL = appProperties.getProperty("direct_access_url"); + baseActionURL = appProperties.getProperty("base_action_url"); + baseActionURLNG = appProperties.getProperty("base_action_url_ng"); + drillActionURL = appProperties.getProperty("drill_action_url"); + baseActionParam = appProperties.getProperty("base_action_param"); + superRoleID = appProperties.getProperty("super_role_id"); + + adminRoleIDs.removeAllElements(); + StringTokenizer st = new StringTokenizer(appProperties.getProperty("admin_role_ids"), ","); + while(st.hasMoreTokens()) + adminRoleIDs.add(st.nextToken()); + + quickLinksMenuIDs.removeAllElements(); + st = new StringTokenizer(appProperties.getProperty("quick_links_menu_ids"), ","); + while(st.hasMoreTokens()) + quickLinksMenuIDs.add(st.nextToken()); + } catch(Exception e) { + logger.error(EELFLoggerDelegate.debugLogger, ("[EXCEPTION ENCOUNTERED IN RAPTOR] AppUtils.initializeAppUtils: Unable to load properties ["+Globals.getSystemType()+"_"+ConfigLoader.APP_PROPERTIES+"]. Exception: "+e.getMessage())); + //throw new RuntimeException(e.getMessage()); + } + } // initializeAppUtils + + public static void getFullURL(HttpServletRequest req) { + String applicationBase = ""; + if (applicationBase == null) { + applicationBase = req.getScheme() + "://" + req.getServerName() + + getPort(req) + req.getContextPath(); + } + } + + private static String getPort(HttpServletRequest req) { + if ("http".equalsIgnoreCase(req.getScheme()) && req.getServerPort() != 80 || + "https".equalsIgnoreCase(req.getScheme()) && req.getServerPort() != 443 ) { + return (":" + req.getServerPort()); + } else { + return ""; + } + } + public String getUserID(HttpServletRequest request) { + String pdfAttachmentKey = org.onap.portalsdk.analytics.system.AppUtils.getRequestValue(request, "pdfAttachmentKey"); + String report_email_sent_log_id = org.onap.portalsdk.analytics.system.AppUtils.getRequestValue(request, "log_id"); + boolean isEmailAttachment = false; + if(pdfAttachmentKey != null && report_email_sent_log_id !=null) + isEmailAttachment = true; + if(isEmailAttachment) { + return RaptorAdapter.getUserID(org.onap.portalsdk.analytics.system.AppUtils.getRequestValue(request, "user_id")); + } else + return RaptorAdapter.getUserID(request); + } // getUserID + + public Vector getAllUsers(String customizedQuery, String param, boolean isAdmin) { + Map map = RaptorAdapter.getAllUsers(customizedQuery, param, isAdmin); + + Vector vector = new Vector(map.size()); + for(Iterator iter=map.keySet().iterator(); iter.hasNext(); ) { + Long key = (Long) iter.next(); + vector.add(new IdNameValue(""+key, (String) map.get(key))); + } // for + + return vector; + } // getAllUsers + + public String getRoleName(String roleId) { + return RaptorAdapter.getRoleName(roleId); + } // getRoleName + + public Vector getAllRoles(String customizedQuery, String param, boolean isAdmin) { + Map map = RaptorAdapter.getAllRolesUsingCustomizedQuery(customizedQuery, param, isAdmin); + + Vector vector = new Vector(map.size()); + for(Iterator iter=map.keySet().iterator(); iter.hasNext(); ) { + Long key = (Long) iter.next(); + vector.add(new IdNameValue(""+key, (String) map.get(key))); + } // for + + return vector; + } // getAllRoles + + public String getUserName(HttpServletRequest request) { + return RaptorAdapter.getUserName(request); + } // getUserName + + public String getUserName(String userId) { + return RaptorAdapter.getUserName(userId); + } // getUserName + + public String getUserEmail(String userId) { + return RaptorAdapter.getUserEmail(userId); + } // getUserEmail + + public String getUserEmail(HttpServletRequest request) { + return RaptorAdapter.getUserEmail(request); + } // getUserEmail + + public String getUserLoginId(HttpServletRequest request) { + return RaptorAdapter.getUserLoginId(request); + } // getUserLoginId + + public String getUserLoginId(String userId) { + return RaptorAdapter.getUserLoginId(userId); + } // getUserLoginId + + public String getUserBackdoorLoginId(HttpServletRequest request) { + String pdfAttachmentKey = org.onap.portalsdk.analytics.system.AppUtils.getRequestValue(request, "pdfAttachmentKey"); + String report_email_sent_log_id = org.onap.portalsdk.analytics.system.AppUtils.getRequestValue(request, "log_id"); + boolean isEmailAttachment = false; + if(pdfAttachmentKey != null && report_email_sent_log_id !=null) + isEmailAttachment = true; + if(isEmailAttachment) { + return RaptorAdapter.getUserBackdoorLoginId(org.onap.portalsdk.analytics.system.AppUtils.getRequestValue(request, "user_id")); + } else + return RaptorAdapter.getUserBackdoorLoginId(request); + } // getUserBackdoorLoginId + + public boolean isUserInRole(HttpServletRequest request, String roleId) { + return RaptorAdapter.isCurrentUserInRole(request, roleId); + } // isUserInRole + + public Vector getUserRoles(HttpServletRequest request) { +// Map map = RaptorAdapter.getAllRoles(userId); + Set set = RaptorAdapter.getUserRoles(request); + + Vector vector = new Vector(set.size()); + for(Iterator iter=set.iterator(); iter.hasNext(); ) { + Long key = (Long) iter.next(); + vector.add(""+key); + //vector.add(new IdNameValue(""+key, (String) map.get(key))); + } // for + + return vector; + } // getUserRoles + + public Vector getUserRoles(String userId) { + Set set = RaptorAdapter.getUserRoles(userId); + + Vector vector = new Vector(set.size()); + for(Iterator iter=set.iterator(); iter.hasNext(); ) { + Long key = (Long) iter.next(); + vector.add(""+key); + //vector.add(new IdNameValue(""+key, (String) map.get(key))); + } // for + + return vector; + //return null; + } // getUserRoles + + public void resetUserCache() { + } // resetUserCache + + public String getSuperRoleID(){ + return superRoleID; + } // getSuperRoleID + + public Vector getAdminRoleIDs(){ + return adminRoleIDs; + } // getAdminRoleIDs + + + public String getTempFolderPath() { + return tempFolderPath; + } // getTempFolderPath + + public String getUploadFolderPath() { + return uploadFolderPath; + } // getUploadFolderPath + + public String getTempFolderURL() { + return tempFolderURL; + } // getTempFolderURL + + public String getUploadFolderURL() { + return uploadFolderURL; + } // getUploadFolderURL + + public String getSMTPServer() { + return SMTPServer; + } // getSMTPServer + + public String getDefaultEmailSender() { + return defaultEmailSender; + } // getDefaultEmailSender + + public String getErrorPage() { + return errorPage; + } // getErrorPage + + public String getJspContextPath() { + return jspContextPath; + } // getJspContextPath + + public String getImgFolderURL() { + return imgFolderURL; + } // getImgFolderURL + + public String getBaseFolderURL() { + return baseFolderURL; + } // getBaseFolderURL + +/* public String getReportExecuteActionURL() { + return reportExecuteActionURL; + } // getReportExecuteActionURL + + public String getDataViewActionURL() { + return dataViewActionURL; + } // getDataViewActionURL + + public String getDataViewActionParam() { + return dataViewActionParam; + } // getDataViewActionParam +*/ + public String getDirectAccessURL() { + return directAccessURL.trim(); + } // getDirectAccessURL + + public String getBaseActionURL() { + return baseActionURL; + } // getBaseActionURL + + public String getBaseActionURLNG() { + return baseActionURLNG; + } // getBaseActionURLNG + + public String getDrillActionURL() { + return drillActionURL; + } // getBaseActionURL + + public String getBaseActionParam() { + return baseActionParam; + } // getBaseActionParam + + public Vector getQuickLinksMenuIDs(){ + return quickLinksMenuIDs; + } // getQuickLinksMenuIDs + + public String getMenuLabel(String menuId) { + //return menuId.substring(0, 1).toUpperCase()+menuId.substring(1).toLowerCase(); + return menuId; + } // getMenuLabel + + public String getReportDbColsMaskSQL() { + return null; +/* Example: + return "SELECT f.table_name, UPPER(f.column_name) column_name, f.label "+ + "FROM fields f WHERE f.active_yn = 'Y'"; */ + } // getReportDbColsMaskSQL + + public String getReportDbLookupsSQL() { + return null; +/* Example: + return "SELECT DISTINCT f.table_name, UPPER(f.column_name) column_name, f.lookup_table, f.lookup_id_field, f.lookup_name_field "+ + "FROM fields f WHERE f.active_yn = 'Y'"; */ + } // getReportDbLookupsSQL + + public void processErrorNotification(HttpServletRequest request, RaptorException e) { + //RaptorAdapter.processErrorNotification(request, e); +} // processErrorNotification + + public String getErrorPageWMenu() { + return errorPageWMenu; + } + + public String getExcelTemplatePath() { + return nvls(raptorAppProperties.getProperty("excel_template_path"), ""); + } + /** + * @return the encryptedSMTPServer + */ + public String getEncryptedSMTPServer() { + return encryptedSMTPServer; + } + + public String getFolderPathAdj(){ + return nvls(raptorAppProperties.getProperty("folder_path_adj"), ""); + } + +} // AppUtils diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/DbUtils.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/DbUtils.java new file mode 100644 index 00000000..b33995b2 --- /dev/null +++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/DbUtils.java @@ -0,0 +1,96 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the “License”); + * you may not use this software 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. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the “License”); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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. + * + * ============LICENSE_END============================================ + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + */ +package org.onap.portalsdk.analytics.system.fusion; + +import java.sql.*; +import java.util.*; + +import javax.servlet.*; + +import org.onap.portalsdk.analytics.config.*; +import org.onap.portalsdk.analytics.system.*; +import org.onap.portalsdk.analytics.system.fusion.adapter.FusionAdapter; +import org.onap.portalsdk.analytics.system.fusion.adapter.RaptorAdapter; +import org.onap.portalsdk.analytics.system.fusion.adapter.SpringContext; +import org.onap.portalsdk.analytics.util.*; +import org.springframework.beans.factory.annotation.Autowired; + + + +public class DbUtils implements IDbUtils { + + @Autowired + public RaptorAdapter raptorAdapter; + @Autowired + public FusionAdapter fusionAdapter; + + public DbUtils() {} + + public void initializeDbUtils(ServletContext servletContext) { + raptorAdapter = (RaptorAdapter)SpringContext.getApplicationContext().getBean("raptorAdapter"); + } // initializeDbUtils + + public Connection getConnection() { + return raptorAdapter.getConnection(); + } // getConnection + + public void clearConnection(Connection con) { + raptorAdapter.releaseConnection(con); + } // clearConnection + + public RaptorAdapter getRaptorAdapter() { + return raptorAdapter; + } + + public void setRaptorAdapter(RaptorAdapter raptorAdapter) { + this.raptorAdapter = raptorAdapter; + } + + public FusionAdapter getFusionAdapter() { + return fusionAdapter; + } + + public void setFusionAdapter(FusionAdapter fusionAdapter) { + this.fusionAdapter = fusionAdapter; + } + + + + + +} // DbUtils diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/RemoteDbUtils.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/RemoteDbUtils.java new file mode 100644 index 00000000..a6abfb7d --- /dev/null +++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/RemoteDbUtils.java @@ -0,0 +1,75 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the “License”); + * you may not use this software 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. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the “License”); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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. + * + * ============LICENSE_END============================================ + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + */ +package org.onap.portalsdk.analytics.system.fusion; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; + +import javax.servlet.ServletContext; + +import org.onap.portalsdk.analytics.error.ReportSQLException; +import org.onap.portalsdk.analytics.system.RDbUtils; +import org.onap.portalsdk.analytics.system.fusion.adapter.RaptorAdapter; +import org.onap.portalsdk.analytics.system.fusion.adapter.SpringContext; +import org.onap.portalsdk.analytics.util.DataSet; +import org.onap.portalsdk.analytics.util.Log; +import org.springframework.beans.factory.annotation.Autowired; + + + +public class RemoteDbUtils implements RDbUtils{ + + private RaptorAdapter raptorAdapter; + + + public void initializeDbUtils(ServletContext servletContext) { + raptorAdapter = (RaptorAdapter)SpringContext.getApplicationContext().getBean("raptorAdapter"); + } // initializeDbUtils + + + public Connection getRemoteConnection(String dbKey) { + return raptorAdapter.getConnection(dbKey); + } + + public void clearConnection(Connection conn) { + raptorAdapter.releaseConnection(conn); + } + +} diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/adapter/AdapterSessionFactoryContainer.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/adapter/AdapterSessionFactoryContainer.java new file mode 100644 index 00000000..e95b0ec6 --- /dev/null +++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/adapter/AdapterSessionFactoryContainer.java @@ -0,0 +1,57 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the “License”); + * you may not use this software 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. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the “License”); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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. + * + * ============LICENSE_END============================================ + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + */ +package org.onap.portalsdk.analytics.system.fusion.adapter; + +import java.util.*; + +public class AdapterSessionFactoryContainer { + + private LinkedHashMap sessionFactories; + + public AdapterSessionFactoryContainer() { + } + + public LinkedHashMap getSessionFactories() { + return sessionFactories; + } + + public void setSessionFactories(LinkedHashMap sessionFactories) { + this.sessionFactories = sessionFactories; + } + +} diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/adapter/DateUtils.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/adapter/DateUtils.java new file mode 100644 index 00000000..d5939764 --- /dev/null +++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/adapter/DateUtils.java @@ -0,0 +1,305 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the “License”); + * you may not use this software 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. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the “License”); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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. + * + * ============LICENSE_END============================================ + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + */ +package org.onap.portalsdk.analytics.system.fusion.adapter; + + +import java.io.Serializable; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.TimeZone; + +import org.onap.portalsdk.core.FusionObject; +import org.onap.portalsdk.core.domain.User; +import org.onap.portalsdk.core.service.DataAccessService; +import org.onap.portalsdk.core.util.SystemProperties; +import org.onap.portalsdk.core.web.support.AppUtils; + + +public class DateUtils implements Serializable, FusionObject{ + + public static final String US_PACIFIC = "US/Pacific"; + public static final String US_MOUNTAIN = "US/Mountain"; + public static final String US_CENTRAL = "US/Central"; + public static final String US_EASTERN = "US/Eastern"; + public static final String US_HAWAII = "US/Hawaii"; + public static final String US_ALASKA = "US/Alaska"; + + //Arizona State has Mountain Time with no Daylight Savings + public static final String US_ARIZONA = "America/Phoenix"; + + private static final String DB_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss"; + private static final String GET_CURRENT_DATE = "getCurrentDate"; + + private static DataAccessService dataAccessService; + + public static DataAccessService getDataAccessService() { + return dataAccessService; + } + + public void setDataAccessService(DataAccessService dataAccessService) { + this.dataAccessService = dataAccessService; + } + + /** + * Parses a date value with given pattern, + * to return a Date Object + * + * @param dateValue + * @param inPattern + * @return Date Object + * @throws Exception + * + */ + public static Date parseDate(String dateValue,String inPattern) throws Exception{ + return parseDate(dateValue,inPattern,null); + } + + /** + * Parses a date value with the given pattern for the specific TimeZone, + * to return a Date Object + * + * @param dateValue + * @param inPattern + * @param currentTimeZone + * @return Date Object + * @throws Exception + * + */ + public static Date parseDate(String dateValue,String inPattern, + String currentTimeZone) throws Exception{ + DateFormat df = new SimpleDateFormat(inPattern); + if(currentTimeZone !=null && !(currentTimeZone.trim().equals(""))){ + df.setTimeZone(TimeZone.getTimeZone(currentTimeZone)); + } + Date date = df.parse(dateValue); + return date; + } + + /** + * Parses a date value with the given pattern for the specific User(in User TimeZone), + * to return a Date Object + * + * @param dateValue + * @param inPattern + * @param userId + * @return Date Object + * @throws Exception + * + */ + public static Date parseUserDate(String dateValue, String inPattern, Long userId) throws Exception{ + User user = (User)getDataAccessService().getDomainObject(User.class, userId, null); + + String userTimeZone = null; + Long timezoneId = user.getTimeZoneId(); + + if (timezoneId != null) { + userTimeZone = AppUtils.getLookupValueByLabel(timezoneId.toString(), "fn_lu_timezone", "timezone_id", "timezone_value"); + } + + return parseDate(dateValue,inPattern,userTimeZone); + } + + /** + * Formats a given date object to the desired pattern + * + * @param date + * @param outPattern + * @return Formatted date value + * @throws Exception + */ + public static String formatDate(Date date,String outPattern)throws Exception{ + return formatDate(date,outPattern,null); + } + + /** + * Formats a date value with the given pattern into a date value with the desired pattern + * + * @param dateValue + * @param inPattern + * @param outPattern + * @return Formatted date value + * @throws Exception + * + */ + public static String formatDate(String dateValue,String inPattern, + String outPattern) throws Exception{ + return formatDate(dateValue,inPattern,null,outPattern,null); + } + + /** + * Formats a given date object to the desired pattern for the TimeZone provided + * @param date + * @param outPattern + * @param requiredTimeZone + * @return Formatted date value + * @throws Exception + */ + public static String formatDate(Date date,String outPattern, + String requiredTimeZone) throws Exception{ + DateFormat df = new SimpleDateFormat(outPattern); + if(requiredTimeZone != null && !requiredTimeZone.trim().equals("")){ + df.setTimeZone(TimeZone.getTimeZone(requiredTimeZone)); + } + return df.format(date); + } + + /** + * Formats a date value with the given pattern + * into a date value with the desired pattern for the TimeZone provided + * + * @param dateValue + * @param inPattern + * @param outPattern + * @param requiredTimeZone + * @return Formatted date value + * @throws Exception + * + */ + public static String formatDate(String dateValue,String inPattern, + String outPattern,String requiredTimeZone) throws Exception{ + return formatDate(dateValue,inPattern,null,outPattern,requiredTimeZone); + } + + /** + * Formats a date value with the given pattern for a specific TimeZone, + * into a date value with the desired pattern for the TimeZone provided + * + * @param dateValue + * @param inPattern + * @param currentTimeZone + * @param outPattern + * @param requiredTimeZone + * @return Formatted date value + * @throws Exception + * + */ + public static String formatDate(String dateValue,String inPattern,String currentTimeZone, + String outPattern,String requiredTimeZone) throws Exception{ + Date date = parseDate(dateValue,inPattern,currentTimeZone); + return formatDate(date,outPattern,requiredTimeZone); + } + + /** + * Formats a date value with the given pattern, for a specific User(in User TimeZone), + * into a date value with the desired pattern for the TimeZone provided + * + * @param dateValue + * @param inPattern + * @param userId + * @param outPattern + * @param requiredTimeZone + * @return Formatted date value + * @throws Exception + * + */ + public static String formatUserDate(String dateValue,String inPattern, Long userId,String outPattern,String requiredTimeZone) throws Exception{ + User user = (User)getDataAccessService().getDomainObject(User.class, userId, null); + + String userTimeZone = null; + Long timezoneId = user.getTimeZoneId(); + + if (timezoneId != null) { + userTimeZone = AppUtils.getLookupValueByLabel(timezoneId.toString(), "fn_lu_timezone", "timezone_id", "timezone_value"); + } + + return formatDate(dateValue,inPattern,userTimeZone,outPattern,requiredTimeZone); + } + + /** + * Formats a date value with a given pattern for a specific User(User TimeZone), + * into a date value with the desired pattern for Database TimeZone + * + * @param dateValue + * @param inPattern + * @param userId + * @param outPattern + * @return Formatted date value + * @throws Exception + * + */ + public static String formatUserDateForDBTimeZone(String dateValue,String inPattern, Long userId,String outPattern) throws Exception{ + User user = (User)getDataAccessService().getDomainObject(User.class, userId, null); + + String userTimeZone = null; + Long timezoneId = user.getTimeZoneId(); + + /*if (timezoneId != null) { + userTimeZone = AppUtils.getLookupValueByLabel(timezoneId.toString(), "fn_lu_timezone", "timezone_id", "timezone_value"); + }*/ + + String dbTimeZone = SystemProperties.getProperty(SystemProperties.DATABASE_TIME_ZONE); + + return formatDate(dateValue,inPattern,userTimeZone,outPattern,dbTimeZone); + } + + /** + * Get the current database Date/Time + * @return Date object + */ + public static Date getCurrentDBDate()throws Exception{ + String dbTimeZone = SystemProperties.getProperty(SystemProperties.DATABASE_TIME_ZONE); + List results = (List)getDataAccessService().executeNamedQuery(GET_CURRENT_DATE, null, null); + return parseDate(((Object[])results.get(0))[0]+" "+((Object[])results.get(0))[1],DB_DATE_FORMAT,dbTimeZone); + } + + /** + * Get the current date value formatted for the User's TimeZone in the desired pattern + * + * @param outPattern + * @param userId + * @return Date value + * @throws Exception + */ + public static String getCurrentDBDateForUser(String outPattern,Long userId)throws Exception{ + User user = (User)getDataAccessService().getDomainObject(User.class, userId, null); + + String userTimeZone = null; + Long timezoneId = user.getTimeZoneId(); + + /*if (timezoneId != null) { + userTimeZone = AppUtils.getLookupValueByLabel(timezoneId.toString(), "fn_lu_timezone", "timezone_id", "timezone_value"); + }*/ + + Date dbDate = getCurrentDBDate(); + + return formatDate(dbDate,outPattern,userTimeZone); + } + +} diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/adapter/FusionAdapter.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/adapter/FusionAdapter.java new file mode 100644 index 00000000..c4732207 --- /dev/null +++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/adapter/FusionAdapter.java @@ -0,0 +1,139 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the “License”); + * you may not use this software 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. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the “License”); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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. + * + * ============LICENSE_END============================================ + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + */ +package org.onap.portalsdk.analytics.system.fusion.adapter; + +import java.sql.*; +import java.util.*; + +import javax.naming.Context; +import javax.naming.InitialContext; +import javax.servlet.*; + +import com.mchange.v2.c3p0.ComboPooledDataSource; + +import org.hibernate.SessionFactory; +import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider; +import org.hibernate.engine.spi.SessionFactoryImplementor; +import org.hibernate.engine.spi.SessionImplementor; +import org.onap.portalsdk.core.FusionObject; +import org.onap.portalsdk.core.service.DataAccessService; +import org.onap.portalsdk.core.util.SystemProperties; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Configuration; + +public class FusionAdapter implements FusionObject { + + public static final String LOCAL_SESSION_FACTORY_KEY = "local"; + + + private ComboPooledDataSource dataSource; + private Map dataSourceMap; + + //private SessionFactory sessionFactory; + private ServletContext servletContext; + + public FusionAdapter() { + } + + + public ServletContext getServletContext() { + return servletContext; + } + + public void setServletContext(ServletContext servletContext) { + this.servletContext = servletContext; + } + + /** Gets connection to the database **/ + public Connection getConnection() { + Connection connection = null; + try { + connection = getDataSource().getConnection(); + } catch(Exception ex) { + ex.printStackTrace(); + } + return connection; + } + + + /** Gets connection to the database indicated via the session factory key **/ + public synchronized Connection getConnection(String schemaId) { + Connection connection = null; + try { + connection = getDataSourceMap().get(schemaId).getConnection(); + } catch (Exception e) { + e.printStackTrace(); + } + + return connection; + } + + + /** Releases connection to the database **/ + public void releaseConnection(Connection conn) { + try { + conn.close(); + } + catch (Exception e) { + e.printStackTrace(); + } + } + + + public ComboPooledDataSource getDataSource() { + return dataSource; + } + + + @Autowired + public void setDataSource(ComboPooledDataSource dataSource) { + this.dataSource = dataSource; + } + + public Map getDataSourceMap() { + if(dataSourceMap==null) + dataSourceMap = (Map)SpringContext.getApplicationContext().getBean("dataSourceMap"); + + return dataSourceMap; + } + + public void setdataSourceMap(Map dataSourceMap) { + this.dataSourceMap = dataSourceMap; + } + +} diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/adapter/IdName.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/adapter/IdName.java new file mode 100644 index 00000000..ac068614 --- /dev/null +++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/adapter/IdName.java @@ -0,0 +1,85 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the “License”); + * you may not use this software 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. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the “License”); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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. + * + * ============LICENSE_END============================================ + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + */ +package org.onap.portalsdk.analytics.system.fusion.adapter; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; + +import org.onap.portalsdk.core.domain.support.DomainVo; + +/** + *

IdName.java

+ *

Represents a id/name data object.

+*/ +@Entity +public class IdName extends DomainVo { + + private String name; + private Long id; + + public IdName() {} + + @Id + @GeneratedValue + @Column(name = "ID", unique = true, nullable = false) + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int compareTo(Object obj){ + String c1 = getName(); + String c2 = ((IdName)obj).getName(); + + return (c1 == null || c2 == null) ? 1 : c1.compareTo(c2); + } + +} \ No newline at end of file diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/adapter/Item.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/adapter/Item.java new file mode 100644 index 00000000..97e8a219 --- /dev/null +++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/adapter/Item.java @@ -0,0 +1,73 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the “License”); + * you may not use this software 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. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the “License”); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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. + * + * ============LICENSE_END============================================ + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + */ +package org.onap.portalsdk.analytics.system.fusion.adapter; + + +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/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/adapter/Lookup.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/adapter/Lookup.java new file mode 100644 index 00000000..a2952242 --- /dev/null +++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/adapter/Lookup.java @@ -0,0 +1,103 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the “License”); + * you may not use this software 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. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the “License”); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * 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. + * + * ============LICENSE_END============================================ + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + */ +package org.onap.portalsdk.analytics.system.fusion.adapter; + + +import java.io.*; + +import org.onap.portalsdk.core.domain.FusionVo; +import org.onap.portalsdk.core.domain.support.NameValueId; + + + +public class Lookup extends FusionVo implements Serializable { + + private NameValueId nameValueId = new NameValueId(); + + public Lookup() {} + + public Lookup(String label, String value) { + this(); + setLabel(label); + setValue(value); + } + + public String getValue() { + return getNameValueId().getVal(); + } + + public String getLabel() { + return getNameValueId().getLab(); + } + + public void setValue(String value) { + getNameValueId().setVal(value); + } + + public void setLabel(String label) { + getNameValueId().setLab(label); + } + + public NameValueId getNameValueId() { + return nameValueId; + } + + public void setNameValueId(NameValueId nameValueId) { + this.nameValueId = nameValueId; + } + + // required by ZK for to set the selectedItems of Listboxes (used heavily for