X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-binding-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fbinding%2Fimpl%2FDataTransactionImpl.java;h=1ea2eba87f932a565a7d537b8c41725c6ecfa8b8;hp=c970fc5e920db0cfbfcd8a277ec9bcaa8a109fb6;hb=b66923141fce710094cb8e61bf794f9f0e678f50;hpb=7d2f3fcb2fb4192434900449baf527d7590887fc 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..1ea2eba87f 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,28 @@ +/* + * 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.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.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; - } +public class DataTransactionImpl extends AbstractDataTransaction, DataObject> + implements DataModificationTransaction { + private final ListenerRegistry listeners = new ListenerRegistry(); - @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 DataTransactionImpl(Object identifier,DataBrokerImpl dataBroker) { + super(identifier,dataBroker); } @Override @@ -91,10 +30,9 @@ public class DataTransactionImpl extends AbstractDataModification> listenersToNotify = listeners.getListeners(); - for (ListenerRegistration listenerRegistration : listenersToNotify) { + @Override + protected void onStatusChange(TransactionStatus status) { + for (ListenerRegistration listenerRegistration : listeners) { listenerRegistration.getInstance().onStatusUpdated(this, status); } }