Rework parser infrastructure to support partial message processing
[bgpcep.git] / bgp / rib-impl-config / src / test / java / org / opendaylight / controller / config / yang / bgp / reconnectstrategy / GlobalEventExecutorUtil.java
1 package org.opendaylight.controller.config.yang.bgp.reconnectstrategy;
2
3 import javax.management.InstanceAlreadyExistsException;
4 import javax.management.ObjectName;
5
6 import org.opendaylight.controller.config.manager.impl.AbstractConfigTest;
7 import org.opendaylight.controller.config.util.ConfigRegistryJMXClient;
8 import org.opendaylight.controller.config.util.ConfigTransactionJMXClient;
9 import org.opendaylight.controller.config.yang.netty.eventexecutor.GlobalEventExecutorModuleFactory;
10 import org.opendaylight.controller.config.yang.netty.eventexecutor.GlobalEventExecutorModuleMXBean;
11
12 public class GlobalEventExecutorUtil extends AbstractConfigTest {
13
14         private final String instanceName = "global-executor";
15
16         private ObjectName createInstance(
17                         final ConfigTransactionJMXClient transaction,
18                         final String instanceName, GlobalEventExecutorModuleFactory factory)
19                         throws InstanceAlreadyExistsException {
20                 ObjectName nameCreated = transaction.createModule(
21                                 factory.getImplementationName(), instanceName);
22                 transaction.newMBeanProxy(nameCreated,
23                                 GlobalEventExecutorModuleMXBean.class);
24                 return nameCreated;
25         }
26
27         private ObjectName createBean(GlobalEventExecutorModuleFactory factory,
28                         ConfigRegistryJMXClient configRegistryClient)
29                         throws InstanceAlreadyExistsException {
30                 ConfigTransactionJMXClient transaction = configRegistryClient
31                                 .createTransaction();
32                 ObjectName objectName = createInstance(transaction, instanceName,
33                                 factory);
34                 transaction.validateConfig();
35                 transaction.commit();
36                 return objectName;
37         }
38
39         public static ObjectName createGlobalEventExecutorBean(
40                         GlobalEventExecutorModuleFactory factory,
41                         ConfigRegistryJMXClient configRegistryClient)
42                         throws InstanceAlreadyExistsException {
43                 GlobalEventExecutorUtil util = new GlobalEventExecutorUtil();
44                 return util.createBean(factory, configRegistryClient);
45         }
46
47 }