當前位置: 首頁>>代碼示例>>Java>>正文


Java ModuleMXBeanEntry.getRuntimeBeans方法代碼示例

本文整理匯總了Java中org.opendaylight.controller.config.yangjmxgenerator.ModuleMXBeanEntry.getRuntimeBeans方法的典型用法代碼示例。如果您正苦於以下問題:Java ModuleMXBeanEntry.getRuntimeBeans方法的具體用法?Java ModuleMXBeanEntry.getRuntimeBeans怎麽用?Java ModuleMXBeanEntry.getRuntimeBeans使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.opendaylight.controller.config.yangjmxgenerator.ModuleMXBeanEntry的用法示例。


在下文中一共展示了ModuleMXBeanEntry.getRuntimeBeans方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: mapRpcs

import org.opendaylight.controller.config.yangjmxgenerator.ModuleMXBeanEntry; //導入方法依賴的package包/類
public Rpcs mapRpcs() {

        final Map<String, Map<String, ModuleRpcs>> map = new HashMap<>();

        for (final Map.Entry<String, Map<String, ModuleMXBeanEntry>> namespaceToModuleEntry : yangStoreService
                .getModuleMXBeanEntryMap().entrySet()) {

            Map<String, ModuleRpcs> namespaceToModules = map.computeIfAbsent(namespaceToModuleEntry.getKey(),
                k -> new HashMap<>());

            for (final Map.Entry<String, ModuleMXBeanEntry> moduleEntry : namespaceToModuleEntry.getValue()
                    .entrySet()) {

                ModuleRpcs rpcMapping = namespaceToModules.computeIfAbsent(moduleEntry.getKey(),
                    k -> new ModuleRpcs(yangStoreService.getEnumResolver()));

                final ModuleMXBeanEntry entry = moduleEntry.getValue();

                for (final RuntimeBeanEntry runtimeEntry : entry.getRuntimeBeans()) {
                    rpcMapping.addNameMapping(runtimeEntry);
                    for (final RuntimeBeanEntry.Rpc rpc : runtimeEntry.getRpcs()) {
                        rpcMapping.addRpc(runtimeEntry, rpc);
                    }
                }
            }
        }

        return new Rpcs(map);
    }
 
開發者ID:hashsdn,項目名稱:hashsdn-controller,代碼行數:30,代碼來源:RpcFacade.java

示例2: createModuleRuntimes

import org.opendaylight.controller.config.yangjmxgenerator.ModuleMXBeanEntry; //導入方法依賴的package包/類
private Map<String, Map<String, ModuleRuntime>> createModuleRuntimes(
        final ConfigRegistryClient configRegistryClient,
        final Map<String, Map<String, ModuleMXBeanEntry>> mbeanentries) {
    Map<String, Map<String, ModuleRuntime>> retVal = new HashMap<>();

    for (Map.Entry<String, Map<String, ModuleMXBeanEntry>> namespaceToModuleEntry : mbeanentries.entrySet()) {

        Map<String, ModuleRuntime> innerMap = new HashMap<>();
        Map<String, ModuleMXBeanEntry> entriesFromNamespace = namespaceToModuleEntry.getValue();
        for (Map.Entry<String, ModuleMXBeanEntry> moduleToMXEntry : entriesFromNamespace.entrySet()) {

            ModuleMXBeanEntry mbe = moduleToMXEntry.getValue();

            Map<RuntimeBeanEntry, InstanceConfig> cache = new HashMap<>();
            RuntimeBeanEntry root = null;
            for (RuntimeBeanEntry rbe : mbe.getRuntimeBeans()) {
                cache.put(rbe, new InstanceConfig(configRegistryClient, rbe.getYangPropertiesToTypesMap(),
                        mbe.getNullableDummyContainerName()));
                if (rbe.isRoot()) {
                    root = rbe;
                }
            }

            if (root == null) {
                continue;
            }

            InstanceRuntime rootInstanceRuntime = createInstanceRuntime(root, cache);
            ModuleRuntime moduleRuntime = new ModuleRuntime(rootInstanceRuntime);
            innerMap.put(moduleToMXEntry.getKey(), moduleRuntime);
        }

        retVal.put(namespaceToModuleEntry.getKey(), innerMap);
    }
    return retVal;
}
 
開發者ID:hashsdn,項目名稱:hashsdn-controller,代碼行數:37,代碼來源:ConfigSubsystemFacade.java

示例3: abstractModuleTemplateFromMbe

import org.opendaylight.controller.config.yangjmxgenerator.ModuleMXBeanEntry; //導入方法依賴的package包/類
public static AbstractModuleTemplate abstractModuleTemplateFromMbe(
        final ModuleMXBeanEntry mbe) {
    final AbstractModuleAttributesProcessor attrProcessor = new AbstractModuleAttributesProcessor(mbe.getAttributes());

    final List<ModuleField> moduleFields = attrProcessor.getModuleFields();
    final List<String> implementedIfcs = Lists.newArrayList(
            mbe.getFullyQualifiedName(mbe.getMXBeanInterfaceName()));

    for (final String implementedService : mbe.getProvidedServices().keySet()) {
        implementedIfcs.add(implementedService);
    }

    boolean generateRuntime = false;
    String registratorFullyQualifiedName = null;
    if ((mbe.getRuntimeBeans() != null)
            && !mbe.getRuntimeBeans().isEmpty()) {
        generateRuntime = true;
        final RuntimeBeanEntry rootEntry = RuntimeRegistratorFtlTemplate
                .findRoot(mbe.getRuntimeBeans());
        registratorFullyQualifiedName = rootEntry
                .getPackageName()
                .concat(".")
                .concat(RuntimeRegistratorFtlTemplate.getJavaNameOfRuntimeRegistrator(rootEntry));
        implementedIfcs.add(RuntimeBeanRegistratorAwareModule.class
                .getCanonicalName());
    }

    final List<String> extendedClasses = Collections.singletonList(AbstractModule.class.getCanonicalName() + "<" + mbe.getAbstractModuleName() + ">");

    final AbstractModuleTemplate abstractModuleTemplate = new AbstractModuleTemplate(
            getHeaderFromEntry(mbe), mbe.getPackageName(),
            mbe.getAbstractModuleName(), extendedClasses, implementedIfcs, moduleFields,
            attrProcessor.getMethods(), generateRuntime,
            registratorFullyQualifiedName);

    if (mbe.getNullableDescription() != null) {
        abstractModuleTemplate.getAnnotations().add(
                Annotation.createDescriptionAnnotation(mbe
                        .getNullableDescription()));
    }
    return abstractModuleTemplate;
}
 
開發者ID:hashsdn,項目名稱:hashsdn-controller,代碼行數:43,代碼來源:TemplateFactory.java


注:本文中的org.opendaylight.controller.config.yangjmxgenerator.ModuleMXBeanEntry.getRuntimeBeans方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。