diff options
author | Ittay Stern <ittay.stern@att.com> | 2019-07-30 18:01:21 +0300 |
---|---|---|
committer | Ittay Stern <ittay.stern@att.com> | 2019-07-31 11:18:30 +0300 |
commit | 5efec2c3cfcead17394beb825200e132f827eb31 (patch) | |
tree | b5215b7d76aba6cc6c40ffb6599a46e21cd2b08f /vid-app-common/src/main | |
parent | 3b12c6e9b5d2885244b7b1fb6c016ad8999e3cf2 (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')
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 + |