Migrate XPath-related interfaces to JDT 34/77234/7
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 23 Oct 2018 21:49:06 +0000 (23:49 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 24 Oct 2018 09:20:33 +0000 (11:20 +0200)
Rather than using JSR305 annotations, use JDT equivalents.

Change-Id: I76025f02f74a326fef1e72b6fb768897b68b33f7
JIRA: YANGTOOLS-907
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/xpath/XPathExpression.java
yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/xpath/XPathSchemaContext.java
yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/xpath/XPathSchemaContextFactory.java
yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/ConverterNamespaceContext.java
yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenSchemaContext.java
yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenSchemaContextFactory.java
yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenXPath.java

index c372367779f1c8817e4b94aa9ca133f8191fddb7..8c3c8d254bb82eabbafefaad4d2ce273b221824d 100644 (file)
@@ -9,8 +9,8 @@ package org.opendaylight.yangtools.yang.data.api.schema.xpath;
 
 import com.google.common.annotations.Beta;
 import java.util.Optional;
-import javax.annotation.Nonnull;
 import javax.xml.xpath.XPathExpressionException;
+import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 
@@ -33,7 +33,7 @@ public interface XPathExpression {
      * @throws XPathExpressionException if the expression cannot be evaluated
      * @throws IllegalArgumentException if the path does not match the path at which this expression was compiled
      */
-    Optional<? extends XPathResult<?>> evaluate(@Nonnull XPathDocument document, @Nonnull YangInstanceIdentifier path)
+    Optional<? extends XPathResult<?>> evaluate(@NonNull XPathDocument document, @NonNull YangInstanceIdentifier path)
             throws XPathExpressionException;
 
     /**
@@ -42,7 +42,7 @@ public interface XPathExpression {
      *
      * @return The evaluation {@link SchemaPath}
      */
-    @Nonnull SchemaPath getEvaluationPath();
+    @NonNull SchemaPath getEvaluationPath();
 
     /**
      * Return the SchemaPath of the topmost node which affects the result of evaluation of this expression. This
@@ -54,5 +54,5 @@ public interface XPathExpression {
      * @return The apex node evaluation of this expression can reference, or {@link SchemaPath#ROOT} if it cannot
      *         cannot be conclusively determined.
      */
-    @Nonnull SchemaPath getApexPath();
+    @NonNull SchemaPath getApexPath();
 }
index a5c5ea0a3c97e5255fd9e23d9e3307d4d7603ef8..0f8541a738e56bde6435ae755cacc1450d063fba 100644 (file)
@@ -9,8 +9,8 @@ package org.opendaylight.yangtools.yang.data.api.schema.xpath;
 
 import com.google.common.annotations.Beta;
 import com.google.common.base.Converter;
-import javax.annotation.Nonnull;
 import javax.xml.xpath.XPathExpressionException;
+import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.common.QNameModule;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
@@ -35,8 +35,8 @@ public interface XPathSchemaContext {
      * @throws XPathExpressionException if the provided expression is invalid, either syntactically or by referencing
      *         namespaces unknown to this schema context.
      */
-    @Nonnull XPathExpression compileExpression(@Nonnull SchemaPath schemaPath,
-            Converter<String, QNameModule> prefixes, @Nonnull String xpath) throws XPathExpressionException;
+    @NonNull XPathExpression compileExpression(@NonNull SchemaPath schemaPath,
+            @NonNull Converter<String, QNameModule> prefixes, @NonNull String xpath) throws XPathExpressionException;
 
     /**
      * Create a new document context.
@@ -45,5 +45,5 @@ public interface XPathSchemaContext {
      * @return A new {@link XPathDocument} on which queries may be executed.
      * @throws IllegalArgumentException if the document root is not known to this schema context.
      */
-    @Nonnull XPathDocument createDocument(@Nonnull NormalizedNode<?, ?> documentRoot);
+    @NonNull XPathDocument createDocument(@NonNull NormalizedNode<?, ?> documentRoot);
 }
index fb0e1e97a138daf58664ba5272719d1c9755aa31..06669747c55e9ecfd76d3281ec5f7e857358c473 100644 (file)
@@ -7,7 +7,7 @@
  */
 package org.opendaylight.yangtools.yang.data.api.schema.xpath;
 
-import javax.annotation.Nonnull;
+import org.eclipse.jdt.annotation.NonNullByDefault;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 
 /**
@@ -18,6 +18,7 @@ import org.opendaylight.yangtools.yang.model.api.SchemaContext;
  * <p>
  * Implementations are required to support {@link java.util.ServiceLoader}.
  */
+@NonNullByDefault
 public interface XPathSchemaContextFactory {
     /**
      * Create an {@link XPathSchemaContext} based on a {@link SchemaContext}. This effectively binds the namespaces
@@ -27,5 +28,5 @@ public interface XPathSchemaContextFactory {
      * @param context SchemaContext associated with the resulting {@link XPathSchemaContext}
      * @return An {@link XPathSchemaContext} instance
      */
-    @Nonnull XPathSchemaContext createContext(@Nonnull SchemaContext context);
+    XPathSchemaContext createContext(SchemaContext context);
 }
index 33c43179fc43b322ed2359e540bb97351557940f..959a2b695d64a317ea8752c4e282efca6ac5509e 100644 (file)
@@ -10,13 +10,13 @@ package org.opendaylight.yangtools.yang.data.jaxen;
 import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.Converter;
-import javax.annotation.Nonnull;
+import org.eclipse.jdt.annotation.NonNull;
 import org.jaxen.NamespaceContext;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.QNameModule;
 
 final class ConverterNamespaceContext extends Converter<String, QNameModule> implements NamespaceContext {
-    private final Converter<String, QNameModule> delegate;
+    private final @NonNull Converter<String, QNameModule> delegate;
 
     ConverterNamespaceContext(final Converter<String, QNameModule> converter) {
         this.delegate = requireNonNull(converter);
@@ -24,13 +24,13 @@ final class ConverterNamespaceContext extends Converter<String, QNameModule> imp
 
     @Override
     @SuppressWarnings("checkstyle:parameterName")
-    protected QNameModule doForward(@Nonnull final String a) {
+    protected QNameModule doForward(final String a) {
         return delegate.convert(a);
     }
 
     @Override
     @SuppressWarnings("checkstyle:parameterName")
-    protected String doBackward(@Nonnull final QNameModule b) {
+    protected String doBackward(final QNameModule b) {
         return delegate.reverse().convert(b);
     }
 
@@ -39,7 +39,7 @@ final class ConverterNamespaceContext extends Converter<String, QNameModule> imp
         return convert(prefix).getNamespace().toString();
     }
 
-    String jaxenQName(final QName qname) {
+    @NonNull String jaxenQName(final QName qname) {
         return reverse().convert(qname.getModule()) + ':' + qname.getLocalName();
     }
 }
index ef8aed55665df198ff8d09a56f586a27a7aa4a35..9683b4866400b6251080dc45fae4475511cd6e6b 100644 (file)
@@ -10,8 +10,8 @@ package org.opendaylight.yangtools.yang.data.jaxen;
 import static java.util.Objects.requireNonNull;
 
 import com.google.common.base.Converter;
-import javax.annotation.Nonnull;
 import javax.xml.xpath.XPathExpressionException;
+import org.eclipse.jdt.annotation.NonNullByDefault;
 import org.jaxen.JaxenException;
 import org.opendaylight.yangtools.yang.common.QNameModule;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
@@ -22,6 +22,7 @@ import org.opendaylight.yangtools.yang.data.util.DataSchemaContextTree;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 
+@NonNullByDefault
 final class JaxenSchemaContext implements XPathSchemaContext {
     private final DataSchemaContextTree tree;
     private final SchemaContext context;
@@ -31,11 +32,9 @@ final class JaxenSchemaContext implements XPathSchemaContext {
         this.tree = DataSchemaContextTree.from(context);
     }
 
-    @Nonnull
     @Override
-    public XPathExpression compileExpression(@Nonnull final SchemaPath schemaPath,
-            final Converter<String, QNameModule> prefixes, @Nonnull final String xpath)
-            throws XPathExpressionException {
+    public XPathExpression compileExpression(final SchemaPath schemaPath,
+            final Converter<String, QNameModule> prefixes, final String xpath) throws XPathExpressionException {
         try {
             return JaxenXPath.create(prefixes, schemaPath, xpath);
         } catch (JaxenException e) {
@@ -43,9 +42,8 @@ final class JaxenSchemaContext implements XPathSchemaContext {
         }
     }
 
-    @Nonnull
     @Override
-    public XPathDocument createDocument(@Nonnull final NormalizedNode<?, ?> documentRoot) {
+    public XPathDocument createDocument(final NormalizedNode<?, ?> documentRoot) {
         return new JaxenDocument(context, tree, documentRoot);
     }
 }
index 4578585f24709c772865e7a23e171201be538716..0611ca7ffa4d397b30d04b000d518036d4c100a8 100644 (file)
@@ -7,17 +7,17 @@
  */
 package org.opendaylight.yangtools.yang.data.jaxen;
 
-import javax.annotation.Nonnull;
+import org.eclipse.jdt.annotation.NonNullByDefault;
 import org.kohsuke.MetaInfServices;
 import org.opendaylight.yangtools.yang.data.api.schema.xpath.XPathSchemaContext;
 import org.opendaylight.yangtools.yang.data.api.schema.xpath.XPathSchemaContextFactory;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 
 @MetaInfServices
+@NonNullByDefault
 public final class JaxenSchemaContextFactory implements XPathSchemaContextFactory {
-    @Nonnull
     @Override
-    public XPathSchemaContext createContext(@Nonnull final SchemaContext context) {
+    public XPathSchemaContext createContext(final SchemaContext context) {
         return new JaxenSchemaContext(context);
     }
 }
index 0eb03a1e05c7c1360ca50f9bcd5decf5119bdacf..e44d14046c4edcbb5af82ee8e81a5d1429875465 100644 (file)
@@ -16,8 +16,8 @@ import com.google.common.collect.Lists;
 import java.util.AbstractMap.SimpleImmutableEntry;
 import java.util.List;
 import java.util.Optional;
-import javax.annotation.Nonnull;
 import javax.xml.xpath.XPathExpressionException;
+import org.eclipse.jdt.annotation.NonNull;
 import org.jaxen.JaxenException;
 import org.jaxen.JaxenHandler;
 import org.jaxen.XPathSyntaxException;
@@ -40,21 +40,21 @@ import org.slf4j.LoggerFactory;
 final class JaxenXPath implements XPathExpression {
     private static final Logger LOG = LoggerFactory.getLogger(JaxenXPath.class);
 
-    private final Converter<String, QNameModule> converter;
-    private final SchemaPath schemaPath;
-    private final Expr expr;
+    private final @NonNull Converter<String, QNameModule> converter;
+    private final @NonNull SchemaPath schemaPath;
+    private final @NonNull Expr expr;
 
-    private JaxenXPath(final Converter<String, QNameModule> converter, final SchemaPath schemaPath,
-            final Expr expr) {
+    private JaxenXPath(final @NonNull Converter<String, QNameModule> converter, final @NonNull SchemaPath schemaPath,
+            final @NonNull Expr expr) {
         this.converter = requireNonNull(converter);
         this.schemaPath = requireNonNull(schemaPath);
         this.expr = requireNonNull(expr);
     }
 
-    static JaxenXPath create(final Converter<String, QNameModule> converter, final SchemaPath schemaPath,
-            final String xpath) throws JaxenException {
+    static @NonNull JaxenXPath create(final @NonNull Converter<String, QNameModule> converter,
+            final @NonNull SchemaPath schemaPath, final @NonNull String xpath) throws JaxenException {
 
-        final Expr parsed;
+        final @NonNull Expr parsed;
         try {
             final XPathReader reader = new org.jaxen.saxpath.base.XPathReader();
             final JaxenHandler handler = new JaxenHandler();
@@ -77,8 +77,8 @@ final class JaxenXPath implements XPathExpression {
     }
 
     @Override
-    public Optional<? extends XPathResult<?>> evaluate(@Nonnull final XPathDocument document,
-            @Nonnull final YangInstanceIdentifier path) throws XPathExpressionException {
+    public Optional<? extends XPathResult<?>> evaluate(final XPathDocument document,
+            final YangInstanceIdentifier path) throws XPathExpressionException {
         checkArgument(document instanceof JaxenDocument);
 
         final NormalizedNodeContextSupport contextSupport = NormalizedNodeContextSupport.create(
@@ -126,13 +126,11 @@ final class JaxenXPath implements XPathExpression {
         return result;
     }
 
-    @Nonnull
     @Override
     public SchemaPath getEvaluationPath() {
         return schemaPath;
     }
 
-    @Nonnull
     @Override
     public SchemaPath getApexPath() {
         // TODO: improve this