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 10:01:03 UTC
[sling-org-apache-sling-resourceresolver] 19/24: SLING-2796 :
Support refreshing of resource providers
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to annotated tag org.apache.sling.resourceresolver-1.0.6
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourceresolver.git
commit 9cd63a893e969d38e14231332ca7121c012aa564
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Sun Mar 24 18:59:52 2013 +0000
SLING-2796 : Support refreshing of resource providers
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/bundles/resourceresolver@1460424 13f79535-47bb-0310-9956-ffa450edef68
---
.../resourceresolver/impl/ResourceResolverImpl.java | 7 +++++++
.../impl/helper/ResourceResolverContext.java | 17 +++++++++++++++++
2 files changed, 24 insertions(+)
diff --git a/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.java b/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.java
index b83de33..0ffe9e4 100644
--- a/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.java
+++ b/src/main/java/org/apache/sling/resourceresolver/impl/ResourceResolverImpl.java
@@ -1164,4 +1164,11 @@ public class ResourceResolverImpl extends SlingAdaptable implements ResourceReso
}
return result;
}
+
+ /**
+ * @see org.apache.sling.api.resource.ResourceResolver#refresh()
+ */
+ public void refresh() {
+ this.context.refresh();
+ }
}
diff --git a/src/main/java/org/apache/sling/resourceresolver/impl/helper/ResourceResolverContext.java b/src/main/java/org/apache/sling/resourceresolver/impl/helper/ResourceResolverContext.java
index d3c3543..a9ca7ef 100644
--- a/src/main/java/org/apache/sling/resourceresolver/impl/helper/ResourceResolverContext.java
+++ b/src/main/java/org/apache/sling/resourceresolver/impl/helper/ResourceResolverContext.java
@@ -25,6 +25,7 @@ import java.util.Set;
import org.apache.sling.api.resource.DynamicResourceProvider;
import org.apache.sling.api.resource.ModifyingResourceProvider;
import org.apache.sling.api.resource.PersistenceException;
+import org.apache.sling.api.resource.RefreshableResourceProvider;
import org.apache.sling.api.resource.ResourceProvider;
import org.apache.sling.api.resource.ResourceResolver;
@@ -41,6 +42,9 @@ public class ResourceResolverContext {
/** A set of all dynamic providers (for closing them later on) */
private final Set<DynamicResourceProvider> dynamicProviders = new HashSet<DynamicResourceProvider>();
+ /** A set of all refreshable providers */
+ private final Set<RefreshableResourceProvider> refreshableProviders = new HashSet<RefreshableResourceProvider>();
+
/** A set of all modifying providers */
private final Set<ModifyingResourceProvider> modifyingProviders = new HashSet<ModifyingResourceProvider>();
@@ -87,6 +91,9 @@ public class ResourceResolverContext {
if (provider instanceof ModifyingResourceProvider) {
this.modifyingProviders.add((ModifyingResourceProvider) provider);
}
+ if (provider instanceof RefreshableResourceProvider) {
+ this.refreshableProviders.add((RefreshableResourceProvider)provider);
+ }
}
/**
@@ -121,6 +128,7 @@ public class ResourceResolverContext {
}
this.dynamicProviders.clear();
this.providers.clear();
+ this.refreshableProviders.clear();
}
/**
@@ -152,4 +160,13 @@ public class ResourceResolverContext {
}
return false;
}
+
+ /**
+ * Refresh
+ */
+ public void refresh() {
+ for(final RefreshableResourceProvider provider : this.refreshableProviders) {
+ provider.refresh();
+ }
+ }
}
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.