christian.lutnik
3691b52e43
Fix failing test
...
Signed-off-by: christian.lutnik <christian.lutnik@dynatrace.com>
2025-02-11 15:23:32 +01:00
chrfwow
ae85278c30
feat: Add evaluation details to finally hook stage #1246 ( #1262 )
...
Signed-off-by: christian.lutnik <christian.lutnik@dynatrace.com>
Co-authored-by: Todd Baert <todd.baert@dynatrace.com>
2025-01-09 16:12:14 -05:00
Simon Schrottner
64ec68bcf5
build: change checkstyle to google code format, plus adding spotless ( #1264 )
...
Signed-off-by: Simon Schrottner <simon.schrottner@dynatrace.com>
2025-01-03 19:06:22 +01:00
warber
64ad644bdb
feat: add tracking as per spec ( #1228 )
...
feat: add tracking as per spec
---------
Signed-off-by: Bernd Warmuth <bernd.warmuth@dynatrace.com>
2024-12-06 10:19:36 -05:00
warber
473be8659c
test: Update gherkin test sub module ( #1236 )
...
Signed-off-by: Bernd Warmuth <bernd.warmuth@dynatrace.com>
2024-12-05 16:10:49 +00:00
Todd Baert
fd7659a46f
perf: reduce hashmap allocations ( #1178 )
...
* chore: reduce hashmap allocations
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
2024-10-24 08:41:55 -04:00
Todd Baert
0009e23c7b
chore: improve benchmark realism; add more context ( #1182 )
...
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
2024-10-23 12:33:02 -04:00
Todd Baert
d6d284b6a3
chore: flaky test ( #1169 )
...
chore: blocking set-provider in test
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
2024-10-18 10:10:28 -04:00
Todd Baert
473a05784c
chore: fix another flaky test
...
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
2024-10-15 13:47:12 -04:00
Todd Baert
457da96e7b
chore: fix flaky test
...
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
2024-10-15 12:36:36 -04:00
Todd Baert
90088188c9
perf: add heap benchmark and reduce allocations ( #1156 )
...
* chore: add heap benchmark and reduce allocations
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
2024-10-15 09:47:51 -04:00
chrfwow
1b1e527e78
feat: make provider interface "stateless"; SDK maintains provider state ( #1096 )
...
* Make provider interface "stateless", SDK maintains provider state
Signed-off-by: christian.lutnik <christian.lutnik@dynatrace.com>
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
Co-authored-by: christian.lutnik <christian.lutnik@dynatrace.com>
Co-authored-by: Todd Baert <todd.baert@dynatrace.com>
2024-09-23 12:45:34 -04:00
Simon Schrottner
6fc0b90610
feat: error resolution flow control without exceptions ( #1095 )
...
* Allowing flowcontrol with out exceptions
So far we used exception to handle our flowcontrol, but
Exceptions are costly. In the end we enriched our
evaluation Details with errorCode and errorMessage.
This can be also handled by the providers if desired,
to reduce the execution footprint in errornous cases,
which do not have to be exceptions.
Eg FlagNotFound - it might be the case, but in performance
critical environments, an exception rather than a normal
return, can cause overhead and can be already too costly.
Signed-off-by: Simon Schrottner <simon.schrottner@dynatrace.com>
* fix: adding reason, and removing stacktraces from errors
Signed-off-by: Simon Schrottner <simon.schrottner@dynatrace.com>
* Update src/main/java/dev/openfeature/sdk/exceptions/TypeMismatchError.java
Co-authored-by: Justin Abrahms <justin@abrah.ms>
Signed-off-by: Simon Schrottner <simon.schrottner@dynatrace.com>
---------
Signed-off-by: Simon Schrottner <simon.schrottner@dynatrace.com>
Co-authored-by: Justin Abrahms <justin@abrah.ms>
2024-09-17 09:15:43 -04:00
Todd Baert
037826fe1b
feat: add logging hook, rm logging from evaluation ( #1084 )
...
* feat: add logging hook, rm logging from evaluation
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* fixup: remove public
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* fixup: debug, not info
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* fixup: move comment
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* fixup: underscoes
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* fixup: add to readme
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
---------
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
2024-09-05 12:33:51 -04:00
Todd Baert
35d4cc23c8
chore: various non-functional refactors ( #1066 )
...
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
2024-08-26 09:16:10 -04:00
Ryan Prayogo
b7ed041eed
fix: Use ConcurrentHashMap for InMemoryProvider ( #1057 )
...
* fix: Use ConcurrentHashMap for InMemoryProvider
Signed-off-by: Ryan Prayogo <57620+ryanprayogo@users.noreply.github.com>
* fix: make the flags field variable final
Signed-off-by: Ryan Prayogo <57620+ryanprayogo@users.noreply.github.com>
* chore: Use Collections.singletonList instead of Arrays.asList
Signed-off-by: Ryan Prayogo <57620+ryanprayogo@users.noreply.github.com>
* chore: Update javadoc and parameter name
Signed-off-by: Ryan Prayogo <57620+ryanprayogo@users.noreply.github.com>
* fixup: await verify
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* fixup: remove test, key diffing
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
---------
Signed-off-by: Ryan Prayogo <57620+ryanprayogo@users.noreply.github.com>
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
Co-authored-by: Todd Baert <todd.baert@dynatrace.com>
Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com>
2024-08-22 15:48:45 -04:00
Todd Baert
dbf967a860
fix: updated context not passed to all hooks ( #1049 )
...
* fix: updated context not passed to all hooks
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* fixup: checkstyle
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
---------
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
2024-08-20 15:33:34 -04:00
Todd Baert
4126b511fb
chore: javadoc and tests for api, context ( #942 )
...
* chore: javadoc and tests for api, context
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
* fixup: lint
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
---------
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
2024-06-14 10:14:49 -04:00
jarebudev
5c0aaaa8bc
feat: implement domain scoping ( #934 )
...
* initial changes for implementing domain scoping
Signed-off-by: jarebudev <23311805+jarebudev@users.noreply.github.com>
* completed the rest of the renaming and tidying up
Signed-off-by: jarebudev <23311805+jarebudev@users.noreply.github.com>
* applied code review suggested changes
Signed-off-by: jarebudev <23311805+jarebudev@users.noreply.github.com>
* introdcue a dedicated interface for client metadata
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
* add deprecated default getName to be backward compatible as much as possible
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
---------
Signed-off-by: jarebudev <23311805+jarebudev@users.noreply.github.com>
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
Co-authored-by: Kavindu Dodanduwa <Kavindu-Dodan@users.noreply.github.com>
Co-authored-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
2024-06-11 09:49:46 -07:00
jarebudev
dbfeb72bc5
fix: run error hook when provider returns error code ( #951 )
...
Signed-off-by: jarebudev <23311805+jarebudev@users.noreply.github.com>
2024-05-30 16:47:23 -04:00
Dave
1a46aea242
fix: PMD warnings with new version ( #936 )
...
* chore(deps): update dependency org.apache.maven.plugins:maven-pmd-plugin to v3.22.0
* removed redundancy from eventdetails, SuppressWarnings in OpenfeatureAPI and Client
Signed-off-by: DBlanchard88 <davidblanchard88@gmail.com>
* Update src/main/java/dev/openfeature/sdk/OpenFeatureClient.java
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
---------
Signed-off-by: DBlanchard88 <davidblanchard88@gmail.com>
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Todd Baert <todd.baert@dynatrace.com>
2024-05-15 13:18:33 -04:00
Dave
cd7470dd7a
fix: removed javax.nullable annotations ( #921 )
...
removing nullable annotation
Signed-off-by: DBlanchard88 <davidblanchard88@gmail.com>
Co-authored-by: Todd Baert <todd.baert@dynatrace.com>
2024-05-03 10:50:24 -07:00
Dave
d69cf5d49b
fix: consistent method chainability ( #913 )
...
* mutablecontext settargetkey now return(s) this method chainable
Signed-off-by: DBlanchard88 <davidblanchard88@gmail.com>
* addHooks & setEvaluationContext are now chainable
Signed-off-by: DBlanchard88 <davidblanchard88@gmail.com>
* OpenFeatureAPI setEvaluationContext new chainable
Signed-off-by: DBlanchard88 <davidblanchard88@gmail.com>
* Update src/test/java/dev/openfeature/sdk/MutableContextTest.java
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
---------
Signed-off-by: DBlanchard88 <davidblanchard88@gmail.com>
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
Co-authored-by: Todd Baert <todd.baert@dynatrace.com>
2024-05-02 12:04:09 -04:00
jarebudev
8dec14fbea
fix: shutdown method blocks until task executor shutdown completes ( #873 )
...
* shutdown method blocks until task executor shutdown completes
Signed-off-by: jarebudev <23311805+jarebudev@users.noreply.github.com>
* addressed sonar issue with not handling interrupt during waiting
Signed-off-by: jarebudev <23311805+jarebudev@users.noreply.github.com>
---------
Signed-off-by: jarebudev <23311805+jarebudev@users.noreply.github.com>
Co-authored-by: Michael Beemer <beeme1mr@users.noreply.github.com>
Co-authored-by: Todd Baert <todd.baert@dynatrace.com>
2024-04-06 07:47:42 -04:00
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
Kavindu Dodanduwa
6c8657d520
chore: various improvements as suggested by sonar ( #797 )
...
* various improvements as suggested by sonar
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
* revert clonable change
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
---------
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
2024-02-13 08:39:45 -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
Giovanni Liva
36f5832727
perf: improve error handling ( #739 )
...
* perf: improve error handling
Signed-off-by: Giovanni Liva <giovanni.liva@dynatrace.com>
* add synchronized keyword
Signed-off-by: Giovanni Liva <giovanni.liva@dynatrace.com>
---------
Signed-off-by: Giovanni Liva <giovanni.liva@dynatrace.com>
Co-authored-by: Todd Baert <todd.baert@dynatrace.com>
2023-12-22 12:56:48 -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
Kavindu Dodanduwa
c66b99579f
fix: make executor threads deamon ( #601 )
...
* make executor threads deamon
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
* unify annotation usage
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
---------
Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
2023-09-08 11:54:01 -07:00
Liran M
d063bf292c
fix: NPE on named provider init/shutdown ( #595 )
...
* fix NPE on named provider init
* add condition for not calling shutdown on null old provider
Signed-off-by: liran2000 <liran2000@gmail.com>
2023-09-07 16:11:58 -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
Todd Baert
8789f90d33
chore: fix race with events tests ( #545 )
...
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
2023-08-04 15:31:39 -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