From 5764146d24df9d9450ebfbb0aec10cbbcdcc655c Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Thu, 6 Nov 2014 20:13:59 +0100 Subject: [PATCH 1/1] BUG-2255: introduce PingPongDataBroker This is a forwarding DOMDataBroker implementation, which ensures that there is at most one transaction pending for a particular transaction chain. This is not useful in all scenarios, but if the users can restrain themselves to use the supported semantics, they can use it. Change-Id: I4a9ca12254763829f99e270d6716cd034b4b5ea9 Signed-off-by: Robert Varga Signed-off-by: Dana Kutenicsova --- .../src/main/resources/initial/01-md-sal.xml | 38 +++ opendaylight/md-sal/sal-dom-broker/pom.xml | 5 +- .../pingpong/PingpongDataBrokerModule.java | 27 ++ .../PingpongDataBrokerModuleFactory.java | 12 + .../dom/broker/impl/PingPongDataBroker.java | 50 ++++ .../sal/dom/broker/impl/PingPongFuture.java | 28 ++ .../dom/broker/impl/PingPongTransaction.java | 82 ++++++ .../broker/impl/PingPongTransactionChain.java | 250 ++++++++++++++++++ .../yang/opendaylight-pingpong-broker.yang | 39 +++ 9 files changed, 530 insertions(+), 1 deletion(-) create mode 100644 opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/config/yang/md/sal/dom/pingpong/PingpongDataBrokerModule.java create mode 100644 opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/config/yang/md/sal/dom/pingpong/PingpongDataBrokerModuleFactory.java create mode 100644 opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/PingPongDataBroker.java create mode 100644 opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/PingPongFuture.java create mode 100644 opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/PingPongTransaction.java create mode 100644 opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/PingPongTransactionChain.java create mode 100644 opendaylight/md-sal/sal-dom-broker/src/main/yang/opendaylight-pingpong-broker.yang diff --git a/opendaylight/md-sal/md-sal-config/src/main/resources/initial/01-md-sal.xml b/opendaylight/md-sal/md-sal-config/src/main/resources/initial/01-md-sal.xml index 1c0861ab02..b9159dccd1 100644 --- a/opendaylight/md-sal/md-sal-config/src/main/resources/initial/01-md-sal.xml +++ b/opendaylight/md-sal/md-sal-config/src/main/resources/initial/01-md-sal.xml @@ -63,6 +63,35 @@ + + + + prefix:pingpong-data-broker + pingpong-data-broker + + dom:dom-async-data-broker + inmemory-data-broker + + + + prefix:binding-forwarded-data-broker + pingpong-binding-data-broker + + + dom:dom-async-data-broker + pingpong-broker + + + dom:schema-service + yang-schema-service + + + binding:binding-dom-mapping-service + runtime-mapping-singleton + + + +