From: Robert Varga Date: Wed, 27 Apr 2022 19:31:45 +0000 (+0200) Subject: Clean up yang-xpath-impl warnings X-Git-Tag: v9.0.0~107 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=yangtools.git;a=commitdiff_plain;h=973291f2cbf36233db82096856131ec63ee1728e Clean up yang-xpath-impl warnings Disconnect the DI implementation and add some javadocs. Change-Id: I97f588d3d01a2d3f0a6a410d63c6b671550ebf4b Signed-off-by: Robert Varga --- diff --git a/xpath/yang-xpath-impl/pom.xml b/xpath/yang-xpath-impl/pom.xml index b84b4620a9..f27c86d15b 100644 --- a/xpath/yang-xpath-impl/pom.xml +++ b/xpath/yang-xpath-impl/pom.xml @@ -17,7 +17,6 @@ yang-xpath-impl - 9.0.0-SNAPSHOT jar ${project.artifactId} YANG XPath parser diff --git a/xpath/yang-xpath-impl/src/main/java/module-info.java b/xpath/yang-xpath-impl/src/main/java/module-info.java index 2dd0c08780..7463ee40af 100644 --- a/xpath/yang-xpath-impl/src/main/java/module-info.java +++ b/xpath/yang-xpath-impl/src/main/java/module-info.java @@ -8,20 +8,23 @@ import org.opendaylight.yangtools.yang.xpath.api.YangXPathParserFactory; import org.opendaylight.yangtools.yang.xpath.impl.AntlrXPathParserFactory; +/** + * Reference implementation of YANG XPath parser. + */ module org.opendaylight.yangtools.yang.xpath.impl { exports org.opendaylight.yangtools.yang.xpath.impl.di; provides YangXPathParserFactory with AntlrXPathParserFactory; + requires transitive org.opendaylight.yangtools.yang.xpath.api; requires java.xml; requires org.antlr.antlr4.runtime; requires org.opendaylight.yangtools.yang.common; - requires org.opendaylight.yangtools.yang.xpath.api; requires org.slf4j; // Annotations + requires static transitive javax.inject; requires static com.github.spotbugs.annotations; - requires static javax.inject; requires static org.eclipse.jdt.annotation; requires static org.kohsuke.metainf_services; requires static org.osgi.service.component.annotations; diff --git a/xpath/yang-xpath-impl/src/main/java/org/opendaylight/yangtools/yang/xpath/impl/AntlrXPathParserFactory.java b/xpath/yang-xpath-impl/src/main/java/org/opendaylight/yangtools/yang/xpath/impl/AntlrXPathParserFactory.java index cf0b87ab33..249f14d806 100644 --- a/xpath/yang-xpath-impl/src/main/java/org/opendaylight/yangtools/yang/xpath/impl/AntlrXPathParserFactory.java +++ b/xpath/yang-xpath-impl/src/main/java/org/opendaylight/yangtools/yang/xpath/impl/AntlrXPathParserFactory.java @@ -23,23 +23,22 @@ import org.slf4j.LoggerFactory; @MetaInfServices @Component(immediate = true) -public class AntlrXPathParserFactory implements YangXPathParserFactory { +public final class AntlrXPathParserFactory implements YangXPathParserFactory { private static final Logger LOG = LoggerFactory.getLogger(AntlrXPathParserFactory.class); @Override - public final YangXPathParser newParser(final YangXPathMathMode mathMode) { + public YangXPathParser newParser(final YangXPathMathMode mathMode) { return new AntlrXPathParser.Base(mathMode); } @Override - public final QualifiedBound newParser(final YangXPathMathMode mathMode, - final YangNamespaceContext namespaceContext) { + public QualifiedBound newParser(final YangXPathMathMode mathMode, final YangNamespaceContext namespaceContext) { return new AntlrXPathParser.Qualified(mathMode, namespaceContext); } @Override - public final UnqualifiedBound newParser(final YangXPathMathMode mathMode, - final YangNamespaceContext namespaceContext, final QNameModule defaultNamespace) { + public UnqualifiedBound newParser(final YangXPathMathMode mathMode, final YangNamespaceContext namespaceContext, + final QNameModule defaultNamespace) { return new AntlrXPathParser.Unqualified(mathMode, namespaceContext, defaultNamespace); } diff --git a/xpath/yang-xpath-impl/src/main/java/org/opendaylight/yangtools/yang/xpath/impl/di/DefaultXPathParserFactory.java b/xpath/yang-xpath-impl/src/main/java/org/opendaylight/yangtools/yang/xpath/impl/di/DefaultXPathParserFactory.java index 83e0a0e182..81a444057e 100644 --- a/xpath/yang-xpath-impl/src/main/java/org/opendaylight/yangtools/yang/xpath/impl/di/DefaultXPathParserFactory.java +++ b/xpath/yang-xpath-impl/src/main/java/org/opendaylight/yangtools/yang/xpath/impl/di/DefaultXPathParserFactory.java @@ -9,12 +9,44 @@ package org.opendaylight.yangtools.yang.xpath.impl.di; import javax.inject.Inject; import javax.inject.Singleton; +import org.opendaylight.yangtools.yang.common.QNameModule; +import org.opendaylight.yangtools.yang.common.YangNamespaceContext; +import org.opendaylight.yangtools.yang.xpath.api.YangXPathMathMode; +import org.opendaylight.yangtools.yang.xpath.api.YangXPathParser; +import org.opendaylight.yangtools.yang.xpath.api.YangXPathParser.QualifiedBound; +import org.opendaylight.yangtools.yang.xpath.api.YangXPathParser.UnqualifiedBound; +import org.opendaylight.yangtools.yang.xpath.api.YangXPathParserFactory; import org.opendaylight.yangtools.yang.xpath.impl.AntlrXPathParserFactory; +/** + * Default implementation of {@link YangXPathParserFactory} for {@code javax.inject}-based dependency injection + * frameworks. + */ @Singleton -public final class DefaultXPathParserFactory extends AntlrXPathParserFactory { +public final class DefaultXPathParserFactory implements YangXPathParserFactory { + private final AntlrXPathParserFactory delegate = new AntlrXPathParserFactory(); + + /** + * Construct a parser factory. + */ @Inject public DefaultXPathParserFactory() { // Noop } + + @Override + public YangXPathParser newParser(YangXPathMathMode mathMode) { + return delegate.newParser(mathMode); + } + + @Override + public QualifiedBound newParser(final YangXPathMathMode mathMode, final YangNamespaceContext namespaceContext) { + return delegate.newParser(mathMode, namespaceContext); + } + + @Override + public UnqualifiedBound newParser(final YangXPathMathMode mathMode, final YangNamespaceContext namespaceContext, + final QNameModule defaultNamespace) { + return delegate.newParser(mathMode, namespaceContext, defaultNamespace); + } }