From 2ff316f11e8f383fbe724f27dcfe0951cf9bd710 Mon Sep 17 00:00:00 2001 From: Bilal Al-Shahwany Date: Fri, 4 Apr 2025 11:47:06 -0700 Subject: [PATCH 1/2] Added models and updated spec --- client/src/main/java/io/split/Spec.java | 4 +++- .../src/main/java/io/split/client/dtos/Excluded.java | 8 ++++++++ .../main/java/io/split/client/dtos/MatcherType.java | 5 ++++- .../java/io/split/client/dtos/RuleBasedSegment.java | 12 ++++++++++++ .../io/split/client/dtos/RuleBasedSegmentChange.java | 9 +++++++++ 5 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 client/src/main/java/io/split/client/dtos/Excluded.java create mode 100644 client/src/main/java/io/split/client/dtos/RuleBasedSegment.java create mode 100644 client/src/main/java/io/split/client/dtos/RuleBasedSegmentChange.java diff --git a/client/src/main/java/io/split/Spec.java b/client/src/main/java/io/split/Spec.java index 9e03a59a..847e19e1 100644 --- a/client/src/main/java/io/split/Spec.java +++ b/client/src/main/java/io/split/Spec.java @@ -6,6 +6,8 @@ private Spec() { // restrict instantiation } - public static final String SPEC_VERSION = "1.1"; + public static String SPEC_VERSION = "1.3"; + public static final String SPEC_1_3 = "1.3"; + public static final String SPEC_1_1 = "1.1"; } diff --git a/client/src/main/java/io/split/client/dtos/Excluded.java b/client/src/main/java/io/split/client/dtos/Excluded.java new file mode 100644 index 00000000..bc544d97 --- /dev/null +++ b/client/src/main/java/io/split/client/dtos/Excluded.java @@ -0,0 +1,8 @@ +package io.split.client.dtos; + +import java.util.List; + +public class Excluded { + public List keys; + public List segments; +} diff --git a/client/src/main/java/io/split/client/dtos/MatcherType.java b/client/src/main/java/io/split/client/dtos/MatcherType.java index b8c78a7b..22f22adb 100644 --- a/client/src/main/java/io/split/client/dtos/MatcherType.java +++ b/client/src/main/java/io/split/client/dtos/MatcherType.java @@ -37,5 +37,8 @@ public enum MatcherType { GREATER_THAN_OR_EQUAL_TO_SEMVER, LESS_THAN_OR_EQUAL_TO_SEMVER, IN_LIST_SEMVER, - BETWEEN_SEMVER + BETWEEN_SEMVER, + + /* Rule based segment */ + IN_RULE_BASED_SEGMENT } diff --git a/client/src/main/java/io/split/client/dtos/RuleBasedSegment.java b/client/src/main/java/io/split/client/dtos/RuleBasedSegment.java new file mode 100644 index 00000000..ec1cc68a --- /dev/null +++ b/client/src/main/java/io/split/client/dtos/RuleBasedSegment.java @@ -0,0 +1,12 @@ +package io.split.client.dtos; + +import java.util.List; + +public class RuleBasedSegment { + public String name; + public Status status; + public String trafficTypeName; + public long changeNumber; + public List conditions; + public Excluded excluded; +} diff --git a/client/src/main/java/io/split/client/dtos/RuleBasedSegmentChange.java b/client/src/main/java/io/split/client/dtos/RuleBasedSegmentChange.java new file mode 100644 index 00000000..9f475003 --- /dev/null +++ b/client/src/main/java/io/split/client/dtos/RuleBasedSegmentChange.java @@ -0,0 +1,9 @@ +package io.split.client.dtos; + +import java.util.List; + +public class RuleBasedSegmentChange { + public List ruleBasedSegments; + public long since; + public long till; +} From a93c858f99fff590ecbfb9379635a8db79fb5dc3 Mon Sep 17 00:00:00 2001 From: Bilal Al-Shahwany Date: Fri, 4 Apr 2025 11:56:45 -0700 Subject: [PATCH 2/2] updated spec --- client/src/main/java/io/split/Spec.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/client/src/main/java/io/split/Spec.java b/client/src/main/java/io/split/Spec.java index 847e19e1..fba8b1b3 100644 --- a/client/src/main/java/io/split/Spec.java +++ b/client/src/main/java/io/split/Spec.java @@ -6,7 +6,8 @@ private Spec() { // restrict instantiation } - public static String SPEC_VERSION = "1.3"; + // TODO: Change the schema to 1.3 when updating splitclient + public static String SPEC_VERSION = "1.1"; public static final String SPEC_1_3 = "1.3"; public static final String SPEC_1_1 = "1.1"; }