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 <cziege...@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" <commits@sling.apache.org>.