From: Robert Varga Date: Thu, 22 Sep 2022 09:54:49 +0000 (+0200) Subject: Use ImmutableList for internal tracking X-Git-Tag: v0.16.3~7 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=1fe6b711a635f9c6b7d17272bdc4b61d62857b30;p=aaa.git Use ImmutableList for internal tracking We are already assuming immutability, clean up types to make things a tad more streamlined. Change-Id: I50c94050d4632a25c6c0dafb42fc87ec76cbc7aa Signed-off-by: Robert Varga --- diff --git a/aaa-filterchain/src/main/java/org/opendaylight/aaa/filterchain/configuration/impl/CustomFilterAdapterConfigurationImpl.java b/aaa-filterchain/src/main/java/org/opendaylight/aaa/filterchain/configuration/impl/CustomFilterAdapterConfigurationImpl.java index 0890da97c..45a9c7dba 100644 --- a/aaa-filterchain/src/main/java/org/opendaylight/aaa/filterchain/configuration/impl/CustomFilterAdapterConfigurationImpl.java +++ b/aaa-filterchain/src/main/java/org/opendaylight/aaa/filterchain/configuration/impl/CustomFilterAdapterConfigurationImpl.java @@ -68,9 +68,9 @@ public final class CustomFilterAdapterConfigurationImpl implements CustomFilterA * Saves a local copy of the most recent configuration so when a listener is * added, it can receive and initial update. */ - private volatile List namedFilterDTOs = Collections.emptyList(); + private volatile ImmutableList namedFilterDTOs = ImmutableList.of(); - private volatile List instanceFilterDTOs = Collections.emptyList(); + private volatile ImmutableList instanceFilterDTOs = ImmutableList.of(); @Activate void activate(final Map properties) { @@ -83,7 +83,7 @@ public final class CustomFilterAdapterConfigurationImpl implements CustomFilterA if (properties != null) { LOG.info("Custom filter properties updated: {}", properties); - this.namedFilterDTOs = getCustomFilterList(properties); + namedFilterDTOs = getCustomFilterList(properties); updateListeners(); } } @@ -104,8 +104,10 @@ public final class CustomFilterAdapterConfigurationImpl implements CustomFilterA } LOG.info("Custom Filter {} added", filter); - this.instanceFilterDTOs = ImmutableList.builder().addAll(instanceFilterDTOs) - .add(FilterDTO.createFilterDTO(filter)).build(); + instanceFilterDTOs = ImmutableList.builder() + .addAll(instanceFilterDTOs) + .add(FilterDTO.createFilterDTO(filter)) + .build(); updateListeners(); } @@ -117,8 +119,9 @@ public final class CustomFilterAdapterConfigurationImpl implements CustomFilterA LOG.info("Custom Filter {} removed", filter); FilterDTO toRemove = FilterDTO.createFilterDTO(filter); - this.instanceFilterDTOs = ImmutableList.copyOf(instanceFilterDTOs.stream().filter(dto -> !dto.equals(toRemove)) - .collect(Collectors.toList())); + instanceFilterDTOs = instanceFilterDTOs.stream() + .filter(dto -> !dto.equals(toRemove)) + .collect(ImmutableList.toImmutableList()); updateListeners(); } @@ -251,21 +254,21 @@ public final class CustomFilterAdapterConfigurationImpl implements CustomFilterA * @return A non-null List of the custom filter * fully qualified class names. */ - private static List getCustomFilterList(final Map configuration) { - final String customFilterListValue = configuration.get(CUSTOM_FILTER_LIST_KEY); - final ImmutableList.Builder customFilterListBuilder = ImmutableList.builder(); - if (customFilterListValue != null) { - // Creates the list from comma separate values; whitespace is removed first - for (String filterClazzName : customFilterListValue.replaceAll("\\s", "").split(FILTER_DTO_SEPARATOR)) { - if (!Strings.isNullOrEmpty(filterClazzName)) { - final Map applicableConfigs = extractPropertiesForFilter(filterClazzName, - configuration); - final FilterDTO filterDTO = FilterDTO.createFilterDTO(filterClazzName, applicableConfigs); - customFilterListBuilder.add(filterDTO); - } + private static ImmutableList getCustomFilterList(final Map configuration) { + final var customFilterListValue = configuration.get(CUSTOM_FILTER_LIST_KEY); + if (customFilterListValue == null) { + return ImmutableList.of(); + } + + final var builder = ImmutableList.builder(); + // Creates the list from comma separate values; whitespace is removed first + for (var filterClazzName : customFilterListValue.replaceAll("\\s", "").split(FILTER_DTO_SEPARATOR)) { + if (!Strings.isNullOrEmpty(filterClazzName)) { + builder.add(FilterDTO.createFilterDTO(filterClazzName, + extractPropertiesForFilter(filterClazzName, configuration))); } } - return customFilterListBuilder.build(); + return builder.build(); } /**