From: Moiz Raja Date: Thu, 12 Jun 2014 22:32:09 +0000 (-0700) Subject: Hook the Distributed Data store into the config sub-system X-Git-Tag: release/helium~654^2 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=b88648abe24fece00ddf5625b6140fa41fe9e4f0 Hook the Distributed Data store into the config sub-system Change-Id: Iceb93fb524a4d036466dd2d5ffa5a740e24bd435 Signed-off-by: Moiz Raja --- diff --git a/opendaylight/md-sal/sal-distributed-datastore/pom.xml b/opendaylight/md-sal/sal-distributed-datastore/pom.xml index 7968785df2..8acebad365 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/pom.xml +++ b/opendaylight/md-sal/sal-distributed-datastore/pom.xml @@ -35,6 +35,15 @@ akka-remote_${scala.version} + + org.opendaylight.controller + config-api + + + org.opendaylight.controller + sal-binding-api + + org.opendaylight.controller @@ -118,6 +127,34 @@ + + org.opendaylight.yangtools + yang-maven-plugin + + + config + + generate-sources + + + + + org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator + ${jmxGeneratorPath} + + urn:opendaylight:params:xml:ns:yang:controller==org.opendaylight.controller.config.yang + + + + org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl + ${salGeneratorPath} + + + true + + + + diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/config/yang/config/distributed_datastore_provider/DistributedDataStoreProviderModule.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/config/yang/config/distributed_datastore_provider/DistributedDataStoreProviderModule.java new file mode 100644 index 0000000000..38bf756cfa --- /dev/null +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/config/yang/config/distributed_datastore_provider/DistributedDataStoreProviderModule.java @@ -0,0 +1,34 @@ +package org.opendaylight.controller.config.yang.config.distributed_datastore_provider; + +import org.opendaylight.controller.cluster.datastore.DOMStoreProxy; + +public class DistributedDataStoreProviderModule extends org.opendaylight.controller.config.yang.config.distributed_datastore_provider.AbstractDistributedDataStoreProviderModule { + public DistributedDataStoreProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) { + super(identifier, dependencyResolver); + } + + public DistributedDataStoreProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, org.opendaylight.controller.config.yang.config.distributed_datastore_provider.DistributedDataStoreProviderModule oldModule, java.lang.AutoCloseable oldInstance) { + super(identifier, dependencyResolver, oldModule, oldInstance); + } + + @Override + public void customValidation() { + // add custom validation form module attributes here. + } + + @Override + public java.lang.AutoCloseable createInstance() { + new DOMStoreProxy(); + + final class AutoCloseableDistributedDataStore implements AutoCloseable { + + @Override + public void close() throws Exception { + + } + } + + return new AutoCloseableDistributedDataStore(); + } + +} diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/config/yang/config/distributed_datastore_provider/DistributedDataStoreProviderModuleFactory.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/config/yang/config/distributed_datastore_provider/DistributedDataStoreProviderModuleFactory.java new file mode 100644 index 0000000000..53ef84ebf9 --- /dev/null +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/config/yang/config/distributed_datastore_provider/DistributedDataStoreProviderModuleFactory.java @@ -0,0 +1,13 @@ +/* +* Generated file +* +* Generated from: yang module name: distributed-datastore-provider yang module local name: distributed-datastore-provider +* Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator +* Generated at: Thu Jun 12 15:23:43 PDT 2014 +* +* Do not modify this file unless it is present under src/main directory +*/ +package org.opendaylight.controller.config.yang.config.distributed_datastore_provider; +public class DistributedDataStoreProviderModuleFactory extends org.opendaylight.controller.config.yang.config.distributed_datastore_provider.AbstractDistributedDataStoreProviderModuleFactory { + +} diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/yang/distributed-datastore-provider.yang b/opendaylight/md-sal/sal-distributed-datastore/src/main/yang/distributed-datastore-provider.yang new file mode 100644 index 0000000000..0471bc806e --- /dev/null +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/yang/distributed-datastore-provider.yang @@ -0,0 +1,34 @@ +// vi: set smarttab et sw=4 tabstop=4: +module distributed-datastore-provider { + + yang-version 1; + namespace "urn:opendaylight:params:xml:ns:yang:controller:config:distributed-datastore-provider"; + prefix "distributed-datastore-provider"; + + import config { prefix config; revision-date 2013-04-05; } + import rpc-context { prefix rpcx; revision-date 2013-06-17; } + + description + "This module contains the base YANG definitions for + the distributed datastore provider implementation"; + + revision "2014-06-12" { + description + "Initial revision."; + } + + // This is the definition of the service implementation as a module identity. + identity distributed-datastore-provider { + base config:module-type; + + // Specifies the prefix for generated java classes. + config:java-name-prefix DistributedDataStoreProvider; + } + + // Augments the 'configuration' choice node under modules/module. + augment "/config:modules/config:module/config:configuration" { + case distributed-datastore-provider { + when "/config:modules/config:module/config:type = 'distributed-datastore-provider'"; + } + } +}