X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fstatistics-manager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fstatistics%2Fmanager%2FStatisticsManager.java;h=6124bdf6422d80b3a06591af55af44b623472144;hp=751a68965dc69af4963cf8bd1197cce9590f056d;hb=a5899521495f3a3d089f42ed026bd5a6fea62411;hpb=dbd3524a5cdd27dd49fd09f1cf4ff0ff40e85c5e diff --git a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/StatisticsManager.java b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/StatisticsManager.java index 751a68965d..6124bdf642 100644 --- a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/StatisticsManager.java +++ b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/StatisticsManager.java @@ -24,6 +24,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.transaction.rev131103. import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.port.rev130925.queues.Queue; import org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.OpendaylightGroupStatisticsListener; import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.groups.Group; +import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node; import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.OpendaylightMeterStatisticsListener; import org.opendaylight.yang.gen.v1.urn.opendaylight.port.statistics.rev131214.OpendaylightPortStatisticsListener; @@ -53,14 +54,47 @@ public interface StatisticsManager extends AutoCloseable, TransactionChainListen * Internal {@link TransactionChainListener} joining all DS commits * to Set of chained changes for prevent often DataStore touches. */ - public interface StatDataStoreOperation { + public abstract class StatDataStoreOperation { + public enum StatsManagerOperationType { + /** + * Operation will carry out work related to new node addition / + * update + */ + NODE_UPDATE, + /** + * Operation will carry out work related to node removal + */ + NODE_REMOVAL, + /** + * Operation will commit data to the operational data store + */ + DATA_COMMIT_OPER_DS + } + + private NodeId nodeId; + private StatsManagerOperationType operationType = StatsManagerOperationType.DATA_COMMIT_OPER_DS; + + public StatDataStoreOperation(final StatsManagerOperationType operType, final NodeId id){ + if(operType != null){ + operationType = operType; + } + nodeId = id; + } + + public final StatsManagerOperationType getType() { + return operationType; + } + + public final NodeId getNodeId(){ + return nodeId; + } /** - * Apply all read / write (put|merge) operation - * for DataStore + * Apply all read / write (put|merge) operation for DataStore + * * @param {@link ReadWriteTransaction} tx */ - void applyOperation(ReadWriteTransaction tx); + public abstract void applyOperation(ReadWriteTransaction tx); }