Author: cziegeler
Date: Thu Dec 19 04:48:45 2013
New Revision: 1552226

URL: http://svn.apache.org/r1552226
Log:
Take II for the feature flags, separate into different contexts to avoid 
duplicate evaluation

Added:
    
sling/whiteboard/feature-flags/src/main/java/org/apache/sling/extensions/featureflags/impl/ProviderContextImpl.java
      - copied, changed from r1552225, 
sling/whiteboard/feature-flags/src/main/java/org/apache/sling/extensions/featureflags/impl/FeatureContextImpl.java
Removed:
    
sling/whiteboard/feature-flags/src/main/java/org/apache/sling/extensions/featureflags/impl/FeatureContextImpl.java
Modified:
    
sling/whiteboard/feature-flags/src/main/java/org/apache/sling/extensions/featureflags/impl/FeatureManager.java

Modified: 
sling/whiteboard/feature-flags/src/main/java/org/apache/sling/extensions/featureflags/impl/FeatureManager.java
URL: 
http://svn.apache.org/viewvc/sling/whiteboard/feature-flags/src/main/java/org/apache/sling/extensions/featureflags/impl/FeatureManager.java?rev=1552226&r1=1552225&r2=1552226&view=diff
==============================================================================
--- 
sling/whiteboard/feature-flags/src/main/java/org/apache/sling/extensions/featureflags/impl/FeatureManager.java
 (original)
+++ 
sling/whiteboard/feature-flags/src/main/java/org/apache/sling/extensions/featureflags/impl/FeatureManager.java
 Thu Dec 19 04:48:45 2013
@@ -32,9 +32,9 @@ import org.apache.sling.api.SlingHttpSer
 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 F
     }
 
     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 F
         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 F
         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);
             }
         }

Copied: 
sling/whiteboard/feature-flags/src/main/java/org/apache/sling/extensions/featureflags/impl/ProviderContextImpl.java
 (from r1552225, 
sling/whiteboard/feature-flags/src/main/java/org/apache/sling/extensions/featureflags/impl/FeatureContextImpl.java)
URL: 
http://svn.apache.org/viewvc/sling/whiteboard/feature-flags/src/main/java/org/apache/sling/extensions/featureflags/impl/ProviderContextImpl.java?p2=sling/whiteboard/feature-flags/src/main/java/org/apache/sling/extensions/featureflags/impl/ProviderContextImpl.java&p1=sling/whiteboard/feature-flags/src/main/java/org/apache/sling/extensions/featureflags/impl/FeatureContextImpl.java&r1=1552225&r2=1552226&rev=1552226&view=diff
==============================================================================
--- 
sling/whiteboard/feature-flags/src/main/java/org/apache/sling/extensions/featureflags/impl/FeatureContextImpl.java
 (original)
+++ 
sling/whiteboard/feature-flags/src/main/java/org/apache/sling/extensions/featureflags/impl/ProviderContextImpl.java
 Thu Dec 19 04:48:45 2013
@@ -22,18 +22,21 @@ import org.apache.sling.api.SlingHttpSer
 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();
     }


Reply via email to