This is an automated email from the ASF dual-hosted git repository.
kwin pushed a commit to branch master
in repository
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-resourcemerger.git
The following commit(s) were added to refs/heads/master by this push:
new fef21df releng: add null annotations
fef21df is described below
commit fef21dfa384511e325e2bcbd3c18874656652c00
Author: Konrad Windszus <[email protected]>
AuthorDate: Wed Mar 10 09:41:50 2021 +0100
releng: add null annotations
---
pom.xml | 5 +++++
.../apache/sling/resourcemerger/api/ResourceMergerService.java | 8 +++++---
.../sling/resourcemerger/impl/CRUDMergingResourceProvider.java | 7 +++++--
.../org/apache/sling/resourcemerger/spi/MergedResourcePicker.java | 6 +++---
.../apache/sling/resourcemerger/spi/MergedResourcePicker2.java | 6 +++---
5 files changed, 21 insertions(+), 11 deletions(-)
diff --git a/pom.xml b/pom.xml
index 400d7bb..8913361 100644
--- a/pom.xml
+++ b/pom.xml
@@ -81,6 +81,11 @@
<version>2.2.0</version>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>org.jetbrains</groupId>
+ <artifactId>annotations</artifactId>
+ <scope>provided</scope>
+ </dependency>
<!-- Testing -->
<dependency>
<groupId>junit</groupId>
diff --git
a/src/main/java/org/apache/sling/resourcemerger/api/ResourceMergerService.java
b/src/main/java/org/apache/sling/resourcemerger/api/ResourceMergerService.java
index f25b720..1e8a3c5 100644
---
a/src/main/java/org/apache/sling/resourcemerger/api/ResourceMergerService.java
+++
b/src/main/java/org/apache/sling/resourcemerger/api/ResourceMergerService.java
@@ -19,6 +19,8 @@
package org.apache.sling.resourcemerger.api;
import org.apache.sling.api.resource.Resource;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import org.osgi.annotation.versioning.ProviderType;
/**
@@ -36,7 +38,7 @@ public interface ResourceMergerService {
* @return Returns the merged resource path
* @throws IllegalArgumentException if relativePath is <code>null</code>
or absolute
*/
- String getMergedResourcePath(String relativePath);
+ @NotNull String getMergedResourcePath(String relativePath);
/**
* Returns a merged resource if the provided resource is from one of the
search paths
@@ -46,7 +48,7 @@ public interface ResourceMergerService {
* @param resource The resource
* @return Returns the merged resource or <code>null</code>
*/
- Resource getMergedResource(Resource resource);
+ @Nullable Resource getMergedResource(Resource resource);
/**
* Returns <code>true</code> if the provided {@link Resource} is a merged
resource.
@@ -72,5 +74,5 @@ public interface ResourceMergerService {
* is not within the space of the merged
resources.
* @since 1.1
*/
- String getResourcePath(String searchPath, String mergedResourcePath);
+ @NotNull String getResourcePath(@NotNull String searchPath, @NotNull
String mergedResourcePath);
}
diff --git
a/src/main/java/org/apache/sling/resourcemerger/impl/CRUDMergingResourceProvider.java
b/src/main/java/org/apache/sling/resourcemerger/impl/CRUDMergingResourceProvider.java
index 0d2b857..68ac956 100644
---
a/src/main/java/org/apache/sling/resourcemerger/impl/CRUDMergingResourceProvider.java
+++
b/src/main/java/org/apache/sling/resourcemerger/impl/CRUDMergingResourceProvider.java
@@ -47,7 +47,7 @@ public class CRUDMergingResourceProvider
private static final class ExtendedResourceHolder {
public final String name;
- public final List<Resource> resources = new ArrayList<Resource>();
+ public final List<Resource> resources = new ArrayList<>();
public int count;
public String highestResourcePath;
@@ -119,6 +119,9 @@ public class CRUDMergingResourceProvider
final Resource hidingResource =
resolver.getResource(holder.highestResourcePath);
if ( hidingResource != null ) {
final ModifiableValueMap mvm =
hidingResource.adaptTo(ModifiableValueMap.class);
+ if (mvm == null) {
+ throw new IllegalStateException("Could not get modifiable
value map from resource " + hidingResource.getPath());
+ }
mvm.remove(MergedResourceConstants.PN_HIDE_RESOURCE);
mvm.putAll(properties);
}
@@ -151,7 +154,7 @@ public class CRUDMergingResourceProvider
// create overlay resource which is hiding the other
final String createPath = holder.highestResourcePath;
final Resource parentResource =
ResourceUtil.getOrCreateResource(resolver, ResourceUtil.getParent(createPath),
(String)null, null, false);
- final Map<String, Object> properties = new HashMap<String,
Object>();
+ final Map<String, Object> properties = new HashMap<>();
properties.put(MergedResourceConstants.PN_HIDE_RESOURCE,
Boolean.TRUE);
resolver.create(parentResource, ResourceUtil.getName(createPath),
properties);
}
diff --git
a/src/main/java/org/apache/sling/resourcemerger/spi/MergedResourcePicker.java
b/src/main/java/org/apache/sling/resourcemerger/spi/MergedResourcePicker.java
index 86585c3..31777af 100644
---
a/src/main/java/org/apache/sling/resourcemerger/spi/MergedResourcePicker.java
+++
b/src/main/java/org/apache/sling/resourcemerger/spi/MergedResourcePicker.java
@@ -21,13 +21,13 @@ package org.apache.sling.resourcemerger.spi;
import java.util.List;
import org.apache.sling.api.resource.Resource;
-import org.apache.sling.api.resource.ResourceProviderFactory;
import org.apache.sling.api.resource.ResourceResolver;
+import org.jetbrains.annotations.NotNull;
import org.osgi.annotation.versioning.ConsumerType;
/**
* Service interface which can be implemented to define an algorithm used to
pick
- * resources to be merged. For each picker service, a separate {@link
ResourceProviderFactory}
+ * resources to be merged. For each picker service, a separate {@link
org.apache.sling.spi.resource.provider.ResourceProvider}
* will be exposed at the MERGE_ROOT of the picker.
* @deprecated Use new {@link MergedResourcePicker2} instead.
*/
@@ -69,5 +69,5 @@ public interface MergedResourcePicker {
* @return a List of Resource objects
* @see MergedResourcePicker2#pickResources(ResourceResolver, String,
Resource)
*/
- List<Resource> pickResources(ResourceResolver resolver, String
relativePath);
+ @NotNull List<@NotNull Resource> pickResources(@NotNull ResourceResolver
resolver, @NotNull String relativePath);
}
diff --git
a/src/main/java/org/apache/sling/resourcemerger/spi/MergedResourcePicker2.java
b/src/main/java/org/apache/sling/resourcemerger/spi/MergedResourcePicker2.java
index 35203fd..b460c32 100644
---
a/src/main/java/org/apache/sling/resourcemerger/spi/MergedResourcePicker2.java
+++
b/src/main/java/org/apache/sling/resourcemerger/spi/MergedResourcePicker2.java
@@ -21,13 +21,13 @@ package org.apache.sling.resourcemerger.spi;
import java.util.List;
import org.apache.sling.api.resource.Resource;
-import org.apache.sling.api.resource.ResourceProviderFactory;
import org.apache.sling.api.resource.ResourceResolver;
+import org.jetbrains.annotations.NotNull;
import org.osgi.annotation.versioning.ConsumerType;
/**
* Service interface which can be implemented to define an algorithm used to
pick
- * resources to be merged. For each picker service, a separate {@link
ResourceProviderFactory}
+ * resources to be merged. For each picker service, a separate {@link
org.apache.sling.spi.resource.provider.ResourceProvider}
* will be exposed at the MERGE_ROOT of the picker.
*
* @since 1.2
@@ -70,5 +70,5 @@ public interface MergedResourcePicker2 {
* @param relatedResource an optional resource which is related to the
given path (always the parent resource or {@code null})
* @return a List of Resource objects
*/
- List<Resource> pickResources(ResourceResolver resolver, String
relativePath, Resource relatedResource);
+ @NotNull List<@NotNull Resource> pickResources(@NotNull ResourceResolver
resolver, @NotNull String relativePath, Resource relatedResource);
}