private void statGroupCommit(final List<GroupStats> groupStats, final InstanceIdentifier<Node> nodeIdent, final ReadWriteTransaction tx) { Preconditions.checkNotNull(groupStats); Preconditions.checkNotNull(nodeIdent); Preconditions.checkNotNull(tx); final InstanceIdentifier<FlowCapableNode> fNodeIdent = nodeIdent.augmentation(FlowCapableNode.class); for (final GroupStats gStat : groupStats) { final GroupStatistics stats = new GroupStatisticsBuilder(gStat).build(); final InstanceIdentifier<Group> groupIdent = fNodeIdent.child(Group.class, new GroupKey(gStat.getGroupId())); final InstanceIdentifier<NodeGroupStatistics> nGroupStatIdent =groupIdent .augmentation(NodeGroupStatistics.class); final InstanceIdentifier<GroupStatistics> gsIdent = nGroupStatIdent.child(GroupStatistics.class); /* Statistics Writing */ Optional<Group> group = Optional.absent(); try { group = tx.read(LogicalDatastoreType.OPERATIONAL, groupIdent).checkedGet(); } catch (final ReadFailedException e) { LOG.debug("Read Operational/DS for Group node fail! {}", groupIdent, e); } if (group.isPresent()) { tx.merge(LogicalDatastoreType.OPERATIONAL, nGroupStatIdent, new NodeGroupStatisticsBuilder().build(), true); tx.put(LogicalDatastoreType.OPERATIONAL, gsIdent, stats); } } }
private void statGroupCommit(final List<GroupStats> groupStats, final InstanceIdentifier<Node> nodeIdent, final ReadWriteTransaction tx) { Preconditions.checkNotNull(groupStats); Preconditions.checkNotNull(nodeIdent); Preconditions.checkNotNull(tx); final InstanceIdentifier<FlowCapableNode> fNodeIdent = nodeIdent.augmentation(FlowCapableNode.class); for (final GroupStats gStat : groupStats) { final GroupStatistics stats = new GroupStatisticsBuilder(gStat).build(); final InstanceIdentifier<Group> groupIdent = fNodeIdent.child(Group.class, new GroupKey(gStat.getGroupId())); final InstanceIdentifier<NodeGroupStatistics> nGroupStatIdent =groupIdent .augmentation(NodeGroupStatistics.class); final InstanceIdentifier<GroupStatistics> gsIdent = nGroupStatIdent.child(GroupStatistics.class); /* Statistics Writing */ Optional<Group> group = Optional.absent(); try { group = tx.read(LogicalDatastoreType.OPERATIONAL, groupIdent).checkedGet(); } catch (final ReadFailedException e) { LOG.debug("Read Operational/DS for Group node fail! {}", groupIdent, e); } if (group.isPresent()) { tx.merge(LogicalDatastoreType.OPERATIONAL, nGroupStatIdent, new NodeGroupStatisticsBuilder().build(), true); tx.put(LogicalDatastoreType.OPERATIONAL, gsIdent, stats); } } }