From 4f8d6ad4a0386ee23a9f0080e9427bbd4ddf611a Mon Sep 17 00:00:00 2001 From: "Brian M. Long" Date: Wed, 6 Nov 2024 13:23:42 -0500 Subject: [PATCH] make ShardSet serializable --- .../com/inteligr8/alfresco/asie/model/ShardSet.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/shared/src/main/java/com/inteligr8/alfresco/asie/model/ShardSet.java b/shared/src/main/java/com/inteligr8/alfresco/asie/model/ShardSet.java index a3b2bb3..348db29 100644 --- a/shared/src/main/java/com/inteligr8/alfresco/asie/model/ShardSet.java +++ b/shared/src/main/java/com/inteligr8/alfresco/asie/model/ShardSet.java @@ -1,5 +1,6 @@ package com.inteligr8.alfresco.asie.model; +import java.io.Serializable; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; @@ -11,8 +12,10 @@ import org.alfresco.repo.index.shard.ShardMethodEnum; import org.alfresco.repo.index.shard.ShardState; import org.apache.commons.lang3.builder.HashCodeBuilder; -public class ShardSet { +public class ShardSet implements Serializable { + private static final long serialVersionUID = -8891094367429601316L; + /** * Examples: * @@ -24,12 +27,12 @@ public class ShardSet { * DATE;key:cm:created;date.grouping:3 * PROPERTY;key:cm:created;regex:^d{4} */ - private final Pattern shardSetPattern = Pattern.compile("([A-Z]+)(;fulltext)?(;([a-z]+):([^;]+))?(;([a-z]+):([^;]+))?"); + private static final Pattern shardSetPattern = Pattern.compile("([A-Z]+)(;fulltext)?(;([a-z]+):([^;]+))?(;([a-z]+):([^;]+))?"); private final ShardMethodEnum method; private final boolean hasContent; private final Map config; - private Integer hash; + private transient Integer hash; public ShardSet(Floc floc, ShardState anyShardNode) { this.method = floc.getShardMethod(); @@ -38,7 +41,7 @@ public class ShardSet { } public ShardSet(String shardSetSpec) { - Matcher matcher = this.shardSetPattern.matcher(shardSetSpec); + Matcher matcher = shardSetPattern.matcher(shardSetSpec); if (!matcher.find()) throw new IllegalArgumentException("The shard set '" + shardSetSpec + "' is not properly formatted");