From: Tom Pantelis Date: Wed, 31 May 2017 00:55:24 +0000 (-0400) Subject: Bug 8568: Remove deprecated HydrogenDataBrokerAdapter X-Git-Tag: release/nitrogen~166 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=6cbbe603648c798a10c8326b59391b89986b3862 Bug 8568: Remove deprecated HydrogenDataBrokerAdapter Removed the deprecated DataProviderService implementation class HydrogenDataBrokerAdapter and the corresponding config yang and ForwardedCompatibleDataBrokerImplModule. Change-Id: Ie18e6e1ae6a9e68b97e39b278618a4a0c1c9219d Signed-off-by: Tom Pantelis --- diff --git a/features/mdsal/features-mdsal/src/main/features/features.xml b/features/mdsal/features-mdsal/src/main/features/features.xml index 0fcdb5e282..00bb515c67 100644 --- a/features/mdsal/features-mdsal/src/main/features/features.xml +++ b/features/mdsal/features-mdsal/src/main/features/features.xml @@ -56,7 +56,7 @@ mvn:org.opendaylight.controller/sal-inmemory-datastore/{{VERSION}} mvn:org.opendaylight.controller/sal-dom-broker-config/{{VERSION}} mvn:org.opendaylight.controller/blueprint/{{VERSION}} - mvn:org.opendaylight.controller/md-sal-config/{{VERSION}}/xml/config + mvn:org.opendaylight.controller/md-sal-config/{{VERSION}}/xml/config odl-yangtools-common diff --git a/features/mdsal/odl-mdsal-broker-local/src/main/feature/feature.xml b/features/mdsal/odl-mdsal-broker-local/src/main/feature/feature.xml index c808b4859b..654311ab6f 100644 --- a/features/mdsal/odl-mdsal-broker-local/src/main/feature/feature.xml +++ b/features/mdsal/odl-mdsal-broker-local/src/main/feature/feature.xml @@ -12,7 +12,7 @@ mvn:org.opendaylight.controller/sal-schema-service/${project.version} mvn:org.opendaylight.controller/blueprint/${blueprint.version} - + mvn:org.opendaylight.controller/md-sal-config/${project.version}/xml/config 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 947eee237d..cde493f714 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 @@ -79,10 +79,6 @@ binding:binding-notification-service binding-notification-broker - - binding:binding-data-broker - binding-data-broker - binding:binding-async-data-broker binding-data-broker @@ -176,16 +172,6 @@ inmemory-data-broker - - prefix:binding-data-compatible-broker - inmemory-binding-data-broker - - - binding:binding-async-data-broker - binding-data-broker - - - prefix:binding-forwarded-data-broker binding-async-data-broker @@ -314,14 +300,6 @@ - - binding:binding-data-broker - - binding-data-broker - /modules/module[type='binding-data-compatible-broker'][name='inmemory-binding-data-broker'] - - - binding:binding-async-data-broker 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 deleted file mode 100644 index a4f260c6c1..0000000000 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/md/sal/binding/compat/HydrogenDataBrokerAdapter.java +++ /dev/null @@ -1,347 +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.binding.compat; - -import com.google.common.util.concurrent.FutureCallback; -import com.google.common.util.concurrent.Futures; -import com.google.common.util.concurrent.ListenableFuture; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; -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.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.LogicalDatastoreType; -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.yangtools.concepts.Delegator; -import org.opendaylight.yangtools.concepts.ListenerRegistration; -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.slf4j.Logger; -import org.slf4j.LoggerFactory; - -@Deprecated -public class HydrogenDataBrokerAdapter implements DataProviderService, AutoCloseable { - - private static final Logger LOG = LoggerFactory.getLogger(HydrogenDataBrokerAdapter.class); - - private final DataBroker delegate; - - public HydrogenDataBrokerAdapter(final DataBroker dataBroker) { - delegate = dataBroker; - LOG.info("ForwardedBackwardsCompatibleBroker started."); - } - - @Override - public DataModificationTransaction beginTransaction() { - return new ForwardedBackwardsCompatibleTransacion(delegate.newReadWriteTransaction()); - } - - @Override - public DataObject readConfigurationData(final InstanceIdentifier path) { - final DataModificationTransaction tx = beginTransaction(); - return tx.readConfigurationData(path); - } - - @Override - public DataObject readOperationalData(final InstanceIdentifier path) { - final DataModificationTransaction tx = beginTransaction(); - return tx.readOperationalData(path); - } - - @Override - public ListenerRegistration registerDataChangeListener( - final InstanceIdentifier path, final DataChangeListener listener) { - - - final org.opendaylight.controller.md.sal.binding.api.DataChangeListener asyncOperListener = new BackwardsCompatibleOperationalDataChangeInvoker(listener); - final org.opendaylight.controller.md.sal.binding.api.DataChangeListener asyncCfgListener = new BackwardsCompatibleConfigurationDataChangeInvoker(listener); - - final ListenerRegistration cfgReg = delegate.registerDataChangeListener(LogicalDatastoreType.CONFIGURATION, path, asyncCfgListener, DataChangeScope.SUBTREE); - final ListenerRegistration operReg = delegate.registerDataChangeListener(LogicalDatastoreType.OPERATIONAL, path, asyncOperListener, DataChangeScope.SUBTREE); - - return new LegacyListenerRegistration(listener,cfgReg,operReg); - } - - @Deprecated - private class ForwardedBackwardsCompatibleTransacion implements DataModificationTransaction { - - private final ListenerRegistry listeners = ListenerRegistry.create(); - private final Map, DataObject> updated = new HashMap<>(); - private final Map, DataObject> created = new HashMap<>(); - private final Set> removed = new HashSet<>(); - private final Map, DataObject> original = new HashMap<>(); - private TransactionStatus status = TransactionStatus.NEW; - - private final Set> posponedRemovedOperational = new HashSet<>(); - private final Set> posponedRemovedConfiguration = new HashSet<>(); - - private final ReadWriteTransaction delegate; - - - @Override - public final TransactionStatus getStatus() { - return status; - } - - protected ForwardedBackwardsCompatibleTransacion(final ReadWriteTransaction delegate) { - this.delegate = delegate; - LOG.debug("Tx {} allocated.",getIdentifier()); - } - - @Override - public void putOperationalData(final InstanceIdentifier path, final DataObject data) { - final boolean previouslyRemoved = posponedRemovedOperational.remove(path); - - @SuppressWarnings({ "rawtypes", "unchecked" }) - final InstanceIdentifier castedPath = (InstanceIdentifier) path; - if(previouslyRemoved) { - delegate.put(LogicalDatastoreType.OPERATIONAL, castedPath, data,true); - } else { - delegate.merge(LogicalDatastoreType.OPERATIONAL, castedPath, data,true); - } - } - - @Override - public void putConfigurationData(final InstanceIdentifier path, final DataObject data) { - final boolean previouslyRemoved = posponedRemovedConfiguration.remove(path); - final DataObject originalObj = readConfigurationData(path); - if (originalObj != null) { - original.put(path, originalObj); - - } else { - created.put(path, data); - } - updated.put(path, data); - @SuppressWarnings({"rawtypes","unchecked"}) - final InstanceIdentifier castedPath = (InstanceIdentifier) path; - if(previouslyRemoved) { - delegate.put(LogicalDatastoreType.CONFIGURATION, castedPath, data,true); - } else { - delegate.merge(LogicalDatastoreType.CONFIGURATION, castedPath, data,true); - } - } - - @Override - public void removeOperationalData(final InstanceIdentifier path) { - posponedRemovedOperational.add(path); - } - - @Override - public void removeConfigurationData(final InstanceIdentifier path) { - posponedRemovedConfiguration.add(path); - } - - @Override - public Map, DataObject> getCreatedOperationalData() { - return Collections.emptyMap(); - } - - @Override - public Map, DataObject> getCreatedConfigurationData() { - return created; - } - - @Override - public Map, DataObject> getUpdatedOperationalData() { - return Collections.emptyMap(); - } - - @Override - public Map, DataObject> getUpdatedConfigurationData() { - return updated; - } - - @Override - public Set> getRemovedConfigurationData() { - return removed; - } - - @Override - public Set> getRemovedOperationalData() { - return Collections.emptySet(); - } - - @Override - public Map, DataObject> getOriginalConfigurationData() { - return original; - } - - @Override - public Map, DataObject> getOriginalOperationalData() { - return Collections.emptyMap(); - } - - @Override - public DataObject readOperationalData(final InstanceIdentifier path) { - try { - return delegate.read(LogicalDatastoreType.OPERATIONAL, path).get().orNull(); - } catch (InterruptedException | ExecutionException e) { - LOG.error("Read of {} failed.", path,e); - return null; - } - } - - @Override - public DataObject readConfigurationData(final InstanceIdentifier path) { - try { - return delegate.read(LogicalDatastoreType.CONFIGURATION, path).get().orNull(); - } catch (InterruptedException | ExecutionException e) { - LOG.error("Read of {} failed.", path,e); - return null; - } - } - - private void changeStatus(final TransactionStatus status) { - LOG.trace("Transaction {} changed status to {}", getIdentifier(), status); - this.status = status; - - for(final ListenerRegistration listener : listeners) { - try { - listener.getInstance().onStatusUpdated(this, status); - } catch (final Exception e) { - LOG.error("Error during invoking transaction listener {}",listener.getInstance(),e); - } - } - } - - @Override - public ListenableFuture> commit() { - - for(final InstanceIdentifier path : posponedRemovedConfiguration) { - delegate.delete(LogicalDatastoreType.CONFIGURATION, path); - } - - for(final InstanceIdentifier path : posponedRemovedOperational) { - delegate.delete(LogicalDatastoreType.OPERATIONAL, path); - } - - changeStatus(TransactionStatus.SUBMITED); - - final ListenableFuture> f = delegate.commit(); - - Futures.addCallback(f, new FutureCallback>() { - @Override - public void onSuccess(final RpcResult result) { - changeStatus(result.getResult()); - } - - @Override - public void onFailure(final Throwable t) { - LOG.error("Transaction {} failed to complete", getIdentifier(), t); - changeStatus(TransactionStatus.FAILED); - } - }); - - return f; - } - - @Override - public ListenerRegistration registerListener(final DataTransactionListener listener) { - return listeners.register(listener); - } - - @Override - public Object getIdentifier() { - // TODO Auto-generated method stub - return null; - } - - } - - private static final class LegacyListenerRegistration implements ListenerRegistration { - - private final DataChangeListener instance; - private final ListenerRegistration cfgReg; - private final ListenerRegistration operReg; - - public LegacyListenerRegistration(final DataChangeListener listener, - final ListenerRegistration cfgReg, - final ListenerRegistration operReg) { - this.instance = listener; - this.cfgReg = cfgReg; - this.operReg = operReg; - } - - @Override - public DataChangeListener getInstance() { - return instance; - } - - @Override - public void close() { - cfgReg.close(); - operReg.close(); - } - - } - - private static class BackwardsCompatibleOperationalDataChangeInvoker implements org.opendaylight.controller.md.sal.binding.api.DataChangeListener, Delegator { - - private final org.opendaylight.controller.md.sal.common.api.data.DataChangeListener delegate; - - - public BackwardsCompatibleOperationalDataChangeInvoker(final DataChangeListener listener) { - this.delegate = listener; - } - - @SuppressWarnings({ "unchecked", "rawtypes" }) - @Override - public void onDataChanged(final AsyncDataChangeEvent, DataObject> change) { - - final DataChangeEvent legacyChange = HydrogenDataChangeEvent.createOperational(change); - delegate.onDataChanged(legacyChange); - - } - - @Override - public DataChangeListener getDelegate() { - return (DataChangeListener) delegate; - } - - } - - private static class BackwardsCompatibleConfigurationDataChangeInvoker implements org.opendaylight.controller.md.sal.binding.api.DataChangeListener, Delegator { - private final org.opendaylight.controller.md.sal.common.api.data.DataChangeListener delegate; - - public BackwardsCompatibleConfigurationDataChangeInvoker(final DataChangeListener listener) { - this.delegate = listener; - } - - @SuppressWarnings({ "unchecked", "rawtypes" }) - @Override - public void onDataChanged(final AsyncDataChangeEvent, DataObject> change) { - - final DataChangeEvent legacyChange = HydrogenDataChangeEvent.createConfiguration(change); - - delegate.onDataChanged(legacyChange); - - } - - @Override - public DataChangeListener getDelegate() { - return (DataChangeListener) delegate; - } - - } - - @Override - public void close() throws Exception { - // TODO Auto-generated method stub - } -} 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 49340fa200..35f7d87f74 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 @@ -12,7 +12,6 @@ import com.google.common.base.Preconditions; import com.google.common.collect.ClassToInstanceMap; 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.routing.RouteChangeListener; import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.RoutedRpcRegistration; @@ -45,10 +44,6 @@ public class HydrogenMountInstanceAdapter implements MountProviderInstance { this.identifier = key.getIdentifier(); final ImmutableClassToInstanceMap.Builder builder = ImmutableClassToInstanceMap.builder(); - final Optional dataBroker = key.getService(DataBroker.class); - if(dataBroker.isPresent()) { - builder.put(DataBrokerService.class, new HydrogenDataBrokerAdapter(dataBroker.get())); - } final Optional notificationService = key.getService(org.opendaylight.controller.md.sal.binding.api.NotificationService.class); if(notificationService.isPresent()) { builder.put(NotificationService.class, new HeliumNotificationServiceAdapter(notificationService.get())); diff --git a/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/md/sal/binding/impl/test/ForwardedBackwardsCompatibleDataBrokerTest.java b/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/md/sal/binding/impl/test/ForwardedBackwardsCompatibleDataBrokerTest.java deleted file mode 100644 index 3cdd9b5fcc..0000000000 --- a/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/md/sal/binding/impl/test/ForwardedBackwardsCompatibleDataBrokerTest.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright (c) 2014, 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.md.sal.binding.impl.test; - -import static junit.framework.TestCase.assertNotNull; - -import com.google.common.collect.ImmutableSet; -import java.util.concurrent.ExecutionException; -import org.junit.Before; -import org.junit.Test; -import org.opendaylight.controller.md.sal.binding.compat.HydrogenDataBrokerAdapter; -import org.opendaylight.controller.md.sal.binding.test.AbstractConcurrentDataBrokerTest; -import org.opendaylight.controller.md.sal.binding.test.DataBrokerTestCustomizer; -import org.opendaylight.controller.sal.binding.api.data.DataModificationTransaction; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.list.rev140701.Top; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.list.rev140701.two.level.list.TopLevelList; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.list.rev140701.two.level.list.TopLevelListBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.list.rev140701.two.level.list.TopLevelListKey; -import org.opendaylight.yangtools.yang.binding.DataObject; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; -import org.opendaylight.yangtools.yang.binding.YangModuleInfo; -import org.opendaylight.yangtools.yang.binding.util.BindingReflections; - -@Deprecated -public class ForwardedBackwardsCompatibleDataBrokerTest extends AbstractConcurrentDataBrokerTest { - - private HydrogenDataBrokerAdapter dataBroker; - private static final InstanceIdentifier TOP_PATH = InstanceIdentifier.create(Top.class); - private static final TopLevelListKey TOP_LIST_KEY = new TopLevelListKey("foo"); - private static final InstanceIdentifier NODE_PATH = TOP_PATH.child(TopLevelList.class, TOP_LIST_KEY); - private static final TopLevelList NODE = new TopLevelListBuilder().setKey(TOP_LIST_KEY).build(); - - @Override - protected Iterable getModuleInfos() throws Exception { - return ImmutableSet.of(BindingReflections.getModuleInfo(TopLevelList.class)); - } - - @Override - protected DataBrokerTestCustomizer createDataBrokerTestCustomizer() { - return new DataBrokerTestCustomizer(); - } - - @Before - public void setupWithDataBroker() { - this.dataBroker = new HydrogenDataBrokerAdapter(getDataBroker()); - } - - /** - * The purpose of this test is to exercise the backwards compatible broker - *

- * This test tries to execute the code which ensures that the parents - * for a given node get automatically created. - * - * @see org.opendaylight.controller.md.sal.binding.impl.AbstractReadWriteTransaction#ensureParentsByMerge(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType, org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier, org.opendaylight.yangtools.yang.binding.InstanceIdentifier) - */ - @Test - public void testEnsureParentsByMerge() throws InterruptedException, ExecutionException { - final DataModificationTransaction writeTx = - dataBroker.beginTransaction(); - - writeTx.putOperationalData(NODE_PATH, NODE); - - writeTx.commit().get(); - - // TOP_PATH should exist as it is the parent of NODE_PATH - final DataObject object = dataBroker.readOperationalData(TOP_PATH); - - assertNotNull(object); - - } - - -} diff --git a/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/util/BindingTestContext.java b/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/util/BindingTestContext.java index 9da772a18c..87f7eaaf13 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/util/BindingTestContext.java +++ b/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/util/BindingTestContext.java @@ -45,7 +45,6 @@ import org.opendaylight.controller.md.sal.dom.broker.impl.mount.DOMMountPointSer import org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStore; import org.opendaylight.controller.sal.binding.api.RpcConsumerRegistry; import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; -import org.opendaylight.controller.sal.binding.api.data.DataProviderService; import org.opendaylight.controller.sal.binding.api.mount.MountProviderService; import org.opendaylight.controller.sal.binding.impl.RootBindingAwareBroker; import org.opendaylight.controller.sal.core.api.BrokerService; @@ -83,9 +82,6 @@ public class BindingTestContext implements AutoCloseable { private ImmutableMap newDatastores; - @Deprecated - private DataProviderService baData; - private DOMDataBroker newDOMDataBroker; private final MockSchemaService mockSchemaService = new MockSchemaService(); @@ -262,6 +258,10 @@ public class BindingTestContext implements AutoCloseable { return this.baBrokerImpl.getLegacyMount(); } + public MountPointService getBindingMountPointService() { + return this.baBrokerImpl.getMountService(); + } + public DOMMountPointService getDomMountProviderService() { return this.biMountImpl; } diff --git a/opendaylight/md-sal/sal-binding-config/src/main/java/org/opendaylight/controller/config/yang/md/sal/binding/impl/ForwardedCompatibleDataBrokerImplModule.java b/opendaylight/md-sal/sal-binding-config/src/main/java/org/opendaylight/controller/config/yang/md/sal/binding/impl/ForwardedCompatibleDataBrokerImplModule.java deleted file mode 100644 index 6f03c159f9..0000000000 --- a/opendaylight/md-sal/sal-binding-config/src/main/java/org/opendaylight/controller/config/yang/md/sal/binding/impl/ForwardedCompatibleDataBrokerImplModule.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * 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.config.yang.md.sal.binding.impl; - -import org.opendaylight.controller.md.sal.binding.compat.HydrogenDataBrokerAdapter; - -import java.util.Collection; -import java.util.Collections; -import org.opendaylight.controller.sal.core.api.Broker.ProviderSession; -import org.opendaylight.controller.sal.core.api.Provider; - -/** -* -*/ -@Deprecated -public final class ForwardedCompatibleDataBrokerImplModule extends - org.opendaylight.controller.config.yang.md.sal.binding.impl.AbstractForwardedCompatibleDataBrokerImplModule - implements Provider { - - public ForwardedCompatibleDataBrokerImplModule( - final org.opendaylight.controller.config.api.ModuleIdentifier identifier, - final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) { - super(identifier, dependencyResolver); - } - - public ForwardedCompatibleDataBrokerImplModule( - final org.opendaylight.controller.config.api.ModuleIdentifier identifier, - final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, - final ForwardedCompatibleDataBrokerImplModule oldModule, final java.lang.AutoCloseable oldInstance) { - - super(identifier, dependencyResolver, oldModule, oldInstance); - } - - @Override - protected void customValidation() { - } - - @Override - public java.lang.AutoCloseable createInstance() { - final HydrogenDataBrokerAdapter dataBroker = new HydrogenDataBrokerAdapter(getDataBrokerDependency()); - return dataBroker; - } - - @Override - public void onSessionInitiated(final ProviderSession session) { - - } - - @Override - public Collection getProviderFunctionality() { - return Collections.emptySet(); - } -} diff --git a/opendaylight/md-sal/sal-binding-config/src/main/java/org/opendaylight/controller/config/yang/md/sal/binding/impl/ForwardedCompatibleDataBrokerImplModuleFactory.java b/opendaylight/md-sal/sal-binding-config/src/main/java/org/opendaylight/controller/config/yang/md/sal/binding/impl/ForwardedCompatibleDataBrokerImplModuleFactory.java deleted file mode 100644 index 1dee6fd3c0..0000000000 --- a/opendaylight/md-sal/sal-binding-config/src/main/java/org/opendaylight/controller/config/yang/md/sal/binding/impl/ForwardedCompatibleDataBrokerImplModuleFactory.java +++ /dev/null @@ -1,14 +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.config.yang.md.sal.binding.impl; - -@Deprecated -public class ForwardedCompatibleDataBrokerImplModuleFactory extends org.opendaylight.controller.config.yang.md.sal.binding.impl.AbstractForwardedCompatibleDataBrokerImplModuleFactory -{ - -} diff --git a/opendaylight/md-sal/sal-binding-config/src/main/yang/opendaylight-binding-broker-impl.yang b/opendaylight/md-sal/sal-binding-config/src/main/yang/opendaylight-binding-broker-impl.yang index d1383c1ec0..0316b115a6 100644 --- a/opendaylight/md-sal/sal-binding-config/src/main/yang/opendaylight-binding-broker-impl.yang +++ b/opendaylight/md-sal/sal-binding-config/src/main/yang/opendaylight-binding-broker-impl.yang @@ -47,14 +47,6 @@ module opendaylight-sal-binding-broker-impl { config:java-name-prefix BindingBrokerImpl; } - identity binding-data-compatible-broker { - status deprecated; - base config:module-type; - config:provided-service sal:binding-data-broker; - config:provided-service sal:binding-data-consumer-broker; - config:java-name-prefix ForwardedCompatibleDataBrokerImpl; - } - identity binding-forwarded-data-broker { status deprecated; base config:module-type; @@ -131,7 +123,7 @@ module opendaylight-sal-binding-broker-impl { }*/ container binding-broker-impl { uses dom-forwarding-component; - + container data-broker { status deprecated; uses config:service-ref { @@ -141,7 +133,7 @@ module opendaylight-sal-binding-broker-impl { } } } - + container notification-service { status deprecated; uses config:service-ref { @@ -151,7 +143,7 @@ module opendaylight-sal-binding-broker-impl { } } } - + container root-data-broker { status deprecated; uses config:service-ref { @@ -178,24 +170,6 @@ module opendaylight-sal-binding-broker-impl { } } - augment "/config:modules/config:module/config:configuration" { - case binding-data-compatible-broker { - when "/config:modules/config:module/config:type = 'binding-data-compatible-broker'"; - - container binding-data-compatible-broker { - container data-broker { - status deprecated; - uses config:service-ref { - refine type { - mandatory false; - config:required-identity sal:binding-async-data-broker; - } - } - } - } - } - } - augment "/config:modules/config:module/config:configuration" { case binding-forwarded-data-broker { when "/config:modules/config:module/config:type = 'binding-forwarded-data-broker'"; diff --git a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/CrossBrokerMountPointTest.java b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/CrossBrokerMountPointTest.java index 6eeb6a6ce7..d80e49c8d4 100644 --- a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/CrossBrokerMountPointTest.java +++ b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/CrossBrokerMountPointTest.java @@ -9,6 +9,7 @@ package org.opendaylight.controller.sal.binding.test.connect.dom; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; import com.google.common.base.Optional; import com.google.common.util.concurrent.CheckedFuture; @@ -17,8 +18,13 @@ import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.MoreExecutors; import java.util.Collections; import java.util.Map; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; import org.junit.Before; import org.junit.Test; +import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.md.sal.binding.api.MountPoint; +import org.opendaylight.controller.md.sal.binding.api.MountPointService; import org.opendaylight.controller.md.sal.common.api.TransactionStatus; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException; @@ -32,8 +38,6 @@ import org.opendaylight.controller.md.sal.dom.api.DOMDataReadWriteTransaction; import org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction; import org.opendaylight.controller.md.sal.dom.api.DOMMountPointService; import org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain; -import org.opendaylight.controller.sal.binding.api.mount.MountProviderInstance; -import org.opendaylight.controller.sal.binding.api.mount.MountProviderService; import org.opendaylight.controller.sal.binding.test.util.BindingBrokerTestFactory; import org.opendaylight.controller.sal.binding.test.util.BindingTestContext; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.of.migration.test.model.rev150210.List11SimpleAugment; @@ -64,7 +68,7 @@ public class CrossBrokerMountPointTest { private static final TopLevelListKey TLL_KEY = new TopLevelListKey(TLL_NAME); - private static final Map TLL_KEY_BI = Collections. singletonMap(TLL_NAME_QNAME, + private static final Map TLL_KEY_BI = Collections.singletonMap(TLL_NAME_QNAME, TLL_NAME); private static final InstanceIdentifier TLL_INSTANCE_ID_BA = InstanceIdentifier.builder(Top.class) // @@ -85,23 +89,23 @@ public class CrossBrokerMountPointTest { Cont.QNAME.getLocalName()); private static final org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier TLL_INSTANCE_ID_BI = // - org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.builder() // + YangInstanceIdentifier.builder() // .node(Top.QNAME) // .node(TopLevelList.QNAME) // .nodeWithKey(TopLevelList.QNAME, TLL_KEY_BI) // .build(); - private static final org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier GROUP_STATISTICS_ID_BI = org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier - // + private static final org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier GROUP_STATISTICS_ID_BI = + YangInstanceIdentifier .builder(TLL_INSTANCE_ID_BI) - .nodeWithKey(QName.create(TllComplexAugment.QNAME, "list1"), QName.create(TllComplexAugment.QNAME, "attr-str"), - LIST1_KEY.getAttrStr()) - .nodeWithKey(QName.create(TllComplexAugment.QNAME, "list1-1"), QName.create(TllComplexAugment.QNAME, "attr-int"), - LIST11_KEY.getAttrInt()) + .nodeWithKey(QName.create(TllComplexAugment.QNAME, "list1"), + QName.create(TllComplexAugment.QNAME, "attr-str"), LIST1_KEY.getAttrStr()) + .nodeWithKey(QName.create(TllComplexAugment.QNAME, "list1-1"), + QName.create(TllComplexAugment.QNAME, "attr-int"), LIST11_KEY.getAttrInt()) .node(AUG_CONT).build(); private BindingTestContext testContext; - private MountProviderService bindingMountPointService; + private MountPointService bindingMountPointService; private DOMMountPointService domMountPointService; @Before @@ -112,7 +116,7 @@ public class CrossBrokerMountPointTest { testContext = testFactory.getTestContext(); testContext.start(); - bindingMountPointService = testContext.getBindingMountProviderService(); + bindingMountPointService = testContext.getBindingMountPointService(); domMountPointService = testContext.getDomMountProviderService(); // biRpcInvoker = testContext.getDomRpcInvoker(); @@ -123,14 +127,15 @@ public class CrossBrokerMountPointTest { } @Test - public void testMountPoint() { + public void testMountPoint() throws ReadFailedException, TimeoutException { final Integer attrIntValue = 500; domMountPointService.createMountPoint(TLL_INSTANCE_ID_BI) .addService(DOMDataBroker.class, new DOMDataBroker() { @Override - public ListenerRegistration registerDataChangeListener(final LogicalDatastoreType store, - final YangInstanceIdentifier path, final DOMDataChangeListener listener, final DataChangeScope triggeringScope) { + public ListenerRegistration registerDataChangeListener( + final LogicalDatastoreType store, final YangInstanceIdentifier path, + final DOMDataChangeListener listener, final DataChangeScope triggeringScope) { throw new UnsupportedOperationException(); } @@ -146,16 +151,19 @@ public class CrossBrokerMountPointTest { @Override public CheckedFuture>, ReadFailedException> read( final LogicalDatastoreType store, final YangInstanceIdentifier path) { - if(store == LogicalDatastoreType.OPERATIONAL && path.getLastPathArgument().equals(GROUP_STATISTICS_ID_BI.getLastPathArgument())) { + if (store == LogicalDatastoreType.OPERATIONAL && path.getLastPathArgument() + .equals(GROUP_STATISTICS_ID_BI.getLastPathArgument())) { final ContainerNode data = Builders.containerBuilder() .withNodeIdentifier(new NodeIdentifier(AUG_CONT)) - .withChild(ImmutableNodes.leafNode(QName.create(AUG_CONT, "attr-int"), attrIntValue)) + .withChild(ImmutableNodes.leafNode(QName.create(AUG_CONT, "attr-int"), + attrIntValue)) .build(); return Futures.immediateCheckedFuture(Optional.>of(data)); } - return Futures.immediateFailedCheckedFuture(new ReadFailedException(TLL_NAME, new Exception())); + return Futures.immediateFailedCheckedFuture(new ReadFailedException(TLL_NAME, + new Exception())); } @Override @@ -220,13 +228,15 @@ public class CrossBrokerMountPointTest { } }).register(); + final Optional bindingMountPoint = bindingMountPointService.getMountPoint(TLL_INSTANCE_ID_BA); + assertTrue(bindingMountPoint.isPresent()); + final Optional dataBroker = bindingMountPoint.get().getService(DataBroker.class); + assertTrue(dataBroker.isPresent()); - final MountProviderInstance bindingMountPoint = bindingMountPointService.getMountPoint(TLL_INSTANCE_ID_BA); - assertNotNull(bindingMountPoint); - - final Cont data = (Cont) bindingMountPoint.readOperationalData(AUG_CONT_ID_BA); - assertNotNull(data); - assertEquals(attrIntValue ,data.getAttrInt()); + final Optional data = dataBroker.get().newReadWriteTransaction().read(LogicalDatastoreType.OPERATIONAL, + AUG_CONT_ID_BA).checkedGet(5, TimeUnit.SECONDS); + assertTrue(data.isPresent()); + assertEquals(attrIntValue ,data.get().getAttrInt()); } }