aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/main
diff options
context:
space:
mode:
authorIttay Stern <ittay.stern@att.com>2019-07-30 18:01:21 +0300
committerIttay Stern <ittay.stern@att.com>2019-07-31 11:18:30 +0300
commit5efec2c3cfcead17394beb825200e132f827eb31 (patch)
treeb5215b7d76aba6cc6c40ffb6599a46e21cd2b08f /vid-app-common/src/main
parent3b12c6e9b5d2885244b7b1fb6c016ad8999e3cf2 (diff)
Fix /version endpoint
* Modify maven-replacer-plugin to set value in version.json * Configure features.set.filename=onap.features.properties Issue-ID: VID-507 Change-Id: I692ab3e9221118b836ae7249f483b5277a70bf6b Signed-off-by: Ittay Stern <ittay.stern@att.com>
Diffstat (limited to 'vid-app-common/src/main')
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/controller/open/VersionController.java50
-rw-r--r--vid-app-common/src/main/webapp/WEB-INF/conf/features.properties46
-rw-r--r--vid-app-common/src/main/webapp/WEB-INF/conf/onap.features.properties38
3 files changed, 49 insertions, 85 deletions
diff --git a/vid-app-common/src/main/java/org/onap/vid/controller/open/VersionController.java b/vid-app-common/src/main/java/org/onap/vid/controller/open/VersionController.java
index 0a4d6f5ac..a96cd74eb 100644
--- a/vid-app-common/src/main/java/org/onap/vid/controller/open/VersionController.java
+++ b/vid-app-common/src/main/java/org/onap/vid/controller/open/VersionController.java
@@ -21,63 +21,29 @@
package org.onap.vid.controller.open;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.common.collect.ImmutableMap;
-import org.apache.commons.lang3.StringUtils;
+import javax.inject.Inject;
import org.onap.portalsdk.core.controller.UnRestrictedBaseController;
-import org.onap.portalsdk.core.util.SystemProperties;
+import org.onap.vid.model.VersionAndFeatures;
+import org.onap.vid.services.VersionService;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
-import javax.inject.Inject;
-import javax.servlet.ServletContext;
-import java.io.IOException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import static org.apache.commons.lang3.StringUtils.substringAfterLast;
-
@RestController
@RequestMapping("version")
public class VersionController extends UnRestrictedBaseController {
- private final ServletContext servletContext;
+ private final VersionService versionService;
@Inject
- public VersionController(ServletContext servletContext) {
- this.servletContext = servletContext;
+ public VersionController(VersionService versionService) {
+ this.versionService = versionService;
}
@RequestMapping(method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
- public Map<String,String> getVersionAndFeatures()
- {
- String features = SystemProperties.getProperty("features.set.filename");
- String version;
- try {
- final URL resource = servletContext.getResource("/app/vid/scripts/constants/version.json");
- HashMap<String,String> versionFile = new HashMap <>();
- ObjectMapper mapper = new ObjectMapper();
- versionFile.putAll(mapper.readValue(resource, new TypeReference<HashMap<String, String>>() {}));
- version = versionFile.get("Version");
- } catch (IOException e) {
- version = "Error retrieving build number";
- }
- String majorVersion = getDisplayVersion(features, version);
- return ImmutableMap.of("Features", features, "Build", version, "DisplayVersion", majorVersion);
+ public VersionAndFeatures getVersionAndFeatures() {
+ return versionService.retrieveVersionAndFeatures();
}
- String getDisplayVersion(String features, String build) {
- Matcher matcher = Pattern.compile("([^/]+?)(\\.features|$)").matcher(features);
- final String majorByFeatures = matcher.find() ? matcher.group(1) : features;
-
- final String buildByVersion = StringUtils.defaultIfBlank(substringAfterLast(build, "."), build);
-
- return StringUtils.join(majorByFeatures, ".", buildByVersion);
- }
}
diff --git a/vid-app-common/src/main/webapp/WEB-INF/conf/features.properties b/vid-app-common/src/main/webapp/WEB-INF/conf/features.properties
index fd236c39a..87f1017ed 100644
--- a/vid-app-common/src/main/webapp/WEB-INF/conf/features.properties
+++ b/vid-app-common/src/main/webapp/WEB-INF/conf/features.properties
@@ -4,47 +4,7 @@
# This file is, generally, empty.
# Configure `features.set.filename` in system.properties to use
-# one of the ready-made sets:
-
-# - features.set.filename = ci.features.properties
-# - features.set.filename = ist.features.properties
-# - features.set.filename = e2e.features.properties
-
-FLAG_PNP_INSTANTIATION = true
-
-CREATE_INSTANCE_TEST = false
-FLAG_ADD_MSO_TESTAPI_FIELD = true
-FLAG_UNASSIGN_SERVICE = true
-FLAG_SERVICE_MODEL_CACHE = true
-FLAG_SHOW_ASSIGNMENTS = true
-FLAG_SHOW_VERIFY_SERVICE = false
-FLAG_FABRIC_CONFIGURATION_ASSIGNMENTS = true
-FLAG_PRESENT_PROVIDER_NETWORKS_ASSOCIATIONS = true
-FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST = true
-FLAG_1810_CR_LET_SELECTING_COLLECTOR_TYPE_UNCONDITIONALLY = true
-FLAG_1810_CR_SOFT_DELETE_ALACARTE_VF_MODULE = true
-FLAG_1810_AAI_LOCAL_CACHE = true
-FLAG_EXP_USE_DEFAULT_HOST_NAME_VERIFIER = false
-FLAG_HANDLE_SO_WORKFLOWS = true
-FLAG_CREATE_ERROR_REPORTS = true
-
-# Modern UI (Drawing-Board; View/Edit)
-# - - - - - - - - - - - - - - - - - -
-FLAG_COLLECTION_RESOURCE_SUPPORT = false
-FLAG_ASYNC_INSTANTIATION = false
-FLAG_ASYNC_JOBS = false
-EMPTY_DRAWING_BOARD_TEST = false
-FLAG_NETWORK_TO_ASYNC_INSTANTIATION = false
-FLAG_DUPLICATE_VNF = false
-FLAG_DEFAULT_VNF = false
-FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD = false
-FLAG_SHIFT_VFMODULE_PARAMS_TO_VNF = false
-FLAG_A_LA_CARTE_AUDIT_INFO = false
-FLAG_5G_IN_NEW_INSTANTIATION_UI = false
-FLAG_ASYNC_ALACARTE_VNF = false
-FLAG_ASYNC_ALACARTE_VFMODULE = false
-FLAG_EXP_ANY_ALACARTE_NEW_INSTANTIATION_UI = false
-FLAG_SUPPLEMENTARY_FILE = false
-FLAG_1902_NEW_VIEW_EDIT=false
-FLAG_1902_VNF_GROUPING = false
+# one of the ready-made sets; e.g.:
+# - features.set.filename = onap.features.properties
+# - features.set.filename = dublin.features.properties
diff --git a/vid-app-common/src/main/webapp/WEB-INF/conf/onap.features.properties b/vid-app-common/src/main/webapp/WEB-INF/conf/onap.features.properties
new file mode 100644
index 000000000..66435b024
--- /dev/null
+++ b/vid-app-common/src/main/webapp/WEB-INF/conf/onap.features.properties
@@ -0,0 +1,38 @@
+FLAG_PNP_INSTANTIATION = true
+
+CREATE_INSTANCE_TEST = false
+FLAG_ADD_MSO_TESTAPI_FIELD = true
+FLAG_UNASSIGN_SERVICE = true
+FLAG_SERVICE_MODEL_CACHE = true
+FLAG_SHOW_ASSIGNMENTS = true
+FLAG_SHOW_VERIFY_SERVICE = false
+FLAG_FABRIC_CONFIGURATION_ASSIGNMENTS = true
+FLAG_PRESENT_PROVIDER_NETWORKS_ASSOCIATIONS = true
+FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST = true
+FLAG_1810_CR_LET_SELECTING_COLLECTOR_TYPE_UNCONDITIONALLY = true
+FLAG_1810_CR_SOFT_DELETE_ALACARTE_VF_MODULE = true
+FLAG_1810_AAI_LOCAL_CACHE = true
+FLAG_EXP_USE_DEFAULT_HOST_NAME_VERIFIER = false
+FLAG_HANDLE_SO_WORKFLOWS = true
+FLAG_CREATE_ERROR_REPORTS = true
+
+# Modern UI (Drawing-Board; View/Edit)
+# - - - - - - - - - - - - - - - - - -
+FLAG_COLLECTION_RESOURCE_SUPPORT = false
+FLAG_ASYNC_INSTANTIATION = false
+FLAG_ASYNC_JOBS = false
+EMPTY_DRAWING_BOARD_TEST = false
+FLAG_NETWORK_TO_ASYNC_INSTANTIATION = false
+FLAG_DUPLICATE_VNF = false
+FLAG_DEFAULT_VNF = false
+FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD = false
+FLAG_SHIFT_VFMODULE_PARAMS_TO_VNF = false
+FLAG_A_LA_CARTE_AUDIT_INFO = false
+FLAG_5G_IN_NEW_INSTANTIATION_UI = false
+FLAG_ASYNC_ALACARTE_VNF = false
+FLAG_ASYNC_ALACARTE_VFMODULE = false
+FLAG_EXP_ANY_ALACARTE_NEW_INSTANTIATION_UI = false
+FLAG_SUPPLEMENTARY_FILE = false
+FLAG_1902_NEW_VIEW_EDIT=false
+FLAG_1902_VNF_GROUPING = false
+