X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-rest-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Frestconf%2Fimpl%2FBrokerFacade.java;h=062d03a49f56e12ca6bb178fa39303b78fc059da;hb=2c4a9be1a89caa93f4f2697401771dcb0fa67c5a;hp=1cc1f783d676ed69f68c959d1024a58349dc51d9;hpb=35189191ea7d4fc663da81cabacacfa4f7ace313;p=controller.git 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 1cc1f783d6..062d03a49f 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 @@ -18,7 +18,8 @@ import org.opendaylight.controller.sal.core.api.data.DataBrokerService; import org.opendaylight.controller.sal.core.api.data.DataChangeListener; import org.opendaylight.controller.sal.core.api.data.DataModificationTransaction; import org.opendaylight.controller.sal.core.api.mount.MountInstance; -import org.opendaylight.controller.sal.rest.impl.RestconfProvider; +import org.opendaylight.controller.sal.restconf.impl.RestconfError.ErrorTag; +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; @@ -53,9 +54,7 @@ public class BrokerFacade implements DataReader invokeRpc( final QName type, final CompositeNode payload ) { + public Future> invokeRpc( final QName type, final CompositeNode payload ) { this.checkPreconditions(); - final Future> future = context.rpc( type, payload ); - - try { - return future.get(); - } - catch( Exception e ) { - throw new ResponseException( e, "Error invoking RPC " + type ); - } + return context.rpc( type, payload ); } public Future> commitConfigurationDataPut( final InstanceIdentifier path, @@ -138,9 +130,9 @@ public class BrokerFacade implements DataReader follow specification - // (http://tools.ietf.org/html/draft-bierman-netconf-restconf-03#page-48) - throw new ResponseException(Status.CONFLICT, errMsg); + + 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 ); @@ -157,9 +149,9 @@ public class BrokerFacade implements DataReader follow specification - // (http://tools.ietf.org/html/draft-bierman-netconf-restconf-03#page-48) - throw new ResponseException(Status.CONFLICT, errMsg); + + 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 );