Skip to content

Commit 275045e

Browse files
committed
rename FeaturevisorInstance to Featurevisor
1 parent cb434c6 commit 275045e

7 files changed

Lines changed: 756 additions & 806 deletions

File tree

README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ See example application here: [https://github.com/featurevisor/featurevisor-exam
117117
The SDK can be initialized by passing [datafile](https://featurevisor.com/docs/building-datafiles/) content directly:
118118

119119
```java
120-
import com.featurevisor.sdk.FeaturevisorInstance;
120+
import com.featurevisor.sdk.Featurevisor;
121121
import com.featurevisor.types.DatafileContent;
122122

123123
// Load datafile content
@@ -128,8 +128,8 @@ String datafileContent = "..." // ... load your datafile content
128128
DatafileContent datafile = DatafileContent.fromJson(datafileContent);
129129

130130
// Create SDK instance
131-
FeaturevisorInstance f = new FeaturevisorInstance(
132-
new FeaturevisorInstance.InstanceOptions()
131+
Featurevisor f = new Featurevisor(
132+
new Featurevisor.InstanceOptions()
133133
.datafile(datafileContent)
134134
);
135135
```
@@ -170,7 +170,7 @@ Map<String, Object> initialContext = new HashMap<>();
170170
initialContext.put("deviceId", "123");
171171
initialContext.put("country", "nl");
172172

173-
FeaturevisorInstance f = new FeaturevisorInstance(new FeaturevisorInstance.InstanceOptions()
173+
Featurevisor f = new Featurevisor(new Featurevisor.InstanceOptions()
174174
.datafile(datafile)
175175
.context(initialContext));
176176
```
@@ -357,7 +357,7 @@ Map<String, Object> anotherFeatureSticky = new HashMap<>();
357357
anotherFeatureSticky.put("enabled", false);
358358
stickyFeatures.put("anotherFeatureKey", anotherFeatureSticky);
359359

360-
FeaturevisorInstance f = new FeaturevisorInstance(new FeaturevisorInstance.InstanceOptions()
360+
Featurevisor f = new Featurevisor(new Featurevisor.InstanceOptions()
361361
.datafile(datafile)
362362
.sticky(stickyFeatures));
363363
```
@@ -433,7 +433,7 @@ Setting `debug` level will print out all logs, including `info`, `warn`, and `er
433433
```java
434434
import com.featurevisor.sdk.Logger;
435435

436-
FeaturevisorInstance f = new FeaturevisorInstance(new FeaturevisorInstance.InstanceOptions()
436+
Featurevisor f = new Featurevisor(new Featurevisor.InstanceOptions()
437437
.datafile(datafile)
438438
.logLevel(Logger.LogLevel.DEBUG));
439439
```
@@ -457,7 +457,7 @@ Logger customLogger = Logger.createLogger(new Logger.CreateLoggerOptions()
457457
System.out.println("[" + level + "] " + message);
458458
}));
459459

460-
FeaturevisorInstance f = new FeaturevisorInstance(new FeaturevisorInstance.InstanceOptions()
460+
Featurevisor f = new Featurevisor(new Featurevisor.InstanceOptions()
461461
.datafile(datafile)
462462
.logger(customLogger));
463463
```
@@ -470,7 +470,7 @@ Logger customLogger = new Logger(Logger.LogLevel.INFO, (level, message, details)
470470
System.out.println("[" + level + "] " + message);
471471
});
472472

473-
FeaturevisorInstance f = new FeaturevisorInstance(new FeaturevisorInstance.InstanceOptions()
473+
Featurevisor f = new Featurevisor(new Featurevisor.InstanceOptions()
474474
.datafile(datafile)
475475
.logger(customLogger));
476476
```
@@ -637,7 +637,7 @@ You can register hooks at the time of SDK initialization:
637637
List<Map<String, Object>> hooks = new ArrayList<>();
638638
hooks.add(myCustomHook);
639639

640-
FeaturevisorInstance f = new FeaturevisorInstance(new FeaturevisorInstance.InstanceOptions()
640+
Featurevisor f = new Featurevisor(new Featurevisor.InstanceOptions()
641641
.datafile(datafile)
642642
.hooks(hooks));
643643
```
@@ -662,7 +662,7 @@ That's where child instances come in handy:
662662
Map<String, Object> childContext = new HashMap<>();
663663
childContext.put("userId", "123");
664664

665-
FeaturevisorInstance childF = f.spawn(childContext);
665+
Featurevisor childF = f.spawn(childContext);
666666
```
667667

668668
Now you can pass the child instance where your individual request is being handled, and you can continue to evaluate features targeting that specific user alone:

src/main/java/com/featurevisor/cli/CLI.java

Lines changed: 31 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import picocli.CommandLine.Parameters;
77

88
import com.featurevisor.sdk.Featurevisor;
9-
import com.featurevisor.sdk.FeaturevisorInstance;
109
import com.featurevisor.sdk.Logger;
1110
import com.featurevisor.sdk.DatafileReader;
1211
import com.featurevisor.types.DatafileContent;
@@ -250,9 +249,9 @@ private TestResult testFeature(Map<String, Object> assertion, String featureKey,
250249
Map<String, Object> sticky = (Map<String, Object>) assertion.getOrDefault("sticky", new HashMap<>());
251250

252251
// Update the SDK instance context and sticky values for this assertion
253-
if (f instanceof FeaturevisorInstance) {
254-
((FeaturevisorInstance) f).setContext(context, true);
255-
((FeaturevisorInstance) f).setSticky(sticky, true);
252+
if (f instanceof Featurevisor) {
253+
((Featurevisor) f).setContext(context, true);
254+
((Featurevisor) f).setSticky(sticky, true);
256255
} else if (f instanceof com.featurevisor.sdk.ChildInstance) {
257256
((com.featurevisor.sdk.ChildInstance) f).setContext(context, true);
258257
((com.featurevisor.sdk.ChildInstance) f).setSticky(sticky, true);
@@ -274,7 +273,7 @@ private TestResult testFeature(Map<String, Object> assertion, String featureKey,
274273

275274
// Test expectedVariation
276275
if (assertion.containsKey("expectedVariation")) {
277-
FeaturevisorInstance.OverrideOptions options = new FeaturevisorInstance.OverrideOptions();
276+
Featurevisor.OverrideOptions options = new Featurevisor.OverrideOptions();
278277
if (assertion.containsKey("defaultVariationValue")) {
279278
options.setDefaultVariationValue(assertion.get("defaultVariationValue").toString());
280279
}
@@ -308,7 +307,7 @@ private TestResult testFeature(Map<String, Object> assertion, String featureKey,
308307
}
309308
}
310309

311-
FeaturevisorInstance.OverrideOptions options = new FeaturevisorInstance.OverrideOptions();
310+
Featurevisor.OverrideOptions options = new Featurevisor.OverrideOptions();
312311
if (defaultVariableValues.containsKey(variableKey)) {
313312
options.setDefaultVariableValue(defaultVariableValues.get(variableKey));
314313
}
@@ -347,7 +346,7 @@ private TestResult testFeature(Map<String, Object> assertion, String featureKey,
347346
if (expectedEvaluations.containsKey("variation")) {
348347
@SuppressWarnings("unchecked")
349348
Map<String, Object> variationEvaluation = (Map<String, Object>) expectedEvaluations.get("variation");
350-
FeaturevisorInstance.OverrideOptions options = new FeaturevisorInstance.OverrideOptions();
349+
Featurevisor.OverrideOptions options = new Featurevisor.OverrideOptions();
351350
if (assertion.containsKey("defaultVariationValue")) {
352351
options.setDefaultVariationValue(assertion.get("defaultVariationValue").toString());
353352
}
@@ -378,7 +377,7 @@ private TestResult testFeature(Map<String, Object> assertion, String featureKey,
378377
@SuppressWarnings("unchecked")
379378
Map<String, Object> expectedEvaluation = (Map<String, Object>) entry.getValue();
380379

381-
FeaturevisorInstance.OverrideOptions options = new FeaturevisorInstance.OverrideOptions();
380+
Featurevisor.OverrideOptions options = new Featurevisor.OverrideOptions();
382381
if (defaultVariableValues.containsKey(variableKey)) {
383382
options.setDefaultVariableValue(defaultVariableValues.get(variableKey));
384383
}
@@ -427,55 +426,55 @@ private TestResult testFeature(Map<String, Object> assertion, String featureKey,
427426
* Helper methods to work with both Instance and ChildInstance
428427
*/
429428
private boolean isEnabled(Object f, String featureKey, Map<String, Object> context) {
430-
if (f instanceof FeaturevisorInstance) {
431-
return ((FeaturevisorInstance) f).isEnabled(featureKey, context);
429+
if (f instanceof Featurevisor) {
430+
return ((Featurevisor) f).isEnabled(featureKey, context);
432431
} else if (f instanceof com.featurevisor.sdk.ChildInstance) {
433432
return ((com.featurevisor.sdk.ChildInstance) f).isEnabled(featureKey, context);
434433
}
435434
return false;
436435
}
437436

438-
private Object getVariation(Object f, String featureKey, Map<String, Object> context, FeaturevisorInstance.OverrideOptions options) {
439-
if (f instanceof FeaturevisorInstance) {
440-
return ((FeaturevisorInstance) f).getVariation(featureKey, context, options);
437+
private Object getVariation(Object f, String featureKey, Map<String, Object> context, Featurevisor.OverrideOptions options) {
438+
if (f instanceof Featurevisor) {
439+
return ((Featurevisor) f).getVariation(featureKey, context, options);
441440
} else if (f instanceof com.featurevisor.sdk.ChildInstance) {
442441
return ((com.featurevisor.sdk.ChildInstance) f).getVariation(featureKey, context, options);
443442
}
444443
return null;
445444
}
446445

447-
private Object getVariable(Object f, String featureKey, String variableKey, Map<String, Object> context, FeaturevisorInstance.OverrideOptions options) {
448-
if (f instanceof FeaturevisorInstance) {
449-
return ((FeaturevisorInstance) f).getVariable(featureKey, variableKey, context, options);
446+
private Object getVariable(Object f, String featureKey, String variableKey, Map<String, Object> context, Featurevisor.OverrideOptions options) {
447+
if (f instanceof Featurevisor) {
448+
return ((Featurevisor) f).getVariable(featureKey, variableKey, context, options);
450449
} else if (f instanceof com.featurevisor.sdk.ChildInstance) {
451450
return ((com.featurevisor.sdk.ChildInstance) f).getVariable(featureKey, variableKey, context, options);
452451
}
453452
return null;
454453
}
455454

456455
private com.featurevisor.sdk.Evaluation evaluateFlag(Object f, String featureKey, Map<String, Object> context) {
457-
if (f instanceof FeaturevisorInstance) {
458-
return ((FeaturevisorInstance) f).evaluateFlag(featureKey, context);
456+
if (f instanceof Featurevisor) {
457+
return ((Featurevisor) f).evaluateFlag(featureKey, context);
459458
} else if (f instanceof com.featurevisor.sdk.ChildInstance) {
460459
// ChildInstance doesn't have evaluateFlag, so we'll skip this test for child instances
461460
return null;
462461
}
463462
return null;
464463
}
465464

466-
private com.featurevisor.sdk.Evaluation evaluateVariation(Object f, String featureKey, Map<String, Object> context, FeaturevisorInstance.OverrideOptions options) {
467-
if (f instanceof FeaturevisorInstance) {
468-
return ((FeaturevisorInstance) f).evaluateVariation(featureKey, context, options);
465+
private com.featurevisor.sdk.Evaluation evaluateVariation(Object f, String featureKey, Map<String, Object> context, Featurevisor.OverrideOptions options) {
466+
if (f instanceof Featurevisor) {
467+
return ((Featurevisor) f).evaluateVariation(featureKey, context, options);
469468
} else if (f instanceof com.featurevisor.sdk.ChildInstance) {
470469
// ChildInstance doesn't have evaluateVariation, so we'll skip this test for child instances
471470
return null;
472471
}
473472
return null;
474473
}
475474

476-
private com.featurevisor.sdk.Evaluation evaluateVariable(Object f, String featureKey, String variableKey, Map<String, Object> context, FeaturevisorInstance.OverrideOptions options) {
477-
if (f instanceof FeaturevisorInstance) {
478-
return ((FeaturevisorInstance) f).evaluateVariable(featureKey, variableKey, context, options);
475+
private com.featurevisor.sdk.Evaluation evaluateVariable(Object f, String featureKey, String variableKey, Map<String, Object> context, Featurevisor.OverrideOptions options) {
476+
if (f instanceof Featurevisor) {
477+
return ((Featurevisor) f).evaluateVariable(featureKey, variableKey, context, options);
479478
} else if (f instanceof com.featurevisor.sdk.ChildInstance) {
480479
// ChildInstance doesn't have evaluateVariable, so we'll skip this test for child instances
481480
return null;
@@ -484,8 +483,8 @@ private com.featurevisor.sdk.Evaluation evaluateVariable(Object f, String featur
484483
}
485484

486485
private com.featurevisor.sdk.ChildInstance spawn(Object f, Map<String, Object> context) {
487-
if (f instanceof FeaturevisorInstance) {
488-
return ((FeaturevisorInstance) f).spawn(context);
486+
if (f instanceof Featurevisor) {
487+
return ((Featurevisor) f).spawn(context);
489488
} else if (f instanceof com.featurevisor.sdk.ChildInstance) {
490489
// ChildInstance doesn't have spawn, so we'll return null
491490
return null;
@@ -578,10 +577,10 @@ private void test() {
578577
}
579578

580579
// Create SDK instances for each environment
581-
Map<String, FeaturevisorInstance> sdkInstancesByEnvironment = new HashMap<>();
580+
Map<String, Featurevisor> sdkInstancesByEnvironment = new HashMap<>();
582581
for (String environment : environments) {
583582
DatafileContent datafile = datafilesByEnvironment.get(environment);
584-
FeaturevisorInstance instance = Featurevisor.createInstance(new FeaturevisorInstance.InstanceOptions()
583+
Featurevisor instance = Featurevisor.createInstance(new Featurevisor.InstanceOptions()
585584
.datafile(datafile)
586585
.logLevel(level));
587586
sdkInstancesByEnvironment.put(environment, instance);
@@ -610,7 +609,7 @@ private void test() {
610609

611610
if (test.containsKey("feature")) {
612611
String environment = (String) assertion.get("environment");
613-
FeaturevisorInstance f = sdkInstancesByEnvironment.get(environment);
612+
Featurevisor f = sdkInstancesByEnvironment.get(environment);
614613

615614
// If "at" parameter is provided, create a new SDK instance with the specific hook
616615
if (assertion.containsKey("at")) {
@@ -631,7 +630,7 @@ private void test() {
631630
hooksManager.add(new HooksManager.Hook("at-parameter")
632631
.bucketValue((options) -> (int) (atValue * 1000)));
633632

634-
f = Featurevisor.createInstance(new FeaturevisorInstance.InstanceOptions()
633+
f = Featurevisor.createInstance(new Featurevisor.InstanceOptions()
635634
.datafile(datafile)
636635
.logLevel(level)
637636
.hooks(hooksManager.getAll()));
@@ -710,7 +709,7 @@ private void benchmark() {
710709
Logger.LogLevel level = getLoggerLevel();
711710
Map<String, DatafileContent> datafilesByEnvironment = buildDatafiles(rootDirectoryPath, Arrays.asList(environment));
712711

713-
FeaturevisorInstance f = Featurevisor.createInstance(new FeaturevisorInstance.InstanceOptions()
712+
Featurevisor f = Featurevisor.createInstance(new Featurevisor.InstanceOptions()
714713
.datafile(datafilesByEnvironment.get(environment))
715714
.logLevel(level));
716715

@@ -773,7 +772,7 @@ private void assessDistribution() {
773772

774773
Map<String, DatafileContent> datafilesByEnvironment = buildDatafiles(rootDirectoryPath, Arrays.asList(environment));
775774

776-
FeaturevisorInstance f = Featurevisor.createInstance(new FeaturevisorInstance.InstanceOptions()
775+
Featurevisor f = Featurevisor.createInstance(new Featurevisor.InstanceOptions()
777776
.datafile(datafilesByEnvironment.get(environment))
778777
.logLevel(getLoggerLevel()));
779778

0 commit comments

Comments
 (0)