Remove JSR305 annotations from yang-data-util 65/79265/2
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 7 Jan 2019 09:39:47 +0000 (10:39 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 7 Jan 2019 10:20:04 +0000 (11:20 +0100)
Ditch JSR305 annotations in favor of JDT annotations.

JIRA: YANGTOOLS-907
Change-Id: Ia183995a947277ea78cb9e37e2aa1494f937c43e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 files changed:
yang/yang-data-util/pom.xml
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringIdentityrefCodec.java
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringInstanceIdentifierCodec.java
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractNamespaceCodec.java
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringInstanceIdentifierCodec.java
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ContainerSchemaNodes.java
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextNode.java
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextTree.java
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/LeafInterner.java
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/LeafsetEntryInterner.java
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ModuleStringIdentityrefCodec.java
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/RpcAsContainer.java
yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/codec/CodecCache.java

index 14e1d4e76472c0878c679374e99bcdba020dc572..cd2ed50a47880de0093961cfa9f9e443f0efbe8f 100644 (file)
 
     <build>
         <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <configuration>
-                    <instructions>
-                        <Import-Package>!javax.annotation,*</Import-Package>
-                    </instructions>
-                </configuration>
-            </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-checkstyle-plugin</artifactId>
index d2c373eea1f4e57be03f166eb1c5236486fa3773..d2de3115536e5cdef7241ddab6fc205253c2a7b0 100644 (file)
@@ -10,7 +10,8 @@ package org.opendaylight.yangtools.yang.data.util;
 import static com.google.common.base.Preconditions.checkArgument;
 
 import com.google.common.annotations.Beta;
-import javax.annotation.Nonnull;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
@@ -23,10 +24,10 @@ public abstract class AbstractModuleStringIdentityrefCodec extends AbstractStrin
      * @param prefix Prefix
      * @return module mapped to prefix, or null if the module cannot be resolved
      */
-    protected abstract Module moduleForPrefix(@Nonnull String prefix);
+    protected abstract @Nullable Module moduleForPrefix(@NonNull String prefix);
 
     @Override
-    protected final QName createQName(@Nonnull final String prefix, @Nonnull final String localName) {
+    protected final QName createQName(final String prefix, final String localName) {
         final Module module = moduleForPrefix(prefix);
         checkArgument(module != null, "Failed to lookup prefix %s", prefix);
 
index bafbbe17be5f59d33b0b3e0cd8140c23022f883f..847aa68c13275a26903749938ea544e11995e7d2 100644 (file)
@@ -10,7 +10,8 @@ package org.opendaylight.yangtools.yang.data.util;
 import static com.google.common.base.Preconditions.checkArgument;
 
 import com.google.common.annotations.Beta;
-import javax.annotation.Nonnull;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.Module;
 
@@ -27,10 +28,10 @@ public abstract class AbstractModuleStringInstanceIdentifierCodec extends Abstra
      * @param prefix Prefix
      * @return module mapped to prefix, or null if the module cannot be resolved
      */
-    protected abstract Module moduleForPrefix(@Nonnull String prefix);
+    protected abstract @Nullable Module moduleForPrefix(@NonNull String prefix);
 
     @Override
-    protected final QName createQName(@Nonnull final String prefix, @Nonnull final String localName) {
+    protected final QName createQName(final String prefix, final String localName) {
         final Module module = moduleForPrefix(prefix);
         checkArgument(module != null, "Failed to lookup prefix %s", prefix);
         return QName.create(module.getQNameModule(), localName);
index 8e942ee499991c692e197575d9defb0a903df84c..035946af75a8170142781acdf2c7425a6a46b42f 100644 (file)
@@ -12,8 +12,8 @@ import static com.google.common.base.Preconditions.checkArgument;
 import com.google.common.base.Splitter;
 import java.net.URI;
 import java.util.Iterator;
-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.common.QName;
 import org.opendaylight.yangtools.yang.common.QNameModule;
 
@@ -26,7 +26,7 @@ abstract class AbstractNamespaceCodec {
      * @param namespace Namespace to map
      * @return Allocated unique prefix, or null if the prefix cannot be mapped.
      */
-    @Nullable protected abstract String prefixForNamespace(@Nonnull URI namespace);
+    protected abstract @Nullable String prefixForNamespace(@NonNull URI namespace);
 
     /**
      * Create a QName for a prefix and local name.
@@ -36,7 +36,7 @@ abstract class AbstractNamespaceCodec {
      * @return QName
      * @throws IllegalArgumentException if the prefix cannot be resolved
      */
-    @Nullable protected abstract QName createQName(@Nonnull String prefix, @Nonnull String localName);
+    protected abstract @Nullable QName createQName(@NonNull String prefix, @NonNull String localName);
 
     private static String getIdAndPrefixAsStr(final String pathPart) {
         int predicateStartIndex = pathPart.indexOf('[');
index fd8b7eb57f3f4db65eede3dcb9fbb432ce70e66e..06785dac54486b3036a9a8bed0de03630b08f5e2 100644 (file)
@@ -12,8 +12,8 @@ import static java.util.Objects.requireNonNull;
 
 import com.google.common.annotations.Beta;
 import java.util.Map.Entry;
-import javax.annotation.Nonnull;
 import javax.xml.XMLConstants;
+import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.QNameModule;
@@ -93,7 +93,7 @@ public abstract class AbstractStringInstanceIdentifierCodec extends AbstractName
      * @return DataSchemaContextTree associated with SchemaContext for which
      *         serialization / deserialization occurs.
      */
-    protected abstract @Nonnull DataSchemaContextTree getDataContextTree();
+    protected abstract @NonNull DataSchemaContextTree getDataContextTree();
 
     protected Object deserializeKeyValue(final DataSchemaNode schemaNode, final String value) {
         return value;
index 0d2bd1a3150c0cbfd68c28014695276c197a956f..588c81a5f807e77ff9de8e911f61b30f5b9dc240 100644 (file)
@@ -15,10 +15,8 @@ import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Maps;
 import java.util.Collection;
-import java.util.List;
 import java.util.Optional;
 import java.util.Set;
-import javax.annotation.Nonnull;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.ActionDefinition;
 import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
@@ -33,7 +31,6 @@ import org.opendaylight.yangtools.yang.model.api.SchemaNode;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 import org.opendaylight.yangtools.yang.model.api.Status;
 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
-import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.UsesNode;
 
 /**
@@ -85,13 +82,11 @@ public final class ContainerSchemaNodes {
             return false;
         }
 
-        @Nonnull
         @Override
         public QName getQName() {
             return schemaNode.getQName();
         }
 
-        @Nonnull
         @Override
         public SchemaPath getPath() {
             return schemaNode.getPath();
@@ -107,18 +102,11 @@ public final class ContainerSchemaNodes {
             return schemaNode.getReference();
         }
 
-        @Nonnull
         @Override
         public Status getStatus() {
             return schemaNode.getStatus();
         }
 
-        @Nonnull
-        @Override
-        public List<UnknownSchemaNode> getUnknownSchemaNodes() {
-            return ImmutableList.of();
-        }
-
         @Override
         public Collection<MustDefinition> getMustConstraints() {
             return ImmutableList.of();
index 0b7a3c92752f1204033b93c7a6e5a1a6d1762b14..26555b759224f4cee7635aa0123189e73bb30fd9 100644 (file)
@@ -13,8 +13,8 @@ import java.util.List;
 import java.util.Optional;
 import java.util.Set;
 import java.util.stream.Collectors;
-import javax.annotation.Nullable;
 import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.yangtools.concepts.Identifiable;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
@@ -80,11 +80,11 @@ public abstract class DataSchemaContextNode<T extends PathArgument> implements I
      * @param child Child path argument
      * @return A child node, or null if not found
      */
-    @Nullable public abstract DataSchemaContextNode<?> getChild(PathArgument child);
+    public abstract @Nullable DataSchemaContextNode<?> getChild(PathArgument child);
 
-    @Nullable public abstract DataSchemaContextNode<?> getChild(QName child);
+    public abstract @Nullable DataSchemaContextNode<?> getChild(QName child);
 
-    @Nullable public DataSchemaNode getDataSchemaNode() {
+    public @Nullable DataSchemaNode getDataSchemaNode() {
         return dataSchemaNode;
     }
 
@@ -171,7 +171,7 @@ public abstract class DataSchemaContextNode<T extends PathArgument> implements I
      * DataContextNodeOperation for child as call for
      * {@link #fromDataSchemaNode(DataSchemaNode)}.
      */
-    @Nullable static DataSchemaContextNode<?> fromAugmentation(final DataNodeContainer parent,
+    static @Nullable DataSchemaContextNode<?> fromAugmentation(final DataNodeContainer parent,
             final AugmentationTarget parentAug, final DataSchemaNode child) {
         for (AugmentationSchemaNode aug : parentAug.getAvailableAugmentations()) {
             if (aug.findDataChildByName(child.getQName()).isPresent()) {
@@ -181,7 +181,7 @@ public abstract class DataSchemaContextNode<T extends PathArgument> implements I
         return fromDataSchemaNode(child);
     }
 
-    @Nullable public static DataSchemaContextNode<?> fromDataSchemaNode(final DataSchemaNode potential) {
+    public static @Nullable DataSchemaContextNode<?> fromDataSchemaNode(final DataSchemaNode potential) {
         if (potential instanceof ContainerSchemaNode) {
             return new ContainerContextNode((ContainerSchemaNode) potential);
         } else if (potential instanceof ListSchemaNode) {
index dc0407afd2aef9d0ad98c23c235ec2139d1078c3..d7a14c5020682d09844d4b00cbb5fec35f6b38b2 100644 (file)
@@ -11,7 +11,6 @@ import com.google.common.cache.CacheBuilder;
 import com.google.common.cache.CacheLoader;
 import com.google.common.cache.LoadingCache;
 import java.util.Optional;
-import javax.annotation.Nonnull;
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
@@ -30,7 +29,7 @@ public final class DataSchemaContextTree {
     private static final LoadingCache<SchemaContext, DataSchemaContextTree> TREES = CacheBuilder.newBuilder()
             .weakKeys().weakValues().build(new CacheLoader<SchemaContext, DataSchemaContextTree>() {
                 @Override
-                public DataSchemaContextTree load(@Nonnull final SchemaContext key) throws Exception {
+                public DataSchemaContextTree load(final SchemaContext key) throws Exception {
                     return new DataSchemaContextTree(key);
                 }
             });
@@ -41,7 +40,7 @@ public final class DataSchemaContextTree {
         root = DataSchemaContextNode.from(ctx);
     }
 
-    @Nonnull public static DataSchemaContextTree from(@Nonnull final SchemaContext ctx) {
+    public static @NonNull DataSchemaContextTree from(final @NonNull SchemaContext ctx) {
         return TREES.getUnchecked(ctx);
     }
 
index 7676d4c4589971d4d8273ee55bb3640e45db63ab..60966454b8993b0169c86f3335d250e3b7eabed3 100644 (file)
@@ -11,8 +11,8 @@ import com.google.common.annotations.Beta;
 import com.google.common.collect.Interner;
 import com.google.common.collect.Interners;
 import java.util.Objects;
-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.LeafNode;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
@@ -67,7 +67,7 @@ public final class LeafInterner {
      * @param schema The leaf node's schema
      * @return An interner instance
      */
-    @Nonnull public static <T extends LeafNode<?>> Interner<T> forSchema(@Nullable final LeafSchemaNode schema) {
+    @NonNull public static <T extends LeafNode<?>> Interner<T> forSchema(final @Nullable LeafSchemaNode schema) {
         if (schema != null && isLowCardinality(schema.getType())) {
             return LeafInterner::intern;
         }
index 9d213c55853e1bc48ba88d85fed55cf1f2d469c9..03b00c881550a4bdeb4769d93c3d98919e1afebe 100644 (file)
@@ -10,8 +10,8 @@ package org.opendaylight.yangtools.yang.data.util;
 import com.google.common.annotations.Beta;
 import com.google.common.collect.Interner;
 import com.google.common.collect.Interners;
-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.LeafSetEntryNode;
 import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
@@ -46,7 +46,7 @@ public final class LeafsetEntryInterner {
     }
 
     @SuppressWarnings("static-method")
-    public <T extends LeafSetEntryNode<?>> T intern(@Nonnull final T sample) {
+    public <T extends LeafSetEntryNode<?>> @NonNull T intern(final @NonNull T sample) {
         if (!sample.getAttributes().isEmpty()) {
             // Non-empty attributes, do not intern
             return sample;
@@ -69,7 +69,7 @@ public final class LeafsetEntryInterner {
      * @param schema Schema of the parent leaf set
      * @return An interner instance, or null if the leafset's type should not be interned.
      */
-    @Nullable public static LeafsetEntryInterner forSchema(@Nullable final LeafListSchemaNode schema) {
+    public static @Nullable LeafsetEntryInterner forSchema(final @Nullable LeafListSchemaNode schema) {
         if (schema != null) {
             final TypeDefinition<?> type = schema.getType();
             if (type instanceof BooleanTypeDefinition || type instanceof EnumTypeDefinition
index d42bb3ac10e398da2d510d4dbbbae4df0544630e..f931175bf6c9709e31065562e308817f70af9e41 100644 (file)
@@ -12,7 +12,7 @@ import static java.util.Objects.requireNonNull;
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.net.URI;
 import java.util.Iterator;
-import javax.annotation.Nonnull;
+import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.common.QNameModule;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
@@ -23,14 +23,14 @@ public abstract class ModuleStringIdentityrefCodec extends AbstractModuleStringI
     @SuppressFBWarnings("URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
     protected final QNameModule parentModuleQname;
 
-    protected ModuleStringIdentityrefCodec(@Nonnull final SchemaContext context,
-            @Nonnull final QNameModule parentModule) {
+    protected ModuleStringIdentityrefCodec(final @NonNull SchemaContext context,
+            final @NonNull QNameModule parentModule) {
         this.context = requireNonNull(context);
         this.parentModuleQname = requireNonNull(parentModule);
     }
 
     @Override
-    protected String prefixForNamespace(@Nonnull final URI namespace) {
+    protected String prefixForNamespace(final URI namespace) {
         final Iterator<Module> modules = context.findModules(namespace).iterator();
         return modules.hasNext() ? modules.next().getName() : null;
     }
index b524271f1479c0cb1eec23667a54fabed2df7451..ee9a00352924198389c0f6342360cef87c540bbe 100644 (file)
@@ -10,11 +10,9 @@ package org.opendaylight.yangtools.yang.data.util;
 import com.google.common.collect.ImmutableSet;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
 import java.util.Set;
-import javax.annotation.Nonnull;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.ActionDefinition;
 import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
@@ -28,11 +26,9 @@ import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 import org.opendaylight.yangtools.yang.model.api.Status;
 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
-import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.UsesNode;
 
 public final class RpcAsContainer implements ContainerSchemaNode {
-
     private final RpcDefinition delegate;
 
     @Override
@@ -55,7 +51,6 @@ public final class RpcAsContainer implements ContainerSchemaNode {
         return delegate.getGroupings();
     }
 
-    @Nonnull
     @Override
     public Status getStatus() {
         return delegate.getStatus();
@@ -73,24 +68,16 @@ public final class RpcAsContainer implements ContainerSchemaNode {
         delegate = parentNode;
     }
 
-    @Nonnull
     @Override
     public QName getQName() {
         return delegate.getQName();
     }
 
-    @Nonnull
     @Override
     public SchemaPath getPath() {
         return delegate.getPath();
     }
 
-    @Nonnull
-    @Override
-    public List<UnknownSchemaNode> getUnknownSchemaNodes() {
-        return Collections.emptyList();
-    }
-
     @Override
     public Optional<DataSchemaNode> findDataChildByName(final QName name) {
         // FIXME: check QNameModule
@@ -106,12 +93,12 @@ public final class RpcAsContainer implements ContainerSchemaNode {
 
     @Override
     public Set<UsesNode> getUses() {
-        return Collections.emptySet();
+        return ImmutableSet.of();
     }
 
     @Override
     public Set<AugmentationSchemaNode> getAvailableAugmentations() {
-        return Collections.emptySet();
+        return ImmutableSet.of();
     }
 
     @Override
index 702d11b86a5d0052e47607562c85067f5e148940..dd82534c5b2a023b7fc9357457c02feb81d478ae 100644 (file)
@@ -8,8 +8,8 @@
 package org.opendaylight.yangtools.yang.data.util.codec;
 
 import com.google.common.annotations.Beta;
-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.model.api.TypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.TypedDataSchemaNode;
 
@@ -28,7 +28,7 @@ public abstract class CodecCache<T> {
      * @param schema Schema node
      * @return Cached codec, or null if no codec is cached.
      */
-    @Nullable abstract T lookupComplex(TypedDataSchemaNode schema);
+    abstract @Nullable T lookupComplex(TypedDataSchemaNode schema);
 
     /**
      * Lookup a simple codec for a type definition.
@@ -36,7 +36,7 @@ public abstract class CodecCache<T> {
      * @param type Type definition
      * @return Cached codec, or null if no codec is cached.
      */
-    @Nullable abstract T lookupSimple(TypeDefinition<?> type);
+    abstract @Nullable T lookupSimple(TypeDefinition<?> type);
 
     /**
      * Lookup-or-store a complex codec for a particular schema node.
@@ -45,7 +45,7 @@ public abstract class CodecCache<T> {
      * @param codec Codec to cache
      * @return Codec instance, either already-cached, or the codec presented as argument.
      */
-    @Nonnull abstract T getComplex(TypedDataSchemaNode schema, T codec);
+    abstract @NonNull T getComplex(TypedDataSchemaNode schema, T codec);
 
     /**
      * Lookup-or-store a simple codec for a particular schema node.
@@ -54,5 +54,5 @@ public abstract class CodecCache<T> {
      * @param codec Codec to cache
      * @return Codec instance, either already-cached, or the codec presented as argument.
      */
-    @Nonnull abstract T getSimple(TypeDefinition<?> type, T codec);
+    abstract @NonNull T getSimple(TypeDefinition<?> type, T codec);
 }