Merge "Bug-915: Adding static document generation. Currently the API Explorer can...
[controller.git] / opendaylight / config / config-util / src / test / java / org / opendaylight / controller / config / util / TestingConfigRegistry.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 com.google.common.collect.Sets;
11 import java.util.HashMap;
12 import java.util.List;
13 import java.util.Map;
14 import java.util.Set;
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;
23
24 public class TestingConfigRegistry implements ConfigRegistryMXBean {
25
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<>();
30
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";
39
40     static {
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
45                 + "=" + refName1);
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
51                 + "=" + refName1);
52         conf3 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
53                 + ":type=Module," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
54                 + "=" + moduleName2 + "," + ObjectNameUtil.INSTANCE_NAME_KEY
55                 + "=" + instName2);
56         run1 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
57                 + ":type=RuntimeBean," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
58                 + "=" + moduleName1);
59         run2 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
60                 + ":type=RuntimeBean," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
61                 + "=" + moduleName1 + "," + ObjectNameUtil.INSTANCE_NAME_KEY
62                 + "=" + instName1);
63         run3 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN
64                 + ":type=RuntimeBean," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY
65                 + "=" + moduleName2 + "," + ObjectNameUtil.INSTANCE_NAME_KEY
66                 + "=" + instName2);
67
68         check = null;
69         checkBool = false;
70
71     }
72
73     @Override
74     public ObjectName beginConfig() {
75         return conf2;
76     }
77
78     @Override
79     public CommitStatus commitConfig(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);
85         }
86         return null;
87     }
88
89     @Override
90     public List<ObjectName> getOpenConfigs() {
91         return null;
92     }
93
94     @Override
95     public boolean isHealthy() {
96         return false;
97     }
98
99     @Override
100     public Set<String> getAvailableModuleNames() {
101         return null;
102     }
103
104     @Override
105     public Set<ObjectName> lookupConfigBeans() {
106         return Sets.newHashSet(conf1, conf2, conf3);
107     }
108
109     @Override
110     public Set<ObjectName> lookupConfigBeans(String moduleName) {
111         if (moduleName.equals(moduleName1)) {
112             return Sets.newHashSet(conf1, conf2);
113         } else if (moduleName.equals(moduleName2)) {
114             return Sets.newHashSet(conf3);
115         } else {
116             return null;
117         }
118     }
119
120     @Override
121     public Set<ObjectName> lookupConfigBeans(String moduleName,
122             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);
128         } else {
129             return null;
130         }
131     }
132
133     @Override
134     public ObjectName lookupConfigBean(String moduleName, String instanceName)
135             throws InstanceNotFoundException {
136         if (moduleName.equals(InstanceNotFoundException.class.getSimpleName())) {
137             throw new InstanceNotFoundException();
138         }
139         return conf3;
140     }
141
142     @Override
143     public Set<ObjectName> lookupRuntimeBeans() {
144         return Sets.<ObjectName> newHashSet(run1, run2, run3);
145     }
146
147     @Override
148     public Set<ObjectName> lookupRuntimeBeans(String moduleName,
149             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);
155         } else {
156             return Sets.<ObjectName> newHashSet();
157         }
158     }
159
160     @Override
161     public void checkConfigBeanExists(ObjectName objectName) throws InstanceNotFoundException {
162         Set<ObjectName> configBeans = Sets.<ObjectName> newHashSet(run1, run2, run3);
163         if(configBeans.size()>0){
164             checkBool = true;
165         }
166     }
167
168     @Override
169     public ObjectName lookupConfigBeanByServiceInterfaceName(String serviceInterfaceQName, String refName) {
170         if (serviceInterfaceQName.equals(serviceQName1) && refName.equals(refName1)) {
171             return conf1;
172         }
173         else{
174             return null;
175         }
176     }
177
178     @Override
179     public Map<String, Map<String, ObjectName>> getServiceMapping() {
180         return null;
181     }
182
183     @Override
184     public Map<String, ObjectName> lookupServiceReferencesByServiceInterfaceName(String serviceInterfaceQName) {
185
186         if(serviceInterfaceQName.equals(serviceQName1)){
187             map.put("conf1", conf1);
188         }
189         else if(serviceInterfaceQName.equals(serviceQName2)){
190             map.put("conf2", conf2);
191         }
192         else{
193             map.put("conf3", conf3);
194         }
195         return map;
196     }
197
198     @Override
199     public Set<String> lookupServiceInterfaceNames(ObjectName objectName) throws InstanceNotFoundException {
200         return Sets.<String> newHashSet(serviceQName1, serviceQName2);
201     }
202
203     @Override
204     public String getServiceInterfaceName(String namespace, String localName) {
205         return null;
206     }
207
208     @Override
209     public Set<String> getAvailableModuleFactoryQNames() {
210         return Sets.<String> newHashSet(moduleName1, moduleName2);
211     }
212
213     @Override
214     public ObjectName getServiceReference(String serviceInterfaceQName, String refName) throws InstanceNotFoundException {
215         return conf1;
216     }
217
218     @Override
219     public void checkServiceReferenceExists(ObjectName objectName) throws InstanceNotFoundException {
220         throw new UnsupportedOperationException();
221     }
222 }