Introduced advanced strategy for parsing of YANG schemas
authorTony Tkacik <ttkacik@cisco.com>
Wed, 22 Jan 2014 14:54:00 +0000 (15:54 +0100)
committerEd Warnicke <eaw@cisco.com>
Thu, 23 Jan 2014 01:04:29 +0000 (01:04 +0000)
commit4607b4a266f0a395b73f52ce1bbac677eeeb21f5
treeec19eb7d546090cee91f0d1037185d8bbe2880bc
parenta2ef6f626de44ae70069541c79f0b0bee1dbd65d
Introduced advanced strategy for parsing of YANG schemas

  - This strategy increases convergence time, because it does not
    parse files with unsatisfied dependencies.

  - New strategy for schema parsing in runtime uses two separate parser
     Minimalistic - is used when YANG source is discovered and scans only
     for module name, revision and dependency information
     Full - parses set of YANG sources and creates model representation.

     When bundle is added / removed - tracker gets yang sources,
     registers it to SchemaResolver, which immediatelly uses
     Minimalistic parser to obtain base information.

     Then context of all known sources and their dependencies is sorted
     and filtered only to use sources which has their dependencies resolved.

     Full parser is then invoked only for models, which have dependencies
     resolved.

Change-Id: Ic62fbd86929866a21f4dbd3c62e73a02d423d7bf
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/config/yang/md/sal/dom/impl/SchemaServiceImplSingletonModule.java
opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/BrokerConfigActivator.xtend
opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/SchemaServiceImpl.java
opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/impl/SchemaContextProvider.java
opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/impl/SchemaContextProviders.java [new file with mode: 0644]