-/**
- * Copyright IBM Corporation, 2013. All rights reserved.
+/*
+ * Copyright (c) 2013, 2015 IBM Corporation and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
*/
package org.opendaylight.openflowplugin.test;
+import com.google.common.base.Preconditions;
+import com.google.common.util.concurrent.FutureCallback;
+import com.google.common.util.concurrent.MoreExecutors;
import java.util.ArrayList;
import java.util.List;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Future;
-
import org.eclipse.osgi.framework.console.CommandInterpreter;
import org.eclipse.osgi.framework.console.CommandProvider;
-import org.opendaylight.controller.md.sal.common.api.TransactionStatus;
-import org.opendaylight.controller.md.sal.common.api.data.DataModification;
-import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
-import org.opendaylight.controller.sal.binding.api.data.DataBrokerService;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Prefix;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.PortNumber;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Uri;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev100924.MacAddress;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.VlanCfi;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.ControllerActionCaseBuilder;
+import org.opendaylight.mdsal.binding.api.DataBroker;
+import org.opendaylight.mdsal.binding.api.ReadWriteTransaction;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.CopyTtlInCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.CopyTtlOutCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.DecMplsTtlCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.DecNwTtlCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.DropActionCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.FloodActionCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.FloodAllActionCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.GroupActionCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.HwPathActionCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.LoopbackActionCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.OutputActionCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.PopMplsActionCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.PopPbbActionCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.PushMplsActionCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.PushPbbActionCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.PushVlanActionCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.SetDlDstActionCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.SetDlSrcActionCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.SetDlTypeActionCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.SetMplsTtlActionCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.SetNextHopActionCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.SetNwDstActionCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.SetNwSrcActionCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.SetNwTosActionCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.SetNwTtlActionCaseBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.SetQueueActionCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.SetTpDstActionCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.SetTpSrcActionCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.SetVlanCfiActionCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.SetVlanIdActionCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.SetVlanPcpActionCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.SwPathActionCaseBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.controller.action._case.ControllerActionBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.copy.ttl.in._case.CopyTtlInBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.copy.ttl.out._case.CopyTtlOutBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.dec.mpls.ttl._case.DecMplsTtlBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.dec.nw.ttl._case.DecNwTtlBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.drop.action._case.DropAction;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.drop.action._case.DropActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.flood.action._case.FloodActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.flood.all.action._case.FloodAllActionBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.group.action._case.GroupActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.hw.path.action._case.HwPathActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.loopback.action._case.LoopbackActionBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.output.action._case.OutputActionBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.pop.mpls.action._case.PopMplsActionBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.pop.pbb.action._case.PopPbbActionBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.push.mpls.action._case.PushMplsActionBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.push.pbb.action._case.PushPbbActionBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.push.vlan.action._case.PushVlanActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.set.dl.dst.action._case.SetDlDstActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.set.dl.src.action._case.SetDlSrcActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.set.dl.type.action._case.SetDlTypeActionBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.set.mpls.ttl.action._case.SetMplsTtlActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.set.next.hop.action._case.SetNextHopActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.set.nw.dst.action._case.SetNwDstActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.set.nw.src.action._case.SetNwSrcActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.set.nw.tos.action._case.SetNwTosActionBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.set.nw.ttl.action._case.SetNwTtlActionBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.set.queue.action._case.SetQueueActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.set.tp.dst.action._case.SetTpDstActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.set.tp.src.action._case.SetTpSrcActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.set.vlan.cfi.action._case.SetVlanCfiActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.set.vlan.id.action._case.SetVlanIdActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.set.vlan.pcp.action._case.SetVlanPcpActionBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.action.sw.path.action._case.SwPathActionBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.Action;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.ActionBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.list.ActionKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.address.address.Ipv4Builder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode;
import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.OutputPortValues;
import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.BucketId;
import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.GroupId;
import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.GroupTypes;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.Groups;
import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.BucketsBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.buckets.Bucket;
import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.group.buckets.BucketBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.groups.GroupBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.groups.GroupKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeRef;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.l2.types.rev130827.EtherType;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.l2.types.rev130827.VlanId;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.l2.types.rev130827.VlanPcp;
-import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.opendaylight.yangtools.yang.common.RpcResult;
import org.osgi.framework.BundleContext;
+@SuppressWarnings("checkstyle:MethodName")
public class OpenflowpluginGroupTestCommandProvider implements CommandProvider {
+ private static final String ORIGINAL_GROUP_NAME = "Foo";
- private DataBrokerService dataBrokerService;
- private ProviderContext pc;
+ private final DataBroker dataBroker;
private final BundleContext ctx;
private Group testGroup;
- private Group testGroup2;
private Node testNode;
- private final String originalGroupName = "Foo";
- private final String updatedGroupName = "Bar";
- public OpenflowpluginGroupTestCommandProvider(BundleContext ctx) {
+ public OpenflowpluginGroupTestCommandProvider(DataBroker dataBroker, BundleContext ctx) {
+ this.dataBroker = dataBroker;
this.ctx = ctx;
}
- public void onSessionInitiated(ProviderContext session) {
- pc = session;
- dataBrokerService = session.getSALService(DataBrokerService.class);
+ public void init() {
ctx.registerService(CommandProvider.class.getName(), this, null);
createTestNode();
}
private void createUserNode(String nodeRef) {
- NodeRef nodeOne = createNodeRef(nodeRef);
NodeBuilder builder = new NodeBuilder();
builder.setId(new NodeId(nodeRef));
- builder.setKey(new NodeKey(builder.getId()));
+ builder.withKey(new NodeKey(builder.getId()));
testNode = builder.build();
}
private void createTestNode() {
- NodeRef nodeOne = createNodeRef(OpenflowpluginTestActivator.NODE_ID);
NodeBuilder builder = new NodeBuilder();
builder.setId(new NodeId(OpenflowpluginTestActivator.NODE_ID));
- builder.setKey(new NodeKey(builder.getId()));
+ builder.withKey(new NodeKey(builder.getId()));
testNode = builder.build();
}
private InstanceIdentifier<Node> nodeToInstanceId(Node node) {
- return InstanceIdentifier.builder(Nodes.class).child(Node.class, node.getKey()).toInstance();
+ return InstanceIdentifier.create(Nodes.class).child(Node.class, node.key());
}
- private GroupBuilder createTestGroup(String actiontype,String type,String mod) {
+ private GroupBuilder createTestGroup(String actionType, String groupType, String groupMod) {
// Sample data , committing to DataStore
-
- String GroupType = type;
- String ActionType = actiontype;
- String Groupmod = mod;
- DataModification modification = dataBrokerService.beginTransaction();
- long id = 1;
- GroupKey key = new GroupKey(new GroupId(id));
- GroupBuilder group = new GroupBuilder();
- BucketBuilder bucket = new BucketBuilder();
+ GroupBuilder group = new GroupBuilder();
+ BucketBuilder bucket = new BucketBuilder();
bucket.setBucketId(new BucketId((long) 12));
- bucket.setKey(new BucketKey(new BucketId((long) 12)));
-
- if (GroupType == null) {
- GroupType = "g1";
+ bucket.withKey(new BucketKey(new BucketId((long) 12)));
+
+ if (groupType == null) {
+ groupType = "g1";
}
- if(ActionType==null){
- ActionType="a1";
+ if (actionType == null) {
+ actionType = "a1";
}
- switch (GroupType) {
- case "g1":
- group.setGroupType(GroupTypes.GroupSelect);
- break;
- case "g2":
- group.setGroupType(GroupTypes.GroupAll);
- break;
- case "g3":
- group.setGroupType(GroupTypes.GroupIndirect);
- break;
- case "g4":
- group.setGroupType(GroupTypes.GroupFf);
- break;
+ switch (groupType) {
+ case "g1":
+ group.setGroupType(GroupTypes.GroupSelect);
+ break;
+ case "g2":
+ group.setGroupType(GroupTypes.GroupAll);
+ break;
+ case "g3":
+ group.setGroupType(GroupTypes.GroupIndirect);
+ break;
+ case "g4":
+ group.setGroupType(GroupTypes.GroupFf);
+ break;
+ default:
+ break;
}
-
- switch (ActionType){
- case "a1":
- bucket.setAction(createPopVlanAction());
- break;
- case "a2":
- bucket.setAction(createPushVlanAction());
- break;
- case "a3":
- bucket.setAction(createPushMplsAction());
- break;
- case "a4":
- bucket.setAction(createPopMplsAction());
- break;
- case "a5":
- bucket.setAction(createPopPbbAction());
- break;
- case "a6":
- bucket.setAction(createPushPbbAction());
- break;
- case "a7":
- bucket.setAction(createPushPbbAction());
- break;
- case "a8":
- bucket.setAction(createCopyTtlInAction());
- break;
- case "a9":
- bucket.setAction(createCopyTtlOutAction());
- break;
- case "a10":
- bucket.setAction(createDecMplsTtlAction());
- break;
- case "a11":
- bucket.setAction(createDecNwTtlAction());
- break;
- case "a12":
- bucket.setAction(createSetQueueAction());
- break;
- case "a13":
- bucket.setAction(createSetNwTtlAction());
- break;
- case "a14":
- bucket.setAction(createGroupAction());
- break;
- case "a15":
- bucket.setAction(createSetMplsTtlAction());
- break;
- case "a16":
- bucket.setAction(createFloodOutputAction());
- break;
- case "a17":
- bucket.setAction(createAllOutputAction());
- break;
- case "a18":
- bucket.setAction(createNormalOutputAction());
- break;
- case "a19":
- bucket.setAction(creatTableOutputAction());
- break;
- case "a20":
- bucket.setAction(createControllerAction());
- break;
- case "a21":
- bucket.setAction(createLocalOutputAction());
- break;
- case "a22":
- bucket.setAction(createAnyOutputAction());
- break;
- case "a23":
- bucket.setAction(createInportOutputAction());
- break;
- case "a24" :
- bucket.setAction(null);
- break;
- case "a25" :
- bucket.setAction(createNonAppyOutputAction());
- break;
- case "a26" :
- bucket.setAction(createNonAppyPushMplsAction());
- break;
- case "a27" :
- bucket.setAction(createNonAppyPushPbbAction());
- break;
- case "a28" :
- bucket.setAction(createNonAppyPushVlanAction());
- break;
-
+
+ switch (actionType) {
+ case "a1":
+ bucket.setAction(createPopVlanAction());
+ break;
+ case "a2":
+ bucket.setAction(createPushVlanAction());
+ break;
+ case "a3":
+ bucket.setAction(createPushMplsAction());
+ break;
+ case "a4":
+ bucket.setAction(createPopMplsAction());
+ break;
+ case "a5":
+ bucket.setAction(createPopPbbAction());
+ break;
+ case "a6":
+ case "a7":
+ bucket.setAction(createPushPbbAction());
+ break;
+ case "a8":
+ bucket.setAction(createCopyTtlInAction());
+ break;
+ case "a9":
+ bucket.setAction(createCopyTtlOutAction());
+ break;
+ case "a10":
+ bucket.setAction(createDecMplsTtlAction());
+ break;
+ case "a11":
+ bucket.setAction(createDecNwTtlAction());
+ break;
+ case "a12":
+ bucket.setAction(createSetQueueAction());
+ break;
+ case "a13":
+ bucket.setAction(createSetNwTtlAction());
+ break;
+ case "a14":
+ bucket.setAction(createGroupAction());
+ break;
+ case "a15":
+ bucket.setAction(createSetMplsTtlAction());
+ break;
+ case "a16":
+ bucket.setAction(createFloodOutputAction());
+ break;
+ case "a17":
+ bucket.setAction(createAllOutputAction());
+ break;
+ case "a18":
+ bucket.setAction(createNormalOutputAction());
+ break;
+ case "a19":
+ bucket.setAction(creatTableOutputAction());
+ break;
+ case "a20":
+ bucket.setAction(createControllerAction());
+ break;
+ case "a21":
+ bucket.setAction(createLocalOutputAction());
+ break;
+ case "a22":
+ bucket.setAction(createAnyOutputAction());
+ break;
+ case "a23":
+ bucket.setAction(createInportOutputAction());
+ break;
+ case "a24":
+ bucket.setAction(null);
+ break;
+ case "a25":
+ bucket.setAction(createNonAppyOutputAction());
+ break;
+ case "a26":
+ bucket.setAction(createNonAppyPushMplsAction());
+ break;
+ case "a27":
+ bucket.setAction(createNonAppyPushPbbAction());
+ break;
+ case "a28":
+ bucket.setAction(createNonAppyPushVlanAction());
+ break;
+ default:
+ break;
}
-
- if(Groupmod=="add"){
- bucket.setWatchGroup((long) 14);
- bucket.setWatchPort((long) 1234);
- bucket.setWeight(50);
- }else {
- bucket.setWatchGroup((long) 13);
- bucket.setWatchPort((long) 134);
- bucket.setWeight(30);
+
+ if ("add".equals(groupMod)) {
+ bucket.setWatchGroup((long) 14);
+ bucket.setWatchPort((long) 1234);
+ bucket.setWeight(50);
+ } else {
+ bucket.setWatchGroup((long) 13);
+ bucket.setWatchPort((long) 134);
+ bucket.setWeight(30);
}
- group.setKey(key);
- // group.setInstall(false);
- group.setGroupId(new GroupId(id));
- group.setGroupName(originalGroupName);
+
+ long id = 1;
+ GroupKey key = new GroupKey(new GroupId(id));
+ group.withKey(key);
+ // group.setInstall(false);
+ group.setGroupId(new GroupId(id));
+ group.setGroupName(ORIGINAL_GROUP_NAME);
group.setBarrier(false);
BucketsBuilder value = new BucketsBuilder();
- List<Bucket> value1 = new ArrayList<Bucket>();
+ List<Bucket> value1 = new ArrayList<>();
value1.add(bucket.build());
value.setBucket(value1);
group.setBuckets(value.build());
testGroup = group.build();
return group;
}
-
-
- private List<Action> createPopVlanAction(){
- PopVlanActionBuilder vlanAction = new PopVlanActionBuilder();
+
+ private List<Action> createPopVlanAction() {
+ PopVlanActionBuilder vlanAction = new PopVlanActionBuilder();
ActionBuilder action = new ActionBuilder();
action.setAction(new PopVlanActionCaseBuilder().setPopVlanAction(vlanAction.build()).build());
- action.setKey(new ActionKey(0));
- List<Action> actions = new ArrayList<Action>();
+ action.withKey(new ActionKey(0));
+ List<Action> actions = new ArrayList<>();
actions.add(action.build());
- return actions;
+ return actions;
}
-
- private List<Action> createPushVlanAction(){
- PushVlanActionBuilder vlan = new PushVlanActionBuilder();
- vlan.setEthernetType(new Integer(0x8100));
+
+ private List<Action> createPushVlanAction() {
+ PushVlanActionBuilder vlan = new PushVlanActionBuilder();
+ vlan.setEthernetType(0x8100);
ActionBuilder action = new ActionBuilder();
action.setAction(new PushVlanActionCaseBuilder().setPushVlanAction(vlan.build()).build());
- List<Action> actions = new ArrayList<Action>();
+ List<Action> actions = new ArrayList<>();
actions.add(action.build());
- return actions;
- }
- private List<Action> createPushMplsAction(){
- PushMplsActionBuilder push = new PushMplsActionBuilder();
- push.setEthernetType(new Integer(0x8847));
- ActionBuilder action = new ActionBuilder();
- action.setAction(new PushMplsActionCaseBuilder().setPushMplsAction(push.build()).build());
- List<Action> actions = new ArrayList<Action>();
+ return actions;
+ }
+
+ private List<Action> createPushMplsAction() {
+ PushMplsActionBuilder push = new PushMplsActionBuilder();
+ push.setEthernetType(0x8847);
+ ActionBuilder action = new ActionBuilder();
+ action.setAction(new PushMplsActionCaseBuilder().setPushMplsAction(push.build()).build());
+ List<Action> actions = new ArrayList<>();
actions.add(action.build());
- return actions;
- }
- private List<Action> createPopMplsAction(){
- PopMplsActionBuilder popMplsActionBuilder = new PopMplsActionBuilder();
- popMplsActionBuilder.setEthernetType(0XB);
- ActionBuilder action = new ActionBuilder();
- action.setAction(new PopMplsActionCaseBuilder().setPopMplsAction(popMplsActionBuilder.build()).build());
- List<Action> actions = new ArrayList<Action>();
+ return actions;
+ }
+
+ private List<Action> createPopMplsAction() {
+ PopMplsActionBuilder popMplsActionBuilder = new PopMplsActionBuilder();
+ popMplsActionBuilder.setEthernetType(0XB);
+ ActionBuilder action = new ActionBuilder();
+ action.setAction(new PopMplsActionCaseBuilder().setPopMplsAction(popMplsActionBuilder.build()).build());
+ List<Action> actions = new ArrayList<>();
actions.add(action.build());
- return actions;
- }
-
- private List<Action> createPopPbbAction(){
- PopPbbActionBuilder popPbbActionBuilder = new PopPbbActionBuilder();
- ActionBuilder action = new ActionBuilder();
- action.setAction(new PopPbbActionCaseBuilder().setPopPbbAction(popPbbActionBuilder.build()).build());
- List<Action> actions = new ArrayList<Action>();
+ return actions;
+ }
+
+ private List<Action> createPopPbbAction() {
+ PopPbbActionBuilder popPbbActionBuilder = new PopPbbActionBuilder();
+ ActionBuilder action = new ActionBuilder();
+ action.setAction(new PopPbbActionCaseBuilder().setPopPbbAction(popPbbActionBuilder.build()).build());
+ List<Action> actions = new ArrayList<>();
actions.add(action.build());
- return actions;
- }
- private List<Action> createPushPbbAction(){
- PushPbbActionBuilder pbb = new PushPbbActionBuilder();
- pbb.setEthernetType(new Integer(0x88E7));
- ActionBuilder action = new ActionBuilder();
- action.setAction(new PushPbbActionCaseBuilder().setPushPbbAction(pbb.build()).build());
- List<Action> actions = new ArrayList<Action>();
+ return actions;
+ }
+
+ private List<Action> createPushPbbAction() {
+ PushPbbActionBuilder pbb = new PushPbbActionBuilder();
+ pbb.setEthernetType(0x88E7);
+ ActionBuilder action = new ActionBuilder();
+ action.setAction(new PushPbbActionCaseBuilder().setPushPbbAction(pbb.build()).build());
+ List<Action> actions = new ArrayList<>();
actions.add(action.build());
- return actions;
+ return actions;
}
- private List<Action> createSetMplsTtlAction(){
- SetMplsTtlActionBuilder setMplsTtlActionBuilder = new SetMplsTtlActionBuilder();
+
+ private List<Action> createSetMplsTtlAction() {
+ SetMplsTtlActionBuilder setMplsTtlActionBuilder = new SetMplsTtlActionBuilder();
setMplsTtlActionBuilder.setMplsTtl((short) 0X1);
- ActionBuilder action = new ActionBuilder();
- action.setAction(new SetMplsTtlActionCaseBuilder().setSetMplsTtlAction(setMplsTtlActionBuilder.build()).build());
- List<Action> actions = new ArrayList<Action>();
+ ActionBuilder action = new ActionBuilder();
+ action.setAction(new SetMplsTtlActionCaseBuilder().setSetMplsTtlAction(
+ setMplsTtlActionBuilder.build()).build());
+ List<Action> actions = new ArrayList<>();
actions.add(action.build());
- return actions;
+ return actions;
}
- private List<Action> createSetNwTtlAction(){
- SetNwTtlActionBuilder setNwTtlActionBuilder = new SetNwTtlActionBuilder();
+
+ private List<Action> createSetNwTtlAction() {
+ SetNwTtlActionBuilder setNwTtlActionBuilder = new SetNwTtlActionBuilder();
setNwTtlActionBuilder.setNwTtl((short) 1);
- ActionBuilder action = new ActionBuilder();
- action.setAction(new SetNwTtlActionCaseBuilder().setSetNwTtlAction(setNwTtlActionBuilder.build()).build());
- List<Action> actions = new ArrayList<Action>();
+ ActionBuilder action = new ActionBuilder();
+ action.setAction(new SetNwTtlActionCaseBuilder().setSetNwTtlAction(setNwTtlActionBuilder.build()).build());
+ List<Action> actions = new ArrayList<>();
actions.add(action.build());
- return actions;
+ return actions;
}
- private List<Action> createSetQueueAction(){
- SetQueueActionBuilder setQueueActionBuilder = new SetQueueActionBuilder();
+
+ private List<Action> createSetQueueAction() {
+ SetQueueActionBuilder setQueueActionBuilder = new SetQueueActionBuilder();
setQueueActionBuilder.setQueueId(1L);
- ActionBuilder action = new ActionBuilder();
- action.setAction(new SetQueueActionCaseBuilder().setSetQueueAction(setQueueActionBuilder.build()).build());
- action.setKey(new ActionKey(0));
- List<Action> actions = new ArrayList<Action>();
+ ActionBuilder action = new ActionBuilder();
+ action.setAction(new SetQueueActionCaseBuilder().setSetQueueAction(setQueueActionBuilder.build()).build());
+ action.withKey(new ActionKey(0));
+ List<Action> actions = new ArrayList<>();
actions.add(action.build());
- return actions;
- }
-
-
- private List<Action> createCopyTtlInAction(){
- CopyTtlInBuilder ttlin = new CopyTtlInBuilder();
- ActionBuilder action = new ActionBuilder();
- action.setAction(new CopyTtlInCaseBuilder().setCopyTtlIn(ttlin.build()).build());
- List<Action> actions = new ArrayList<Action>();
- actions.add(action.build());
- return actions;
- }
-
- private List<Action> createCopyTtlOutAction(){
- CopyTtlOutBuilder ttlout = new CopyTtlOutBuilder();
- ActionBuilder action = new ActionBuilder();
- action.setAction(new CopyTtlOutCaseBuilder().setCopyTtlOut(ttlout.build()).build());
- List<Action> actions = new ArrayList<Action>();
- actions.add(action.build());
- return actions;
- }
-
- private List<Action> createDecMplsTtlAction(){
- DecMplsTtlBuilder mpls = new DecMplsTtlBuilder();
- ActionBuilder action = new ActionBuilder();
- action.setAction(new DecMplsTtlCaseBuilder().setDecMplsTtl(mpls.build()).build());
- List<Action> actions = new ArrayList<Action>();
- actions.add(action.build());
- return actions;
- }
- private List<Action> createDecNwTtlAction(){
- DecNwTtlBuilder nwttl = new DecNwTtlBuilder();
- ActionBuilder action = new ActionBuilder();
- action.setAction(new DecNwTtlCaseBuilder().setDecNwTtl(nwttl.build()).build());
- List<Action> actions = new ArrayList<Action>();
-
- ActionBuilder ab = new ActionBuilder();
- OutputActionBuilder output = new OutputActionBuilder();
- // output.setMaxLength(30);
- Uri value = new Uri("2");
- output.setOutputNodeConnector(value);
- ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
- ab.setKey(new ActionKey(0));
- ab.setOrder(0);
- actions.add(ab.build());
- actions.add(action.build());
- return actions;
- }
-
- private List<Action> createFloodOutputAction(){
-
- List<Action> actions = new ArrayList<Action>();
- ActionBuilder ab = new ActionBuilder();
- OutputActionBuilder output = new OutputActionBuilder();
- output.setMaxLength(30);
- Uri value = new Uri(OutputPortValues.FLOOD.toString());
- output.setOutputNodeConnector(value);
- ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
- ab.setKey(new ActionKey(0));
- actions.add(ab.build());
- return actions;
- }
-
- private List<Action> createAllOutputAction(){
-
- List<Action> actions = new ArrayList<Action>();
- ActionBuilder ab = new ActionBuilder();
- OutputActionBuilder output = new OutputActionBuilder();
- output.setMaxLength(30);
- Uri value = new Uri(OutputPortValues.ALL.toString());
- output.setOutputNodeConnector(value);
- ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
- ab.setKey(new ActionKey(0));
- actions.add(ab.build());
- return actions;
- }
-
- private List<Action> createAnyOutputAction(){
-
- List<Action> actions = new ArrayList<Action>();
- ActionBuilder ab = new ActionBuilder();
- OutputActionBuilder output = new OutputActionBuilder();
- output.setMaxLength(30);
- Uri value = new Uri(OutputPortValues.ANY.toString());
- output.setOutputNodeConnector(value);
- ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
- ab.setKey(new ActionKey(0));
- actions.add(ab.build());
- return actions;
- }
- private List<Action> createNormalOutputAction(){
-
- List<Action> actions = new ArrayList<Action>();
- ActionBuilder ab = new ActionBuilder();
- OutputActionBuilder output = new OutputActionBuilder();
- output.setMaxLength(30);
- Uri value = new Uri(OutputPortValues.NORMAL.toString());
- output.setOutputNodeConnector(value);
- ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
- ab.setKey(new ActionKey(0));
- actions.add(ab.build());
- return actions;
- }
- private List<Action> createInportOutputAction(){
-
- List<Action> actions = new ArrayList<Action>();
- ActionBuilder ab = new ActionBuilder();
- OutputActionBuilder output = new OutputActionBuilder();
- output.setMaxLength(30);
- Uri value = new Uri(OutputPortValues.INPORT.toString());
- output.setOutputNodeConnector(value);
- ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
- ab.setKey(new ActionKey(0));
- actions.add(ab.build());
- return actions;
- }
- private List<Action> creatTableOutputAction(){
-
- List<Action> actions = new ArrayList<Action>();
- ActionBuilder ab = new ActionBuilder();
- OutputActionBuilder output = new OutputActionBuilder();
- output.setMaxLength(30);
- Uri value = new Uri(OutputPortValues.TABLE.toString());
- output.setOutputNodeConnector(value);
- ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
- ab.setKey(new ActionKey(0));
- actions.add(ab.build());
- return actions;
- }
-
- private List<Action> createControllerAction(){
-
- List<Action> actions = new ArrayList<Action>();
- ActionBuilder ab = new ActionBuilder();
- OutputActionBuilder output = new OutputActionBuilder();
- output.setMaxLength(30);
- Uri value = new Uri(OutputPortValues.CONTROLLER.toString());
- output.setOutputNodeConnector(value);
- ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
- ab.setKey(new ActionKey(0));
- actions.add(ab.build());
- return actions;
- }
-
- private List<Action> createLocalOutputAction(){
-
- List<Action> actions = new ArrayList<Action>();
- ActionBuilder ab = new ActionBuilder();
- OutputActionBuilder output = new OutputActionBuilder();
- output.setMaxLength(30);
- Uri value = new Uri(OutputPortValues.LOCAL.toString());
- output.setOutputNodeConnector(value);
- ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
- ab.setKey(new ActionKey(0));
- actions.add(ab.build());
- return actions;
- }
- private List<Action> createGroupAction(){
-
- GroupActionBuilder groupActionB = new GroupActionBuilder();
- groupActionB.setGroupId(1L);
- groupActionB.setGroup("0");
- ActionBuilder action = new ActionBuilder();
- action.setAction(new GroupActionCaseBuilder().setGroupAction(groupActionB.build()).build());
- action.setKey(new ActionKey(0));
- List<Action> actions = new ArrayList<Action>();
- actions.add(action.build());
- return actions;
- }
-
- private static List<Action> createNonAppyOutputAction(){
-
- List<Action> actionList = new ArrayList<Action>();
+ return actions;
+ }
+
+
+ private List<Action> createCopyTtlInAction() {
+ CopyTtlInBuilder ttlin = new CopyTtlInBuilder();
+ ActionBuilder action = new ActionBuilder();
+ action.setAction(new CopyTtlInCaseBuilder().setCopyTtlIn(ttlin.build()).build());
+ List<Action> actions = new ArrayList<>();
+ actions.add(action.build());
+ return actions;
+ }
+
+ private List<Action> createCopyTtlOutAction() {
+ CopyTtlOutBuilder ttlout = new CopyTtlOutBuilder();
+ ActionBuilder action = new ActionBuilder();
+ action.setAction(new CopyTtlOutCaseBuilder().setCopyTtlOut(ttlout.build()).build());
+ List<Action> actions = new ArrayList<>();
+ actions.add(action.build());
+ return actions;
+ }
+
+ private List<Action> createDecMplsTtlAction() {
+ DecMplsTtlBuilder mpls = new DecMplsTtlBuilder();
+ ActionBuilder action = new ActionBuilder();
+ action.setAction(new DecMplsTtlCaseBuilder().setDecMplsTtl(mpls.build()).build());
+ List<Action> actions = new ArrayList<>();
+ actions.add(action.build());
+ return actions;
+ }
+
+ private List<Action> createDecNwTtlAction() {
+ DecNwTtlBuilder nwttl = new DecNwTtlBuilder();
+ ActionBuilder action = new ActionBuilder();
+ action.setAction(new DecNwTtlCaseBuilder().setDecNwTtl(nwttl.build()).build());
+
+ ActionBuilder ab = new ActionBuilder();
+ OutputActionBuilder output = new OutputActionBuilder();
+ // output.setMaxLength(30);
+ Uri value = new Uri("2");
+ output.setOutputNodeConnector(value);
+ ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
+ ab.withKey(new ActionKey(0));
+ ab.setOrder(0);
+
+ List<Action> actions = new ArrayList<>();
+ actions.add(ab.build());
+ actions.add(action.build());
+ return actions;
+ }
+
+ private List<Action> createFloodOutputAction() {
+ ActionBuilder ab = new ActionBuilder();
+ OutputActionBuilder output = new OutputActionBuilder();
+ output.setMaxLength(30);
+ Uri value = new Uri(OutputPortValues.FLOOD.toString());
+ output.setOutputNodeConnector(value);
+ ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
+ ab.withKey(new ActionKey(0));
+
+ List<Action> actions = new ArrayList<>();
+ actions.add(ab.build());
+ return actions;
+ }
+
+ private List<Action> createAllOutputAction() {
+ ActionBuilder ab = new ActionBuilder();
+ OutputActionBuilder output = new OutputActionBuilder();
+ output.setMaxLength(30);
+ Uri value = new Uri(OutputPortValues.ALL.toString());
+ output.setOutputNodeConnector(value);
+ ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
+ ab.withKey(new ActionKey(0));
+
+ List<Action> actions = new ArrayList<>();
+ actions.add(ab.build());
+ return actions;
+ }
+
+ private List<Action> createAnyOutputAction() {
+ ActionBuilder ab = new ActionBuilder();
+ OutputActionBuilder output = new OutputActionBuilder();
+ output.setMaxLength(30);
+ Uri value = new Uri(OutputPortValues.ANY.toString());
+ output.setOutputNodeConnector(value);
+ ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
+ ab.withKey(new ActionKey(0));
+
+ List<Action> actions = new ArrayList<>();
+ actions.add(ab.build());
+ return actions;
+ }
+
+ private List<Action> createNormalOutputAction() {
+ ActionBuilder ab = new ActionBuilder();
+ OutputActionBuilder output = new OutputActionBuilder();
+ output.setMaxLength(30);
+ Uri value = new Uri(OutputPortValues.NORMAL.toString());
+ output.setOutputNodeConnector(value);
+ ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
+ ab.withKey(new ActionKey(0));
+
+ List<Action> actions = new ArrayList<>();
+ actions.add(ab.build());
+ return actions;
+ }
+
+ private List<Action> createInportOutputAction() {
+ ActionBuilder ab = new ActionBuilder();
+ OutputActionBuilder output = new OutputActionBuilder();
+ output.setMaxLength(30);
+ Uri value = new Uri(OutputPortValues.INPORT.toString());
+ output.setOutputNodeConnector(value);
+ ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
+ ab.withKey(new ActionKey(0));
+
+ List<Action> actions = new ArrayList<>();
+ actions.add(ab.build());
+ return actions;
+ }
+
+ private List<Action> creatTableOutputAction() {
+ ActionBuilder ab = new ActionBuilder();
+ OutputActionBuilder output = new OutputActionBuilder();
+ output.setMaxLength(30);
+ Uri value = new Uri(OutputPortValues.TABLE.toString());
+ output.setOutputNodeConnector(value);
+ ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
+ ab.withKey(new ActionKey(0));
+
+ List<Action> actions = new ArrayList<>();
+ actions.add(ab.build());
+ return actions;
+ }
+
+ private List<Action> createControllerAction() {
+ ActionBuilder ab = new ActionBuilder();
+ OutputActionBuilder output = new OutputActionBuilder();
+ output.setMaxLength(30);
+ Uri value = new Uri(OutputPortValues.CONTROLLER.toString());
+ output.setOutputNodeConnector(value);
+ ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
+ ab.withKey(new ActionKey(0));
+
+ List<Action> actions = new ArrayList<>();
+ actions.add(ab.build());
+ return actions;
+ }
+
+ private List<Action> createLocalOutputAction() {
+ ActionBuilder ab = new ActionBuilder();
+ OutputActionBuilder output = new OutputActionBuilder();
+ output.setMaxLength(30);
+ Uri value = new Uri(OutputPortValues.LOCAL.toString());
+ output.setOutputNodeConnector(value);
+ ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
+ ab.withKey(new ActionKey(0));
+
+ List<Action> actions = new ArrayList<>();
+ actions.add(ab.build());
+ return actions;
+ }
+
+ private List<Action> createGroupAction() {
+ GroupActionBuilder groupActionB = new GroupActionBuilder();
+ groupActionB.setGroupId(1L);
+ groupActionB.setGroup("0");
+ ActionBuilder action = new ActionBuilder();
+ action.setAction(new GroupActionCaseBuilder().setGroupAction(groupActionB.build()).build());
+ action.withKey(new ActionKey(0));
+ List<Action> actions = new ArrayList<>();
+ actions.add(action.build());
+ return actions;
+ }
+
+ private static List<Action> createNonAppyOutputAction() {
ActionBuilder ab = new ActionBuilder();
OutputActionBuilder output = new OutputActionBuilder();
Uri value = new Uri(OutputPortValues.CONTROLLER.toString());
output.setOutputNodeConnector(value);
//output.setMaxLength(null);
- output.setMaxLength(66000);
+ output.setMaxLength(66000);
ab.setAction(new OutputActionCaseBuilder().setOutputAction(output.build()).build());
+
+ List<Action> actionList = new ArrayList<>();
actionList.add(ab.build());
return actionList;
}
-
- private static List<Action> createNonAppyPushMplsAction(){
- List<Action> actionList = new ArrayList<Action>();
+ private static List<Action> createNonAppyPushMplsAction() {
+
+ List<Action> actionList = new ArrayList<>();
ActionBuilder ab = new ActionBuilder();
PushMplsActionBuilder push = new PushMplsActionBuilder();
- push.setEthernetType(new Integer(0x8849));
+ push.setEthernetType(0x8849);
ab.setAction(new PushMplsActionCaseBuilder().setPushMplsAction(push.build()).build());
actionList.add(ab.build());
return actionList;
-
}
- private static List<Action> createNonAppyPushPbbAction(){
- List<Action> actionList = new ArrayList<Action>();
+ private static List<Action> createNonAppyPushPbbAction() {
+
+ List<Action> actionList = new ArrayList<>();
ActionBuilder ab = new ActionBuilder();
PushPbbActionBuilder pbb = new PushPbbActionBuilder();
- pbb.setEthernetType(new Integer(0x88E8));
+ pbb.setEthernetType(0x88E8);
ab.setAction(new PushPbbActionCaseBuilder().setPushPbbAction(pbb.build()).build());
- actionList.add(ab.build());
+ actionList.add(ab.build());
return actionList;
-
+
}
-
- private static List<Action> createNonAppyPushVlanAction(){
- List<Action> actionList = new ArrayList<Action>();
+ private static List<Action> createNonAppyPushVlanAction() {
+
+ List<Action> actionList = new ArrayList<>();
ActionBuilder ab = new ActionBuilder();
PushVlanActionBuilder vlan = new PushVlanActionBuilder();
- vlan.setEthernetType(new Integer(0x8101));
+ vlan.setEthernetType(0x8101);
ab.setAction(new PushVlanActionCaseBuilder().setPushVlanAction(vlan.build()).build());
actionList.add(ab.build());
return actionList;
-
}
-
- private GroupBuilder createTestRemoveGroup(){
- // Sample data , committing to DataStore
- DataModification modification = dataBrokerService.beginTransaction();
-
- long id = 123;
- GroupKey key = new GroupKey(new GroupId(id));
- GroupBuilder group = new GroupBuilder();
- /* BucketBuilder bucket = new BucketBuilder();
- bucket.setBucketId(new BucketId((long) 12));
- bucket.setKey(new BucketKey(new BucketId((long) 12))); */
- group.setKey(key);
- // group.setInstall(false);
-
- group.setGroupId(new GroupId(id));
- /* PopVlanActionBuilder vlanAction = new PopVlanActionBuilder();
- ActionBuilder action = new ActionBuilder();
- action.setAction(new PopVlanActionCaseBuilder().setPopVlanAction(vlanAction.build()).build());
- List<Action> actions = new ArrayList<Action>();
- actions.add(action.build()); */
- /* bucket.setAction(actions);
- bucket.setWatchGroup((long) 14);
- bucket.setWatchPort((long) 1234);
- bucket.setWeight(15); */
- // group.setGroupType(GroupTypes.GroupSelect);
- // group.setGroupName(originalGroupName);
- // group.setBarrier(false);
- // BucketsBuilder value = new BucketsBuilder();
- // List<Bucket> value1 = new ArrayList<Bucket>();
- // value1.add(bucket.build());
- // value.setBucket(value1);
- // group.setBuckets(value.build());
- testGroup2 = group.build();
- return group;
- }
-
-
-
- public void _removeGroup(CommandInterpreter ci){
+ public void _removeGroup(final CommandInterpreter ci) {
String nref = ci.nextArgument();
if (nref == null) {
ci.println("User node added" + nref);
createUserNode(nref);
}
- GroupBuilder gbuilder = createTestGroup(ci.nextArgument(),ci.nextArgument(),"add");
- DataModification<InstanceIdentifier<?>, DataObject> modification = dataBrokerService.beginTransaction();
- InstanceIdentifier<Group> path1 = InstanceIdentifier.builder(Nodes.class).child(Node.class, testNode.getKey())
- .augmentation(FlowCapableNode.class).child(Group.class, new GroupKey(gbuilder.getGroupId())).build();
- // DataObject cls = (DataObject)
- // modification.readConfigurationData(path1);
- // modification.removeOperationalData(nodeToInstanceId(testNode));
- modification.removeOperationalData(path1);
- // modification.removeConfigurationData(nodeToInstanceId(testNode));
- modification.removeConfigurationData(path1);
- Future<RpcResult<TransactionStatus>> commitFuture = modification.commit();
- try {
- RpcResult<TransactionStatus> result = commitFuture.get();
- TransactionStatus status = result.getResult();
- ci.println("Status of Group Data Loaded Transaction: " + status);
- ci.println("Status of Group Data Loaded Transaction: ");
-
- } catch (InterruptedException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (ExecutionException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
+ GroupBuilder gbuilder = createTestGroup(ci.nextArgument(), ci.nextArgument(), "add");
+ ReadWriteTransaction modification = Preconditions.checkNotNull(dataBroker).newReadWriteTransaction();
+ InstanceIdentifier<Group> path1 = InstanceIdentifier.create(Nodes.class).child(Node.class, testNode.key())
+ .augmentation(FlowCapableNode.class).child(Group.class, new GroupKey(gbuilder.getGroupId()));
+ modification.delete(LogicalDatastoreType.CONFIGURATION, path1);
+ modification.commit().addCallback(new FutureCallback<Object>() {
+ @Override
+ public void onSuccess(Object notUsed) {
+ ci.println("Status of Group Data Loaded Transaction: success.");
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+ ci.println(String.format("Status of Group Data Loaded Transaction : failure. Reason : %s", throwable));
+ }
+ }, MoreExecutors.directExecutor());
}
public void _addGroup(CommandInterpreter ci) {
ci.println("User node added" + nref);
createUserNode(nref);
}
- createTestGroup(ci.nextArgument(),ci.nextArgument(),"add");
+ createTestGroup(ci.nextArgument(), ci.nextArgument(), "add");
writeGroup(ci, testGroup);
}
- private void writeGroup(CommandInterpreter ci, Group group) {
- DataModification modification = dataBrokerService.beginTransaction();
- InstanceIdentifier<Group> path1 = InstanceIdentifier.builder(Nodes.class)
- .child(Node.class, testNode.getKey()).augmentation(FlowCapableNode.class)
- .child(Group.class, new GroupKey(group.getGroupId()))
- .build();
- modification.putOperationalData(nodeToInstanceId(testNode), testNode);
- modification.putOperationalData(path1, group);
- modification.putConfigurationData(nodeToInstanceId(testNode), testNode);
- modification.putConfigurationData(path1, group);
- Future<RpcResult<TransactionStatus>> commitFuture = modification.commit();
- try {
- RpcResult<TransactionStatus> result = commitFuture.get();
- TransactionStatus status = result.getResult();
- ci.println("Status of Group Data Loaded Transaction: " + status);
-
- } catch (InterruptedException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (ExecutionException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
+ private void writeGroup(final CommandInterpreter ci, Group group) {
+ ReadWriteTransaction modification = Preconditions.checkNotNull(dataBroker).newReadWriteTransaction();
+ InstanceIdentifier<Group> path1 = InstanceIdentifier.create(Nodes.class)
+ .child(Node.class, testNode.key()).augmentation(FlowCapableNode.class)
+ .child(Group.class, new GroupKey(group.getGroupId()));
+ modification.merge(LogicalDatastoreType.CONFIGURATION, nodeToInstanceId(testNode), testNode, true);
+ modification.merge(LogicalDatastoreType.CONFIGURATION, path1, group, true);
+ modification.commit().addCallback(new FutureCallback<Object>() {
+ @Override
+ public void onSuccess(Object notUsed) {
+ ci.println("Status of Group Data Loaded Transaction: success.");
+ }
+
+ @Override
+ public void onFailure(Throwable throwable) {
+ ci.println(String.format("Status of Group Data Loaded Transaction : failure. Reason : %s", throwable));
+ }
+ }, MoreExecutors.directExecutor());
}
public void _modifyGroup(CommandInterpreter ci) {
ci.println("User node added" + nref);
createUserNode(nref);
}
- GroupBuilder group = createTestGroup(ci.nextArgument(),ci.nextArgument(),"modify");
+ GroupBuilder group = createTestGroup(ci.nextArgument(), ci.nextArgument(), "modify");
writeGroup(ci, group.build());
-
- // group.setGroupName(originalGroupName);
- // writeGroup(ci, group.build());
+
+ // group.setGroupName(originalGroupName);
+ // writeGroup(ci, group.build());
}
@Override
public String getHelp() {
- StringBuffer help = new StringBuffer();
+ StringBuilder help = new StringBuilder();
help.append("---FRM MD-SAL Group test module---\n");
help.append("\t addGroup <node id> - node ref\n");
help.append("\t modifyGroup <node id> - node ref\n");
return help.toString();
}
-
- private static NodeRef createNodeRef(String string) {
- NodeKey key = new NodeKey(new NodeId(string));
- InstanceIdentifier<Node> path =
- InstanceIdentifier.builder(Nodes.class).child(Node.class, key).toInstance();
-
- return new NodeRef(path);
- }
}