X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fconfig%2Fconfig-util%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Futil%2FTestingConfigRegistry.java;fp=opendaylight%2Fconfig%2Fconfig-util%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Futil%2FTestingConfigRegistry.java;h=d4ae42d3de201c3102babd9e77e4e2b2918550d6;hb=9fb64948564e252018f9b1e13e7cea2c92f991aa;hp=0000000000000000000000000000000000000000;hpb=1742b3894614be478c333a1043ced8ef1bc5dc84;p=controller.git diff --git a/opendaylight/config/config-util/src/test/java/org/opendaylight/controller/config/util/TestingConfigRegistry.java b/opendaylight/config/config-util/src/test/java/org/opendaylight/controller/config/util/TestingConfigRegistry.java new file mode 100644 index 0000000000..d4ae42d3de --- /dev/null +++ b/opendaylight/config/config-util/src/test/java/org/opendaylight/controller/config/util/TestingConfigRegistry.java @@ -0,0 +1,146 @@ +/* + * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.opendaylight.controller.config.util; + +import java.util.List; +import java.util.Set; + +import javax.management.InstanceNotFoundException; +import javax.management.ObjectName; + +import org.opendaylight.controller.config.api.ConflictingVersionException; +import org.opendaylight.controller.config.api.ModuleIdentifier; +import org.opendaylight.controller.config.api.ValidationException; +import org.opendaylight.controller.config.api.jmx.CommitStatus; +import org.opendaylight.controller.config.api.jmx.ConfigRegistryMXBean; +import org.opendaylight.controller.config.api.jmx.ObjectNameUtil; + +import com.google.common.collect.Sets; + +public class TestingConfigRegistry implements ConfigRegistryMXBean { + + static final ObjectName conf1, conf2, conf3, run1, run2, run3; + + public static final String moduleName1 = "moduleA"; + public static final String moduleName2 = "moduleB"; + public static final String instName1 = "instA"; + public static final String instName2 = "instB"; + + static { + conf1 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN + + ":type=Module," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY + + "=" + moduleName1); + conf2 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN + + ":type=Module," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY + + "=" + moduleName1 + "," + ObjectNameUtil.INSTANCE_NAME_KEY + + "=" + instName1); + conf3 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN + + ":type=Module," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY + + "=" + moduleName2 + "," + ObjectNameUtil.INSTANCE_NAME_KEY + + "=" + instName2); + run1 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN + + ":type=RuntimeBean," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY + + "=" + moduleName1); + run2 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN + + ":type=RuntimeBean," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY + + "=" + moduleName1 + "," + ObjectNameUtil.INSTANCE_NAME_KEY + + "=" + instName1); + run3 = ObjectNameUtil.createON(ObjectNameUtil.ON_DOMAIN + + ":type=RuntimeBean," + ObjectNameUtil.MODULE_FACTORY_NAME_KEY + + "=" + moduleName2 + "," + ObjectNameUtil.INSTANCE_NAME_KEY + + "=" + instName2); + } + + @Override + public ObjectName beginConfig() { + return null; + } + + @Override + public CommitStatus commitConfig(ObjectName transactonControllerON) + throws ConflictingVersionException, ValidationException { + if (transactonControllerON == null) { + Exception e = new RuntimeException("message"); + throw ValidationException.createForSingleException( + new ModuleIdentifier("moduleName", "instanceName"), e); + } + return null; + } + + @Override + public List getOpenConfigs() { + return null; + } + + @Override + public boolean isHealthy() { + return false; + } + + @Override + public Set getAvailableModuleNames() { + return null; + } + + @Override + public Set lookupConfigBeans() { + return Sets.newHashSet(conf1, conf2, conf3); + } + + @Override + public Set lookupConfigBeans(String moduleName) { + if (moduleName.equals(moduleName1)) { + return Sets.newHashSet(conf1, conf2); + } else if (moduleName.equals(moduleName2)) { + return Sets.newHashSet(conf3); + } else { + return null; + } + } + + @Override + public Set lookupConfigBeans(String moduleName, + String instanceName) { + if (moduleName.equals(moduleName1) && instanceName.equals(instName1)) { + return Sets.newHashSet(conf2); + } else if (moduleName.equals(moduleName2) + && instanceName.equals(instName2)) { + return Sets.newHashSet(conf3); + } else { + return null; + } + } + + @Override + public ObjectName lookupConfigBean(String moduleName, String instanceName) + throws InstanceNotFoundException { + if (moduleName.equals(InstanceNotFoundException.class.getSimpleName())) { + throw new InstanceNotFoundException(); + } + return conf3; + } + + @Override + public Set lookupRuntimeBeans() { + return Sets. newHashSet(run1, run2, run3); + } + + @Override + public Set lookupRuntimeBeans(String moduleName, + String instanceName) { + if (moduleName.equals(moduleName1) && instanceName.equals(instName1)) { + return Sets. newHashSet(run2); + } else if (moduleName.equals(moduleName2) + && instanceName.equals(instName2)) { + return Sets. newHashSet(run3); + } else { + return Sets. newHashSet(); + } + } + +}