From c1b69dfb1297365d35f2ada8690f13f787d38b4f Mon Sep 17 00:00:00 2001 From: pa834y Date: Tue, 26 Mar 2019 14:29:38 -0400 Subject: Enhancement to use the common CryptoUtils Change-Id: I06718526382b424eab991f39a7dac1b5cf4f1b74 Issue-ID: POLICY-1422 Signed-off-by: pa834y --- .../org/onap/portalapp/conf/ExternalAppConfig.java | 209 +++++++++++---------- ONAP-SDK-APP/xacml.admin.properties | 5 +- 2 files changed, 109 insertions(+), 105 deletions(-) (limited to 'ONAP-SDK-APP') diff --git a/ONAP-SDK-APP/src/main/java/org/onap/portalapp/conf/ExternalAppConfig.java b/ONAP-SDK-APP/src/main/java/org/onap/portalapp/conf/ExternalAppConfig.java index 20601724c..7f4f62855 100644 --- a/ONAP-SDK-APP/src/main/java/org/onap/portalapp/conf/ExternalAppConfig.java +++ b/ONAP-SDK-APP/src/main/java/org/onap/portalapp/conf/ExternalAppConfig.java @@ -2,7 +2,7 @@ * ================================================================================ * ONAP Portal SDK * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,11 +17,12 @@ * limitations under the License. * ================================================================================ */ + package org.onap.portalapp.conf; import java.util.ArrayList; import java.util.List; - +import org.onap.policy.utils.PeCryptoUtils; import org.onap.portalapp.login.LoginStrategyImpl; import org.onap.portalapp.scheduler.RegistryAdapter; import org.onap.portalsdk.core.auth.LoginStrategy; @@ -48,125 +49,125 @@ import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; /** - * ONAP Portal SDK sample application. Extends core AppConfig class to - * reuse interceptors, view resolvers and other features defined there. + * ONAP Portal SDK sample application. Extends core AppConfig class to reuse interceptors, view resolvers and other + * features defined there. */ @Configuration @EnableWebMvc @ComponentScan(basePackages = "org.onap") -@PropertySource(value = { "${container.classpath:}/WEB-INF/conf/app/test.properties" }, ignoreResourceNotFound = true) +@PropertySource(value = {"${container.classpath:}/WEB-INF/conf/app/test.properties"}, ignoreResourceNotFound = true) @Profile("src") @EnableAsync @EnableScheduling public class ExternalAppConfig extends AppConfig implements Configurable { - EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(ExternalAppConfig.class); - - private RegistryAdapter schedulerRegistryAdapter; + EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(ExternalAppConfig.class); + + private RegistryAdapter schedulerRegistryAdapter; - @Configuration - @Import(SystemProperties.class) - static class InnerConfiguration { - } + @Configuration + @Import(SystemProperties.class) + static class InnerConfiguration { + } - /** - * @see org.onap.portalsdk.core.conf.AppConfig#viewResolver() - */ - @Override - public ViewResolver viewResolver() { - return super.viewResolver(); - } + /** + * @see org.onap.portalsdk.core.conf.AppConfig#viewResolver() + */ + @Override + public ViewResolver viewResolver() { + return super.viewResolver(); + } - /** - * @see org.onap.portalsdk.core.conf.AppConfig#addResourceHandlers(ResourceHandlerRegistry) - * - * @param registry - */ - @Override - public void addResourceHandlers(ResourceHandlerRegistry registry) { - super.addResourceHandlers(registry); - } + /** + * @see org.onap.portalsdk.core.conf.AppConfig#addResourceHandlers(ResourceHandlerRegistry) + * + * @param registry + */ + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + super.addResourceHandlers(registry); + } - /** - * @see org.onap.portalsdk.core.conf.AppConfig#dataAccessService() - */ - @Override - public DataAccessService dataAccessService() { - // Echo the JDBC URL to assist developers when starting the app. - System.out.println("ExternalAppConfig: " + SystemProperties.DB_CONNECTIONURL + " is " - + SystemProperties.getProperty(SystemProperties.DB_CONNECTIONURL)); - return super.dataAccessService(); - } + /** + * @see org.onap.portalsdk.core.conf.AppConfig#dataAccessService() + */ + @Override + public DataAccessService dataAccessService() { + // Echo the JDBC URL to assist developers when starting the app. + System.out.println("ExternalAppConfig: " + SystemProperties.DB_CONNECTIONURL + " is " + + SystemProperties.getProperty(SystemProperties.DB_CONNECTIONURL)); + System.setProperty(SystemProperties.DB_PASSWORD, + PeCryptoUtils.decrypt(SystemProperties.getProperty(SystemProperties.DB_PASSWORD))); + return super.dataAccessService(); + } - /** - * Creates a new list with a single entry that is the external app - * definitions.xml path. - * - * @return List of String, size 1 - */ - @Override - public List addTileDefinitions() { - List definitions = new ArrayList<>(); - definitions.add("/WEB-INF/defs/definitions.xml"); - return definitions; - } + /** + * Creates a new list with a single entry that is the external app definitions.xml path. + * + * @return List of String, size 1 + */ + @Override + public List addTileDefinitions() { + List definitions = new ArrayList<>(); + definitions.add("/WEB-INF/defs/definitions.xml"); + return definitions; + } - /** - * Adds request interceptors to the specified registry by calling - * {@link AppConfig#addInterceptors(InterceptorRegistry)}, but excludes - * certain paths from the session timeout interceptor. - */ - @Override - public void addInterceptors(InterceptorRegistry registry) { - super.setExcludeUrlPathsForSessionTimeout("/login_external", "*/login_external.htm", "login", "/login.htm", - "/api*", "/single_signon.htm", "/single_signon"); - super.addInterceptors(registry); - } + /** + * Adds request interceptors to the specified registry by calling + * {@link AppConfig#addInterceptors(InterceptorRegistry)}, but excludes certain paths from the session timeout + * interceptor. + */ + @Override + public void addInterceptors(InterceptorRegistry registry) { + super.setExcludeUrlPathsForSessionTimeout("/login_external", "*/login_external.htm", "login", "/login.htm", + "/api*", "/single_signon.htm", "/single_signon"); + super.addInterceptors(registry); + } - /** - * Creates and returns a new instance of a {@link CacheManager} class. - * - * @return New instance of {@link CacheManager} - */ - @Bean - public AbstractCacheManager cacheManager() { - return new CacheManager(); - } + /** + * Creates and returns a new instance of a {@link CacheManager} class. + * + * @return New instance of {@link CacheManager} + */ + @Bean + public AbstractCacheManager cacheManager() { + return new CacheManager(); + } - /** - * Creates and returns a new instance of a {@link SchedulerFactoryBean} and - * populates it with triggers. - * - * @return New instance of {@link SchedulerFactoryBean} - * @throws Exception - */ - // @Bean // ANNOTATION COMMENTED OUT - // APPLICATIONS REQUIRING QUARTZ SHOULD RESTORE ANNOTATION - public SchedulerFactoryBean schedulerFactoryBean(){ - SchedulerFactoryBean scheduler = new SchedulerFactoryBean(); - scheduler.setTriggers(schedulerRegistryAdapter.getTriggers()); - scheduler.setConfigLocation(appApplicationContext.getResource("WEB-INF/conf/quartz.properties")); - try { - scheduler.setDataSource(dataSource()); - } catch (Exception e) { - logger.error("Exception occured While Setting DataSource for schedulerfactorybean"+e); - return null; - } - return scheduler; - } + /** + * Creates and returns a new instance of a {@link SchedulerFactoryBean} and populates it with triggers. + * + * @return New instance of {@link SchedulerFactoryBean} + * @throws Exception + */ + // @Bean // ANNOTATION COMMENTED OUT + // APPLICATIONS REQUIRING QUARTZ SHOULD RESTORE ANNOTATION + public SchedulerFactoryBean schedulerFactoryBean() { + SchedulerFactoryBean scheduler = new SchedulerFactoryBean(); + scheduler.setTriggers(schedulerRegistryAdapter.getTriggers()); + scheduler.setConfigLocation(appApplicationContext.getResource("WEB-INF/conf/quartz.properties")); + try { + scheduler.setDataSource(dataSource()); + } catch (Exception e) { + logger.error("Exception occured While Setting DataSource for schedulerfactorybean" + e); + return null; + } + return scheduler; + } - /** - * Sets the scheduler registry adapter. - * - * @param schedulerRegistryAdapter - */ - @Autowired - public void setSchedulerRegistryAdapter(final RegistryAdapter schedulerRegistryAdapter) { - this.schedulerRegistryAdapter = schedulerRegistryAdapter; - } + /** + * Sets the scheduler registry adapter. + * + * @param schedulerRegistryAdapter + */ + @Autowired + public void setSchedulerRegistryAdapter(final RegistryAdapter schedulerRegistryAdapter) { + this.schedulerRegistryAdapter = schedulerRegistryAdapter; + } - @Bean - public LoginStrategy loginStrategy() { - return new LoginStrategyImpl(); - } + @Bean + public LoginStrategy loginStrategy() { + return new LoginStrategyImpl(); + } } diff --git a/ONAP-SDK-APP/xacml.admin.properties b/ONAP-SDK-APP/xacml.admin.properties index 8e6852805..0a7f3882c 100644 --- a/ONAP-SDK-APP/xacml.admin.properties +++ b/ONAP-SDK-APP/xacml.admin.properties @@ -2,7 +2,7 @@ # ============LICENSE_START======================================================= # ONAP Policy Engine # ================================================================================ -# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. +# Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -205,3 +205,6 @@ xacml.policy.msPolicyName=http://org.onap.policy #Size limit (in bytes) for file uploads file.size.limit=30000000 + +# AES key for password encryption in config files +#org.onap.policy.encryption.aes.key=12345678901234567890123456789012 \ No newline at end of file -- cgit 1.2.3-korg