nodeConnectorId = new NodeConnectorId(Arguments.<String>checkInstanceOf(nodeConnector.getID(), String.class));
}
final NodeConnectorKey connectorKey = new NodeConnectorKey(nodeConnectorId);
- final InstanceIdentifier<NodeConnector> path = InstanceIdentifier.builder(nodePath).child(NODECONNECTOR_CLASS, connectorKey).toInstance();
+ final InstanceIdentifier<NodeConnector> path = nodePath.child(NODECONNECTOR_CLASS, connectorKey);
return new NodeConnectorRef(path);
}
private static final InstanceIdentifier<Nodes> NODES_INSTANCE_ID_BA = InstanceIdentifier.builder(Nodes.class) //
.toInstance();
- private static final InstanceIdentifier<Node> NODE_INSTANCE_ID_BA = InstanceIdentifier
- .builder(NODES_INSTANCE_ID_BA) //
- .child(Node.class, NODE_KEY).toInstance();
+ private static final InstanceIdentifier<Node> NODE_INSTANCE_ID_BA =
+ NODES_INSTANCE_ID_BA.child(Node.class, NODE_KEY);
private static final org.opendaylight.yangtools.yang.data.api.InstanceIdentifier NODE_INSTANCE_ID_BI = //
org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.builder() //
/**
* Test for Bug 148
- *
+ *
* @throws Exception
*/
@Test
// Node meterStatsNodeWithDuration = createTestNode(NodeMeterStatistics.class, nodeMeterStatistics(5, true));
// commitNodeAndVerifyTransaction(meterStatsNodeWithDuration);
//
-//
+//
// Node nodeWithUpdatedList = (Node) baDataService.readOperationalData(NODE_INSTANCE_ID_BA);
// AugmentationVerifier.from(nodeWithUpdatedList) //
// .assertHasAugmentation(FlowCapableNode.class) //
// .assertHasAugmentation(NodeMeterStatistics.class);
-//
+//
// List<MeterStats> meterStats = nodeWithUpdatedList.getAugmentation(NodeMeterStatistics.class).getMeterStatistics().getMeterStats();
// assertNotNull(meterStats);
// assertFalse(meterStats.isEmpty());
private static final NodeKey NODE_FOO_KEY = new NodeKey(new NodeId("foo"));
private static final NodeKey NODE_BAR_KEY = new NodeKey(new NodeId("foo"));
private static InstanceIdentifier<Nodes> NODES_PATH = InstanceIdentifier.builder(Nodes.class).build();
- private static InstanceIdentifier<Node> NODE_FOO_PATH = InstanceIdentifier.builder(NODES_PATH)
- .child(Node.class, NODE_FOO_KEY).build();
- private static InstanceIdentifier<Node> NODE_BAR_PATH = InstanceIdentifier.builder(NODES_PATH)
- .child(Node.class, NODE_FOO_KEY).build();
+ private static InstanceIdentifier<Node> NODE_FOO_PATH = NODES_PATH.child(Node.class, NODE_FOO_KEY);
+ private static InstanceIdentifier<Node> NODE_BAR_PATH = NODES_PATH.child(Node.class, NODE_FOO_KEY);
@Test
public void testConcurrentCreate() throws InterruptedException, ExecutionException {
private static final UnorderedListKey UNORDERED_FOO_KEY = new UnorderedListKey("foo");
private static final UnorderedListKey UNORDERED_BAR_KEY = new UnorderedListKey("bar");
- private static final InstanceIdentifier<UnorderedList> UNORDERED_FOO_PATH = InstanceIdentifier.builder(UNORDERED_CONTAINER_PATH).child(UnorderedList.class,UNORDERED_FOO_KEY).build();
- private static final InstanceIdentifier<UnorderedList> UNORDERED_BAR_PATH = InstanceIdentifier.builder(UNORDERED_CONTAINER_PATH).child(UnorderedList.class,UNORDERED_BAR_KEY).build();
+ private static final InstanceIdentifier<UnorderedList> UNORDERED_FOO_PATH = UNORDERED_CONTAINER_PATH.child(UnorderedList.class,UNORDERED_FOO_KEY);
+ private static final InstanceIdentifier<UnorderedList> UNORDERED_BAR_PATH = UNORDERED_CONTAINER_PATH.child(UnorderedList.class,UNORDERED_BAR_KEY);
private static final OrderedListKey ORDERED_FOO_KEY = new OrderedListKey("foo");
private static final OrderedListKey ORDERED_BAR_KEY = new OrderedListKey("bar");
- private static final InstanceIdentifier<OrderedList> ORDERED_FOO_PATH = InstanceIdentifier.builder(ORDERED_CONTAINER_PATH).child(OrderedList.class,ORDERED_FOO_KEY).build();
- private static final InstanceIdentifier<OrderedList> ORDERED_BAR_PATH = InstanceIdentifier.builder(ORDERED_CONTAINER_PATH).child(OrderedList.class,ORDERED_BAR_KEY).build();
+ private static final InstanceIdentifier<OrderedList> ORDERED_FOO_PATH = ORDERED_CONTAINER_PATH.child(OrderedList.class,ORDERED_FOO_KEY);
+ private static final InstanceIdentifier<OrderedList> ORDERED_BAR_PATH = ORDERED_CONTAINER_PATH.child(OrderedList.class,ORDERED_BAR_KEY);
@Test
private static final FlowKey FLOW_KEY = new FlowKey(new FlowId("test"));
- private static final InstanceIdentifier<Flow> NODE_0_FLOW_PATH = InstanceIdentifier.builder(NODE_0_TABLE_PATH)
- .child(Flow.class, FLOW_KEY).build();
+ private static final InstanceIdentifier<Flow> NODE_0_FLOW_PATH = NODE_0_TABLE_PATH.child(Flow.class, FLOW_KEY);
- private static final InstanceIdentifier<Flow> NODE_1_FLOW_PATH = InstanceIdentifier.builder(NODE_1_TABLE_PATH)
- .child(Flow.class, FLOW_KEY).build();
+ private static final InstanceIdentifier<Flow> NODE_1_FLOW_PATH = NODE_1_TABLE_PATH.child(Flow.class, FLOW_KEY);
- private static final InstanceIdentifier<TableFeatures> NODE_0_TABLE_FEATURES_PATH = InstanceIdentifier
- .builder(NODE_0_TABLE_PATH).child(TableFeatures.class, TABLE_FEATURES_KEY).build();
+ private static final InstanceIdentifier<TableFeatures> NODE_0_TABLE_FEATURES_PATH =
+ NODE_0_TABLE_PATH.child(TableFeatures.class, TABLE_FEATURES_KEY);
private static final TableFeatures TABLE_FEATURES = new TableFeaturesBuilder()//
.setKey(TABLE_FEATURES_KEY) //
.toInstance();
- private static final InstanceIdentifier<Node> NODE_INSTANCE_ID_BA = InstanceIdentifier//
- .builder(NODES_INSTANCE_ID_BA) //
- .child(Node.class, NODE_KEY).toInstance();
+ private static final InstanceIdentifier<Node> NODE_INSTANCE_ID_BA = NODES_INSTANCE_ID_BA.child(Node.class, NODE_KEY);
- private static final InstanceIdentifier<SupportedActions> SUPPORTED_ACTIONS_INSTANCE_ID_BA = InstanceIdentifier//
- .builder(NODES_INSTANCE_ID_BA) //
+ private static final InstanceIdentifier<SupportedActions> SUPPORTED_ACTIONS_INSTANCE_ID_BA = //
+ NODES_INSTANCE_ID_BA.builder() //
.child(Node.class, NODE_KEY) //
.augmentation(FlowCapableNode.class) //
.child(SupportedActions.class)
NodeConnectorId ncId = new NodeConnectorId("openflow:1:bar");
NodeConnectorKey nodeKey = new NodeConnectorKey(ncId );
- InstanceIdentifier<NodeConnector> ncInstanceId = InstanceIdentifier.builder(NODE_INSTANCE_ID_BA).child(NodeConnector.class, nodeKey).toInstance();
+ InstanceIdentifier<NodeConnector> ncInstanceId = NODE_INSTANCE_ID_BA.child(NodeConnector.class, nodeKey);
NodeConnectorBuilder ncBuilder = new NodeConnectorBuilder();
ncBuilder.setId(ncId);
ncBuilder.setKey(nodeKey);
*/
package org.opendaylight.controller.sal.binding.test.bugfix;
-import com.google.common.collect.ImmutableSet;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
import org.junit.Test;
import org.opendaylight.controller.md.sal.common.api.TransactionStatus;
import org.opendaylight.controller.sal.binding.api.data.DataModificationTransaction;
import org.opendaylight.yangtools.yang.common.RpcResult;
import org.opendaylight.yangtools.yang.data.api.CompositeNode;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
+import com.google.common.collect.ImmutableSet;
public class FlagsSerializationTest extends AbstractDataServiceTest {
private static final NodeKey NODE_KEY = new NodeKey(new NodeId(NODE_ID));
private static final FlowKey FLOW_KEY = new FlowKey(new FlowId(FLOW_ID));
private static final TableKey TABLE_KEY = new TableKey(TABLE_ID);
-
+
private static final Map<QName, Object> NODE_KEY_BI = Collections.<QName, Object> singletonMap(NODE_ID_QNAME,
NODE_ID);
// private static final org.opendaylight.yangtools.yang.data.api.InstanceIdentifier FLOW_INSTANCE_ID_BI = //
// org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.builder() //
-//
+//
// .node(Flows.QNAME) //
// .nodeWithKey(Flow.QNAME, FLOW_KEY_BI) //
// .toInstance();
private static final InstanceIdentifier<? extends DataObject> FLOW_INSTANCE_ID_BA = //
- InstanceIdentifier.builder(NODE_INSTANCE_ID_BA) //
+ NODE_INSTANCE_ID_BA.builder() //
.augmentation(FlowCapableNode.class)
.child(Table.class,TABLE_KEY)
.child(Flow.class, FLOW_KEY) //
FlowModFlags checkOverlapFlags = new FlowModFlags(true,false,false,false,false);
ImmutableSet<String> domCheckOverlapFlags = ImmutableSet.<String>of("CHECK_OVERLAP");
testFlags(checkOverlapFlags,domCheckOverlapFlags);
-
-
-
+
+
+
FlowModFlags allFalseFlags = new FlowModFlags(false,false,false,false,false);
ImmutableSet<String> domAllFalseFlags = ImmutableSet.<String>of();
testFlags(allFalseFlags,domAllFalseFlags);
-
+
FlowModFlags allTrueFlags = new FlowModFlags(true,true,true,true,true);
ImmutableSet<String> domAllTrueFlags = ImmutableSet.<String>of("CHECK_OVERLAP","NO_BYT_COUNTS", "NO_PKT_COUNTS", "RESET_COUNTS", "SEND_FLOW_REM");
testFlags(allTrueFlags,domAllTrueFlags);
-
+
FlowModFlags nullFlags = null;
ImmutableSet<String> domNullFlags = null;
testFlags(null,null);
-
-
+
+
}
private void testFlags(FlowModFlags flagsToTest, ImmutableSet<String> domFlags) throws Exception {
Flow flow = createFlow(flagsToTest);
assertNotNull(flow);
-
+
CompositeNode domFlow = biDataService.readConfigurationData(mappingService.toDataDom(FLOW_INSTANCE_ID_BA));
-
+
assertNotNull(domFlow);
org.opendaylight.yangtools.yang.data.api.Node<?> readedFlags = domFlow.getFirstSimpleByName(FLOW_FLAGS_QNAME);
-
+
if(domFlags != null) {
assertNotNull(readedFlags);
assertEquals(domFlags,readedFlags.getValue());
assertNull(readedFlags);
}
assertEquals(flagsToTest, flow.getFlags());
-
+
DataModificationTransaction transaction = baDataService.beginTransaction();
transaction.removeConfigurationData(FLOW_INSTANCE_ID_BA);
RpcResult<TransactionStatus> result = transaction.commit().get();
assertEquals(TransactionStatus.COMMITED, result.getResult());
-
+
}
private Flow createFlow(FlowModFlags flagsToTest) throws Exception {
flow.setKey(FLOW_KEY);
flow.setMatch(match.build());
-
+
flow.setFlags(flagsToTest);
-
+
InstructionsBuilder instructions = new InstructionsBuilder();
InstructionBuilder instruction = new InstructionBuilder();
-
+
instruction.setOrder(10);
ApplyActionsBuilder applyActions = new ApplyActionsBuilder();
List<Action> actionList = new ArrayList<>();
private static final InstanceIdentifier<Nodes> NODES_INSTANCE_ID_BA = InstanceIdentifier.builder(Nodes.class) //
.toInstance();
- private static final InstanceIdentifier<Node> NODE_INSTANCE_ID_BA = InstanceIdentifier//
- .builder(NODES_INSTANCE_ID_BA) //
+ private static final InstanceIdentifier<Node> NODE_INSTANCE_ID_BA = //
+ NODES_INSTANCE_ID_BA.builder() //
.child(Node.class, NODE_KEY).toInstance();
- private static final InstanceIdentifier<SupportedActions> SUPPORTED_ACTIONS_INSTANCE_ID_BA = InstanceIdentifier//
- .builder(NODES_INSTANCE_ID_BA) //
+ private static final InstanceIdentifier<SupportedActions> SUPPORTED_ACTIONS_INSTANCE_ID_BA = //
+ NODES_INSTANCE_ID_BA.builder() //
.child(Node.class, NODE_KEY) //
.augmentation(FlowCapableNode.class) //
.child(SupportedActions.class).toInstance();
- private static final InstanceIdentifier<FlowCapableNode> ALL_FLOW_CAPABLE_NODES = InstanceIdentifier //
- .builder(NODES_INSTANCE_ID_BA) //
+ private static final InstanceIdentifier<FlowCapableNode> ALL_FLOW_CAPABLE_NODES = //
+ NODES_INSTANCE_ID_BA.builder() //
.child(Node.class) //
.augmentation(FlowCapableNode.class) //
.build();
.nodeWithKey(Node.QNAME, NODE_KEY_BI) //
.node(SUPPORTED_ACTIONS_QNAME) //
.toInstance();
- private static final InstanceIdentifier<FlowCapableNode> FLOW_AUGMENTATION_PATH = InstanceIdentifier //
- .builder(NODE_INSTANCE_ID_BA) //
+ private static final InstanceIdentifier<FlowCapableNode> FLOW_AUGMENTATION_PATH =
+ NODE_INSTANCE_ID_BA.builder() //
.augmentation(FlowCapableNode.class) //
.build();
fnub.setDescription("Description Foo");
fnub.setSoftware("JUnit emulated");
FlowCapableNode fnu = fnub.build();
- InstanceIdentifier<FlowCapableNode> augmentIdentifier = InstanceIdentifier.builder(NODE_INSTANCE_ID_BA)
- .augmentation(FlowCapableNode.class).toInstance();
+ InstanceIdentifier<FlowCapableNode> augmentIdentifier = NODE_INSTANCE_ID_BA
+ .augmentation(FlowCapableNode.class);
DataModificationTransaction augmentedTransaction = baDataService.beginTransaction();
augmentedTransaction.putOperationalData(augmentIdentifier, fnu);
lastReceivedChangeEvent = SettableFuture.create();
assertEquals(TransactionStatus.COMMITED, result.getResult());
- FlowCapableNode readedAugmentation = (FlowCapableNode) baDataService.readOperationalData(InstanceIdentifier
- .builder(NODE_INSTANCE_ID_BA).augmentation(FlowCapableNode.class).toInstance());
+ FlowCapableNode readedAugmentation = (FlowCapableNode) baDataService.readOperationalData(
+ NODE_INSTANCE_ID_BA.augmentation(FlowCapableNode.class));
assertNotNull(readedAugmentation);
assertEquals(fnu.getHardware(), readedAugmentation.getHardware());
private void testPutNodeConnectorWithAugmentation() throws Exception {
NodeConnectorKey ncKey = new NodeConnectorKey(new NodeConnectorId("test:0:0"));
- InstanceIdentifier<NodeConnector> ncPath = InstanceIdentifier.builder(NODE_INSTANCE_ID_BA)
- .child(NodeConnector.class, ncKey).toInstance();
- InstanceIdentifier<FlowCapableNodeConnector> ncAugmentPath = InstanceIdentifier.builder(ncPath)
- .augmentation(FlowCapableNodeConnector.class).toInstance();
+ InstanceIdentifier<NodeConnector> ncPath = NODE_INSTANCE_ID_BA
+ .child(NodeConnector.class, ncKey);
+ InstanceIdentifier<FlowCapableNodeConnector> ncAugmentPath = ncPath
+ .augmentation(FlowCapableNodeConnector.class);
NodeConnectorBuilder nc = new NodeConnectorBuilder();
nc.setKey(ncKey);
.child(Node.class, NODE_KEY).toInstance();
private static final InstanceIdentifier<Table> TABLE_INSTANCE_ID_BA = //
- InstanceIdentifier.builder(NODE_INSTANCE_ID_BA) //
+ NODE_INSTANCE_ID_BA.builder() //
.augmentation(FlowCapableNode.class).child(Table.class, TABLE_KEY).build();
private static final InstanceIdentifier<? extends DataObject> FLOW_INSTANCE_ID_BA = //
- InstanceIdentifier.builder(TABLE_INSTANCE_ID_BA) //
- .child(Flow.class, FLOW_KEY) //
- .toInstance();
+ TABLE_INSTANCE_ID_BA.child(Flow.class, FLOW_KEY);
/**
*
* The scenario tests writing parent node, which also contains child items
DataObject readedTable = baDataService.readConfigurationData(TABLE_INSTANCE_ID_BA);
assertNotNull("Readed table should not be nul.", readedTable);
assertTrue(readedTable instanceof Table);
-
+
DataObject readedFlow = baDataService.readConfigurationData(FLOW_INSTANCE_ID_BA);
assertNotNull("Readed flow should not be null.",readedFlow);
assertTrue(readedFlow instanceof Flow);
assertEquals(flow, readedFlow);
}
-}
\ No newline at end of file
+}
private static final TableKey TABLE_KEY_BA = new TableKey((short) 0);
private static final InstanceIdentifier<Flow> FLOWS_PATH_BA = //
- InstanceIdentifier.builder(NODE_INSTANCE_ID_BA) //
+ NODE_INSTANCE_ID_BA.builder() //
.augmentation(FlowCapableNode.class) //
.child(Table.class, TABLE_KEY_BA) //
.child(Flow.class) //
.toInstance();
private static final InstanceIdentifier<Flow> FLOW_INSTANCE_ID_BA = //
- InstanceIdentifier.builder(FLOWS_PATH_BA.firstIdentifierOf(Table.class)) //
- .child(Flow.class, FLOW_KEY) //
- .toInstance();
+ FLOWS_PATH_BA.firstIdentifierOf(Table.class).child(Flow.class, FLOW_KEY);
@Test
public void simpleModifyOperation() throws Exception {
.child(Node.class, NODE_KEY).toInstance();
private static GroupKey GROUP_KEY = new GroupKey(new GroupId(0L));
- private static final InstanceIdentifier<GroupStatistics> GROUP_STATISTICS_ID_BA = InstanceIdentifier
- .builder(NODE_INSTANCE_ID_BA).augmentation(FlowCapableNode.class) //
+ private static final InstanceIdentifier<GroupStatistics> GROUP_STATISTICS_ID_BA = NODE_INSTANCE_ID_BA
+ .builder().augmentation(FlowCapableNode.class) //
.child(Group.class, GROUP_KEY) //
.augmentation(NodeGroupStatistics.class) //
.child(GroupStatistics.class) //
abstract class AbstractStatsTracker<I, K> {
private static final Logger logger = LoggerFactory.getLogger(AbstractStatsTracker.class);
-
+
private static final int WAIT_FOR_REQUEST_CYCLE = 2;
-
+
private final FutureCallback<RpcResult<? extends TransactionAware>> callback =
new FutureCallback<RpcResult<? extends TransactionAware>>() {
@Override
}
protected final InstanceIdentifierBuilder<Node> getNodeIdentifierBuilder() {
- return InstanceIdentifier.builder(getNodeIdentifier());
+ return getNodeIdentifier().builder();
}
protected final NodeRef getNodeRef() {
if (Group.class.equals(key.getTargetType())) {
@SuppressWarnings("unchecked")
InstanceIdentifier<Group> group = (InstanceIdentifier<Group>)key;
- InstanceIdentifier<?> del = InstanceIdentifier.builder(group).augmentation(NodeGroupDescStats.class).toInstance();
+ InstanceIdentifier<?> del = group.augmentation(NodeGroupDescStats.class);
logger.debug("Key {} triggered remove of augmentation {}", key, del);
trans.removeOperationalData(del);
if (Group.class.equals(key.getTargetType())) {
@SuppressWarnings("unchecked")
InstanceIdentifier<Group> group = (InstanceIdentifier<Group>)key;
- InstanceIdentifier<?> del = InstanceIdentifier.builder(group).augmentation(NodeGroupStatistics.class).toInstance();
+ InstanceIdentifier<?> del = group.augmentation(NodeGroupStatistics.class);
logger.debug("Key {} triggered remove of augmentation {}", key, del);
trans.removeOperationalData(del);
InstanceIdentifier<Meter> meter = (InstanceIdentifier<Meter>)key;
InstanceIdentifier<?> nodeMeterStatisticsAugmentation =
- InstanceIdentifier.builder(meter).augmentation(NodeMeterConfigStats.class).toInstance();
+ meter.augmentation(NodeMeterConfigStats.class);
trans.removeOperationalData(nodeMeterStatisticsAugmentation);
}
}
InstanceIdentifier<Meter> meter = (InstanceIdentifier<Meter>)key;
InstanceIdentifier<?> nodeMeterStatisticsAugmentation =
- InstanceIdentifier.builder(meter).augmentation(NodeMeterStatistics.class).toInstance();
+ meter.augmentation(NodeMeterStatistics.class);
trans.removeOperationalData(nodeMeterStatisticsAugmentation);
}
}
if (Queue.class.equals(key.getTargetType())) {
@SuppressWarnings("unchecked")
final InstanceIdentifier<Queue> queue = (InstanceIdentifier<Queue>)key;
- final InstanceIdentifier<?> del = InstanceIdentifier.builder(queue)
- .augmentation(FlowCapableNodeConnectorQueueStatisticsData.class).build();
+ final InstanceIdentifier<?> del = queue
+ .augmentation(FlowCapableNodeConnectorQueueStatisticsData.class);
logger.debug("Key {} triggered remove of augmentation {}", key, del);
trans.removeOperationalData(del);
}
for (Link link : topologyData.getLink()) {
if (id.equals(link.getSource().getSourceNode()) || id.equals(link.getDestination().getDestNode())) {
- InstanceIdentifier<Link> path = InstanceIdentifier.builder(topologyPath)
- .child(Link.class, link.getKey()).build();
+ InstanceIdentifier<Link> path = topologyPath.child(Link.class, link.getKey());
transaction.removeOperationalData(path);
}
}
}
for (Link link : topologyData.getLink()) {
if (id.equals(link.getSource().getSourceTp()) || id.equals(link.getDestination().getDestTp())) {
- InstanceIdentifier<Link> path = InstanceIdentifier.builder(topologyPath)
- .child(Link.class, link.getKey()).build();
+ InstanceIdentifier<Link> path = topologyPath.child(Link.class, link.getKey());
transaction.removeOperationalData(path);
}
}
.child(Topology.class, topology).child(Link.class, link.getKey()).build();
return linkInstanceId;
}
-
+
/**
* @param txId transaction identificator
* @param future transaction result
*/
private static void listenOnTransactionState(final Object txId, Future<RpcResult<TransactionStatus>> future) {
Futures.addCallback(JdkFutureAdapters.listenInPoolThread(future),new FutureCallback<RpcResult<TransactionStatus>>() {
-
+
@Override
public void onFailure(Throwable t) {
LOG.error("Topology export failed for Tx:{}", txId, t);
-
+
}
-
+
@Override
public void onSuccess(RpcResult<TransactionStatus> result) {
if(!result.isSuccessful()) {