Remove JSR305 annotations from yang-data-codec-xml 67/79267/1
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 7 Jan 2019 10:06:53 +0000 (11:06 +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: Ife00f06b20b562f62514f8fbd2e36e3179223857
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-data-codec-xml/pom.xml
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/RandomPrefixInstanceIdentifierSerializer.java
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemaAwareXMLStreamNormalizedNodeStreamWriter.java
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemaAwareXMLStreamWriterUtils.java
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemalessXMLStreamNormalizedNodeStreamWriter.java
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XMLStreamNormalizedNodeStreamWriter.java
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XMLStreamWriterUtils.java
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlStringInstanceIdentifierCodec.java
yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLDeserializationTest.java

index 20552cba8b393b0322528be4f5fb627abe9d5d98..cac0a7b32d135db41853fd69ec55bc91cbe7eef9 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 550bb9b1a289fe73fbdcb3d44d6e46a1c1d036ec..6a666a0da0257bec3ada701eb74fe4a8cdea5b1e 100644 (file)
@@ -9,18 +9,19 @@ package org.opendaylight.yangtools.yang.data.codec.xml;
 
 import java.net.URI;
 import java.util.Map.Entry;
-import javax.annotation.Nonnull;
 import javax.xml.namespace.NamespaceContext;
+import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.util.AbstractStringInstanceIdentifierCodec;
 import org.opendaylight.yangtools.yang.data.util.DataSchemaContextTree;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 
 final class RandomPrefixInstanceIdentifierSerializer extends AbstractStringInstanceIdentifierCodec {
-    private final DataSchemaContextTree schemaTree;
+    private final @NonNull DataSchemaContextTree schemaTree;
     private final RandomPrefix prefixes;
 
-    RandomPrefixInstanceIdentifierSerializer(final SchemaContext schemaContext, final NamespaceContext nsContext) {
+    RandomPrefixInstanceIdentifierSerializer(final @NonNull SchemaContext schemaContext,
+        final NamespaceContext nsContext) {
         schemaTree = DataSchemaContextTree.from(schemaContext);
         prefixes = new RandomPrefix(nsContext);
     }
@@ -30,19 +31,17 @@ final class RandomPrefixInstanceIdentifierSerializer extends AbstractStringInsta
     }
 
     @Override
-    protected String prefixForNamespace(@Nonnull final URI namespace) {
+    protected String prefixForNamespace(final URI namespace) {
         return prefixes.encodePrefix(namespace);
     }
 
     @Override
-    protected QName createQName(@Nonnull final String prefix, @Nonnull final String localName) {
+    protected QName createQName(final String prefix, final String localName) {
         throw new UnsupportedOperationException("Not implemented");
     }
 
-    @Nonnull
     @Override
     protected DataSchemaContextTree getDataContextTree() {
         return schemaTree;
     }
-
 }
index dd0701fc6c0b6bce79dec13c6d0fa063a89dda64..5c9a69ce5ac24398a2cb8465d49e3492754fadb2 100644 (file)
@@ -11,7 +11,6 @@ package org.opendaylight.yangtools.yang.data.codec.xml;
 import java.io.IOException;
 import java.util.Collections;
 import java.util.Map;
-import javax.annotation.Nonnull;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamWriter;
 import org.opendaylight.yangtools.yang.common.QName;
@@ -48,7 +47,7 @@ final class SchemaAwareXMLStreamNormalizedNodeStreamWriter extends XMLStreamNorm
     }
 
     @Override
-    protected void writeValue(final XMLStreamWriter xmlWriter, final QName qname, @Nonnull final Object value,
+    protected void writeValue(final XMLStreamWriter xmlWriter, final QName qname, final Object value,
             final SchemaNode schemaNode) throws IOException, XMLStreamException {
         streamUtils.writeValue(xmlWriter, schemaNode, value, qname.getModule());
     }
index fdf6c9b9e4af7173d13303ea7ed7a9a7bc4f6091..0c1a245460418527b01cf50527f47519d19d4d98 100644 (file)
@@ -14,6 +14,7 @@ import java.net.URI;
 import java.util.Map.Entry;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamWriter;
+import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.SchemaContextProvider;
@@ -23,7 +24,7 @@ import org.opendaylight.yangtools.yang.model.api.type.LeafrefTypeDefinition;
 import org.opendaylight.yangtools.yang.model.util.SchemaContextUtil;
 
 final class SchemaAwareXMLStreamWriterUtils extends XMLStreamWriterUtils implements SchemaContextProvider {
-    private final SchemaContext schemaContext;
+    private final @NonNull SchemaContext schemaContext;
 
     SchemaAwareXMLStreamWriterUtils(final SchemaContext schemaContext) {
         this.schemaContext = requireNonNull(schemaContext);
index 946018319c9f18457e70f2a169bb9b65f77bbabf..fe655db01e43f028063b36f8e58c47f47b115176 100644 (file)
@@ -12,7 +12,6 @@ import java.util.ArrayDeque;
 import java.util.Collections;
 import java.util.Deque;
 import java.util.Map;
-import javax.annotation.Nonnull;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamWriter;
 import org.opendaylight.yangtools.yang.common.QName;
@@ -102,7 +101,7 @@ final class SchemalessXMLStreamNormalizedNodeStreamWriter extends XMLStreamNorma
     }
 
     @Override
-    protected void writeValue(final XMLStreamWriter xmlWriter, final QName qname, @Nonnull final Object value,
+    protected void writeValue(final XMLStreamWriter xmlWriter, final QName qname, final Object value,
             final Object context) throws XMLStreamException {
         xmlWriter.writeCharacters(value.toString());
     }
index 0f5ab226661650ab659bdf483da3b459f50f0a86..c290cda100cfcd7dfa19d3820cab7f30e67c6fa9 100644 (file)
@@ -18,8 +18,6 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
 import javax.xml.XMLConstants;
 import javax.xml.namespace.NamespaceContext;
 import javax.xml.stream.XMLStreamException;
@@ -32,6 +30,8 @@ import javax.xml.transform.TransformerFactoryConfigurationError;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stax.StAXResult;
 import javax.xml.transform.stream.StreamResult;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
@@ -119,14 +119,14 @@ public abstract class XMLStreamNormalizedNodeStreamWriter<T> implements Normaliz
         return SchemalessXMLStreamNormalizedNodeStreamWriter.newInstance(writer);
     }
 
-    abstract void writeValue(XMLStreamWriter xmlWriter, QName qname, @Nonnull Object value, T context)
+    abstract void writeValue(XMLStreamWriter xmlWriter, QName qname, @NonNull Object value, T context)
             throws IOException, XMLStreamException;
 
     abstract void startList(NodeIdentifier name);
 
     abstract void startListItem(PathArgument name) throws IOException;
 
-    private void writeAttributes(@Nonnull final Map<QName, String> attributes) throws IOException {
+    private void writeAttributes(final @NonNull Map<QName, String> attributes) throws IOException {
         for (final Entry<QName, String> entry : attributes.entrySet()) {
             try {
                 final QName qname = entry.getKey();
@@ -171,12 +171,13 @@ public abstract class XMLStreamNormalizedNodeStreamWriter<T> implements Normaliz
         }
     }
 
-    void writeElement(final QName qname, final Object value, @Nullable final Map<QName, String> attributes,
+    void writeElement(final QName qname, final Object value, final @Nullable Map<QName, String> attributes,
             final T context) throws IOException {
         try {
             writeStartElement(qname);
-
-            writeAttributes(attributes);
+            if (attributes != null) {
+                writeAttributes(attributes);
+            }
             if (value != null) {
                 writeValue(writer, qname, value, context);
             }
index a6af3c1054793523daea826c7cff5e40d59ef479..502531261bfc93a840d80a90d18b115e73ea77e6 100644 (file)
@@ -5,16 +5,15 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.yangtools.yang.data.codec.xml;
 
 import static com.google.common.base.Preconditions.checkArgument;
 
 import com.google.common.annotations.VisibleForTesting;
 import java.util.Map.Entry;
-import javax.annotation.Nonnull;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamWriter;
+import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.QNameModule;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
@@ -54,7 +53,7 @@ abstract class XMLStreamWriterUtils {
      * @param parent module QName owning the leaf definition
      * @throws XMLStreamException if an encoding problem occurs
      */
-    void writeValue(@Nonnull final XMLStreamWriter writer, @Nonnull final SchemaNode schemaNode,
+    void writeValue(final @NonNull XMLStreamWriter writer, final @NonNull SchemaNode schemaNode,
             final Object value, final QNameModule parent) throws XMLStreamException {
         if (value == null) {
             LOG.debug("Value of {}:{} is null, not encoding it", schemaNode.getQName().getNamespace(),
@@ -84,7 +83,7 @@ abstract class XMLStreamWriterUtils {
      * @param parent optional parameter of a module QName owning the leaf definition
      * @throws XMLStreamException if an encoding problem occurs
      */
-    private void writeValue(@Nonnull final XMLStreamWriter writer, @Nonnull final TypeDefinition<?> type,
+    private void writeValue(final @NonNull XMLStreamWriter writer, final @NonNull TypeDefinition<?> type,
             final Object value, final QNameModule parent) throws XMLStreamException {
         if (value == null) {
             LOG.debug("Value of {}:{} is null, not encoding it", type.getQName().getNamespace(),
@@ -116,8 +115,8 @@ abstract class XMLStreamWriterUtils {
     }
 
     @VisibleForTesting
-    static void write(@Nonnull final XMLStreamWriter writer, @Nonnull final IdentityrefTypeDefinition type,
-                      @Nonnull final Object value, final QNameModule parent) throws XMLStreamException {
+    static void write(final @NonNull XMLStreamWriter writer, final @NonNull IdentityrefTypeDefinition type,
+            final @NonNull Object value, final QNameModule parent) throws XMLStreamException {
         if (value instanceof QName) {
             final QName qname = (QName) value;
 
@@ -138,8 +137,8 @@ abstract class XMLStreamWriterUtils {
         }
     }
 
-    private void write(@Nonnull final XMLStreamWriter writer, @Nonnull final InstanceIdentifierTypeDefinition type,
-                       @Nonnull final Object value) throws XMLStreamException {
+    private void write(final @NonNull XMLStreamWriter writer, final @NonNull InstanceIdentifierTypeDefinition type,
+            final @NonNull Object value) throws XMLStreamException {
         if (value instanceof YangInstanceIdentifier) {
             writeInstanceIdentifier(writer, (YangInstanceIdentifier)value);
         } else {
index 077141632ca419088c66ec50e8847901e8915f54..dc3aa59543a516a0ab476a018431200eb59e961c 100644 (file)
@@ -5,7 +5,6 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.yangtools.yang.data.codec.xml;
 
 import static com.google.common.base.Preconditions.checkArgument;
@@ -15,10 +14,10 @@ import java.net.URI;
 import java.util.ArrayDeque;
 import java.util.Deque;
 import java.util.Iterator;
-import javax.annotation.Nonnull;
 import javax.xml.namespace.NamespaceContext;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamWriter;
+import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.util.AbstractModuleStringInstanceIdentifierCodec;
 import org.opendaylight.yangtools.yang.data.util.DataSchemaContextTree;
@@ -32,9 +31,9 @@ final class XmlStringInstanceIdentifierCodec extends AbstractModuleStringInstanc
 
     private static final ThreadLocal<Deque<NamespaceContext>> TL_CONTEXT = new ThreadLocal<>();
 
-    private final DataSchemaContextTree dataContextTree;
-    private final XmlCodecFactory codecFactory;
-    private final SchemaContext context;
+    private final @NonNull DataSchemaContextTree dataContextTree;
+    private final @NonNull XmlCodecFactory codecFactory;
+    private final @NonNull SchemaContext context;
 
     XmlStringInstanceIdentifierCodec(final SchemaContext context, final XmlCodecFactory xmlCodecFactory) {
         this.context = requireNonNull(context);
@@ -43,19 +42,18 @@ final class XmlStringInstanceIdentifierCodec extends AbstractModuleStringInstanc
     }
 
     @Override
-    protected Module moduleForPrefix(@Nonnull final String prefix) {
+    protected Module moduleForPrefix(final String prefix) {
         final String prefixedNS = getNamespaceContext().getNamespaceURI(prefix);
         final Iterator<Module> modules = context.findModules(URI.create(prefixedNS)).iterator();
         return modules.hasNext() ? modules.next() : null;
     }
 
     @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;
     }
 
-    @Nonnull
     @Override
     protected DataSchemaContextTree getDataContextTree() {
         return dataContextTree;
index 01c0b63fe8db63b72ce9bfb33c5a3c9dc6a2a367..5a8bbda5e22130cfac755dc29c3f4fc7a5bcfb2e 100644 (file)
@@ -5,7 +5,6 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.yangtools.yang.data.codec.xml;
 
 import static org.junit.Assert.assertEquals;
@@ -15,9 +14,7 @@ import com.google.common.collect.ImmutableSet;
 import java.io.InputStream;
 import java.net.URI;
 import java.util.Collection;
-import java.util.List;
 import java.util.Optional;
-import javax.annotation.Nonnull;
 import javax.xml.stream.XMLStreamReader;
 import org.junit.Before;
 import org.junit.Test;
@@ -43,7 +40,6 @@ import org.opendaylight.yangtools.yang.model.api.RevisionAwareXPath;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 import org.opendaylight.yangtools.yang.model.api.Status;
-import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
 import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
 
 public class YangModeledAnyXMLDeserializationTest {
@@ -194,24 +190,16 @@ public class YangModeledAnyXMLDeserializationTest {
             return false;
         }
 
-        @Nonnull
         @Override
         public QName getQName() {
             return qname;
         }
 
-        @Nonnull
         @Override
         public SchemaPath getPath() {
             return null;
         }
 
-        @Nonnull
-        @Override
-        public List<UnknownSchemaNode> getUnknownSchemaNodes() {
-            return null;
-        }
-
         @Override
         public Optional<String> getDescription() {
             return Optional.empty();
@@ -222,13 +210,11 @@ public class YangModeledAnyXMLDeserializationTest {
             return Optional.empty();
         }
 
-        @Nonnull
         @Override
         public Status getStatus() {
-            return null;
+            return Status.CURRENT;
         }
 
-        @Nonnull
         @Override
         public ContainerSchemaNode getSchemaOfAnyXmlData() {
             return contentSchema;