Comments (4)
Do they want to use the toggleName as part of the hash input? Would this solve it, and some javadoc added to the Strategy interface with "The client always add "toggleName" to the parameters map"?
ToggleCollection(final Collection<FeatureToggle> features) {
this.features = features;
cache = new HashMap<>();
for(FeatureToggle featureToggle : features) {
String featureToggleName = featureToggle.getName();
featureToggle.getParameters().put("toggleName",featureToggleName);
cache.put(featureToggleName, featureToggle);
}
}
from unleash-client-java.
Isn't this exactly why we have parameters? I think adding the toggleName
argument (or inject it into the parameters by default) suggests that it's OK to couple strategy implementations tightly to the various toggles that may be using it, which is not what we want.
And although the use case is compelling, I'm not sure that the toggle name will always be the best key to use for consistent grouping/hashing. What if someone wants to share the "user groups" across several toggles? Then it would make a lot more sense to have it as a parameter.
So my vote is 👎 for make the strategy aware of toggle names, and 👍 for using a parameter for this.
from unleash-client-java.
I disagree with your suggestion @sveinelo , we should NOT manipulate the config params.
@jarib has a valid point and I withdraw my suggestion on changing the API.
from unleash-client-java.
👍 for using parameters for this
from unleash-client-java.
Related Issues (20)
- Refactor DefaultUnleash to make it customizable with different implementation of IFeatureRepository HOT 1
- Sanitize appName for backupFile HOT 5
- Why use a `BiFunction` when the desired interface was a `BiPredicate`? HOT 1
- Unleash Codegen Gradle Plugin HOT 8
- DefaultUnleash.isEnabled(toggleName, context) silently dropping context HOT 4
- FakeUnleash enable all except certain features HOT 6
- Make Backuphandler extensible HOT 1
- Impression data flag as part of getFeatureToggleDefinition HOT 1
- Client specification header makes server send stale information HOT 12
- SDK exposes Api key in logs
- Missing 8.3.0 release artifact in maven HOT 3
- Strategy check return only the first enabled HOT 3
- Compatability Matrix HOT 2
- Update from 8.3.1 to 9.1.0 changes variant on existing features flags HOT 7
- Remove (again) our deprecated hashing methods
- Filter for tags HOT 2
- Add featureEnabled to variant response HOT 1
- Proxy authentication not working HOT 1
- String operator STR_STARTS_WITH is not evaluated correctly when case-sensative is disabled HOT 6
- FakeUnleash doesn't take into account global activation/deactivation for certain isEnabled method HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from unleash-client-java.