package org.apereo.cas.config; import org.apereo.cas.configuration.CasConfigurationProperties; import org.apereo.cas.util.CasVersion; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Configuration; import org.springframework.core.env.ConfigurableEnvironment; import org.springframework.core.env.PropertiesPropertySource; import javax.annotation.PostConstruct; import java.util.Properties; /** * This is {@link CasPropertiesConfiguration}. * * @author Misagh Moayyed * @since 5.0.0 */ @Configuration("casPropertiesConfiguration") @EnableConfigurationProperties(CasConfigurationProperties.class) public class CasPropertiesConfiguration { @Autowired private ConfigurableEnvironment environment; /** * Init. */ @PostConstruct public void init() { final Properties sysProps = System.getProperties(); final Properties properties = new Properties(); if (CasVersion.getVersion() != null) { properties.put("info.cas.version", CasVersion.getVersion()); } properties.put("info.cas.date", CasVersion.getDateTime()); properties.put("info.cas.java.home", sysProps.get("java.home")); properties.put("info.cas.java.vendor", sysProps.get("java.vendor")); properties.put("info.cas.java.version", sysProps.get("java.version")); final PropertiesPropertySource src = new PropertiesPropertySource(CasVersion.class.getName(), properties); this.environment.getPropertySources().addFirst(src); } }