Resolve Bug:448 - Remove yang-store api and impl.
authorTomas Olvecky <tolvecky@cisco.com>
Mon, 10 Mar 2014 08:56:13 +0000 (09:56 +0100)
committerTomas Olvecky <tolvecky@cisco.com>
Wed, 12 Mar 2014 14:34:31 +0000 (15:34 +0100)
Depends on yangtools commit https://git.opendaylight.org/gerrit/#/c/5579/ .
Instead of having multiple bundle trackers for config and netconf, keep only
one. Each bundle containing yang files should use sal code generator, which
generates YangModuleInfo objects. Using this instead of speculatively having
to parse all current yang files for each adding bundle event allows not having
to deal with broken yang dependencies when bundle events come in wrong order.
Put SchemaContextProvider to OSGi SR in config-manager, so that any bundle
working with yang can use it. This replaces too specific YangStoreService which
was coupled with yang-jmx-generator. Users can listen for changes directly
on OSGi SR - they receive service changed event when yang module is added or
removed.

Change-Id: Iabcb35929a1eeef0df328f3f948d70e1bfcbba0d
Signed-off-by: Tomas Olvecky <tolvecky@cisco.com>
opendaylight/md-sal/sal-binding-broker/pom.xml
opendaylight/md-sal/sal-dom-api/pom.xml
opendaylight/md-sal/sal-dom-broker/pom.xml
opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/impl/SchemaContextProvider.java

index ad4a1ee200501ceaa5d5647a5f507afbd19e61e2..dea455bfa1a53e3f7c02175c99905747098a9620 100644 (file)
                                         </namespaceToPackage1>
                                     </additionalConfiguration>
                                 </generator>
+
+                                <generator>
+                                    <codeGeneratorClass>
+                                        org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl
+                                    </codeGeneratorClass>
+                                    <outputBaseDir>
+                                        ${salGeneratorPath}
+                                    </outputBaseDir>
+                                </generator>
+
+
                                 <generator>
                                     <codeGeneratorClass>org.opendaylight.yangtools.yang.unified.doc.generator.maven.DocumentationGeneratorImpl</codeGeneratorClass>
                                     <outputBaseDir>target/site/models</outputBaseDir>
                             org.opendaylight.controller.sal.binding.codegen.*,
                             <!--org.opendaylight.controller.sal.binding.dom.*,-->
                             org.opendaylight.controller.sal.binding.osgi.*,
+                            org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.binding.impl.rev131028
                         </Private-Package>
                     </instructions>
                 </configuration>
index 9eadce3ed7cb0d35885f3239637ee0478b150002..15932d56cedf1df6cc76ca35a323bcd28cdc8992 100644 (file)
                                         </namespaceToPackage1>
                                     </additionalConfiguration>
                                 </generator>
+                                <generator>
+                                    <codeGeneratorClass>
+                                        org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl
+                                    </codeGeneratorClass>
+                                    <outputBaseDir>
+                                        ${salGeneratorPath}
+                                    </outputBaseDir>
+                                </generator>
+                                <generator>
+                                    <codeGeneratorClass>
+                                        org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl
+                                    </codeGeneratorClass>
+                                    <outputBaseDir>
+                                        ${salGeneratorPath}
+                                    </outputBaseDir>
+                                </generator>
                                 <generator>
                                     <codeGeneratorClass>org.opendaylight.yangtools.yang.unified.doc.generator.maven.DocumentationGeneratorImpl</codeGeneratorClass>
                                     <outputBaseDir>target/site/models</outputBaseDir>
index 225281e7a400fa3aefb3c0d38c85b08c48b77daa..d192bea54036ff62d3680c8561e816b330fbebbb 100644 (file)
                                         </namespaceToPackage1>
                                     </additionalConfiguration>
                                 </generator>
+                                <generator>
+                                    <codeGeneratorClass>
+                                        org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl
+                                    </codeGeneratorClass>
+                                    <outputBaseDir>
+                                        ${salGeneratorPath}
+                                    </outputBaseDir>
+                                </generator>
                                 <generator>
                                     <codeGeneratorClass>org.opendaylight.yangtools.yang.unified.doc.generator.maven.DocumentationGeneratorImpl</codeGeneratorClass>
                                     <outputBaseDir>target/site/models</outputBaseDir>
                             org.opendaylight.controller.sal.dom.broker.util,
                             org.opendaylight.controller.config.yang.md.sal.dom.impl,
                             org.opendaylight.controller.config.yang.md.sal.dom.statistics,
-                            org.opendaylight.yangtools.yang.util
+                            org.opendaylight.yangtools.yang.util,
+                            org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.dom.impl.rev131028.*
                         </Private-Package>
                         <Import-Package>
                             *
index fc8ccd674614a355de65c54a3149b9ac56207067..e49a28d8e07217afb0bca0dfac26fc065842e9f8 100644 (file)
@@ -7,10 +7,10 @@
  */
 package org.opendaylight.controller.sal.dom.broker.impl;
 
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-
-public interface SchemaContextProvider {
-
-    SchemaContext getSchemaContext();
+/**
+ * @deprecated Use org.opendaylight.yangtools.yang.model.api.SchemaContextProvider instead
+ */
+@Deprecated
+public interface SchemaContextProvider extends org.opendaylight.yangtools.yang.model.api.SchemaContextProvider{
 
 }