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;
14 import javax.management.InstanceNotFoundException;
15 import javax.management.ObjectName;
17 import org.opendaylight.controller.config.api.ConflictingVersionException;
18 import org.opendaylight.controller.config.api.ModuleIdentifier;
19 import org.opendaylight.controller.config.api.ValidationException;
20 import org.opendaylight.controller.config.api.jmx.CommitStatus;
21 import org.opendaylight.controller.config.api.jmx.ConfigRegistryMXBean;
22 import org.opendaylight.controller.config.api.jmx.ObjectNameUtil;
24 import com.google.common.collect.Sets;
26 public class TestingConfigRegistry implements ConfigRegistryMXBean {
28 static final ObjectName conf1, conf2, conf3, run1, run2, run3;
30 public static final String moduleName1 = "moduleA";
31 public static final String moduleName2 = "moduleB";
32 public static final String instName1 = "instA";
33 public static final String instName2 = "instB";
36 conf1 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
37 + ":type=Module," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
39 conf2 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
40 + ":type=Module," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
41 + "=" + moduleName1 + "," + ObjectNameUtil.INSTANCE_NAME_KEY
43 conf3 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
44 + ":type=Module," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
45 + "=" + moduleName2 + "," + ObjectNameUtil.INSTANCE_NAME_KEY
47 run1 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
48 + ":type=RuntimeBean," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
50 run2 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
51 + ":type=RuntimeBean," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
52 + "=" + moduleName1 + "," + ObjectNameUtil.INSTANCE_NAME_KEY
54 run3 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
55 + ":type=RuntimeBean," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
56 + "=" + moduleName2 + "," + ObjectNameUtil.INSTANCE_NAME_KEY
61 public ObjectName beginConfig() {
66 public CommitStatus commitConfig(ObjectName transactonControllerON)
67 throws ConflictingVersionException, ValidationException {
68 if (transactonControllerON == null) {
69 Exception e = new RuntimeException("message");
70 throw ValidationException.createForSingleException(
71 new ModuleIdentifier("moduleName", "instanceName"), e);
77 public List<ObjectName> getOpenConfigs() {
82 public boolean isHealthy() {
87 public Set<String> getAvailableModuleNames() {
92 public Set<ObjectName> lookupConfigBeans() {
93 return Sets.newHashSet(conf1, conf2, conf3);
97 public Set<ObjectName> lookupConfigBeans(String moduleName) {
98 if (moduleName.equals(moduleName1)) {
99 return Sets.newHashSet(conf1, conf2);
100 } else if (moduleName.equals(moduleName2)) {
101 return Sets.newHashSet(conf3);
108 public Set<ObjectName> lookupConfigBeans(String moduleName,
109 String instanceName) {
110 if (moduleName.equals(moduleName1) && instanceName.equals(instName1)) {
111 return Sets.newHashSet(conf2);
112 } else if (moduleName.equals(moduleName2)
113 && instanceName.equals(instName2)) {
114 return Sets.newHashSet(conf3);
121 public ObjectName lookupConfigBean(String moduleName, String instanceName)
122 throws InstanceNotFoundException {
123 if (moduleName.equals(InstanceNotFoundException.class.getSimpleName())) {
124 throw new InstanceNotFoundException();
130 public Set<ObjectName> lookupRuntimeBeans() {
131 return Sets.<ObjectName> newHashSet(run1, run2, run3);
135 public Set<ObjectName> lookupRuntimeBeans(String moduleName,
136 String instanceName) {
137 if (moduleName.equals(moduleName1) && instanceName.equals(instName1)) {
138 return Sets.<ObjectName> newHashSet(run2);
139 } else if (moduleName.equals(moduleName2)
140 && instanceName.equals(instName2)) {
141 return Sets.<ObjectName> newHashSet(run3);
143 return Sets.<ObjectName> newHashSet();
148 public void checkConfigBeanExists(ObjectName objectName) throws InstanceNotFoundException {
149 throw new UnsupportedOperationException();
153 public ObjectName lookupConfigBeanByServiceInterfaceName(String serviceInterfaceQName, String refName) {
154 throw new UnsupportedOperationException();
158 public Map<String, Map<String, ObjectName>> getServiceMapping() {
159 throw new UnsupportedOperationException();
163 public Map<String, ObjectName> lookupServiceReferencesByServiceInterfaceName(String serviceInterfaceQName) {
164 throw new UnsupportedOperationException();
168 public Set<String> lookupServiceInterfaceNames(ObjectName objectName) throws InstanceNotFoundException {
169 throw new UnsupportedOperationException();
173 public String getServiceInterfaceName(String namespace, String localName) {
174 throw new UnsupportedOperationException();
178 public Set<String> getAvailableModuleFactoryQNames() {
179 throw new UnsupportedOperationException();
183 public ObjectName getServiceReference(String serviceInterfaceQName, String refName) throws InstanceNotFoundException {
184 throw new UnsupportedOperationException();
188 public void checkServiceReferenceExists(ObjectName objectName) throws InstanceNotFoundException {
189 throw new UnsupportedOperationException();