Introduced advanced strategy for parsing of YANG schemas 85/4585/4
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)
commit3c6f666df68dfa61608dba4566afefb168fc7e7a
tree7a8a02f5ee13ed5a47f91a2db950ee7fa43f23eb
parentd67608349eca39dd2b4b77923b1500d25a664e52
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]