-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #423 from splitio/development
[SDKS-7121] Release iff
- Loading branch information
Showing
69 changed files
with
1,118 additions
and
391 deletions.
There are no files selected for viewing
Validating CODEOWNERS rules …
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
* @splitio/sdk |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -130,4 +130,4 @@ private String getContextPath() { | |
return null; | ||
} | ||
|
||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -36,4 +36,4 @@ public interface SplitJmxMonitorMBean { | |
*/ | ||
boolean isKeyInSegment(String key, String segmentName); | ||
|
||
} | ||
} |
38 changes: 38 additions & 0 deletions
38
client/src/main/java/io/split/client/utils/FeatureFlagProcessor.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
package io.split.client.utils; | ||
|
||
import io.split.client.dtos.Split; | ||
import io.split.client.dtos.Status; | ||
import io.split.engine.experiments.ParsedSplit; | ||
import io.split.engine.experiments.SplitParser; | ||
import org.slf4j.Logger; | ||
import org.slf4j.LoggerFactory; | ||
|
||
import java.util.ArrayList; | ||
import java.util.HashSet; | ||
import java.util.List; | ||
import java.util.Set; | ||
|
||
public class FeatureFlagProcessor { | ||
private static final Logger _log = LoggerFactory.getLogger(FeatureFlagProcessor.class); | ||
|
||
public static FeatureFlagsToUpdate processFeatureFlagChanges(SplitParser splitParser, List<Split> splits) { | ||
List<ParsedSplit> toAdd = new ArrayList<>(); | ||
List<String> toRemove = new ArrayList<>(); | ||
Set<String> segments = new HashSet<>(); | ||
for (Split split : splits) { | ||
if (split.status != Status.ACTIVE) { | ||
// archive. | ||
toRemove.add(split.name); | ||
continue; | ||
} | ||
ParsedSplit parsedSplit = splitParser.parse(split); | ||
if (parsedSplit == null) { | ||
_log.debug(String.format("We could not parse the feature flag definition for: %s", split.name)); | ||
continue; | ||
} | ||
segments.addAll(parsedSplit.getSegmentsNames()); | ||
toAdd.add(parsedSplit); | ||
} | ||
return new FeatureFlagsToUpdate(toAdd, toRemove, segments); | ||
} | ||
} |
30 changes: 30 additions & 0 deletions
30
client/src/main/java/io/split/client/utils/FeatureFlagsToUpdate.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
package io.split.client.utils; | ||
|
||
import io.split.engine.experiments.ParsedSplit; | ||
|
||
import java.util.List; | ||
import java.util.Set; | ||
|
||
public class FeatureFlagsToUpdate { | ||
List<ParsedSplit> toAdd; | ||
List<String> toRemove; | ||
Set<String> segments; | ||
|
||
public FeatureFlagsToUpdate(List<ParsedSplit> toAdd, List<String> toRemove, Set<String> segments) { | ||
this.toAdd = toAdd; | ||
this.toRemove = toRemove; | ||
this.segments = segments; | ||
} | ||
|
||
public List<ParsedSplit> getToAdd() { | ||
return toAdd; | ||
} | ||
|
||
public List<String> getToRemove() { | ||
return toRemove; | ||
} | ||
|
||
public Set<String> getSegments() { | ||
return segments; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,15 @@ | ||
package io.split.engine.common; | ||
|
||
import io.split.engine.sse.dtos.SplitKillNotification; | ||
|
||
public interface Synchronizer { | ||
boolean syncAll(); | ||
void startPeriodicFetching(); | ||
void stopPeriodicFetching(); | ||
void refreshSplits(Long targetChangeNumber); | ||
void localKillSplit(String featureFlagName, String defaultTreatment, long newChangeNumber); | ||
void localKillSplit(SplitKillNotification splitKillNotification); | ||
void refreshSegment(String segmentName, Long targetChangeNumber); | ||
void startPeriodicDataRecording(); | ||
void stopPeriodicDataRecording(); | ||
void forceRefreshSegment(String segmentName); | ||
} |
Oops, something went wrong.