Sviatoslav Sharaev
de5aa6420f
feat: context propagation ( #848 )
...
Signed-off-by: Sviatoslav Sharaev <sviatoslav.sharaev@gmail.com>
Co-authored-by: Kavindu Dodanduwa <Kavindu-Dodan@users.noreply.github.com>
2024-03-28 21:17:22 -04:00
Kavindu Dodanduwa
46d04feb4b
chore: improve contrib guide ( #863 )
...
* improve contribution guide and remove deprecation
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
* revert mockito bump
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
* revert proposed change
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
---------
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
2024-03-28 09:45:16 -04:00
Adam Roberts
d51cacbff6
fix: issue #859 ( #860 )
...
* fix: issue #859 Added failing tests
Signed-off-by: Adam Roberts <adam.roberts@collibra.com>
* fix: issue #859 Fixed the logic to allow the tests to pass by copying the passed in attributes
Signed-off-by: Adam Roberts <adam.roberts@collibra.com>
---------
Signed-off-by: Adam Roberts <adam.roberts@collibra.com>
2024-03-22 11:15:16 -07:00
Liran M
48a196c50d
fix: missing targeting key should return null ( #849 )
...
* missing targeting key should return null
Problem:
getTargetingKey of missing targeting key causing NullPointerException
Solution:
getTargetingKey of missing targeting key returns null
Signed-off-by: liran2000 <liran2000@gmail.com>
* add MutableContextTest for test coverage
Signed-off-by: liran2000 <liran2000@gmail.com>
---------
Signed-off-by: liran2000 <liran2000@gmail.com>
Co-authored-by: Todd Baert <todd.baert@dynatrace.com>
2024-03-22 10:41:56 -04:00
Kavindu Dodanduwa
f7a9d57421
fix: improve targetingKey handling in the context ( #805 )
...
improve targeting key handling
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
2024-02-14 15:17:58 -08:00
Todd Baert
da47b7f9c0
fix: setProviderAndWait must throw ( #794 )
...
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
2024-02-08 15:19:20 -05:00
Kavindu Dodanduwa
3319e55870
fix: tolerate duplicate provider registrations ( #725 )
...
* fix provider mulitple regiration issue
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
* fix lint
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
* fix tests
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
* improve test and add check for unused imports
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
---------
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
2023-12-12 12:43:14 -08:00
Todd Baert
3ab330a759
fix: null handling with Structure, Value ( #663 )
...
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com>
Co-authored-by: Giovanni Liva <giovanni.liva@dynatrace.com>
2023-10-24 14:46:26 -04:00
Todd Baert
fe5a20f2c3
feat: implement spec 0.7.0 changes ( #655 )
...
* feat: implement spec 0.7.0 changes
* run any event handler immediately if the provider is in the associated state, not just ready
* add providerName to event details
* add STALE provider state
* update/add associated tests
* also fixed spec/test associations mismatches from previous changes
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
Co-authored-by: Thiyagu GK <thiyagu103@gmail.com>
2023-10-23 10:04:52 -04:00
Todd Baert
8c595b0227
fix: RejectedExecutionException on shutdown ( #652 )
...
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
2023-10-12 16:15:48 -04:00
Liran M
506e89fd34
feat: add method to set provider and block during init ( #563 )
...
* feat: spec 1.1.8 - setProviderAndWait
The API SHOULD provide functions to set a provider and wait for the initialize function to return or throw
Signed-off-by: liran2000 <liran2000@gmail.com>
* remove method overloading from package private class
Signed-off-by: liran2000 <liran2000@gmail.com>
* add test case for spec 2.4.5
Signed-off-by: liran2000 <liran2000@gmail.com>
* minor updates
Signed-off-by: liran2000 <liran2000@gmail.com>
---------
Signed-off-by: liran2000 <liran2000@gmail.com>
Co-authored-by: Todd Baert <todd.baert@dynatrace.com>
Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com>
2023-08-28 15:43:59 -04:00
Todd Baert
1f28921fec
chore: fix jacoco coverage minimum, throw in memory provider ( #561 )
...
chore: fix codecov, throw in memory provider
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
2023-08-16 12:37:21 -04:00
Liran M
a741568762
feat: In-memory provider for e2e testing and minimal usage ( #546 )
...
* Adds InMemoryProvider to enable simple testing and basic usage
Signed-off-by: liran2000 <liran2000@gmail.com>
Co-authored-by: Todd Baert <todd.baert@dynatrace.com>
2023-08-15 15:04:55 -04:00
Kavindu Dodanduwa
fb42a92e9b
fix: ability to set provider after shutdown ( #556 )
...
* fix shutdown
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
* Grammer fix for code comment
Signed-off-by: Kavindu Dodanduwa <Kavindu-Dodan@users.noreply.github.com>
---------
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
Signed-off-by: Kavindu Dodanduwa <Kavindu-Dodan@users.noreply.github.com>
2023-08-11 13:48:14 -04:00
Todd Baert
37fd2be673
fix: getState now mandatory on EventProvider ( #531 )
...
* fix: getState mandatory on EventProvider
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* fixup: update test class
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* Update src/test/java/dev/openfeature/sdk/EventProviderTest.java
Co-authored-by: Giovanni Liva <giovanni.liva@dynatrace.com>
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
---------
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
Co-authored-by: Giovanni Liva <giovanni.liva@dynatrace.com>
2023-08-04 15:45:25 -04:00
Thomas Poignant
6253aee3b3
fix: Implement equals for the ImmutableMetadata object ( #512 )
2023-07-17 16:52:00 +02:00
Todd Baert
bad5b0a7f5
feat: events ( #476 )
...
* feat: events
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* fixup: fix bad import, fix test
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* fixup: add more coverage of internal
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* fixup: remove unused imports
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* fixup: unsed imports
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* fixup: make inner static
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* fixup: more tests, run ready immediately
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* fixup: improve reliability of error tests
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* Update src/main/java/dev/openfeature/sdk/OpenFeatureAPI.java
Co-authored-by: Giovanni Liva <giovanni.liva@dynatrace.com>
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* fixup: review feedback, add comments
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* fixup: add provider repo tests, fitest warnings
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* Update src/main/java/dev/openfeature/sdk/OpenFeatureAPI.java
Co-authored-by: Kavindu Dodanduwa <Kavindu-Dodan@users.noreply.github.com>
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* fixup: shorten javadoc links, shutdown tasks, use methods refs
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* fixup: flaky test
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* Update src/main/java/dev/openfeature/sdk/OpenFeatureClient.java
Co-authored-by: Justin Abrahms <jabrahms@ebay.com>
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* fixup: feedback from justin
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* fixup: improve javadoc
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* fixup: test race condition fixes
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
---------
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
Co-authored-by: Giovanni Liva <giovanni.liva@dynatrace.com>
Co-authored-by: Kavindu Dodanduwa <Kavindu-Dodan@users.noreply.github.com>
Co-authored-by: Justin Abrahms <jabrahms@ebay.com>
2023-07-12 09:22:16 -07:00
Todd Baert
693721e36c
feat: add empty constructors to data classes ( #491 )
...
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
2023-06-28 10:40:10 -04:00
Todd Baert
ecfeddf0f6
chore: rename flag metadata ( #478 )
...
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
2023-06-16 13:53:31 -04:00
Kavindu Dodanduwa
93dde1d259
chore: expose get value for metadata ( #468 )
...
expose get value for metadata
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
Co-authored-by: Justin Abrahms <jabrahms@ebay.com>
2023-06-09 07:57:08 -07:00
Kavindu Dodanduwa
3ed40a3887
feat: add flag metadata ( #459 )
...
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
2023-06-06 21:44:49 -04:00
Lars Opitz
5f173ff860
feat: add initialize and shutdown behavior ( #456 )
...
Signed-off-by: Lars Opitz <Lars@Lars-Opitz.de>
Co-authored-by: Todd Baert <toddbaert@gmail.com>
2023-06-06 21:36:47 -04:00
Justin Abrahms
d4c43d74bc
feat: Support mapping a client to a given provider. ( #388 )
...
* Support mapping a client to a given provider.
Signed-off-by: Justin Abrahms <justin@abrah.ms>
* Add a few javadocs.
Signed-off-by: Justin Abrahms <justin@abrah.ms>
* Special case the null client name
Signed-off-by: Justin Abrahms <justin@abrah.ms>
* Add some missing test cases.
Signed-off-by: Justin Abrahms <justin@abrah.ms>
* Moving to an object map unwraps the values.
Signed-off-by: Justin Abrahms <justin@abrah.ms>
* Fix equality test.
Signed-off-by: Justin Abrahms <justin@abrah.ms>
* Carry targeting key when copying over null object.
Signed-off-by: Justin Abrahms <justin@abrah.ms>
* Test provider name, not object equality.
Signed-off-by: Justin Abrahms <justin@abrah.ms>
* Client-based getProvider is now an overload; Use read lock, not write lock.
Signed-off-by: Justin Abrahms <justin@abrah.ms>
* Update src/main/java/dev/openfeature/sdk/OpenFeatureAPI.java
Co-authored-by: Lars Opitz <lars@lars-opitz.de>
Signed-off-by: Justin Abrahms <justin@abrah.ms>
* Simplify locking logic around providers.
There's no such thing as "API without a provider set" anymore. We now default to NoOpProvider in the API (not client).
Signed-off-by: Justin Abrahms <justin@abrah.ms>
* Add a few missing tests
Signed-off-by: Justin Abrahms <justin@abrah.ms>
---------
Signed-off-by: Justin Abrahms <justin@abrah.ms>
Co-authored-by: Lars Opitz <lars@lars-opitz.de>
Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com>
2023-05-19 15:27:31 -07:00
Todd Baert
a5c93aca0a
chore: rename integration tests e2e ( #417 )
...
* chore: rename integration tests e2e
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* Update pom.xml
Co-authored-by: Giovanni Liva <giovanni.liva@dynatrace.com>
Signed-off-by: Todd Baert <toddbaert@gmail.com>
---------
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
Signed-off-by: Todd Baert <toddbaert@gmail.com>
Co-authored-by: Giovanni Liva <giovanni.liva@dynatrace.com>
2023-05-03 04:36:22 +00:00
Kavindu Dodanduwa
d8e7d9e10c
fix: validate list content to be values ( #350 )
...
validate list content
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
Co-authored-by: Justin Abrahms <jabrahms@ebay.com>
2023-03-22 16:46:53 +00:00
apulbere
0a27a77fc1
fix: handling of double and integer ( #316 )
...
Signed-off-by: apulbere <apulbere@yahoo.com>
2023-03-08 08:49:05 -05:00
Ryan Lamb
464820d5da
fix: Do not throw null reference exception accessing a missing item. ( #300 )
...
Signed-off-by: Ryan Lamb <4955475+kinyoklion@users.noreply.github.com>
2023-02-16 12:20:51 -08:00
Thiyagu GK
d78c99ce16
feat: remove the deprecated setTargetingKey method in EvaluationContext. ( #290 )
...
remove the deprecated setTargetingKey method in EvaluationContext.
Signed-off-by: thiyagu06 <thiyagu103@gmail.com>
2023-02-10 15:32:34 -05:00
Justin Abrahms
07ecea1bf9
chore: Update slf4j ( #284 )
...
* Update slf4j
Signed-off-by: Justin Abrahms <jabrahms@ebay.com>
* Move to a different log testing method
Signed-off-by: Justin Abrahms <jabrahms@ebay.com>
* Fix logger in another place too
Signed-off-by: Justin Abrahms <jabrahms@ebay.com>
---------
Signed-off-by: Justin Abrahms <jabrahms@ebay.com>
2023-02-10 14:09:57 -05:00
Javier Collado
bd4e12e16f
fix: MutableContext and ImmutableContext merge are made recursive ( #280 )
...
MutableContext and ImmutableContext merge are made recursive
Signed-off-by: Javier Collado <javicv@gmail.com>
Co-authored-by: Thiyagu GK <thiyagu103@gmail.com>
Co-authored-by: Todd Baert <toddbaert@gmail.com>
Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com>
2023-02-08 12:22:43 -05:00
Kavindu Dodanduwa
93499975d0
fix: improve error logs for evaluation failure ( #276 )
...
improve error logs for evaluation failure
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
2023-02-03 11:36:51 -05:00
Thiyagu GK
6c14d87c2e
feat: added implementation of immutable evaluation context ( #210 )
...
added immutable context implementation
Signed-off-by: thiyagu06 <thiyagu103@gmail.com>
Co-authored-by: Todd Baert <toddbaert@gmail.com>
2023-01-30 23:29:50 -05:00
Todd Baert
6cb3fe485b
chore: update test annotations, spec badge ( #265 )
...
Update the test annotations with new spec verbiage, and update the spec compliance badge.
The functional changes have already been merged/released.
Signed-off-by: Todd Baert <toddbaert@gmail.com>
2023-01-26 18:52:58 +00:00
Todd Baert
f8ac46f00a
chore: update cuke submodule, tests ( #231 )
...
* chore: update cuke submodule, tests
Signed-off-by: Todd Baert <toddbaert@gmail.com>
* fixup: add note about flagd caching
Signed-off-by: Todd Baert <toddbaert@gmail.com>
Signed-off-by: Todd Baert <toddbaert@gmail.com>
2023-01-10 09:28:17 -08:00
renovate[bot]
60d2cbbc14
chore(deps): update dependency dev.openfeature.contrib.providers:flagd to v0.5.2 ( #181 )
...
* chore(deps): update dependency dev.openfeature.contrib.providers:flagd to v0.5.2
* chore: relax gRPC deadline in integration test
Signed-off-by: Todd Baert <toddbaert@gmail.com>
Signed-off-by: Todd Baert <toddbaert@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Todd Baert <toddbaert@gmail.com>
2022-11-28 14:53:49 -05:00
Todd Baert
6a299d7228
chore: update test/spec association numbers, badge ( #156 )
...
* chore: update test/spec association numbers
Signed-off-by: Todd Baert <toddbaert@gmail.com>
* chore: update spec tag
Signed-off-by: Todd Baert <toddbaert@gmail.com>
Signed-off-by: Todd Baert <toddbaert@gmail.com>
2022-10-17 14:05:26 -07:00
Robert Grassian
fad0f35fc8
fix: merge eval context ( #149 )
...
fix merge eval context
Signed-off-by: Robert Grassian <robert.grassian@split.io>
Signed-off-by: Robert Grassian <robert.grassian@split.io>
2022-10-13 16:24:25 -07:00
Todd Baert
5da918205b
chore: re-enable integration tests ( #146 )
...
Update test harness and re-enable integration test profile
2022-10-13 12:55:03 -04:00
Todd Baert
2192932863
feat!: add rw locks to client/api, hook accessor name ( #131 )
...
* fix: add read/write locks to client/api
Signed-off-by: Todd Baert <toddbaert@gmail.com>
* dont lock entire evaluation
Signed-off-by: Todd Baert <toddbaert@gmail.com>
* add tests
Signed-off-by: Todd Baert <toddbaert@gmail.com>
* fixup comment
Signed-off-by: Todd Baert <toddbaert@gmail.com>
* fixup pom comment
Signed-off-by: Todd Baert <toddbaert@gmail.com>
* increase lock granularity, imporove tests
Signed-off-by: Todd Baert <toddbaert@gmail.com>
* fix spotbugs
Signed-off-by: Todd Baert <toddbaert@gmail.com>
* remove commented test
Signed-off-by: Todd Baert <toddbaert@gmail.com>
Signed-off-by: Todd Baert <toddbaert@gmail.com>
2022-10-11 22:43:50 +00:00
Todd Baert
e9732b582d
feat!: use evaluation context interface ( #112 )
...
* POC - use evaluation context interface
Signed-off-by: Todd Baert <toddbaert@gmail.com>
* make .merge non-static
Signed-off-by: Todd Baert <toddbaert@gmail.com>
* improve naming
Signed-off-by: Todd Baert <toddbaert@gmail.com>
* add @override
Signed-off-by: Todd Baert <toddbaert@gmail.com>
* Update src/main/java/dev/openfeature/sdk/EvaluationContext.java
Co-authored-by: Justin Abrahms <jabrahms@ebay.com>
Signed-off-by: Todd Baert <toddbaert@gmail.com>
* Update src/main/java/dev/openfeature/sdk/MutableContext.java
Co-authored-by: Justin Abrahms <jabrahms@ebay.com>
Signed-off-by: Todd Baert <toddbaert@gmail.com>
* address PR feedback
Signed-off-by: Todd Baert <toddbaert@gmail.com>
Signed-off-by: Todd Baert <toddbaert@gmail.com>
Co-authored-by: Justin Abrahms <jabrahms@ebay.com>
2022-10-06 05:32:29 +00:00
Justin Abrahms
6eeeddd2ea
refactor!: Change the package name. Everyone knows it's java (or it doesn't matter) ( #111 )
...
* Change the package name. Everyone knows it's java (or it doesn't matter)
Fixes #82
Signed-off-by: Justin Abrahms <justin@abrah.ms>
* Missed 2 strings
Signed-off-by: Justin Abrahms <justin@abrah.ms>
* remove broken flagd import until changes absorbed
Signed-off-by: Todd Baert <toddbaert@gmail.com>
Signed-off-by: Justin Abrahms <justin@abrah.ms>
Signed-off-by: Todd Baert <toddbaert@gmail.com>
Co-authored-by: Todd Baert <toddbaert@gmail.com>
2022-10-05 11:46:04 -07:00
Todd Baert
84f220d813
feat!: errorCode as enum, reason as string ( #80 )
...
* feat!: errorCode as enum, reason as string
- makes errorCode an enum
- makes reason a string
- adds errorMessage to resolution/evaluation details
2022-09-30 12:41:48 -04:00
Todd Baert
f8d62eea2f
chore: add integration tests ( #77 )
...
* chore: add integration tests
Signed-off-by: Todd Baert <toddbaert@gmail.com>
* improve POM spacing
Signed-off-by: Todd Baert <toddbaert@gmail.com>
Signed-off-by: Todd Baert <toddbaert@gmail.com>
2022-09-20 09:48:34 -04:00
Thomas Poignant
2eec1a5519
feat: Add asObjectMap to get the EvaluationContext as Map<String,Object> ( #75 )
...
* Add asObjectMap to get the EvaluationContext as Map<String,Object>
Signed-off-by: Thomas Poignant <thomas.poignant@gofeatureflag.org>
* Fix liniting issue
Signed-off-by: Thomas Poignant <thomas.poignant@gofeatureflag.org>
* fix PMD issue
Signed-off-by: Thomas Poignant <thomas.poignant@gofeatureflag.org>
Signed-off-by: Thomas Poignant <thomas.poignant@gofeatureflag.org>
2022-09-16 15:17:58 +01:00
Robert Grassian
81ab0710ea
fix: isList check in Value checks type of list ( #70 )
...
* isList check of Value checks type of list
Signed-off-by: Robert Grassian <robert.grassian@split.io>
* test for empty list
Signed-off-by: Robert Grassian <robert.grassian@split.io>
Signed-off-by: Robert Grassian <robert.grassian@split.io>
2022-09-13 15:09:59 -07:00
Todd Baert
60fad0507a
Throw on invalid values
...
Signed-off-by: Todd Baert <toddbaert@gmail.com>
2022-09-09 13:59:18 -04:00
Todd Baert
5d262470e8
feat!: use value for object resolver
...
Signed-off-by: Todd Baert <toddbaert@gmail.com>
2022-09-09 11:27:29 -04:00
Todd Baert
3e62414222
feat!: use instant not zoneddatetime
...
Signed-off-by: Todd Baert <toddbaert@gmail.com>
2022-09-09 10:46:00 -04:00
Todd Baert
0152a1eef9
feat: add object to value wrapper
...
Signed-off-by: Todd Baert <toddbaert@gmail.com>
2022-09-09 10:44:12 -04:00
Todd Baert
4fa0a08389
!feat: Make evaluation context setters consistent
...
Signed-off-by: Todd Baert <toddbaert@gmail.com>
2022-09-08 11:14:29 -04:00