Make CategoryParameter.getOptions() unmodifiable 48/71948/1
authorJoanna Jeremicz <joanna.jeremicz@nokia.com>
Tue, 6 Nov 2018 14:09:13 +0000 (15:09 +0100)
committerJoanna Jeremicz <joanna.jeremicz@nokia.com>
Tue, 6 Nov 2018 14:09:13 +0000 (15:09 +0100)
Change-Id: If7331577febe058d4415aab0d2336e60213fd7bb
Issue-ID: VID-344
Signed-off-by: Joanna Jeremicz <joanna.jeremicz@nokia.com>
vid-app-common/src/main/java/org/onap/vid/model/CategoryParameter.java
vid-app-common/src/test/java/org/onap/vid/services/CategoryParameterServiceImplTest.java

index 91617ff..85caac4 100644 (file)
@@ -22,6 +22,7 @@ package org.onap.vid.model;
  * ============LICENSE_END=========================================================
  */
 
+import java.util.Collections;
 import java.util.HashSet;
 import java.util.Objects;
 import java.util.Set;
@@ -82,7 +83,7 @@ public class CategoryParameter extends VidBaseEntity {
 
     @OneToMany(fetch = FetchType.EAGER, mappedBy = "categoryParameter")
     public Set<CategoryParameterOption> getOptions() {
-        return options;
+        return Collections.unmodifiableSet(options);
     }
 
     public void setOptions(Set<CategoryParameterOption> options) {
index 6ac7b54..7992cbb 100644 (file)
@@ -97,7 +97,8 @@ public class CategoryParameterServiceImplTest {
         AddCategoryOptionsRequest optionsRequest = new AddCategoryOptionsRequest();
         optionsRequest.options.add(OPTION_NAME);
         CategoryParameter categoryParameter = createCategoryParameter(CATEGORY_NAME, true);
-        categoryParameter.getOptions().add(new CategoryParameterOption(APP_ID_VID, OPTION_NAME, categoryParameter));
+        CategoryParameter anotherCategoryParameter = createCategoryParameter(CATEGORY_NAME, true);
+        categoryParameter.addOption(new CategoryParameterOption(APP_ID_VID, OPTION_NAME, anotherCategoryParameter));
         List<CategoryParameter> aList = createCategoryParametersList(categoryParameter);
 
         String expectedError = String.format(CategoryParameterServiceImpl.OPTION_ALREADY_EXIST_FOR_CATEGORY
@@ -157,9 +158,10 @@ public class CategoryParameterServiceImplTest {
     @Test
     public void deleteCategoryOption_happyPath() {
         CategoryParameter categoryParameter = createCategoryParameter(CATEGORY_NAME, true);
+        CategoryParameter anotherCategoryParameter = createCategoryParameter(CATEGORY_NAME, true);
         CategoryParameterOption categoryParameterOption =
-            new CategoryParameterOption(APP_ID_VID, OPTION_NAME, categoryParameter);
-        categoryParameter.getOptions().add(categoryParameterOption);
+            new CategoryParameterOption(APP_ID_VID, OPTION_NAME, anotherCategoryParameter);
+        categoryParameter.addOption(categoryParameterOption);
         List<CategoryParameter> aList = createCategoryParametersList(categoryParameter);
 
         doReturn(aList).when(dataAccessService).getList(anyObject(), anyString(), anyString(), anyObject());
@@ -173,9 +175,10 @@ public class CategoryParameterServiceImplTest {
     @Test
     public void getCategoryParametersTest() {
         CategoryParameter categoryParameter = createCategoryParameter(CATEGORY_NAME, true);
+        CategoryParameter anotherCategoryParameter = createCategoryParameter(CATEGORY_NAME, true);
         CategoryParameterOption categoryParameterOption =
-            new CategoryParameterOption(APP_ID_VID, OPTION_NAME, categoryParameter);
-        categoryParameter.getOptions().add(categoryParameterOption);
+            new CategoryParameterOption(APP_ID_VID, OPTION_NAME, anotherCategoryParameter);
+        categoryParameter.addOption(categoryParameterOption);
         List<CategoryParameter> aList = createCategoryParametersList(categoryParameter);
 
         doReturn(aList).when(dataAccessService).getList(anyObject(), anyString(), anyString(), anyObject());
@@ -193,8 +196,9 @@ public class CategoryParameterServiceImplTest {
     public void updateCategoryParameterOption_domainObjectGetsSavedSuccessfully() {
         CategoryParameterOptionRep optionRepExisting = new CategoryParameterOptionRep(APP_ID_VID, OPTION_NAME);
         CategoryParameter categoryParameter = createCategoryParameter(CATEGORY_NAME, true);
-        categoryParameter.getOptions().add(
-            new CategoryParameterOption(APP_ID_VID, UNIQUE_OPTION_NAME, categoryParameter));
+        CategoryParameter anotherCategoryParameter = createCategoryParameter(CATEGORY_NAME, true);
+        categoryParameter.addOption(
+            new CategoryParameterOption(APP_ID_VID, UNIQUE_OPTION_NAME, anotherCategoryParameter));
         List<CategoryParameter> aList = createCategoryParametersList(categoryParameter);
 
         doReturn(aList).when(dataAccessService).getList(CategoryParameter.class, QUERY_STRING_FOR_CATEGORY_NAME, null, null);
@@ -209,7 +213,8 @@ public class CategoryParameterServiceImplTest {
     public void updateCategoryParameterOption_shouldFailUpdateForbidden() {
         CategoryParameterOptionRep optionRep = new CategoryParameterOptionRep("1", CATEGORY_NAME);
         CategoryParameter categoryParameter = createCategoryParameter(CATEGORY_NAME, false);
-        categoryParameter.getOptions().add(new CategoryParameterOption(APP_ID_VID, OPTION_NAME, categoryParameter));
+        CategoryParameter anotherCategoryParameter = createCategoryParameter(CATEGORY_NAME, false);
+        categoryParameter.addOption(new CategoryParameterOption(APP_ID_VID, OPTION_NAME, anotherCategoryParameter));
         List<CategoryParameter> aList = createCategoryParametersList(categoryParameter);
 
         doReturn(aList).when(dataAccessService).getList(CategoryParameter.class, QUERY_STRING_FOR_CATEGORY_NAME, null, null);
@@ -224,7 +229,8 @@ public class CategoryParameterServiceImplTest {
         CategoryParameterOptionRep optionRep = new CategoryParameterOptionRep("SOME_UNRELATED_ID", CATEGORY_NAME);
 
         CategoryParameter categoryParameter = createCategoryParameter(CATEGORY_NAME, true);
-        categoryParameter.getOptions().add(new CategoryParameterOption(APP_ID_VID, OPTION_NAME, categoryParameter));
+        CategoryParameter anotherCategoryParameter = createCategoryParameter(CATEGORY_NAME, true);
+        categoryParameter.addOption(new CategoryParameterOption(APP_ID_VID, OPTION_NAME, anotherCategoryParameter));
         List<CategoryParameter> aList = createCategoryParametersList(categoryParameter);
 
         doReturn(aList).when(dataAccessService).getList(CategoryParameter.class, QUERY_STRING_FOR_CATEGORY_NAME, null, null);
@@ -240,9 +246,9 @@ public class CategoryParameterServiceImplTest {
 
         CategoryParameter categoryParameter = createCategoryParameter(CATEGORY_NAME, true);
         CategoryParameter anotherCategoryParameter = createCategoryParameter(CATEGORY_NAME, true);
-        categoryParameter.getOptions().add(
+        categoryParameter.addOption(
             new CategoryParameterOption(APP_ID_VID, UNIQUE_OPTION_NAME, anotherCategoryParameter));
-        categoryParameter.getOptions().add(
+        categoryParameter.addOption(
             new CategoryParameterOption(APP_ID_SDC, OPTION_NAME, anotherCategoryParameter));
         List<CategoryParameter> aList = createCategoryParametersList(categoryParameter);