Author: pauls
Date: Mon Jul 24 15:15:01 2017
New Revision: 1802827
URL: http://svn.apache.org/viewvc?rev=1802827&view=rev
Log:
SLING-7019: Improve the MapEntries class by making sure we only use the
resourceresolver while holding a lock and have not been disposed.
Modified:
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java
Modified:
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java?rev=1802827&r1=1802826&r2=1802827&view=diff
==============================================================================
---
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java
(original)
+++
sling/trunk/bundles/resourceresolver/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java
Mon Jul 24 15:15:01 2017
@@ -267,7 +267,7 @@ public class MapEntries implements
try {
this.refreshResolverIfNecessary(resolverRefreshed);
- final Resource resource = resolver.getResource(path);
+ final Resource resource = this.resolver != null ?
resolver.getResource(path) : null;
if (resource != null) {
boolean changed = doAddVanity(resource);
if (this.factory.isOptimizeAliasResolutionEnabled() &&
resource.getValueMap().containsKey(ResourceResolverImpl.PROP_ALIAS)) {
@@ -289,7 +289,7 @@ public class MapEntries implements
try {
this.refreshResolverIfNecessary(resolverRefreshed);
- final Resource resource = resolver.getResource(path);
+ final Resource resource = this.resolver != null ?
resolver.getResource(path) : null;
if (resource != null) {
boolean changed = false;
if ( isValidVanityPath ) {
@@ -395,7 +395,7 @@ public class MapEntries implements
this.aliasMap.remove(contentPath);
}
- Resource containingResource =
this.resolver.getResource(resourcePath);
+ Resource containingResource = this.resolver != null ?
this.resolver.getResource(resourcePath) : null;
if (containingResource != null) {
if
(containingResource.getValueMap().containsKey(ResourceResolverImpl.PROP_ALIAS))
{
@@ -684,8 +684,10 @@ public class MapEntries implements
this.initializing.lock();
try {
- refreshResolverIfNecessary(resolverRefreshed);
- doUpdateConfiguration();
+ if (this.resolver != null) {
+ refreshResolverIfNecessary(resolverRefreshed);
+ doUpdateConfiguration();
+ }
} finally {
this.initializing.unlock();
}