X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-binding-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fbinding%2Fimpl%2FDataTransactionImpl.java;h=b0eb9eeb42a9fedae6286082ccf4ae127aec25a2;hb=ce2938e5616a170ca2fb2f5b478b3b2ceff832a1;hp=c970fc5e920db0cfbfcd8a277ec9bcaa8a109fb6;hpb=17c23f3c4f9726f268b481398ee0ca1df499b324;p=controller.git diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/impl/DataTransactionImpl.java b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/impl/DataTransactionImpl.java index c970fc5e92..b0eb9eeb42 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/impl/DataTransactionImpl.java +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/impl/DataTransactionImpl.java @@ -1,89 +1,22 @@ package org.opendaylight.controller.sal.binding.impl; -import java.util.concurrent.Future; - import org.opendaylight.controller.md.sal.common.api.TransactionStatus; -import org.opendaylight.controller.md.sal.common.impl.AbstractDataModification; -import org.opendaylight.controller.md.sal.common.impl.ListenerRegistry; +import org.opendaylight.controller.md.sal.common.impl.service.AbstractDataTransaction; import org.opendaylight.controller.sal.binding.api.data.DataModificationTransaction; +import org.opendaylight.controller.sal.binding.api.data.DataModificationTransaction.DataTransactionListener; import org.opendaylight.yangtools.concepts.ListenerRegistration; +import org.opendaylight.yangtools.concepts.util.ListenerRegistry; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; -import org.opendaylight.yangtools.yang.common.RpcResult; - -public class DataTransactionImpl extends AbstractDataModification, DataObject> - implements DataModificationTransaction { - - private final Object identifier; - - private TransactionStatus status; - private ListenerRegistry listeners; - - final DataBrokerImpl broker; - - public DataTransactionImpl(DataBrokerImpl dataBroker) { - super(dataBroker); - identifier = new Object(); - broker = dataBroker; - status = TransactionStatus.NEW; - listeners = new ListenerRegistry<>(); - } - - @Override - public Future> commit() { - return broker.commit(this); - } - - @Override - public DataObject readConfigurationData( - org.opendaylight.yangtools.yang.binding.InstanceIdentifier path) { - return broker.readConfigurationData(path); - } - @Override - public DataObject readOperationalData(InstanceIdentifier path) { - return broker.readOperationalData(path); - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((broker == null) ? 0 : broker.hashCode()); - result = prime * result + ((identifier == null) ? 0 : identifier.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - DataTransactionImpl other = (DataTransactionImpl) obj; - if (broker == null) { - if (other.broker != null) - return false; - } else if (!broker.equals(other.broker)) - return false; - if (identifier == null) { - if (other.identifier != null) - return false; - } else if (!identifier.equals(other.identifier)) - return false; - return true; - } - - @Override - public TransactionStatus getStatus() { - return status; - } - - @Override - public Object getIdentifier() { - return identifier; +public class DataTransactionImpl extends AbstractDataTransaction, DataObject> + implements DataModificationTransaction { + private final ListenerRegistry listeners = new ListenerRegistry(); + + + + public DataTransactionImpl(Object identifier,DataBrokerImpl dataBroker) { + super(identifier,dataBroker); } @Override @@ -91,11 +24,9 @@ public class DataTransactionImpl extends AbstractDataModification> listenersToNotify = listeners.getListeners(); - for (ListenerRegistration listenerRegistration : listenersToNotify) { + protected void onStatusChange(TransactionStatus status) { + for (ListenerRegistration listenerRegistration : listeners) { listenerRegistration.getInstance().onStatusUpdated(this, status); } } -} +} \ No newline at end of file