X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fdom%2Fbroker%2Fimpl%2FHashMapDataStore.xtend;fp=opendaylight%2Fmd-sal%2Fsal-dom-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fdom%2Fbroker%2Fimpl%2FHashMapDataStore.xtend;h=0000000000000000000000000000000000000000;hb=0cb415cf4cb61d85d545a1940bdde33734fa23a3;hp=12835ccf0a235ec2a312e32313818525425c6f36;hpb=26da3c2a206a753356b507b018052cbb9cccca7d;p=controller.git diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/impl/HashMapDataStore.xtend b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/impl/HashMapDataStore.xtend deleted file mode 100644 index 12835ccf0a..0000000000 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/impl/HashMapDataStore.xtend +++ /dev/null @@ -1,141 +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 java.util.Map -import java.util.concurrent.ConcurrentHashMap -import org.opendaylight.controller.sal.common.util.Rpcs -import java.util.Collections -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier -import org.opendaylight.yangtools.yang.data.api.CompositeNode -import org.opendaylight.controller.sal.core.api.data.DataStore -import java.util.HashSet -import org.slf4j.LoggerFactory -import org.slf4j.Logger - -final class HashMapDataStore implements DataStore, AutoCloseable { - private val Logger LOG = LoggerFactory.getLogger(HashMapDataStore) - - val Map configuration = new ConcurrentHashMap(); - val Map operational = new ConcurrentHashMap(); - - - - override containsConfigurationPath(InstanceIdentifier path) { - return configuration.containsKey(path) - } - - override containsOperationalPath(InstanceIdentifier path) { - return operational.containsKey(path) - } - - override getStoredConfigurationPaths() { - configuration.keySet - } - - override getStoredOperationalPaths() { - operational.keySet - } - - override readConfigurationData(InstanceIdentifier path) { - LOG.trace("Reading configuration path {}", path) - configuration.get(path); - } - - override readOperationalData(InstanceIdentifier path) { - LOG.trace("Reading operational path {}", path) - operational.get(path); - } - - - - override requestCommit(DataModification modification) { - return new HashMapDataStoreTransaction(modification, this); - } - - def RpcResult rollback(HashMapDataStoreTransaction transaction) { - return Rpcs.getRpcResult(true, null, Collections.emptySet); - } - - def RpcResult finish(HashMapDataStoreTransaction transaction) { - val modification = transaction.modification; - for (removal : modification.removedConfigurationData) { - LOG.trace("Removing configuration path {}", removal) - remove(configuration,removal); - } - for (removal : modification.removedOperationalData) { - LOG.trace("Removing operational path {}", removal) - remove(operational,removal); - } - if (LOG.isTraceEnabled()) { - for (a : modification.updatedConfigurationData.keySet) { - LOG.trace("Adding configuration path {}", a) - } - for (a : modification.updatedOperationalData.keySet) { - LOG.trace("Adding operational path {}", a) - } - } - configuration.putAll(modification.updatedConfigurationData); - operational.putAll(modification.updatedOperationalData); - - return Rpcs.getRpcResult(true, null, Collections.emptySet); - } - - def remove(Map map, InstanceIdentifier identifier) { - val affected = new HashSet(); - for(path : map.keySet) { - if(identifier.contains(path)) { - affected.add(path); - } - } - for(pathToRemove : affected) { - LOG.trace("Removed path {}", pathToRemove) - map.remove(pathToRemove); - } - - } - - - override close() { - // NOOP - } - -} - -class HashMapDataStoreTransaction implements // -DataCommitTransaction { - @Property - val DataModification modification - - @Property - val HashMapDataStore datastore; - - new( - DataModification modify, - HashMapDataStore store - ) { - _modification = modify; - _datastore = store; - } - - override finish() throws IllegalStateException { - datastore.finish(this); - - } - - override getModification() { - this._modification; - } - - override rollback() throws IllegalStateException { - datastore.rollback(this); - } -}