Rework LeafRefValidation 66/86566/17
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 25 Dec 2019 11:12:54 +0000 (12:12 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 26 Dec 2019 12:03:23 +0000 (13:03 +0100)
commitf20062d98b7bfdf5e6f29810a8cdcd1f2eb38e11
treef577dfff4b90b51fb00d165351d7ee5f7f663609
parent64bfbcf13fd7b6baae318361a3ffbda94418113b
Rework LeafRefValidation

This reworks LeafRefValidation in terms of interpreting XPathExpression
via exposed parsed steps. This allows us to eliminate a chunk of parsing
code, speeding the initialization process up.

QNamePredicateImpl/AbstractQNameWithPredicate are losing their Serializable
trait, as it is not really useful and tickles SpotBugs unnecessarily.

JIRA: YANGTOOLS-1051
Change-Id: I502f54052ca8bb10e6595f41ba7aca6cef9550ce
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 files changed:
yang/yang-data-impl/pom.xml
yang/yang-data-impl/src/main/antlr4/org/opendaylight/yangtools/yang/data/impl/leafref/LeafRefPathLexer.g4 [deleted file]
yang/yang-data-impl/src/main/antlr4/org/opendaylight/yangtools/yang/data/impl/leafref/LeafRefPathParser.g4 [deleted file]
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/AbstractQNameWithPredicate.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/LeafRefContextBuilder.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/LeafRefContextTreeBuilder.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/LeafRefPathErrorListener.java [deleted file]
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/LeafRefPathParserImpl.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/LeafRefPathParserListenerImpl.java [deleted file]
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/LeafRefPathSyntaxErrorException.java [deleted file]
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/QNamePredicateImpl.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/QNameWithPredicateImpl.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/SimpleQNameWithPredicate.java