From: Robert Varga Date: Mon, 7 Jan 2019 09:39:47 +0000 (+0100) Subject: Remove JSR305 annotations from yang-data-util X-Git-Tag: v2.1.7~4 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=9d4f9c62287ef265b1bd2b7abfec95db7d7b1241;p=yangtools.git Remove JSR305 annotations from yang-data-util Ditch JSR305 annotations in favor of JDT annotations. JIRA: YANGTOOLS-907 Change-Id: Ia183995a947277ea78cb9e37e2aa1494f937c43e Signed-off-by: Robert Varga --- diff --git a/yang/yang-data-util/pom.xml b/yang/yang-data-util/pom.xml index 14e1d4e764..cd2ed50a47 100644 --- a/yang/yang-data-util/pom.xml +++ b/yang/yang-data-util/pom.xml @@ -48,15 +48,6 @@ - - org.apache.felix - maven-bundle-plugin - - - !javax.annotation,* - - - org.apache.maven.plugins maven-checkstyle-plugin diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringIdentityrefCodec.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringIdentityrefCodec.java index d2c373eea1..d2de311553 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringIdentityrefCodec.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringIdentityrefCodec.java @@ -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); diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringInstanceIdentifierCodec.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringInstanceIdentifierCodec.java index bafbbe17be..847aa68c13 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringInstanceIdentifierCodec.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringInstanceIdentifierCodec.java @@ -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); diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractNamespaceCodec.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractNamespaceCodec.java index 8e942ee499..035946af75 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractNamespaceCodec.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractNamespaceCodec.java @@ -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('['); diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringInstanceIdentifierCodec.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringInstanceIdentifierCodec.java index fd8b7eb57f..06785dac54 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringInstanceIdentifierCodec.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringInstanceIdentifierCodec.java @@ -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; diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ContainerSchemaNodes.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ContainerSchemaNodes.java index 0d2bd1a315..588c81a5f8 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ContainerSchemaNodes.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ContainerSchemaNodes.java @@ -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 getUnknownSchemaNodes() { - return ImmutableList.of(); - } - @Override public Collection getMustConstraints() { return ImmutableList.of(); diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextNode.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextNode.java index 0b7a3c9275..26555b7592 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextNode.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextNode.java @@ -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 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 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 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) { diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextTree.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextTree.java index dc0407afd2..d7a14c5020 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextTree.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextTree.java @@ -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 TREES = CacheBuilder.newBuilder() .weakKeys().weakValues().build(new CacheLoader() { @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); } diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/LeafInterner.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/LeafInterner.java index 7676d4c458..60966454b8 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/LeafInterner.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/LeafInterner.java @@ -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 > Interner forSchema(@Nullable final LeafSchemaNode schema) { + @NonNull public static > Interner forSchema(final @Nullable LeafSchemaNode schema) { if (schema != null && isLowCardinality(schema.getType())) { return LeafInterner::intern; } diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/LeafsetEntryInterner.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/LeafsetEntryInterner.java index 9d213c5585..03b00c8815 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/LeafsetEntryInterner.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/LeafsetEntryInterner.java @@ -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 intern(@Nonnull final T sample) { + public > @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 diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ModuleStringIdentityrefCodec.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ModuleStringIdentityrefCodec.java index d42bb3ac10..f931175bf6 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ModuleStringIdentityrefCodec.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ModuleStringIdentityrefCodec.java @@ -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 modules = context.findModules(namespace).iterator(); return modules.hasNext() ? modules.next().getName() : null; } diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/RpcAsContainer.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/RpcAsContainer.java index b524271f14..ee9a003529 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/RpcAsContainer.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/RpcAsContainer.java @@ -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 getUnknownSchemaNodes() { - return Collections.emptyList(); - } - @Override public Optional findDataChildByName(final QName name) { // FIXME: check QNameModule @@ -106,12 +93,12 @@ public final class RpcAsContainer implements ContainerSchemaNode { @Override public Set getUses() { - return Collections.emptySet(); + return ImmutableSet.of(); } @Override public Set getAvailableAugmentations() { - return Collections.emptySet(); + return ImmutableSet.of(); } @Override diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/codec/CodecCache.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/codec/CodecCache.java index 702d11b86a..dd82534c5b 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/codec/CodecCache.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/codec/CodecCache.java @@ -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 { * @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 { * @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 { * @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 { * @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); }