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.HashMap;
11 import java.util.List;
15 import javax.management.InstanceNotFoundException;
16 import javax.management.ObjectName;
18 import org.opendaylight.controller.config.api.ConflictingVersionException;
19 import org.opendaylight.controller.config.api.ModuleIdentifier;
20 import org.opendaylight.controller.config.api.ValidationException;
21 import org.opendaylight.controller.config.api.jmx.CommitStatus;
22 import org.opendaylight.controller.config.api.jmx.ConfigRegistryMXBean;
23 import org.opendaylight.controller.config.api.jmx.ObjectNameUtil;
25 import com.google.common.collect.Sets;
27 public class TestingConfigRegistry implements ConfigRegistryMXBean {
29 static final ObjectName conf1, conf2, conf3, run1, run2, run3;
30 public static String check;
31 public static boolean checkBool;
32 private Map<String, ObjectName> map = new HashMap<>();
34 public static final String moduleName1 = "moduleA";
35 public static final String moduleName2 = "moduleB";
36 public static final String instName1 = "instA";
37 public static final String instName2 = "instB";
38 public static final String refName1 = "refA";
39 public static final String refName2 = "refB";
40 public static final String serviceQName1 = "qnameA";
41 public static final String serviceQName2 = "qnameB";
44 conf1 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
45 + ":type=Module," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
46 + "=" + moduleName1 + "," + ObjectNameUtil.SERVICE_QNAME_KEY
47 + "=" + serviceQName1 + "," + ObjectNameUtil.REF_NAME_KEY
49 conf2 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
50 + ":type=Module," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
51 + "=" + moduleName1 + "," + ObjectNameUtil.INSTANCE_NAME_KEY
52 + "=" + instName1 + "," + ObjectNameUtil.SERVICE_QNAME_KEY
53 + "=" + serviceQName2 + "," + ObjectNameUtil.REF_NAME_KEY
55 conf3 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
56 + ":type=Module," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
57 + "=" + moduleName2 + "," + ObjectNameUtil.INSTANCE_NAME_KEY
59 run1 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
60 + ":type=RuntimeBean," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
62 run2 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
63 + ":type=RuntimeBean," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
64 + "=" + moduleName1 + "," + ObjectNameUtil.INSTANCE_NAME_KEY
66 run3 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
67 + ":type=RuntimeBean," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
68 + "=" + moduleName2 + "," + ObjectNameUtil.INSTANCE_NAME_KEY
77 public ObjectName beginConfig() {
82 public CommitStatus commitConfig(ObjectName transactonControllerON)
83 throws ConflictingVersionException, ValidationException {
84 if (transactonControllerON == null) {
85 Exception e = new RuntimeException("message");
86 throw ValidationException.createForSingleException(
87 new ModuleIdentifier("moduleName", "instanceName"), e);
93 public List<ObjectName> getOpenConfigs() {
98 public boolean isHealthy() {
103 public Set<String> getAvailableModuleNames() {
108 public Set<ObjectName> lookupConfigBeans() {
109 return Sets.newHashSet(conf1, conf2, conf3);
113 public Set<ObjectName> lookupConfigBeans(String moduleName) {
114 if (moduleName.equals(moduleName1)) {
115 return Sets.newHashSet(conf1, conf2);
116 } else if (moduleName.equals(moduleName2)) {
117 return Sets.newHashSet(conf3);
124 public Set<ObjectName> lookupConfigBeans(String moduleName,
125 String instanceName) {
126 if (moduleName.equals(moduleName1) && instanceName.equals(instName1)) {
127 return Sets.newHashSet(conf2);
128 } else if (moduleName.equals(moduleName2)
129 && instanceName.equals(instName2)) {
130 return Sets.newHashSet(conf3);
137 public ObjectName lookupConfigBean(String moduleName, String instanceName)
138 throws InstanceNotFoundException {
139 if (moduleName.equals(InstanceNotFoundException.class.getSimpleName())) {
140 throw new InstanceNotFoundException();
146 public Set<ObjectName> lookupRuntimeBeans() {
147 return Sets.<ObjectName> newHashSet(run1, run2, run3);
151 public Set<ObjectName> lookupRuntimeBeans(String moduleName,
152 String instanceName) {
153 if (moduleName.equals(moduleName1) && instanceName.equals(instName1)) {
154 return Sets.<ObjectName> newHashSet(run2);
155 } else if (moduleName.equals(moduleName2)
156 && instanceName.equals(instName2)) {
157 return Sets.<ObjectName> newHashSet(run3);
159 return Sets.<ObjectName> newHashSet();
164 public void checkConfigBeanExists(ObjectName objectName) throws InstanceNotFoundException {
165 Set<ObjectName> configBeans = Sets.<ObjectName> newHashSet(run1, run2, run3);
166 if(configBeans.size()>0){
172 public ObjectName lookupConfigBeanByServiceInterfaceName(String serviceInterfaceQName, String refName) {
173 if (serviceInterfaceQName.equals(serviceQName1) && refName.equals(refName1)) {
182 public Map<String, Map<String, ObjectName>> getServiceMapping() {
187 public Map<String, ObjectName> lookupServiceReferencesByServiceInterfaceName(String serviceInterfaceQName) {
189 if(serviceInterfaceQName.equals(serviceQName1)){
190 map.put("conf1", conf1);
192 else if(serviceInterfaceQName.equals(serviceQName2)){
193 map.put("conf2", conf2);
196 map.put("conf3", conf3);
202 public Set<String> lookupServiceInterfaceNames(ObjectName objectName) throws InstanceNotFoundException {
203 return Sets.<String> newHashSet(serviceQName1, serviceQName2);
207 public String getServiceInterfaceName(String namespace, String localName) {
212 public Set<String> getAvailableModuleFactoryQNames() {
213 return Sets.<String> newHashSet(moduleName1, moduleName2);
217 public ObjectName getServiceReference(String serviceInterfaceQName, String refName) throws InstanceNotFoundException {
222 public void checkServiceReferenceExists(ObjectName objectName) throws InstanceNotFoundException {
223 throw new UnsupportedOperationException();