This is an automated email from the ASF dual-hosted git repository. sseifert pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-resourceresolver-mock.git
commit d4090be2060ec63d87f1a505b9ca5c0a1fc32222 Author: Stefan Seifert <stefanseif...@users.noreply.github.com> AuthorDate: Tue Apr 9 17:42:10 2024 +0200 SLING-12284 apply spotless code formatting --- pom.xml | 102 ++++++----- .../DefaultMockResourceFactory.java | 32 ++-- .../resourceresolver/MockFindQueryResources.java | 12 +- .../resourceresolver/MockFindResourcesHandler.java | 4 +- .../sling/testing/resourceresolver/MockHelper.java | 10 +- .../resourceresolver/MockPropertyResource.java | 10 +- .../MockQueryLanguageProvider.java | 17 +- .../resourceresolver/MockQueryResourceHandler.java | 4 +- .../testing/resourceresolver/MockResource.java | 35 ++-- .../resourceresolver/MockResourceFactory.java | 32 ++-- .../resourceresolver/MockResourceProvider.java | 55 +++--- .../resourceresolver/MockResourceResolver.java | 186 +++++++++++---------- .../MockResourceResolverFactory.java | 27 ++- .../MockResourceResolverFactoryOptions.java | 3 +- .../testing/resourceresolver/MockValueMap.java | 31 ++-- .../testing/resourceresolver/NamespaceMangler.java | 1 - .../ReadonlyValueMapDecorator.java | 1 - .../testing/resourceresolver/ResourceTypeUtil.java | 4 +- .../CreateDeleteResourceResolverTest.java | 17 +- ...esourcesResourceResolverFactoryOptionsTest.java | 13 +- .../resourceresolver/FindQueryResourcesTest.java | 52 +++--- .../resourceresolver/IsResourceTypeTest.java | 13 +- .../resourceresolver/NamespaceManglerTest.java | 5 +- .../NamespaceManglingResourceResolverTest.java | 9 +- .../resourceresolver/NtFileResourceTest.java | 36 ++-- .../testing/resourceresolver/PropertyMapTest.java | 19 +-- .../ResourceResolverLoginTest.java | 12 +- .../resourceresolver/RootResourceTypeTest.java | 3 +- .../SlingCrudResourceResolverTest.java | 101 ++++++----- .../testing/resourceresolver/ValueMapTest.java | 11 +- ...DeleteResourceResolverResourceProviderTest.java | 1 - ...FindQueryResourcesTestResourceProviderTest.java | 1 - .../IsResourceTypeTestResourceProviderTest.java | 1 - .../provider/MockResourceProviderTest.java | 12 +- .../NtFileResourceTestResourceProviderTest.java | 1 - .../RootResourceTypeTestResourceProviderTest.java | 1 - ...udResourceResolverTestResourceProviderTest.java | 1 - .../provider/ValueMapTestResourceProviderTest.java | 1 - 38 files changed, 425 insertions(+), 451 deletions(-) diff --git a/pom.xml b/pom.xml index 15f724d..d1a18de 100644 --- a/pom.xml +++ b/pom.xml @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> +<?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file @@ -31,34 +31,53 @@ <version>1.5.0-SNAPSHOT</version> <name>Apache Sling Testing Resource Resolver Mock</name> - <description> - Mock for the resource resolver / factory for easier testing. - </description> + <description>Mock for the resource resolver / factory for easier testing.</description> <scm> <connection>scm:git:https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-resourceresolver-mock.git</connection> <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-resourceresolver-mock.git</developerConnection> - <url>https://github.com/apache/sling-org-apache-sling-testing-resourceresolver-mock.git</url> <tag>HEAD</tag> + <url>https://github.com/apache/sling-org-apache-sling-testing-resourceresolver-mock.git</url> </scm> <properties> <project.build.outputTimestamp>2024-01-22T13:57:46Z</project.build.outputTimestamp> </properties> - <reporting> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-javadoc-plugin</artifactId> - <configuration> - <excludePackageNames> - org.apache.sling.testing.resourceresolver - </excludePackageNames> - </configuration> - </plugin> - </plugins> - </reporting> + <dependencyManagement> + <dependencies> + <dependency> + <groupId>org.apache.sling</groupId> + <artifactId>org.apache.sling.api</artifactId> + <version>2.22.0</version> + </dependency> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>org.osgi.service.event</artifactId> + <version>1.4.0</version> + </dependency> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + <version>2.11.0</version> + </dependency> + <dependency> + <groupId>org.apache.jackrabbit</groupId> + <artifactId>jackrabbit-jcr-commons</artifactId> + <version>2.20.9</version> + </dependency> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>org.osgi.util.converter</artifactId> + <version>1.0.8</version> + </dependency> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>org.osgi.util.function</artifactId> + <version>1.1.0</version> + </dependency> + </dependencies> + </dependencyManagement> <dependencies> <dependency> <groupId>org.osgi</groupId> @@ -148,42 +167,19 @@ </dependency> </dependencies> - <dependencyManagement> - <dependencies> - <dependency> - <groupId>org.apache.sling</groupId> - <artifactId>org.apache.sling.api</artifactId> - <version>2.22.0</version> - </dependency> - <dependency> - <groupId>org.osgi</groupId> - <artifactId>org.osgi.service.event</artifactId> - <version>1.4.0</version> - </dependency> - <dependency> - <groupId>commons-io</groupId> - <artifactId>commons-io</artifactId> - <version>2.11.0</version> - </dependency> - <dependency> - <groupId>org.apache.jackrabbit</groupId> - <artifactId>jackrabbit-jcr-commons</artifactId> - <version>2.20.9</version> - </dependency> - <dependency> - <groupId>org.osgi</groupId> - <artifactId>org.osgi.util.converter</artifactId> - <version>1.0.8</version> - </dependency> - <dependency> - <groupId>org.osgi</groupId> - <artifactId>org.osgi.util.function</artifactId> - <version>1.1.0</version> - </dependency> - </dependencies> - </dependencyManagement> + <reporting> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <configuration> + <excludePackageNames>org.apache.sling.testing.resourceresolver</excludePackageNames> + </configuration> + </plugin> + </plugins> + </reporting> - <profiles> + <profiles> <profile> <id>latest-dependency-versions</id> <activation> diff --git a/src/main/java/org/apache/sling/testing/resourceresolver/DefaultMockResourceFactory.java b/src/main/java/org/apache/sling/testing/resourceresolver/DefaultMockResourceFactory.java index af167f2..75b32a4 100644 --- a/src/main/java/org/apache/sling/testing/resourceresolver/DefaultMockResourceFactory.java +++ b/src/main/java/org/apache/sling/testing/resourceresolver/DefaultMockResourceFactory.java @@ -1,18 +1,20 @@ /* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.sling.testing.resourceresolver; @@ -28,10 +30,8 @@ import org.apache.sling.api.resource.ResourceResolver; public class DefaultMockResourceFactory implements MockResourceFactory { @Override - public Resource newMockResource(final String path, - final Map<String, Object> properties, - final ResourceResolver resolver) { + public Resource newMockResource( + final String path, final Map<String, Object> properties, final ResourceResolver resolver) { return new MockResource(path, properties, resolver); } - } diff --git a/src/main/java/org/apache/sling/testing/resourceresolver/MockFindQueryResources.java b/src/main/java/org/apache/sling/testing/resourceresolver/MockFindQueryResources.java index 3f55f87..1244792 100644 --- a/src/main/java/org/apache/sling/testing/resourceresolver/MockFindQueryResources.java +++ b/src/main/java/org/apache/sling/testing/resourceresolver/MockFindQueryResources.java @@ -40,7 +40,8 @@ public final class MockFindQueryResources { * @param handler Handler * @throws IllegalStateException If the given resource resolver is not based on resourceresolver-mock */ - public static void addFindResourceHandler(@NotNull ResourceResolver resourceResolver, @NotNull MockFindResourcesHandler handler) { + public static void addFindResourceHandler( + @NotNull ResourceResolver resourceResolver, @NotNull MockFindResourcesHandler handler) { toMockResourceResolver(resourceResolver).addFindResourceHandlerInternal(handler); } @@ -53,16 +54,16 @@ public final class MockFindQueryResources { * @param handler Handler * @throws IllegalStateException If the given resource resolver is not based on resourceresolver-mock */ - public static void addQueryResourceHandler(@NotNull ResourceResolver resourceResolver, @NotNull MockQueryResourceHandler handler) { + public static void addQueryResourceHandler( + @NotNull ResourceResolver resourceResolver, @NotNull MockQueryResourceHandler handler) { toMockResourceResolver(resourceResolver).addQueryResourceHandlerInternal(handler); } private static @NotNull MockResourceResolver toMockResourceResolver(@NotNull ResourceResolver resourceResolver) { MockResourceResolver mockResourceResolver = null; if (resourceResolver instanceof MockResourceResolver) { - mockResourceResolver = (MockResourceResolver)resourceResolver; - } - else { + mockResourceResolver = (MockResourceResolver) resourceResolver; + } else { mockResourceResolver = resourceResolver.adaptTo(MockResourceResolver.class); } if (mockResourceResolver == null) { @@ -70,5 +71,4 @@ public final class MockFindQueryResources { } return mockResourceResolver; } - } diff --git a/src/main/java/org/apache/sling/testing/resourceresolver/MockFindResourcesHandler.java b/src/main/java/org/apache/sling/testing/resourceresolver/MockFindResourcesHandler.java index 5ec86d7..c296ec0 100644 --- a/src/main/java/org/apache/sling/testing/resourceresolver/MockFindResourcesHandler.java +++ b/src/main/java/org/apache/sling/testing/resourceresolver/MockFindResourcesHandler.java @@ -36,6 +36,6 @@ public interface MockFindResourcesHandler { * @param language Language * @return Returns a non-null value if a mocked result is available */ - @Nullable Iterator<Resource> findResources(final @NotNull String query, final String language); - + @Nullable + Iterator<Resource> findResources(final @NotNull String query, final String language); } diff --git a/src/main/java/org/apache/sling/testing/resourceresolver/MockHelper.java b/src/main/java/org/apache/sling/testing/resourceresolver/MockHelper.java index eb216a9..064e370 100644 --- a/src/main/java/org/apache/sling/testing/resourceresolver/MockHelper.java +++ b/src/main/java/org/apache/sling/testing/resourceresolver/MockHelper.java @@ -48,7 +48,6 @@ public class MockHelper { this.resolver = r; } - /** * Create a new helper * @param resolver Resource resolver @@ -67,9 +66,9 @@ public class MockHelper { */ public @NotNull MockHelper resource(@NotNull final String path) { final String fullPath; - if ( path.startsWith("/") ) { + if (path.startsWith("/")) { fullPath = path; - } else if ( path.startsWith(".") ) { + } else if (path.startsWith(".")) { final Description d = this.stack.peek(); fullPath = ResourceUtil.normalize(d.path + "/../" + path.substring(1)); } else { @@ -101,7 +100,7 @@ public class MockHelper { * @throws PersistenceException Persistence exception */ public void add() throws PersistenceException { - for(int i=0; i<this.stack.size(); i++) { + for (int i = 0; i < this.stack.size(); i++) { final Description d = this.stack.get(i); this.create(d.path, d.properties); } @@ -118,7 +117,8 @@ public class MockHelper { } @SuppressWarnings("null") - private void create(@NotNull final String path, @NotNull final Map<String, Object> properties) throws PersistenceException { + private void create(@NotNull final String path, @NotNull final Map<String, Object> properties) + throws PersistenceException { final String parentPath = ResourceUtil.getParent(path); final String name = ResourceUtil.getName(path); diff --git a/src/main/java/org/apache/sling/testing/resourceresolver/MockPropertyResource.java b/src/main/java/org/apache/sling/testing/resourceresolver/MockPropertyResource.java index 82bba13..775a9fe 100644 --- a/src/main/java/org/apache/sling/testing/resourceresolver/MockPropertyResource.java +++ b/src/main/java/org/apache/sling/testing/resourceresolver/MockPropertyResource.java @@ -37,9 +37,7 @@ class MockPropertyResource extends AbstractResource { private final ResourceResolver resolver; private final ResourceMetadata rm; - public MockPropertyResource(final String path, - final ValueMap props, - final ResourceResolver resolver) { + public MockPropertyResource(final String path, final ValueMap props, final ResourceResolver resolver) { this.path = path; this.props = props; this.key = ResourceUtil.getName(path); @@ -47,7 +45,8 @@ class MockPropertyResource extends AbstractResource { this.resolver = resolver; } - private MockPropertyResource(String path, ValueMap props, String key, ResourceMetadata rm, ResourceResolver resolver) { + private MockPropertyResource( + String path, ValueMap props, String key, ResourceMetadata rm, ResourceResolver resolver) { this.path = path; this.props = props; this.key = key; @@ -86,7 +85,7 @@ class MockPropertyResource extends AbstractResource { @SuppressWarnings("null") public <AdapterType> AdapterType adaptTo(Class<AdapterType> type) { AdapterType value = props.get(key, type); - if (value!=null) { + if (value != null) { return value; } return super.adaptTo(type); @@ -100,5 +99,4 @@ class MockPropertyResource extends AbstractResource { Resource forResourceProvider(ResourceResolver resourceResolver) { return new MockPropertyResource(this.path, this.props, this.key, this.rm, resourceResolver); } - } diff --git a/src/main/java/org/apache/sling/testing/resourceresolver/MockQueryLanguageProvider.java b/src/main/java/org/apache/sling/testing/resourceresolver/MockQueryLanguageProvider.java index 9d5eaa1..c43db13 100644 --- a/src/main/java/org/apache/sling/testing/resourceresolver/MockQueryLanguageProvider.java +++ b/src/main/java/org/apache/sling/testing/resourceresolver/MockQueryLanguageProvider.java @@ -37,12 +37,7 @@ class MockQueryLanguageProvider implements QueryLanguageProvider<Void> { private final MockResourceResolver mockResourceResolver; - private static final String[] SUPPORTED_LANGUAGES = { - "xpath", - "sql", - "JCR-SQL2", - "JCR-JQOM" - }; + private static final String[] SUPPORTED_LANGUAGES = {"xpath", "sql", "JCR-SQL2", "JCR-JQOM"}; MockQueryLanguageProvider(MockResourceResolver mockResourceResolver) { this.mockResourceResolver = mockResourceResolver; @@ -60,17 +55,16 @@ class MockQueryLanguageProvider implements QueryLanguageProvider<Void> { @Override public Iterator<ValueMap> queryResources(@NotNull ResolveContext<Void> ctx, String query, String language) { - Iterator<Map<String,Object>> result = mockResourceResolver.queryResources(query, language); + Iterator<Map<String, Object>> result = mockResourceResolver.queryResources(query, language); return StreamSupport.stream(Spliterators.spliteratorUnknownSize(result, Spliterator.ORDERED), false) .map(MockQueryLanguageProvider::toValueMap) .iterator(); } - private static ValueMap toValueMap(Map<String,Object> item) { + private static ValueMap toValueMap(Map<String, Object> item) { if (item instanceof ValueMap) { - return (ValueMap)item; - } - else { + return (ValueMap) item; + } else { return new ValueMapDecorator(item); } } @@ -98,5 +92,4 @@ class MockQueryLanguageProvider implements QueryLanguageProvider<Void> { } }; } - } diff --git a/src/main/java/org/apache/sling/testing/resourceresolver/MockQueryResourceHandler.java b/src/main/java/org/apache/sling/testing/resourceresolver/MockQueryResourceHandler.java index 005f021..b6cf5bc 100644 --- a/src/main/java/org/apache/sling/testing/resourceresolver/MockQueryResourceHandler.java +++ b/src/main/java/org/apache/sling/testing/resourceresolver/MockQueryResourceHandler.java @@ -36,6 +36,6 @@ public interface MockQueryResourceHandler { * @param language Language * @return Returns a non-null value if a mocked result is available */ - @Nullable Iterator<Map<String, Object>> queryResources(@NotNull String query, String language); - + @Nullable + Iterator<Map<String, Object>> queryResources(@NotNull String query, String language); } diff --git a/src/main/java/org/apache/sling/testing/resourceresolver/MockResource.java b/src/main/java/org/apache/sling/testing/resourceresolver/MockResource.java index 89d75c8..5e011c0 100644 --- a/src/main/java/org/apache/sling/testing/resourceresolver/MockResource.java +++ b/src/main/java/org/apache/sling/testing/resourceresolver/MockResource.java @@ -47,20 +47,17 @@ public class MockResource extends AbstractResource { static final String NT_FILE = "nt:file"; static final String NT_UNSTRUCTURED = "nt:unstructured"; - public MockResource(final String path, - final Map<String, Object> props, - final ResourceResolver resolver) { + public MockResource(final String path, final Map<String, Object> props, final ResourceResolver resolver) { this.resolver = resolver; this.path = path; this.rm = new ResourceMetadata(); this.rm.setResolutionPath(path); if (props instanceof MockValueMap) { - this.props = (MockValueMap)props; - } - else if (props instanceof ReadonlyValueMapDecorator && ((ReadonlyValueMapDecorator)props).getDelegate() instanceof MockValueMap) { - this.props = ((ReadonlyValueMapDecorator)props).getDelegate(); - } - else { + this.props = (MockValueMap) props; + } else if (props instanceof ReadonlyValueMapDecorator + && ((ReadonlyValueMapDecorator) props).getDelegate() instanceof MockValueMap) { + this.props = ((ReadonlyValueMapDecorator) props).getDelegate(); + } else { this.props = new MockValueMap(this, props); } } @@ -107,18 +104,16 @@ public class MockResource extends AbstractResource { } @Override - @SuppressWarnings({ "unchecked", "null" }) + @SuppressWarnings({"unchecked", "null"}) public <AdapterType> AdapterType adaptTo(final Class<AdapterType> type) { - if ( type == ValueMap.class || type == Map.class ) { - return (AdapterType)new ReadonlyValueMapDecorator(this.props); - } - else if ( type == ModifiableValueMap.class ) { - return (AdapterType)this.props; - } - else if ( type == InputStream.class ) { + if (type == ValueMap.class || type == Map.class) { + return (AdapterType) new ReadonlyValueMapDecorator(this.props); + } else if (type == ModifiableValueMap.class) { + return (AdapterType) this.props; + } else if (type == InputStream.class) { InputStream is = getFileResourceInputStream(); if (is != null) { - return (AdapterType)is; + return (AdapterType) is; } } return super.adaptTo(type); @@ -132,8 +127,7 @@ public class MockResource extends AbstractResource { String resourceType = getResourceType(); if (NT_RESOURCE.equals(resourceType)) { return getValueMap().get(JCR_DATA, InputStream.class); - } - else if (NT_FILE.equals(resourceType)) { + } else if (NT_FILE.equals(resourceType)) { Resource contentResource = getChild(JCR_CONTENT); if (contentResource != null) { return ResourceUtil.getValueMap(contentResource).get(JCR_DATA, InputStream.class); @@ -160,5 +154,4 @@ public class MockResource extends AbstractResource { Resource forResourceProvider(ResourceResolver resourceResolver) { return new MockResource(this.path, this.props, this.rm, resourceResolver); } - } diff --git a/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceFactory.java b/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceFactory.java index 3885b7d..2a8046f 100644 --- a/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceFactory.java +++ b/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceFactory.java @@ -1,18 +1,20 @@ /* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. */ package org.apache.sling.testing.resourceresolver; @@ -27,8 +29,6 @@ import org.apache.sling.api.resource.ResourceResolver; */ public interface MockResourceFactory { - public Resource newMockResource(final String path, - final Map<String, Object> properties, - final ResourceResolver resolver); - + public Resource newMockResource( + final String path, final Map<String, Object> properties, final ResourceResolver resolver); } diff --git a/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceProvider.java b/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceProvider.java index 6cfc41b..7d5d964 100644 --- a/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceProvider.java +++ b/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceProvider.java @@ -45,14 +45,16 @@ import org.osgi.service.event.EventAdmin; * This is a wrapper around {@link MockResourceResolver} to act as resource provider. * All resources returned by this provider return the resolver from the resolve context instead of the {@link MockResourceResolver}. */ -@Component(service = ResourceProvider.class, property = { - ResourceProvider.PROPERTY_NAME + "=MockResourceProvider", - ResourceProvider.PROPERTY_ROOT + "=/", - ResourceProvider.PROPERTY_MODIFIABLE + ":Boolean=true", - ResourceProvider.PROPERTY_ADAPTABLE + ":Boolean=true", - // although we do not really support authentication, it's required for a modifiable resource provider - ResourceProvider.PROPERTY_AUTHENTICATE + "=" + ResourceProvider.AUTHENTICATE_REQUIRED -}) +@Component( + service = ResourceProvider.class, + property = { + ResourceProvider.PROPERTY_NAME + "=MockResourceProvider", + ResourceProvider.PROPERTY_ROOT + "=/", + ResourceProvider.PROPERTY_MODIFIABLE + ":Boolean=true", + ResourceProvider.PROPERTY_ADAPTABLE + ":Boolean=true", + // although we do not really support authentication, it's required for a modifiable resource provider + ResourceProvider.PROPERTY_AUTHENTICATE + "=" + ResourceProvider.AUTHENTICATE_REQUIRED + }) public final class MockResourceProvider extends ResourceProvider<Void> { @Reference(cardinality = ReferenceCardinality.OPTIONAL) @@ -68,31 +70,30 @@ public final class MockResourceProvider extends ResourceProvider<Void> { options.setEventAdmin(eventAdmin); ResourceResolverFactory resourceResolverFactory = new MockResourceResolverFactory(options); try { - this.mockResourceResolver = (MockResourceResolver)resourceResolverFactory.getResourceResolver(null); - } - catch (LoginException ex) { + this.mockResourceResolver = (MockResourceResolver) resourceResolverFactory.getResourceResolver(null); + } catch (LoginException ex) { throw new RuntimeException(ex); } this.mockQueryLanguageProvider = new MockQueryLanguageProvider(mockResourceResolver); } @Override - public @Nullable Resource getResource(@NotNull ResolveContext<Void> ctx, - @NotNull String path, @NotNull ResourceContext resourceContext, + public @Nullable Resource getResource( + @NotNull ResolveContext<Void> ctx, + @NotNull String path, + @NotNull ResourceContext resourceContext, @Nullable Resource parent) { Resource resource = mockResourceResolver.getResource(path); if (resource != null) { return attachResource(ctx, resource); - } - else { + } else { return null; } } @Override @SuppressWarnings("null") - public @Nullable Iterator<Resource> listChildren( - @NotNull ResolveContext<Void> ctx, @NotNull Resource parent) { + public @Nullable Iterator<Resource> listChildren(@NotNull ResolveContext<Void> ctx, @NotNull Resource parent) { Iterator<Resource> children = mockResourceResolver.listChildren(parent); return StreamSupport.stream(Spliterators.spliteratorUnknownSize(children, Spliterator.ORDERED), false) .map(resource -> attachResource(ctx, resource)) @@ -100,8 +101,8 @@ public final class MockResourceProvider extends ResourceProvider<Void> { } @Override - public @NotNull Resource create(@NotNull ResolveContext<Void> ctx, String path, - Map<String, Object> properties) throws PersistenceException { + public @NotNull Resource create(@NotNull ResolveContext<Void> ctx, String path, Map<String, Object> properties) + throws PersistenceException { String parentPath = ResourceUtil.getParent(path); String name = ResourceUtil.getName(path); if (parentPath == null) { @@ -142,23 +143,21 @@ public final class MockResourceProvider extends ResourceProvider<Void> { @Override @SuppressWarnings("unchecked") - public @Nullable <AdapterType> AdapterType adaptTo(@NotNull ResolveContext<Void> ctx, @NotNull Class<AdapterType> type) { + public @Nullable <AdapterType> AdapterType adaptTo( + @NotNull ResolveContext<Void> ctx, @NotNull Class<AdapterType> type) { if (type == MockResourceResolver.class) { - return (AdapterType)mockResourceResolver; + return (AdapterType) mockResourceResolver; } return super.adaptTo(ctx, type); } private @NotNull Resource attachResource(@NotNull ResolveContext<Void> ctx, @NotNull Resource resource) { if (resource instanceof MockResource) { - return ((MockResource)resource).forResourceProvider(ctx.getResourceResolver()); - } - else if (resource instanceof MockPropertyResource) { - return ((MockPropertyResource)resource).forResourceProvider(ctx.getResourceResolver()); - } - else { + return ((MockResource) resource).forResourceProvider(ctx.getResourceResolver()); + } else if (resource instanceof MockPropertyResource) { + return ((MockPropertyResource) resource).forResourceProvider(ctx.getResourceResolver()); + } else { return resource; } } - } 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 570bc80..09e7857 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,8 @@ */ package org.apache.sling.testing.resourceresolver; +import javax.servlet.http.HttpServletRequest; + import java.io.Closeable; import java.util.ArrayList; import java.util.Collections; @@ -34,8 +36,6 @@ import java.util.Objects; import java.util.Set; import java.util.regex.Pattern; -import javax.servlet.http.HttpServletRequest; - import org.apache.sling.api.SlingConstants; import org.apache.sling.api.SlingException; import org.apache.sling.api.adapter.SlingAdaptable; @@ -55,7 +55,8 @@ public class MockResourceResolver extends SlingAdaptable implements ResourceReso private final Map<String, Map<String, Object>> resources; - private final Map<String, Map<String, Object>> temporaryResources = new LinkedHashMap<String, Map<String,Object>>(); + private final Map<String, Map<String, Object>> temporaryResources = + new LinkedHashMap<String, Map<String, Object>>(); private final Set<String> deletedResources = new HashSet<String>(); @@ -63,20 +64,22 @@ public class MockResourceResolver extends SlingAdaptable implements ResourceReso private final MockResourceResolverFactory factory; - private final Map<String,Object> attributes; + private final Map<String, Object> attributes; - private Map<String,Object> propertyMap; + private Map<String, Object> propertyMap; - public MockResourceResolver(final MockResourceResolverFactoryOptions options, + public MockResourceResolver( + final MockResourceResolverFactoryOptions options, final MockResourceResolverFactory factory, final Map<String, Map<String, Object>> resources) { - this(options, factory, resources, Collections.<String,Object>emptyMap()); + this(options, factory, resources, Collections.<String, Object>emptyMap()); } - public MockResourceResolver(final MockResourceResolverFactoryOptions options, + public MockResourceResolver( + final MockResourceResolverFactoryOptions options, final MockResourceResolverFactory factory, final Map<String, Map<String, Object>> resources, - final Map<String,Object> attributes) { + final Map<String, Object> attributes) { this.factory = factory; this.options = options; this.resources = resources; @@ -95,8 +98,8 @@ public class MockResourceResolver extends SlingAdaptable implements ResourceReso String urlRemainder = null; int urlRemainderPos = Math.min(path.indexOf('?'), path.indexOf('#')); if (urlRemainderPos >= 0) { - urlRemainder = path.substring(urlRemainderPos); - path = path.substring(0, urlRemainderPos); + urlRemainder = path.substring(urlRemainderPos); + path = path.substring(0, urlRemainderPos); } // unmangle namespaces @@ -134,8 +137,8 @@ public class MockResourceResolver extends SlingAdaptable implements ResourceReso String urlRemainder = null; int urlRemainderPos = Math.min(path.indexOf('?'), path.indexOf('#')); if (urlRemainderPos >= 0) { - urlRemainder = path.substring(urlRemainderPos); - path = path.substring(0, urlRemainderPos); + urlRemainder = path.substring(urlRemainderPos); + path = path.substring(0, urlRemainderPos); } // mangle namespaces @@ -157,7 +160,7 @@ public class MockResourceResolver extends SlingAdaptable implements ResourceReso if (parentPath != null) { String name = ResourceUtil.getName(path); Resource parentResource = getResourceInternal(parentPath); - if (parentResource!=null) { + if (parentResource != null) { ValueMap props = ResourceUtil.getValueMap(parentResource); if (props.containsKey(name)) { return new MockPropertyResource(path, props, this); @@ -177,24 +180,24 @@ public class MockResourceResolver extends SlingAdaptable implements ResourceReso String normalizedPath = ResourceUtil.normalize(path); if (normalizedPath == null) { return null; - } else if ( normalizedPath.startsWith("/") ) { - if ( this.deletedResources.contains(normalizedPath) ) { + } else if (normalizedPath.startsWith("/")) { + if (this.deletedResources.contains(normalizedPath)) { return null; } final Map<String, Object> tempProps = this.temporaryResources.get(normalizedPath); - if ( tempProps != null ) { + if (tempProps != null) { return newMockResource(normalizedPath, tempProps, this); } - synchronized ( this.resources ) { + synchronized (this.resources) { final Map<String, Object> props = this.resources.get(normalizedPath); - if ( props != null ) { + if (props != null) { return newMockResource(normalizedPath, props, this); } } } else { - for(final String s : this.getSearchPath() ) { + for (final String s : this.getSearchPath()) { final Resource rsrc = this.getResource(s + '/' + normalizedPath); - if ( rsrc != null ) { + if (rsrc != null) { return rsrc; } } @@ -204,13 +207,13 @@ public class MockResourceResolver extends SlingAdaptable implements ResourceReso @Override public Resource getResource(Resource base, @NotNull String path) { - if ( path == null || path.length() == 0 ) { + if (path == null || path.length() == 0) { path = "/"; } - if ( path.startsWith("/") ) { + if (path.startsWith("/")) { return getResource(path); } - if ( base.getPath().equals("/") ) { + if (base.getPath().equals("/")) { return getResource(base.getPath() + path); } return getResource(base.getPath() + '/' + path); @@ -225,35 +228,33 @@ public class MockResourceResolver extends SlingAdaptable implements ResourceReso public @NotNull Iterator<Resource> listChildren(final @NotNull Resource parent) { final String pathPrefix = "/".equals(parent.getPath()) ? "" : parent.getPath(); final Pattern childPathMatcher = Pattern.compile("^" + Pattern.quote(pathPrefix) + "/[^/]+$"); - final Map<String, Map<String, Object>> candidates = new LinkedHashMap<String, Map<String,Object>>(); - synchronized ( this.resources ) { - for(final Map.Entry<String, Map<String, Object>> e : this.resources.entrySet()) { + final Map<String, Map<String, Object>> candidates = new LinkedHashMap<String, Map<String, Object>>(); + synchronized (this.resources) { + for (final Map.Entry<String, Map<String, Object>> e : this.resources.entrySet()) { if (childPathMatcher.matcher(e.getKey()).matches()) { - if ( !this.deletedResources.contains(e.getKey()) ) { + if (!this.deletedResources.contains(e.getKey())) { candidates.put(e.getKey(), e.getValue()); } } } - for(final Map.Entry<String, Map<String, Object>> e : this.temporaryResources.entrySet()) { + for (final Map.Entry<String, Map<String, Object>> e : this.temporaryResources.entrySet()) { if (childPathMatcher.matcher(e.getKey()).matches()) { - if ( !this.deletedResources.contains(e.getKey()) ) { + if (!this.deletedResources.contains(e.getKey())) { candidates.put(e.getKey(), e.getValue()); } } } } final List<Resource> children = new ArrayList<Resource>(); - for(final Map.Entry<String, Map<String, Object>> e : candidates.entrySet()) { + for (final Map.Entry<String, Map<String, Object>> e : candidates.entrySet()) { children.add(newMockResource(e.getKey(), e.getValue(), this)); } return children.iterator(); } - private Resource newMockResource(final String path, - final Map<String, Object> properties, - final ResourceResolver resolver) { - return this.options.getMockResourceFactory() - .newMockResource(path, properties, resolver); + private Resource newMockResource( + final String path, final Map<String, Object> properties, final ResourceResolver resolver) { + return this.options.getMockResourceFactory().newMockResource(path, properties, resolver); } @Override @@ -277,10 +278,10 @@ public class MockResourceResolver extends SlingAdaptable implements ResourceReso this.factory.closed(this); } - private void clearPropertyMap(){ + private void clearPropertyMap() { if (propertyMap != null) { for (Entry<String, Object> entry : propertyMap.entrySet()) { - if (entry.getValue() instanceof Closeable) { + if (entry.getValue() instanceof Closeable) { try { ((Closeable) entry.getValue()).close(); } catch (Exception e) { @@ -312,16 +313,17 @@ public class MockResourceResolver extends SlingAdaptable implements ResourceReso this.deletedResources.add(resource.getPath()); this.temporaryResources.remove(resource.getPath()); final String prefixPath = resource.getPath() + '/'; - synchronized ( this.resources ) { - for(final Map.Entry<String, Map<String, Object>> e : this.resources.entrySet()) { + synchronized (this.resources) { + for (final Map.Entry<String, Map<String, Object>> e : this.resources.entrySet()) { if (e.getKey().startsWith(prefixPath)) { this.deletedResources.add(e.getKey()); } } - final Iterator<Map.Entry<String, Map<String, Object>>> i = this.temporaryResources.entrySet().iterator(); - while ( i.hasNext() ) { + final Iterator<Map.Entry<String, Map<String, Object>>> i = + this.temporaryResources.entrySet().iterator(); + while (i.hasNext()) { final Map.Entry<String, Map<String, Object>> e = i.next(); - if (e.getKey().startsWith(prefixPath) ) { + if (e.getKey().startsWith(prefixPath)) { i.remove(); } } @@ -329,19 +331,19 @@ public class MockResourceResolver extends SlingAdaptable implements ResourceReso } @Override - public @NotNull Resource create(@NotNull Resource parent, @NotNull String name, - Map<String, Object> properties) throws PersistenceException { + public @NotNull Resource create(@NotNull Resource parent, @NotNull String name, Map<String, Object> properties) + throws PersistenceException { final String path = (parent.getPath().equals("/") ? parent.getPath() + name : parent.getPath() + '/' + name); - if ( this.temporaryResources.containsKey(path) ) { + if (this.temporaryResources.containsKey(path)) { throw new PersistenceException("Path already exists: " + path); } - synchronized ( this.resources ) { - if ( this.resources.containsKey(path) && !this.deletedResources.contains(path) ) { + synchronized (this.resources) { + if (this.resources.containsKey(path) && !this.deletedResources.contains(path)) { throw new PersistenceException("Path already exists: " + path); } } this.deletedResources.remove(path); - if ( properties == null ) { + if (properties == null) { properties = new HashMap<String, Object>(); } @@ -360,9 +362,9 @@ public class MockResourceResolver extends SlingAdaptable implements ResourceReso @SuppressWarnings("deprecation") public void commit() throws PersistenceException { EventAdmin eventAdmin = this.options.getEventAdmin(); - synchronized ( this.resources ) { - for(final String path : this.deletedResources ) { - if ( this.resources.remove(path) != null && eventAdmin != null ) { + synchronized (this.resources) { + for (final String path : this.deletedResources) { + if (this.resources.remove(path) != null && eventAdmin != null) { final Dictionary<String, Object> props = new Hashtable<String, Object>(); props.put(SlingConstants.PROPERTY_PATH, path); final Event e = new Event(SlingConstants.TOPIC_RESOURCE_REMOVED, props); @@ -370,16 +372,20 @@ public class MockResourceResolver extends SlingAdaptable implements ResourceReso } this.temporaryResources.remove(path); } - for(final String path : this.temporaryResources.keySet() ) { + for (final String path : this.temporaryResources.keySet()) { final boolean changed = this.resources.containsKey(path); this.resources.put(path, this.temporaryResources.get(path)); - if ( eventAdmin != null ) { + if (eventAdmin != null) { final Dictionary<String, Object> props = new Hashtable<String, Object>(); props.put(SlingConstants.PROPERTY_PATH, path); - if ( this.resources.get(path).get(ResourceResolver.PROPERTY_RESOURCE_TYPE) != null ) { - props.put(SlingConstants.PROPERTY_RESOURCE_TYPE, this.resources.get(path).get(ResourceResolver.PROPERTY_RESOURCE_TYPE)); + if (this.resources.get(path).get(ResourceResolver.PROPERTY_RESOURCE_TYPE) != null) { + props.put( + SlingConstants.PROPERTY_RESOURCE_TYPE, + this.resources.get(path).get(ResourceResolver.PROPERTY_RESOURCE_TYPE)); } - final Event e = new Event(changed ? SlingConstants.TOPIC_RESOURCE_CHANGED : SlingConstants.TOPIC_RESOURCE_ADDED, props); + final Event e = new Event( + changed ? SlingConstants.TOPIC_RESOURCE_CHANGED : SlingConstants.TOPIC_RESOURCE_ADDED, + props); eventAdmin.sendEvent(e); } } @@ -395,31 +401,32 @@ public class MockResourceResolver extends SlingAdaptable implements ResourceReso @Override public boolean isResourceType(Resource resource, String resourceType) { boolean result = false; - if ( resource != null && resourceType != null ) { - // Check if the resource is of the given type. This method first checks the - // resource type of the resource, then its super resource type and continues - // to go up the resource super type hierarchy. - if (ResourceTypeUtil.areResourceTypesEqual(resourceType, resource.getResourceType(), getSearchPath())) { - result = true; - } else { - Set<String> superTypesChecked = new HashSet<>(); - String superType = this.getParentResourceType(resource); - while (!result && superType != null) { - if (ResourceTypeUtil.areResourceTypesEqual(resourceType, superType, getSearchPath())) { - result = true; - } else { - superTypesChecked.add(superType); - superType = this.getParentResourceType(superType); - if (superType != null && superTypesChecked.contains(superType)) { - throw new SlingException("Cyclic dependency for resourceSuperType hierarchy detected on resource " + resource.getPath()) { + if (resource != null && resourceType != null) { + // Check if the resource is of the given type. This method first checks the + // resource type of the resource, then its super resource type and continues + // to go up the resource super type hierarchy. + if (ResourceTypeUtil.areResourceTypesEqual(resourceType, resource.getResourceType(), getSearchPath())) { + result = true; + } else { + Set<String> superTypesChecked = new HashSet<>(); + String superType = this.getParentResourceType(resource); + while (!result && superType != null) { + if (ResourceTypeUtil.areResourceTypesEqual(resourceType, superType, getSearchPath())) { + result = true; + } else { + superTypesChecked.add(superType); + superType = this.getParentResourceType(superType); + if (superType != null && superTypesChecked.contains(superType)) { + throw new SlingException( + "Cyclic dependency for resourceSuperType hierarchy detected on resource " + + resource.getPath()) { // anonymous class to avoid problem with null cause private static final long serialVersionUID = 1L; - }; - } - } - } - } - + }; + } + } + } + } } return result; } @@ -436,7 +443,7 @@ public class MockResourceResolver extends SlingAdaptable implements ResourceReso @Override public String getParentResourceType(Resource resource) { String resourceSuperType = null; - if ( resource != null ) { + if (resource != null) { resourceSuperType = resource.getResourceSuperType(); if (resourceSuperType == null) { resourceSuperType = this.getParentResourceType(resource.getResourceType()); @@ -451,7 +458,7 @@ public class MockResourceResolver extends SlingAdaptable implements ResourceReso final String rtPath = (resourceType == null ? null : ResourceUtil.resourceTypeToPath(resourceType)); // get the resource type resource and check its super type String resourceSuperType = null; - if ( rtPath != null ) { + if (rtPath != null) { final Resource rtResource = getResource(rtPath); if (rtResource != null) { resourceSuperType = rtResource.getResourceSuperType(); @@ -478,10 +485,10 @@ public class MockResourceResolver extends SlingAdaptable implements ResourceReso @SuppressWarnings("null") public @NotNull Iterator<Resource> findResources(final @NotNull String query, final String language) { return options.getFindResourcesHandlers().stream() - .map(handler -> handler.findResources(query, language)) - .filter(Objects::nonNull) - .findFirst() - .orElse(Collections.emptyIterator()); + .map(handler -> handler.findResources(query, language)) + .filter(Objects::nonNull) + .findFirst() + .orElse(Collections.emptyIterator()); } /** @@ -560,11 +567,8 @@ public class MockResourceResolver extends SlingAdaptable implements ResourceReso } // Sling API 2.24.0 - public boolean orderBefore(@NotNull Resource parent, @NotNull String name, - @Nullable String followingSiblingName) throws UnsupportedOperationException, PersistenceException, IllegalArgumentException { + public boolean orderBefore(@NotNull Resource parent, @NotNull String name, @Nullable String followingSiblingName) + throws UnsupportedOperationException, PersistenceException, IllegalArgumentException { throw new UnsupportedOperationException(); } - - - } diff --git a/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolverFactory.java b/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolverFactory.java index 12a7e05..75d3943 100644 --- a/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolverFactory.java +++ b/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolverFactory.java @@ -37,7 +37,7 @@ import org.osgi.service.event.EventAdmin; */ public class MockResourceResolverFactory implements ResourceResolverFactory { - private static final String ROOT_PRIMARY_TYPE="rep:root"; + private static final String ROOT_PRIMARY_TYPE = "rep:root"; /** We use a linked hash map to preserve creation order. */ private final Map<String, Map<String, Object>> resources = new LinkedHashMap<String, Map<String, Object>>(); @@ -65,24 +65,24 @@ public class MockResourceResolverFactory implements ResourceResolverFactory { */ public MockResourceResolverFactory(@NotNull final MockResourceResolverFactoryOptions options) { this.options = options; - Map<String, Object> props= new HashMap<String,Object>(); + Map<String, Object> props = new HashMap<String, Object>(); props.put(MockResource.JCR_PRIMARYTYPE, ROOT_PRIMARY_TYPE); resources.put("/", props); } @Override - public @NotNull ResourceResolver getResourceResolver( - final Map<String, Object> authenticationInfo) throws LoginException { + public @NotNull ResourceResolver getResourceResolver(final Map<String, Object> authenticationInfo) + throws LoginException { // put user name in resolver attributes - Map<String,Object> attributes = new HashMap<String, Object>(); - if (authenticationInfo!=null) { + Map<String, Object> attributes = new HashMap<String, Object>(); + if (authenticationInfo != null) { attributes.put(ResourceResolverFactory.USER, authenticationInfo.get(ResourceResolverFactory.USER)); } final ResourceResolver result = new MockResourceResolver(options, this, resources, attributes); Stack<ResourceResolver> resolverStack = resolverStackHolder.get(); - if ( resolverStack == null ) { + if (resolverStack == null) { resolverStack = new Stack<ResourceResolver>(); resolverStackHolder.set(resolverStack); } @@ -91,14 +91,14 @@ public class MockResourceResolverFactory implements ResourceResolverFactory { } @Override - public @NotNull ResourceResolver getAdministrativeResourceResolver( - final Map<String, Object> authenticationInfo) throws LoginException { + public @NotNull ResourceResolver getAdministrativeResourceResolver(final Map<String, Object> authenticationInfo) + throws LoginException { return new MockResourceResolver(options, this, resources); } @Override - public @NotNull ResourceResolver getServiceResourceResolver( - Map<String, Object> authenticationInfo) throws LoginException { + public @NotNull ResourceResolver getServiceResourceResolver(Map<String, Object> authenticationInfo) + throws LoginException { return new MockResourceResolver(options, this, resources); } @@ -111,7 +111,7 @@ public class MockResourceResolverFactory implements ResourceResolverFactory { public ResourceResolver getThreadResourceResolver() { ResourceResolver result = null; final Stack<ResourceResolver> resolverStack = resolverStackHolder.get(); - if ( resolverStack != null && !resolverStack.isEmpty() ) { + if (resolverStack != null && !resolverStack.isEmpty()) { result = resolverStack.peek(); } return result; @@ -124,7 +124,7 @@ public class MockResourceResolverFactory implements ResourceResolverFactory { */ public void closed(@NotNull final ResourceResolver resolver) { final Stack<ResourceResolver> resolverStack = resolverStackHolder.get(); - if ( resolverStack != null ) { + if (resolverStack != null) { resolverStack.remove(resolver); } } @@ -133,5 +133,4 @@ public class MockResourceResolverFactory implements ResourceResolverFactory { public @NotNull List<String> getSearchPath() { return Arrays.asList(this.options.getSearchPaths()); } - } diff --git a/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolverFactoryOptions.java b/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolverFactoryOptions.java index 9b270c8..14e7dcb 100644 --- a/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolverFactoryOptions.java +++ b/src/main/java/org/apache/sling/testing/resourceresolver/MockResourceResolverFactoryOptions.java @@ -55,7 +55,7 @@ public class MockResourceResolverFactoryOptions { } public @NotNull MockResourceResolverFactoryOptions setSearchPaths(@NotNull String @Nullable [] searchPaths) { - if ( searchPaths == null ) { + if (searchPaths == null) { searchPaths = new String[] {}; } this.searchPaths = searchPaths; @@ -98,5 +98,4 @@ public class MockResourceResolverFactoryOptions { public @NotNull List<MockQueryResourceHandler> getQueryResourcesHandlers() { return queryResourcesHandlers; } - } diff --git a/src/main/java/org/apache/sling/testing/resourceresolver/MockValueMap.java b/src/main/java/org/apache/sling/testing/resourceresolver/MockValueMap.java index 5aa4b67..ed32059 100644 --- a/src/main/java/org/apache/sling/testing/resourceresolver/MockValueMap.java +++ b/src/main/java/org/apache/sling/testing/resourceresolver/MockValueMap.java @@ -50,7 +50,7 @@ public class MockValueMap extends DeepReadModifiableValueMapDecorator implements this(resource, new HashMap<>()); } - public MockValueMap(Resource resource, Map<String,Object> map) { + public MockValueMap(Resource resource, Map<String, Object> map) { super(resource, new ValueMapDecorator(convertForWriteAll(map))); this.resource = resource; this.mockResourceResolver = getMockResourceResolver(resource); @@ -59,28 +59,25 @@ public class MockValueMap extends DeepReadModifiableValueMapDecorator implements private static MockResourceResolver getMockResourceResolver(Resource resource) { ResourceResolver resolver = resource.getResourceResolver(); if (resolver instanceof MockResourceResolver) { - return (MockResourceResolver)resolver; - } - else { + return (MockResourceResolver) resolver; + } else { return null; } } - @SuppressWarnings({ "unchecked", "null", "unused" }) + @SuppressWarnings({"unchecked", "null", "unused"}) @Override public <T> T get(String name, Class<T> type) { if (type == InputStream.class) { // Support conversion from byte array to InputStream byte[] data = get(name, byte[].class); - if (data!=null) { - return (T)new ByteArrayInputStream(data); - } - else { + if (data != null) { + return (T) new ByteArrayInputStream(data); + } else { return null; } - } - else if ( type == null ) { + } else if (type == null) { return (T) super.get(name); } return super.get(name, type); @@ -96,7 +93,7 @@ public class MockValueMap extends DeepReadModifiableValueMapDecorator implements @Override public void putAll(Map<? extends String, ?> map) { markResourceAsChanged(); - super.putAll(convertForWriteAll((Map<String, Object>)map)); + super.putAll(convertForWriteAll((Map<String, Object>) map)); } @Override @@ -115,13 +112,12 @@ public class MockValueMap extends DeepReadModifiableValueMapDecorator implements if (value instanceof Date) { // Store Date values as Calendar values Calendar calendar = Calendar.getInstance(); - calendar.setTime((Date)value); + calendar.setTime((Date) value); value = calendar; - } - else if (value instanceof InputStream) { + } else if (value instanceof InputStream) { // Store InputStream values as byte array try { - value = IOUtils.toByteArray((InputStream)value); + value = IOUtils.toByteArray((InputStream) value); } catch (IOException ex) { throw new RuntimeException("Unable to convert input stream to byte array."); } @@ -130,7 +126,7 @@ public class MockValueMap extends DeepReadModifiableValueMapDecorator implements } private static Map<String, Object> convertForWriteAll(Map<String, Object> map) { - Map<String,Object> newMap = new HashMap<String, Object>(); + Map<String, Object> newMap = new HashMap<String, Object>(); if (map != null) { for (Map.Entry<String, Object> entry : map.entrySet()) { newMap.put(entry.getKey(), convertForWrite(entry.getValue())); @@ -147,5 +143,4 @@ public class MockValueMap extends DeepReadModifiableValueMapDecorator implements this.mockResourceResolver.addChanged(resource.getPath(), this); } } - } diff --git a/src/main/java/org/apache/sling/testing/resourceresolver/NamespaceMangler.java b/src/main/java/org/apache/sling/testing/resourceresolver/NamespaceMangler.java index 5348312..6386e2f 100644 --- a/src/main/java/org/apache/sling/testing/resourceresolver/NamespaceMangler.java +++ b/src/main/java/org/apache/sling/testing/resourceresolver/NamespaceMangler.java @@ -76,5 +76,4 @@ final class NamespaceMangler { matcher.appendTail(sb); return sb.toString(); } - } diff --git a/src/main/java/org/apache/sling/testing/resourceresolver/ReadonlyValueMapDecorator.java b/src/main/java/org/apache/sling/testing/resourceresolver/ReadonlyValueMapDecorator.java index febb7e1..0e5f4ae 100644 --- a/src/main/java/org/apache/sling/testing/resourceresolver/ReadonlyValueMapDecorator.java +++ b/src/main/java/org/apache/sling/testing/resourceresolver/ReadonlyValueMapDecorator.java @@ -109,5 +109,4 @@ class ReadonlyValueMapDecorator implements ValueMap { public String toString() { return delegate.toString(); } - } diff --git a/src/main/java/org/apache/sling/testing/resourceresolver/ResourceTypeUtil.java b/src/main/java/org/apache/sling/testing/resourceresolver/ResourceTypeUtil.java index 23b315d..6ae51c7 100644 --- a/src/main/java/org/apache/sling/testing/resourceresolver/ResourceTypeUtil.java +++ b/src/main/java/org/apache/sling/testing/resourceresolver/ResourceTypeUtil.java @@ -38,7 +38,8 @@ class ResourceTypeUtil { * @return <code>true</code> if the resource type equals the given resource type. */ public static boolean areResourceTypesEqual(String resourceType, String anotherResourceType, String[] searchPath) { - return relativizeResourceType(resourceType, searchPath).equals(relativizeResourceType(anotherResourceType, searchPath)); + return relativizeResourceType(resourceType, searchPath) + .equals(relativizeResourceType(anotherResourceType, searchPath)); } /** @@ -58,5 +59,4 @@ class ResourceTypeUtil { } return resourceType; } - } diff --git a/src/test/java/org/apache/sling/testing/resourceresolver/CreateDeleteResourceResolverTest.java b/src/test/java/org/apache/sling/testing/resourceresolver/CreateDeleteResourceResolverTest.java index 4156ac1..2f463ac 100644 --- a/src/test/java/org/apache/sling/testing/resourceresolver/CreateDeleteResourceResolverTest.java +++ b/src/test/java/org/apache/sling/testing/resourceresolver/CreateDeleteResourceResolverTest.java @@ -18,9 +18,6 @@ */ package org.apache.sling.testing.resourceresolver; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; - import java.util.Map; import org.apache.sling.api.resource.LoginException; @@ -32,15 +29,16 @@ import org.apache.sling.api.resource.ValueMap; import org.junit.Before; import org.junit.Test; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; + /** * Tests combinations of create and deletion of resources and conflict detection. */ public class CreateDeleteResourceResolverTest { - private static final Map<String,Object> PROPS1 = Map.<String, Object>of( - "prop1", "value1"); - private static final Map<String,Object> PROPS2 = Map.<String, Object>of( - "prop2", "value2"); + private static final Map<String, Object> PROPS1 = Map.<String, Object>of("prop1", "value1"); + private static final Map<String, Object> PROPS2 = Map.<String, Object>of("prop2", "value2"); private ResourceResolver resourceResolver; private Resource testRoot; @@ -123,17 +121,16 @@ public class CreateDeleteResourceResolverTest { resourceResolver.commit(); } - @Test(expected=PersistenceException.class) + @Test(expected = PersistenceException.class) public void testCreatePathAlreadyExists() throws PersistenceException { resourceResolver.create(testRoot, "node", PROPS1); resourceResolver.create(testRoot, "node", PROPS2); } - @Test(expected=PersistenceException.class) + @Test(expected = PersistenceException.class) public void testCreateCommitPathAlreadyExists() throws PersistenceException { resourceResolver.create(testRoot, "node", PROPS1); resourceResolver.commit(); resourceResolver.create(testRoot, "node", PROPS2); } - } diff --git a/src/test/java/org/apache/sling/testing/resourceresolver/FindQueryResourcesResourceResolverFactoryOptionsTest.java b/src/test/java/org/apache/sling/testing/resourceresolver/FindQueryResourcesResourceResolverFactoryOptionsTest.java index 993b5c7..a708f53 100644 --- a/src/test/java/org/apache/sling/testing/resourceresolver/FindQueryResourcesResourceResolverFactoryOptionsTest.java +++ b/src/test/java/org/apache/sling/testing/resourceresolver/FindQueryResourcesResourceResolverFactoryOptionsTest.java @@ -32,17 +32,20 @@ public class FindQueryResourcesResourceResolverFactoryOptionsTest extends FindQu public SlingContext context = new SlingContext(ResourceResolverType.NONE); @Override - protected ResourceResolver createResourceResolver_addFindResourceHandlers(MockFindResourcesHandler... handlers) throws LoginException { + protected ResourceResolver createResourceResolver_addFindResourceHandlers(MockFindResourcesHandler... handlers) + throws LoginException { // set handler on other resource resolver created in setUp - Arrays.stream(handlers).forEach(handler -> MockFindQueryResources.addFindResourceHandler(resourceResolver, handler)); + Arrays.stream(handlers) + .forEach(handler -> MockFindQueryResources.addFindResourceHandler(resourceResolver, handler)); return createResourceResolver(); } @Override - protected ResourceResolver createResourceResolver_addQueryResourceHandlers(MockQueryResourceHandler... handlers) throws LoginException { + protected ResourceResolver createResourceResolver_addQueryResourceHandlers(MockQueryResourceHandler... handlers) + throws LoginException { // set handler on other resource resolver created in setUp - Arrays.stream(handlers).forEach(handler -> MockFindQueryResources.addQueryResourceHandler(resourceResolver, handler)); + Arrays.stream(handlers) + .forEach(handler -> MockFindQueryResources.addQueryResourceHandler(resourceResolver, handler)); return createResourceResolver(); } - } diff --git a/src/test/java/org/apache/sling/testing/resourceresolver/FindQueryResourcesTest.java b/src/test/java/org/apache/sling/testing/resourceresolver/FindQueryResourcesTest.java index 2905c4c..30f6b0d 100644 --- a/src/test/java/org/apache/sling/testing/resourceresolver/FindQueryResourcesTest.java +++ b/src/test/java/org/apache/sling/testing/resourceresolver/FindQueryResourcesTest.java @@ -18,10 +18,6 @@ */ package org.apache.sling.testing.resourceresolver; -import static javax.jcr.query.Query.JCR_SQL2; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; - import java.util.Arrays; import java.util.Iterator; import java.util.List; @@ -41,6 +37,10 @@ import org.apache.sling.api.resource.ValueMap; import org.junit.Before; import org.junit.Test; +import static javax.jcr.query.Query.JCR_SQL2; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; + /** * Tests finding/querying for resources. */ @@ -57,9 +57,11 @@ public class FindQueryResourcesTest { resourceResolver = createResourceResolver(); MockHelper.create(resourceResolver) - .resource("/resource1").p("prop1", "value1") - .resource("/resource2").p("prop1", "value2") - .commit(); + .resource("/resource1") + .p("prop1", "value1") + .resource("/resource2") + .p("prop1", "value2") + .commit(); resource1 = resourceResolver.getResource("/resource1"); resource2 = resourceResolver.getResource("/resource2"); resourceResolver.commit(); @@ -69,17 +71,21 @@ public class FindQueryResourcesTest { return resourceResolverFactory.getResourceResolver(null); } - protected ResourceResolver createResourceResolver_addFindResourceHandlers(MockFindResourcesHandler... handlers) throws LoginException { + protected ResourceResolver createResourceResolver_addFindResourceHandlers(MockFindResourcesHandler... handlers) + throws LoginException { // set handler directly on newly created resource resolver ResourceResolver resourceResolver = createResourceResolver(); - Arrays.stream(handlers).forEach(handler -> MockFindQueryResources.addFindResourceHandler(resourceResolver, handler)); + Arrays.stream(handlers) + .forEach(handler -> MockFindQueryResources.addFindResourceHandler(resourceResolver, handler)); return resourceResolver; } - protected ResourceResolver createResourceResolver_addQueryResourceHandlers(MockQueryResourceHandler... handlers) throws LoginException { + protected ResourceResolver createResourceResolver_addQueryResourceHandlers(MockQueryResourceHandler... handlers) + throws LoginException { // set handler directly on newly created resource resolver ResourceResolver resourceResolver = createResourceResolver(); - Arrays.stream(handlers).forEach(handler -> MockFindQueryResources.addQueryResourceHandler(resourceResolver, handler)); + Arrays.stream(handlers) + .forEach(handler -> MockFindQueryResources.addQueryResourceHandler(resourceResolver, handler)); return resourceResolver; } @@ -93,8 +99,8 @@ public class FindQueryResourcesTest { @Test public void testFindResourcesSingleHandler() throws Exception { List<Resource> expected = List.of(resource1, resource2); - ResourceResolver resourceResolver = createResourceResolver_addFindResourceHandlers( - (query, language) -> expected.iterator()); + ResourceResolver resourceResolver = + createResourceResolver_addFindResourceHandlers((query, language) -> expected.iterator()); assertResources(expected, resourceResolver.findResources("any-query", JCR_SQL2)); } @@ -115,24 +121,24 @@ public class FindQueryResourcesTest { @Test public void testQueryResourcesNoHandler() throws Exception { ResourceResolver resourceResolver = createResourceResolver_addQueryResourceHandlers(); - Iterator<Map<String,Object>> result = resourceResolver.queryResources("any-query", JCR_SQL2); + Iterator<Map<String, Object>> result = resourceResolver.queryResources("any-query", JCR_SQL2); assertFalse(result.hasNext()); } @Test public void testQueryResourcesSingleHandler() throws Exception { - List<Map<String,Object>> expected = List.of(resource1.getValueMap(), resource2.getValueMap()); - ResourceResolver resourceResolver = createResourceResolver_addQueryResourceHandlers( - (query, language) -> expected.iterator()); + List<Map<String, Object>> expected = List.of(resource1.getValueMap(), resource2.getValueMap()); + ResourceResolver resourceResolver = + createResourceResolver_addQueryResourceHandlers((query, language) -> expected.iterator()); assertEquals(expected, IteratorUtils.toList(resourceResolver.queryResources("any-query", JCR_SQL2))); } @Test public void testQueryResourcesMultipleHandlers() throws Exception { - List<Map<String,Object>> expected1 = List.of(resource1.getValueMap()); + List<Map<String, Object>> expected1 = List.of(resource1.getValueMap()); - List<Map<String,Object>> expected2 = List.of(resource2.getValueMap()); + List<Map<String, Object>> expected2 = List.of(resource2.getValueMap()); ResourceResolver resourceResolver = createResourceResolver_addQueryResourceHandlers( (query, language) -> StringUtils.equals(query, "q1") ? expected1.iterator() : null, (query, language) -> StringUtils.equals(query, "q2") ? expected2.iterator() : null); @@ -142,11 +148,11 @@ public class FindQueryResourcesTest { } private void assertResources(List<Resource> expected, Iterator<Resource> actual) { - Map<String,ValueMap> expectedData = expected.stream() - .collect(Collectors.toMap(Resource::getPath, Resource::getValueMap)); - Map<String,ValueMap> actualData = StreamSupport.stream(Spliterators.spliteratorUnknownSize(actual, Spliterator.ORDERED), false) + Map<String, ValueMap> expectedData = + expected.stream().collect(Collectors.toMap(Resource::getPath, Resource::getValueMap)); + Map<String, ValueMap> actualData = StreamSupport.stream( + Spliterators.spliteratorUnknownSize(actual, Spliterator.ORDERED), false) .collect(Collectors.toMap(Resource::getPath, Resource::getValueMap)); assertEquals(expectedData, actualData); } - } diff --git a/src/test/java/org/apache/sling/testing/resourceresolver/IsResourceTypeTest.java b/src/test/java/org/apache/sling/testing/resourceresolver/IsResourceTypeTest.java index 2e19741..7d4ae64 100644 --- a/src/test/java/org/apache/sling/testing/resourceresolver/IsResourceTypeTest.java +++ b/src/test/java/org/apache/sling/testing/resourceresolver/IsResourceTypeTest.java @@ -18,9 +18,6 @@ */ package org.apache.sling.testing.resourceresolver; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - import java.util.HashMap; import java.util.Map; @@ -33,6 +30,8 @@ import org.apache.sling.api.resource.ResourceUtil; import org.junit.Before; import org.junit.Test; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; public class IsResourceTypeTest { @@ -104,7 +103,7 @@ public class IsResourceTypeTest { assertTrue(resolver.isResourceType(resourceT3, "/libs/types/3")); } - @Test(expected=SlingException.class) + @Test(expected = SlingException.class) public void testIsResourceCyclicHierarchyDirect() { /** * prepare resource type hierarchy @@ -123,7 +122,7 @@ public class IsResourceTypeTest { resolver.isResourceType(resource, "/types/unknown"); } - @Test(expected=SlingException.class) + @Test(expected = SlingException.class) public void testIsResourceCyclicHierarchyIndirect() { /** * prepare resource type hierarchy @@ -157,10 +156,8 @@ public class IsResourceTypeTest { props.put("sling:resourceSuperType", resourceSuperType); } return ResourceUtil.getOrCreateResource(resolver, path, props, null, true); - } - catch (PersistenceException ex) { + } catch (PersistenceException ex) { throw new RuntimeException(ex); } } - } diff --git a/src/test/java/org/apache/sling/testing/resourceresolver/NamespaceManglerTest.java b/src/test/java/org/apache/sling/testing/resourceresolver/NamespaceManglerTest.java index 2158c92..1f8557b 100644 --- a/src/test/java/org/apache/sling/testing/resourceresolver/NamespaceManglerTest.java +++ b/src/test/java/org/apache/sling/testing/resourceresolver/NamespaceManglerTest.java @@ -18,12 +18,12 @@ */ package org.apache.sling.testing.resourceresolver; -import static org.junit.Assert.assertEquals; - import java.util.Map; import org.junit.Test; +import static org.junit.Assert.assertEquals; + public class NamespaceManglerTest { private Map<String, String> TEST_PATHS = Map.<String, String>of( @@ -44,5 +44,4 @@ public class NamespaceManglerTest { assertEquals(entry.getKey(), NamespaceMangler.unmangleNamespaces(entry.getValue())); } } - } diff --git a/src/test/java/org/apache/sling/testing/resourceresolver/NamespaceManglingResourceResolverTest.java b/src/test/java/org/apache/sling/testing/resourceresolver/NamespaceManglingResourceResolverTest.java index 65bef6c..cae5e88 100644 --- a/src/test/java/org/apache/sling/testing/resourceresolver/NamespaceManglingResourceResolverTest.java +++ b/src/test/java/org/apache/sling/testing/resourceresolver/NamespaceManglingResourceResolverTest.java @@ -18,8 +18,6 @@ */ package org.apache.sling.testing.resourceresolver; -import static org.junit.Assert.assertEquals; - import org.apache.sling.api.resource.Resource; import org.apache.sling.api.resource.ResourceResolver; import org.apache.sling.api.resource.ResourceResolverFactory; @@ -27,6 +25,8 @@ import org.apache.sling.api.resource.ValueMap; import org.junit.Before; import org.junit.Test; +import static org.junit.Assert.assertEquals; + public class NamespaceManglingResourceResolverTest { private ResourceResolver resolver; @@ -51,7 +51,8 @@ public class NamespaceManglingResourceResolverTest { @Test public void testResolve() { - assertEquals("/res1/jcr:content/res2", resolver.resolve("/res1/_jcr_content/res2").getPath()); + assertEquals( + "/res1/jcr:content/res2", + resolver.resolve("/res1/_jcr_content/res2").getPath()); } - } diff --git a/src/test/java/org/apache/sling/testing/resourceresolver/NtFileResourceTest.java b/src/test/java/org/apache/sling/testing/resourceresolver/NtFileResourceTest.java index 34b4117..43d9fca 100644 --- a/src/test/java/org/apache/sling/testing/resourceresolver/NtFileResourceTest.java +++ b/src/test/java/org/apache/sling/testing/resourceresolver/NtFileResourceTest.java @@ -18,14 +18,6 @@ */ package org.apache.sling.testing.resourceresolver; -import static org.apache.sling.testing.resourceresolver.MockResource.JCR_CONTENT; -import static org.apache.sling.testing.resourceresolver.MockResource.JCR_DATA; -import static org.apache.sling.testing.resourceresolver.MockResource.JCR_PRIMARYTYPE; -import static org.apache.sling.testing.resourceresolver.MockResource.NT_FILE; -import static org.apache.sling.testing.resourceresolver.MockResource.NT_RESOURCE; -import static org.junit.Assert.assertArrayEquals; -import static org.junit.Assert.assertNotNull; - import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; @@ -39,6 +31,14 @@ import org.apache.sling.api.resource.ValueMap; import org.junit.Before; import org.junit.Test; +import static org.apache.sling.testing.resourceresolver.MockResource.JCR_CONTENT; +import static org.apache.sling.testing.resourceresolver.MockResource.JCR_DATA; +import static org.apache.sling.testing.resourceresolver.MockResource.JCR_PRIMARYTYPE; +import static org.apache.sling.testing.resourceresolver.MockResource.NT_FILE; +import static org.apache.sling.testing.resourceresolver.MockResource.NT_RESOURCE; +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertNotNull; + /** * Implements simple write and read resource and values test. * Sling CRUD API is used to create the test data. @@ -46,7 +46,7 @@ import org.junit.Test; @SuppressWarnings("null") public class NtFileResourceTest { - private static final byte[] BINARY_VALUE = new byte[] { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 }; + private static final byte[] BINARY_VALUE = new byte[] {0x01, 0x02, 0x03, 0x04, 0x05, 0x06}; private ResourceResolver resourceResolver; private Resource testRoot; @@ -64,11 +64,11 @@ public class NtFileResourceTest { @Test public void testNtFile() throws IOException { - Resource file = resourceResolver.create(testRoot, "ntFile", Map.<String, Object>of( - JCR_PRIMARYTYPE, NT_FILE)); - resourceResolver.create(file, JCR_CONTENT, Map.<String, Object>of( - JCR_PRIMARYTYPE, NT_RESOURCE, - JCR_DATA, new ByteArrayInputStream(BINARY_VALUE))); + Resource file = resourceResolver.create(testRoot, "ntFile", Map.<String, Object>of(JCR_PRIMARYTYPE, NT_FILE)); + resourceResolver.create( + file, + JCR_CONTENT, + Map.<String, Object>of(JCR_PRIMARYTYPE, NT_RESOURCE, JCR_DATA, new ByteArrayInputStream(BINARY_VALUE))); String path = testRoot.getPath() + "/ntFile"; Resource resource = resourceResolver.getResource(path); @@ -81,9 +81,10 @@ public class NtFileResourceTest { @Test public void testNtResource() throws IOException { - resourceResolver.create(testRoot, "ntResource", Map.<String, Object>of( - JCR_PRIMARYTYPE, NT_RESOURCE, - JCR_DATA, new ByteArrayInputStream(BINARY_VALUE))); + resourceResolver.create( + testRoot, + "ntResource", + Map.<String, Object>of(JCR_PRIMARYTYPE, NT_RESOURCE, JCR_DATA, new ByteArrayInputStream(BINARY_VALUE))); String path = testRoot.getPath() + "/ntResource"; Resource resource = resourceResolver.getResource(path); @@ -93,5 +94,4 @@ public class NtFileResourceTest { assertArrayEquals(BINARY_VALUE, IOUtils.toByteArray(is)); is.close(); } - } diff --git a/src/test/java/org/apache/sling/testing/resourceresolver/PropertyMapTest.java b/src/test/java/org/apache/sling/testing/resourceresolver/PropertyMapTest.java index a2e0b0b..d5b1144 100644 --- a/src/test/java/org/apache/sling/testing/resourceresolver/PropertyMapTest.java +++ b/src/test/java/org/apache/sling/testing/resourceresolver/PropertyMapTest.java @@ -18,20 +18,21 @@ */ package org.apache.sling.testing.resourceresolver; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - import java.io.Closeable; import org.junit.Test; import org.mockito.Mockito; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + public class PropertyMapTest { - @Test + @Test public void testGetPropertyMap() throws Exception { // not having a map must not change the behavior - MockResourceResolver resolver = (MockResourceResolver) new MockResourceResolverFactory().getResourceResolver(null); + MockResourceResolver resolver = + (MockResourceResolver) new MockResourceResolverFactory().getResourceResolver(null); resolver.close(); // must not throw an exception // use the propertyMap @@ -46,7 +47,7 @@ public class PropertyMapTest { Closeable valueWithException = Mockito.spy(new Closeable() { @Override public void close() { - throw new RuntimeException ("RuntimeExceptions in close must be handled"); + throw new RuntimeException("RuntimeExceptions in close must be handled"); } }); assertNotNull(resolver.getPropertyMap()); @@ -57,9 +58,7 @@ public class PropertyMapTest { resolver.close(); assertNotNull(resolver.getPropertyMap()); assertTrue(resolver.getPropertyMap().isEmpty()); - Mockito.verify(value2,Mockito.times(1)).close(); - Mockito.verify(valueWithException,Mockito.times(1)).close(); - + Mockito.verify(value2, Mockito.times(1)).close(); + Mockito.verify(valueWithException, Mockito.times(1)).close(); } - } diff --git a/src/test/java/org/apache/sling/testing/resourceresolver/ResourceResolverLoginTest.java b/src/test/java/org/apache/sling/testing/resourceresolver/ResourceResolverLoginTest.java index 6a9920b..7eeb48b 100644 --- a/src/test/java/org/apache/sling/testing/resourceresolver/ResourceResolverLoginTest.java +++ b/src/test/java/org/apache/sling/testing/resourceresolver/ResourceResolverLoginTest.java @@ -18,10 +18,6 @@ */ package org.apache.sling.testing.resourceresolver; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; - import java.util.Map; import org.apache.sling.api.resource.LoginException; @@ -30,13 +26,16 @@ import org.apache.sling.api.resource.ResourceResolverFactory; import org.junit.Before; import org.junit.Test; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; + /** * Test different variants of login for resource resolver. */ public class ResourceResolverLoginTest { - private static final Map<String,Object> AUTH_INFO = Map.<String, Object>of( - ResourceResolverFactory.USER, "myUser"); + private static final Map<String, Object> AUTH_INFO = Map.<String, Object>of(ResourceResolverFactory.USER, "myUser"); private MockResourceResolverFactory factory; @@ -86,5 +85,4 @@ public class ResourceResolverLoginTest { assertNotNull(resolver); assertNull(resolver.getAttribute(ResourceResolverFactory.USER)); } - } diff --git a/src/test/java/org/apache/sling/testing/resourceresolver/RootResourceTypeTest.java b/src/test/java/org/apache/sling/testing/resourceresolver/RootResourceTypeTest.java index c7f7345..782b634 100644 --- a/src/test/java/org/apache/sling/testing/resourceresolver/RootResourceTypeTest.java +++ b/src/test/java/org/apache/sling/testing/resourceresolver/RootResourceTypeTest.java @@ -43,7 +43,7 @@ public class RootResourceTypeTest { @Test @SuppressWarnings("null") public void testIsResourceResolver() { - Resource root= resourceResolver.getResource("/"); + Resource root = resourceResolver.getResource("/"); Assert.assertTrue(root.isResourceType("rep:root")); } @@ -52,5 +52,4 @@ public class RootResourceTypeTest { Resource rootParent = resourceResolver.getResource("/.."); Assert.assertNull(rootParent); } - } diff --git a/src/test/java/org/apache/sling/testing/resourceresolver/SlingCrudResourceResolverTest.java b/src/test/java/org/apache/sling/testing/resourceresolver/SlingCrudResourceResolverTest.java index fc3fc8d..8c0d5ff 100644 --- a/src/test/java/org/apache/sling/testing/resourceresolver/SlingCrudResourceResolverTest.java +++ b/src/test/java/org/apache/sling/testing/resourceresolver/SlingCrudResourceResolverTest.java @@ -18,13 +18,6 @@ */ package org.apache.sling.testing.resourceresolver; -import static org.junit.Assert.assertArrayEquals; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; - import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; @@ -49,6 +42,13 @@ import org.apache.sling.api.resource.ValueMap; import org.junit.Before; import org.junit.Test; +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; + /** * Implements simple write and read resource and values test. * Sling CRUD API is used to create the test data. @@ -57,7 +57,7 @@ import org.junit.Test; public class SlingCrudResourceResolverTest { private static final String STRING_VALUE = "value1"; - private static final String[] STRING_ARRAY_VALUE = new String[] { "value1", "value2" }; + private static final String[] STRING_ARRAY_VALUE = new String[] {"value1", "value2"}; private static final int INTEGER_VALUE = 25; private static final long LONG_VALUE = 250L; private static final double DOUBLE_VALUE = 3.555d; @@ -65,7 +65,7 @@ public class SlingCrudResourceResolverTest { private static final boolean BOOLEAN_VALUE = true; private static final Date DATE_VALUE = new Date(10000); private static final Calendar CALENDAR_VALUE = Calendar.getInstance(); - private static final byte[] BINARY_VALUE = new byte[] { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 }; + private static final byte[] BINARY_VALUE = new byte[] {0x01, 0x02, 0x03, 0x04, 0x05, 0x06}; private static final String NT_UNSTRUCTURED = "nt:unstructured"; @@ -79,22 +79,23 @@ public class SlingCrudResourceResolverTest { Resource root = resourceResolver.getResource("/"); testRoot = resourceResolver.create(root, "test", ValueMap.EMPTY); - Resource node1 = resourceResolver.create(testRoot, "node1", - Map.ofEntries( - Map.entry(MockResource.JCR_PRIMARYTYPE, NT_UNSTRUCTURED), - Map.entry("stringProp", STRING_VALUE), - Map.entry("stringArrayProp", STRING_ARRAY_VALUE), - Map.entry("integerProp", INTEGER_VALUE), - Map.entry("longProp", LONG_VALUE), - Map.entry("doubleProp", DOUBLE_VALUE), - Map.entry("booleanProp", BOOLEAN_VALUE), - Map.entry("bigDecimalProp", BIGDECIMAL_VALUE), - Map.entry("dateProp", DATE_VALUE), - Map.entry("calendarProp", CALENDAR_VALUE), - Map.entry("binaryProp", new ByteArrayInputStream(BINARY_VALUE)))); - - resourceResolver.create(node1, "node11", Map.<String, Object>of( - "stringProp11", STRING_VALUE)); + Resource node1 = resourceResolver.create( + testRoot, + "node1", + Map.ofEntries( + Map.entry(MockResource.JCR_PRIMARYTYPE, NT_UNSTRUCTURED), + Map.entry("stringProp", STRING_VALUE), + Map.entry("stringArrayProp", STRING_ARRAY_VALUE), + Map.entry("integerProp", INTEGER_VALUE), + Map.entry("longProp", LONG_VALUE), + Map.entry("doubleProp", DOUBLE_VALUE), + Map.entry("booleanProp", BOOLEAN_VALUE), + Map.entry("bigDecimalProp", BIGDECIMAL_VALUE), + Map.entry("dateProp", DATE_VALUE), + Map.entry("calendarProp", CALENDAR_VALUE), + Map.entry("binaryProp", new ByteArrayInputStream(BINARY_VALUE)))); + + resourceResolver.create(node1, "node11", Map.<String, Object>of("stringProp11", STRING_VALUE)); resourceResolver.create(node1, "node12", ValueMap.EMPTY); resourceResolver.commit(); @@ -113,8 +114,8 @@ public class SlingCrudResourceResolverTest { ValueMap props = ResourceUtil.getValueMap(resource1); assertEquals(STRING_VALUE, props.get("stringProp", String.class)); assertArrayEquals(STRING_ARRAY_VALUE, props.get("stringArrayProp", String[].class)); - assertEquals((Integer)INTEGER_VALUE, props.get("integerProp", Integer.class)); - assertEquals((Long)LONG_VALUE, props.get("longProp", Long.class)); + assertEquals((Integer) INTEGER_VALUE, props.get("integerProp", Integer.class)); + assertEquals((Long) LONG_VALUE, props.get("longProp", Long.class)); assertEquals(DOUBLE_VALUE, props.get("doubleProp", Double.class), 0.0001); assertEquals(BIGDECIMAL_VALUE, props.get("bigDecimalProp", BigDecimal.class)); assertEquals(BOOLEAN_VALUE, props.get("booleanProp", Boolean.class)); @@ -125,8 +126,8 @@ public class SlingCrudResourceResolverTest { Resource resource1 = resourceResolver.getResource(testRoot.getPath() + "/node1"); ValueMap props = ResourceUtil.getValueMap(resource1); - assertEquals((Integer)(int)LONG_VALUE, props.get("longProp", Integer.class)); - assertEquals((Long)(long)INTEGER_VALUE, props.get("integerProp", Long.class)); + assertEquals((Integer) (int) LONG_VALUE, props.get("longProp", Integer.class)); + assertEquals((Long) (long) INTEGER_VALUE, props.get("integerProp", Long.class)); } @Test @@ -134,8 +135,11 @@ public class SlingCrudResourceResolverTest { Resource resource1 = resourceResolver.getResource(testRoot.getPath() + "/node1"); ValueMap props = ResourceUtil.getValueMap(resource1); - assertEquals(new BigDecimal(DOUBLE_VALUE).doubleValue(), props.get("doubleProp", BigDecimal.class).doubleValue(), 0.0001d); - assertEquals(BIGDECIMAL_VALUE.doubleValue() , props.get("bigDecimalProp", Double.class), 0.0001d); + assertEquals( + new BigDecimal(DOUBLE_VALUE).doubleValue(), + props.get("doubleProp", BigDecimal.class).doubleValue(), + 0.0001d); + assertEquals(BIGDECIMAL_VALUE.doubleValue(), props.get("bigDecimalProp", Double.class), 0.0001d); } @Test @@ -148,7 +152,7 @@ public class SlingCrudResourceResolverTest { assertEquals(STRING_VALUE, props.get("node1/stringProp", String.class)); assertArrayEquals(STRING_ARRAY_VALUE, props.get("node1/stringArrayProp", String[].class)); assertEquals((Integer) INTEGER_VALUE, props.get("node1/integerProp", Integer.class)); - assertEquals((Long)LONG_VALUE, props.get("node1/longProp", Long.class)); + assertEquals((Long) LONG_VALUE, props.get("node1/longProp", Long.class)); assertEquals(DOUBLE_VALUE, props.get("node1/doubleProp", Double.class), 0.0001); assertEquals(BIGDECIMAL_VALUE, props.get("node1/bigDecimalProp", BigDecimal.class)); assertEquals(BOOLEAN_VALUE, props.get("node1/booleanProp", Boolean.class)); @@ -178,7 +182,9 @@ public class SlingCrudResourceResolverTest { public void testCalendarProperty() throws IOException { Resource resource1 = resourceResolver.getResource(testRoot.getPath() + "/node1"); ValueMap props = ResourceUtil.getValueMap(resource1); - assertEquals(CALENDAR_VALUE.getTime(), props.get("calendarProp", Calendar.class).getTime()); + assertEquals( + CALENDAR_VALUE.getTime(), + props.get("calendarProp", Calendar.class).getTime()); } @Test @@ -199,7 +205,9 @@ public class SlingCrudResourceResolverTest { resource1 = resourceResolver.getResource(testRoot.getPath() + "/node1"); ValueMap props = ResourceUtil.getValueMap(resource1); - assertEquals(CALENDAR_VALUE.getTime(), props.get("calendarProp", Calendar.class).getTime()); + assertEquals( + CALENDAR_VALUE.getTime(), + props.get("calendarProp", Calendar.class).getTime()); } @Test @@ -260,7 +268,7 @@ public class SlingCrudResourceResolverTest { @Test public void testGetResourceNullPath() { - Resource resource = resourceResolver.getResource((String)null); + Resource resource = resourceResolver.getResource((String) null); assertNull(resource); } @@ -274,7 +282,7 @@ public class SlingCrudResourceResolverTest { @Test public void testGetRootResourceByNullPath() { - Resource rootResource = this.resourceResolver.resolve((String)null); + Resource rootResource = this.resourceResolver.resolve((String) null); assertNotNull(rootResource); assertEquals("/", rootResource.getPath()); } @@ -296,12 +304,16 @@ public class SlingCrudResourceResolverTest { @Test public void testGetParentResourceType() throws PersistenceException { Resource r1 = resourceResolver.create(testRoot, "resource1", ValueMap.EMPTY); - Resource r2 = resourceResolver.create(testRoot, "resource2", Map.<String, Object>of( - "sling:resourceSuperType", testRoot.getPath() + "/resource1")); - Resource r3 = resourceResolver.create(testRoot, "resource3", Map.<String, Object>of( - "sling:resourceType", testRoot.getPath() + "/resource2")); - Resource r4 = resourceResolver.create(testRoot, "resource4", Map.<String, Object>of( - "sling:resourceSuperType", testRoot.getPath() + "/resource2")); + Resource r2 = resourceResolver.create( + testRoot, + "resource2", + Map.<String, Object>of("sling:resourceSuperType", testRoot.getPath() + "/resource1")); + Resource r3 = resourceResolver.create( + testRoot, "resource3", Map.<String, Object>of("sling:resourceType", testRoot.getPath() + "/resource2")); + Resource r4 = resourceResolver.create( + testRoot, + "resource4", + Map.<String, Object>of("sling:resourceSuperType", testRoot.getPath() + "/resource2")); assertNull(resourceResolver.getParentResourceType(r1)); assertEquals(r1.getPath(), resourceResolver.getParentResourceType(r2)); @@ -310,11 +322,11 @@ public class SlingCrudResourceResolverTest { assertEquals(r2.getPath(), resourceResolver.getParentResourceType(r4.getPath())); } - @Test public void testResourceMetadata() throws IOException { Resource resource1 = resourceResolver.getResource(testRoot.getPath() + "/node1"); - assertEquals(testRoot.getPath() + "/node1", resource1.getResourceMetadata().getResolutionPath()); + assertEquals( + testRoot.getPath() + "/node1", resource1.getResourceMetadata().getResolutionPath()); } @Test @@ -363,5 +375,4 @@ public class SlingCrudResourceResolverTest { resourceResolver.commit(); assertFalse(resourceResolver.hasChanges()); } - } diff --git a/src/test/java/org/apache/sling/testing/resourceresolver/ValueMapTest.java b/src/test/java/org/apache/sling/testing/resourceresolver/ValueMapTest.java index b39520d..ff61a48 100644 --- a/src/test/java/org/apache/sling/testing/resourceresolver/ValueMapTest.java +++ b/src/test/java/org/apache/sling/testing/resourceresolver/ValueMapTest.java @@ -18,9 +18,6 @@ */ package org.apache.sling.testing.resourceresolver; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - import java.io.IOException; import java.util.Map; @@ -32,6 +29,9 @@ import org.apache.sling.api.resource.ValueMap; import org.junit.Before; import org.junit.Test; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + /** * Test different ValueMap variants. */ @@ -48,9 +48,7 @@ public class ValueMapTest { Resource root = resourceResolver.getResource("/"); testRoot = resourceResolver.create(root, "test", ValueMap.EMPTY); - resourceResolver.create(testRoot, "node1", - Map.<String, Object>of( - "prop1", "value1")); + resourceResolver.create(testRoot, "node1", Map.<String, Object>of("prop1", "value1")); } protected ResourceResolver createResourceResolver() throws LoginException { @@ -105,5 +103,4 @@ public class ValueMapTest { assertEquals("value1", map.get("prop1")); map.put("prop1", "value2"); } - } diff --git a/src/test/java/org/apache/sling/testing/resourceresolver/provider/CreateDeleteResourceResolverResourceProviderTest.java b/src/test/java/org/apache/sling/testing/resourceresolver/provider/CreateDeleteResourceResolverResourceProviderTest.java index ddb680d..245f8a1 100644 --- a/src/test/java/org/apache/sling/testing/resourceresolver/provider/CreateDeleteResourceResolverResourceProviderTest.java +++ b/src/test/java/org/apache/sling/testing/resourceresolver/provider/CreateDeleteResourceResolverResourceProviderTest.java @@ -36,5 +36,4 @@ public class CreateDeleteResourceResolverResourceProviderTest extends CreateDele context.registerInjectActivateService(MockResourceProvider.class); return context.resourceResolver(); } - } diff --git a/src/test/java/org/apache/sling/testing/resourceresolver/provider/FindQueryResourcesTestResourceProviderTest.java b/src/test/java/org/apache/sling/testing/resourceresolver/provider/FindQueryResourcesTestResourceProviderTest.java index 2bf0ef8..97c48ff 100644 --- a/src/test/java/org/apache/sling/testing/resourceresolver/provider/FindQueryResourcesTestResourceProviderTest.java +++ b/src/test/java/org/apache/sling/testing/resourceresolver/provider/FindQueryResourcesTestResourceProviderTest.java @@ -36,5 +36,4 @@ public class FindQueryResourcesTestResourceProviderTest extends FindQueryResourc context.registerInjectActivateService(MockResourceProvider.class); return context.resourceResolver(); } - } diff --git a/src/test/java/org/apache/sling/testing/resourceresolver/provider/IsResourceTypeTestResourceProviderTest.java b/src/test/java/org/apache/sling/testing/resourceresolver/provider/IsResourceTypeTestResourceProviderTest.java index 70b2add..0ede434 100644 --- a/src/test/java/org/apache/sling/testing/resourceresolver/provider/IsResourceTypeTestResourceProviderTest.java +++ b/src/test/java/org/apache/sling/testing/resourceresolver/provider/IsResourceTypeTestResourceProviderTest.java @@ -36,5 +36,4 @@ public class IsResourceTypeTestResourceProviderTest extends IsResourceTypeTest { context.registerInjectActivateService(MockResourceProvider.class); return context.resourceResolver(); } - } diff --git a/src/test/java/org/apache/sling/testing/resourceresolver/provider/MockResourceProviderTest.java b/src/test/java/org/apache/sling/testing/resourceresolver/provider/MockResourceProviderTest.java index 7600b9c..08df5c2 100644 --- a/src/test/java/org/apache/sling/testing/resourceresolver/provider/MockResourceProviderTest.java +++ b/src/test/java/org/apache/sling/testing/resourceresolver/provider/MockResourceProviderTest.java @@ -18,8 +18,6 @@ */ package org.apache.sling.testing.resourceresolver.provider; -import static org.junit.Assert.assertFalse; - import java.util.Iterator; import org.apache.sling.api.resource.Resource; @@ -32,6 +30,8 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; +import static org.junit.Assert.assertFalse; + public class MockResourceProviderTest { @Rule @@ -50,7 +50,8 @@ public class MockResourceProviderTest { @Test public void testResourceResolverFromResource() { - assertFalse("testRoot.resourceResolver is not MockResourceResolver", + assertFalse( + "testRoot.resourceResolver is not MockResourceResolver", testRoot.getResourceResolver() instanceof MockResourceResolver); } @@ -62,10 +63,9 @@ public class MockResourceProviderTest { Iterator<Resource> children = testRoot.listChildren(); while (children.hasNext()) { Resource child = children.next(); - assertFalse("testRoot.resourceResolver is not MockResourceResolver", + assertFalse( + "testRoot.resourceResolver is not MockResourceResolver", child.getResourceResolver() instanceof MockResourceResolver); } } - - } diff --git a/src/test/java/org/apache/sling/testing/resourceresolver/provider/NtFileResourceTestResourceProviderTest.java b/src/test/java/org/apache/sling/testing/resourceresolver/provider/NtFileResourceTestResourceProviderTest.java index 17f60e2..17a9653 100644 --- a/src/test/java/org/apache/sling/testing/resourceresolver/provider/NtFileResourceTestResourceProviderTest.java +++ b/src/test/java/org/apache/sling/testing/resourceresolver/provider/NtFileResourceTestResourceProviderTest.java @@ -36,5 +36,4 @@ public class NtFileResourceTestResourceProviderTest extends NtFileResourceTest { context.registerInjectActivateService(MockResourceProvider.class); return context.resourceResolver(); } - } diff --git a/src/test/java/org/apache/sling/testing/resourceresolver/provider/RootResourceTypeTestResourceProviderTest.java b/src/test/java/org/apache/sling/testing/resourceresolver/provider/RootResourceTypeTestResourceProviderTest.java index 9470b1a..5e2eefc 100644 --- a/src/test/java/org/apache/sling/testing/resourceresolver/provider/RootResourceTypeTestResourceProviderTest.java +++ b/src/test/java/org/apache/sling/testing/resourceresolver/provider/RootResourceTypeTestResourceProviderTest.java @@ -36,5 +36,4 @@ public class RootResourceTypeTestResourceProviderTest extends RootResourceTypeTe context.registerInjectActivateService(MockResourceProvider.class); return context.resourceResolver(); } - } diff --git a/src/test/java/org/apache/sling/testing/resourceresolver/provider/SlingCrudResourceResolverTestResourceProviderTest.java b/src/test/java/org/apache/sling/testing/resourceresolver/provider/SlingCrudResourceResolverTestResourceProviderTest.java index 3ed2ce9..f9bed7e 100644 --- a/src/test/java/org/apache/sling/testing/resourceresolver/provider/SlingCrudResourceResolverTestResourceProviderTest.java +++ b/src/test/java/org/apache/sling/testing/resourceresolver/provider/SlingCrudResourceResolverTestResourceProviderTest.java @@ -36,5 +36,4 @@ public class SlingCrudResourceResolverTestResourceProviderTest extends SlingCrud context.registerInjectActivateService(MockResourceProvider.class); return context.resourceResolver(); } - } diff --git a/src/test/java/org/apache/sling/testing/resourceresolver/provider/ValueMapTestResourceProviderTest.java b/src/test/java/org/apache/sling/testing/resourceresolver/provider/ValueMapTestResourceProviderTest.java index 3ef3703..c99c45d 100644 --- a/src/test/java/org/apache/sling/testing/resourceresolver/provider/ValueMapTestResourceProviderTest.java +++ b/src/test/java/org/apache/sling/testing/resourceresolver/provider/ValueMapTestResourceProviderTest.java @@ -36,5 +36,4 @@ public class ValueMapTestResourceProviderTest extends ValueMapTest { context.registerInjectActivateService(MockResourceProvider.class); return context.resourceResolver(); } - }