You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by jo...@apache.org on 2022/01/11 17:30:14 UTC
[sling-org-apache-sling-testing-resourceresolver-mock] 01/01: SLING-11053 implement support for getPropertyMap
This is an automated email from the ASF dual-hosted git repository.
joerghoh pushed a commit to branch improvement/SLING-11053-support-getPropertyMap
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-resourceresolver-mock.git
commit 8373b446130073ea2c491d8e06ea2c861ef1e561
Author: Joerg Hoh <jh...@adobe.com>
AuthorDate: Tue Jan 11 18:29:21 2022 +0100
SLING-11053 implement support for getPropertyMap
---
.../resourceresolver/MockResourceResolver.java | 32 +++++++++++++++++++---
1 file changed, 28 insertions(+), 4 deletions(-)
diff --git a/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolver.java b/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolver.java
index a9e535e..3b105f6 100644
--- a/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolver.java
+++ b/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolver.java
@@ -18,6 +18,7 @@
*/
package org.apache.sling.testing.resourceresolver;
+import java.io.Closeable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Dictionary;
@@ -28,6 +29,7 @@ import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
+import java.util.Map.Entry;
import java.util.Objects;
import java.util.Set;
import java.util.regex.Pattern;
@@ -62,6 +64,8 @@ public class MockResourceResolver extends SlingAdaptable implements ResourceReso
private final MockResourceResolverFactory factory;
private final Map<String,Object> attributes;
+
+ private Map<String,Object> propertyMap;
private final List<MockFindResourcesHandler> findResourcesHandlers = new ArrayList<>();
private final List<MockQueryResourceHandler> queryResourcesHandlers = new ArrayList<>();
@@ -272,9 +276,25 @@ public class MockResourceResolver extends SlingAdaptable implements ResourceReso
@Override
public void close() {
+ clearPropertyMap();
this.factory.closed(this);
}
+ private void clearPropertyMap(){
+ if (propertyMap != null) {
+ for (Entry<String, Object> entry : propertyMap.entrySet()) {
+ if (entry.getValue() instanceof Closeable) {
+ try {
+ ((Closeable) entry.getValue()).close();
+ } catch (Exception e) {
+ // ignore
+ }
+ }
+ }
+ propertyMap.clear();
+ }
+ }
+
@Override
public String getUserID() {
return null;
@@ -499,6 +519,13 @@ public class MockResourceResolver extends SlingAdaptable implements ResourceReso
queryResourcesHandlers.add(handler);
}
+ // Sling API 2.24.0
+ public @NotNull Map<String, Object> getPropertyMap() {
+ if (propertyMap == null) {
+ propertyMap = new HashMap<>();
+ }
+ return propertyMap;
+ }
// --- unsupported operations ---
@@ -529,9 +556,6 @@ public class MockResourceResolver extends SlingAdaptable implements ResourceReso
throw new UnsupportedOperationException();
}
- // Sling API 2.24.0
- public @NotNull Map<String, Object> getPropertyMap() {
- throw new UnsupportedOperationException();
- }
+
}