Rather than using JSR305 annotations, use JDT equivalents.
Change-Id: I76025f02f74a326fef1e72b6fb768897b68b33f7
JIRA: YANGTOOLS-907
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
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;
* @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;
/**
*
* @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
* @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();
}
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;
* @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.
* @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);
}
*/
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;
/**
* <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
* @param context SchemaContext associated with the resulting {@link XPathSchemaContext}
* @return An {@link XPathSchemaContext} instance
*/
- @Nonnull XPathSchemaContext createContext(@Nonnull SchemaContext context);
+ XPathSchemaContext createContext(SchemaContext context);
}
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);
@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);
}
return convert(prefix).getNamespace().toString();
}
- String jaxenQName(final QName qname) {
+ @NonNull String jaxenQName(final QName qname) {
return reverse().convert(qname.getModule()) + ':' + qname.getLocalName();
}
}
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;
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;
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) {
}
}
- @Nonnull
@Override
- public XPathDocument createDocument(@Nonnull final NormalizedNode<?, ?> documentRoot) {
+ public XPathDocument createDocument(final NormalizedNode<?, ?> documentRoot) {
return new JaxenDocument(context, tree, documentRoot);
}
}
*/
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);
}
}
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;
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();
}
@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(
return result;
}
- @Nonnull
@Override
public SchemaPath getEvaluationPath() {
return schemaPath;
}
- @Nonnull
@Override
public SchemaPath getApexPath() {
// TODO: improve this