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;
10 import java.util.List;
13 import javax.management.InstanceNotFoundException;
14 import javax.management.ObjectName;
16 import org.opendaylight.controller.config.api.ConflictingVersionException;
17 import org.opendaylight.controller.config.api.ModuleIdentifier;
18 import org.opendaylight.controller.config.api.ValidationException;
19 import org.opendaylight.controller.config.api.jmx.CommitStatus;
20 import org.opendaylight.controller.config.api.jmx.ConfigRegistryMXBean;
21 import org.opendaylight.controller.config.api.jmx.ObjectNameUtil;
23 import com.google.common.collect.Sets;
25 public class TestingConfigRegistry implements ConfigRegistryMXBean {
27 static final ObjectName conf1, conf2, conf3, run1, run2, run3;
29 public static final String moduleName1 = "moduleA";
30 public static final String moduleName2 = "moduleB";
31 public static final String instName1 = "instA";
32 public static final String instName2 = "instB";
35 conf1 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
36 + ":type=Module," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
38 conf2 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
39 + ":type=Module," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
40 + "=" + moduleName1 + "," + ObjectNameUtil.INSTANCE_NAME_KEY
42 conf3 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
43 + ":type=Module," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
44 + "=" + moduleName2 + "," + ObjectNameUtil.INSTANCE_NAME_KEY
46 run1 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
47 + ":type=RuntimeBean," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
49 run2 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
50 + ":type=RuntimeBean," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
51 + "=" + moduleName1 + "," + ObjectNameUtil.INSTANCE_NAME_KEY
53 run3 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
54 + ":type=RuntimeBean," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
55 + "=" + moduleName2 + "," + ObjectNameUtil.INSTANCE_NAME_KEY
60 public ObjectName beginConfig() {
65 public CommitStatus commitConfig(ObjectName transactonControllerON)
66 throws ConflictingVersionException, ValidationException {
67 if (transactonControllerON == null) {
68 Exception e = new RuntimeException("message");
69 throw ValidationException.createForSingleException(
70 new ModuleIdentifier("moduleName", "instanceName"), e);
76 public List<ObjectName> getOpenConfigs() {
81 public boolean isHealthy() {
86 public Set<String> getAvailableModuleNames() {
91 public Set<ObjectName> lookupConfigBeans() {
92 return Sets.newHashSet(conf1, conf2, conf3);
96 public Set<ObjectName> lookupConfigBeans(String moduleName) {
97 if (moduleName.equals(moduleName1)) {
98 return Sets.newHashSet(conf1, conf2);
99 } else if (moduleName.equals(moduleName2)) {
100 return Sets.newHashSet(conf3);
107 public Set<ObjectName> lookupConfigBeans(String moduleName,
108 String instanceName) {
109 if (moduleName.equals(moduleName1) && instanceName.equals(instName1)) {
110 return Sets.newHashSet(conf2);
111 } else if (moduleName.equals(moduleName2)
112 && instanceName.equals(instName2)) {
113 return Sets.newHashSet(conf3);
120 public ObjectName lookupConfigBean(String moduleName, String instanceName)
121 throws InstanceNotFoundException {
122 if (moduleName.equals(InstanceNotFoundException.class.getSimpleName())) {
123 throw new InstanceNotFoundException();
129 public Set<ObjectName> lookupRuntimeBeans() {
130 return Sets.<ObjectName> newHashSet(run1, run2, run3);
134 public Set<ObjectName> lookupRuntimeBeans(String moduleName,
135 String instanceName) {
136 if (moduleName.equals(moduleName1) && instanceName.equals(instName1)) {
137 return Sets.<ObjectName> newHashSet(run2);
138 } else if (moduleName.equals(moduleName2)
139 && instanceName.equals(instName2)) {
140 return Sets.<ObjectName> newHashSet(run3);
142 return Sets.<ObjectName> newHashSet();