This is an automated email from the ASF dual-hosted git repository.

sseifert pushed a commit to branch feature/SLING-7803-nullability
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-caconfig-mock-plugin.git

commit d59eed2bbf0f1eb57ae7aec253ebdefc91bcdb67
Author: sseifert <[email protected]>
AuthorDate: Mon Aug 6 13:52:38 2018 +0200

    SLING-7803 apply jetbrains nullability annotations on public API
---
 pom.xml                                            | 17 ++++++----
 .../mock/caconfig/ConfigurationMetadataUtil.java   | 12 +++++---
 .../testing/mock/caconfig/ContextPlugins.java      | 10 +++---
 .../mock/caconfig/MockContextAwareConfig.java      | 36 +++++++++++++---------
 .../sling/testing/mock/caconfig/package-info.java  |  2 +-
 .../testing/mock/caconfig/ContextPluginsTest.java  |  1 +
 .../mock/caconfig/MockContextAwareConfigTest.java  |  1 +
 7 files changed, 49 insertions(+), 30 deletions(-)

diff --git a/pom.xml b/pom.xml
index 2a91c03..a64f3ee 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.sling</groupId>
         <artifactId>sling</artifactId>
-        <version>30</version>
+        <version>34-SNAPSHOT</version>
         <relativePath />
     </parent>
     
@@ -51,6 +51,11 @@
 
     <dependencies>
         <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.annotation.versioning</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.caconfig.api</artifactId>
             <version>1.1.0</version>
@@ -76,14 +81,14 @@
         </dependency>
         <dependency>
             <groupId>org.apache.sling</groupId>
-            <artifactId>org.apache.sling.testing.osgi-mock</artifactId>
-            <version>2.2.4</version>
+            <artifactId>org.apache.sling.testing.sling-mock</artifactId>
+            <version>2.3.0-SNAPSHOT</version>
             <scope>provided</scope>
         </dependency>
+        <!-- Nullability annotations -->
         <dependency>
-            <groupId>org.apache.sling</groupId>
-            <artifactId>org.apache.sling.testing.sling-mock</artifactId>
-            <version>1.9.0</version>
+            <groupId>org.jetbrains</groupId>
+            <artifactId>annotations</artifactId>
             <scope>provided</scope>
         </dependency>
     </dependencies>
diff --git 
a/src/main/java/org/apache/sling/testing/mock/caconfig/ConfigurationMetadataUtil.java
 
b/src/main/java/org/apache/sling/testing/mock/caconfig/ConfigurationMetadataUtil.java
index d12d9e5..fff4798 100644
--- 
a/src/main/java/org/apache/sling/testing/mock/caconfig/ConfigurationMetadataUtil.java
+++ 
b/src/main/java/org/apache/sling/testing/mock/caconfig/ConfigurationMetadataUtil.java
@@ -40,6 +40,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.sling.caconfig.annotation.Configuration;
 import org.apache.sling.testing.mock.osgi.ManifestScanner;
 import org.apache.sling.testing.mock.osgi.MockOsgi;
+import org.jetbrains.annotations.NotNull;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.BundleEvent;
@@ -51,10 +52,11 @@ import org.reflections.Reflections;
 /**
  * Helper methods for registering Configuration annotation classes from the 
classpath.
  */
+@SuppressWarnings("null")
 final class ConfigurationMetadataUtil {
     
-    private static final String[] CONFIGURATION_CLASSES_FROM_MANIFEST;
-    private static final ConcurrentMap<String, List<Class>> 
CONFIGURATION_CLASSES_FOR_PACKAGES = new ConcurrentHashMap<String, 
List<Class>>();
+    private static final @NotNull String @NotNull [] 
CONFIGURATION_CLASSES_FROM_MANIFEST;
+    private static final @NotNull ConcurrentMap<String, List<Class>> 
CONFIGURATION_CLASSES_FOR_PACKAGES = new ConcurrentHashMap<String, 
List<Class>>();
         
     static {
         // suppress log entries from Reflections library
@@ -77,7 +79,7 @@ final class ConfigurationMetadataUtil {
      * @param bundleContext Bundle context
      * @param classNames Java class names
      */
-    public static void registerAnnotationClasses(BundleContext bundleContext, 
String... classNames) {
+    public static void registerAnnotationClasses(@NotNull BundleContext 
bundleContext, @NotNull String @NotNull ... classNames) {
         Bundle bundle = new RegisterConfigurationMetadataBundle(bundleContext, 
Bundle.ACTIVE, classNames);
         BundleEvent event = new BundleEvent(BundleEvent.STARTED, bundle);
         MockOsgi.sendBundleEvent(bundleContext, event);
@@ -88,7 +90,7 @@ final class ConfigurationMetadataUtil {
      * @param bundleContext Bundle context
      * @param classNames Java class names
      */
-    public static void registerAnnotationClasses(BundleContext bundleContext, 
Class... classes) {
+    public static void registerAnnotationClasses(@NotNull BundleContext 
bundleContext, @NotNull Class @NotNull ... classes) {
         String[] classNames = new String[classes.length];
         for (int i = 0; i < classes.length; i++) {
             classNames[i] = classes[i].getName();
@@ -111,7 +113,7 @@ final class ConfigurationMetadataUtil {
      * @param packageNames Package names
      * @return List of classes
      */
-    public static Collection<Class> getConfigurationClassesForPackages(String 
packageNames) {
+    public static Collection<Class> 
getConfigurationClassesForPackages(@NotNull String packageNames) {
         List<Class> classes = 
CONFIGURATION_CLASSES_FOR_PACKAGES.get(packageNames);
         if (classes == null) {
             classes = new ArrayList<Class>();
diff --git 
a/src/main/java/org/apache/sling/testing/mock/caconfig/ContextPlugins.java 
b/src/main/java/org/apache/sling/testing/mock/caconfig/ContextPlugins.java
index 03e124b..75df3f9 100644
--- a/src/main/java/org/apache/sling/testing/mock/caconfig/ContextPlugins.java
+++ b/src/main/java/org/apache/sling/testing/mock/caconfig/ContextPlugins.java
@@ -30,6 +30,7 @@ import 
org.apache.sling.caconfig.resource.impl.def.DefaultContextPathStrategy;
 import org.apache.sling.testing.mock.osgi.context.AbstractContextPlugin;
 import org.apache.sling.testing.mock.osgi.context.ContextPlugin;
 import org.apache.sling.testing.mock.sling.context.SlingContextImpl;
+import org.jetbrains.annotations.NotNull;
 import org.osgi.annotation.versioning.ProviderType;
 
 /**
@@ -46,9 +47,9 @@ public final class ContextPlugins {
     /**
      * Context plugin for Sling Context-Aware Configuration.
      */
-    public static final ContextPlugin<? extends SlingContextImpl> CACONFIG = 
new AbstractContextPlugin<SlingContextImpl>() {
+    public static final @NotNull ContextPlugin<? extends SlingContextImpl> 
CACONFIG = new AbstractContextPlugin<SlingContextImpl>() {
         @Override
-        public void afterSetUp(SlingContextImpl context) throws Exception {
+        public void afterSetUp(@NotNull SlingContextImpl context) throws 
Exception {
             registerConfigurationResourceResolver(context);
             registerConfigurationResolver(context);
             registerConfigurationManagement(context);
@@ -63,9 +64,9 @@ public final class ContextPlugins {
     /**
      * Context plugin for Sling Context-Aware Configuration (without the 
default implementations).
      */
-    public static final ContextPlugin<? extends SlingContextImpl> 
CACONFIG_NODEF = new AbstractContextPlugin<SlingContextImpl>() {
+    public static final @NotNull ContextPlugin<? extends SlingContextImpl> 
CACONFIG_NODEF = new AbstractContextPlugin<SlingContextImpl>() {
         @Override
-        public void afterSetUp(SlingContextImpl context) throws Exception {
+        public void afterSetUp(@NotNull SlingContextImpl context) throws 
Exception {
             registerConfigurationResourceResolver(context);
             registerConfigurationResolver(context);
             registerConfigurationManagement(context);
@@ -147,6 +148,7 @@ public final class ContextPlugins {
         context.registerInjectActivateService(new 
AnnotationClassConfigurationMetadataProvider());
     }
 
+    @SuppressWarnings("null")
     private static boolean registerByClassName(SlingContextImpl context, 
String className) {
         try {
             Class<?> clazz = Class.forName(className);
diff --git 
a/src/main/java/org/apache/sling/testing/mock/caconfig/MockContextAwareConfig.java
 
b/src/main/java/org/apache/sling/testing/mock/caconfig/MockContextAwareConfig.java
index ac13366..a77e512 100644
--- 
a/src/main/java/org/apache/sling/testing/mock/caconfig/MockContextAwareConfig.java
+++ 
b/src/main/java/org/apache/sling/testing/mock/caconfig/MockContextAwareConfig.java
@@ -31,6 +31,7 @@ import 
org.apache.sling.caconfig.spi.ConfigurationCollectionPersistData;
 import org.apache.sling.caconfig.spi.ConfigurationPersistData;
 import org.apache.sling.testing.mock.osgi.MapUtil;
 import org.apache.sling.testing.mock.sling.context.SlingContextImpl;
+import org.jetbrains.annotations.NotNull;
 import org.osgi.annotation.versioning.ProviderType;
 
 /**
@@ -48,7 +49,7 @@ public final class MockContextAwareConfig {
      * @param context Sling context
      * @param classNames Java class names
      */
-    public static void registerAnnotationClasses(SlingContextImpl context, 
String... classNames) {
+    public static void registerAnnotationClasses(@NotNull SlingContextImpl 
context, @NotNull String @NotNull ... classNames) {
         
ConfigurationMetadataUtil.registerAnnotationClasses(context.bundleContext(), 
classNames);
     }
 
@@ -57,7 +58,7 @@ public final class MockContextAwareConfig {
      * @param context Sling context
      * @param classes Java classes
      */
-    public static void registerAnnotationClasses(SlingContextImpl context, 
Class... classes) {
+    public static void registerAnnotationClasses(@NotNull SlingContextImpl 
context, @NotNull Class @NotNull ... classes) {
         
ConfigurationMetadataUtil.registerAnnotationClasses(context.bundleContext(), 
classes);
     }
 
@@ -66,7 +67,8 @@ public final class MockContextAwareConfig {
      * @param context Sling context
      * @param packageNames Java package names
      */
-    public static void registerAnnotationPackages(SlingContextImpl context, 
String... packageNames) {
+    @SuppressWarnings("null")
+    public static void registerAnnotationPackages(@NotNull SlingContextImpl 
context, @NotNull String @NotNull ... packageNames) {
         Collection<Class> classes = 
ConfigurationMetadataUtil.getConfigurationClassesForPackages(StringUtils.join(packageNames,
 ","));
         registerAnnotationClasses(context, classes.toArray(new 
Class[classes.size()]));
     }
@@ -79,8 +81,8 @@ public final class MockContextAwareConfig {
      * @param configClass Configuration class
      * @param values Configuration values
      */
-    public static void writeConfiguration(SlingContextImpl context, String 
contextPath, Class<?> configClass,
-            Map<String, Object> values) {
+    public static void writeConfiguration(@NotNull SlingContextImpl context, 
@NotNull String contextPath, @NotNull Class<?> configClass,
+            @NotNull Map<String, Object> values) {
         writeConfiguration(context, contextPath, 
getConfigurationName(configClass), values);
     }
     
@@ -92,8 +94,9 @@ public final class MockContextAwareConfig {
      * @param configName Config name
      * @param values Configuration values
      */
-    public static void writeConfiguration(SlingContextImpl context, String 
contextPath, String configName,
-            Map<String, Object> values) {
+    @SuppressWarnings("null")
+    public static void writeConfiguration(@NotNull SlingContextImpl context, 
@NotNull String contextPath, @NotNull String configName,
+            @NotNull Map<String, Object> values) {
         ConfigurationManager configManager = 
context.getService(ConfigurationManager.class);
         Resource contextResource = 
context.resourceResolver().getResource(contextPath);
         configManager.persistConfiguration(contextResource, configName, new 
ConfigurationPersistData(values));
@@ -107,7 +110,7 @@ public final class MockContextAwareConfig {
      * @param configClass Configuration class
      * @param values Configuration values
      */
-    public static void writeConfiguration(SlingContextImpl context, String 
contextPath, Class<?> configClass, Object... values) {
+    public static void writeConfiguration(@NotNull SlingContextImpl context, 
@NotNull String contextPath, Class<?> configClass, @NotNull Object @NotNull ... 
values) {
         writeConfiguration(context, contextPath, 
getConfigurationName(configClass), values);
     }
 
@@ -119,7 +122,7 @@ public final class MockContextAwareConfig {
      * @param configName Config name
      * @param values Configuration values
      */
-    public static void writeConfiguration(SlingContextImpl context, String 
contextPath, String configName, Object... values) {
+    public static void writeConfiguration(@NotNull SlingContextImpl context, 
@NotNull String contextPath, @NotNull String configName, @NotNull Object 
@NotNull ... values) {
         writeConfiguration(context, contextPath, configName, 
MapUtil.toMap(values));
     }
 
@@ -131,8 +134,8 @@ public final class MockContextAwareConfig {
      * @param configClass Configuration class
      * @param values Configuration values
      */
-    public static void writeConfigurationCollection(SlingContextImpl context, 
String contextPath,  Class<?> configClass,
-            Collection<Map<String, Object>> values) {
+    public static void writeConfigurationCollection(@NotNull SlingContextImpl 
context, @NotNull String contextPath,  @NotNull Class<?> configClass,
+            @NotNull Collection<@NotNull Map<String, Object>> values) {
         writeConfigurationCollection(context, contextPath, 
getConfigurationName(configClass), values);
     }
     
@@ -144,10 +147,14 @@ public final class MockContextAwareConfig {
      * @param configName Config name
      * @param values Configuration values
      */
-    public static void writeConfigurationCollection(SlingContextImpl context, 
String contextPath, String configName,
-            Collection<Map<String, Object>> values) {
+    @SuppressWarnings("null")
+    public static void writeConfigurationCollection(@NotNull SlingContextImpl 
context, @NotNull String contextPath, @NotNull String configName,
+            @NotNull Collection<@NotNull Map<String, Object>> values) {
         ConfigurationManager configManager = 
context.getService(ConfigurationManager.class);
         Resource contextResource = 
context.resourceResolver().getResource(contextPath);
+        if (contextResource == null) {
+            throw new IllegalArgumentException("No resource found at" + 
contextPath);
+        }
         List<ConfigurationPersistData> items = new ArrayList<>();
         int index = 0;
         for (Map<String, Object> map : values) {
@@ -157,7 +164,8 @@ public final class MockContextAwareConfig {
                 new ConfigurationCollectionPersistData(items));
     }
     
-    private static String getConfigurationName(Class<?> configClass) {
+    @SuppressWarnings("null")
+    private static @NotNull String getConfigurationName(Class<?> configClass) {
         Configuration annotation = 
configClass.getAnnotation(Configuration.class);
         if (annotation != null && StringUtils.isNotBlank(annotation.name())) {
             return annotation.name();
diff --git 
a/src/main/java/org/apache/sling/testing/mock/caconfig/package-info.java 
b/src/main/java/org/apache/sling/testing/mock/caconfig/package-info.java
index 99d628c..cfde06a 100644
--- a/src/main/java/org/apache/sling/testing/mock/caconfig/package-info.java
+++ b/src/main/java/org/apache/sling/testing/mock/caconfig/package-info.java
@@ -19,5 +19,5 @@
 /**
  * Apache Sling Context-Aware Configuration Mock Plugin
  */
[email protected]("1.1.0")
[email protected]("1.1.1")
 package org.apache.sling.testing.mock.caconfig;
diff --git 
a/src/test/java/org/apache/sling/testing/mock/caconfig/ContextPluginsTest.java 
b/src/test/java/org/apache/sling/testing/mock/caconfig/ContextPluginsTest.java
index d331e19..6ddd912 100644
--- 
a/src/test/java/org/apache/sling/testing/mock/caconfig/ContextPluginsTest.java
+++ 
b/src/test/java/org/apache/sling/testing/mock/caconfig/ContextPluginsTest.java
@@ -32,6 +32,7 @@ import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 
+@SuppressWarnings("null")
 public class ContextPluginsTest {
     
     private static final String CONFIG_NAME = "testConfig";
diff --git 
a/src/test/java/org/apache/sling/testing/mock/caconfig/MockContextAwareConfigTest.java
 
b/src/test/java/org/apache/sling/testing/mock/caconfig/MockContextAwareConfigTest.java
index 4c71660..ecd1bbb 100644
--- 
a/src/test/java/org/apache/sling/testing/mock/caconfig/MockContextAwareConfigTest.java
+++ 
b/src/test/java/org/apache/sling/testing/mock/caconfig/MockContextAwareConfigTest.java
@@ -39,6 +39,7 @@ import org.junit.Test;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 
+@SuppressWarnings("null")
 public class MockContextAwareConfigTest {
 
     @Rule

Reply via email to