From d5946b1d54a7ea00eab780be49c8d6b67122dde0 Mon Sep 17 00:00:00 2001 From: Tony Tkacik Date: Tue, 17 Mar 2015 15:58:37 +0100 Subject: [PATCH] Bug 868: Introduced DOM ForwardingSession utility classes. Introduced DOM ForwardingSession abstract classes, in order to migrate AAA from CompositeNode interfaces, since they were using it only to forward calls to backing implementation. Change-Id: If5ed1a5dadc02c0d7433fd9652a4af9b586a9be7 Signed-off-by: Tony Tkacik --- .../core/spi/ForwardingConsumerSession.java | 43 ++++++++++ .../core/spi/ForwardingProviderSession.java | 80 +++++++++++++++++++ 2 files changed, 123 insertions(+) create mode 100644 opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/sal/core/spi/ForwardingConsumerSession.java create mode 100644 opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/sal/core/spi/ForwardingProviderSession.java diff --git a/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/sal/core/spi/ForwardingConsumerSession.java b/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/sal/core/spi/ForwardingConsumerSession.java new file mode 100644 index 0000000000..ba14b0f15c --- /dev/null +++ b/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/sal/core/spi/ForwardingConsumerSession.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.opendaylight.controller.sal.core.spi; + +import java.util.concurrent.Future; +import org.opendaylight.controller.sal.core.api.Broker.ConsumerSession; +import org.opendaylight.controller.sal.core.api.BrokerService; +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.common.RpcResult; +import org.opendaylight.yangtools.yang.data.api.CompositeNode; + +public abstract class ForwardingConsumerSession implements ConsumerSession { + + protected abstract ConsumerSession delegate(); + + @Override + public void close() { + delegate().close(); + } + + @Override + public T getService(Class arg0) { + return delegate().getService(arg0); + } + + @Override + public boolean isClosed() { + return delegate().isClosed(); + } + + @Override + @Deprecated + public Future> rpc(QName arg0, CompositeNode arg1) { + return delegate().rpc(arg0, arg1); + } + + +} diff --git a/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/sal/core/spi/ForwardingProviderSession.java b/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/sal/core/spi/ForwardingProviderSession.java new file mode 100644 index 0000000000..d32999791a --- /dev/null +++ b/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/sal/core/spi/ForwardingProviderSession.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + +package org.opendaylight.controller.sal.core.spi; + +import java.util.Set; +import java.util.concurrent.Future; +import org.opendaylight.controller.sal.core.api.Broker.ProviderSession; +import org.opendaylight.controller.sal.core.api.Broker.RoutedRpcRegistration; +import org.opendaylight.controller.sal.core.api.Broker.RpcRegistration; +import org.opendaylight.controller.sal.core.api.BrokerService; +import org.opendaylight.controller.sal.core.api.RpcImplementation; +import org.opendaylight.controller.sal.core.api.RpcRegistrationListener; +import org.opendaylight.yangtools.concepts.ListenerRegistration; +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.common.RpcResult; +import org.opendaylight.yangtools.yang.data.api.CompositeNode; + +public abstract class ForwardingProviderSession implements ProviderSession { + + + protected abstract ProviderSession delegate(); + + @Override + @Deprecated + public RoutedRpcRegistration addMountedRpcImplementation(QName arg0, RpcImplementation arg1) { + return delegate().addMountedRpcImplementation(arg0, arg1); + } + + @Override + @Deprecated + public RoutedRpcRegistration addRoutedRpcImplementation(QName arg0, RpcImplementation arg1) { + return delegate().addRoutedRpcImplementation(arg0, arg1); + } + + @Override + @Deprecated + public RpcRegistration addRpcImplementation(QName arg0, RpcImplementation arg1) + throws IllegalArgumentException { + return delegate().addRpcImplementation(arg0, arg1); + } + + @Deprecated + @Override + public ListenerRegistration addRpcRegistrationListener( + RpcRegistrationListener arg0) { + return delegate().addRpcRegistrationListener(arg0); + } + + @Override + public void close() { + delegate().close(); + } + + @Override + public T getService(Class arg0) { + return delegate().getService(arg0); + } + + @Override + public Set getSupportedRpcs() { + return delegate().getSupportedRpcs(); + } + + @Override + public boolean isClosed() { + return delegate().isClosed(); + } + + @Override + public Future> rpc(QName arg0, CompositeNode arg1) { + return delegate().rpc(arg0, arg1); + } + +} -- 2.36.6