BUG-1210: refactored imports handling in parser. 92/8492/7
authorMartin Vitez <mvitez@cisco.com>
Tue, 1 Jul 2014 11:51:34 +0000 (13:51 +0200)
committerMartin Vitez <mvitez@cisco.com>
Tue, 8 Jul 2014 09:22:47 +0000 (11:22 +0200)
commitf7704dd56038f8e7e0143bb7efe1414700a4fab7
tree6b1535cb02a709aeade9a5fed547d566edbab98e
parent6d339c73680c37e73f208399acd7aa5c33426550
BUG-1210: refactored imports handling in parser.

Currently builder for module has no information about imported modules. This causes overhead because before resolving any of imported nodes
(uses, typedef, identities, augment path, deviation path...) parser needs to search whole collection of available modules to find target
module of imported node.

This patch adds information about imported modules to ModuleBuilder, so they can be available without search. Searching is performed only
once when resolving imports.

Change-Id: Ifcd4e995431165820c142e486da0466edc6abca0
Signed-off-by: Martin Vitez <mvitez@cisco.com>
13 files changed:
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/BuilderUtils.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/GroupingUtils.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ModuleBuilder.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ModuleImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/TypeUtils.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/YangParserImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/util/ModuleDependencySort.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/impl/YangParserWithContextTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/util/ModuleDependencySortTest.java
yang/yang-parser-impl/src/test/resources/augment-test/augment-in-augment/bar.yang
yang/yang-parser-impl/src/test/resources/context-augment-test/test1.yang
yang/yang-parser-impl/src/test/resources/context-test/test1.yang
yang/yang-parser-impl/src/test/resources/model/bar.yang