X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-rest-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Frestconf%2Fimpl%2FBrokerFacade.xtend;h=c57505829c5bde05dffbfda95ad8d21c3ac1ba26;hp=af8f7f469d71ec833e08e16952e75178c976f5b2;hb=7bea173bf1c3c27d5fa366b25a0f83879105c56d;hpb=811583cee43dd5a0198acdb179ae9c80160ca65f diff --git a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/BrokerFacade.xtend b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/BrokerFacade.xtend index af8f7f469d..c57505829c 100644 --- a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/BrokerFacade.xtend +++ b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/BrokerFacade.xtend @@ -10,6 +10,7 @@ import org.opendaylight.yangtools.yang.common.RpcResult import org.opendaylight.yangtools.yang.data.api.CompositeNode import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier import org.slf4j.LoggerFactory +import org.opendaylight.controller.sal.core.api.mount.MountInstance class BrokerFacade implements DataReader { @@ -44,12 +45,24 @@ class BrokerFacade implements DataReader { LOG.info("Read Configuration via Restconf: {}", path) return dataService.readConfigurationData(path); } + + def readConfigurationDataBehindMountPoint(MountInstance mountPoint, InstanceIdentifier path) { + checkPreconditions + LOG.info("Read Configuration via Restconf: {}", path) + return mountPoint.readConfigurationData(path); + } override readOperationalData(InstanceIdentifier path) { checkPreconditions LOG.info("Read Operational via Restconf: {}", path) return dataService.readOperationalData(path); } + + def readOperationalDataBehindMountPoint(MountInstance mountPoint, InstanceIdentifier path) { + checkPreconditions + LOG.info("Read Operational via Restconf: {}", path) + return mountPoint.readOperationalData(path); + } def RpcResult invokeRpc(QName type, CompositeNode payload) { checkPreconditions @@ -62,7 +75,15 @@ class BrokerFacade implements DataReader { val transaction = dataService.beginTransaction; LOG.info("Put Configuration via Restconf: {}", path) transaction.putConfigurationData(path, payload); - return transaction.commit() + return transaction.commit + } + + def commitConfigurationDataPutBehindMountPoint(MountInstance mountPoint, InstanceIdentifier path, CompositeNode payload) { + checkPreconditions + val transaction = mountPoint.beginTransaction; + LOG.info("Put Configuration via Restconf: {}", path) + transaction.putConfigurationData(path, payload); + return transaction.commit } def commitConfigurationDataPost(InstanceIdentifier path, CompositeNode payload) { @@ -71,10 +92,36 @@ class BrokerFacade implements DataReader { transaction.putConfigurationData(path, payload); if (payload == transaction.createdConfigurationData.get(path)) { LOG.info("Post Configuration via Restconf: {}", path) - return transaction.commit() + return transaction.commit } LOG.info("Post Configuration via Restconf was not executed because data already exists: {}", path) return null; } + + def commitConfigurationDataPostBehindMountPoint(MountInstance mountPoint, InstanceIdentifier path, CompositeNode payload) { + checkPreconditions + val transaction = mountPoint.beginTransaction; + transaction.putConfigurationData(path, payload); + if (payload == transaction.createdConfigurationData.get(path)) { + LOG.info("Post Configuration via Restconf: {}", path) + return transaction.commit + } + LOG.info("Post Configuration via Restconf was not executed because data already exists: {}", path) + return null; + } + + def commitConfigurationDataDelete(InstanceIdentifier path) { + checkPreconditions + val transaction = dataService.beginTransaction; + transaction.removeConfigurationData(path) + return transaction.commit + } + + def commitConfigurationDataDeleteBehindMountPoint(MountInstance mountPoint, InstanceIdentifier path) { + checkPreconditions + val transaction = mountPoint.beginTransaction; + transaction.removeConfigurationData(path) + return transaction.commit + } }