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


Java DisconfCenterFile.getKeyMaps方法代碼示例

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


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

示例1: inject2Instance

import com.baidu.disconf.client.common.model.DisconfCenterFile; //導入方法依賴的package包/類
/**
 *
 */
@Override
public void inject2Instance(Object object, String fileName) {

    DisconfCenterFile disconfCenterFile = getInstance().getConfFileMap().get(fileName);

    // 校驗是否存在
    if (disconfCenterFile == null) {
        LOGGER.error("cannot find " + fileName + " in store....");
        return;
    }

    //
    // 靜態類
    //
    if (object != null) {
        // 設置object
        disconfCenterFile.setObject(object);
    }

    // 根據類型設置值
    //
    // 注入實體
    //
    Map<String, FileItemValue> keMap = disconfCenterFile.getKeyMaps();
    for (String fileItem : keMap.keySet()) {

        // 根據類型設置值
        try {

            //
            // 靜態類
            //
            if (object == null) {

                if (keMap.get(fileItem).isStatic()) {
                    LOGGER.debug(fileItem + " is a static field. ");
                    keMap.get(fileItem).setValue4StaticFileItem(keMap.get(fileItem).getValue());
                }

                //
                // 非靜態類
                //
            } else {

                LOGGER.debug(fileItem + " is a non-static field. ");

                if (keMap.get(fileItem).getValue() == null) {

                    // 如果倉庫值為空,則實例 直接使用默認值
                    Object defaultValue = keMap.get(fileItem).getFieldDefaultValue(object);
                    keMap.get(fileItem).setValue(defaultValue);

                } else {

                    // 如果倉庫裏的值為非空,則實例使用倉庫裏的值
                    keMap.get(fileItem).setValue4FileItem(object, keMap.get(fileItem).getValue());
                }
            }

        } catch (Exception e) {
            LOGGER.error("inject2Instance fileName " + fileName + " " + e.toString(), e);
        }
    }
}
 
開發者ID:knightliao,項目名稱:disconf,代碼行數:68,代碼來源:DisconfStoreFileProcessorImpl.java

示例2: inject2Store

import com.baidu.disconf.client.common.model.DisconfCenterFile; //導入方法依賴的package包/類
/**
 *
 */
@Override
public void inject2Store(String fileName, DisconfValue disconfValue) {

    DisconfCenterFile disconfCenterFile = getInstance().getConfFileMap().get(fileName);

    // 校驗是否存在
    if (disconfCenterFile == null) {
        LOGGER.error("cannot find " + fileName + " in store....");
        return;
    }

    if (disconfValue == null || disconfValue.getFileData() == null) {
        LOGGER.error("value is null for {}", fileName);
        return;
    }

    // 存儲
    Map<String, FileItemValue> keMap = disconfCenterFile.getKeyMaps();
    if (keMap.size() > 0) {
        for (String fileItem : keMap.keySet()) {

            Object object = disconfValue.getFileData().get(fileItem);
            if (object == null) {
                LOGGER.error("cannot find {} to be injected. file content is: {}", fileItem,
                        disconfValue.getFileData().toString());
                continue;
            }

            // 根據類型設置值
            try {

                Object value = keMap.get(fileItem).getFieldValueByType(object);
                keMap.get(fileItem).setValue(value);

            } catch (Exception e) {
                LOGGER.error("inject2Store filename: " + fileName + " " + e.toString(), e);
            }
        }
    }

    // 使用過 XML式配置
    if (disconfCenterFile.isTaggedWithNonAnnotationFile()) {

        if (disconfCenterFile.getSupportFileTypeEnum().equals(SupportFileTypeEnum.PROPERTIES)) {
            // 如果是采用XML進行配置的,則需要利用spring的reload將數據reload到bean裏
            ReloadConfigurationMonitor.reload();
        }
        disconfCenterFile.setAdditionalKeyMaps(disconfValue.getFileData());
    }
}
 
開發者ID:knightliao,項目名稱:disconf,代碼行數:54,代碼來源:DisconfStoreFileProcessorImpl.java


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