Initial code drop of yang model driven configuration system
[controller.git] / opendaylight / config / config-util / src / test / java / org / opendaylight / controller / config / util / TestingConfigTransactionController.java
1 /*
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.controller.config.util;
9
10 import java.util.Set;
11
12 import javax.management.InstanceAlreadyExistsException;
13 import javax.management.InstanceNotFoundException;
14 import javax.management.ObjectName;
15
16 import org.opendaylight.controller.config.api.ValidationException;
17 import org.opendaylight.controller.config.api.jmx.ConfigTransactionControllerMXBean;
18 import org.opendaylight.controller.config.api.jmx.ObjectNameUtil;
19
20 import com.google.common.collect.Sets;
21
22 public class TestingConfigTransactionController implements
23         ConfigTransactionControllerMXBean {
24
25     private final ObjectName conf1, conf2, conf3;
26
27     public static final String moduleName1 = "moduleA";
28     public static final String moduleName2 = "moduleB";
29     public static final String instName1 = "instA";
30     public static final String instName2 = "instB";
31
32     public TestingConfigTransactionController() throws Exception {
33         conf1 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
34                 + ":type=Module," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
35                 + "=" + moduleName1);
36         conf2 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
37                 + ":type=Module," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
38                 + "=" + moduleName1 + "," + ObjectNameUtil.INSTANCE_NAME_KEY
39                 + "=" + instName1);
40         conf3 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
41                 + ":type=Module," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
42                 + "=" + moduleName2 + "," + ObjectNameUtil.INSTANCE_NAME_KEY
43                 + "=" + instName2);
44     }
45
46     @Override
47     public ObjectName createModule(String moduleName, String instanceName)
48             throws InstanceAlreadyExistsException {
49         return null;
50     }
51
52     @Override
53     public void destroyModule(ObjectName objectName)
54             throws InstanceNotFoundException {
55     }
56
57     @Override
58     public void abortConfig() {
59     }
60
61     @Override
62     public void validateConfig() throws ValidationException {
63     }
64
65     @Override
66     public String getTransactionName() {
67         return null;
68     }
69
70     @Override
71     public Set<String> getAvailableModuleNames() {
72         return null;
73     }
74
75     @Override
76     public Set<ObjectName> lookupConfigBeans() {
77         return Sets.newHashSet(conf1, conf2, conf3);
78     }
79
80     @Override
81     public Set<ObjectName> lookupConfigBeans(String moduleName) {
82         if (moduleName.equals(moduleName1)) {
83             return Sets.newHashSet(conf1, conf2);
84         } else if (moduleName.equals(moduleName2)) {
85             return Sets.newHashSet(conf3);
86         } else {
87             return null;
88         }
89     }
90
91     @Override
92     public ObjectName lookupConfigBean(String moduleName, String instanceName)
93             throws InstanceNotFoundException {
94         if (moduleName.equals(InstanceNotFoundException.class.getSimpleName())) {
95             throw new InstanceNotFoundException();
96         }
97         return conf3;
98     }
99
100     @Override
101     public Set<ObjectName> lookupConfigBeans(String moduleName,
102             String instanceName) {
103         if (moduleName.equals(moduleName1) && instanceName.equals(instName1)) {
104             return Sets.newHashSet(conf2);
105         } else if (moduleName.equals(moduleName2)
106                 && instanceName.equals(instName2)) {
107             return Sets.newHashSet(conf3);
108         } else {
109             return null;
110         }
111     }
112 }