use of org.opendaylight.controller.config.yangjmxgenerator.RuntimeBeanEntry in project controller by opendaylight.
the class ModuleMXBeanEntryPluginTest method testThreadsJavaPlugin.
@Test
public void testThreadsJavaPlugin() {
Map<String, ModuleMXBeanEntry> /* identity local name */
namesToMBEs = loadThreadsJava();
{
// check threadfactory-naming
ModuleMXBeanEntry threadFactoryNaming = namesToMBEs.get(THREADFACTORY_NAMING_MXB_NAME);
Collection<RuntimeBeanEntry> runtimeBeans = threadFactoryNaming.getRuntimeBeans();
assertThat(runtimeBeans.size(), is(4));
// first one should be root
{
RuntimeBeanEntry rootRB = findFirstByYangName(runtimeBeans, THREADFACTORY_NAMING_MXB_NAME);
assertThat(rootRB.isRoot(), is(true));
assertThat(rootRB.getAttributes().size(), is(1));
JavaAttribute attribute = (JavaAttribute) rootRB.getAttributes().iterator().next();
assertThat(attribute.getAttributeYangName(), is("created-sessions"));
assertThat(rootRB.getYangName(), is(THREADFACTORY_NAMING_MXB_NAME));
Map<String, FtlTemplate> ftlMap = TemplateFactory.getTOAndMXInterfaceFtlFiles(rootRB);
assertThat(ftlMap.size(), is(1));
GeneralInterfaceTemplate rootGeneratorInterface = (GeneralInterfaceTemplate) ftlMap.get("NamingThreadFactoryRuntimeMXBean.java");
assertNotNull(rootGeneratorInterface);
assertThat(rootGeneratorInterface.getPackageName(), is(PACKAGE_NAME));
assertThat(rootGeneratorInterface.getFullyQualifiedName(), is(PACKAGE_NAME + ".NamingThreadFactoryRuntimeMXBean"));
assertThat(rootGeneratorInterface.getTypeDeclaration().getExtended(), is(Arrays.asList("org.opendaylight.controller.config.api.runtime.RuntimeBean")));
assertThat(rootGeneratorInterface.getMethods().size(), is(1));
Method getCreatedSessions = findFirstMethodByName(rootGeneratorInterface.getMethods(), "getCreatedSessions");
assertThat(getCreatedSessions.getName(), is("getCreatedSessions"));
assertThat(getCreatedSessions.getParameters().isEmpty(), is(true));
assertThat(getCreatedSessions.getReturnType(), is(Long.class.getName()));
}
}
{
ModuleMXBeanEntry threadFactoryNaming = namesToMBEs.get(THREADFACTORY_NAMING_MXB_NAME);
Collection<RuntimeBeanEntry> runtimeBeans = threadFactoryNaming.getRuntimeBeans();
assertThat(runtimeBeans.size(), is(4));
{
RuntimeBeanEntry streamRB = findFirstByNamePrefix(runtimeBeans, "ThreadStream");
assertNotNull(streamRB);
assertFalse(streamRB.getKeyYangName().isPresent());
assertFalse(streamRB.getKeyJavaName().isPresent());
Map<String, AttributeIfc> attributeMap = streamRB.getYangPropertiesToTypesMap();
assertEquals(4, attributeMap.size());
TOAttribute toAttr = (TOAttribute) attributeMap.get("peer");
assertNotNull(toAttr);
JavaAttribute timestampAttr = (JavaAttribute) attributeMap.get("timestamp");
assertNotNull(timestampAttr);
JavaAttribute stateAttr = (JavaAttribute) attributeMap.get("state");
assertNotNull(stateAttr);
ListAttribute innerStreamList = (ListAttribute) attributeMap.get("inner-stream-list");
assertNotNull(innerStreamList);
Map<String, FtlTemplate> ftlMap = TemplateFactory.getTOAndMXInterfaceFtlFiles(streamRB);
assertThat(ftlMap.size(), is(3));
GeneralInterfaceTemplate streamGeneralInterface = (GeneralInterfaceTemplate) ftlMap.get("ThreadStreamRuntimeMXBean.java");
assertThat(streamGeneralInterface.getMethods().size(), is(4));
Method getPeer = findFirstMethodByName(streamGeneralInterface.getMethods(), "getPeer");
assertNotNull(getPeer);
assertThat(getPeer.getReturnType(), is(PACKAGE_NAME + ".Peer"));
// test TO
GeneralClassTemplate peerTO = (GeneralClassTemplate) ftlMap.get("pack2.Peer");
assertThat(peerTO.getPackageName(), is(PACKAGE_NAME));
assertThat(peerTO.getTypeDeclaration().getExtended().isEmpty(), is(true));
assertThat(peerTO.getFullyQualifiedName(), is(PACKAGE_NAME + ".Peer"));
assertThat(peerTO.getMethods().size(), is(5 + 2));
Method getPort = findFirstMethodByName(peerTO.getMethods(), "getPort");
assertNotNull(getPort);
Method setPort = findFirstMethodByName(peerTO.getMethods(), "setPort");
assertNotNull(setPort);
Method getCoreSize = findFirstMethodByName(peerTO.getMethods(), "getCoreSize");
Method setCoreSize = findFirstMethodByName(peerTO.getMethods(), "setCoreSize");
assertNotNull(setCoreSize);
assertNotNull(getCoreSize);
}
}
}
use of org.opendaylight.controller.config.yangjmxgenerator.RuntimeBeanEntry in project controller by opendaylight.
the class RuntimeRegistratorFtlFileTest method testRootWithoutAnything.
@Test
public void testRootWithoutAnything() {
RuntimeBeanEntry rootRB = prepareRootRB(Collections.<RuntimeBeanEntry>emptyList());
Map<String, FtlTemplate> createdFtls = RuntimeRegistratorFtlTemplate.create(rootRB);
assertThat(createdFtls.size(), is(2));
String rootRegistratorName = RuntimeRegistratorFtlTemplate.getJavaNameOfRuntimeRegistration(rootRB.getJavaNamePrefix());
FtlTemplate rootFtlFile = createdFtls.get(rootRegistratorName);
assertNotNull(rootFtlFile);
assertThat(createdFtls.values().size(), is(2));
}
use of org.opendaylight.controller.config.yangjmxgenerator.RuntimeBeanEntry in project controller by opendaylight.
the class RuntimeRegistratorFtlFileTest method testHierarchy2.
@Test
public void testHierarchy2() {
RuntimeBeanEntry grandChildRB = prepareChildRB(Collections.<RuntimeBeanEntry>emptyList(), "grand");
RuntimeBeanEntry childRB = prepareChildRB(Arrays.asList(grandChildRB), "");
RuntimeBeanEntry rootRB = prepareRootRB(Arrays.asList(childRB));
Map<String, FtlTemplate> createdFtls = RuntimeRegistratorFtlTemplate.create(rootRB);
assertThat(createdFtls.values().size(), is(4));
}
Aggregations