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%2Fservice%2FAbstractDataBroker.xtend;h=cef88fc375518de22f25b225905311bbc02df0ee;hp=da47438a6bb4a282045bb3fe44cd15863b9c3b03;hb=ce2938e5616a170ca2fb2f5b478b3b2ceff832a1;hpb=9468a50a8108ba5834e57b318bad7778cb31df12 diff --git a/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/service/AbstractDataBroker.xtend b/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/service/AbstractDataBroker.xtend index da47438a6b..cef88fc375 100644 --- a/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/service/AbstractDataBroker.xtend +++ b/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/service/AbstractDataBroker.xtend @@ -37,6 +37,7 @@ import org.opendaylight.yangtools.yang.common.RpcResult import org.slf4j.LoggerFactory import static com.google.common.base.Preconditions.* import org.opendaylight.controller.md.sal.common.api.data.DataChangeEvent +import com.google.common.collect.Multimaps abstract class AbstractDataBroker

, D, DCL extends DataChangeListener> implements DataModificationTransactionFactory, // DataReader, // @@ -60,8 +61,8 @@ DataProvisionService { @Property private val AtomicLong finishedTransactionsCount = new AtomicLong - Multimap> listeners = HashMultimap.create(); - Multimap> commitHandlers = HashMultimap.create(); + Multimap> listeners = Multimaps.synchronizedSetMultimap(HashMultimap.create()); + Multimap> commitHandlers = Multimaps.synchronizedSetMultimap(HashMultimap.create()); val ListenerRegistry>> commitHandlerRegistrationListeners = new ListenerRegistry(); public new() { @@ -85,7 +86,7 @@ DataProvisionService { override final registerCommitHandler(P path, DataCommitHandler commitHandler) { val registration = new DataCommitHandlerRegistrationImpl(path, commitHandler, this); commitHandlers.put(path, registration) - LOG.info("Registering Commit Handler {} for path: {}",commitHandler,path); + LOG.trace("Registering Commit Handler {} for path: {}",commitHandler,path); for(listener : commitHandlerRegistrationListeners) { try { listener.instance.onRegister(registration); @@ -132,7 +133,7 @@ DataProvisionService { protected final def removeCommitHandler(DataCommitHandlerRegistrationImpl registration) { commitHandlers.remove(registration.path, registration); - LOG.info("Removing Commit Handler {} for path: {}",registration.instance,registration.path); + LOG.trace("Removing Commit Handler {} for path: {}",registration.instance,registration.path); for(listener : commitHandlerRegistrationListeners) { try { listener.instance.onUnregister(registration); @@ -264,7 +265,7 @@ package class TwoPhaseCommit

, D, DCL extends DataChangeListene val transactionId = transaction.identifier; - log.info("Transaction: {} Started.",transactionId); + log.trace("Transaction: {} Started.",transactionId); // requesting commits val Iterable> commitHandlers = dataBroker.affectedCommitHandlers(affectedPaths); val List> handlerTransactions = new ArrayList(); @@ -288,7 +289,7 @@ package class TwoPhaseCommit

, D, DCL extends DataChangeListene dataBroker.failedTransactionsCount.andIncrement return rollback(handlerTransactions, e); } - log.info("Transaction: {} Finished successfully.",transactionId); + log.trace("Transaction: {} Finished successfully.",transactionId); dataBroker.finishedTransactionsCount.andIncrement; return Rpcs.getRpcResult(true, TransactionStatus.COMMITED, Collections.emptySet()); @@ -324,6 +325,8 @@ package class TwoPhaseCommit

, D, DCL extends DataChangeListene public abstract class AbstractDataTransaction

, D> extends AbstractDataModification { + private static val LOG = LoggerFactory.getLogger(AbstractDataTransaction); + @Property private val Object identifier; @@ -336,6 +339,7 @@ public abstract class AbstractDataTransaction

, D> extends Abst _identifier = identifier; broker = dataBroker; status = TransactionStatus.NEW; + LOG.debug("Transaction {} Allocated.", identifier); //listeners = new ListenerRegistry<>(); } @@ -345,10 +349,19 @@ public abstract class AbstractDataTransaction

, D> extends Abst } override readConfigurationData(P path) { + val local = this.updatedConfigurationData.get(path); + if(local != null) { + return local; + } + return broker.readConfigurationData(path); } override readOperationalData(P path) { + val local = this.updatedOperationalData.get(path); + if(local != null) { + return local; + } return broker.readOperationalData(path); } @@ -384,6 +397,7 @@ public abstract class AbstractDataTransaction

, D> extends Abst protected abstract def void onStatusChange(TransactionStatus status); public def changeStatus(TransactionStatus status) { + LOG.debug("Transaction {} transitioned from {} to {}", identifier, this.status, status); this.status = status; onStatusChange(status); }