001 package org.kuali.common.deploy.spring;
002
003 import org.kuali.common.deploy.DefaultDeployService;
004 import org.kuali.common.deploy.DeployContext;
005 import org.kuali.common.deploy.DeployExecutable;
006 import org.kuali.common.deploy.DeployService;
007 import org.kuali.common.deploy.appserver.ApplicationServer;
008 import org.kuali.common.deploy.appserver.spring.TomcatConfig;
009 import org.kuali.common.deploy.monitoring.Monitoring;
010 import org.kuali.common.deploy.monitoring.spring.AppDynamicsConfig;
011 import org.kuali.common.jdbc.reset.JdbcResetConfig;
012 import org.kuali.common.util.execute.Executable;
013 import org.kuali.common.util.spring.env.EnvironmentService;
014 import org.kuali.common.util.spring.service.SpringServiceConfig;
015 import org.springframework.beans.factory.annotation.Autowired;
016 import org.springframework.context.annotation.Bean;
017 import org.springframework.context.annotation.Configuration;
018 import org.springframework.context.annotation.Import;
019
020 @Configuration
021 @Import({ SpringServiceConfig.class, AppDynamicsConfig.class, TomcatConfig.class, DefaultDeployContextConfig.class, DefaultSysAdminConfig.class })
022 public class DefaultDeployConfig implements DeploymentConfig {
023
024 private static final String SKIP_KEY = "deploy.skip";
025
026 @Autowired
027 JdbcResetConfig jdbcResetConfig;
028
029 @Autowired
030 EnvironmentService env;
031
032 @Autowired
033 SysAdminConfig sysAdminConfig;
034
035 @Autowired
036 Monitoring monitoring;
037
038 @Autowired
039 ApplicationServer appServer;
040
041 @Autowired
042 DeployContext context;
043
044 @Override
045 @Bean
046 public DeployExecutable deployExecutable() {
047 boolean skip = env.getBoolean(SKIP_KEY, false);
048 Executable databaseResetExec = jdbcResetConfig.jdbcResetExecutable();
049 Executable sysAdmin = sysAdminConfig.sysAdminExecutable();
050 DeployService service = new DefaultDeployService(context, sysAdmin, monitoring, appServer, databaseResetExec);
051 return new DeployExecutable(service, skip);
052 }
053
054 }