Implemented module dependency sort, that returns modules in order in which they shoul... 80/280/2
authorMaros Marsalek <mmarsale@cisco.com>
Tue, 30 Apr 2013 13:03:20 +0000 (15:03 +0200)
committerMaros Marsalek <mmarsale@cisco.com>
Thu, 2 May 2013 09:36:07 +0000 (11:36 +0200)
commitbb19f8f0c1d080a1232100b1a0e4ffa89f32a542
tree94e38726de6d6653b3b81402de681c84c4085743
parentc85c9112b0db092bd565bcf9e5174ecfa67ae1d2
Implemented module dependency sort, that returns modules in order in which they should be processed.
If module A imports module B, sort returns ordered list [B,A].

Implemented utility topological sort that is used by module dependency sort.
Implemented tests for both topological sort and module sort.

Removed circular dependencies from test yang files.

Change-Id: Id6230a8448b27f80146dc74bf2a8a948523408d3
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
15 files changed:
opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/Correct/pom.xml
opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/Correct/resources/model/testfile1.yang [deleted file]
opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/Correct/resources/model/testfile2.yang [deleted file]
opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/Correct_combined/pom.xml
opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/Correct_resources/pom.xml
opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/NoGenerators/pom.xml
opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/NoGenerators_resources/pom.xml
opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/UnknownGenerator/pom.xml
opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/UnknownGenerator_resources/pom.xml
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/model/parser/impl/YangModelParserImpl.java
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/model/parser/util/ModuleDependencySort.java [new file with mode: 0644]
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/model/parser/util/TopologicalSort.java [new file with mode: 0644]
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/model/parser/util/ModuleDependencySortTest.java [new file with mode: 0644]
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/model/parser/util/TopologicalSortTest.java [new file with mode: 0644]
opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/model/testfile2.yang