diff options
author | TATTAVARADA <statta@research.att.com> | 2017-04-27 07:53:18 -0400 |
---|---|---|
committer | st782s <statta@research.att.com> | 2017-04-27 08:31:27 -0400 |
commit | 6beb446925c967aca92f5513adf36c5db77c00d6 (patch) | |
tree | 9392057ed0739de2445c5b2a2a8bee6dcdacbcf7 /ecomp-sdk/quantum/src/main/java/org/openecomp/portalsdk/core/conf/AppConfig.java | |
parent | 246b225194e3e8dc1926294de591a94fd9787fa7 (diff) |
[PORTAL-7] Rebase
This rebasing includes common libraries and common overlays projects
abstraction of components
Change-Id: Ia1efa4deacdc5701e6205104ac021a6c80ed60ba
Signed-off-by: st782s <statta@research.att.com>
Diffstat (limited to 'ecomp-sdk/quantum/src/main/java/org/openecomp/portalsdk/core/conf/AppConfig.java')
-rw-r--r-- | ecomp-sdk/quantum/src/main/java/org/openecomp/portalsdk/core/conf/AppConfig.java | 301 |
1 files changed, 0 insertions, 301 deletions
diff --git a/ecomp-sdk/quantum/src/main/java/org/openecomp/portalsdk/core/conf/AppConfig.java b/ecomp-sdk/quantum/src/main/java/org/openecomp/portalsdk/core/conf/AppConfig.java deleted file mode 100644 index 3a4753e3..00000000 --- a/ecomp-sdk/quantum/src/main/java/org/openecomp/portalsdk/core/conf/AppConfig.java +++ /dev/null @@ -1,301 +0,0 @@ -/*- - * ================================================================================ - * eCOMP Portal SDK - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ================================================================================ - */ -package org.openecomp.portalsdk.core.conf; - -import java.util.ArrayList; -import java.util.List; - -import javax.sql.DataSource; - -import org.openecomp.portalsdk.core.interceptor.ResourceInterceptor; -import org.openecomp.portalsdk.core.interceptor.SessionTimeoutInterceptor; -import org.openecomp.portalsdk.core.logging.format.AlarmSeverityEnum; -import org.openecomp.portalsdk.core.logging.format.AppMessagesEnum; -import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate; -import org.openecomp.portalsdk.core.menu.MenuBuilder; -import org.openecomp.portalsdk.core.service.DataAccessService; -import org.openecomp.portalsdk.core.service.DataAccessServiceImpl; -import org.openecomp.portalsdk.core.util.CipherUtil; -import org.openecomp.portalsdk.core.util.SystemProperties; -import org.openecomp.portalsdk.core.web.support.AppUtils; -import org.openecomp.portalsdk.core.web.support.UserUtils; -import org.springframework.beans.BeansException; -import org.springframework.context.ApplicationContext; -import org.springframework.context.ApplicationContextAware; -import org.springframework.context.annotation.Bean; -import org.springframework.web.servlet.ViewResolver; -import org.springframework.web.servlet.config.annotation.InterceptorRegistry; -import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; -import org.springframework.web.servlet.view.InternalResourceViewResolver; -import org.springframework.web.servlet.view.JstlView; -import org.springframework.web.servlet.view.UrlBasedViewResolver; -import org.springframework.web.servlet.view.tiles3.TilesConfigurer; -import org.springframework.web.servlet.view.tiles3.TilesView; - -import com.mchange.v2.c3p0.ComboPooledDataSource; - -/** - * Configures Spring features in the ECOMP Portal SDK including request - * interceptors and view resolvers. Application should subclass and override - * methods as needed. - */ -public class AppConfig extends WebMvcConfigurerAdapter implements Configurable, ApplicationContextAware { - - EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(AppConfig.class); - - private final List<String> tileDefinitions = new ArrayList<String>(); - protected ApplicationContext appApplicationContext = null; - - public AppConfig() { - //loads all default fields and marks logging - //has been started for each log file type. - initGlobalLocalContext(); - } - - /** - * Creates and returns a new instance of a secondary (order=2) - * {@link ViewResolver} that finds files by adding prefix "/WEB-INF/jsp/" - * and suffix ".jsp" to the base view name. - * - * @return New instance of {@link ViewResolver}. - */ - @Bean - public ViewResolver viewResolver() { - InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); - viewResolver.setViewClass(JstlView.class); - viewResolver.setPrefix("/WEB-INF/jsp/"); - viewResolver.setSuffix(".jsp"); - viewResolver.setOrder(2); - return viewResolver; - } - - /** - * Loads all the default logging fields into the - * global MDC context and marks each log file type - * that logging has been started. - */ - private void initGlobalLocalContext() { - logger.init(); - } - - /* - * Any requests from the url pattern /static/**, Spring will look for the - * resources from the /static/ Same as <mvc:resources mapping="/static/**" - * location="/static/"/> in xml - */ - @Override - public void addResourceHandlers(ResourceHandlerRegistry registry) { - // registry.addResourceHandler("/static/**").addResourceLocations("/static/"); - registry.addResourceHandler("/**").addResourceLocations("/"); - } - - /** - * Creates and returns a new instance of a {@link DataAccessService} class. - * - * @return New instance of {@link DataAccessService}. - */ - @Bean - public DataAccessService dataAccessService() { - return new DataAccessServiceImpl(); - } - - /** - * Creates and returns a new instance of a {@link SystemProperties} class. - * - * @return New instance of {@link SystemProperties}. - */ - @Bean - public SystemProperties systemProperties() { - return new SystemProperties(); - } - - /** - * Creates and returns a new instance of a {@link MenuBuilder} class. - * - * @return New instance of {@link MenuBuilder}. - */ - @Bean - public MenuBuilder menuBuilder() { - return new MenuBuilder(); - } - - /** - * Creates and returns a new instance of a {@link UserUtils} class. - * - * @return New instance of {@link UserUtils}. - */ - @Bean - public UserUtils userUtil() { - return new UserUtils(); - } - - /** - * Creates and returns a new instance of an {@link AppUtils} class. - * - * @return New instance of {@link AppUtils}. - */ - @Bean - public AppUtils appUtils() { - return new AppUtils(); - } - - /** - * Creates and returns a new instance of a {@link TilesConfigurer} class. - * - * @return New instance of {@link TilesConfigurer}. - */ - @Bean - public TilesConfigurer tilesConfigurer() { - TilesConfigurer tilesConfigurer = new TilesConfigurer(); - tilesConfigurer.setDefinitions(tileDefinitions()); - tilesConfigurer.setCheckRefresh(true); - return tilesConfigurer; - } - - /** - * - * Application Data Source - * - * @return DataSource Object - */ - - @Bean - public DataSource dataSource() throws Exception { - systemProperties(); - ComboPooledDataSource dataSource = new ComboPooledDataSource(); - try { - dataSource.setDriverClass(SystemProperties.getProperty(SystemProperties.DB_DRIVER)); - dataSource.setJdbcUrl(SystemProperties.getProperty(SystemProperties.DB_CONNECTIONURL)); - dataSource.setUser(SystemProperties.getProperty(SystemProperties.DB_USERNAME)); - // dataSource.setPassword(SystemProperties.getProperty(SystemProperties.DB_PASSWOR)); - String password = SystemProperties.getProperty(SystemProperties.DB_PASSWOR); - if (SystemProperties.containsProperty(SystemProperties.DB_ENCRYPT_FLAG)) { - String encryptFlag = SystemProperties.getProperty(SystemProperties.DB_ENCRYPT_FLAG); - if (encryptFlag != null && encryptFlag.equalsIgnoreCase("true")) { - password = CipherUtil.decrypt(password); - } - } - dataSource.setPassword(password); - dataSource - .setMinPoolSize(Integer.parseInt(SystemProperties.getProperty(SystemProperties.DB_MIN_POOL_SIZE))); - dataSource - .setMaxPoolSize(Integer.parseInt(SystemProperties.getProperty(SystemProperties.DB_MAX_POOL_SIZE))); - dataSource.setIdleConnectionTestPeriod( - Integer.parseInt(SystemProperties.getProperty(SystemProperties.IDLE_CONNECTION_TEST_PERIOD))); - dataSource.setTestConnectionOnCheckout(true); - dataSource.setPreferredTestQuery("SELECT 1"); - } catch (Exception e) { - logger.error(EELFLoggerDelegate.errorLogger, "Error initializing database, verify database settings in properties file: " - + UserUtils.getStackTrace(e),AlarmSeverityEnum.CRITICAL); - logger.error(EELFLoggerDelegate.debugLogger, "Error initializing database, verify database settings in properties file: " - + UserUtils.getStackTrace(e),AlarmSeverityEnum.CRITICAL); - // Raise an alarm that opening a connection to the database is - // failed. - logger.logEcompError(AppMessagesEnum.BeDaoSystemError); - throw e; - } - return dataSource; - } - - /* - * TODO: Check whether it is appropriate to extend the list of tile - * definitions at every invocation. - */ - protected String[] tileDefinitions() { - tileDefinitions.add("/WEB-INF/fusion/defs/definitions.xml"); - tileDefinitions.addAll(addTileDefinitions()); - - return tileDefinitions.toArray(new String[0]); - } - - /** - * Creates and returns a new empty list. This method should be overridden by - * child classes. - * - * @return An empty list. - */ - public List<String> addTileDefinitions() { - return new ArrayList<String>(); - } - - /** - * Creates and returns a new instance of a primary (order=1) - * {@link UrlBasedViewResolver} that finds files using the contents of - * definitions.xml files. - * - * @return New instance of {@link UrlBasedViewResolver} - */ - @Bean - public UrlBasedViewResolver tileViewResolver() { - UrlBasedViewResolver viewResolver = new UrlBasedViewResolver(); - viewResolver.setViewClass(TilesView.class); - viewResolver.setOrder(1); - return viewResolver; - } - - /** - * Adds new instances of the following interceptors to the specified - * interceptor registry: {@link SessionTimeoutInterceptor}, - * {@link ResourceInterceptor} - */ - @Override - public void addInterceptors(InterceptorRegistry registry) { - registry.addInterceptor(new SessionTimeoutInterceptor()) - .excludePathPatterns(getExcludeUrlPathsForSessionTimeout()); - registry.addInterceptor(resourceInterceptor()); - } - - /** - * Creates and returns a new instance of a {@link ResourceInterceptor}. - * - * @return New instance of {@link ResourceInterceptor} - */ - @Bean - public ResourceInterceptor resourceInterceptor() { - return new ResourceInterceptor(); - } - - private String[] excludeUrlPathsForSessionTimeout = {}; - - /** - * Gets the array of Strings that are paths excluded for session timeout. - * - * @return Array of String - */ - public String[] getExcludeUrlPathsForSessionTimeout() { - return excludeUrlPathsForSessionTimeout; - } - - /** - * Sets the array of Strings that are paths excluded for session timeout. - */ - public void setExcludeUrlPathsForSessionTimeout(final String... excludeUrlPathsForSessionTimeout) { - this.excludeUrlPathsForSessionTimeout = excludeUrlPathsForSessionTimeout; - } - - - @Override - public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { - appApplicationContext = applicationContext; - - } - -} |