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 com.google.common.collect.Sets;
11 import java.util.HashMap;
12 import java.util.List;
15 import javax.management.InstanceNotFoundException;
16 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 public class TestingConfigRegistry implements ConfigRegistryMXBean {
26 static final ObjectName conf1, conf2, conf3, run1, run2, run3;
27 public static String check;
28 public static boolean checkBool;
29 private Map<String, ObjectName> map = new HashMap<>();
31 public static final String moduleName1 = "moduleA";
32 public static final String moduleName2 = "moduleB";
33 public static final String instName1 = "instA";
34 public static final String instName2 = "instB";
35 public static final String refName1 = "refA";
36 public static final String refName2 = "refB";
37 public static final String serviceQName1 = "qnameA";
38 public static final String serviceQName2 = "qnameB";
41 conf1 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
42 + ":type=Module," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
43 + "=" + moduleName1 + "," + ObjectNameUtil.SERVICE_QNAME_KEY
44 + "=" + serviceQName1 + "," + ObjectNameUtil.REF_NAME_KEY
46 conf2 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
47 + ":type=Module," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
48 + "=" + moduleName1 + "," + ObjectNameUtil.INSTANCE_NAME_KEY
49 + "=" + instName1 + "," + ObjectNameUtil.SERVICE_QNAME_KEY
50 + "=" + serviceQName2 + "," + ObjectNameUtil.REF_NAME_KEY
52 conf3 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
53 + ":type=Module," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
54 + "=" + moduleName2 + "," + ObjectNameUtil.INSTANCE_NAME_KEY
56 run1 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
57 + ":type=RuntimeBean," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
59 run2 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
60 + ":type=RuntimeBean," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
61 + "=" + moduleName1 + "," + ObjectNameUtil.INSTANCE_NAME_KEY
63 run3 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
64 + ":type=RuntimeBean," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
65 + "=" + moduleName2 + "," + ObjectNameUtil.INSTANCE_NAME_KEY
74 public ObjectName beginConfig() {
79 public CommitStatus commitConfig(final ObjectName transactonControllerON)
80 throws ConflictingVersionException, ValidationException {
81 if (transactonControllerON == null) {
82 Exception e = new RuntimeException("message");
83 throw ValidationException.createForSingleException(
84 new ModuleIdentifier("moduleName", "instanceName"), e);
90 public List<ObjectName> getOpenConfigs() {
95 public boolean isHealthy() {
100 public Set<String> getAvailableModuleNames() {
105 public Set<ObjectName> lookupConfigBeans() {
106 return Sets.newHashSet(conf1, conf2, conf3);
110 public Set<ObjectName> lookupConfigBeans(final String moduleName) {
111 if (moduleName.equals(moduleName1)) {
112 return Sets.newHashSet(conf1, conf2);
113 } else if (moduleName.equals(moduleName2)) {
114 return Sets.newHashSet(conf3);
121 public Set<ObjectName> lookupConfigBeans(final String moduleName,
122 final String instanceName) {
123 if (moduleName.equals(moduleName1) && instanceName.equals(instName1)) {
124 return Sets.newHashSet(conf2);
125 } else if (moduleName.equals(moduleName2)
126 && instanceName.equals(instName2)) {
127 return Sets.newHashSet(conf3);
134 public ObjectName lookupConfigBean(final String moduleName, final String instanceName)
135 throws InstanceNotFoundException {
136 if (moduleName.equals(InstanceNotFoundException.class.getSimpleName())) {
137 throw new InstanceNotFoundException();
143 public Set<ObjectName> lookupRuntimeBeans() {
144 return Sets.<ObjectName> newHashSet(run1, run2, run3);
148 public Set<ObjectName> lookupRuntimeBeans(final String moduleName,
149 final String instanceName) {
150 if (moduleName.equals(moduleName1) && instanceName.equals(instName1)) {
151 return Sets.<ObjectName> newHashSet(run2);
152 } else if (moduleName.equals(moduleName2)
153 && instanceName.equals(instName2)) {
154 return Sets.<ObjectName> newHashSet(run3);
156 return Sets.<ObjectName> newHashSet();
161 public void checkConfigBeanExists(final ObjectName objectName) throws InstanceNotFoundException {
162 Set<ObjectName> configBeans = Sets.<ObjectName> newHashSet(run1, run2, run3);
163 if(configBeans.size()>0){
169 public ObjectName lookupConfigBeanByServiceInterfaceName(final String serviceInterfaceQName, final String refName) {
170 if (serviceInterfaceQName.equals(serviceQName1) && refName.equals(refName1)) {
179 public Map<String, Map<String, ObjectName>> getServiceMapping() {
184 public Map<String, ObjectName> lookupServiceReferencesByServiceInterfaceName(final String serviceInterfaceQName) {
186 if(serviceInterfaceQName.equals(serviceQName1)){
187 map.put("conf1", conf1);
189 else if(serviceInterfaceQName.equals(serviceQName2)){
190 map.put("conf2", conf2);
193 map.put("conf3", conf3);
199 public Set<String> lookupServiceInterfaceNames(final ObjectName objectName) throws InstanceNotFoundException {
200 return Sets.<String> newHashSet(serviceQName1, serviceQName2);
204 public String getServiceInterfaceName(final String namespace, final String localName) {
209 public Set<String> getAvailableModuleFactoryQNames() {
210 return Sets.<String> newHashSet(moduleName1, moduleName2);
214 public ObjectName getServiceReference(final String serviceInterfaceQName, final String refName) throws InstanceNotFoundException {
219 public void checkServiceReferenceExists(final ObjectName objectName) throws InstanceNotFoundException {
220 throw new UnsupportedOperationException();