From: Robert Varga Date: Mon, 8 Oct 2018 12:17:30 +0000 (+0200) Subject: Migrate mdsal-dom-api to JDT annotations X-Git-Tag: v3.0.1~55 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=01668a56441f25f5d10351382ada4d64103c027c;p=mdsal.git Migrate mdsal-dom-api to JDT annotations This removes the use of javax.annotation nullable annotations to remove import-package. JIRA: MDSAL-373 Change-Id: Ida93d05898d6b9d967e240096feb4d1092e02e87 Signed-off-by: Robert Varga --- diff --git a/dom/mdsal-dom-api/pom.xml b/dom/mdsal-dom-api/pom.xml index e75088b1ea..fe856c52f4 100644 --- a/dom/mdsal-dom-api/pom.xml +++ b/dom/mdsal-dom-api/pom.xml @@ -77,6 +77,15 @@ + + org.apache.felix + maven-bundle-plugin + + + !javax.annotation,* + + + org.apache.maven.plugins maven-checkstyle-plugin diff --git a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeChangeListener.java b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeChangeListener.java index efe66b4b4a..2ae4f780db 100644 --- a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeChangeListener.java +++ b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeChangeListener.java @@ -9,35 +9,31 @@ package org.opendaylight.mdsal.dom.api; import java.util.Collection; import java.util.EventListener; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; /** - * Interface implemented by classes interested in receiving notifications about - * data tree changes. It provides a cursor-based view of the change. + * Interface implemented by classes interested in receiving notifications about data tree changes. It provides + * a cursor-based view of the change. */ public interface DOMDataTreeChangeListener extends EventListener { /** - * Invoked when there was data change for the supplied path, which was used - * to register this listener. + * Invoked when there was data change for the supplied path, which was used to register this listener. * *

- * This method may be also invoked during registration of the listener if - * there is any pre-existing data in the conceptual data tree for supplied - * path. This initial event will contain all pre-existing data as created. + * This method may be also invoked during registration of the listener if there is any pre-existing data + * in the conceptual data tree for supplied path. This initial event will contain all pre-existing data as created. * *

- * A data change event may be triggered spuriously, e.g. such that data before - * and after compare as equal. Implementations of this interface are expected - * to recover from such events. Event producers are expected to exert reasonable - * effort to suppress such events. - * In other words, it is completely acceptable to observe - * a {@link org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateNode}, - * which reports a {@link org.opendaylight.yangtools.yang.data.api.schema.tree.ModificationType} - * other than UNMODIFIED, while the before- and after- data items compare as - * equal. + * A data change event may be triggered spuriously, e.g. such that data before and after compare as equal. + * Implementations of this interface are expected to recover from such events. Event producers are expected to exert + * reasonable effort to suppress such events. In other words, it is completely acceptable to observe + * a {@link org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateNode}, which reports + * a {@link org.opendaylight.yangtools.yang.data.api.schema.tree.ModificationType} other than UNMODIFIED, while + * the before- and after- data items compare as equal. * * @param changes Collection of change events, may not be null or empty. + * @throws NullPointerException if {@code changes} is null */ - void onDataTreeChanged(@Nonnull Collection changes); + void onDataTreeChanged(@NonNull Collection changes); } diff --git a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeChangeService.java b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeChangeService.java index e08892f1fb..c7a13836b8 100644 --- a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeChangeService.java +++ b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeChangeService.java @@ -7,7 +7,7 @@ */ package org.opendaylight.mdsal.dom.api; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.concepts.ListenerRegistration; /** @@ -46,7 +46,8 @@ public interface DOMDataTreeChangeService extends DOMDataBrokerExtension { * @param Listener type * @return Listener registration object, which may be used to unregister your listener using * {@link ListenerRegistration#close()} to stop delivery of change events. + * @throws NullPointerException if any of the arguments is null */ - @Nonnull ListenerRegistration - registerDataTreeChangeListener(@Nonnull DOMDataTreeIdentifier treeId, @Nonnull L listener); + @NonNull ListenerRegistration registerDataTreeChangeListener( + @NonNull DOMDataTreeIdentifier treeId, @NonNull L listener); } diff --git a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeCommitCohort.java b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeCommitCohort.java index 669a0ea258..60dfbd8a87 100644 --- a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeCommitCohort.java +++ b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeCommitCohort.java @@ -7,10 +7,12 @@ */ package org.opendaylight.mdsal.dom.api; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; import com.google.common.util.concurrent.FluentFuture; import java.util.Collection; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.common.api.DataValidationFailedException; import org.opendaylight.mdsal.common.api.PostCanCommitStep; import org.opendaylight.yangtools.util.concurrent.ExceptionMapper; @@ -92,19 +94,18 @@ public interface DOMDataTreeCommitCohort { * more specific subclasses of this exception to provide additional information about * validation failure reason. */ - @Nonnull - FluentFuture canCommit(@Nonnull Object txId, - @Nonnull SchemaContext ctx, @Nonnull Collection candidates); + @NonNull FluentFuture canCommit(@NonNull Object txId, + @NonNull SchemaContext ctx, @NonNull Collection candidates); /** * An ExceptionMapper that translates an Exception to a DataValidationFailedException. */ class DataValidationFailedExceptionMapper extends ExceptionMapper { - private final DOMDataTreeIdentifier failedTreeId; + private final @NonNull DOMDataTreeIdentifier failedTreeId; public DataValidationFailedExceptionMapper(final String opName, final DOMDataTreeIdentifier failedTreeId) { super(opName, DataValidationFailedException.class); - this.failedTreeId = failedTreeId; + this.failedTreeId = requireNonNull(failedTreeId); } @Override diff --git a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeCursor.java b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeCursor.java index 99632a5111..a4c802ad55 100644 --- a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeCursor.java +++ b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeCursor.java @@ -9,8 +9,8 @@ package org.opendaylight.mdsal.dom.api; import com.google.common.annotations.Beta; import java.util.Arrays; -import javax.annotation.Nonnull; import javax.annotation.concurrent.NotThreadSafe; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodeContainer; @@ -28,7 +28,7 @@ public interface DOMDataTreeCursor extends AutoCloseable { * @throws IllegalArgumentException when specified identifier does not identify a valid child, * or if that child is not an instance of {@link NormalizedNodeContainer}. */ - void enter(@Nonnull PathArgument child); + void enter(@NonNull PathArgument child); /** * Move the cursor to the specified child of the current position. This is the equivalent of @@ -39,7 +39,7 @@ public interface DOMDataTreeCursor extends AutoCloseable { * @throws IllegalArgumentException when specified path does not identify a valid child, or if * that child is not an instance of {@link NormalizedNodeContainer}. */ - default void enter(@Nonnull final PathArgument... path) { + default void enter(final @NonNull PathArgument... path) { enter(Arrays.asList(path)); } @@ -51,7 +51,7 @@ public interface DOMDataTreeCursor extends AutoCloseable { * @throws IllegalArgumentException when specified path does not identify a valid child, or if * that child is not an instance of {@link NormalizedNodeContainer}. */ - void enter(@Nonnull Iterable path); + void enter(@NonNull Iterable path); /** * Move the cursor up to the parent of current position. This is equivalent of invoking diff --git a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeCursorAwareTransaction.java b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeCursorAwareTransaction.java index 1c449fdecf..6bec2776b3 100644 --- a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeCursorAwareTransaction.java +++ b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeCursorAwareTransaction.java @@ -8,8 +8,6 @@ package org.opendaylight.mdsal.dom.api; import com.google.common.util.concurrent.FluentFuture; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.common.api.CommitInfo; import org.opendaylight.mdsal.common.api.TransactionCommitFailedException; @@ -29,7 +27,7 @@ public interface DOMDataTreeCursorAwareTransaction extends DOMDataTreeCursorProv * @throws IllegalStateException when there's an open cursor, or this transaction is closed already. */ @Override - @Nullable DOMDataTreeWriteCursor createCursor(@Nonnull DOMDataTreeIdentifier path); + DOMDataTreeWriteCursor createCursor(DOMDataTreeIdentifier path); /** * Cancels the transaction. diff --git a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeCursorProvider.java b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeCursorProvider.java index f8f0396f26..99785613ca 100644 --- a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeCursorProvider.java +++ b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeCursorProvider.java @@ -7,12 +7,11 @@ */ package org.opendaylight.mdsal.dom.api; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModificationCursor; public interface DOMDataTreeCursorProvider { - /** * Create a new {@link DataTreeModificationCursor} at specified path. May fail if specified path * does not exist. @@ -22,7 +21,5 @@ public interface DOMDataTreeCursorProvider { * @throws IllegalStateException if there is another cursor currently open, or the transaction * is already closed (closed or submitted). */ - @Nullable - DOMDataTreeCursor createCursor(@Nonnull DOMDataTreeIdentifier path); - + @Nullable DOMDataTreeCursor createCursor(@NonNull DOMDataTreeIdentifier path); } diff --git a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeListener.java b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeListener.java index 3c8edc1e3a..d3c191164c 100644 --- a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeListener.java +++ b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeListener.java @@ -10,7 +10,7 @@ package org.opendaylight.mdsal.dom.api; import java.util.Collection; import java.util.EventListener; import java.util.Map; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; @@ -29,8 +29,8 @@ public interface DOMDataTreeListener extends EventListener { * This includes all the subtrees this listener is subscribed to, even those * which have not changed. */ - void onDataTreeChanged(@Nonnull Collection changes, - @Nonnull Map> subtrees); + void onDataTreeChanged(@NonNull Collection changes, + @NonNull Map> subtrees); /** * Invoked when a subtree listening failure occurs. This can be triggered, for example, when a @@ -39,5 +39,5 @@ public interface DOMDataTreeListener extends EventListener { * * @param causes Collection of failure causes, may not be null or empty. */ - void onDataTreeFailed(@Nonnull Collection causes); + void onDataTreeFailed(@NonNull Collection causes); } diff --git a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeLoopException.java b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeLoopException.java index 27a4982a84..c3430cd473 100644 --- a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeLoopException.java +++ b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeLoopException.java @@ -7,7 +7,7 @@ */ package org.opendaylight.mdsal.dom.api; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; /** * Exception thrown when a loop is detected in the way {@link DOMDataTreeListener} @@ -16,11 +16,11 @@ import javax.annotation.Nonnull; public class DOMDataTreeLoopException extends Exception { private static final long serialVersionUID = 1L; - public DOMDataTreeLoopException(@Nonnull final String message) { + public DOMDataTreeLoopException(@NonNull final String message) { super(message); } - public DOMDataTreeLoopException(@Nonnull final String message, @Nonnull final Throwable cause) { + public DOMDataTreeLoopException(@NonNull final String message, @NonNull final Throwable cause) { super(message, cause); } } diff --git a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeProducer.java b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeProducer.java index f6aae1d1db..0414d12a53 100644 --- a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeProducer.java +++ b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeProducer.java @@ -8,7 +8,7 @@ package org.opendaylight.mdsal.dom.api; import java.util.Collection; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; /** * A data producer context. It allows transactions to be submitted to the subtrees @@ -59,7 +59,7 @@ public interface DOMDataTreeProducer extends DOMDataTreeProducerFactory, AutoClo * exception is thrown on a best effort basis and programs should not rely on it for * correct operation. */ - @Nonnull DOMDataTreeCursorAwareTransaction createTransaction(boolean isolated); + @NonNull DOMDataTreeCursorAwareTransaction createTransaction(boolean isolated); /** * {@inheritDoc}. @@ -86,7 +86,7 @@ public interface DOMDataTreeProducer extends DOMDataTreeProducerFactory, AutoClo * correct operation. */ @Override - @Nonnull DOMDataTreeProducer createProducer(@Nonnull Collection subtrees); + DOMDataTreeProducer createProducer(Collection subtrees); /** * {@inheritDoc}. diff --git a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeProducerFactory.java b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeProducerFactory.java index 887a8eca05..a59cc29907 100644 --- a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeProducerFactory.java +++ b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeProducerFactory.java @@ -8,7 +8,7 @@ package org.opendaylight.mdsal.dom.api; import java.util.Collection; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; /** * Base source of {@link DOMDataTreeProducer}s. This interface is usually not used directly, @@ -22,5 +22,5 @@ public interface DOMDataTreeProducerFactory { * @return A {@link DOMDataTreeProducer} instance. * @throws IllegalArgumentException if subtrees is empty. */ - @Nonnull DOMDataTreeProducer createProducer(@Nonnull Collection subtrees); + @NonNull DOMDataTreeProducer createProducer(@NonNull Collection subtrees); } diff --git a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeReadCursor.java b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeReadCursor.java index 3f625a859d..d1271c0a45 100644 --- a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeReadCursor.java +++ b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeReadCursor.java @@ -9,13 +9,12 @@ package org.opendaylight.mdsal.dom.api; import com.google.common.util.concurrent.FluentFuture; import java.util.Optional; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.common.api.ReadFailedException; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; public interface DOMDataTreeReadCursor extends DOMDataTreeCursor { - /** * Read a particular node from the snapshot. * @@ -31,7 +30,7 @@ public interface DOMDataTreeReadCursor extends DOMDataTreeCursor { * * @throws IllegalArgumentException when specified path does not identify a valid child. */ - FluentFuture>> readNode(@Nonnull PathArgument child); + @NonNull FluentFuture>> readNode(@NonNull PathArgument child); /** * Checks if data is available in the logical data store located at provided path. @@ -53,5 +52,5 @@ public interface DOMDataTreeReadCursor extends DOMDataTreeCursor { * ReadFailedException. * */ - FluentFuture exists(@Nonnull PathArgument child); + @NonNull FluentFuture exists(@NonNull PathArgument child); } diff --git a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeService.java b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeService.java index f4b2135494..cc25c96c65 100644 --- a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeService.java +++ b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeService.java @@ -8,7 +8,7 @@ package org.opendaylight.mdsal.dom.api; import java.util.Collection; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.concepts.ListenerRegistration; /** @@ -62,7 +62,7 @@ public interface DOMDataTreeService extends DOMDataTreeProducerFactory, * subtrees with specified producers would form a * feedback loop */ - @Nonnull ListenerRegistration registerListener(@Nonnull T listener, - @Nonnull Collection subtrees, boolean allowRxMerges, - @Nonnull Collection producers) throws DOMDataTreeLoopException; + @NonNull ListenerRegistration registerListener(@NonNull T listener, + @NonNull Collection subtrees, boolean allowRxMerges, + @NonNull Collection producers) throws DOMDataTreeLoopException; } diff --git a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeShard.java b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeShard.java index 1581f0e223..ae1bba2846 100644 --- a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeShard.java +++ b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeShard.java @@ -8,7 +8,7 @@ package org.opendaylight.mdsal.dom.api; import java.util.EventListener; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; /** * A single shard of the conceptual data tree. This interface defines the basic notifications @@ -23,7 +23,7 @@ public interface DOMDataTreeShard extends EventListener { * @param prefix Child's prefix * @param child Child shard */ - void onChildAttached(@Nonnull DOMDataTreeIdentifier prefix, @Nonnull DOMDataTreeShard child); + void onChildAttached(@NonNull DOMDataTreeIdentifier prefix, @NonNull DOMDataTreeShard child); /** * Invoked whenever a child is getting detached as a more specific prefix under this shard. @@ -31,5 +31,5 @@ public interface DOMDataTreeShard extends EventListener { * @param prefix Child's prefix * @param child Child shard */ - void onChildDetached(@Nonnull DOMDataTreeIdentifier prefix, @Nonnull DOMDataTreeShard child); + void onChildDetached(@NonNull DOMDataTreeIdentifier prefix, @NonNull DOMDataTreeShard child); } diff --git a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeShardingConflictException.java b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeShardingConflictException.java index 9765eb40d8..d235b70e67 100644 --- a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeShardingConflictException.java +++ b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeShardingConflictException.java @@ -7,7 +7,7 @@ */ package org.opendaylight.mdsal.dom.api; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; /** * Exception thrown when an attempt to attach a conflicting shard to the global @@ -16,11 +16,11 @@ import javax.annotation.Nonnull; public class DOMDataTreeShardingConflictException extends Exception { private static final long serialVersionUID = 1L; - public DOMDataTreeShardingConflictException(@Nonnull final String message) { + public DOMDataTreeShardingConflictException(final @NonNull String message) { super(message); } - public DOMDataTreeShardingConflictException(@Nonnull final String message, @Nonnull final Throwable cause) { + public DOMDataTreeShardingConflictException(final @NonNull String message, final @NonNull Throwable cause) { super(message, cause); } } diff --git a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeShardingService.java b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeShardingService.java index 4a4255c4f2..a2182801c1 100644 --- a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeShardingService.java +++ b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMDataTreeShardingService.java @@ -7,7 +7,7 @@ */ package org.opendaylight.mdsal.dom.api; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.concepts.ListenerRegistration; /** @@ -36,7 +36,7 @@ public interface DOMDataTreeShardingService extends DOMService { * @return A registration. To remove the shard's binding, close the registration. * @throws DOMDataTreeShardingConflictException if the prefix is already bound */ - @Nonnull ListenerRegistration registerDataTreeShard( - @Nonnull DOMDataTreeIdentifier prefix, @Nonnull T shard, - @Nonnull DOMDataTreeProducer producer) throws DOMDataTreeShardingConflictException; + @NonNull ListenerRegistration registerDataTreeShard( + @NonNull DOMDataTreeIdentifier prefix, @NonNull T shard, + @NonNull DOMDataTreeProducer producer) throws DOMDataTreeShardingConflictException; } diff --git a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMNotification.java b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMNotification.java index ca8f4e42d7..0d0438c55a 100644 --- a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMNotification.java +++ b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMNotification.java @@ -7,7 +7,7 @@ */ package org.opendaylight.mdsal.dom.api; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.model.api.SchemaPath; @@ -20,12 +20,12 @@ public interface DOMNotification { * * @return Notification type. */ - @Nonnull SchemaPath getType(); + @NonNull SchemaPath getType(); /** * Return the body of this notification. * * @return Notification body. */ - @Nonnull ContainerNode getBody(); + @NonNull ContainerNode getBody(); } diff --git a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMNotificationListener.java b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMNotificationListener.java index ed26821b84..b75a5405e9 100644 --- a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMNotificationListener.java +++ b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMNotificationListener.java @@ -8,7 +8,7 @@ package org.opendaylight.mdsal.dom.api; import java.util.EventListener; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; /** * Interface implemented by listeners interested in {@link DOMNotification}s. @@ -20,5 +20,5 @@ public interface DOMNotificationListener extends EventListener { * * @param notification Received notification */ - void onNotification(@Nonnull DOMNotification notification); + void onNotification(@NonNull DOMNotification notification); } diff --git a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMNotificationPublishService.java b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMNotificationPublishService.java index a55edb3db4..f4d76593af 100644 --- a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMNotificationPublishService.java +++ b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMNotificationPublishService.java @@ -7,11 +7,11 @@ */ package org.opendaylight.mdsal.dom.api; -import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import java.util.concurrent.TimeUnit; import javax.annotation.Nonnegative; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; +import org.opendaylight.yangtools.util.concurrent.FluentFutures; /** * A {@link DOMService} which allows its user to send {@link DOMNotification}s. It @@ -28,7 +28,7 @@ public interface DOMNotificationPublishService extends DOMService { * Well-known value indicating that the implementation is currently not * able to accept a notification. */ - ListenableFuture REJECTED = Futures.immediateFailedFuture( + ListenableFuture REJECTED = FluentFutures.immediateFailedFluentFuture( new DOMNotificationRejectedException("Unacceptable blocking conditions encountered")); /** @@ -61,7 +61,7 @@ public interface DOMNotificationPublishService extends DOMService { * @throws InterruptedException if interrupted while waiting * @throws NullPointerException if notification is null. */ - @Nonnull ListenableFuture putNotification(@Nonnull DOMNotification notification) + @NonNull ListenableFuture putNotification(@NonNull DOMNotification notification) throws InterruptedException; /** @@ -79,7 +79,7 @@ public interface DOMNotificationPublishService extends DOMService { * delivery. * @throws NullPointerException if notification is null. */ - @Nonnull ListenableFuture offerNotification(@Nonnull DOMNotification notification); + @NonNull ListenableFuture offerNotification(@NonNull DOMNotification notification); /** * Attempt to publish a notification. The result of this method is a {@link ListenableFuture} @@ -100,6 +100,6 @@ public interface DOMNotificationPublishService extends DOMService { * @throws NullPointerException if notification or unit is null. * @throws IllegalArgumentException if timeout is negative. */ - @Nonnull ListenableFuture offerNotification(@Nonnull DOMNotification notification, - @Nonnegative long timeout, @Nonnull TimeUnit unit) throws InterruptedException; + @NonNull ListenableFuture offerNotification(@NonNull DOMNotification notification, + @Nonnegative long timeout, @NonNull TimeUnit unit) throws InterruptedException; } diff --git a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMNotificationService.java b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMNotificationService.java index 4160d90c65..3bbff670a8 100644 --- a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMNotificationService.java +++ b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMNotificationService.java @@ -8,7 +8,7 @@ package org.opendaylight.mdsal.dom.api; import java.util.Collection; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.concepts.ListenerRegistration; import org.opendaylight.yangtools.yang.model.api.SchemaPath; @@ -32,7 +32,7 @@ public interface DOMNotificationService extends DOMService { * @throws NullPointerException if either of the arguments is null */ ListenerRegistration - registerNotificationListener(@Nonnull T listener, @Nonnull Collection types); + registerNotificationListener(@NonNull T listener, @NonNull Collection types); /** * Register a {@link DOMNotificationListener} to receive a set of notifications. As with other @@ -50,5 +50,5 @@ public interface DOMNotificationService extends DOMService { */ // FIXME: Java 8: provide a default implementation of this method. ListenerRegistration - registerNotificationListener(@Nonnull T listener, SchemaPath... types); + registerNotificationListener(@NonNull T listener, SchemaPath... types); } diff --git a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMRpcAvailabilityListener.java b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMRpcAvailabilityListener.java index 3c69ed93e2..137205db5c 100644 --- a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMRpcAvailabilityListener.java +++ b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMRpcAvailabilityListener.java @@ -9,7 +9,7 @@ package org.opendaylight.mdsal.dom.api; import java.util.Collection; import java.util.EventListener; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; /** * An {@link EventListener} used to track RPC implementations becoming (un)available @@ -21,14 +21,14 @@ public interface DOMRpcAvailabilityListener extends EventListener { * * @param rpcs RPC types newly available */ - void onRpcAvailable(@Nonnull Collection rpcs); + void onRpcAvailable(@NonNull Collection rpcs); /** * Method invoked whenever an RPC type becomes unavailable. * * @param rpcs RPC types which became unavailable */ - void onRpcUnavailable(@Nonnull Collection rpcs); + void onRpcUnavailable(@NonNull Collection rpcs); /** * Implementation filtering method. This method is useful for forwarding RPC implementations, diff --git a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMRpcImplementation.java b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMRpcImplementation.java index 8d5adb4fed..5cef886787 100644 --- a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMRpcImplementation.java +++ b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMRpcImplementation.java @@ -8,8 +8,8 @@ package org.opendaylight.mdsal.dom.api; import com.google.common.util.concurrent.FluentFuture; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; /** @@ -27,7 +27,8 @@ public interface DOMRpcImplementation { * or report a subclass of {@link DOMRpcException} reporting a transport * error. */ - @Nonnull FluentFuture invokeRpc(@Nonnull DOMRpcIdentifier rpc, @Nullable NormalizedNode input); + // FIXME: 4.0.0: do not allow null input + @NonNull FluentFuture invokeRpc(@NonNull DOMRpcIdentifier rpc, @Nullable NormalizedNode input); /** * Return the relative invocation cost of this implementation. Default implementation return 0. diff --git a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMRpcProviderService.java b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMRpcProviderService.java index 9edc47f9f1..224c6ada2c 100644 --- a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMRpcProviderService.java +++ b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMRpcProviderService.java @@ -8,11 +8,11 @@ package org.opendaylight.mdsal.dom.api; import java.util.Set; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; /** - * A {@link DOMService} which allows registration of RPC implementations with a conceptual - * router. The client counterpart of this service is {@link DOMRpcService}. + * A {@link DOMService} which allows registration of RPC implementations with a conceptual router. The client + * counterpart of this service is {@link DOMRpcService}. */ public interface DOMRpcProviderService extends DOMService { /** @@ -25,8 +25,8 @@ public interface DOMRpcProviderService extends DOMService { * @throws NullPointerException if implementation or types is null * @throws IllegalArgumentException if types is empty or contains a null element. */ - @Nonnull DOMRpcImplementationRegistration - registerRpcImplementation(@Nonnull T implementation, @Nonnull DOMRpcIdentifier... rpcs); + @NonNull DOMRpcImplementationRegistration + registerRpcImplementation(@NonNull T implementation, @NonNull DOMRpcIdentifier... rpcs); /** * Register an {@link DOMRpcImplementation} object with this service. @@ -37,6 +37,6 @@ public interface DOMRpcProviderService extends DOMService { * @throws NullPointerException if implementation or types is null * @throws IllegalArgumentException if types is empty or contains a null element. */ - @Nonnull DOMRpcImplementationRegistration - registerRpcImplementation(@Nonnull T implementation, @Nonnull Set rpcs); + @NonNull DOMRpcImplementationRegistration + registerRpcImplementation(@NonNull T implementation, @NonNull Set rpcs); } diff --git a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMRpcService.java b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMRpcService.java index 3f64416a49..7b23ee7359 100644 --- a/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMRpcService.java +++ b/dom/mdsal-dom-api/src/main/java/org/opendaylight/mdsal/dom/api/DOMRpcService.java @@ -8,8 +8,8 @@ package org.opendaylight.mdsal.dom.api; import com.google.common.util.concurrent.FluentFuture; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.yangtools.concepts.ListenerRegistration; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.model.api.SchemaPath; @@ -27,11 +27,11 @@ public interface DOMRpcService extends DOMService { * * @param type SchemaPath of the RPC to be invoked * @param input Input arguments, null if the RPC does not take any. - * @return A {@link FluentFuture} which will return either a result structure, - * or report a subclass of {@link DOMRpcException} reporting a transport - * error. + * @return A {@link FluentFuture} which will return either a result structure, or report a subclass + * of {@link DOMRpcException} reporting a transport error. */ - @Nonnull FluentFuture invokeRpc(@Nonnull SchemaPath type, @Nullable NormalizedNode input); + // FIXME: 4.0.0: do not allow null input + @NonNull FluentFuture invokeRpc(@NonNull SchemaPath type, @Nullable NormalizedNode input); /** * Register a {@link DOMRpcAvailabilityListener} with this service to receive notifications @@ -45,8 +45,7 @@ public interface DOMRpcService extends DOMService { * * @param listener {@link DOMRpcAvailabilityListener} instance to register * @return A {@link ListenerRegistration} representing this registration. Performing a - * {@link ListenerRegistration#close()} will cancel it. Returned object is guaranteed to - * be non-null. + * {@link ListenerRegistration#close()} will cancel it. Returned object is guaranteed to be non-null. */ - @Nonnull ListenerRegistration registerRpcListener(@Nonnull T listener); + @NonNull ListenerRegistration registerRpcListener(@NonNull T listener); } diff --git a/dom/mdsal-dom-api/src/test/java/org/opendaylight/controller/md/sal/dom/api/AbstractDOMDataTreeServiceTestSuite.java b/dom/mdsal-dom-api/src/test/java/org/opendaylight/controller/md/sal/dom/api/AbstractDOMDataTreeServiceTestSuite.java index 60631c78bc..e89f9f1f91 100644 --- a/dom/mdsal-dom-api/src/test/java/org/opendaylight/controller/md/sal/dom/api/AbstractDOMDataTreeServiceTestSuite.java +++ b/dom/mdsal-dom-api/src/test/java/org/opendaylight/controller/md/sal/dom/api/AbstractDOMDataTreeServiceTestSuite.java @@ -13,7 +13,7 @@ import com.google.common.util.concurrent.ListenableFuture; import java.net.URI; import java.util.Collections; import java.util.concurrent.ExecutionException; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.junit.Test; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.mdsal.dom.api.DOMDataTreeCursorAwareTransaction; @@ -49,7 +49,7 @@ public abstract class AbstractDOMDataTreeServiceTestSuite { * * @return {@link DOMDataTreeService} instance. */ - protected abstract @Nonnull DOMDataTreeService service(); + protected abstract @NonNull DOMDataTreeService service(); /** * A simple unbound producer. It write some basic things into the data store based on the