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.java;h=861aaac3d81552957b5798c3b775501d830fadce;hp=3d047dd07f53e47a4000a5de137fcc52e3affa75;hb=0eb621d29daaf08979c356e2148e99c48458e169;hpb=e0e75c0ba8bc5ad014c4a8d200465d7d02a3934c diff --git a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/BrokerFacade.java b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/BrokerFacade.java index 3d047dd07f..861aaac3d8 100644 --- a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/BrokerFacade.java +++ b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/BrokerFacade.java @@ -8,12 +8,13 @@ package org.opendaylight.controller.sal.restconf.impl; import com.google.common.util.concurrent.Futures; -import java.util.Collections; + import java.util.concurrent.Future; + import javax.ws.rs.core.Response.Status; + import org.opendaylight.controller.md.sal.common.api.TransactionStatus; import org.opendaylight.controller.md.sal.common.api.data.DataReader; -import org.opendaylight.controller.sal.common.util.Rpcs; import org.opendaylight.controller.sal.core.api.Broker.ConsumerSession; import org.opendaylight.controller.sal.core.api.data.DataBrokerService; import org.opendaylight.controller.sal.core.api.data.DataChangeListener; @@ -24,15 +25,15 @@ import org.opendaylight.controller.sal.restconf.impl.RestconfError.ErrorType; import org.opendaylight.controller.sal.streams.listeners.ListenerAdapter; import org.opendaylight.yangtools.concepts.ListenerRegistration; import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.common.RpcError; import org.opendaylight.yangtools.yang.common.RpcResult; +import org.opendaylight.yangtools.yang.common.RpcResultBuilder; import org.opendaylight.yangtools.yang.data.api.CompositeNode; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class BrokerFacade implements DataReader { - private final static Logger LOG = LoggerFactory.getLogger( BrokerFacade.class ); +public class BrokerFacade implements DataReader { + private final static Logger LOG = LoggerFactory.getLogger(BrokerFacade.class); private final static BrokerFacade INSTANCE = new BrokerFacade(); @@ -42,11 +43,11 @@ public class BrokerFacade implements DataReader> invokeRpc( final QName type, final CompositeNode payload ) { + public Future> invokeRpc(final QName type, final CompositeNode payload) { this.checkPreconditions(); - return context.rpc( type, payload ); + return context.rpc(type, payload); } - public Future> commitConfigurationDataPut( final InstanceIdentifier path, - final CompositeNode payload ) { + public Future> commitConfigurationDataPut(final YangInstanceIdentifier path, + final CompositeNode payload) { this.checkPreconditions(); final DataModificationTransaction transaction = dataService.beginTransaction(); - BrokerFacade.LOG.trace( "Put Configuration via Restconf: {}", path ); - transaction.putConfigurationData( path, payload ); + BrokerFacade.LOG.trace("Put Configuration via Restconf: {}", path); + transaction.putConfigurationData(path, payload); return transaction.commit(); } public Future> commitConfigurationDataPutBehindMountPoint( - final MountInstance mountPoint, final InstanceIdentifier path, final CompositeNode payload ) { + final MountInstance mountPoint, final YangInstanceIdentifier path, final CompositeNode payload) { this.checkPreconditions(); final DataModificationTransaction transaction = mountPoint.beginTransaction(); - BrokerFacade.LOG.trace( "Put Configuration via Restconf: {}", path ); - transaction.putConfigurationData( path, payload ); + BrokerFacade.LOG.trace("Put Configuration via Restconf: {}", path); + transaction.putConfigurationData(path, payload); return transaction.commit(); } - public Future> commitConfigurationDataPost( final InstanceIdentifier path, - final CompositeNode payload) { + public Future> commitConfigurationDataPost(final YangInstanceIdentifier path, + final CompositeNode payload) { this.checkPreconditions(); final DataModificationTransaction transaction = dataService.beginTransaction(); /* check for available Node in Configuration DataStore by path */ - CompositeNode availableNode = transaction.readConfigurationData( path ); + CompositeNode availableNode = transaction.readConfigurationData(path); if (availableNode != null) { String errMsg = "Post Configuration via Restconf was not executed because data already exists"; BrokerFacade.LOG.warn((new StringBuilder(errMsg)).append(" : ").append(path).toString()); - throw new RestconfDocumentedException( - "Data already exists for path: " + path, ErrorType.PROTOCOL, ErrorTag.DATA_EXISTS ); + throw new RestconfDocumentedException("Data already exists for path: " + path, ErrorType.PROTOCOL, + ErrorTag.DATA_EXISTS); } - BrokerFacade.LOG.trace( "Post Configuration via Restconf: {}", path ); - transaction.putConfigurationData( path, payload ); + BrokerFacade.LOG.trace("Post Configuration via Restconf: {}", path); + transaction.putConfigurationData(path, payload); return transaction.commit(); } public Future> commitConfigurationDataPostBehindMountPoint( - final MountInstance mountPoint, final InstanceIdentifier path, final CompositeNode payload ) { + final MountInstance mountPoint, final YangInstanceIdentifier path, final CompositeNode payload) { this.checkPreconditions(); final DataModificationTransaction transaction = mountPoint.beginTransaction(); /* check for available Node in Configuration DataStore by path */ - CompositeNode availableNode = transaction.readConfigurationData( path ); + CompositeNode availableNode = transaction.readConfigurationData(path); if (availableNode != null) { String errMsg = "Post Configuration via Restconf was not executed because data already exists"; BrokerFacade.LOG.warn((new StringBuilder(errMsg)).append(" : ").append(path).toString()); - throw new RestconfDocumentedException( - "Data already exists for path: " + path, ErrorType.PROTOCOL, ErrorTag.DATA_EXISTS ); + throw new RestconfDocumentedException("Data already exists for path: " + path, ErrorType.PROTOCOL, + ErrorTag.DATA_EXISTS); } - BrokerFacade.LOG.trace( "Post Configuration via Restconf: {}", path ); - transaction.putConfigurationData( path, payload ); + BrokerFacade.LOG.trace("Post Configuration via Restconf: {}", path); + transaction.putConfigurationData(path, payload); return transaction.commit(); } - public Future> commitConfigurationDataDelete( final InstanceIdentifier path ) { + public Future> commitConfigurationDataDelete(final YangInstanceIdentifier path) { this.checkPreconditions(); - return deleteDataAtTarget(path,dataService.beginTransaction()); + return deleteDataAtTarget(path, dataService.beginTransaction()); } public Future> commitConfigurationDataDeleteBehindMountPoint( - final MountInstance mountPoint, final InstanceIdentifier path ) { + final MountInstance mountPoint, final YangInstanceIdentifier path) { this.checkPreconditions(); - return deleteDataAtTarget(path,mountPoint.beginTransaction()); + return deleteDataAtTarget(path, mountPoint.beginTransaction()); } - private Future> deleteDataAtTarget(final InstanceIdentifier path, + private Future> deleteDataAtTarget(final YangInstanceIdentifier path, final DataModificationTransaction transaction) { LOG.info("Delete Configuration via Restconf: {}", path); CompositeNode redDataAtPath = transaction.readConfigurationData(path); if (redDataAtPath == null) { - return Futures.immediateFuture(Rpcs. getRpcResult(true, TransactionStatus.COMMITED, - Collections. emptyList())); + return Futures.immediateFuture(RpcResultBuilder. + success(TransactionStatus.COMMITED).build()); } transaction.removeConfigurationData(path); return transaction.commit(); } - public void registerToListenDataChanges( final ListenerAdapter listener ) { + public void registerToListenDataChanges(final ListenerAdapter listener) { this.checkPreconditions(); - if( listener.isListening() ) { + if (listener.isListening()) { return; } - InstanceIdentifier path = listener.getPath(); - final ListenerRegistration registration = - dataService.registerDataChangeListener( path, listener ); + YangInstanceIdentifier path = listener.getPath(); + final ListenerRegistration registration = dataService.registerDataChangeListener(path, + listener); - listener.setRegistration( registration ); + listener.setRegistration(registration); } }