Todd Baert
5814c30fc7
chore: updates tooling to jdk18, adds missing javadoc
...
Signed-off-by: Todd Baert <toddbaert@gmail.com>
2022-11-14 20:57:57 -05: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
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
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
Todd Baert
7e6259c14f
breaking: store all numbers as doubles
...
Signed-off-by: Todd Baert <toddbaert@gmail.com>
2022-09-07 12:31:40 -04:00
Justin Abrahms
50225388af
Remove unused parameter
2022-08-29 10:53:40 -07:00
Justin Abrahms
4ec5258d95
Remove flag eval options from provider API
2022-08-29 10:50:54 -07:00
Todd Baert
3cf5a6ffbb
fix: update provider object eval, T -> Structure
...
Signed-off-by: Todd Baert <toddbaert@gmail.com>
2022-08-28 11:43:41 -04:00
Justin Abrahms
4662444f7a
PMD fixes
...
Signed-off-by: Justin Abrahms <justin@abrah.ms>
2022-08-26 09:36:43 -07:00
Justin Abrahms
c86b4c1886
Docs for Value
...
Clear up warning of parameterized types.
Signed-off-by: Justin Abrahms <justin@abrah.ms>
2022-08-26 08:56:04 -07:00
Justin Abrahms
2ad492a79c
@Delegate was copying over methods we didn't care about, which made usage of the API ambiguous.
...
Signed-off-by: Justin Abrahms <justin@abrah.ms>
2022-08-26 08:55:54 -07:00
Justin Abrahms
2e5b26f2e4
Document what a Structure is as well as why we need to use it for providers.
...
Signed-off-by: Justin Abrahms <justin@abrah.ms>
2022-08-26 08:55:50 -07:00
Todd Baert
84dbd4c819
store times as ZonedDateTime
...
Signed-off-by: Todd Baert <toddbaert@gmail.com>
2022-08-26 10:58:37 -04:00
Todd Baert
6eed1a3107
Remove unused enum
...
Signed-off-by: Todd Baert <toddbaert@gmail.com>
2022-08-25 13:11:04 -04:00
Todd Baert
b81b944561
Adding JSON node value abstraction
...
Signed-off-by: Todd Baert <toddbaert@gmail.com>
2022-08-25 10:06:26 -04:00
Todd Baert
a862325354
Encapsuate instead of inherent Strcuture
...
Signed-off-by: Todd Baert <toddbaert@gmail.com>
2022-08-24 12:41:50 -04:00
Todd Baert
f36b641395
Add proxy methods context->structure
...
Signed-off-by: Todd Baert <toddbaert@gmail.com>
2022-08-24 11:03:22 -04:00
Todd Baert
360d2b7013
Add generic structure type, use context/getObject
...
Signed-off-by: Todd Baert <toddbaert@gmail.com>
2022-08-23 16:54:08 -04:00
Justin Abrahms
465d1139d5
Remove guava dependency. Ensure unused dependencies are removed from pom.xml
2022-08-22 16:26:36 -07:00
Justin Abrahms
3051790370
Provide a mechanism to get all flags as Object
2022-08-18 08:20:51 -07:00
Todd Baert
a307cea536
Handle null provider, all author code in try/catch
...
Signed-off-by: Todd Baert <toddbaert@gmail.com>
2022-08-15 08:57:55 -04:00
Michael Beemer
4dd0017e89
add double hook interface
...
Signed-off-by: Michael Beemer <beeme1mr@users.noreply.github.com>
2022-08-12 16:33:11 -04:00
Justin Abrahms
e4093c2482
Support passing targetingKey in as param to EvalContext
2022-08-11 15:52:39 -07:00
Robert Grassian
e7b2a4503b
test
...
Signed-off-by: Robert Grassian <robert.grassian@split.io>
2022-08-11 14:57:40 -07:00
Robert Grassian
54faaf99ae
fix merge of eval context targeting key
...
Signed-off-by: Robert Grassian <robert.grassian@split.io>
2022-08-11 14:57:40 -07:00
Justin Abrahms
260d1686cd
hooks are the highest precedence in context merging followed by invocation.
...
Fixes #43
2022-08-08 19:43:32 -07:00
Justin Abrahms
b0efa87bc3
Fix docs warnings
2022-08-07 23:01:34 -07:00
Justin Abrahms
f6313fa335
Fix checkstyle issues (mostly adding javadoc)
2022-08-07 22:49:58 -07:00
Justin Abrahms
9ea9e08165
Add some missing javadoc
2022-08-07 22:19:32 -07:00
Justin Abrahms
4cbb87fbab
Support chaining evaluation context additions.
...
Refs #29
2022-08-07 21:08:45 -07:00
Justin Abrahms
efc1c048b6
Add spotbugs & pmd for static analysis
...
Also move internal state validation into DoSomethingProvider since that sits in test code
2022-08-06 23:31:09 -07:00
Justin Abrahms
df1a083398
Merge contexts from api and client
2022-08-06 19:39:50 -07:00
Justin Abrahms
f5a49ea164
Drop multi-map implementation of context for a single type-annotated map
2022-08-06 16:13:37 -07:00
Justin Abrahms
d71bf0851c
error in before results in default params
2022-08-05 14:38:47 -07:00
Justin Abrahms
def7f57007
Provider hooks
2022-08-05 14:19:18 -07:00
Justin Abrahms
f37bae77d7
Double support
2022-08-05 14:05:34 -07:00
Robert Grassian
a60d530c95
use copy of map rather than iterator, tests
...
Signed-off-by: Robert Grassian <robert.grassian@split.io>
2022-08-03 10:56:42 -07:00
Robert Grassian
0edd3366e1
iterators to get all integer, string, boolean, or structure map entries
...
Signed-off-by: Robert Grassian <robert.grassian@split.io>
2022-08-03 10:56:42 -07:00
Thomas Poignant
cfc94c5b77
Add method to get double
...
Signed-off-by: Thomas Poignant <thomas.poignant@gofeatureflag.org>
Signed-off-by: Robert Grassian <robert.grassian@split.io>
2022-08-03 10:56:42 -07:00
Thomas Poignant
0a714fa637
Make constructor public
...
Signed-off-by: Thomas Poignant <thomas.poignant@gofeatureflag.org>
2022-07-23 15:51:05 +02:00
Justin Abrahms
d5f4ace4aa
Move to maven.
2022-06-23 11:54:56 -05:00