aboutsummaryrefslogtreecommitdiffstats
path: root/src/main
diff options
context:
space:
mode:
authorMichal Banka <michal.banka@nokia.com>2020-09-14 23:04:37 +0200
committerMichal Banka <michal.banka@nokia.com>2020-09-15 11:26:56 +0200
commit80a8297a4b84eb33a0f77e9a56283e3c8fb5f929 (patch)
treefc41e3f0c6d95500feab2c764a5bd91dc9d28918 /src/main
parent9872f0081fa4aec5e41b89fc9a5fe3d4cd19d5c9 (diff)
Fix bug throwing exception when first event is collected
- Problem: When running app from jar (e.g. in docker env) ClassLoader badly interprete classpath as root of app jar, while resources are located in jar under BOOT-INF/classes/ in Spring Boot apps. - Solution: Moved file from resources to etc directory so ClassLoader isn't needed. Filepath of api_version_description.json which previously was badly resolved now is configured in collector.properties. Change-Id: I690394cc59e16c95f5902045efc3fdaf13bf9112 Signed-off-by: Michal Banka <michal.banka@nokia.com> Issue-ID: DCAEGEN2-2426
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/onap/dcae/ApplicationSettings.java4
-rw-r--r--src/main/java/org/onap/dcae/common/HeaderUtils.java40
-rw-r--r--src/main/java/org/onap/dcae/restapi/VesRestController.java2
-rw-r--r--src/main/resources/api_version_config.json7
4 files changed, 22 insertions, 31 deletions
diff --git a/src/main/java/org/onap/dcae/ApplicationSettings.java b/src/main/java/org/onap/dcae/ApplicationSettings.java
index 7d5c7db2..9462a380 100644
--- a/src/main/java/org/onap/dcae/ApplicationSettings.java
+++ b/src/main/java/org/onap/dcae/ApplicationSettings.java
@@ -196,6 +196,10 @@ public class ApplicationSettings {
return eventTransformations;
}
+ public String getApiVersionDescriptionFilepath() {
+ return properties.getString("collector.description.api.version.location", "etc/api_version_description.json");
+ }
+
private void loadPropertiesFromFile() {
try {
properties.load(configurationFileLocation);
diff --git a/src/main/java/org/onap/dcae/common/HeaderUtils.java b/src/main/java/org/onap/dcae/common/HeaderUtils.java
index c046fb4c..81277d07 100644
--- a/src/main/java/org/onap/dcae/common/HeaderUtils.java
+++ b/src/main/java/org/onap/dcae/common/HeaderUtils.java
@@ -3,7 +3,7 @@
* PROJECT
* ================================================================================
* Copyright (C) 2019 VMware, Inc. All rights reserved.
- * Copyright (C) 2019 Nokia. All rights reserved.s
+ * Copyright (C) 2019-2020 Nokia. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -23,39 +23,33 @@ package org.onap.dcae.common;
import java.util.Collections;
import java.util.Map;
-import java.util.Objects;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import org.springframework.http.HttpHeaders;
import org.springframework.stereotype.Component;
/**
- * @author nil
+ * A class with methods used in HTTP header management.
*/
@Component
public class HeaderUtils {
- public String getApiVerFilePath(String fileName) {
- return Objects.requireNonNull(ClassLoader.getSystemClassLoader().getResource(fileName))
- .getPath();
- }
+ public String getRestApiIdentify(String uri) {
+ return isBatchRequest(uri) ? "eventListener_eventBatch" : "eventListener";
+ }
- public String getRestApiIdentify(String uri) {
- return isBatchRequest(uri) ? "eventListener_eventBatch" : "eventListener";
- }
+ public Map<String, String> extractHeaders(HttpServletRequest request) {
+ return Collections.list(request.getHeaderNames()).stream()
+ .collect(Collectors.toMap(h -> h, request::getHeader));
+ }
- public Map<String, String> extractHeaders(HttpServletRequest request) {
- return Collections.list(request.getHeaderNames()).stream()
- .collect(Collectors.toMap(h -> h, request::getHeader));
- }
+ public HttpHeaders fillHeaders(Map<String, String> headers) {
+ HttpHeaders httpHeaders = new HttpHeaders();
+ httpHeaders.setAll(headers);
+ return httpHeaders;
+ }
- public HttpHeaders fillHeaders(Map<String, String> headers) {
- HttpHeaders httpHeaders = new HttpHeaders();
- httpHeaders.setAll(headers);
- return httpHeaders;
- }
-
- private boolean isBatchRequest(String request) {
- return request.contains("eventBatch");
- }
+ private boolean isBatchRequest(String request) {
+ return request.contains("eventBatch");
+ }
}
diff --git a/src/main/java/org/onap/dcae/restapi/VesRestController.java b/src/main/java/org/onap/dcae/restapi/VesRestController.java
index de0392e6..0a5930f6 100644
--- a/src/main/java/org/onap/dcae/restapi/VesRestController.java
+++ b/src/main/java/org/onap/dcae/restapi/VesRestController.java
@@ -137,7 +137,7 @@ public class VesRestController {
private CustomHeaderUtils createHeaderUtils(String version, HttpServletRequest request) {
return new CustomHeaderUtils(version.toLowerCase().replace("v", ""),
headerUtils.extractHeaders(request),
- headerUtils.getApiVerFilePath("api_version_config.json"),
+ settings.getApiVersionDescriptionFilepath(),
headerUtils.getRestApiIdentify(request.getRequestURI()));
}
diff --git a/src/main/resources/api_version_config.json b/src/main/resources/api_version_config.json
deleted file mode 100644
index 23f585f9..00000000
--- a/src/main/resources/api_version_config.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "apiVersion":
- {
- "eventListener": ["4.7.2","5.4.1","7.0.1"],
- "eventListener_eventBatch": ["4.7.2","5.4.1","7.0.1"]
- }
-}