Skip to content

Commit 6ac3a1f

Browse files
committed
feat: wasmanize
Signed-off-by: Simon Schrottner <simon.schrottner@dynatrace.com>
1 parent 26276ca commit 6ac3a1f

8 files changed

Lines changed: 481 additions & 4 deletions

File tree

2.03 MB
Binary file not shown.

providers/flagd/pom.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,22 @@
175175
<version>2.0.17</version>
176176
<scope>test</scope>
177177
</dependency>
178+
<dependency>
179+
<groupId>com.dylibso.chicory</groupId>
180+
<artifactId>runtime</artifactId>
181+
<version>1.6.0</version>
182+
</dependency>
183+
<dependency>
184+
<groupId>com.dylibso.chicory</groupId>
185+
<artifactId>compiler</artifactId>
186+
<version>1.6.0</version>
187+
</dependency>
188+
<!-- Chicory WASM parser -->
189+
<dependency>
190+
<groupId>com.dylibso.chicory</groupId>
191+
<artifactId>wasm</artifactId>
192+
<version>1.6.0</version>
193+
</dependency>
178194
</dependencies>
179195

180196
<dependencyManagement>

providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/FlagdProvider.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import dev.openfeature.contrib.providers.flagd.resolver.Resolver;
44
import dev.openfeature.contrib.providers.flagd.resolver.common.FlagdProviderEvent;
55
import dev.openfeature.contrib.providers.flagd.resolver.process.InProcessResolver;
6+
import dev.openfeature.contrib.providers.flagd.resolver.process.InProcessWasmResolver;
67
import dev.openfeature.contrib.providers.flagd.resolver.rpc.RpcResolver;
78
import dev.openfeature.contrib.providers.flagd.resolver.rpc.cache.Cache;
89
import dev.openfeature.sdk.EvaluationContext;
@@ -79,7 +80,7 @@ public FlagdProvider(final FlagdOptions options) {
7980
switch (options.getResolverType().asString()) {
8081
case Config.RESOLVER_FILE:
8182
case Config.RESOLVER_IN_PROCESS:
82-
this.flagResolver = new InProcessResolver(options, this::onProviderEvent);
83+
this.flagResolver = new InProcessWasmResolver(options, this::onProviderEvent);
8384
break;
8485
case Config.RESOLVER_RPC:
8586
this.flagResolver = new RpcResolver(
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package dev.openfeature.contrib.providers.flagd.resolver.process;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
import java.util.List;
5+
6+
public class FlagsChangedResponse {
7+
8+
@JsonProperty("success")
9+
private boolean success;
10+
11+
@JsonProperty("changedFlags")
12+
private List<String> changedFlags;
13+
14+
// Constructors
15+
public FlagsChangedResponse() {
16+
}
17+
18+
public FlagsChangedResponse(boolean success, List<String> changedFlags) {
19+
this.success = success;
20+
this.changedFlags = changedFlags;
21+
}
22+
23+
// Getters and Setters
24+
public boolean isSuccess() {
25+
return success;
26+
}
27+
28+
public void setSuccess(boolean success) {
29+
this.success = success;
30+
}
31+
32+
public List<String> getChangedFlags() {
33+
return changedFlags;
34+
}
35+
36+
public void setChangedFlags(List<String> changedFlags) {
37+
this.changedFlags = changedFlags;
38+
}
39+
40+
@Override
41+
public String toString() {
42+
return "FlagChangeResponse{" +
43+
"success=" + success +
44+
", changedFlags=" + changedFlags +
45+
'}';
46+
}
47+
}

0 commit comments

Comments
 (0)