/* * ============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============================================ * * */ package org.onap.portalsdk.analytics.config; import java.io.BufferedReader; import java.io.IOException; import java.io.StringReader; import java.util.Properties; import javax.servlet.ServletContext; import org.onap.portalsdk.analytics.controller.Action; import org.onap.portalsdk.analytics.controller.ActionMapping; import org.onap.portalsdk.analytics.util.Log; public class ConfigLoader { private static final String P_FILE_EXTENSION = ".properties"; public static final String RAPTOR_PROPERTIES = "raptor"; public static final String SQL_PROPERTIES = "sql"; public static final String APP_PROPERTIES = "raptor_app"; public static final String DB_PROPERTIES = "raptor_db"; private static String configFilesPath = "/WEB-INF/conf/"; public static final String RAPTOR_PDF_PROPERTIES = "raptor_pdf"; private static String raptorActionMapString = "report.run\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportRun\t|report_run.jsp\t\n" + "mobile.report.run\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportRun\t|mobile_report_run.jsp\t\n" + "report.dashrep1.run\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportDashRep1\t|report_run_dashrep1.jsp\t\n" + "report.dashrep2.run\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportDashRep2\t|report_run_dashrep2.jsp\t\n" + "report.dashrep3.run\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportDashRep3\t|report_run_dashrep3.jsp\t\n" + "report.dashrep4.run\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportDashRep4\t|report_run_dashrep4.jsp\t\n" + "report.download\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportRun\t|report_download_xls.jsp\t\n" + "report.download.excel2007\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportRun\t|report_download_xlsx.jsp\t\n" + "report.download.page\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportRun\t|report_download_page_xls.jsp\t\n" + "report.csv.download\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportRun\t|report_download_csv.jsp\t\n" + "report.text.download\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportRun\t|report_download_txt.jsp\t\n" + "report.search\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportSearch\t|report_search.jsp\t\n" + "report.search.execute\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportSearchExecute\t|report_search\t\n" + "report.search.user\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportSearchUser\t|report_search.jsp\t\n" + "report.search.public\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportSearchPublic\t|report_search.jsp\t\n" + "report.search.favorite\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportSearchFavorites\t|report_search.jsp\t\n" + "report.wizard\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportWizard\t|report_wizard\t\n" + "report.create\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportCreate\t|report_wizard\t\n" + "report.import\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|report_import\t\n" + "report.import.save\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportImportSave\t|report_wizard\t\n" + "report.copy\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportCopy\t|report_wizard\t\n" + "report.copy.container\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportCopy\t|raptor_wizard_container.jsp\t\n" + "report.edit\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportEdit\t|report_wizard\t\n" + "report.delete\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportDelete\t|report_search\t\n" + "report.popup.field\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportFormFieldPopup\t|popup_field.jsp\t\n" + "report.popup.map\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportValuesMapDefPopup\t|popup_map.jsp\t\n" + "report.popup.drilldown.table\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|popup_drill_down_table.jsp\t\n" + "report.popup.drilldown.report|org.onap.portalsdk.analytics.controller.ActionHandler|reportDrillDownToReportDefPopup|popup_drill_down_report\t\n" + "report.popup.import.semaphore|org.onap.portalsdk.analytics.controller.ActionHandler|importSemaphorePopup\t|popup_import_semaphore\t\n" + "report.popup.semaphore\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|popup_semaphore\t\n" + "report.popup.semaphore.save\t|org.onap.portalsdk.analytics.controller.ActionHandler|saveSemaphorePopup\t|popup_semaphore\t\n" + "report.popup.filter.col\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|popup_filter_col.jsp \n" + "report.popup.filter.data\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportFilterDataPopup\t|popup_filter_data.jsp\t\n" + "report.popup.sql\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportShowSQLPopup\t|popup_sql\t\n " + "report.run.popup\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|report_run_popup.jsp\t\n" + "report.popup.test.cond\t|org.onap.portalsdk.analytics.controller.ActionHandler|testSchedCondPopup\t|popup_sql\t\n" + "report.popup.testrun.sql\t|org.onap.portalsdk.analytics.controller.ActionHandler|testRunSQLPopup\t|popup_testrun_sql\t\n" + "report.test.jsp\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|test_run_sql\t\n" + "report.field.testrun.jsp\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|test_field_run_sql\t\n" + "report.field.default.testrun.jsp\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|default_field_run_sql\t\n" + "report.field.date.start.testrun.jsp\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|date_start_field_run_sql\t\n" + "report.field.date.end.testrun.jsp |org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|date_end_field_run_sql\t\n" + "report.popup.table.cols\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|popup_table_cols\t\n" + "refresh.cache\t|org.onap.portalsdk.analytics.controller.ActionHandler|refreshCache\t|message.jsp\t\n" + "report.message\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|message.jsp\t\n" + "report.download.pdf\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportRun\t|report_download_pdf.jsp\t\n" + "report.popup.pdfconfig\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|popup_pdf_config.jsp\t\n" + "download.all\t|org.onap.portalsdk.analytics.controller.ActionHandler|downloadAll\t|close.jsp\t\n" + "download.all.jsp\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|popup_download_flat_file.jsp\t\n" + "download.data.file\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|download_data_file.jsp\t\n" + "popup.calendar\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|gtm_calendar.jsp\t\n" + "report.folderlist\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|folder_report_list.jsp\t\n" + "report.folderlist_iframe\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|folder_report_list_iframe.jsp\t\n" + "report.childDropDown\t|org.onap.portalsdk.analytics.controller.ActionHandler|getChildDropDown\t|raptor_childdropdown.jsp\t\n" + "report.create.container\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|report_create_container.jsp\t\n" + "report.search.container\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|report_search_container.jsp\t\n" + "report.search.execute.container\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|report_search_execute_container.jsp\t\n" + "report.search.user.container\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|report_search_user_container.jsp\t\n" + "report.search.public.container\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|report_search_public_container.jsp\t\n" + "report.search.favorite.container\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|report_search_favorite_container.jsp\t\n" + "report.run.container\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportRun\t|report_run_container.jsp\t\n" + "report.formfields.run.container\t|org.onap.portalsdk.analytics.controller.ActionHandler|formFieldRun\t|report_run_container.jsp\t\n" + "report.run.jsp\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|report_run.jsp\t\n" + "report.schedule.multiple\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|wizard_schedule_multiple.jsp\t\n" + "report.schedule.submit\t|org.onap.portalsdk.analytics.controller.ActionHandler|processSchedule\t|wizard_schedule_only.jsp\t\n" + "report.schedule.report.submit\t|org.onap.portalsdk.analytics.controller.ActionHandler|processScheduleReportList\t|wizard_schedule_only.jsp\t\n" + "report.schedule.report.submit_wmenu\t|org.onap.portalsdk.analytics.controller.ActionHandler|processScheduleReportList\t|wizard_schedule_only_from_search.jsp\t\n" + "report.schedule_only\t|org.onap.portalsdk.analytics.controller.ActionHandler|processSchedule\t|wizard_schedule_only\t\n" + "report.schedule_only_from_search\t|org.onap.portalsdk.analytics.controller.ActionHandler|processSchedule\t|wizard_schedule_only_from_search.jsp\t\n" + "report.schedule_delete\t|org.onap.portalsdk.analytics.controller.ActionHandler|processScheduleDelete\t|report_run_container.jsp\t\n" + "report.schedule.submit_from_search\t|org.onap.portalsdk.analytics.controller.ActionHandler|processSchedule\t|wizard_schedule_only_from_search.jsp\t\n" + "report.dashboard.detail\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|dashboard_report_run_detail.jsp\t\n" + "report.csv.download.direct\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportRun\t|report_download_csv.jsp\t\n" + "report.csv.download.direct\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportRun\t|report_download_csv.jsp\t\n" + "report.download.csv.session\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|report_download_csv\t\n" + "report.download.excel2007.session\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|report_download_xlsx.jsp\t\n" + "report.download.excel.session\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|report_download_xls.jsp\t\n" + "report.download.pdf.session\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|report_download_pdf.jsp\t\n" + "report.download.page.session\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|report_download_page_xls.jsp\t\n" + "report.data.remove.session\t|org.onap.portalsdk.analytics.controller.ActionHandler|removeReportDataFromSession\t|report_run_container.jsp\t\n" + "report.dashboard.run.container\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|report_dashboard_run_container.jsp\t\n" + "chart.force.cluster\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|force_cluster.jsp\t\n" + "chart.run\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportChartRun\t|report_run_container.jsp\t\n" + "chart.json\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportChartRun\t|report_run_container.jsp\t\n" + "chart.data.json\t|org.onap.portalsdk.analytics.controller.ActionHandler|reportChartDataRun\t|report_run_container.jsp\t\n" + "quicklinks.json\t|org.onap.portalsdk.analytics.controller.ActionHandler|getQuickLinksJSON\t|report_run_container.jsp\t\n" + "embed.run\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|report_embed_run_container.zul\t\n" + "schedule.edit\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|wizard_adhoc_schedule.zul\t\n" + "chart.annotations.run\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|plugin_chart_annotation.jsp\t\n" + "chart.annotations.exec\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|chart_annotations.jsp\t\n" + "chart.mini\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|chart_minified.jsp\t\n" + "report.olap.run.container\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|report_olap_run_container.jsp\t\n" + "report.hive.run.container\t|org.onap.portalsdk.analytics.controller.ActionHandler|gotoJsp\t|report_hive_run_container.jsp\t\n" ; private ConfigLoader() { } public static void setConfigFilesPath(String path) { configFilesPath = path; } // setConfigFilesPath public static Properties getProperties(ServletContext servletContext, String propertiesFile) throws IOException { return getProperties(servletContext, propertiesFile, null); } // getProperties public static Properties getProperties(ServletContext servletContext, String propertiesFile, String systemTypeExtension) throws IOException { Properties p = new Properties(); p.load(servletContext.getResourceAsStream(configFilesPath + propertiesFile + ((systemTypeExtension == null) ? "" : "_" + systemTypeExtension) + P_FILE_EXTENSION)); return p; } // getProperties public static ActionMapping loadRaptorActionMapping(ServletContext servletContext) throws IOException { ActionMapping actionMapping = new ActionMapping(); String pLine = null; BufferedReader pFile = new BufferedReader(new StringReader(raptorActionMapString)); while ((pLine = pFile.readLine()) != null) if (pLine.trim().length() > 0) try { actionMapping.addAction(Action.parse(pLine)); } catch (Exception e) { Log .write("[ConfigLoader.loadRaptorActionMapping] Error - unable to parse action [" + pLine + "]"); } pFile.close(); return actionMapping; } // loadRaptorActionMapping } // ConfigLoader