From 93a9bbd2b08ebc79ce79e5a4783f4e910a0742db Mon Sep 17 00:00:00 2001 From: Gaston Thea Date: Fri, 21 Feb 2025 14:27:43 -0300 Subject: [PATCH 1/2] New DTOs & POJOs --- .../split/android/client/dtos/Excluded.java | 22 +++++++ .../android/client/dtos/RuleBasedSegment.java | 59 +++++++++++++++++++ .../experiments/ParsedRuleBasedSegment.java | 46 +++++++++++++++ 3 files changed, 127 insertions(+) create mode 100644 src/main/java/io/split/android/client/dtos/Excluded.java create mode 100644 src/main/java/io/split/android/client/dtos/RuleBasedSegment.java create mode 100644 src/main/java/io/split/android/engine/experiments/ParsedRuleBasedSegment.java diff --git a/src/main/java/io/split/android/client/dtos/Excluded.java b/src/main/java/io/split/android/client/dtos/Excluded.java new file mode 100644 index 000000000..7134b3b7b --- /dev/null +++ b/src/main/java/io/split/android/client/dtos/Excluded.java @@ -0,0 +1,22 @@ +package io.split.android.client.dtos; + +import com.google.gson.annotations.SerializedName; + +import java.util.Set; + +public class Excluded { + + @SerializedName("users") + private Set mUsers; + + @SerializedName("segments") + private Set mSegments; + + public Set getSegments() { + return mSegments; + } + + public Set getUsers() { + return mUsers; + } +} diff --git a/src/main/java/io/split/android/client/dtos/RuleBasedSegment.java b/src/main/java/io/split/android/client/dtos/RuleBasedSegment.java new file mode 100644 index 000000000..8fe887f64 --- /dev/null +++ b/src/main/java/io/split/android/client/dtos/RuleBasedSegment.java @@ -0,0 +1,59 @@ +package io.split.android.client.dtos; + +import com.google.gson.annotations.SerializedName; + +import java.util.List; + +public class RuleBasedSegment { + + @SerializedName("name") + private final String mName; + + @SerializedName("trafficTypeName") + private final String mTrafficTypeName; + + @SerializedName("changeNumber") + private final long mChangeNumber; + + @SerializedName("status") + private final Status mStatus; + + @SerializedName("conditions") + private final List mConditions; + + @SerializedName("excluded") + private final Excluded mExcluded; + + public RuleBasedSegment(String name, String trafficTypeName, long changeNumber, Status status, List conditions, Excluded excluded) { + mName = name; + mTrafficTypeName = trafficTypeName; + mChangeNumber = changeNumber; + mStatus = status; + mConditions = conditions; + mExcluded = excluded; + } + + public String getName() { + return mName; + } + + public String getTrafficTypeName() { + return mTrafficTypeName; + } + + public long getChangeNumber() { + return mChangeNumber; + } + + public Status getStatus() { + return mStatus; + } + + public List getConditions() { + return mConditions; + } + + public Excluded getExcluded() { + return mExcluded; + } +} diff --git a/src/main/java/io/split/android/engine/experiments/ParsedRuleBasedSegment.java b/src/main/java/io/split/android/engine/experiments/ParsedRuleBasedSegment.java new file mode 100644 index 000000000..d5eb73636 --- /dev/null +++ b/src/main/java/io/split/android/engine/experiments/ParsedRuleBasedSegment.java @@ -0,0 +1,46 @@ +package io.split.android.engine.experiments; + +import java.util.List; +import java.util.Set; + +public class ParsedRuleBasedSegment { + private final String mName; + private final Set mExcludedUsers; + private final Set mExcludedSegments; + private final List mParsedConditions; + private final String mTrafficTypeName; + private final long mChangeNumber; + + public ParsedRuleBasedSegment(String name, Set excludedUsers, Set excludedSegments, List parsedConditions, String trafficTypeName, long changeNumber) { + mName = name; + mExcludedUsers = excludedUsers; + mExcludedSegments = excludedSegments; + mParsedConditions = parsedConditions; + mTrafficTypeName = trafficTypeName; + mChangeNumber = changeNumber; + } + + public String getName() { + return mName; + } + + public Set getExcludedUsers() { + return mExcludedUsers; + } + + public Set getExcludedSegments() { + return mExcludedSegments; + } + + public List getParsedConditions() { + return mParsedConditions; + } + + public String getTrafficTypeName() { + return mTrafficTypeName; + } + + public long getChangeNumber() { + return mChangeNumber; + } +} \ No newline at end of file From 005cdfd824b1f95bad1ea94a908eb3f68c4a7d41 Mon Sep 17 00:00:00 2001 From: Gaston Thea Date: Mon, 24 Feb 2025 11:30:55 -0300 Subject: [PATCH 2/2] Replace users with keys --- .../java/io/split/android/client/dtos/Excluded.java | 8 ++++---- .../engine/experiments/ParsedRuleBasedSegment.java | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/io/split/android/client/dtos/Excluded.java b/src/main/java/io/split/android/client/dtos/Excluded.java index 7134b3b7b..c4f26a618 100644 --- a/src/main/java/io/split/android/client/dtos/Excluded.java +++ b/src/main/java/io/split/android/client/dtos/Excluded.java @@ -6,8 +6,8 @@ public class Excluded { - @SerializedName("users") - private Set mUsers; + @SerializedName("keys") + private Set mKeys; @SerializedName("segments") private Set mSegments; @@ -16,7 +16,7 @@ public Set getSegments() { return mSegments; } - public Set getUsers() { - return mUsers; + public Set getKeys() { + return mKeys; } } diff --git a/src/main/java/io/split/android/engine/experiments/ParsedRuleBasedSegment.java b/src/main/java/io/split/android/engine/experiments/ParsedRuleBasedSegment.java index d5eb73636..b77388836 100644 --- a/src/main/java/io/split/android/engine/experiments/ParsedRuleBasedSegment.java +++ b/src/main/java/io/split/android/engine/experiments/ParsedRuleBasedSegment.java @@ -5,15 +5,15 @@ public class ParsedRuleBasedSegment { private final String mName; - private final Set mExcludedUsers; + private final Set mExcludedKeys; private final Set mExcludedSegments; private final List mParsedConditions; private final String mTrafficTypeName; private final long mChangeNumber; - public ParsedRuleBasedSegment(String name, Set excludedUsers, Set excludedSegments, List parsedConditions, String trafficTypeName, long changeNumber) { + public ParsedRuleBasedSegment(String name, Set excludedKeys, Set excludedSegments, List parsedConditions, String trafficTypeName, long changeNumber) { mName = name; - mExcludedUsers = excludedUsers; + mExcludedKeys = excludedKeys; mExcludedSegments = excludedSegments; mParsedConditions = parsedConditions; mTrafficTypeName = trafficTypeName; @@ -24,8 +24,8 @@ public String getName() { return mName; } - public Set getExcludedUsers() { - return mExcludedUsers; + public Set getExcludedKeys() { + return mExcludedKeys; } public Set getExcludedSegments() {