From 71d50da95da23142c9c6bd23817d90d910654ce3 Mon Sep 17 00:00:00 2001 From: Tony Tkacik Date: Thu, 23 Jul 2015 15:07:38 +0200 Subject: [PATCH] Bug 4035: Remove deprecated Hydrogen interfaces This remove set of interfaces which is safe to remove without breaking projects which did not yet migrated from Hydrogen interfaces to Helium / Lithium one. Also removes some related methods in such interfaces which are unused in current public Beryllium codebase in projects using MD-SAL. Change-Id: I2ac67ead4ea4d9d97d0198d62910e667318dc03a Signed-off-by: Tony Tkacik --- .../binding/api/data/DataBrokerService.java | 15 +-- .../api/data/DataModificationTransaction.java | 4 +- .../binding/api/data/DataProviderService.java | 21 +-- .../compat/HydrogenDataBrokerAdapter.java | 123 +---------------- .../compat/HydrogenMountInstanceAdapter.java | 24 ---- .../AbstractBindingSalProviderInstance.java | 43 ++---- .../common/api/data/DataChangePublisher.java | 22 --- .../common/api/data/DataCommitHandler.java | 125 ------------------ .../data/DataCommitHandlerRegistration.java | 26 ---- .../sal/common/api/data/DataModification.java | 1 - .../DataModificationTransactionFactory.java | 19 --- .../md/sal/common/api/data/DataProvider.java | 20 --- .../common/api/data/DataProvisionService.java | 28 ---- .../md/sal/common/api/data/DataStore.java | 30 ----- .../util/CommitHandlerTransactions.java | 47 ------- 15 files changed, 17 insertions(+), 531 deletions(-) delete mode 100644 opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataChangePublisher.java delete mode 100644 opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataCommitHandler.java delete mode 100644 opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataCommitHandlerRegistration.java delete mode 100644 opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataModificationTransactionFactory.java delete mode 100644 opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataProvider.java delete mode 100644 opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataProvisionService.java delete mode 100644 opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataStore.java delete mode 100644 opendaylight/md-sal/sal-common-util/src/main/java/org/opendaylight/controller/sal/common/util/CommitHandlerTransactions.java diff --git a/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/data/DataBrokerService.java b/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/data/DataBrokerService.java index d30ca6beaf..b274a05af7 100644 --- a/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/data/DataBrokerService.java +++ b/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/data/DataBrokerService.java @@ -7,8 +7,6 @@ */ package org.opendaylight.controller.sal.binding.api.data; -import org.opendaylight.controller.md.sal.common.api.data.DataChangePublisher; -import org.opendaylight.controller.md.sal.common.api.data.DataModificationTransactionFactory; import org.opendaylight.controller.md.sal.common.api.data.DataReader; import org.opendaylight.controller.sal.binding.api.BindingAwareService; import org.opendaylight.yangtools.concepts.ListenerRegistration; @@ -24,11 +22,8 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; * @deprecated Replaced by newer better documented version {@link org.opendaylight.controller.md.sal.binding.api.DataBroker} */ @Deprecated -public interface DataBrokerService extends // - BindingAwareService, // - DataModificationTransactionFactory, DataObject>, // - DataReader, DataObject>, // - DataChangePublisher, DataObject, DataChangeListener> { +public interface DataBrokerService extends BindingAwareService, + DataReader, DataObject> { /** * Creates a data modification transaction. * @@ -40,7 +35,6 @@ public interface DataBrokerService extends // * {@link org.opendaylight.controller.md.sal.binding.api.DataBroker#newWriteOnlyTransaction(). */ @Deprecated - @Override DataModificationTransaction beginTransaction(); /** @@ -52,8 +46,8 @@ public interface DataBrokerService extends // * @deprecated Please use {@link org.opendaylight.controller.md.sal.binding.api.DataBroker#newReadOnlyTransaction()} * */ - @Deprecated @Override + @Deprecated public DataObject readConfigurationData(InstanceIdentifier path); /** @@ -63,8 +57,8 @@ public interface DataBrokerService extends // * * @deprecated Please use {@link org.opendaylight.controller.md.sal.binding.api.DataBroker#newReadOnlyTransaction()} */ - @Deprecated @Override + @Deprecated public DataObject readOperationalData(InstanceIdentifier path); /** @@ -76,7 +70,6 @@ public interface DataBrokerService extends // * which provides more fine-grained registration options. */ @Deprecated - @Override public ListenerRegistration registerDataChangeListener( InstanceIdentifier path, DataChangeListener listener); } diff --git a/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/data/DataModificationTransaction.java b/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/data/DataModificationTransaction.java index 0c250fdbee..e1055c0970 100644 --- a/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/data/DataModificationTransaction.java +++ b/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/data/DataModificationTransaction.java @@ -9,7 +9,6 @@ package org.opendaylight.controller.sal.binding.api.data; import java.util.EventListener; import java.util.concurrent.Future; - import org.opendaylight.controller.md.sal.common.api.TransactionStatus; import org.opendaylight.controller.md.sal.common.api.data.DataModification; import org.opendaylight.yangtools.concepts.ListenerRegistration; @@ -29,7 +28,8 @@ import org.opendaylight.yangtools.yang.common.RpcResult; * */ @Deprecated -public interface DataModificationTransaction extends DataModification, DataObject> { +public interface DataModificationTransaction extends + DataModification, DataObject> { /** * Returns an unique identifier for transaction * diff --git a/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/data/DataProviderService.java b/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/data/DataProviderService.java index 7fa40b8d07..14a1e8ab49 100644 --- a/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/data/DataProviderService.java +++ b/opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/data/DataProviderService.java @@ -7,11 +7,6 @@ */ package org.opendaylight.controller.sal.binding.api.data; -import org.opendaylight.controller.md.sal.common.api.data.DataProvisionService; -import org.opendaylight.controller.md.sal.common.api.data.DataReader; -import org.opendaylight.yangtools.concepts.Registration; -import org.opendaylight.yangtools.yang.binding.DataObject; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; /** * DataProviderService is common access point for {@link org.opendaylight.controller.sal.binding.api.BindingAwareProvider} providers @@ -20,18 +15,6 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; * @deprecated Replaced by {@link org.opendaylight.controller.md.sal.common.api.data.AsyncConfigurationCommitCoordinator} service. */ @Deprecated -public interface DataProviderService extends DataBrokerService, DataProvisionService, DataObject> { - /** - * Registers a data reader for particular subtree of overal YANG data tree. - * - * Registered data reader is called if anyone tries to read data from - * paths which are nested to provided path. - * - * @param path Subpath which is handled by registered data reader - * @param reader Instance of reader which - * @return Registration object for reader. Invoking {@link Registration#close()} will unregister reader. - * @deprecated Data Reader contract is removed from capabilities of MD-SAL and is replaced by replaced by org.opendaylight.controller.sal.core.spi.data.DOMStore contract. - */ - @Deprecated - Registration registerDataReader(InstanceIdentifier path,DataReader,DataObject> reader); +public interface DataProviderService extends DataBrokerService { + } diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/compat/HydrogenDataBrokerAdapter.java b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/compat/HydrogenDataBrokerAdapter.java index da6859b4a3..a4f260c6c1 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/compat/HydrogenDataBrokerAdapter.java +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/compat/HydrogenDataBrokerAdapter.java @@ -7,49 +7,31 @@ */ package org.opendaylight.controller.md.sal.binding.compat; -import com.google.common.base.Function; -import com.google.common.util.concurrent.AsyncFunction; import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; -import com.google.common.util.concurrent.ListeningExecutorService; -import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; -import java.util.List; import java.util.Map; import java.util.Set; -import java.util.concurrent.Callable; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; import java.util.concurrent.ExecutionException; import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction; -import org.opendaylight.controller.md.sal.common.api.RegistrationListener; import org.opendaylight.controller.md.sal.common.api.TransactionStatus; import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker.DataChangeScope; import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent; import org.opendaylight.controller.md.sal.common.api.data.DataChangeEvent; -import org.opendaylight.controller.md.sal.common.api.data.DataCommitHandler; -import org.opendaylight.controller.md.sal.common.api.data.DataCommitHandler.DataCommitTransaction; -import org.opendaylight.controller.md.sal.common.api.data.DataCommitHandlerRegistration; -import org.opendaylight.controller.md.sal.common.api.data.DataReader; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.common.impl.service.AbstractDataTransaction; import org.opendaylight.controller.sal.binding.api.data.DataChangeListener; import org.opendaylight.controller.sal.binding.api.data.DataModificationTransaction; import org.opendaylight.controller.sal.binding.api.data.DataProviderService; -import org.opendaylight.controller.sal.binding.codegen.impl.SingletonHolder; -import org.opendaylight.yangtools.concepts.AbstractObjectRegistration; import org.opendaylight.yangtools.concepts.Delegator; import org.opendaylight.yangtools.concepts.ListenerRegistration; -import org.opendaylight.yangtools.concepts.Registration; import org.opendaylight.yangtools.util.ListenerRegistry; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.common.RpcResult; -import org.opendaylight.yangtools.yang.common.RpcResultBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -58,10 +40,6 @@ public class HydrogenDataBrokerAdapter implements DataProviderService, AutoClose private static final Logger LOG = LoggerFactory.getLogger(HydrogenDataBrokerAdapter.class); - private final ConcurrentMap, CommitHandlerRegistrationImpl> commitHandlers = - new ConcurrentHashMap<>(); - private final ListeningExecutorService executorService = SingletonHolder.getDefaultCommitExecutor(); - private final DataBroker delegate; public HydrogenDataBrokerAdapter(final DataBroker dataBroker) { @@ -86,22 +64,6 @@ public class HydrogenDataBrokerAdapter implements DataProviderService, AutoClose return tx.readOperationalData(path); } - @Override - public Registration registerCommitHandler( - final InstanceIdentifier path, - final DataCommitHandler, DataObject> commitHandler) { - final CommitHandlerRegistrationImpl reg = new CommitHandlerRegistrationImpl(path, commitHandler); - commitHandlers.put(path, reg); - return reg; - } - - @Override - @Deprecated - public ListenerRegistration, DataObject>>> registerCommitHandlerListener( - final RegistrationListener, DataObject>> commitHandlerListener) { - throw new UnsupportedOperationException("Not supported contract."); - } - @Override public ListenerRegistration registerDataChangeListener( final InstanceIdentifier path, final DataChangeListener listener) { @@ -116,70 +78,6 @@ public class HydrogenDataBrokerAdapter implements DataProviderService, AutoClose return new LegacyListenerRegistration(listener,cfgReg,operReg); } - @Override - public Registration registerDataReader( - final InstanceIdentifier path, - final DataReader, DataObject> reader) { - throw new UnsupportedOperationException("Data reader contract is not supported."); - } - - public ListenableFuture> commit(final ForwardedBackwardsCompatibleTransacion tx) { - - final List, DataObject>> subTrans = new ArrayList<>(); - LOG.debug("Tx: {} Submitted.",tx.getIdentifier()); - final ListenableFuture requestCommit = executorService.submit(new Callable() { - - @Override - public Boolean call() throws Exception { - try { - for (final CommitHandlerRegistrationImpl handler : commitHandlers.values()) { - - final DataCommitTransaction, DataObject> subTx = handler - .getInstance().requestCommit(tx); - subTrans.add(subTx); - } - } catch (final Exception e) { - LOG.error("Tx: {} Rollback.",tx.getIdentifier(),e); - for (final DataCommitTransaction, DataObject> subTx : subTrans) { - subTx.rollback(); - } - return false; - } - LOG.debug("Tx: {} Can Commit True.",tx.getIdentifier()); - return true; - } - - }); - - final ListenableFuture> dataStoreCommit = Futures.transform(requestCommit, new AsyncFunction>() { - - @Override - public ListenableFuture> apply(final Boolean requestCommitSuccess) throws Exception { - if(requestCommitSuccess) { - return AbstractDataTransaction.convertToLegacyCommitFuture(tx.delegate.submit()); - } - return Futures.immediateFuture(RpcResultBuilder.failed().withResult(TransactionStatus.FAILED).build()); - } - }); - - return Futures.transform(dataStoreCommit, new Function,RpcResult>() { - @Override - public RpcResult apply(final RpcResult input) { - if(input.isSuccessful()) { - for(final DataCommitTransaction, DataObject> subTx : subTrans ) { - subTx.finish(); - } - } else { - LOG.error("Tx: {} Rollback - Datastore commit failed.",tx.getIdentifier()); - for(final DataCommitTransaction, DataObject> subTx : subTrans ) { - subTx.rollback(); - } - } - return input; - } - }); - } - @Deprecated private class ForwardedBackwardsCompatibleTransacion implements DataModificationTransaction { @@ -335,7 +233,7 @@ public class HydrogenDataBrokerAdapter implements DataProviderService, AutoClose changeStatus(TransactionStatus.SUBMITED); - final ListenableFuture> f = HydrogenDataBrokerAdapter.this.commit(this); + final ListenableFuture> f = delegate.commit(); Futures.addCallback(f, new FutureCallback>() { @Override @@ -366,25 +264,6 @@ public class HydrogenDataBrokerAdapter implements DataProviderService, AutoClose } - private class CommitHandlerRegistrationImpl extends - AbstractObjectRegistration, DataObject>> { - - private final InstanceIdentifier path; - - public CommitHandlerRegistrationImpl(final InstanceIdentifier path, - final DataCommitHandler, DataObject> commitHandler) { - super(commitHandler); - this.path = path; - } - - @Override - protected void removeRegistration() { - commitHandlers.remove(path, this); - } - - } - - private static final class LegacyListenerRegistration implements ListenerRegistration { private final DataChangeListener instance; diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/compat/HydrogenMountInstanceAdapter.java b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/compat/HydrogenMountInstanceAdapter.java index e7aea8d2ff..49340fa200 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/compat/HydrogenMountInstanceAdapter.java +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/compat/HydrogenMountInstanceAdapter.java @@ -14,10 +14,6 @@ import com.google.common.collect.ImmutableClassToInstanceMap; import java.util.concurrent.ExecutorService; import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.binding.api.MountPoint; -import org.opendaylight.controller.md.sal.common.api.RegistrationListener; -import org.opendaylight.controller.md.sal.common.api.data.DataCommitHandler; -import org.opendaylight.controller.md.sal.common.api.data.DataCommitHandlerRegistration; -import org.opendaylight.controller.md.sal.common.api.data.DataReader; import org.opendaylight.controller.md.sal.common.api.routing.RouteChangeListener; import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.RoutedRpcRegistration; import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.RpcRegistration; @@ -30,11 +26,9 @@ import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; import org.opendaylight.controller.sal.binding.api.data.DataBrokerService; import org.opendaylight.controller.sal.binding.api.data.DataChangeListener; import org.opendaylight.controller.sal.binding.api.data.DataModificationTransaction; -import org.opendaylight.controller.sal.binding.api.data.DataProviderService; import org.opendaylight.controller.sal.binding.api.mount.MountProviderInstance; import org.opendaylight.controller.sal.binding.api.rpc.RpcContextIdentifier; import org.opendaylight.yangtools.concepts.ListenerRegistration; -import org.opendaylight.yangtools.concepts.Registration; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.binding.Notification; @@ -138,24 +132,6 @@ public class HydrogenMountInstanceAdapter implements MountProviderInstance { service(NotificationProviderService.class).publish(notification); } - @Override - public Registration registerCommitHandler(final InstanceIdentifier arg0, - final DataCommitHandler, DataObject> arg1) { - return service(DataProviderService.class).registerCommitHandler(arg0, arg1); - } - - @Override - public ListenerRegistration, DataObject>>> registerCommitHandlerListener( - final RegistrationListener, DataObject>> arg0) { - return service(DataProviderService.class).registerCommitHandlerListener(arg0); - } - - @Override - public Registration registerDataReader(final InstanceIdentifier path, - final DataReader, DataObject> reader) { - return service(DataProviderService.class).registerDataReader(path, reader); - } - @Override public ListenerRegistration registerInterestListener( final NotificationInterestListener interestListener) { diff --git a/opendaylight/md-sal/sal-binding-util/src/main/java/org/opendaylight/controller/md/sal/binding/util/AbstractBindingSalProviderInstance.java b/opendaylight/md-sal/sal-binding-util/src/main/java/org/opendaylight/controller/md/sal/binding/util/AbstractBindingSalProviderInstance.java index 830942f337..bba32011fc 100644 --- a/opendaylight/md-sal/sal-binding-util/src/main/java/org/opendaylight/controller/md/sal/binding/util/AbstractBindingSalProviderInstance.java +++ b/opendaylight/md-sal/sal-binding-util/src/main/java/org/opendaylight/controller/md/sal/binding/util/AbstractBindingSalProviderInstance.java @@ -8,11 +8,6 @@ package org.opendaylight.controller.md.sal.binding.util; import java.util.concurrent.ExecutorService; - -import org.opendaylight.controller.md.sal.common.api.RegistrationListener; -import org.opendaylight.controller.md.sal.common.api.data.DataCommitHandler; -import org.opendaylight.controller.md.sal.common.api.data.DataCommitHandlerRegistration; -import org.opendaylight.controller.md.sal.common.api.data.DataReader; import org.opendaylight.controller.md.sal.common.api.routing.RouteChangeListener; import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.RoutedRpcRegistration; import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.RpcRegistration; @@ -21,8 +16,6 @@ import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; import org.opendaylight.controller.sal.binding.api.data.DataProviderService; import org.opendaylight.controller.sal.binding.api.rpc.RpcContextIdentifier; import org.opendaylight.yangtools.concepts.ListenerRegistration; -import org.opendaylight.yangtools.concepts.Registration; -import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.binding.Notification; import org.opendaylight.yangtools.yang.binding.RpcService; @@ -34,62 +27,42 @@ public abstract class AbstractBindingSalProviderInstance path, - DataReader, DataObject> reader) { - return getDataBrokerChecked().registerDataReader(path, reader); - } - - @Override - public Registration registerCommitHandler( - InstanceIdentifier path, - DataCommitHandler, DataObject> commitHandler) { - return getDataBrokerChecked().registerCommitHandler(path, commitHandler); - } - - @Override - public ListenerRegistration, DataObject>>> registerCommitHandlerListener( - RegistrationListener, DataObject>> commitHandlerListener) { - return getDataBrokerChecked().registerCommitHandlerListener(commitHandlerListener); - } - - @Override - public RpcRegistration addRpcImplementation(Class type, T implementation) + public RpcRegistration addRpcImplementation(final Class type, final T implementation) throws IllegalStateException { return getRpcRegistryChecked().addRpcImplementation(type, implementation); } @Override - public RoutedRpcRegistration addRoutedRpcImplementation(Class type, T implementation) + public RoutedRpcRegistration addRoutedRpcImplementation(final Class type, final T implementation) throws IllegalStateException { return getRpcRegistryChecked().addRoutedRpcImplementation(type, implementation); } @Override - public void publish(Notification notification) { + public void publish(final Notification notification) { getNotificationBrokerChecked().publish(notification); } @Override - public void publish(Notification notification, ExecutorService service) { + public void publish(final Notification notification, final ExecutorService service) { getNotificationBrokerChecked().publish(notification, service); } @Override public >> ListenerRegistration registerRouteChangeListener( - L listener) { + final L listener) { return getRpcRegistryChecked().registerRouteChangeListener(listener); } @Override public ListenerRegistration registerInterestListener( - NotificationInterestListener interestListener) { + final NotificationInterestListener interestListener) { return getNotificationBrokerChecked().registerInterestListener(interestListener); } } diff --git a/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataChangePublisher.java b/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataChangePublisher.java deleted file mode 100644 index 222dba8eaf..0000000000 --- a/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataChangePublisher.java +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2013 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.md.sal.common.api.data; - -import org.opendaylight.yangtools.concepts.ListenerRegistration; -import org.opendaylight.yangtools.concepts.Path; - -/** - * - * @deprecated Replaced by {@link AsyncDataBroker} - */ -@Deprecated -public interface DataChangePublisher

, D, L extends DataChangeListener> { - - ListenerRegistration registerDataChangeListener(P path, L listener); - -} diff --git a/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataCommitHandler.java b/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataCommitHandler.java deleted file mode 100644 index a9f02a8ee5..0000000000 --- a/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataCommitHandler.java +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright (c) 2013 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.md.sal.common.api.data; - -import org.opendaylight.yangtools.concepts.Path; -import org.opendaylight.yangtools.yang.common.RpcResult; -/** - * Two phase commit handler (cohort) of the two-phase commit protocol of data. - * - *

- * The provider should expose the implementation of DataCommitHandler if it's - * functionality depends on any subset of data stored in data repositories, in - * order to participate in {@link DataBrokerService#commit(DataStoreIdentifier) - * operation. - * - *

- * Operations of two-phase commit handlers should not change data in data store, - * this is responsibility of the coordinator (broker or some component of the - * broker). - * - * Commit handlers are responsible for changing the internal state of the - * provider to reflect the committed changes in data. - * - *

Two-phase commit

- * - *

Commit Request Phase

- * - *
    - *
  1. Consumer edits data by invocation of - * DataBrokerService.editCandidateData(DataStoreIdentifier, DataRoot) - *
  2. Consumer starts a commit by invoking - * DataBrokerService.commit(DataStoreIdentifier) - *
  3. Broker retrieves a list of all registered - * DataCommitHandlers - *
  4. For each DataCommitHandler - *
      - *
    1. Broker invokes a - * DataCommitHandler.requestCommit(DataStoreIdentifier) operation. - *
    2. DataCommitHandler returns a RpcResult with - * CommitTransaction - *
    3. If the result was successful, broker adds CommitTransaction - * to the list of opened transactions. If not, brokers stops a commit request - * phase and starts a rollback phase. - *
    - *
  5. Broker starts a commit finish phase - *
- * - *

Commit Finish Phase

- * - *
    - *
  1. For each CommitTransaction from Commit Request phase - *
      - *
    1. Broker broker invokes a - * CommitTransaction.finish() - *
    2. The provider finishes a commit (applies the change) and returns an - * RpcResult. - *
    - *
  2. - *
      - *
    • If all returned results means successful, the brokers end two-phase - * commit by returning a success commit result to the Consumer. - *
    • If error occured, the broker starts a commit rollback phase. - *
    - *
- * - *

Commit Rollback Phase

- *
  • For each DataCommitTransaction from Commit Request phase - *
      - *
    1. Broker - * broker invokes a {@link DataCommitTransaction#finish()} - *
    2. The provider rollbacks a commit and returns an {@link RpcResult} of - * rollback.
    - *
  • Broker returns a error result to the consumer. - * - * @param

    Class representing a path - * @param Superclass from which all data objects are derived from. - * @deprecated Replaced by {@link AsyncConfigurationCommitHandler} - */ -@Deprecated -public interface DataCommitHandler

    , D> { - - - DataCommitTransaction requestCommit(DataModification modification); - - public interface DataCommitTransaction

    , D> { - - DataModification getModification(); - - /** - * - * Finishes a commit. - * - * This callback is invoked by commit coordinator to finish commit action. - * - * The implementation is required to finish transaction or return unsuccessful - * rpc result if something went wrong. - * - * The provider (commit handler) should apply all changes to its state - * which are a result of data change- - * - * @return - */ - RpcResult finish() throws IllegalStateException; - - /** - * Rollbacks a commit. - * - * This callback is invoked by commit coordinator to finish commit action. - * - * The provider (commit handler) should rollback all changes to its state - * which were a result of previous request commit. - * - * @return - * @throws IllegalStateException - * If the method is invoked after {@link #finish()} - */ - RpcResult rollback() throws IllegalStateException; - } - -} diff --git a/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataCommitHandlerRegistration.java b/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataCommitHandlerRegistration.java deleted file mode 100644 index dceb3de5bf..0000000000 --- a/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataCommitHandlerRegistration.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (c) 2014 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.md.sal.common.api.data; - -import org.opendaylight.yangtools.concepts.Path; -import org.opendaylight.yangtools.concepts.Registration; - -/** - * - * - * @deprecated THis was intended as Registration object, normal use of {@link org.opendaylight.yangtools.concepts.ObjectRegistration} - * is suffiecient, since {@link #getPath()} was implementation leak. - * - * @param

    - * @param - */ -@Deprecated -public interface DataCommitHandlerRegistration

    ,D> extends Registration { - - P getPath(); -} diff --git a/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataModification.java b/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataModification.java index 630078dced..f90098c959 100644 --- a/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataModification.java +++ b/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataModification.java @@ -8,7 +8,6 @@ package org.opendaylight.controller.md.sal.common.api.data; import java.util.concurrent.Future; - import org.opendaylight.controller.md.sal.common.api.TransactionStatus; import org.opendaylight.yangtools.concepts.Path; import org.opendaylight.yangtools.yang.common.RpcResult; diff --git a/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataModificationTransactionFactory.java b/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataModificationTransactionFactory.java deleted file mode 100644 index 6a370b8cd1..0000000000 --- a/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataModificationTransactionFactory.java +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2013 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.md.sal.common.api.data; - -import org.opendaylight.yangtools.concepts.Path; -/** - * - * @deprecated Replaced by {@link AsyncDataTransactionFactory} - */ -@Deprecated -public interface DataModificationTransactionFactory

    ,D> { - - DataModification beginTransaction(); -} diff --git a/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataProvider.java b/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataProvider.java deleted file mode 100644 index fdeda2800b..0000000000 --- a/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataProvider.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2013 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.md.sal.common.api.data; - -import org.opendaylight.yangtools.concepts.Path; - -/** - * - * - * @deprecated Replaced by org.opendaylight.controller.sal.core.spi.data.DOMStore contract. - */ -@Deprecated -public interface DataProvider

    , D> extends DataReader { - -} diff --git a/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataProvisionService.java b/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataProvisionService.java deleted file mode 100644 index 6c7166eaee..0000000000 --- a/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataProvisionService.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2013 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.md.sal.common.api.data; - -import org.opendaylight.controller.md.sal.common.api.RegistrationListener; -import org.opendaylight.yangtools.concepts.ListenerRegistration; -import org.opendaylight.yangtools.concepts.Path; -import org.opendaylight.yangtools.concepts.Registration; - -/** - * - * - * @deprecated replaced by {@link AsyncDataBroker} and {@link AsyncConfigurationCommitCoordinator} - */ -@Deprecated -public interface DataProvisionService

    , D> { - - public Registration registerCommitHandler(P path, DataCommitHandler commitHandler); - - public ListenerRegistration>> - registerCommitHandlerListener(RegistrationListener> commitHandlerListener); - -} diff --git a/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataStore.java b/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataStore.java deleted file mode 100644 index 5688dd0988..0000000000 --- a/opendaylight/md-sal/sal-common-api/src/main/java/org/opendaylight/controller/md/sal/common/api/data/DataStore.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) 2014 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.md.sal.common.api.data; - -import org.opendaylight.yangtools.concepts.Path; - -/** - * - * @deprecated Replaced by org.opendaylight.controller.sal.core.spi.data.DOMStore Contract. - */ -@Deprecated -public interface DataStore

    , D> extends // - DataReader, // - DataModificationTransactionFactory { - - @Override - public DataModification beginTransaction(); - - @Override - public D readConfigurationData(P path); - - @Override - public D readOperationalData(P path); - -} diff --git a/opendaylight/md-sal/sal-common-util/src/main/java/org/opendaylight/controller/sal/common/util/CommitHandlerTransactions.java b/opendaylight/md-sal/sal-common-util/src/main/java/org/opendaylight/controller/sal/common/util/CommitHandlerTransactions.java deleted file mode 100644 index ded2d599eb..0000000000 --- a/opendaylight/md-sal/sal-common-util/src/main/java/org/opendaylight/controller/sal/common/util/CommitHandlerTransactions.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2014 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.common.util; - -import org.opendaylight.controller.md.sal.common.api.data.DataModification; -import org.opendaylight.controller.md.sal.common.api.data.DataCommitHandler.DataCommitTransaction; -import org.opendaylight.yangtools.concepts.Path; -import org.opendaylight.yangtools.yang.common.RpcResult; -import org.opendaylight.yangtools.yang.common.RpcResultBuilder; - -/** - * @deprecated Utility class for {@link DataCommitTransaction}, will be removed at the same time. - */ -@Deprecated -public class CommitHandlerTransactions { - - private static class AllwaysSuccessfulTransaction

    ,D> implements DataCommitTransaction { - - private final DataModification modification; - - public AllwaysSuccessfulTransaction(DataModification modification) { - this.modification = modification; - } - @Override - public RpcResult rollback() throws IllegalStateException { - return RpcResultBuilder.success().build(); - } - @Override - public RpcResult finish() throws IllegalStateException { - return RpcResultBuilder.success().build(); - } - - @Override - public DataModification getModification() { - return modification; - } - } - - public static final

    ,D> AllwaysSuccessfulTransaction allwaysSuccessfulTransaction(DataModification modification) { - return new AllwaysSuccessfulTransaction<>(modification); - } -} -- 2.36.6