import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext
import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.RoutedRpcRegistration
import org.opendaylight.controller.sal.binding.api.NotificationProviderService
-import org.opendaylight.controller.sal.binding.api.data.DataProviderService
-import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.AddFlowInput
-import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.RemoveFlowInput
-import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.SalFlowService
-import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.UpdateFlowInput
+import org.opendaylight.yang.gen.v1.urn.opendaylight.group.service.rev130918.AddGroupInput
+import org.opendaylight.yang.gen.v1.urn.opendaylight.group.service.rev130918.RemoveGroupInput
+import org.opendaylight.yang.gen.v1.urn.opendaylight.group.service.rev130918.SalGroupService
+import org.opendaylight.yang.gen.v1.urn.opendaylight.group.service.rev130918.UpdateGroupInput
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeContext
-import org.opendaylight.yangtools.concepts.CompositeObjectRegistration
-import org.opendaylight.yangtools.concepts.Registration
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier
-import org.opendaylight.yangtools.yang.binding.NotificationListener
-import org.slf4j.LoggerFactory
+import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId
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.NodeKey
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId
-import org.opendaylight.yang.gen.v1.urn.opendaylight.group.service.rev130918.SalGroupService
-import org.opendaylight.yang.gen.v1.urn.opendaylight.group.service.rev130918.AddGroupInput
-import org.opendaylight.yang.gen.v1.urn.opendaylight.group.service.rev130918.RemoveGroupInput
-import org.opendaylight.yang.gen.v1.urn.opendaylight.group.service.rev130918.UpdateGroupInput
+import org.opendaylight.yangtools.concepts.CompositeObjectRegistration
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier
+import org.slf4j.LoggerFactory
class OpenflowpluginGroupTestServiceProvider implements AutoCloseable, SalGroupService {
- static val LOG = LoggerFactory.getLogger(OpenflowpluginTestServiceProvider);
-
- @Property
- DataProviderService dataService;
+ static val LOG = LoggerFactory.getLogger(OpenflowpluginGroupTestServiceProvider);
@Property
RoutedRpcRegistration<SalGroupService> groupRegistration;
createTestMeter();
}
- private void createUserNode(String nodeRef) {
- NodeRef nodeOne = createNodeRef(nodeRef);
+ private void createUserNode(String nodeRef) {
NodeBuilder builder = new NodeBuilder();
builder.setId(new NodeId(nodeRef));
builder.setKey(new NodeKey(builder.getId()));
testNode = builder.build();
}
- private void createTestNode() {
- NodeRef nodeOne = createNodeRef(OpenflowpluginTestActivator.NODE_ID);
+ private void createTestNode() {
NodeBuilder builder = new NodeBuilder();
builder.setId(new NodeId(OpenflowpluginTestActivator.NODE_ID));
builder.setKey(new NodeKey(builder.getId()));
MeterKey key = new MeterKey(id, new NodeRef(new NodeRef(nodeToInstanceId(testNode))));
MeterBuilder meter = new MeterBuilder();
meter.setContainerName("abcd");
- meter.setId((long) 123);
+ meter.setId((long) 9);
meter.setKey(key);
meter.setMeterName(originalMeterName);
meter.setFlags(new MeterFlags(true, false, false, false));
help.append("\t removeMeter <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);
- }
+ }
+
}
class OpenflowpluginMeterTestServiceProvider implements AutoCloseable, SalMeterService {
- static val LOG = LoggerFactory.getLogger(OpenflowpluginTestServiceProvider);
+ static val LOG = LoggerFactory.getLogger(OpenflowpluginMeterTestServiceProvider);
@Property
DataProviderService dataService;
val nodeIndentifier = InstanceIdentifier.builder(Nodes).child(Node, new NodeKey(new NodeId(OpenflowpluginTestActivator.NODE_ID)));
meterRegistration.registerPath(NodeContext, nodeIndentifier.toInstance());
builder.add(meterRegistration);
-
return builder.toInstance();
}
class OpenflowpluginTestActivator extends AbstractBindingAwareProvider {
static var OpenflowpluginTestServiceProvider provider = new OpenflowpluginTestServiceProvider();
+ static var OpenflowpluginGroupTestServiceProvider groupProvider = new OpenflowpluginGroupTestServiceProvider();
+ static var OpenflowpluginMeterTestServiceProvider meterProvider = new OpenflowpluginMeterTestServiceProvider();
var OpenflowpluginTestCommandProvider cmdProvider;
var OpenflowpluginGroupTestCommandProvider cmdGroupProvider;
var OpenflowpluginMeterTestCommandProvider cmdMeterProvider;
provider.notificationService = session.getSALService(NotificationProviderService)
provider.start();
provider.register(session);
+ groupProvider.register(session);
+ meterProvider.register(session);
cmdProvider.onSessionInitiated(session);
cmdGroupProvider.onSessionInitiated(session);
cmdMeterProvider.onSessionInitiated(session);
private static NodeRef createNodeRef(String string) {
NodeKey key = new NodeKey(new NodeId(string));
- InstanceIdentifier<Node> path = InstanceIdentifier.builder().node(Nodes.class).node(Node.class, key)
+ InstanceIdentifier<Node> path = InstanceIdentifier.builder(Nodes.class).child(Node.class, key)
.toInstance();
return new NodeRef(path);
import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.SalFlowService
import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.UpdateFlowInput
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeContext
-import org.opendaylight.yangtools.concepts.CompositeObjectRegistration
-import org.opendaylight.yangtools.concepts.Registration
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier
-import org.opendaylight.yangtools.yang.binding.NotificationListener
-import org.slf4j.LoggerFactory
+import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId
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.NodeKey
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId
+import org.opendaylight.yangtools.concepts.CompositeObjectRegistration
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier
+import org.slf4j.LoggerFactory
class OpenflowpluginTestServiceProvider implements AutoCloseable, SalFlowService {
}
-
override close() {
LOG.info("SalFlowServiceProvide stopped.");
flowRegistration.close;