This is an automated email from the ASF dual-hosted git repository. sseifert pushed a commit to branch feature/SLING-7802-nullability in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-jcr-mock.git
commit c766eef4f7cee1aca084edfc36612fc142116c12 Author: sseifert <[email protected]> AuthorDate: Sun Jul 8 15:16:50 2018 +0200 SLING-7802 apply jetbrains nullability annotations on public API --- pom.xml | 8 ++++++ .../org/apache/sling/testing/mock/jcr/MockJcr.java | 30 +++++++++++++--------- .../sling/testing/mock/jcr/MockQueryResult.java | 3 ++- .../sling/testing/mock/jcr/package-info.java | 2 +- .../sling/testing/mock/jcr/MockNodeTest.java | 1 - .../testing/mock/jcr/MockQueryManagerTest.java | 1 + 6 files changed, 30 insertions(+), 15 deletions(-) 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.SimpleCredentials; 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 @@ public final class MockJcr { * its own data store. * @return JCR repository */ - public static Repository newRepository() { + public static @NotNull Repository newRepository() { return new MockRepository(); } @@ -65,7 +67,7 @@ public final class MockJcr { * collected. * @return JCR session */ - public static Session newSession() { + public static @NotNull Session newSession() { return newSession(null, null); } @@ -73,11 +75,12 @@ public final class MockJcr { * 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 @@ public final class MockJcr { * @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 @@ public final class MockJcr { * @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 @@ public final class MockJcr { * @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 @@ public final class MockJcr { * @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 @@ public final class MockJcr { * @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 @@ public final class MockJcr { * @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 javax.jcr.query.RowIterator; 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 final class MockQueryResult implements QueryResult { 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. */ [email protected]("1.0.1") [email protected]("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 @@ public class MockNodeTest { 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 org.junit.Test; import com.google.common.collect.ImmutableList; +@SuppressWarnings("null") public class MockQueryManagerTest { private Session session;
