From 63f1796ec022705504742a5bd1700f9e20c33540 Mon Sep 17 00:00:00 2001 From: fkrzywka Date: Tue, 31 Jul 2018 14:22:59 +0200 Subject: Move MessageParametersParser To avoid dependency of utilities module on modules other than domain Change-Id: I90ef8640a86501315d84848118d3e748aafd095c Signed-off-by: fkrzywka Issue-ID: DCAEGEN2-601 --- hv-collector-utils/pom.xml | 6 +- .../utils/messages/CommonEventHeaderParser.kt | 52 ------------ .../utils/messages/MessageParametersParser.kt | 51 ----------- .../utils/messages/MessageParametersParserTest.kt | 63 -------------- .../collectors/veshv/utils/messages/parameters.kt | 98 ---------------------- 5 files changed, 1 insertion(+), 269 deletions(-) delete mode 100644 hv-collector-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/utils/messages/CommonEventHeaderParser.kt delete mode 100644 hv-collector-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/utils/messages/MessageParametersParser.kt delete mode 100644 hv-collector-utils/src/test/kotlin/org/onap/dcae/collectors/veshv/utils/messages/MessageParametersParserTest.kt delete mode 100644 hv-collector-utils/src/test/kotlin/org/onap/dcae/collectors/veshv/utils/messages/parameters.kt (limited to 'hv-collector-utils') diff --git a/hv-collector-utils/pom.xml b/hv-collector-utils/pom.xml index 39097c10..9b21d751 100644 --- a/hv-collector-utils/pom.xml +++ b/hv-collector-utils/pom.xml @@ -61,7 +61,7 @@ ${project.parent.groupId} - hv-collector-ves-message-generator + hv-collector-domain ${project.parent.version} @@ -88,10 +88,6 @@ org.slf4j slf4j-api - - org.glassfish - javax.json - com.nhaarman mockito-kotlin diff --git a/hv-collector-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/utils/messages/CommonEventHeaderParser.kt b/hv-collector-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/utils/messages/CommonEventHeaderParser.kt deleted file mode 100644 index d115675d..00000000 --- a/hv-collector-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/utils/messages/CommonEventHeaderParser.kt +++ /dev/null @@ -1,52 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * dcaegen2-collectors-veshv - * ================================================================================ - * Copyright (C) 2018 NOKIA - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ -package org.onap.dcae.collectors.veshv.utils.messages - -import com.google.protobuf.ByteString -import org.onap.ves.VesEventV5.VesEvent.CommonEventHeader -import org.onap.ves.VesEventV5.VesEvent.CommonEventHeader.Domain -import org.onap.ves.VesEventV5.VesEvent.CommonEventHeader.Priority -import org.onap.ves.VesEventV5.VesEvent.CommonEventHeader.newBuilder -import javax.json.JsonObject - -/** - * @author Jakub Dudycz - * @since July 2018 - */ -class CommonEventHeaderParser { - fun parse(json: JsonObject): CommonEventHeader = newBuilder() - .setVersion(json.getString("version")) - .setDomain(Domain.valueOf(json.getString("domain"))) - .setSequence(json.getInt("sequence")) - .setPriority(Priority.forNumber(json.getInt("priority"))) - .setEventId(json.getString("version")) - .setEventName(json.getString("version")) - .setEventType(json.getString("version")) - .setStartEpochMicrosec(json.getJsonNumber("startEpochMicrosec").longValue()) - .setLastEpochMicrosec(json.getJsonNumber("lastEpochMicrosec").longValue()) - .setNfNamingCode(json.getString("nfNamingCode")) - .setNfcNamingCode(json.getString("nfcNamingCode")) - .setReportingEntityId(json.getString("reportingEntityId")) - .setReportingEntityName(ByteString.copyFromUtf8(json.getString("reportingEntityName"))) - .setSourceId(ByteString.copyFromUtf8(json.getString("sourceId"))) - .setSourceName(json.getString("sourceName")) - .build() - -} diff --git a/hv-collector-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/utils/messages/MessageParametersParser.kt b/hv-collector-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/utils/messages/MessageParametersParser.kt deleted file mode 100644 index 1621ba59..00000000 --- a/hv-collector-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/utils/messages/MessageParametersParser.kt +++ /dev/null @@ -1,51 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * dcaegen2-collectors-veshv - * ================================================================================ - * Copyright (C) 2018 NOKIA - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ -package org.onap.dcae.collectors.veshv.utils.messages - -import org.onap.dcae.collectors.veshv.ves.message.generator.api.MessageParameters -import org.onap.dcae.collectors.veshv.ves.message.generator.api.MessageType -import javax.json.JsonArray - -/** - * @author Jakub Dudycz - * @since July 2018 - */ -class MessageParametersParser( - private val commonEventHeaderParser: CommonEventHeaderParser = CommonEventHeaderParser()) { - - fun parse(request: JsonArray): List = - try { - request - .map { it.asJsonObject() } - .map { - val commonEventHeader = commonEventHeaderParser - .parse(it.getJsonObject("commonEventHeader")) - val messageType = MessageType.valueOf(it.getString("messageType")) - val messagesAmount = it.getJsonNumber("messagesAmount")?.longValue() - ?: throw ParsingException("\"messagesAmount\" could not be parsed from message.", - NullPointerException()) - MessageParameters(commonEventHeader, messageType, messagesAmount) - } - } catch (e: Exception) { - throw ParsingException("Parsing request body failed", e) - } - - internal class ParsingException(message: String, cause: Exception) : Exception(message, cause) -} diff --git a/hv-collector-utils/src/test/kotlin/org/onap/dcae/collectors/veshv/utils/messages/MessageParametersParserTest.kt b/hv-collector-utils/src/test/kotlin/org/onap/dcae/collectors/veshv/utils/messages/MessageParametersParserTest.kt deleted file mode 100644 index ec628a2a..00000000 --- a/hv-collector-utils/src/test/kotlin/org/onap/dcae/collectors/veshv/utils/messages/MessageParametersParserTest.kt +++ /dev/null @@ -1,63 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * dcaegen2-collectors-veshv - * ================================================================================ - * Copyright (C) 2018 NOKIA - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ -package org.onap.dcae.collectors.veshv.utils.messages - -import org.assertj.core.api.Assertions.assertThat -import org.assertj.core.api.Assertions.assertThatExceptionOfType -import org.jetbrains.spek.api.Spek -import org.jetbrains.spek.api.dsl.describe -import org.jetbrains.spek.api.dsl.given -import org.jetbrains.spek.api.dsl.it -import org.jetbrains.spek.api.dsl.on -import org.onap.dcae.collectors.veshv.utils.messages.MessageParametersParser.ParsingException -import org.onap.dcae.collectors.veshv.ves.message.generator.api.MessageType - -private const val EXPECTED_MESSAGES_AMOUNT = 25000L - -/** - * @author Jakub Dudycz - * @since July 2018 - */ -object MessageParametersParserTest : Spek({ - describe("Messages parameters parser") { - val messageParametersParser = MessageParametersParser() - - given("parameters json array") { - on("valid parameters json") { - it("should parse MessagesParameters object successfully") { - val result = messageParametersParser.parse(validMessagesParametesJson()) - - assertThat(result).isNotNull - assertThat(result).hasSize(2) - val firstMessage = result.first() - assertThat(firstMessage.messageType).isEqualTo(MessageType.VALID) - assertThat(firstMessage.amount).isEqualTo(EXPECTED_MESSAGES_AMOUNT) - } - } - on("invalid parameters json") { - it("should throw exception") { - assertThatExceptionOfType(ParsingException::class.java).isThrownBy { - messageParametersParser.parse(invalidMessagesParametesJson()) - } - } - } - } - } -}) diff --git a/hv-collector-utils/src/test/kotlin/org/onap/dcae/collectors/veshv/utils/messages/parameters.kt b/hv-collector-utils/src/test/kotlin/org/onap/dcae/collectors/veshv/utils/messages/parameters.kt deleted file mode 100644 index f6a3a15b..00000000 --- a/hv-collector-utils/src/test/kotlin/org/onap/dcae/collectors/veshv/utils/messages/parameters.kt +++ /dev/null @@ -1,98 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * dcaegen2-collectors-veshv - * ================================================================================ - * Copyright (C) 2018 NOKIA - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ -package org.onap.dcae.collectors.veshv.utils.messages - -import javax.json.Json - -private const val validMessageParameters = "[\n" + - " {\n" + - " \"commonEventHeader\": {\n" + - " \"version\": \"sample-version\",\n" + - " \"domain\": \"HVRANMEAS\",\n" + - " \"sequence\": 1,\n" + - " \"priority\": 1,\n" + - " \"eventId\": \"sample-event-id\",\n" + - " \"eventName\": \"sample-event-name\",\n" + - " \"eventType\": \"sample-event-type\",\n" + - " \"startEpochMicrosec\": 120034455,\n" + - " \"lastEpochMicrosec\": 120034455,\n" + - " \"nfNamingCode\": \"sample-nf-naming-code\",\n" + - " \"nfcNamingCode\": \"sample-nfc-naming-code\",\n" + - " \"reportingEntityId\": \"sample-reporting-entity-id\",\n" + - " \"reportingEntityName\": \"sample-reporting-entity-name\",\n" + - " \"sourceId\": \"sample-source-id\",\n" + - " \"sourceName\": \"sample-source-name\"\n" + - " },\n" + - " \"messageType\": \"VALID\",\n" + - " \"messagesAmount\": 25000\n" + - " },\n" + - " {\n" + - " \"commonEventHeader\": {\n" + - " \"version\": \"sample-version\",\n" + - " \"domain\": \"HVRANMEAS\",\n" + - " \"sequence\": 1,\n" + - " \"priority\": 1,\n" + - " \"eventId\": \"sample-event-id\",\n" + - " \"eventName\": \"sample-event-name\",\n" + - " \"eventType\": \"sample-event-type\",\n" + - " \"startEpochMicrosec\": 120034455,\n" + - " \"lastEpochMicrosec\": 120034455,\n" + - " \"nfNamingCode\": \"sample-nf-naming-code\",\n" + - " \"nfcNamingCode\": \"sample-nfc-naming-code\",\n" + - " \"reportingEntityId\": \"sample-reporting-entity-id\",\n" + - " \"reportingEntityName\": \"sample-reporting-entity-name\",\n" + - " \"sourceId\": \"sample-source-id\",\n" + - " \"sourceName\": \"sample-source-name\"\n" + - " },\n" + - " \"messageType\": \"TOO_BIG_PAYLOAD\",\n" + - " \"messagesAmount\": 100\n" + - " }\n" + - "]" - -private const val invalidMessageParameters = "[\n" + - " {\n" + - " \"commonEventHeader\": {\n" + - " \"version\": \"sample-version\",\n" + - " \"domain\": \"HVRANMEAS\",\n" + - " \"sequence\": 1,\n" + - " \"priority\": 1,\n" + - " \"eventId\": \"sample-event-id\",\n" + - " \"eventName\": \"sample-event-name\",\n" + - " \"eventType\": \"sample-event-type\",\n" + - " \"startEpochMicrosec\": 120034455,\n" + - " \"lastEpochMicrosec\": 120034455,\n" + - " \"nfNamingCode\": \"sample-nf-naming-code\",\n" + - " \"nfcNamingCode\": \"sample-nfc-naming-code\",\n" + - " \"reportingEntityId\": \"sample-reporting-entity-id\",\n" + - " \"reportingEntityName\": \"sample-reporting-entity-name\",\n" + - " \"sourceId\": \"sample-source-id\",\n" + - " \"sourceName\": \"sample-source-name\"\n" + - " },\n" + - " \"messagesAmount\": 3\n" + - " }\n" + - "]" - -fun validMessagesParametesJson() = Json - .createReader(validMessageParameters.reader()) - .readArray() - -fun invalidMessagesParametesJson() = Json - .createReader(invalidMessageParameters.reader()) - .readArray() -- cgit 1.2.3-korg