Skip to content

Commit 051be70

Browse files
authored
Merge pull request #468 from splitio/SDKS-7867
[SDKS-7888] Impression Listener SYNC/ASYNC by config
2 parents e712e61 + 02f0b10 commit 051be70

File tree

6 files changed

+34
-6
lines changed

6 files changed

+34
-6
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838

3939
steps:
4040
- name: Checkout code
41-
uses: actions/checkout@v3
41+
uses: actions/checkout@v4
4242
with:
4343
fetch-depth: 0
4444

.github/workflows/update-license-year.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
runs-on: ubuntu-latest
1414
steps:
1515
- name: Checkout
16-
uses: actions/checkout@v3
16+
uses: actions/checkout@v4
1717
with:
1818
fetch-depth: 0
1919

@@ -24,7 +24,7 @@ jobs:
2424
run: "echo PREVIOUS=$(($CURRENT-1)) >> $GITHUB_ENV"
2525

2626
- name: Update LICENSE
27-
uses: jacobtomlinson/gha-find-replace@v2
27+
uses: jacobtomlinson/gha-find-replace@v3
2828
with:
2929
find: ${{ env.PREVIOUS }}
3030
replace: ${{ env.CURRENT }}
@@ -38,7 +38,7 @@ jobs:
3838
git commit -m "Updated License Year" -a
3939
4040
- name: Create Pull Request
41-
uses: peter-evans/create-pull-request@v3
41+
uses: peter-evans/create-pull-request@v5
4242
with:
4343
token: ${{ secrets.GITHUB_TOKEN }}
4444
title: Update License Year

CHANGES.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
4.11.0 (Jan 9, 2024)
2+
- Added impressionsListener method in the IntegrationConfig builder to set Sync or Async Listener execution.
3+
14
4.10.2 (Dec 1, 2023)
25
- Added getTreatmentsByFlagSets without attributes.
36
- Fixed some issues for flag sets: Not logging a warning when using flag sets that don't contain cached feature flags.

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright © 2023 Split Software, Inc.
1+
Copyright © 2024 Split Software, Inc.
22

33
Licensed under the Apache License, Version 2.0 (the "License");
44
you may not use this file except in compliance with the License.

client/src/main/java/io/split/integrations/IntegrationsConfig.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,14 @@ public Builder() {
5151
}
5252

5353
public Builder impressionsListener(ImpressionListener listener, int queueSize) {
54+
return impressionsListener(listener, queueSize, Execution.ASYNC);
55+
}
56+
57+
public Builder impressionsListener(ImpressionListener listener, int queueSize, Execution executionType) {
5458
if (queueSize <= 0) {
5559
throw new IllegalArgumentException("An ImpressionListener was provided, but its capacity was non-positive: " + queueSize);
5660
}
57-
_listeners.add(new ImpressionListenerWithMeta(listener, Execution.ASYNC, queueSize));
61+
_listeners.add(new ImpressionListenerWithMeta(listener, executionType, queueSize));
5862
return this;
5963
}
6064

client/src/test/java/io/split/client/SplitClientConfigTest.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import io.split.integrations.IntegrationsConfig;
88
import org.junit.Assert;
99
import org.junit.Test;
10+
import org.mockito.Mockito;
1011

1112
import java.util.List;
1213
import java.util.stream.Collectors;
@@ -214,4 +215,24 @@ public void threadFactoryNotNull() {
214215
SplitClientConfig config = SplitClientConfig.builder().threadFactory(new ThreadFactoryBuilder().build()).build();
215216
Assert.assertNotNull(config.getThreadFactory());
216217
}
218+
219+
@Test
220+
public void IntegrationConfigSyncNotNull() {
221+
SplitClientConfig config = SplitClientConfig.builder().integrations(IntegrationsConfig.builder()
222+
.impressionsListener(Mockito.mock(ImpressionListener.class), 500, IntegrationsConfig.Execution.SYNC)
223+
.build()).build();
224+
Assert.assertNotNull(config.integrationsConfig());
225+
Assert.assertEquals(1, config.integrationsConfig().getImpressionsListeners(IntegrationsConfig.Execution.SYNC).size());
226+
Assert.assertEquals(0, config.integrationsConfig().getImpressionsListeners(IntegrationsConfig.Execution.ASYNC).size());
227+
}
228+
229+
@Test
230+
public void IntegrationConfigAsyncNotNull() {
231+
SplitClientConfig config = SplitClientConfig.builder().integrations(IntegrationsConfig.builder()
232+
.impressionsListener(Mockito.mock(ImpressionListener.class), 500, IntegrationsConfig.Execution.ASYNC)
233+
.build()).build();
234+
Assert.assertNotNull(config.integrationsConfig());
235+
Assert.assertEquals(0, config.integrationsConfig().getImpressionsListeners(IntegrationsConfig.Execution.SYNC).size());
236+
Assert.assertEquals(1, config.integrationsConfig().getImpressionsListeners(IntegrationsConfig.Execution.ASYNC).size());
237+
}
217238
}

0 commit comments

Comments
 (0)