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;
14 import javax.management.InstanceAlreadyExistsException;
15 import javax.management.InstanceNotFoundException;
16 import javax.management.ObjectName;
17 import org.opendaylight.controller.config.api.ValidationException;
18 import org.opendaylight.controller.config.api.jmx.ConfigTransactionControllerMXBean;
19 import org.opendaylight.controller.config.api.jmx.ObjectNameUtil;
21 public class TestingConfigTransactionController implements
22 ConfigTransactionControllerMXBean {
24 public final ObjectName conf1, conf2, conf3;
25 public ObjectName conf4;
27 Map<String, ObjectName> mapSub;
28 Map<String, Map<String, ObjectName>> map;
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";
35 public TestingConfigTransactionController() throws Exception {
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 conf4 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
48 + ":type=Module," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
49 + "=" + moduleName2 + "," + ObjectNameUtil.INSTANCE_NAME_KEY
51 mapSub = new HashMap<String, ObjectName>();
52 map = new HashMap<String, Map<String,ObjectName>>();
56 public ObjectName createModule(String moduleName, String instanceName)
57 throws InstanceAlreadyExistsException {
59 return ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
60 + ":type=Module," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
65 public void destroyModule(ObjectName objectName)
66 throws InstanceNotFoundException {
67 if(objectName != null){
73 public void abortConfig() {
77 public void validateConfig() throws ValidationException {
81 public String getTransactionName() {
83 return "transactionName";
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 ObjectName lookupConfigBean(String moduleName, String instanceName)
109 throws InstanceNotFoundException {
110 if (moduleName.equals(InstanceNotFoundException.class.getSimpleName())) {
111 throw new InstanceNotFoundException();
117 public Set<ObjectName> lookupConfigBeans(String moduleName,
118 String instanceName) {
119 if (moduleName.equals(moduleName1) && instanceName.equals(instName1)) {
120 return Sets.newHashSet(conf2);
121 } else if (moduleName.equals(moduleName2)
122 && instanceName.equals(instName2)) {
123 return Sets.newHashSet(conf3);
130 public void checkConfigBeanExists(ObjectName objectName) throws InstanceNotFoundException {
131 check = "configBeanExists";
135 public ObjectName saveServiceReference(String serviceInterfaceName, String refName, ObjectName moduleON) throws InstanceNotFoundException {
140 public void removeServiceReference(String serviceInterfaceName, String refName) {
145 public void removeAllServiceReferences() {
150 public ObjectName lookupConfigBeanByServiceInterfaceName(String serviceInterfaceQName, String refName) {
155 public Map<String, Map<String, ObjectName>> getServiceMapping() {
156 mapSub.put("A",conf2);
157 map.put("AA", mapSub);
162 public Map<String, ObjectName> lookupServiceReferencesByServiceInterfaceName(String serviceInterfaceQName) {
163 mapSub.put("A",conf2);
168 public Set<String> lookupServiceInterfaceNames(ObjectName objectName) throws InstanceNotFoundException {
169 return Sets.newHashSet("setA");
173 public String getServiceInterfaceName(String namespace, String localName) {
174 return check=namespace+localName;
178 public boolean removeServiceReferences(ObjectName objectName) throws InstanceNotFoundException {
183 public Set<String> getAvailableModuleFactoryQNames() {
184 return Sets.newHashSet("availableModuleFactoryQNames");
188 public ObjectName getServiceReference(String serviceInterfaceQName, String refName) throws InstanceNotFoundException {
193 public void checkServiceReferenceExists(ObjectName objectName) throws InstanceNotFoundException {
194 check = "referenceExist";