Skip to content

Commit 3554e17

Browse files
authored
Merge pull request #471 from splitio/development
Release 4.11.0
2 parents 98526f0 + ba6f5ca commit 3554e17

File tree

14 files changed

+69
-10
lines changed

14 files changed

+69
-10
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: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
4.11.0 (Jan 9, 2024)
2+
- Added impressionsListener method in the IntegrationConfig builder to set Sync or Async Listener execution.
3+
- Fixed localhost to read files with yml ending.
4+
15
4.10.2 (Dec 1, 2023)
26
- Added getTreatmentsByFlagSets without attributes.
37
- Fixed some issues for flag sets: Not logging a warning when using flag sets that don't contain cached feature flags.

client/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>io.split.client</groupId>
77
<artifactId>java-client-parent</artifactId>
8-
<version>4.10.2</version>
8+
<version>4.11.0</version>
99
</parent>
1010
<artifactId>java-client</artifactId>
1111
<packaging>jar</packaging>

client/src/main/java/io/split/client/SplitFactoryImpl.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -674,6 +674,7 @@ private SplitChangeFetcher createSplitChangeFetcher(SplitClientConfig splitClien
674674
case JSON:
675675
return new JsonLocalhostSplitChangeFetcher(inputStreamProvider);
676676
case YAML:
677+
case YML:
677678
return new YamlLocalhostSplitChangeFetcher(inputStreamProvider);
678679
default:
679680
_log.warn(LEGACY_LOG_MESSAGE);

client/src/main/java/io/split/client/utils/FileTypeEnum.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@
33
public enum FileTypeEnum {
44
LEGACY,
55
YAML,
6+
YML,
67
JSON
78
}

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/LocalhostSplitFactoryYamlCompactSampleTest.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,29 @@ public void works() throws IOException, URISyntaxException {
4242
assertThat(client.getTreatmentWithConfig("user_e", "split_2").treatment(), is(equalTo("off")));
4343
assertThat(client.getTreatmentWithConfig("user_e", "split_2").config(), is(equalTo("{ \"size\" : 55 }")));
4444
}
45+
46+
@Test
47+
public void worksYML() throws IOException, URISyntaxException {
48+
49+
String file = getClass().getClassLoader().getResource("split_compact.yml").getFile();
50+
51+
SplitClientConfig config = SplitClientConfig.builder().splitFile(file).build();
52+
SplitFactory splitFactory = SplitFactoryBuilder.build("localhost", config);
53+
SplitClient client = splitFactory.client();
54+
55+
assertThat(client.getTreatment(null, "foo"), is(equalTo(Treatments.CONTROL)));
56+
assertThat(client.getTreatment("user_c", "foo"), is(equalTo(Treatments.CONTROL)));
57+
58+
assertThat(client.getTreatment("user_c", "split_1"), is(equalTo("off")));
59+
assertThat(client.getTreatmentWithConfig("user_c", "split_1").treatment(), is(equalTo("off")));
60+
assertThat(client.getTreatmentWithConfig("user_c", "split_1").config(), is(equalTo("{ \"size\" : 10 }")));
61+
62+
assertThat(client.getTreatment("user_d", "split_1"), is(equalTo("on")));
63+
assertThat(client.getTreatmentWithConfig("user_d", "split_1").treatment(), is(equalTo("on")));
64+
assertThat(client.getTreatmentWithConfig("user_d", "split_1").config(), is(nullValue()));
65+
66+
assertThat(client.getTreatment("user_e", "split_2"), is(equalTo("off")));
67+
assertThat(client.getTreatmentWithConfig("user_e", "split_2").treatment(), is(equalTo("off")));
68+
assertThat(client.getTreatmentWithConfig("user_e", "split_2").config(), is(equalTo("{ \"size\" : 55 }")));
69+
}
4570
}

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
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
- split_1: {keys: user_c, treatment: 'off', config: '{ "size" : 10 }'}
2+
- split_1: {keys: user_d, treatment: 'on'}
3+
- split_2: {keys: user_e, treatment: 'off', config: '{ "size" : 55 }'}

0 commit comments

Comments
 (0)