From 886ffd112569eaa02cab85fb59a5a47db52c312d Mon Sep 17 00:00:00 2001 From: JulienBe Date: Thu, 18 Jun 2020 13:33:05 +0200 Subject: fix sonar issues related to MessageContainer.java Issue-ID: SDC-3127 Signed-off-by: JulienBe Change-Id: I02357fa3cbf7afd7845737ba01c72dc202401882 Signed-off-by: JulienBe --- .../core/validation/types/MessageContainer.java | 84 ++++++++++------------ .../validation/types/MessageContainerTest.java | 69 ++++++++++++++++++ 2 files changed, 108 insertions(+), 45 deletions(-) create mode 100644 openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/src/test/java/org/openecomp/core/validation/types/MessageContainerTest.java (limited to 'openecomp-be/lib') diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/src/main/java/org/openecomp/core/validation/types/MessageContainer.java b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/src/main/java/org/openecomp/core/validation/types/MessageContainer.java index 977c5cc27d..eb57672315 100644 --- a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/src/main/java/org/openecomp/core/validation/types/MessageContainer.java +++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/src/main/java/org/openecomp/core/validation/types/MessageContainer.java @@ -7,9 +7,9 @@ * 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. @@ -25,59 +25,53 @@ import org.openecomp.sdc.datatypes.error.ErrorMessage; import java.util.ArrayList; import java.util.List; -import java.util.function.Predicate; - +import java.util.stream.Collectors; public class MessageContainer { - private List errorMessageList = new ArrayList<>(); - - public List getErrorMessageList() { - return errorMessageList; - } + private final List errorMessageList = new ArrayList<>(); - public MessageBuilder getMessageBuilder() { - return new MessageBuilder(); - } + public List getErrorMessageList() { + return errorMessageList; + } - /** - * Gets error message list by level. - * - * @param level the level - * @return the error message list by level - */ - public List getErrorMessageListByLevel(ErrorLevel level) { + public MessageBuilder getMessageBuilder() { + return new MessageBuilder(); + } - List errors = new ArrayList<>(); - errorMessageList.stream().filter(new Predicate() { - @Override - public boolean test(ErrorMessage errorMessage) { - return errorMessage.getLevel().equals(level); - } - }).forEach(errorMessage -> errors.add(errorMessage)); - return errors; - } + /** + * Gets error message list by level. + * Only this level, not this level and above + * + * @param level the level + * @return the error message list by level + */ + public List getErrorMessageListByLevel(ErrorLevel level) { + return errorMessageList.stream() + .filter(message -> message.getLevel().equals(level)) + .collect(Collectors.toList()); + } - public class MessageBuilder { + public class MessageBuilder { - String message; - ErrorLevel level; + String message; + ErrorLevel level; - MessageBuilder setMessage(String message) { - this.message = message; - return this; - } + MessageBuilder setMessage(String message) { + this.message = message; + return this; + } - MessageBuilder setLevel(ErrorLevel level) { - this.level = level; - return this; - } + MessageBuilder setLevel(ErrorLevel level) { + this.level = level; + return this; + } - void create() { - ErrorMessage errorMessage = new ErrorMessage(level, message); - if (!errorMessageList.contains(errorMessage)) { - errorMessageList.add(errorMessage); - } + void create() { + ErrorMessage errorMessage = new ErrorMessage(level, message); + if (!errorMessageList.contains(errorMessage)) { + errorMessageList.add(errorMessage); + } + } } - } } diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/src/test/java/org/openecomp/core/validation/types/MessageContainerTest.java b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/src/test/java/org/openecomp/core/validation/types/MessageContainerTest.java new file mode 100644 index 0000000000..e71d9778a7 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-api/src/test/java/org/openecomp/core/validation/types/MessageContainerTest.java @@ -0,0 +1,69 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2020 AT&T Intellectual Property. 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. + * 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.openecomp.core.validation.types; + +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.openecomp.sdc.datatypes.error.ErrorLevel; + +public class MessageContainerTest { + + final static MessageContainer container = new MessageContainer(); + final static String mess1 = "Message 1"; + final static String mess2 = "Message 2"; + final static String mess3 = "Third Message"; + final static String mess4 = "That's mess 4"; + + @BeforeAll + public static void setup() { + container.getMessageBuilder() + .setMessage(mess1) + .setLevel(ErrorLevel.ERROR).create(); + container.getMessageBuilder() + .setMessage(mess2) + .setLevel(ErrorLevel.INFO).create(); + container.getMessageBuilder() + .setMessage(mess3) + .setLevel(ErrorLevel.INFO).create(); + container.getMessageBuilder() + .setMessage(mess4) + .setLevel(ErrorLevel.WARNING).create(); + } + + @Test + public void getErrorMessageListTest() { + assertEquals(4, container.getErrorMessageList().size()); + assertEquals(mess1, container.getErrorMessageList().get(0).getMessage()); + assertEquals(mess2, container.getErrorMessageList().get(1).getMessage()); + assertEquals(ErrorLevel.ERROR, container.getErrorMessageList().get(0).getLevel()); + assertEquals(ErrorLevel.INFO, container.getErrorMessageList().get(1).getLevel()); + } + @Test + public void getErrorMessageListByLevelTest() { + assertEquals(1, container.getErrorMessageListByLevel(ErrorLevel.WARNING).size()); + assertEquals(2, container.getErrorMessageListByLevel(ErrorLevel.INFO).size()); + assertEquals(1, container.getErrorMessageListByLevel(ErrorLevel.ERROR).size()); + assertEquals(mess1, container.getErrorMessageListByLevel(ErrorLevel.ERROR).get(0).getMessage()); + assertEquals(ErrorLevel.ERROR, container.getErrorMessageListByLevel(ErrorLevel.ERROR).get(0).getLevel()); + } +} -- cgit 1.2.3-korg