X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-common-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fcommon%2Fimpl%2FAbstractDataModification.java;h=1d3967f94d0b0883cfbaea548745dfa2a92fb01b;hp=4b6a0185ab81ecc1bdaf2799de15b1a6af33ff7b;hb=be87d8279ec45f347381bc25c56f992785e61079;hpb=94d0d20b41d64bb6696c2a573ec367fcfddc44e9 diff --git a/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/AbstractDataModification.java b/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/AbstractDataModification.java index 4b6a0185ab..1d3967f94d 100644 --- a/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/AbstractDataModification.java +++ b/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/AbstractDataModification.java @@ -10,28 +10,28 @@ package org.opendaylight.controller.md.sal.common.impl; import static org.opendaylight.controller.md.sal.common.api.TransactionStatus.NEW; import java.util.Collections; +import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; import org.opendaylight.controller.md.sal.common.api.data.DataModification; import org.opendaylight.controller.md.sal.common.api.data.DataReader; import org.opendaylight.yangtools.concepts.Path; +@Deprecated public abstract class AbstractDataModification

, D> implements DataModification { - private final ConcurrentMap operationalOriginal; - private final ConcurrentMap configurationOriginal; + private final Map operationalOriginal; + private final Map configurationOriginal; - private final ConcurrentMap operationalCreated; - private final ConcurrentMap configurationCreated; + private final Map operationalCreated; + private final Map configurationCreated; - private final ConcurrentMap configurationUpdate; - private final ConcurrentMap operationalUpdate; + private final Map configurationUpdate; + private final Map operationalUpdate; - private final ConcurrentMap configurationRemove; - private final ConcurrentMap operationalRemove; + private final Map configurationRemove; + private final Map operationalRemove; private final Map unmodifiable_configurationOriginal; private final Map unmodifiable_operationalOriginal; @@ -41,20 +41,20 @@ public abstract class AbstractDataModification

, D> implements private final Map unmodifiable_operationalUpdate; private final Set

unmodifiable_configurationRemove; private final Set

unmodifiable_OperationalRemove; - private DataReader reader; + private final DataReader reader; - public AbstractDataModification(DataReader reader) { + public AbstractDataModification(final DataReader reader) { this.reader = reader; - this.configurationUpdate = new ConcurrentHashMap<>(); - this.operationalUpdate = new ConcurrentHashMap<>(); - this.configurationRemove = new ConcurrentHashMap<>(); - this.operationalRemove = new ConcurrentHashMap<>(); + this.configurationUpdate = new LinkedHashMap<>(); + this.operationalUpdate = new LinkedHashMap<>(); + this.configurationRemove = new LinkedHashMap<>(); + this.operationalRemove = new LinkedHashMap<>(); - this.configurationOriginal = new ConcurrentHashMap<>(); - this.operationalOriginal = new ConcurrentHashMap<>(); + this.configurationOriginal = new LinkedHashMap<>(); + this.operationalOriginal = new LinkedHashMap<>(); - this.configurationCreated = new ConcurrentHashMap<>(); - this.operationalCreated = new ConcurrentHashMap<>(); + this.configurationCreated = new LinkedHashMap<>(); + this.operationalCreated = new LinkedHashMap<>(); unmodifiable_configurationOriginal = Collections.unmodifiableMap(configurationOriginal); unmodifiable_operationalOriginal = Collections.unmodifiableMap(operationalOriginal); @@ -67,7 +67,7 @@ public abstract class AbstractDataModification

, D> implements } @Override - public final void putConfigurationData(P path, D data) { + public final void putConfigurationData(final P path, final D data) { checkMutable(); D original = null; if ((original = getConfigurationOriginal(path)) == null) { @@ -78,7 +78,7 @@ public abstract class AbstractDataModification

, D> implements } @Override - public final void putOperationalData(P path, D data) { + public final void putOperationalData(final P path, final D data) { checkMutable(); D original = null; if ((original = getOperationalOriginal(path)) == null) { @@ -88,12 +88,7 @@ public abstract class AbstractDataModification

, D> implements } @Override - public final void putRuntimeData(P path, D data) { - putOperationalData(path, data); - } - - @Override - public final void removeOperationalData(P path) { + public final void removeOperationalData(final P path) { checkMutable(); getOperationalOriginal(path); operationalUpdate.remove(path); @@ -101,12 +96,7 @@ public abstract class AbstractDataModification

, D> implements } @Override - public final void removeRuntimeData(P path) { - removeOperationalData(path); - } - - @Override - public final void removeConfigurationData(P path) { + public final void removeConfigurationData(final P path) { checkMutable(); getConfigurationOriginal(path); configurationUpdate.remove(path); @@ -114,8 +104,9 @@ public abstract class AbstractDataModification

, D> implements } private final void checkMutable() { - if (!NEW.equals(this.getStatus())) + if (!NEW.equals(this.getStatus())) { throw new IllegalStateException("Transaction was already submitted"); + } } @Override @@ -160,46 +151,46 @@ public abstract class AbstractDataModification

, D> implements } @Override - public D readOperationalData(P path) { + public D readOperationalData(final P path) { return reader.readOperationalData(path); } @Override - public D readConfigurationData(P path) { + public D readConfigurationData(final P path) { return reader.readConfigurationData(path); } - private D getConfigurationOriginal(P path) { + private D getConfigurationOriginal(final P path) { D data = configurationOriginal.get(path); if (data != null) { return data; } data = reader.readConfigurationData(path); if (data != null) { - configurationOriginal.putIfAbsent(path, data); + configurationOriginal.put(path, data); return data; } return null; } - private D getOperationalOriginal(P path) { + private D getOperationalOriginal(final P path) { D data = operationalOriginal.get(path); if (data != null) { return data; } data = reader.readOperationalData(path); if (data != null) { - operationalOriginal.putIfAbsent(path, data); + operationalOriginal.put(path, data); return data; } return null; } - - protected D mergeOperationalData(P path,D stored, D modified) { + + protected D mergeOperationalData(final P path,final D stored, final D modified) { return modified; } - - protected D mergeConfigurationData(P path,D stored, D modified) { + + protected D mergeConfigurationData(final P path,final D stored, final D modified) { return modified; } }