package com.baidu.disconf.client.scan.inner.statically.impl; import java.util.ArrayList; import java.util.List; import java.util.Set; import com.baidu.disconf.client.common.constants.SupportFileTypeEnum; import com.baidu.disconf.client.common.model.DisConfCommonModel; import com.baidu.disconf.client.common.model.DisconfCenterBaseModel; import com.baidu.disconf.client.common.model.DisconfCenterFile; import com.baidu.disconf.client.config.DisClientSysConfig; import com.baidu.disconf.client.scan.inner.statically.StaticScannerMgr; import com.baidu.disconf.client.scan.inner.statically.model.ScanStaticModel; import com.baidu.disconf.client.store.DisconfStoreProcessorFactory; import com.baidu.disconf.core.common.constants.DisConfigTypeEnum; import com.baidu.disconf.core.common.path.DisconfWebPathMgr; /** * 非注解配置文件的扫描器 */ public class StaticScannerNonAnnotationFileMgrImpl extends StaticScannerMgrImplBase implements StaticScannerMgr { /** * */ @Override public void scanData2Store(ScanStaticModel scanModel) { // // // List<DisconfCenterBaseModel> disconfCenterBaseModels = getDisconfCenterFiles(scanModel.getJustHostFiles()); DisconfStoreProcessorFactory.getDisconfStoreFileProcessor().transformScanData(disconfCenterBaseModels); } /** * */ public static void scanData2Store(String fileName) { DisconfCenterBaseModel disconfCenterBaseModel = StaticScannerNonAnnotationFileMgrImpl.getDisconfCenterFile(fileName); DisconfStoreProcessorFactory.getDisconfStoreFileProcessor().transformScanData(disconfCenterBaseModel); } /** * */ @Override public void exclude(Set<String> keySet) { DisconfStoreProcessorFactory.getDisconfStoreFileProcessor().exclude(keySet); } /** * */ public static List<DisconfCenterBaseModel> getDisconfCenterFiles(Set<String> fileNameList) { List<DisconfCenterBaseModel> disconfCenterFiles = new ArrayList<DisconfCenterBaseModel>(); for (String fileName : fileNameList) { disconfCenterFiles.add(getDisconfCenterFile(fileName)); } return disconfCenterFiles; } /** * */ public static DisconfCenterBaseModel getDisconfCenterFile(String fileName) { DisconfCenterFile disconfCenterFile = new DisconfCenterFile(); fileName = fileName.trim(); // // file name disconfCenterFile.setFileName(fileName); // 非注解式 disconfCenterFile.setIsTaggedWithNonAnnotationFile(true); // file type disconfCenterFile.setSupportFileTypeEnum(SupportFileTypeEnum.getByFileName(fileName)); // // disConfCommonModel DisConfCommonModel disConfCommonModel = makeDisConfCommonModel("", "", ""); disconfCenterFile.setDisConfCommonModel(disConfCommonModel); // Remote URL String url = DisconfWebPathMgr.getRemoteUrlParameter(DisClientSysConfig.getInstance().CONF_SERVER_STORE_ACTION, disConfCommonModel.getApp(), disConfCommonModel.getVersion(), disConfCommonModel.getEnv(), disconfCenterFile.getFileName(), DisConfigTypeEnum.FILE); disconfCenterFile.setRemoteServerUrl(url); return disconfCenterFile; } }