1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.openehealth.ipf.boot.hl7v3;
18
19 import org.openehealth.ipf.boot.atna.IpfAtnaAutoConfiguration;
20 import org.openehealth.ipf.commons.ihe.hl7v3.storage.Hl7v3ContinuationStorage;
21 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
22 import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
23 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
24 import org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate;
25 import org.springframework.boot.context.properties.EnableConfigurationProperties;
26 import org.springframework.cache.CacheManager;
27 import org.springframework.context.annotation.Bean;
28 import org.springframework.context.annotation.Configuration;
29
30
31
32
33 @Configuration
34 @AutoConfigureAfter(IpfAtnaAutoConfiguration.class)
35 @EnableConfigurationProperties(IpfHl7v3ConfigurationProperties.class)
36 public class IpfHl7v3AutoConfiguration {
37
38
39
40 @Bean
41 @ConditionalOnMissingBean(Hl7v3ContinuationStorage.class)
42 @ConditionalOnSingleCandidate(CacheManager.class)
43 @ConditionalOnProperty("ipf.hl7v3.caching")
44 public Hl7v3ContinuationStorage hl7v3ContinuationStorage(CacheManager cacheManager) {
45 return new CachingHl7v3ContinuationStorage(cacheManager);
46 }
47
48 }