override DefaultCasConfigurationPropertiesSourceLocator

26 views
Skip to first unread message

Giuseppe Infurna

unread,
Dec 28, 2018, 4:22:00 AM12/28/18
to CAS Community
I need to load MyCasConfigurationPropertiesSourceLocator instead of DefaultCasConfigurationPropertiesSourceLocator.
I tried to add a "MyCasCoreBootstrapStandaloneConfiguration" class add the annotation @AutoConfigureBefore (DefaultCasConfigurationPropertiesSourceLocator.class) and add it to spring.factories, but not work.
In the log, I always read DefaultCasConfigurationPropertiesSourceLocator

any suggestions?


Regards

Giuseppe

Andy Ng

unread,
Jan 2, 2019, 9:23:53 AM1/2/19
to CAS Community
Try the following:


2. spring.factories (src/main/resource/META-INF/spring-factories)
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
mydomain.com.example.MyCasCoreBootstrapStandaloneConfiguration

3. MyCasCoreBootstrapStandaloneLocatorConfiguration.java (src/main/java/yourdomain/MyCasCoreBootstrapStandaloneLocatorConfiguration.java)
@Configuration("myCasCoreBootstrapStandaloneConfiguration ")
@EnableConfigurationProperties(CasConfigurationProperties.class)
@Slf4j
public class MyCasCoreBootstrapStandaloneLocatorConfiguration implements CasWebflowExecutionPlanConfigurer {

@Autowired
@Qualifier("configurationPropertiesEnvironmentManager")
private ObjectProvider<CasConfigurationPropertiesEnvironmentManager> configurationPropertiesEnvironmentManager;




@Bean @Autowired @Qualifier("configurationPropertiesLoaderFactory")
public ConfigurationPropertiesLoaderFactory configurationPropertiesLoaderFactory;

@ConditionalOnMissingBean(name = "casConfigurationPropertiesSourceLocator")
@Bean
public CasConfigurationPropertiesSourceLocator casConfigurationPropertiesSourceLocator() {
return new MyCasConfigurationPropertiesSourceLocator(
configurationPropertiesEnvironmentManager.getIfAvailable(),
configurationPropertiesLoaderFactory);
}


}

4. MyCasConfigurationPropertiesSourceLocator.java (src/main/java/yourdomain/MyCasConfigurationPropertiesSourceLocator.java)

Although the above is not tested, I do use the above method to load my other customized java classes, so the above should be able to override the default
See if that works for you 

Cheers!
- Andy

Ray Bon

unread,
Jan 2, 2019, 11:20:03 AM1/2/19
to cas-...@apereo.org
Giuseppe,

I also have this annotation:

@EnableConfigurationProperties({CasConfigurationProperties.class, UvicConfigurationProperties.class})

Ray
-- 
Ray Bon
Programmer analyst
Development Services, University Systems
2507218831 | CLE 019 | rb...@uvic.ca

Giuseppe Infurna

unread,
Jan 2, 2019, 11:28:41 AM1/2/19
to CAS Community
thank you Andy
I solved by removing the cas-server-core-configuration library from the pom.xml and following your instructions 

Regards

Giuseppe
Reply all
Reply to author
Forward
0 new messages