diff --git a/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/DBIDRangeRouter.java b/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/DBIDRangeRouter.java index 681df7b21..bbbcca37d 100644 --- a/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/DBIDRangeRouter.java +++ b/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/DBIDRangeRouter.java @@ -21,8 +21,6 @@ package org.alfresco.solr.tracker; import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicLong; -import java.util.stream.Collectors; -import java.util.stream.Stream; import org.alfresco.service.namespace.QName; import org.alfresco.solr.client.Acl; @@ -112,9 +110,7 @@ public class DBIDRangeRouter implements DocRouter @Override public Map getProperties(QName shardProperty) { - return Stream.of(new String[][] { - { DocRouterFactory.SHARD_RANGE_KEY, startRange + "-" + expandableRange }, - }).collect(Collectors.toMap(data -> data[0], data -> data[1])); + return Map.of(DocRouterFactory.SHARD_RANGE_KEY, startRange + "-" + expandableRange); } } diff --git a/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/DateMonthRouter.java b/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/DateMonthRouter.java index 756d5cf6c..8870f02e6 100644 --- a/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/DateMonthRouter.java +++ b/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/DateMonthRouter.java @@ -26,11 +26,10 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.Calendar; +import java.util.Collections; import java.util.Date; import java.util.GregorianCalendar; import java.util.Map; -import java.util.stream.Collectors; -import java.util.stream.Stream; /** * The date-based sharding assigns dates sequentially through shards based on the month. @@ -124,10 +123,12 @@ public class DateMonthRouter implements DocRouter @Override public Map getProperties(QName shardProperty) { - return Stream.of(new String[][] { - { DocRouterFactory.SHARD_KEY_KEY, shardProperty.getPrefixString() }, - { DocRouterFactory.SHARD_DATE_GROUPING_KEY, String.valueOf(grouping) }, - }).collect(Collectors.toMap(data -> data[0], data -> data[1])); + + return (shardProperty == null ? + Collections.emptyMap() : + Map.of(DocRouterFactory.SHARD_KEY_KEY, shardProperty.getPrefixString(), + DocRouterFactory.SHARD_DATE_GROUPING_KEY, String.valueOf(grouping))); + } } diff --git a/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/ExplicitShardIdWithDynamicPropertyRouter.java b/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/ExplicitShardIdWithDynamicPropertyRouter.java index ed4e6d154..383414bcc 100644 --- a/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/ExplicitShardIdWithDynamicPropertyRouter.java +++ b/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/ExplicitShardIdWithDynamicPropertyRouter.java @@ -18,9 +18,8 @@ */ package org.alfresco.solr.tracker; +import java.util.Collections; import java.util.Map; -import java.util.stream.Collectors; -import java.util.stream.Stream; import org.alfresco.service.namespace.QName; import org.alfresco.solr.client.Acl; @@ -81,9 +80,9 @@ public class ExplicitShardIdWithDynamicPropertyRouter extends ComposableDocRoute @Override public Map getProperties(QName shardProperty) { - return Stream.of(new String[][] { - { DocRouterFactory.SHARD_KEY_KEY, shardProperty.getPrefixString() }, - }).collect(Collectors.toMap(data -> data[0], data -> data[1])); + return (shardProperty == null ? + Collections.emptyMap() : + Map.of(DocRouterFactory.SHARD_KEY_KEY, shardProperty.getPrefixString())); } } diff --git a/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/PropertyRouter.java b/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/PropertyRouter.java index 91b838ee7..c64c59ab0 100644 --- a/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/PropertyRouter.java +++ b/search-services/alfresco-search/src/main/java/org/alfresco/solr/tracker/PropertyRouter.java @@ -26,11 +26,10 @@ import org.apache.solr.common.util.Hash; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Collections; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; -import java.util.stream.Collectors; -import java.util.stream.Stream; /** * Routes based on a text property field. @@ -129,10 +128,10 @@ public class PropertyRouter implements DocRouter @Override public Map getProperties(QName shardProperty) { - return Stream.of(new String[][] { - { DocRouterFactory.SHARD_KEY_KEY, shardProperty.getPrefixString() }, - { DocRouterFactory.SHARD_REGEX_KEY, propertyRegEx }, - }).collect(Collectors.toMap(data -> data[0], data -> data[1])); + return (shardProperty == null ? + Collections.emptyMap() : + Map.of(DocRouterFactory.SHARD_KEY_KEY, shardProperty.getPrefixString(), + DocRouterFactory.SHARD_REGEX_KEY, propertyRegEx)); } }