From: Robert Varga Date: Sun, 14 Sep 2014 22:21:12 +0000 (+0200) Subject: BUG-509: remove HashMapDataStore X-Git-Tag: release/helium~43 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=7f7ae44a714fb15e8c041f6db134d5670f4e7ea9;hp=-c BUG-509: remove HashMapDataStore The HashMapDataStore is not something we want to ship in Helium -- it is utterly obsolete and defunct. So just remove it. Change-Id: I62977f0f897752a388673f977222c79ff55062f0 Signed-off-by: Robert Varga --- 7f7ae44a714fb15e8c041f6db134d5670f4e7ea9 diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/config/yang/md/sal/dom/impl/HashMapDataStoreModule.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/config/yang/md/sal/dom/impl/HashMapDataStoreModule.java deleted file mode 100644 index df1b5a3403..0000000000 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/config/yang/md/sal/dom/impl/HashMapDataStoreModule.java +++ /dev/null @@ -1,37 +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.dom.impl; - -import org.opendaylight.controller.sal.dom.broker.impl.HashMapDataStore; - -/** -* -*/ -public final class HashMapDataStoreModule extends org.opendaylight.controller.config.yang.md.sal.dom.impl.AbstractHashMapDataStoreModule -{ - - public HashMapDataStoreModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) { - super(identifier, dependencyResolver); - } - - public HashMapDataStoreModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, HashMapDataStoreModule oldModule, java.lang.AutoCloseable oldInstance) { - super(identifier, dependencyResolver, oldModule, oldInstance); - } - - @Override - public void validate(){ - super.validate(); - // Add custom validation for module attributes here. - } - - @Override - public java.lang.AutoCloseable createInstance() { - HashMapDataStore store = new HashMapDataStore(); - return store; - } -} diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/config/yang/md/sal/dom/impl/HashMapDataStoreModuleFactory.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/config/yang/md/sal/dom/impl/HashMapDataStoreModuleFactory.java deleted file mode 100644 index 6b5503f794..0000000000 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/config/yang/md/sal/dom/impl/HashMapDataStoreModuleFactory.java +++ /dev/null @@ -1,17 +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.dom.impl; - -/** -* -*/ -public class HashMapDataStoreModuleFactory extends org.opendaylight.controller.config.yang.md.sal.dom.impl.AbstractHashMapDataStoreModuleFactory -{ - - -} diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/impl/HashMapDataStore.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/impl/HashMapDataStore.java deleted file mode 100644 index 1f82bd71b4..0000000000 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/impl/HashMapDataStore.java +++ /dev/null @@ -1,121 +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.dom.broker.impl; - -import java.util.HashSet; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; - -import org.opendaylight.controller.md.sal.common.api.data.DataCommitHandler; -import org.opendaylight.controller.md.sal.common.api.data.DataModification; -import org.opendaylight.controller.sal.core.api.data.DataStore; -import org.opendaylight.yangtools.yang.common.RpcResult; -import org.opendaylight.yangtools.yang.common.RpcResultBuilder; -import org.opendaylight.yangtools.yang.data.api.CompositeNode; -import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public final class HashMapDataStore implements DataStore, AutoCloseable { - private static final Logger LOG = LoggerFactory - .getLogger(HashMapDataStore.class); - - private final Map configuration = new ConcurrentHashMap(); - private final Map operational = new ConcurrentHashMap(); - - @Override - public boolean containsConfigurationPath(final YangInstanceIdentifier path) { - return configuration.containsKey(path); - } - - @Override - public boolean containsOperationalPath(final YangInstanceIdentifier path) { - return operational.containsKey(path); - } - - @Override - public Iterable getStoredConfigurationPaths() { - return configuration.keySet(); - } - - @Override - public Iterable getStoredOperationalPaths() { - return operational.keySet(); - } - - @Override - public CompositeNode readConfigurationData(final YangInstanceIdentifier path) { - LOG.trace("Reading configuration path {}", path); - return configuration.get(path); - } - - @Override - public CompositeNode readOperationalData(YangInstanceIdentifier path) { - LOG.trace("Reading operational path {}", path); - return operational.get(path); - } - - @Override - public DataCommitHandler.DataCommitTransaction requestCommit( - final DataModification modification) { - return new HashMapDataStoreTransaction(modification, this); - } - - public RpcResult rollback(HashMapDataStoreTransaction transaction) { - return RpcResultBuilder. success().build(); - } - - public RpcResult finish(HashMapDataStoreTransaction transaction) { - final DataModification modification = transaction - .getModification(); - for (final YangInstanceIdentifier removal : modification - .getRemovedConfigurationData()) { - LOG.trace("Removing configuration path {}", removal); - remove(configuration, removal); - } - for (final YangInstanceIdentifier removal : modification - .getRemovedOperationalData()) { - LOG.trace("Removing operational path {}", removal); - remove(operational, removal); - } - if (LOG.isTraceEnabled()) { - for (final YangInstanceIdentifier a : modification - .getUpdatedConfigurationData().keySet()) { - LOG.trace("Adding configuration path {}", a); - } - for (final YangInstanceIdentifier a : modification - .getUpdatedOperationalData().keySet()) { - LOG.trace("Adding operational path {}", a); - } - } - configuration.putAll(modification.getUpdatedConfigurationData()); - operational.putAll(modification.getUpdatedOperationalData()); - - return RpcResultBuilder. success().build(); - } - - public void remove(final Map map, - final YangInstanceIdentifier identifier) { - Set affected = new HashSet(); - for (final YangInstanceIdentifier path : map.keySet()) { - if (identifier.contains(path)) { - affected.add(path); - } - } - for (final YangInstanceIdentifier pathToRemove : affected) { - LOG.trace("Removed path {}", pathToRemove); - map.remove(pathToRemove); - } - } - - @Override - public void close() { - // NOOP - } -} diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/impl/HashMapDataStoreTransaction.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/impl/HashMapDataStoreTransaction.java deleted file mode 100644 index ee026b6006..0000000000 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/impl/HashMapDataStoreTransaction.java +++ /dev/null @@ -1,42 +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.dom.broker.impl; - -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.yang.common.RpcResult; -import org.opendaylight.yangtools.yang.data.api.CompositeNode; -import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; - -public class HashMapDataStoreTransaction implements - DataCommitTransaction { - private final DataModification modification; - private final HashMapDataStore datastore; - - HashMapDataStoreTransaction( - final DataModification modify, - final HashMapDataStore store) { - modification = modify; - datastore = store; - } - - @Override - public RpcResult finish() throws IllegalStateException { - return datastore.finish(this); - } - - @Override - public DataModification getModification() { - return this.modification; - } - - @Override - public RpcResult rollback() throws IllegalStateException { - return datastore.rollback(this); - } -} \ No newline at end of file diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/yang/opendaylight-dom-broker-impl.yang b/opendaylight/md-sal/sal-dom-broker/src/main/yang/opendaylight-dom-broker-impl.yang index b1df7efcdb..e81f71a7d2 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/yang/opendaylight-dom-broker-impl.yang +++ b/opendaylight/md-sal/sal-dom-broker/src/main/yang/opendaylight-dom-broker-impl.yang @@ -32,12 +32,6 @@ module opendaylight-sal-dom-broker-impl { config:provided-service sal:dom-async-data-broker; } - identity hash-map-data-store { - base config:module-type; - config:provided-service sal:dom-data-store; - config:java-name-prefix HashMapDataStore; - } - identity schema-service-singleton { base config:module-type; config:provided-service sal:schema-service; @@ -129,12 +123,6 @@ module opendaylight-sal-dom-broker-impl { } } - augment "/config:modules/config:module/config:state" { - case hash-map-data-store { - when "/config:modules/config:module/config:type = 'hash-map-data-store'"; - } - } - augment "/config:modules/config:module/config:state" { case schema-service-singleton { when "/config:modules/config:module/config:type = 'schema-service-singleton'"; @@ -149,4 +137,4 @@ module opendaylight-sal-dom-broker-impl { } } } -} \ No newline at end of file +}