diff options
author | gjoranv <gv@verizonmedia.com> | 2022-05-23 11:57:33 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-23 11:57:33 +0200 |
commit | c39a1fa5bd4db83e6f34a826f5c7ecb0b9b1144c (patch) | |
tree | 02ee67b66f38ba44cc330e9660fca9da7567f906 | |
parent | 01684de5af498c76f7bb78edb8864ad14b6610ff (diff) | |
parent | 72210d64d32feb63b68bb3bbf7af7a550d558392 (diff) |
Merge pull request #22704 from vespa-engine/stop-using-findbugs
Stop using findbugs
27 files changed, 1 insertions, 71 deletions
diff --git a/flags/pom.xml b/flags/pom.xml index 5f0d3e1d481..10e0249ce80 100644 --- a/flags/pom.xml +++ b/flags/pom.xml @@ -55,11 +55,6 @@ <scope>provided</scope> </dependency> <dependency> - <groupId>com.google.code.findbugs</groupId> - <artifactId>jsr305</artifactId> - <scope>provided</scope> - </dependency> - <dependency> <groupId>com.google.inject</groupId> <artifactId>guice</artifactId> <classifier>no_aop</classifier> diff --git a/flags/src/main/java/com/yahoo/vespa/flags/BooleanFlag.java b/flags/src/main/java/com/yahoo/vespa/flags/BooleanFlag.java index fb0335408cb..7dc1c66fd11 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/BooleanFlag.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/BooleanFlag.java @@ -1,12 +1,9 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.flags; -import javax.annotation.concurrent.Immutable; - /** * @author hakonhall */ -@Immutable public class BooleanFlag extends FlagImpl<Boolean, BooleanFlag> { public BooleanFlag(FlagId id, boolean defaultValue, FetchVector vector, FlagSerializer<Boolean> serializer, FlagSource source) { super(id, defaultValue, vector, serializer, source, BooleanFlag::new); diff --git a/flags/src/main/java/com/yahoo/vespa/flags/DoubleFlag.java b/flags/src/main/java/com/yahoo/vespa/flags/DoubleFlag.java index d8cddbff432..46db839905f 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/DoubleFlag.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/DoubleFlag.java @@ -1,12 +1,9 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.flags; -import javax.annotation.concurrent.Immutable; - /** * @author freva */ -@Immutable public class DoubleFlag extends FlagImpl<Double, DoubleFlag> { public DoubleFlag(FlagId id, Double defaultValue, FetchVector vector, FlagSerializer<Double> serializer, FlagSource source) { super(id, defaultValue, vector, serializer, source, DoubleFlag::new); diff --git a/flags/src/main/java/com/yahoo/vespa/flags/FetchVector.java b/flags/src/main/java/com/yahoo/vespa/flags/FetchVector.java index 0faef17bf63..9f40013f627 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/FetchVector.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/FetchVector.java @@ -3,7 +3,6 @@ package com.yahoo.vespa.flags; import com.yahoo.vespa.flags.json.DimensionHelper; -import javax.annotation.concurrent.Immutable; import java.util.EnumMap; import java.util.Map; import java.util.Objects; @@ -16,7 +15,6 @@ import java.util.function.Consumer; * * @author hakonhall */ -@Immutable public class FetchVector { /** * Note: If this enum is changed, you must also change {@link DimensionHelper}. diff --git a/flags/src/main/java/com/yahoo/vespa/flags/FlagDefinition.java b/flags/src/main/java/com/yahoo/vespa/flags/FlagDefinition.java index 0b4e18d496d..1773a03feb1 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/FlagDefinition.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/FlagDefinition.java @@ -1,7 +1,6 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.flags; -import javax.annotation.concurrent.Immutable; import java.time.Instant; import java.util.EnumSet; import java.util.List; @@ -10,7 +9,6 @@ import java.util.Set; /** * @author hakonhall */ -@Immutable public class FlagDefinition { private final UnboundFlag<?, ?, ?> unboundFlag; private final List<String> owners; diff --git a/flags/src/main/java/com/yahoo/vespa/flags/FlagId.java b/flags/src/main/java/com/yahoo/vespa/flags/FlagId.java index 36ec5c03300..e60e1cc1b38 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/FlagId.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/FlagId.java @@ -1,14 +1,12 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.flags; -import javax.annotation.concurrent.Immutable; import java.util.Objects; import java.util.regex.Pattern; /** * @author hakonhall */ -@Immutable public class FlagId implements Comparable<FlagId> { private static final Pattern ID_PATTERN = Pattern.compile("^[a-zA-Z0-9][a-zA-Z0-9._-]*$"); diff --git a/flags/src/main/java/com/yahoo/vespa/flags/IntFlag.java b/flags/src/main/java/com/yahoo/vespa/flags/IntFlag.java index 689ceb9fe24..9976013be9e 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/IntFlag.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/IntFlag.java @@ -1,12 +1,10 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.flags; -import javax.annotation.concurrent.Immutable; /** * @author hakonhall */ -@Immutable public class IntFlag extends FlagImpl<Integer, IntFlag> { public IntFlag(FlagId id, int defaultValue, FetchVector vector, FlagSerializer<Integer> serializer, FlagSource source) { super(id, defaultValue, vector, serializer, source, IntFlag::new); diff --git a/flags/src/main/java/com/yahoo/vespa/flags/JacksonFlag.java b/flags/src/main/java/com/yahoo/vespa/flags/JacksonFlag.java index ec3953be931..69d003275f1 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/JacksonFlag.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/JacksonFlag.java @@ -1,12 +1,9 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.flags; -import javax.annotation.concurrent.Immutable; - /** * @author hakonhall */ -@Immutable public class JacksonFlag<T> extends FlagImpl<T, JacksonFlag<T>> { public JacksonFlag(FlagId id, T defaultValue, FetchVector vector, FlagSerializer<T> serializer, FlagSource source) { super(id, defaultValue, vector, serializer, source, JacksonFlag::new); diff --git a/flags/src/main/java/com/yahoo/vespa/flags/ListFlag.java b/flags/src/main/java/com/yahoo/vespa/flags/ListFlag.java index be7d9429858..29f51ca2d68 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/ListFlag.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/ListFlag.java @@ -1,13 +1,11 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.flags; -import javax.annotation.concurrent.Immutable; import java.util.List; /** * @author freva */ -@Immutable public class ListFlag<T> extends FlagImpl<List<T>, ListFlag<T>> { public ListFlag(FlagId id, List<T> defaultValue, FetchVector vector, FlagSerializer<List<T>> serializer, FlagSource source) { super(id, defaultValue, vector, serializer, source, ListFlag::new); diff --git a/flags/src/main/java/com/yahoo/vespa/flags/LongFlag.java b/flags/src/main/java/com/yahoo/vespa/flags/LongFlag.java index b8b38ce1ffd..eea25644962 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/LongFlag.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/LongFlag.java @@ -1,12 +1,9 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.flags; -import javax.annotation.concurrent.Immutable; - /** * @author hakonhall */ -@Immutable public class LongFlag extends FlagImpl<Long, LongFlag> { public LongFlag(FlagId id, Long defaultValue, FetchVector vector, FlagSerializer<Long> serializer, FlagSource source) { super(id, defaultValue, vector, serializer, source, LongFlag::new); diff --git a/flags/src/main/java/com/yahoo/vespa/flags/StringFlag.java b/flags/src/main/java/com/yahoo/vespa/flags/StringFlag.java index f1b6784921d..5034d2a0001 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/StringFlag.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/StringFlag.java @@ -1,12 +1,9 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.flags; -import javax.annotation.concurrent.Immutable; - /** * @author hakonhall */ -@Immutable public class StringFlag extends FlagImpl<String, StringFlag> { public StringFlag(FlagId id, String defaultValue, FetchVector vector, FlagSerializer<String> serializer, FlagSource source) { super(id, defaultValue, vector, serializer, source, StringFlag::new); diff --git a/flags/src/main/java/com/yahoo/vespa/flags/UnboundBooleanFlag.java b/flags/src/main/java/com/yahoo/vespa/flags/UnboundBooleanFlag.java index 17f8328a67e..b787131326c 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/UnboundBooleanFlag.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/UnboundBooleanFlag.java @@ -4,12 +4,9 @@ package com.yahoo.vespa.flags; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.BooleanNode; -import javax.annotation.concurrent.Immutable; - /** * @author hakonhall */ -@Immutable public class UnboundBooleanFlag extends UnboundFlagImpl<Boolean, BooleanFlag, UnboundBooleanFlag> { public UnboundBooleanFlag(FlagId id) { this(id, false); diff --git a/flags/src/main/java/com/yahoo/vespa/flags/UnboundDoubleFlag.java b/flags/src/main/java/com/yahoo/vespa/flags/UnboundDoubleFlag.java index 6b6911f0357..c3adfeb0014 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/UnboundDoubleFlag.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/UnboundDoubleFlag.java @@ -4,12 +4,9 @@ package com.yahoo.vespa.flags; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.DoubleNode; -import javax.annotation.concurrent.Immutable; - /** * @author freva */ -@Immutable public class UnboundDoubleFlag extends UnboundFlagImpl<Double, DoubleFlag, UnboundDoubleFlag> { public UnboundDoubleFlag(FlagId id, double defaultValue) { this(id, defaultValue, new FetchVector()); diff --git a/flags/src/main/java/com/yahoo/vespa/flags/UnboundIntFlag.java b/flags/src/main/java/com/yahoo/vespa/flags/UnboundIntFlag.java index 1f7c0206ee6..eed60bfa852 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/UnboundIntFlag.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/UnboundIntFlag.java @@ -4,12 +4,9 @@ package com.yahoo.vespa.flags; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.IntNode; -import javax.annotation.concurrent.Immutable; - /** * @author hakonhall */ -@Immutable public class UnboundIntFlag extends UnboundFlagImpl<Integer, IntFlag, UnboundIntFlag> { public UnboundIntFlag(FlagId id, int defaultValue) { this(id, defaultValue, new FetchVector()); diff --git a/flags/src/main/java/com/yahoo/vespa/flags/UnboundJacksonFlag.java b/flags/src/main/java/com/yahoo/vespa/flags/UnboundJacksonFlag.java index 21680e7d75b..bef15270787 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/UnboundJacksonFlag.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/UnboundJacksonFlag.java @@ -1,12 +1,9 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.flags; -import javax.annotation.concurrent.Immutable; - /** * @author hakonhall */ -@Immutable public class UnboundJacksonFlag<T> extends UnboundFlagImpl<T, JacksonFlag<T>, UnboundJacksonFlag<T>> { public UnboundJacksonFlag(FlagId id, T defaultValue, Class<T> jacksonClass) { this(id, defaultValue, new FetchVector(), jacksonClass); diff --git a/flags/src/main/java/com/yahoo/vespa/flags/UnboundListFlag.java b/flags/src/main/java/com/yahoo/vespa/flags/UnboundListFlag.java index 624f23dea7d..3905c3fab5e 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/UnboundListFlag.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/UnboundListFlag.java @@ -1,13 +1,11 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.flags; -import javax.annotation.concurrent.Immutable; import java.util.List; /** * @author freva */ -@Immutable public class UnboundListFlag<T> extends UnboundFlagImpl<List<T>, ListFlag<T>, UnboundListFlag<T>> { public UnboundListFlag(FlagId id, List<T> defaultValue, Class<T> clazz) { this(id, defaultValue, clazz, new FetchVector()); diff --git a/flags/src/main/java/com/yahoo/vespa/flags/UnboundLongFlag.java b/flags/src/main/java/com/yahoo/vespa/flags/UnboundLongFlag.java index 590d7958c0b..594fae9dfc7 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/UnboundLongFlag.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/UnboundLongFlag.java @@ -4,12 +4,9 @@ package com.yahoo.vespa.flags; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.LongNode; -import javax.annotation.concurrent.Immutable; - /** * @author hakonhall */ -@Immutable public class UnboundLongFlag extends UnboundFlagImpl<Long, LongFlag, UnboundLongFlag> { public UnboundLongFlag(FlagId id, long defaultValue) { this(id, defaultValue, new FetchVector()); diff --git a/flags/src/main/java/com/yahoo/vespa/flags/UnboundStringFlag.java b/flags/src/main/java/com/yahoo/vespa/flags/UnboundStringFlag.java index ae4e2269ccb..f96be55e2eb 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/UnboundStringFlag.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/UnboundStringFlag.java @@ -4,12 +4,9 @@ package com.yahoo.vespa.flags; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.TextNode; -import javax.annotation.concurrent.Immutable; - /** * @author hakonhall */ -@Immutable public class UnboundStringFlag extends UnboundFlagImpl<String, StringFlag, UnboundStringFlag> { public UnboundStringFlag(FlagId id, String defaultValue) { this(id, defaultValue, new FetchVector()); diff --git a/flags/src/main/java/com/yahoo/vespa/flags/json/FlagData.java b/flags/src/main/java/com/yahoo/vespa/flags/json/FlagData.java index ddcf53aa5a4..28dbc588648 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/json/FlagData.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/json/FlagData.java @@ -11,7 +11,6 @@ import com.yahoo.vespa.flags.json.wire.WireFlagData; import com.yahoo.vespa.flags.json.wire.WireFlagDataList; import com.yahoo.vespa.flags.json.wire.WireRule; -import javax.annotation.concurrent.Immutable; import java.io.InputStream; import java.io.OutputStream; import java.util.List; @@ -25,7 +24,6 @@ import java.util.stream.Stream; * * @author hakonhall */ -@Immutable public class FlagData { private final FlagId id; private final List<Rule> rules; diff --git a/node-admin/pom.xml b/node-admin/pom.xml index b58d20e8877..ff1e159de0d 100644 --- a/node-admin/pom.xml +++ b/node-admin/pom.xml @@ -56,10 +56,6 @@ <!-- Compile --> <dependency> - <groupId>com.google.code.findbugs</groupId> - <artifactId>jsr305</artifactId> - </dependency> - <dependency> <groupId>com.yahoo.vespa</groupId> <artifactId>orchestrator-restapi</artifactId> <version>${project.version}</version> diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/provider/DebugHandlerHelper.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/provider/DebugHandlerHelper.java index 275a99a4993..6e74297f2e7 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/provider/DebugHandlerHelper.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/provider/DebugHandlerHelper.java @@ -2,7 +2,6 @@ package com.yahoo.vespa.hosted.node.admin.provider; -import javax.annotation.concurrent.ThreadSafe; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; @@ -17,7 +16,6 @@ import java.util.stream.Collectors; * * @author hakonhall */ -@ThreadSafe public class DebugHandlerHelper implements NodeAdminDebugHandler { private final ConcurrentMap<String, Supplier<Object>> suppliers = new ConcurrentHashMap<>(); diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/provider/NodeAdminDebugHandler.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/provider/NodeAdminDebugHandler.java index d2928891a53..f62f29b8b73 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/provider/NodeAdminDebugHandler.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/provider/NodeAdminDebugHandler.java @@ -2,7 +2,6 @@ package com.yahoo.vespa.hosted.node.admin.provider; -import javax.annotation.concurrent.ThreadSafe; import java.util.Map; /** @@ -10,7 +9,6 @@ import java.util.Map; * * @author hakonhall */ -@ThreadSafe public interface NodeAdminDebugHandler { /** * The Object in the map values must be serializable with Jackson's ObjectMapper. diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/editor/Mark.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/editor/Mark.java index 8058fecc631..9c6871010c8 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/editor/Mark.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/editor/Mark.java @@ -2,13 +2,11 @@ package com.yahoo.vespa.hosted.node.admin.task.util.editor; -import javax.annotation.concurrent.Immutable; import java.util.Objects; /** * @author hakon */ -@Immutable public class Mark { private final Position position; private final Version version; diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/editor/Position.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/editor/Position.java index ff6ebf32b06..8f892cf8650 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/editor/Position.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/editor/Position.java @@ -1,7 +1,6 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.hosted.node.admin.task.util.editor; -import javax.annotation.concurrent.Immutable; import java.util.Comparator; import java.util.Objects; @@ -10,7 +9,6 @@ import java.util.Objects; * * @author hakon */ -@Immutable public class Position implements Comparable<Position> { private static final Position START_POSITION = new Position(0, 0); diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/editor/Version.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/editor/Version.java index 375f6ae1d2c..137fb677e83 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/editor/Version.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/editor/Version.java @@ -2,7 +2,6 @@ package com.yahoo.vespa.hosted.node.admin.task.util.editor; -import javax.annotation.concurrent.Immutable; import java.util.Objects; /** @@ -10,7 +9,6 @@ import java.util.Objects; * * @author hakon */ -@Immutable public class Version { private final int version; diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/LineEdit.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/LineEdit.java index 8015cc27fd4..a471d952dbc 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/LineEdit.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/LineEdit.java @@ -1,7 +1,6 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.hosted.node.admin.task.util.file; -import javax.annotation.concurrent.Immutable; import java.util.List; import static com.yahoo.vespa.hosted.node.admin.task.util.file.LineEdit.Type.REPLACE; @@ -10,7 +9,6 @@ import static com.yahoo.vespa.hosted.node.admin.task.util.file.LineEdit.Type.NON /** * @author hakonhall */ -@Immutable public class LineEdit { enum Type { NONE, REPLACE } diff --git a/service-monitor/src/main/java/com/yahoo/vespa/service/monitor/ServiceId.java b/service-monitor/src/main/java/com/yahoo/vespa/service/monitor/ServiceId.java index 877fb5f213c..a4bfeebef4f 100644 --- a/service-monitor/src/main/java/com/yahoo/vespa/service/monitor/ServiceId.java +++ b/service-monitor/src/main/java/com/yahoo/vespa/service/monitor/ServiceId.java @@ -6,15 +6,13 @@ import com.yahoo.vespa.applicationmodel.ClusterId; import com.yahoo.vespa.applicationmodel.ConfigId; import com.yahoo.vespa.applicationmodel.ServiceType; -import javax.annotation.concurrent.Immutable; import java.util.Objects; /** - * Identifies a service. + * Identifies a service. Immutable. * * @author hakon */ -@Immutable public class ServiceId { private final ApplicationId applicationId; private final ClusterId clusterId; |