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 <[email protected]> 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 "[email protected]" <[email protected]>.
