-
Notifications
You must be signed in to change notification settings - Fork 32
[FSSDK-11170] update: decision service methods for cmab #583
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
FarhanAnjum-opti
merged 60 commits into
master
from
farhan-anjum/FSSDK-11170-decision-service-methods-for-cmab
Nov 17, 2025
Merged
Changes from 41 commits
Commits
Show all changes
60 commits
Select commit
Hold shift + click to select a range
26e6393
update: add CmabService to Optimizely class and builder
FarhanAnjum-opti ad63201
update: integrate CMAB service into OptimizelyFactory
FarhanAnjum-opti fbed362
update: change CmabService field to non-nullable in Optimizely class
FarhanAnjum-opti 53d754a
update: add CmabService to DecisionService and its tests
FarhanAnjum-opti 9905026
update: implement CMAB traffic allocation in Bucketer and DecisionSer…
FarhanAnjum-opti 78f45bf
update: enhance DecisionService, FeatureDecision, and DecisionRespons…
FarhanAnjum-opti 9757d49
update: enhance DecisionService and DecisionMessage to handle errors …
FarhanAnjum-opti ecf9199
update: add validConfigJsonCMAB method to DatafileProjectConfigTestUt…
FarhanAnjum-opti 5e0808f
update: add tests to verify precedence of whitelisted and forced vari…
FarhanAnjum-opti 36d2b4c
update: add test to verify error handling in getVariation for CMAB se…
FarhanAnjum-opti 5796cb7
update: modify DecisionResponse to include additional error handling …
FarhanAnjum-opti d8b0134
update: fix error handling assertion in DecisionServiceTest to correc…
FarhanAnjum-opti b2f270f
update: add tests for CMAB experiment variations in DecisionService
FarhanAnjum-opti a4c3f1c
update: implement decision-making methods to skip CMAB logic in Optim…
FarhanAnjum-opti e4fe788
update: add methods to OptimizelyUserContext for decision-making with…
FarhanAnjum-opti e75693d
update: add asynchronous decision-making methods in OptimizelyUserCon…
FarhanAnjum-opti af210d8
update: add decision-making methods without CMAB logic in OptimizelyU…
FarhanAnjum-opti 42053e4
update: remove unused parameter 'useCmab' from DecisionService method…
FarhanAnjum-opti 9a12d72
update: rename methods to use 'Sync' suffix for clarity in decision-m…
FarhanAnjum-opti 416bcbd
update: return cmab error decision whenever found
FarhanAnjum-opti 64f378f
update: enhance error handling by specifying CMAB error messages in d…
FarhanAnjum-opti 8539166
update: improve error handling by checking for null values in experim…
FarhanAnjum-opti 3cee65c
update: fix CMAB error handling by providing a valid Experiment in Fe…
FarhanAnjum-opti 47c65b5
update: add Javadoc comments for async decision methods and config cr…
FarhanAnjum-opti fe75a85
update: refactor build to use cmabClient instead of default service
FarhanAnjum-opti b0d5090
update: refactor DefaultCmabClient to utilize CmabClientHelper
FarhanAnjum-opti 6db2e88
update: refactor AsyncDecisionsFetcher to AsyncDecisionFetcher and en…
FarhanAnjum-opti 6fc6446
update: add missing copyright notice and license information to CmabC…
FarhanAnjum-opti a80c0d3
update: enhance CMAB handling in bucketing and decision services, add…
FarhanAnjum-opti a9ae805
update: add backward compatibility support for Android sync and async…
FarhanAnjum-opti f25f824
update: add empty list parameter to decision methods in OptimizelyUse…
FarhanAnjum-opti 7363a2f
update: replace null with empty list parameter in async decision meth…
FarhanAnjum-opti 1c52366
update: add useCmab parameter to decideForKeys methods for enhanced d…
FarhanAnjum-opti b2dcf9e
Update core-api/src/main/java/com/optimizely/ab/Optimizely.java
FarhanAnjum-opti 89771bc
update: refactor decision-making logic to use DecisionPath enum for c…
FarhanAnjum-opti 73d5673
Update core-api/src/main/java/com/optimizely/ab/Optimizely.java
FarhanAnjum-opti 690379c
Update core-api/src/main/java/com/optimizely/ab/Optimizely.java
FarhanAnjum-opti 9c8dd8f
update: modify OptimizelyUserContext to change optimizely field to pa…
FarhanAnjum-opti a17becd
update: implement asynchronous decision-making methods in Optimizely …
FarhanAnjum-opti ba575ce
update: refactor DefaultCmabService to remove CmabServiceOptions depe…
FarhanAnjum-opti ad474c8
update: refactor DefaultCmabService to use a generic Cache interface …
FarhanAnjum-opti 9f7ea59
fix to support android-sdk
jaeopt 93cdaba
clean up
jaeopt e459321
update: refactor bucketing logic to remove CMAB handling from Decisio…
FarhanAnjum-opti 8c96222
update: introduce CacheWithRemove interface and refactor DefaultCmabS…
FarhanAnjum-opti 7c97734
update: implement CacheWithRemove interface in DefaultLRUCache class
FarhanAnjum-opti 4feb857
update: refactor OptimizelyFactory to remove CMAB cache methods and a…
FarhanAnjum-opti 4b35768
update: refactor DefaultCmabService to streamline logger initializati…
FarhanAnjum-opti effbd74
update: refactor DefaultCmabService to use Cache interface, enhance c…
FarhanAnjum-opti ebe27be
update: change parameter type from DefaultCmabService to CmabService …
FarhanAnjum-opti 219b322
update: change parameter type from DefaultCmabService to CmabService …
FarhanAnjum-opti 8dff3d0
update: add missing newline at end of file in multiple classes
FarhanAnjum-opti 99f078a
update: add missing newline at end of OptimizelyDecisionsCallback.java
FarhanAnjum-opti f91cfd0
update: modify DefaultCmabClient constructor to use default retry con…
FarhanAnjum-opti 43522cd
update: add cmabEndpoint handling in DefaultCmabClient and CmabClient…
FarhanAnjum-opti 48ed1a2
Update core-api/src/main/java/com/optimizely/ab/optimizelydecision/Op…
FarhanAnjum-opti 97fd046
update: refactor CmabClientConfig to include cmabEndpoint handling an…
FarhanAnjum-opti 528a536
update: add overloaded constructor to DecisionService for improved in…
FarhanAnjum-opti c8c4198
update: refactor decision methods in Optimizely for improved CMAB han…
FarhanAnjum-opti c0198f9
update: add missing newline at end of Bucketer.java file
FarhanAnjum-opti File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.