package com.ycl.factory; import com.ycl.calculate.*; import constant.CalculationStrategyConstants; import java.util.HashMap; import java.util.Map; public class IndexCalculationFactory { private static final Map calculators = new HashMap<>(); static { //车辆点位在线、视图库对接稳定性 calculators.put(CalculationStrategyConstants.Car_SiteOnline_ViewStability, new CarSnapshopDataCalculation()); //车辆信息准确率 calculators.put(CalculationStrategyConstants.Car_InfoAccuracy, new CarInFoAccuracyCalculation()); //车辆抓拍数据上传延迟 calculators.put(CalculationStrategyConstants.Car_SnapshotDelay, new CarSnapshotDelayCalculation()); //车辆数据抓拍完整性 calculators.put(CalculationStrategyConstants.Car_DataIntegrity, new CarDataIntegrityCalculation()); //车辆数据抓拍准确性、url、大图可用 calculators.put(CalculationStrategyConstants.Car_DataAccuracy_Url_PicUsability, new CarDeviceSampleCalculation()); //车辆时钟准确性 calculators.put(CalculationStrategyConstants.Car_ClockAccuracy, new CarClockAccuracyCalculation()); //TODO:车辆目录一致 //人脸点位在线、视图库对接稳定 calculators.put(CalculationStrategyConstants.Face_SiteOnline_ViewStability, new FaceSnapshotDataCalculation()); //人脸信息准确率 calculators.put(CalculationStrategyConstants.Face_InfoAccuracy, new FaceInFoAccuracyCalculation()); //人脸抓拍数据延迟 calculators.put(CalculationStrategyConstants.Face_SnapshotDelay, new FaceSnapshotDelayCalculation()); //人脸图片合格、大图可用 calculators.put(CalculationStrategyConstants.Face_DataAccuracy_PicUsability, new FaceDeviceSampleCalculation()); //人脸时钟准确性 calculators.put(CalculationStrategyConstants.Face_ClockAccuracy, new FaceClockAccuracyCalculation()); //TODO:人脸目录一致 } public static CalculationStrategy getCalculator(String indexName) { return calculators.get(indexName); } }