You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ss...@apache.org on 2018/07/08 13:17:34 UTC

[sling-org-apache-sling-testing-jcr-mock] branch feature/nullability created (now 0894074)

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

sseifert pushed a change to branch feature/nullability
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-jcr-mock.git.


      at 0894074  apply jetbrains nullability annotations on public API

This branch includes the following new commits:

     new 0894074  apply jetbrains nullability annotations on public API

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[sling-org-apache-sling-testing-jcr-mock] 01/01: apply jetbrains nullability annotations on public API

Posted by ss...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 0894074c991d148ae6db2ab68eafcf747bac138a
Author: sseifert <ss...@pro-vision.de>
AuthorDate: Sun Jul 8 15:16:50 2018 +0200

    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 609ce5d..ab59f79 100644
--- a/pom.xml
+++ b/pom.xml
@@ -75,6 +75,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.
  */
-@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 @@ 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;