-/*\r
- * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.\r
- *\r
- * This program and the accompanying materials are made available under the\r
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
- * and is available at http://www.eclipse.org/legal/epl-v10.html\r
- */\r
-package org.opendaylight.controller.config.threadpool.async;\r
-\r
-import static org.junit.Assert.assertThat;\r
-import static org.junit.Assert.fail;\r
-import static org.junit.matchers.JUnitMatchers.containsString;\r
-\r
-import javax.management.InstanceAlreadyExistsException;\r
-import javax.management.ObjectName;\r
-\r
-import org.junit.Before;\r
-import org.junit.Test;\r
-import org.opendaylight.controller.config.api.ConflictingVersionException;\r
-import org.opendaylight.controller.config.api.ValidationException;\r
-import org.opendaylight.controller.config.api.jmx.CommitStatus;\r
-import org.opendaylight.controller.config.manager.impl.AbstractConfigTest;\r
-import org.opendaylight.controller.config.manager.impl.ClassBasedModuleFactory;\r
-import org.opendaylight.controller.config.manager.impl.factoriesresolver.HardcodedModuleFactoriesResolver;\r
-import org.opendaylight.controller.config.threadpool.scheduled.TestingScheduledThreadPoolModule;\r
-import org.opendaylight.controller.config.util.ConfigTransactionJMXClient;\r
-import org.opendaylight.controller.config.yang.threadpool.impl.AsyncEventBusModuleFactory;\r
-import org.opendaylight.controller.config.yang.threadpool.impl.AsyncEventBusModuleMXBean;\r
-\r
-public class AsyncEventBusConfigBeanTest extends AbstractConfigTest {\r
-\r
- private AsyncEventBusModuleFactory factory;\r
- private final String instanceName = "async1";\r
- private final String poolImplName = "fixed1";\r
-\r
- @Before\r
- public void setUp() {\r
-\r
- ClassBasedModuleFactory scheduledThreadPoolConfigFactory = createClassBasedCBF(\r
- TestingScheduledThreadPoolModule.class, poolImplName);\r
-\r
- factory = new AsyncEventBusModuleFactory();\r
- super.initConfigTransactionManagerImpl(new HardcodedModuleFactoriesResolver(factory,\r
- scheduledThreadPoolConfigFactory));\r
- }\r
-\r
- @Test\r
- public void testCreateBean() throws InstanceAlreadyExistsException, ValidationException,\r
- ConflictingVersionException {\r
- ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();\r
-\r
- createAsynced(transaction, instanceName, transaction.createModule(poolImplName, "pool-test"));\r
- transaction.validateConfig();\r
- CommitStatus status = transaction.commit();\r
-\r
- assertBeanCount(1, factory.getImplementationName());\r
- assertStatus(status, 2, 0, 0);\r
- }\r
-\r
- @Test\r
- public void testReusingOldInstance() throws InstanceAlreadyExistsException, ConflictingVersionException,\r
- ValidationException {\r
-\r
- ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();\r
- createAsynced(transaction, instanceName, transaction.createModule(poolImplName, "pool-test"));\r
-\r
- transaction.commit();\r
-\r
- assertBeanCount(1, factory.getImplementationName());\r
-\r
- transaction = configRegistryClient.createTransaction();\r
- CommitStatus status = transaction.commit();\r
-\r
- assertBeanCount(1, factory.getImplementationName());\r
- assertStatus(status, 0, 0, 2);\r
-\r
- }\r
-\r
- @Test\r
- public void testInstanceAlreadyExistsException() throws ConflictingVersionException, ValidationException,\r
- InstanceAlreadyExistsException {\r
- ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();\r
-\r
- ObjectName poolCB = transaction.createModule(poolImplName, "pool-test");\r
- createAsynced(transaction, instanceName, poolCB);\r
- transaction.commit();\r
-\r
- transaction = configRegistryClient.createTransaction();\r
- try {\r
- createAsynced(transaction, instanceName, poolCB);\r
- fail();\r
- } catch (InstanceAlreadyExistsException e) {\r
- assertThat(\r
- e.getMessage(),\r
- containsString("There is an instance registered with name ModuleIdentifier{factoryName='async-eventbus', instanceName='async1'}"));\r
- }\r
- }\r
-\r
- private ObjectName createAsynced(ConfigTransactionJMXClient transaction, String instanceName, ObjectName threadPool)\r
- throws InstanceAlreadyExistsException {\r
- ObjectName nameCreated = transaction.createModule(factory.getImplementationName(), instanceName);\r
- AsyncEventBusModuleMXBean mxBean = transaction.newMBeanProxy(nameCreated, AsyncEventBusModuleMXBean.class);\r
- mxBean.setThreadpool(threadPool);\r
- return nameCreated;\r
- }\r
-\r
-}\r
+/*
+ * Copyright (c) 2013 Cisco Systems, Inc. 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,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.controller.config.threadpool.async;
+
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.fail;
+import static org.junit.matchers.JUnitMatchers.containsString;
+
+import javax.management.InstanceAlreadyExistsException;
+import javax.management.ObjectName;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.opendaylight.controller.config.api.ConflictingVersionException;
+import org.opendaylight.controller.config.api.ValidationException;
+import org.opendaylight.controller.config.api.jmx.CommitStatus;
+import org.opendaylight.controller.config.manager.impl.AbstractConfigTest;
+import org.opendaylight.controller.config.manager.impl.ClassBasedModuleFactory;
+import org.opendaylight.controller.config.manager.impl.factoriesresolver.HardcodedModuleFactoriesResolver;
+import org.opendaylight.controller.config.threadpool.scheduled.TestingScheduledThreadPoolModule;
+import org.opendaylight.controller.config.util.ConfigTransactionJMXClient;
+import org.opendaylight.controller.config.yang.threadpool.impl.AsyncEventBusModuleFactory;
+import org.opendaylight.controller.config.yang.threadpool.impl.AsyncEventBusModuleMXBean;
+
+public class AsyncEventBusConfigBeanTest extends AbstractConfigTest {
+
+ private AsyncEventBusModuleFactory factory;
+ private final String instanceName = "async1";
+ private final String poolImplName = "fixed1";
+
+ @Before
+ public void setUp() {
+
+ ClassBasedModuleFactory scheduledThreadPoolConfigFactory = createClassBasedCBF(
+ TestingScheduledThreadPoolModule.class, poolImplName);
+
+ factory = new AsyncEventBusModuleFactory();
+ super.initConfigTransactionManagerImpl(new HardcodedModuleFactoriesResolver(factory,
+ scheduledThreadPoolConfigFactory));
+ }
+
+ @Test
+ public void testCreateBean() throws InstanceAlreadyExistsException, ValidationException,
+ ConflictingVersionException {
+ ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();
+
+ createAsynced(transaction, instanceName, transaction.createModule(poolImplName, "pool-test"));
+ transaction.validateConfig();
+ CommitStatus status = transaction.commit();
+
+ assertBeanCount(1, factory.getImplementationName());
+ assertStatus(status, 2, 0, 0);
+ }
+
+ @Test
+ public void testReusingOldInstance() throws InstanceAlreadyExistsException, ConflictingVersionException,
+ ValidationException {
+
+ ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();
+ createAsynced(transaction, instanceName, transaction.createModule(poolImplName, "pool-test"));
+
+ transaction.commit();
+
+ assertBeanCount(1, factory.getImplementationName());
+
+ transaction = configRegistryClient.createTransaction();
+ CommitStatus status = transaction.commit();
+
+ assertBeanCount(1, factory.getImplementationName());
+ assertStatus(status, 0, 0, 2);
+
+ }
+
+ @Test
+ public void testInstanceAlreadyExistsException() throws ConflictingVersionException, ValidationException,
+ InstanceAlreadyExistsException {
+ ConfigTransactionJMXClient transaction = configRegistryClient.createTransaction();
+
+ ObjectName poolCB = transaction.createModule(poolImplName, "pool-test");
+ createAsynced(transaction, instanceName, poolCB);
+ transaction.commit();
+
+ transaction = configRegistryClient.createTransaction();
+ try {
+ createAsynced(transaction, instanceName, poolCB);
+ fail();
+ } catch (InstanceAlreadyExistsException e) {
+ assertThat(
+ e.getMessage(),
+ containsString("There is an instance registered with name ModuleIdentifier{factoryName='async-eventbus', instanceName='async1'}"));
+ }
+ }
+
+ private ObjectName createAsynced(ConfigTransactionJMXClient transaction, String instanceName, ObjectName threadPool)
+ throws InstanceAlreadyExistsException {
+ ObjectName nameCreated = transaction.createModule(factory.getImplementationName(), instanceName);
+ AsyncEventBusModuleMXBean mxBean = transaction.newMBeanProxy(nameCreated, AsyncEventBusModuleMXBean.class);
+ mxBean.setThreadpool(threadPool);
+ return nameCreated;
+ }
+
+}