You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 09:34:23 UTC
[sling-org-apache-sling-featureflags] 04/25: Take II for the
feature flags,
separate into different contexts to avoid duplicate evaluation
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to annotated tag org.apache.sling.featureflags-1.0.0
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-featureflags.git
commit fae60b1d27140aee92ece67806293b0e743d13d9
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Thu Dec 19 04:48:45 2013 +0000
Take II for the feature flags, separate into different contexts to avoid duplicate evaluation
git-svn-id: https://svn.apache.org/repos/asf/sling/whiteboard/feature-flags@1552226 13f79535-47bb-0310-9956-ffa450edef68
---
.../extensions/featureflags/impl/FeatureManager.java | 20 ++++++++++----------
...tureContextImpl.java => ProviderContextImpl.java} | 9 ++++++---
2 files changed, 16 insertions(+), 13 deletions(-)
diff --git a/src/main/java/org/apache/sling/extensions/featureflags/impl/FeatureManager.java b/src/main/java/org/apache/sling/extensions/featureflags/impl/FeatureManager.java
index 2fbf286..4d42d0a 100644
--- a/src/main/java/org/apache/sling/extensions/featureflags/impl/FeatureManager.java
+++ b/src/main/java/org/apache/sling/extensions/featureflags/impl/FeatureManager.java
@@ -32,9 +32,9 @@ import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.extensions.featureflags.ClientContext;
-import org.apache.sling.extensions.featureflags.ProviderContext;
import org.apache.sling.extensions.featureflags.FeatureProvider;
import org.apache.sling.extensions.featureflags.Features;
+import org.apache.sling.extensions.featureflags.ProviderContext;
import org.osgi.framework.Constants;
/**
@@ -130,8 +130,8 @@ public class FeatureManager implements Features {
}
public void setCurrentClientContext(final SlingHttpServletRequest request) {
- final ProviderContext featureContext = new FeatureContextImpl(request);
- final ClientContextImpl ctx = this.createClientContext(featureContext);
+ final ProviderContext providerContext = new ProviderContextImpl(request);
+ final ClientContextImpl ctx = this.createClientContext(providerContext);
perThreadClientContext.set(ctx);
}
@@ -144,8 +144,8 @@ public class FeatureManager implements Features {
if ( resolver == null ) {
throw new IllegalArgumentException("Resolver must not be null.");
}
- final ProviderContext featureContext = new FeatureContextImpl(resolver);
- final ClientContext ctx = this.createClientContext(featureContext);
+ final ProviderContext providerContext = new ProviderContextImpl(resolver);
+ final ClientContext ctx = this.createClientContext(providerContext);
return ctx;
}
@@ -154,19 +154,19 @@ public class FeatureManager implements Features {
if ( request == null ) {
throw new IllegalArgumentException("Request must not be null.");
}
- final ProviderContext featureContext = new FeatureContextImpl(request);
- final ClientContext ctx = this.createClientContext(featureContext);
+ final ProviderContext providerContext = new ProviderContextImpl(request);
+ final ClientContext ctx = this.createClientContext(providerContext);
return ctx;
}
- private ClientContextImpl createClientContext(final ProviderContext featureContext) {
- final ClientContextImpl ctx = new ClientContextImpl(featureContext);
+ private ClientContextImpl createClientContext(final ProviderContext providerContext) {
+ final ClientContextImpl ctx = new ClientContextImpl(providerContext);
for(final Map.Entry<String, FeatureProvider> entry : this.activeProviders.entrySet()) {
final String name = entry.getKey();
final FeatureProvider provider = entry.getValue();
- if ( provider.isEnabled(name, featureContext) ) {
+ if ( provider.isEnabled(name, providerContext) ) {
ctx.addFeature(name);
}
}
diff --git a/src/main/java/org/apache/sling/extensions/featureflags/impl/FeatureContextImpl.java b/src/main/java/org/apache/sling/extensions/featureflags/impl/ProviderContextImpl.java
similarity index 85%
rename from src/main/java/org/apache/sling/extensions/featureflags/impl/FeatureContextImpl.java
rename to src/main/java/org/apache/sling/extensions/featureflags/impl/ProviderContextImpl.java
index e31dc15..3c66929 100644
--- a/src/main/java/org/apache/sling/extensions/featureflags/impl/FeatureContextImpl.java
+++ b/src/main/java/org/apache/sling/extensions/featureflags/impl/ProviderContextImpl.java
@@ -22,18 +22,21 @@ import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.extensions.featureflags.ProviderContext;
-public class FeatureContextImpl implements ProviderContext {
+/**
+ * Implementation of the provider context.
+ */
+public class ProviderContextImpl implements ProviderContext {
private final ResourceResolver resourceResolver;
private final SlingHttpServletRequest request;
- public FeatureContextImpl(final ResourceResolver resourceResolver) {
+ public ProviderContextImpl(final ResourceResolver resourceResolver) {
this.request = null;
this.resourceResolver = resourceResolver;
}
- public FeatureContextImpl(final SlingHttpServletRequest request) {
+ public ProviderContextImpl(final SlingHttpServletRequest request) {
this.request = request;
this.resourceResolver = request.getResourceResolver();
}
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.