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=343601865d80bfeaf3ca5899bdb59c08cee25041;hp=29ad7522c43436891ec6cb717ee6cbc713a04abd;hb=ea29b59d27064ff61a23d9ac3081bd1669acd14f;hpb=638093908ccb9f2824e264ab68c789d18b5e93ac 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 29ad7522c4..343601865d 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 @@ -1,6 +1,5 @@ package org.opendaylight.controller.sal.restconf.impl -import javax.ws.rs.WebApplicationException import javax.ws.rs.core.Response import org.opendaylight.controller.md.sal.common.api.data.DataReader import org.opendaylight.controller.sal.core.api.Broker.ConsumerSession @@ -10,9 +9,12 @@ import org.opendaylight.yangtools.yang.common.QName 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 class BrokerFacade implements DataReader { + + val static LOG = LoggerFactory.getLogger(BrokerFacade) val static BrokerFacade INSTANCE = new BrokerFacade @Property @@ -39,11 +41,13 @@ class BrokerFacade implements DataReader { override readConfigurationData(InstanceIdentifier path) { checkPreconditions + LOG.info("Read Configuration via Restconf: {}", path) return dataService.readConfigurationData(path); } override readOperationalData(InstanceIdentifier path) { checkPreconditions + LOG.info("Read Operational via Restconf: {}", path) return dataService.readOperationalData(path); } @@ -56,15 +60,28 @@ class BrokerFacade implements DataReader { def commitConfigurationDataPut(InstanceIdentifier path, CompositeNode payload) { checkPreconditions val transaction = dataService.beginTransaction; + LOG.info("Put Configuration via Restconf: {}", path) transaction.putConfigurationData(path, payload); - return transaction.commit() + return transaction.commit } - def commitOperationalDataPut(InstanceIdentifier path, CompositeNode payload) { + def commitConfigurationDataPost(InstanceIdentifier path, CompositeNode payload) { checkPreconditions val transaction = dataService.beginTransaction; - transaction.putOperationalData(path, payload); - return transaction.commit() + 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 + } + }