SLING-7802 apply jetbrains nullability annotations on public API
diff --git a/pom.xml b/pom.xml
index c77cf52..5bd1d04 100644
--- a/pom.xml
+++ b/pom.xml
@@ -76,6 +76,14 @@
<scope>compile</scope>
</dependency>
+ <!-- Nullability annotations -->
+ <dependency>
+ <groupId>org.jetbrains</groupId>
+ <artifactId>annotations</artifactId>
+ <version>16.0.2</version>
+ <scope>provided</scope>
+ </dependency>
+
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
diff --git a/src/main/java/org/apache/sling/testing/mock/jcr/MockJcr.java b/src/main/java/org/apache/sling/testing/mock/jcr/MockJcr.java
index 31e581b..7e4a619 100644
--- a/src/main/java/org/apache/sling/testing/mock/jcr/MockJcr.java
+++ b/src/main/java/org/apache/sling/testing/mock/jcr/MockJcr.java
@@ -28,6 +28,8 @@
import javax.jcr.query.QueryManager;
import org.apache.commons.lang3.StringUtils;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import org.osgi.annotation.versioning.ConsumerType;
/**
@@ -55,7 +57,7 @@
* its own data store.
* @return JCR repository
*/
- public static Repository newRepository() {
+ public static @NotNull Repository newRepository() {
return new MockRepository();
}
@@ -65,7 +67,7 @@
* collected.
* @return JCR session
*/
- public static Session newSession() {
+ public static @NotNull Session newSession() {
return newSession(null, null);
}
@@ -73,11 +75,12 @@
* Create a new mocked in-memory JCR session. It contains only the root
* node. All data of the session is thrown away if it gets garbage
* collected.
- * @param userId User id for the mock environment.
- * @param workspaceName Workspace name for the mock environment.
+ * @param userId User id for the mock environment. If null a dummy value is used.
+ * @param workspaceName Workspace name for the mock environment. If null a dummy value is used.
* @return JCR session
*/
- public static Session newSession(String userId, String workspaceName) {
+ @SuppressWarnings("null")
+ public static @NotNull Session newSession(@Nullable String userId, @Nullable String workspaceName) {
try {
return newRepository().login(
new SimpleCredentials(StringUtils.defaultString(userId, DEFAULT_USER_ID), new char[0]),
@@ -93,7 +96,7 @@
* @param session JCR session
* @param resultList Result list
*/
- public static void setQueryResult(final Session session, final List<Node> resultList) {
+ public static void setQueryResult(@NotNull final Session session, @NotNull final List<Node> resultList) {
setQueryResult(getQueryManager(session), resultList);
}
@@ -102,7 +105,7 @@
* @param queryManager Mocked query manager
* @param resultList Result list
*/
- public static void setQueryResult(final QueryManager queryManager, final List<Node> resultList) {
+ public static void setQueryResult(@NotNull final QueryManager queryManager, @NotNull final List<Node> resultList) {
addQueryResultHandler(queryManager, new MockQueryResultHandler() {
@Override
public MockQueryResult executeQuery(MockQuery query) {
@@ -118,7 +121,8 @@
* @param language Query language
* @param resultList Result list
*/
- public static void setQueryResult(final Session session, final String statement, final String language, final List<Node> resultList) {
+ public static void setQueryResult(@NotNull final Session session, @NotNull final String statement,
+ @NotNull final String language, @NotNull final List<Node> resultList) {
setQueryResult(getQueryManager(session), statement, language, resultList);
}
@@ -129,7 +133,8 @@
* @param language Query language
* @param resultList Result list
*/
- public static void setQueryResult(final QueryManager queryManager, final String statement, final String language, final List<Node> resultList) {
+ public static void setQueryResult(@NotNull final QueryManager queryManager, @NotNull final String statement,
+ @NotNull final String language, @NotNull final List<Node> resultList) {
addQueryResultHandler(queryManager, new MockQueryResultHandler() {
@Override
public MockQueryResult executeQuery(MockQuery query) {
@@ -149,7 +154,7 @@
* @param session JCR session
* @param resultHandler Mock query result handler
*/
- public static void addQueryResultHandler(final Session session, final MockQueryResultHandler resultHandler) {
+ public static void addQueryResultHandler(@NotNull final Session session, @NotNull final MockQueryResultHandler resultHandler) {
addQueryResultHandler(getQueryManager(session), resultHandler);
}
@@ -158,11 +163,12 @@
* @param queryManager Mocked query manager
* @param resultHandler Mock query result handler
*/
- public static void addQueryResultHandler(final QueryManager queryManager, final MockQueryResultHandler resultHandler) {
+ public static void addQueryResultHandler(@NotNull final QueryManager queryManager, @NotNull final MockQueryResultHandler resultHandler) {
((MockQueryManager)queryManager).addResultHandler(resultHandler);
}
- private static QueryManager getQueryManager(Session session) {
+ @SuppressWarnings("null")
+ private static @NotNull QueryManager getQueryManager(@NotNull Session session) {
try {
return session.getWorkspace().getQueryManager();
}
diff --git a/src/main/java/org/apache/sling/testing/mock/jcr/MockQueryResult.java b/src/main/java/org/apache/sling/testing/mock/jcr/MockQueryResult.java
index 356d1da..3ab0842 100644
--- a/src/main/java/org/apache/sling/testing/mock/jcr/MockQueryResult.java
+++ b/src/main/java/org/apache/sling/testing/mock/jcr/MockQueryResult.java
@@ -29,6 +29,7 @@
import org.apache.jackrabbit.commons.iterator.NodeIteratorAdapter;
import org.apache.jackrabbit.commons.iterator.RowIteratorAdapter;
+import org.jetbrains.annotations.Nullable;
import org.osgi.annotation.versioning.ProviderType;
import com.google.common.base.Function;
@@ -64,7 +65,7 @@
public RowIterator getRows() throws RepositoryException {
return new RowIteratorAdapter(Lists.transform(nodes, new Function<Node, Row>() {
@Override
- public Row apply(Node node) {
+ public Row apply(@Nullable Node node) {
return new MockRow(columnNames, node);
}
}));
diff --git a/src/main/java/org/apache/sling/testing/mock/jcr/package-info.java b/src/main/java/org/apache/sling/testing/mock/jcr/package-info.java
index b4794d7..76b9bb0 100644
--- a/src/main/java/org/apache/sling/testing/mock/jcr/package-info.java
+++ b/src/main/java/org/apache/sling/testing/mock/jcr/package-info.java
@@ -19,5 +19,5 @@
/**
* Mock implementation of selected JCR APIs.
*/
-@org.osgi.annotation.versioning.Version("1.0.1")
+@org.osgi.annotation.versioning.Version("1.0.2")
package org.apache.sling.testing.mock.jcr;
diff --git a/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTest.java b/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTest.java
index 32807e4..c89401d 100644
--- a/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/jcr/MockNodeTest.java
@@ -45,7 +45,6 @@
private Node rootNode;
private Node node1;
private Property prop1;
- private Property prop2;
private Node node11;
@Before
diff --git a/src/test/java/org/apache/sling/testing/mock/jcr/MockQueryManagerTest.java b/src/test/java/org/apache/sling/testing/mock/jcr/MockQueryManagerTest.java
index 8280ab6..fdb2ed5 100644
--- a/src/test/java/org/apache/sling/testing/mock/jcr/MockQueryManagerTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/jcr/MockQueryManagerTest.java
@@ -39,6 +39,7 @@
import com.google.common.collect.ImmutableList;
+@SuppressWarnings("null")
public class MockQueryManagerTest {
private Session session;