2 * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.openflowplugin.applications.frsync.util;
10 import org.opendaylight.mdsal.binding.api.DataObjectModification;
11 import org.opendaylight.mdsal.binding.api.DataTreeModification;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
17 * Basic {@link DataTreeModification} related tools.
19 public final class ModificationUtil {
21 private ModificationUtil() {
22 throw new IllegalStateException("This class should not be instantiated.");
25 public static String nodeIdValue(DataTreeModification<Node> modification) {
26 final NodeId nodeId = nodeId(modification);
32 return nodeId.getValue();
35 public static NodeId nodeId(DataTreeModification<Node> modification) {
36 final DataObjectModification<Node> rootNode = modification.getRootNode();
37 final Node dataAfter = rootNode.getDataAfter();
39 if (dataAfter != null) {
40 return dataAfter.getId();
43 final Node dataBefore = rootNode.getDataBefore();
44 if (dataBefore != null) {
45 return dataBefore.getId();
51 public static FlowCapableNode flowCapableNodeAfter(DataTreeModification<Node> modification) {
52 final Node dataAfter = modification.getRootNode().getDataAfter();
53 if (dataAfter == null) {
56 return dataAfter.augmentation(FlowCapableNode.class);