From 6ad41e3ccd398a2721f41ad61c80b7bb03f7d127 Mon Sep 17 00:00:00 2001 From: Ittay Stern Date: Mon, 31 Dec 2018 17:21:27 +0200 Subject: Merge from ECOMP's repository Main Features -------------- - Async-Instantiation jobs mechanism major update; still WIP (package `org.onap.vid.job`) - New features in View/Edit: Activate fabric configuration; show related networks; soft delete - Support AAI service-tree traversal (`AAIServiceTree`) - In-memory cache for SDC models and certain A&AI queries (`CacheProviderWithLoadingCache`) - Upgrade TOSCA Parser and add parsing options; fix malformed TOSCA models - Resolve Cloud-Owner values for MSO - Pass X-ONAP headers to MSO Infrastructure -------------- - Remove codehaus' jackson mapper; use soley fasterxml 2.9.7 - Surefire invokes both TestNG and JUnit tests - Support Kotlin source files - AaiController2 which handles errors in a "Spring manner" - Inline generated-sources and remove jsonschema2pojo Quality -------- - Cumulative bug fixes (A&AI API, UI timeouts, and many more) - Many Sonar issues cleaned-up - Some unused classes removed - Minor changes in vid-automation project, allowing some API verification to run Hard Merges ------------ - HTTP Clients (MSO, A&AI, WebConfig, OutgoingRequestHeadersTest) - Moved `package org.onap.vid.controllers` to `controller`, without plural -- just to keep semantic sync with ECOMP. Reference commit in ECOMP: 3d1141625 Issue-ID: VID-378 Change-Id: I9c8d1e74caa41815891d441fc0760bb5f29c5788 Signed-off-by: Ittay Stern --- .../java/org/onap/vid/properties/Features.java | 27 ++++++++++++++--- .../properties/FeaturesTogglingConfiguration.java | 6 ++-- .../org/onap/vid/properties/VidProperties.java | 34 ++++++++++++++++------ 3 files changed, 52 insertions(+), 15 deletions(-) (limited to 'vid-app-common/src/main/java/org/onap/vid/properties') diff --git a/vid-app-common/src/main/java/org/onap/vid/properties/Features.java b/vid-app-common/src/main/java/org/onap/vid/properties/Features.java index cc623d44f..6c521107f 100644 --- a/vid-app-common/src/main/java/org/onap/vid/properties/Features.java +++ b/vid-app-common/src/main/java/org/onap/vid/properties/Features.java @@ -10,10 +10,8 @@ public enum Features implements Feature { */ FLAG_ASYNC_JOBS, - FLAG_REGION_ID_FROM_REMOTE, CREATE_INSTANCE_TEST, EMPTY_DRAWING_BOARD_TEST, - FLAG_ADVANCED_PORTS_FILTER, FLAG_ADD_MSO_TESTAPI_FIELD, FLAG_ASYNC_INSTANTIATION, FLAG_SERVICE_MODEL_CACHE, @@ -21,9 +19,30 @@ public enum Features implements Feature { FLAG_NETWORK_TO_ASYNC_INSTANTIATION, FLAG_COLLECTION_RESOURCE_SUPPORT, FLAG_SHOW_ASSIGNMENTS, - FLAG_SHOW_VERIFY_SERVICE, + FLAG_FABRIC_CONFIGURATION_ASSIGNMENTS, + FLAG_SHOW_VERIFY_SERVICE, // AKA POMBA + FLAG_DUPLICATE_VNF, + FLAG_DEFAULT_VNF, FLAG_SETTING_DEFAULTS_IN_DRAWING_BOARD, - FLAG_PNP_INSTANTIATION; + FLAG_PNP_INSTANTIATION, + FLAG_RESTRICTED_SELECT, + FLAG_5G_IN_NEW_INSTANTIATION_UI, + FLAG_ASYNC_ALACARTE_VNF, + FLAG_A_LA_CARTE_AUDIT_INFO, + FLAG_PRESENT_PROVIDER_NETWORKS_ASSOCIATIONS, + FLAG_ASYNC_ALACARTE_VFMODULE, + FLAG_SUPPLEMENTARY_FILE, + FLAG_SHIFT_VFMODULE_PARAMS_TO_VNF, + FLAG_EXP_ANY_ALACARTE_NEW_INSTANTIATION_UI, + FLAG_1810_CR_LET_SELECTING_COLLECTOR_TYPE_UNCONDITIONALLY, + FLAG_1810_CR_ADD_CLOUD_OWNER_TO_MSO_REQUEST, + FLAG_1810_CR_SOFT_DELETE_ALACARTE_VF_MODULE, + FLAG_1810_AAI_LOCAL_CACHE, + FLAG_1810_IDENTIFY_SERVICE_FOR_NEW_UI, + FLAG_1902_NEW_VIEW_EDIT, + FLAG_EXP_USE_DEFAULT_HOST_NAME_VERIFIER, + FLAG_1902_VNF_GROUPING, + ; public boolean isActive() { return FeatureContext.getFeatureManager().isActive(this); diff --git a/vid-app-common/src/main/java/org/onap/vid/properties/FeaturesTogglingConfiguration.java b/vid-app-common/src/main/java/org/onap/vid/properties/FeaturesTogglingConfiguration.java index ef28ea400..88bcce871 100644 --- a/vid-app-common/src/main/java/org/onap/vid/properties/FeaturesTogglingConfiguration.java +++ b/vid-app-common/src/main/java/org/onap/vid/properties/FeaturesTogglingConfiguration.java @@ -24,16 +24,18 @@ public class FeaturesTogglingConfiguration { public FeatureManager featureManager(ServletContext servletContext, Environment environment) { final String defaultFilename = "features.properties"; - String filename = environment.getProperty("featureFlags.filename"); + String filename = environment.getProperty("features.set.filename"); if (StringUtils.isBlank(filename)) { filename = defaultFilename; } + filename = StringUtils.trimToNull(filename); + return new FeatureManagerBuilder() .featureEnum(Features.class) .stateRepository(new FileBasedStateRepository( - new File(servletContext.getRealPath("/WEB-INF/conf/" + filename)) + new File(filename.startsWith("/")? filename : servletContext.getRealPath("/WEB-INF/conf/" + filename)) )) .build(); } diff --git a/vid-app-common/src/main/java/org/onap/vid/properties/VidProperties.java b/vid-app-common/src/main/java/org/onap/vid/properties/VidProperties.java index d670e9783..0a7d8d1a7 100644 --- a/vid-app-common/src/main/java/org/onap/vid/properties/VidProperties.java +++ b/vid-app-common/src/main/java/org/onap/vid/properties/VidProperties.java @@ -20,13 +20,10 @@ package org.onap.vid.properties; +import org.apache.commons.lang3.StringUtils; import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate; import org.onap.portalsdk.core.util.SystemProperties; import org.onap.vid.model.ModelConstants; - -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.Date; /** * The Class VidProperties. */ @@ -37,6 +34,7 @@ public class VidProperties extends SystemProperties { public static final String MSO_DEFAULT_TEST_API="mso.defaultTestAPI"; public static final String MSO_MAX_OPENED_INSTANTIATION_REQUESTS="mso.maxOpenedInstantiationRequests"; public static final String MSO_ASYNC_POLLING_INTERVAL_SECONDS="mso.asyncPollingIntervalSeconds"; + public static final String PROBE_SDC_MODEL_UUID="probe.sdc.model.uuid"; /** The Constant VID_TRUSTSTORE_FILENAME. */ public static final String VID_TRUSTSTORE_FILENAME = "vid.truststore.filename"; @@ -49,9 +47,9 @@ public class VidProperties extends SystemProperties { /** The Constant LOG. */ private static final EELFLoggerDelegate LOG = EELFLoggerDelegate.getLogger(VidProperties.class); - - /** The Constant dateFormat. */ - final static DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss:SSSS"); + + public static final String VID_JOB_MAX_HOURS_IN_PROGRESS = "vid.asyncJob.maxHoursInProgress"; + /** * Gets the asdc model namespace prefix property * @@ -67,7 +65,7 @@ public class VidProperties extends SystemProperties { } } catch ( Exception e ) { - LOG.error (EELFLoggerDelegate.errorLogger, dateFormat.format(new Date()) + methodName + "unable to find the value, using the default " + LOG.error (EELFLoggerDelegate.errorLogger, methodName + "unable to find the value, using the default " + ModelConstants.DEFAULT_ASDC_MODEL_NAMESPACE); asdcModelNamespace = ModelConstants.DEFAULT_ASDC_MODEL_NAMESPACE; } @@ -88,10 +86,28 @@ public class VidProperties extends SystemProperties { } } catch ( Exception e ) { - LOG.error (EELFLoggerDelegate.errorLogger, dateFormat.format(new Date()) + methodName + "unable to find the value, using the default " + LOG.error (EELFLoggerDelegate.errorLogger, methodName + "unable to find the value, using the default " + defaultValue); propValue = defaultValue; } return (propValue); } + + public static long getLongProperty(String key) { + return getLongProperty(key, 0); + } + + public static long getLongProperty(String key, long defaultValue) { + if (!containsProperty(key)) { + LOG.debug(EELFLoggerDelegate.debugLogger, "No such property: {}. {} value is used", key, defaultValue); + return defaultValue; + } + String configValue = getProperty(key); + if (StringUtils.isNumeric(configValue)) { + return Long.parseLong(configValue); + } else { + LOG.debug(EELFLoggerDelegate.debugLogger, "{} property value is not valid: {}. {} value is used", key, configValue, defaultValue); + return defaultValue; + } + } } -- cgit 1.2.3-korg