diff options
20 files changed, 213 insertions, 101 deletions
diff --git a/Changelog.md b/Changelog.md index 73291b42..35f5006e 100644 --- a/Changelog.md +++ b/Changelog.md @@ -26,4 +26,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [1.7.3] - 10/08/2020 - [DCAEGEN2-2264](https://jira.onap.org/browse/DCAEGEN2-2264) - Add implementation of stndDefined fields validation ## [1.7.4] - 04/08/2020 - - [DCAEGEN2-2212](https://jira.onap.org/browse/DCAEGEN2-2212) - Config fetch for VESCollector through DCAE-SDK (CBS Client) + - [DCAEGEN2-2212](https://jira.onap.org/browse/DCAEGEN2-2212) - Config fetch for VESCollector through DCAE-SDK (CBS Client) + - [DCAEGEN2-2264](https://jira.onap.org/browse/DCAEGEN2-2264) - Post stndDefined implementation fixes +## [1.7.5] - 09/09/2020 + - [DCAEGEN2-2264](https://jira.onap.org/browse/DCAEGEN2-2264) - Update schema-map.json + - [DCAEGEN2-2426](https://jira.onap.org/browse/DCAEGEN2-2426) - Fix bug throwing exception when first event is collected
\ No newline at end of file @@ -1,7 +1,8 @@ +--- project: 'dcaegen2-collectors-ves' project_creation_date: '2017-06-28' project_category: '' -lifecycle_state: 'Incubation' +lifecycle_state: 'Mature' project_lead: &onap_dcaegen2_ptl name: 'Vijay Venkatesh Kumar' email: 'vv770d@att.com' @@ -30,11 +31,6 @@ repositories: - 'dcaegen2/collectors/ves' committers: - <<: *onap_dcaegen2_ptl - - name: 'Lusheng Ji' - email: 'lji@research.att.com' - company: 'ATT' - id: 'wrider' - timezone: 'America/New_York' - name: 'Tony Hansen' email: 'tony@att.com' company: 'ATT' @@ -45,11 +41,27 @@ committers: company: 'EST' id: 'JoeOLeary' timezone: 'Ireland/UTC' + - name: 'Kornel Janiak' + email: 'kornel.janiak@nokia.com' + company: 'Nokia' + id: 'kjaniak' + timezone: 'Europe/Warsaw' - name: 'Jack Lucas' - email: 'jflucas@research.att.com' - company: 'ATT' + email: 'jflos@sonoris.net' + company: 'IC' id: 'jackl' timezone: 'America/New_York' + - name: 'Remigiusz Janeczek' + email: 'remigiusz.janeczek@nokia.com' + company: 'Nokia' + id: 'rjanecze' + timezone: 'Europe/Warsaw' + - name: 'Pawel Kasperkiewicz' + email: 'pawel.kasperkiewicz@nokia.com' + company: 'Nokia' + id: 'Pawel' + timezone: 'Europe/Warsaw' + tsc: approval: 'https://lists.onap.org/pipermail/onap-tsc' changes: @@ -71,3 +83,15 @@ tsc: - type: 'Removal' name: 'Xinhui Li' link: 'https://lists.onap.org/g/onap-tsc/message/6814' + - type: 'Addition' + name: 'Kornel Janiak' + link: 'https://lists.onap.org/g/onap-tsc/message/7026' + - type: 'Removal' + name: 'Lusheng Ji' + link: 'https://lists.onap.org/g/onap-tsc/message/7026' + - type: 'Addition' + name: 'Remigiusz Janeczek' + link: 'https://lists.onap.org/g/onap-tsc/message/7026' + - type: 'Addition' + name: 'Pawel Kasperkiewicz' + link: 'https://lists.onap.org/g/onap-tsc/message/7026' diff --git a/dpo/data-formats/ConsulConfig.json b/dpo/data-formats/ConsulConfig.json index dc04abcf..168eda06 100644 --- a/dpo/data-formats/ConsulConfig.json +++ b/dpo/data-formats/ConsulConfig.json @@ -68,14 +68,15 @@ } } }, - "collector.externalSchema.2ndStageValidation": 1, + "collector.externalSchema.checkflag": 1, "collector.externalSchema.schemasLocation": "./etc/externalRepo", "collector.externalSchema.mappingFileLocation": "./etc/externalRepo/schema-map.json", - "collector.externalSchema.schemaRefPath": "/event/stndDefinedFields/schemaReference", - "collector.externalSchema.stndDefinedDataPath": "/event/stndDefinedFields/data", + "event.externalSchema.schemaRefPath": "$.event.stndDefinedFields.schemaReference", + "event.externalSchema.stndDefinedDataPath": "$.event.stndDefinedFields.data", "collector.service.secure.port": "8443", "auth.method": "noAuth", "collector.keystore.file.location": "/opt/app/VESCollector/etc/keystore", + "collector.description.api.version.location": "etc/api_version_description.json", "services_calls": [], "header.authlist": "sample1,$2a$10$0buh.2WeYwN868YMwnNNEuNEAMNYVU9.FSMJGyIKV3dGET/7oGOi6" } diff --git a/dpo/data-formats/VES-7.30.2_ONAP-dataformat.json b/dpo/data-formats/VES-7.30.2_ONAP-dataformat.json index ec6c261f..f38d54e5 100644 --- a/dpo/data-formats/VES-7.30.2_ONAP-dataformat.json +++ b/dpo/data-formats/VES-7.30.2_ONAP-dataformat.json @@ -5,11 +5,10 @@ "description": "VES spec for v7.2" }, "dataformatversion": "1.0.0", - "reference": { "name": "Common Event Format", "format": "JSON", - "version": "30.2", + "version": "30.2.0", "url" : "https://git.onap.org/dcaegen2/collectors/ves/tree/etc/CommonEventFormat_30.2_ONAP.json" } } diff --git a/dpo/spec/vescollector-componentspec.json b/dpo/spec/vescollector-componentspec.json index de97d9bd..a861dfb2 100644 --- a/dpo/spec/vescollector-componentspec.json +++ b/dpo/spec/vescollector-componentspec.json @@ -240,7 +240,7 @@ }, { "name": "collector.dmaap.streamid", - "value": "fault=ves-fault|syslog=ves-syslog|heartbeat=ves-heartbeat|measurementsForVfScaling=ves-measurement|measurement=ves-measurement|mobileFlow=ves-mobileflow|other=ves-other|stateChange=ves-statechange|thresholdCrossingAlert=ves-thresholdCrossingAlert|voiceQuality=ves-voicequality|sipSignaling=ves-sipsignaling|notification=ves-notification|pnfRegistration=ves-pnfRegistration|perf3gpp=ves-perf3gpp|stndDefined=ves-other", + "value": "fault=ves-fault|syslog=ves-syslog|heartbeat=ves-heartbeat|measurementsForVfScaling=ves-measurement|mobileFlow=ves-mobileflow|other=ves-other|stateChange=ves-statechange|thresholdCrossingAlert=ves-thresholdCrossingAlert|voiceQuality=ves-voicequality|sipSignaling=ves-sipsignaling|notification=ves-notification|pnfRegistration=ves-pnfRegistration|3GPP-FaultSupervision=ves-3gpp-fault-supervision|3GPP-Heartbeat=ves-3gpp-heartbeat|3GPP-Provisioning=ves-3gpp-provisioning|3GPP-PerformanceAssurance=ves-3gpp-performance-assurance", "description": "domain-to-streamid mapping used by VESCollector to distributes events based on domain. Both primary and secondary config_key are included for resilency (multiple streamid can be included commma separated). The streamids MUST match to topic config_keys. For single site without resiliency deployment - configkeys with -secondary suffix can be removed", "sourced_at_deployment": true, "policy_editable": false, @@ -293,6 +293,54 @@ "sourced_at_deployment": false, "policy_editable": false, "designer_editable": false + }, + { + "name": "collector.externalSchema.checkflag", + "value": 1, + "description": "Schema stndDefined validation flag. When enabled, collector will validate stndDefined fields in stndDefined domain events against mapped local schemas listed in file from property collector.externalSchema.mappingFileLocation.", + "sourced_at_deployment": false, + "policy_editable": false, + "designer_editable": true + }, + { + "name": "collector.externalSchema.schemasLocation", + "value": "./etc/externalRepo/", + "description": "External schemas repository. Path to schemas storage directory.", + "sourced_at_deployment": false, + "policy_editable": false, + "designer_editable": false + }, + { + "name": "collector.externalSchema.mappingFileLocation", + "value": "./etc/externalRepo/schema-map.json", + "description": "Path to JSON file containing mapping of externally located stndDefined schemas to local schema files.", + "sourced_at_deployment": false, + "policy_editable": false, + "designer_editable": false + }, + { + "name": "event.externalSchema.schemaRefPath", + "value": "$.event.stndDefinedFields.schemaReference", + "description": "An internal path from validated JSON. Defines which field is taken as public schema reference, which is later mapped.", + "sourced_at_deployment": false, + "policy_editable": false, + "designer_editable": false + }, + { + "name": "event.externalSchema.stndDefinedDataPath", + "value": "$.event.stndDefinedFields.data", + "description": "An internal path from validated JSON. Defines which field of event will be validated during stndDefined validation.", + "sourced_at_deployment": false, + "policy_editable": false, + "designer_editable": false + }, + { + "name": "collector.description.api.version.location", + "value": "etc/api_version_description.json", + "description": "Path to the file containing description of api versions", + "sourced_at_deployment": false, + "policy_editable": false, + "designer_editable": false } ], "auxilary": { diff --git a/etc/api_version_description.json b/etc/api_version_description.json new file mode 100644 index 00000000..f2c7f1cc --- /dev/null +++ b/etc/api_version_description.json @@ -0,0 +1,7 @@ +{ + "apiVersion": + { + "eventListener": ["4.7.2","5.4.1","7.2"], + "eventListener_eventBatch": ["4.7.2","5.4.1","7.2"] + } +} diff --git a/etc/collector.properties b/etc/collector.properties index b0bffaac..10ae9c2a 100755 --- a/etc/collector.properties +++ b/etc/collector.properties @@ -57,14 +57,17 @@ collector.schema.file={\"v1\":\"./etc/CommonEventFormat_27.2.json\",\"v2\":\"./e collector.externalSchema.checkflag=1
collector.externalSchema.schemasLocation=./etc/externalRepo/
collector.externalSchema.mappingFileLocation=./etc/externalRepo/schema-map.json
-event.externalSchema.schemaRefPath=/event/stndDefinedFields/schemaReference
-event.externalSchema.stndDefinedDataPath=/event/stndDefinedFields/data
+event.externalSchema.schemaRefPath=$.event.stndDefinedFields.schemaReference
+event.externalSchema.stndDefinedDataPath=$.event.stndDefinedFields.data
## List all streamid per domain to be supported. The streamid should match to channel name on dmaapfile
collector.dmaap.streamid=fault=ves-fault|syslog=ves-syslog|heartbeat=ves-heartbeat|measurementsForVfScaling=ves-measurement|mobileFlow=ves-mobileflow|other=ves-other|stateChange=ves-statechange|thresholdCrossingAlert=ves-thresholdCrossingAlert|voiceQuality=ves-voicequality|sipSignaling=ves-sipsignaling|notification=ves-notification|pnfRegistration=ves-pnfRegistration|3GPP-FaultSupervision=ves-3gpp-fault-supervision|3GPP-Heartbeat=ves-3gpp-heartbeat|3GPP-Provisioning=ves-3gpp-provisioning|3GPP-PerformanceAssurance=ves-3gpp-performance-assurance
collector.dmaapfile=./etc/DmaapConfig.json
+## Path to the file containing description of api versions
+collector.description.api.version.location=etc/api_version_description.json
+
## Event transformation Flag - when set expects configurable transformation
## defined under ./etc/eventTransform.json
## Enabled by default; to disable set to 0
diff --git a/etc/externalRepo/schema-map.json b/etc/externalRepo/schema-map.json index b6849dd2..bd6e4fda 100644 --- a/etc/externalRepo/schema-map.json +++ b/etc/externalRepo/schema-map.json @@ -1,18 +1,18 @@ [ { - "publicURL": "https://forge.3gpp.org/rep/sa5/data-models/blob/REL-16/OpenAPI/faultMnS.yaml", + "publicURL": "https://forge.3gpp.org/rep/sa5/data-models/tree/SA88-Rel16/OpenAPI/faultMnS.yaml", "localURL": "3gpp/rep/sa5/data-models/blob/REL-16/OpenAPI/faultMnS.yaml" }, { - "publicURL": "https://forge.3gpp.org/rep/sa5/data-models/blob/REL-16/OpenAPI/heartbeatNtf.yaml", + "publicURL": "https://forge.3gpp.org/rep/sa5/data-models/tree/SA88-Rel16/OpenAPI/heartbeatNtf.yaml", "localURL": "3gpp/rep/sa5/data-models/blob/REL-16/OpenAPI/heartbeatNtf.yaml" }, { - "publicURL": "https://forge.3gpp.org/rep/sa5/data-models/blob/REL-16/OpenAPI/PerDataFileReportMnS.yaml", + "publicURL": "https://forge.3gpp.org/rep/sa5/data-models/tree/SA88-Rel16/OpenAPI/PerDataFileReportMnS.yaml", "localURL": "3gpp/rep/sa5/data-models/blob/REL-16/OpenAPI/PerDataFileReportMnS.yaml" }, { - "publicURL": "https://forge.3gpp.org/rep/sa5/data-models/blob/master/OpenAPI/provMnS.yaml", + "publicURL": "https://forge.3gpp.org/rep/sa5/data-models/tree/SA88-Rel16/OpenAPI/provMnS.yaml", "localURL": "3gpp/rep/sa5/data-models/blob/REL-16/OpenAPI/provMnS.yaml" } ]
\ No newline at end of file @@ -24,7 +24,7 @@ </parent>
<groupId>org.onap.dcaegen2.collectors.ves</groupId>
<artifactId>VESCollector</artifactId>
- <version>1.7.4-SNAPSHOT</version>
+ <version>1.7.5-SNAPSHOT</version>
<name>dcaegen2-collectors-ves</name>
<description>VESCollector</description>
<properties>
@@ -78,7 +78,7 @@ <spring-boot-starter-test.version>2.1.0.RELEASE</spring-boot-starter-test.version>
<api-custom-header.version>1.1.4</api-custom-header.version>
<functionaljava.version>4.8.1</functionaljava.version>
- <external-schema-manager.version>1.4.1</external-schema-manager.version>
+ <external-schema-manager.version>1.4.3</external-schema-manager.version>
<sdk.version>1.4.2</sdk.version>
</properties>
<build>
diff --git a/releases/1.7.4-container.yaml b/releases/1.7.4-container.yaml new file mode 100644 index 00000000..da5322c2 --- /dev/null +++ b/releases/1.7.4-container.yaml @@ -0,0 +1,8 @@ +distribution_type: 'container' +container_release_tag: '1.7.4' +project: 'dcaegen2-collectors-ves' +log_dir: 'dcaegen2-collectors-ves-maven-docker-stage-master/415/' +ref: ee90d3598091ffc122402b8bd06072aa97c675cc +containers: + - name: 'org.onap.dcaegen2.collectors.ves.vescollector' + version: '1.7.4-20200908T223516Z' 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"] - } -} diff --git a/src/test/java/org/onap/dcae/common/JsonDataLoader.java b/src/test/java/org/onap/dcae/common/JsonDataLoader.java index 2ea59aa0..8c2fdd6d 100644 --- a/src/test/java/org/onap/dcae/common/JsonDataLoader.java +++ b/src/test/java/org/onap/dcae/common/JsonDataLoader.java @@ -20,7 +20,9 @@ package org.onap.dcae.common; import java.io.IOException; +import java.net.URL; import java.nio.file.Files; +import java.nio.file.Path; import java.nio.file.Paths; /** @@ -35,15 +37,15 @@ public final class JsonDataLoader { } /** - * This method is validating given event using schema adn throws exception if event is not valid + * This method is validating given event using schema and throws exception when event is invalid * * @param path to file that will be loaded * @return contend of the file located under path, given in parameters, as string * @throws IOException when file under given path was not found */ public static String loadContent(String path) throws IOException { - return new String( - Files.readAllBytes(Paths.get(JsonDataLoader.class.getResource(path).getPath())) - ); + URL resource = JsonDataLoader.class.getResource(path); + Path resourcePath = Paths.get(resource.getPath()); + return new String(Files.readAllBytes(resourcePath)); } } diff --git a/src/test/java/org/onap/dcae/restapi/VesRestControllerTest.java b/src/test/java/org/onap/dcae/restapi/VesRestControllerTest.java index 0a03c1a4..ce7e09d3 100644 --- a/src/test/java/org/onap/dcae/restapi/VesRestControllerTest.java +++ b/src/test/java/org/onap/dcae/restapi/VesRestControllerTest.java @@ -315,9 +315,7 @@ public class VesRestControllerTest { private void configureHeadersForEventListener() { when(headerUtils.getRestApiIdentify(anyString())).thenReturn("eventListener"); - when(headerUtils.getApiVerFilePath(anyString())).thenReturn( - this.getClass().getResource("/api_version_config.json").getPath() - ); + when(applicationSettings.getApiVersionDescriptionFilepath()).thenReturn("etc/api_version_description.json"); } private void verifyThatTransformedEventWasSend(DMaaPEventPublisher eventPublisher, String eventBeforeTransformation) { diff --git a/src/test/resources/ves_stdnDefined_empty_namespace_invalid.json b/src/test/resources/ves_stdnDefined_empty_namespace_invalid.json index a63bca17..0466d004 100644 --- a/src/test/resources/ves_stdnDefined_empty_namespace_invalid.json +++ b/src/test/resources/ves_stdnDefined_empty_namespace_invalid.json @@ -15,31 +15,40 @@ "vesEventListenerVersion": "7.2" }, "stndDefinedFields": { - "schemaReference": "https://forge.3gpp.org/rep/sa5/data-models/blob/REL-16/OpenAPI/faultMnS.yaml#definitions/schemas/notifyNewAlarm-NotifType", + "schemaReference": "https://forge.3gpp.org/rep/sa5/data-models/blob/REL-16/OpenAPI/faultMnS.yaml#components/schemas/NotifyNewAlarm", "data": { - "uri": "xyz", - "notificationId": "xyz", + "href": 1, + "uri": "1", + "notificationId": 1, "notificationType": "notifyNewAlarm", "eventTime": "xyz", "systemDN": "xyz", - "probableCause": "xyz", - "perceivedSeverity": "Major", + "probableCause": 1, + "perceivedSeverity": "INDETERMINATE", "rootCauseIndicator": false, "specificProblem": "xyz", "correlatedNotifications": [], "backedUpStatus": true, "backUpObject": "xyz", - "trendIndication": "No change", - "thresholdInfo": {}, - "stateChangeDefinition": [], - "monitoredAttributes": [], + "trendIndication": "MORE_SEVERE", + "thresholdInfo": { + "observedMeasurement": "new", + "observedValue": 123 + }, + "stateChangeDefinition": { + }, + "monitoredAttributes": { + "newAtt": "new" + }, "proposedRepairActions": "xyz", "additionalText": "xyz", - "additionalInformation": [], - "alarmId": "xyz", - "alarmType": "Environmental Alarm" + "additionalInformation": { + "addInfo": "new" + }, + "alarmId": "1", + "alarmType": "COMMUNICATIONS_ALARM" }, "stndDefinedFieldsVersion": "1.0" } } -} +}
\ No newline at end of file diff --git a/src/test/resources/ves_stdnDefined_missing_namespace_invalid.json b/src/test/resources/ves_stdnDefined_missing_namespace_invalid.json index 7a35286d..a636e76e 100644 --- a/src/test/resources/ves_stdnDefined_missing_namespace_invalid.json +++ b/src/test/resources/ves_stdnDefined_missing_namespace_invalid.json @@ -14,31 +14,40 @@ "vesEventListenerVersion": "7.2" }, "stndDefinedFields": { - "schemaReference": "https://forge.3gpp.org/rep/sa5/data-models/blob/REL-16/OpenAPI/faultMnS.yaml#definitions/schemas/notifyNewAlarm-NotifType", + "schemaReference": "https://forge.3gpp.org/rep/sa5/data-models/blob/REL-16/OpenAPI/faultMnS.yaml#components/schemas/NotifyNewAlarm", "data": { - "uri": "xyz", - "notificationId": "xyz", + "href": 1, + "uri": "1", + "notificationId": 1, "notificationType": "notifyNewAlarm", "eventTime": "xyz", "systemDN": "xyz", - "probableCause": "xyz", - "perceivedSeverity": "Major", + "probableCause": 1, + "perceivedSeverity": "INDETERMINATE", "rootCauseIndicator": false, "specificProblem": "xyz", "correlatedNotifications": [], "backedUpStatus": true, "backUpObject": "xyz", - "trendIndication": "No change", - "thresholdInfo": {}, - "stateChangeDefinition": [], - "monitoredAttributes": [], + "trendIndication": "MORE_SEVERE", + "thresholdInfo": { + "observedMeasurement": "new", + "observedValue": 123 + }, + "stateChangeDefinition": { + }, + "monitoredAttributes": { + "newAtt": "new" + }, "proposedRepairActions": "xyz", "additionalText": "xyz", - "additionalInformation": [], - "alarmId": "xyz", - "alarmType": "Environmental Alarm" + "additionalInformation": { + "addInfo": "new" + }, + "alarmId": "1", + "alarmType": "COMMUNICATIONS_ALARM" }, "stndDefinedFieldsVersion": "1.0" } } -} +}
\ No newline at end of file diff --git a/src/test/resources/ves_stdnDefined_valid_unknown_topic.json b/src/test/resources/ves_stdnDefined_valid_unknown_topic.json index 46195f7c..4c248879 100644 --- a/src/test/resources/ves_stdnDefined_valid_unknown_topic.json +++ b/src/test/resources/ves_stdnDefined_valid_unknown_topic.json @@ -15,31 +15,40 @@ "vesEventListenerVersion": "7.2" }, "stndDefinedFields": { - "schemaReference": "https://www.3gpp.org/Rel-16/TS28532_generic_fault_supervision.json#definitions/schemas/notifyNewAlarm-NotifType", + "schemaReference": "https://forge.3gpp.org/rep/sa5/data-models/blob/REL-16/OpenAPI/faultMnS.yaml#components/schemas/NotifyNewAlarm", "data": { - "uri": "xyz", - "notificationId": "xyz", + "href": 1, + "uri": "1", + "notificationId": 1, "notificationType": "notifyNewAlarm", "eventTime": "xyz", "systemDN": "xyz", - "probableCause": "xyz", - "perceivedSeverity": "Major", + "probableCause": 1, + "perceivedSeverity": "INDETERMINATE", "rootCauseIndicator": false, "specificProblem": "xyz", "correlatedNotifications": [], "backedUpStatus": true, "backUpObject": "xyz", - "trendIndication": "No change", - "thresholdInfo": {}, - "stateChangeDefinition": [], - "monitoredAttributes": [], + "trendIndication": "MORE_SEVERE", + "thresholdInfo": { + "observedMeasurement": "new", + "observedValue": 123 + }, + "stateChangeDefinition": { + }, + "monitoredAttributes": { + "newAtt": "new" + }, "proposedRepairActions": "xyz", "additionalText": "xyz", - "additionalInformation": [], - "alarmId": "xyz", - "alarmType": "Environmental Alarm" + "additionalInformation": { + "addInfo": "new" + }, + "alarmId": "1", + "alarmType": "COMMUNICATIONS_ALARM" }, "stndDefinedFieldsVersion": "1.0" } } -} +}
\ No newline at end of file diff --git a/version.properties b/version.properties index 53760fdc..432017a5 100644 --- a/version.properties +++ b/version.properties @@ -1,6 +1,6 @@ major=1 minor=7 -patch=4 +patch=5 base_version=${major}.${minor}.${patch} release_version=${base_version} snapshot_version=${base_version}-SNAPSHOT |