* ========================LICENSE_START=================================
* O-RAN-SC
* %%
- * Copyright (C) 2019 AT&T Intellectual Property and Nokia
+ * Copyright (C) 2019 AT&T Intellectual Property
* %%
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
import java.lang.invoke.MethodHandles;
-import org.oransc.ric.e2mgr.client.api.HealthCheckApi;
-import org.oransc.ric.e2mgr.client.api.NodebApi;
-import org.oransc.ric.e2mgr.client.invoker.ApiClient;
+import org.oransc.ric.portal.dashboard.model.RicInstanceList;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
-import org.springframework.util.Assert;
-import org.springframework.web.client.RestTemplate;
/**
- * Creates an E2 manager client as a bean to be managed by the Spring container.
+ * Creates an E2 manager client builder as a bean to be managed by the Spring
+ * container.
*/
@Configuration
-@Profile("!mock")
+@Profile("!test")
public class E2ManagerConfiguration {
private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
// Populated by the autowired constructor
- private final String e2mgrBasepath;
+ private final String urlSuffix;
+ private final RicInstanceList instanceConfig;
@Autowired
- public E2ManagerConfiguration(@Value("${e2mgr.basepath}") final String e2mgrBasepath) {
- Assert.notNull(e2mgrBasepath, "base path must not be null");
- logger.info("Configuring E2 Manager at base path {}", e2mgrBasepath);
- this.e2mgrBasepath = e2mgrBasepath;
- }
-
- private ApiClient apiClient() {
- ApiClient apiClient = new ApiClient(new RestTemplate());
- apiClient.setBasePath(e2mgrBasepath);
- return apiClient;
- }
-
- @Bean
- public HealthCheckApi e2HealthCheckApi() {
- return new HealthCheckApi(apiClient());
+ public E2ManagerConfiguration(@Value("${e2mgr.url.suffix}") final String urlSuffix,
+ final RicInstanceList instanceConfig) {
+ logger.info("ctor: URL suffix {}", urlSuffix);
+ this.urlSuffix = urlSuffix;
+ this.instanceConfig = instanceConfig;
}
@Bean
- public NodebApi e2NodebApi() {
- return new NodebApi(apiClient());
+ // The bean (method) name must be globally unique
+ public E2ManagerApiBuilder e2ManagerApiBuilder() {
+ return new E2ManagerApiBuilder(instanceConfig, urlSuffix);
}
}