- /**
- * @param ctx
- * @return {@link CompositeObjectRegistrationBuilder #toInstance()}
- */
- public CompositeObjectRegistration<OpenflowpluginGroupTestServiceProvider> register(
- final ProviderContext ctx) {
- CompositeObjectRegistrationBuilder<OpenflowpluginGroupTestServiceProvider> builder = CompositeObjectRegistration
- .<OpenflowpluginGroupTestServiceProvider> builderFor(this);
-
- RoutedRpcRegistration<SalGroupService> addRoutedRpcImplementation = ctx
- .<SalGroupService> addRoutedRpcImplementation(
- SalGroupService.class, this);
- setGroupRegistration(addRoutedRpcImplementation);
-
- InstanceIdentifierBuilder<Nodes> builder1 = InstanceIdentifier
- .<Nodes> builder(Nodes.class);
-
- NodeId nodeId = new NodeId(OpenflowpluginTestActivator.NODE_ID);
- NodeKey nodeKey = new NodeKey(nodeId);
-
- InstanceIdentifierBuilder<Node> nodeIndentifier = builder1
- .<Node, NodeKey> child(Node.class, nodeKey);
- InstanceIdentifier<Node> instance = nodeIndentifier.build();
- groupRegistration.registerPath(NodeContext.class, instance);
- RoutedRpcRegistration<SalGroupService> groupRegistration1 = this
- .getGroupRegistration();
- builder.add(groupRegistration1);
- return builder.build();
+ public ObjectRegistration<OpenflowpluginGroupTestServiceProvider> register(final RpcProviderService rpcRegistry) {
+ setGroupRegistration(rpcRegistry.registerRpcImplementation(SalGroupService.class, this, ImmutableSet.of(
+ InstanceIdentifier.create(Nodes.class)
+ .child(Node.class, new NodeKey(new NodeId(OpenflowpluginTestActivator.NODE_ID))))));
+
+ return new AbstractObjectRegistration<OpenflowpluginGroupTestServiceProvider>(this) {
+ @Override
+ protected void removeRegistration() {
+ groupRegistration.close();
+ }
+ };