Non-functional changes to silence Sonar
[portal/ric-dashboard.git] / webapp-backend / src / main / java / org / oransc / ric / portal / dashboard / config / A1MediatorConfiguration.java
index 5ea4b05..0101fc9 100644 (file)
@@ -30,8 +30,8 @@ import org.springframework.beans.factory.annotation.Value;
 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;
+import org.springframework.web.util.DefaultUriBuilderFactory;
 
 /**
  * Creates an A1 mediator client as a bean to be managed by the Spring
@@ -44,22 +44,25 @@ public class A1MediatorConfiguration {
        private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
        // Populated by the autowired constructor
-       private final String a1medBasepath;
+       private final String a1medUrl;
 
        @Autowired
-       public A1MediatorConfiguration(@Value("${a1med.basepath}") final String a1medBasepath) {
-               Assert.notNull(a1medBasepath, "base path must not be null");
-               logger.info("Configuring A1 Mediator at base path {}", a1medBasepath);
-               this.a1medBasepath = a1medBasepath;
+       public A1MediatorConfiguration(@Value("${a1med.url.prefix}") final String urlPrefix, //
+                       @Value("${a1med.url.suffix}") final String urlSuffix) {
+               logger.debug("ctor prefix '{}' suffix '{}'", urlPrefix, urlSuffix);
+               a1medUrl = new DefaultUriBuilderFactory(urlPrefix.trim()).builder().path(urlSuffix.trim()).build().normalize()
+                               .toString();
+               logger.info("Configuring A1 Mediator at URL {}", a1medUrl);
        }
 
        private ApiClient apiClient() {
                ApiClient apiClient = new ApiClient(new RestTemplate());
-               apiClient.setBasePath(a1medBasepath);
+               apiClient.setBasePath(a1medUrl);
                return apiClient;
        }
 
        @Bean
+       // The bean (method) name must be globally unique
        public A1MediatorApi a1MediatorApi() {
                return new A1MediatorApi(apiClient());
        }