import org.onap.dcae.analytics.tca.core.service.TcaAaiEnrichmentContext;
import org.onap.dcae.analytics.tca.core.service.TcaAaiEnrichmentService;
import org.onap.dcae.analytics.tca.web.TcaAppProperties;
+import org.onap.dcae.analytics.tca.web.util.function.TcaAppPropsToAaiRestClientPrefsFunction;
+import org.onap.dcae.analytics.web.http.HttpClientPreferencesCustomizer;
+import org.springframework.boot.web.client.RestTemplateBuilder;
+import org.springframework.web.client.RestTemplate;
/**
* @author Rajiv Singla
public class TcaAaiEnrichmentContextImpl implements TcaAaiEnrichmentContext {
private final TcaAppProperties tcaAppProperties;
- private final TcaAaiEnrichmentService tcaAaiEnrichmentService;
+ private final RestTemplateBuilder restTemplateBuilder;
public TcaAaiEnrichmentContextImpl(final TcaAppProperties tcaAppProperties,
- final TcaAaiEnrichmentService tcaAaiEnrichmentService) {
+ final RestTemplateBuilder restTemplateBuilder) {
this.tcaAppProperties = tcaAppProperties;
- this.tcaAaiEnrichmentService = tcaAaiEnrichmentService;
+ this.restTemplateBuilder = restTemplateBuilder;
}
-
@Override
public boolean isAaiEnrichmentEnabled() {
return tcaAppProperties.getTca().getAai().getEnableEnrichment();
@Override
public TcaAaiEnrichmentService getAaiEnrichmentService() {
- return tcaAaiEnrichmentService;
+ TcaAaiRestClientPreferences aaiRestClientPreferences = new TcaAppPropsToAaiRestClientPrefsFunction()
+ .apply(tcaAppProperties);
+ if (aaiRestClientPreferences == null) {
+ return null;
+ }
+ RestTemplate aaiRestTemplate = restTemplateBuilder
+ .additionalCustomizers(new HttpClientPreferencesCustomizer<>(aaiRestClientPreferences)).build();
+ return new TcaAaiEnrichmentServiceImpl(tcaAppProperties, aaiRestTemplate);
}
}