2 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.controller.config.util;
12 import javax.management.InstanceAlreadyExistsException;
13 import javax.management.InstanceNotFoundException;
14 import javax.management.ObjectName;
16 import org.opendaylight.controller.config.api.ValidationException;
17 import org.opendaylight.controller.config.api.jmx.ConfigTransactionControllerMXBean;
18 import org.opendaylight.controller.config.api.jmx.ObjectNameUtil;
20 import com.google.common.collect.Sets;
22 public class TestingConfigTransactionController implements
23 ConfigTransactionControllerMXBean {
25 private final ObjectName conf1, conf2, conf3;
27 public static final String moduleName1 = "moduleA";
28 public static final String moduleName2 = "moduleB";
29 public static final String instName1 = "instA";
30 public static final String instName2 = "instB";
32 public TestingConfigTransactionController() throws Exception {
33 conf1 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
34 + ":type=Module," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
36 conf2 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
37 + ":type=Module," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
38 + "=" + moduleName1 + "," + ObjectNameUtil.INSTANCE_NAME_KEY
40 conf3 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
41 + ":type=Module," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
42 + "=" + moduleName2 + "," + ObjectNameUtil.INSTANCE_NAME_KEY
47 public ObjectName createModule(String moduleName, String instanceName)
48 throws InstanceAlreadyExistsException {
53 public void destroyModule(ObjectName objectName)
54 throws InstanceNotFoundException {
58 public void abortConfig() {
62 public void validateConfig() throws ValidationException {
66 public String getTransactionName() {
71 public Set<String> getAvailableModuleNames() {
76 public Set<ObjectName> lookupConfigBeans() {
77 return Sets.newHashSet(conf1, conf2, conf3);
81 public Set<ObjectName> lookupConfigBeans(String moduleName) {
82 if (moduleName.equals(moduleName1)) {
83 return Sets.newHashSet(conf1, conf2);
84 } else if (moduleName.equals(moduleName2)) {
85 return Sets.newHashSet(conf3);
92 public ObjectName lookupConfigBean(String moduleName, String instanceName)
93 throws InstanceNotFoundException {
94 if (moduleName.equals(InstanceNotFoundException.class.getSimpleName())) {
95 throw new InstanceNotFoundException();
101 public Set<ObjectName> lookupConfigBeans(String moduleName,
102 String instanceName) {
103 if (moduleName.equals(moduleName1) && instanceName.equals(instName1)) {
104 return Sets.newHashSet(conf2);
105 } else if (moduleName.equals(moduleName2)
106 && instanceName.equals(instName2)) {
107 return Sets.newHashSet(conf3);