package com.casic.missiles.utils;
import cn.hutool.core.bean.BeanUtil;
import com.casic.missiles.model.business.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
/**
* @Description: 工具类-转换pojo或list
* @Author: wangpeng
* @Date: 2022/11/26 14:01
*/
public class ConvertUtils {
private static Logger logger = LoggerFactory.getLogger(ConvertUtils.class);
public ConvertUtils() {
}
public static <T> T sourceToTarget(Object source, Class<T> target) {
if (source == null) {
return null;
} else {
T targetObject = null;
try {
targetObject = target.newInstance();
BeanUtil.copyProperties(source, targetObject);
} catch (Exception var4) {
logger.error("convert error ", var4);
}
return targetObject;
}
}
public static <T> List<T> sourceToTarget(Collection<?> sourceList, Class<T> target) {
if (sourceList == null) {
return null;
} else {
ArrayList targetList = new ArrayList(sourceList.size());
try {
Iterator var3 = sourceList.iterator();
while(var3.hasNext()) {
Object source = var3.next();
T targetObject = target.newInstance();
BeanUtil.copyProperties(source, targetObject);
targetList.add(targetObject);
}
} catch (Exception var6) {
logger.error("convert error ", var6);
}
return targetList;
}
}
/**
* 深拷贝,拷贝Object中List
*/
public static BizBusinessDeviceMeasureApproval sourceToTargetDeep(BizBusinessDeviceMeasureApproval measureApproval, Class<BizBusinessDeviceMeasureApproval> target) {
if (measureApproval == null) {
return null;
} else {
BizBusinessDeviceMeasureApproval targetObject = null;
try {
targetObject = target.newInstance();
BeanUtil.copyProperties(measureApproval, targetObject);
if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataCalibratorList())) {
List<BizBusinessDeviceMeasureDataCalibrator> targetList = sourceToTarget(measureApproval.getMeasureDataCalibratorList(), BizBusinessDeviceMeasureDataCalibrator.class);
targetObject.setMeasureDataCalibratorList(targetList);
} else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataOscilloscopeList())) {
List<BizBusinessDeviceMeasureDataOscilloscope> targetList = sourceToTarget(measureApproval.getMeasureDataOscilloscopeList(), BizBusinessDeviceMeasureDataOscilloscope.class);
targetObject.setMeasureDataOscilloscopeList(targetList);
} else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataPointMeterList())) {
List<BizBusinessDeviceMeasureDataPointMeter> targetList = sourceToTarget(measureApproval.getMeasureDataPointMeterList(), BizBusinessDeviceMeasureDataPointMeter.class);
targetObject.setMeasureDataPointMeterList(targetList);
} else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataCesiumAtomList())) {
List<BizBusinessDeviceMeasureDataCesiumAtom> targetList = sourceToTarget(measureApproval.getMeasureDataCesiumAtomList(), BizBusinessDeviceMeasureDataCesiumAtom.class);
targetObject.setMeasureDataCesiumAtomList(targetList);
} else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataDcPowerList())) {
List<BizBusinessDeviceMeasureDataDcPower> targetList = sourceToTarget(measureApproval.getMeasureDataDcPowerList(), BizBusinessDeviceMeasureDataDcPower.class);
targetObject.setMeasureDataDcPowerList(targetList);
} else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataElectricalSafetyList())) {
List<BizBusinessDeviceMeasureDataElectricalSafety> targetList = sourceToTarget(measureApproval.getMeasureDataElectricalSafetyList(), BizBusinessDeviceMeasureDataElectricalSafety.class);
targetObject.setMeasureDataElectricalSafetyList(targetList);
} else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataETwoList())) {
List<BizBusinessDeviceMeasureDataETwo> targetList = sourceToTarget(measureApproval.getMeasureDataETwoList(), BizBusinessDeviceMeasureDataETwo.class);
targetObject.setMeasureDataETwoList(targetList);
} else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataLowPowerList())) {
List<BizBusinessDeviceMeasureDataLowPower> targetList = sourceToTarget(measureApproval.getMeasureDataLowPowerList(), BizBusinessDeviceMeasureDataLowPower.class);
targetObject.setMeasureDataLowPowerList(targetList);
} else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataMicrowaveAttenuationList())) {
List<BizBusinessDeviceMeasureDataMicrowaveAttenuation> targetList = sourceToTarget(measureApproval.getMeasureDataMicrowaveAttenuationList(), BizBusinessDeviceMeasureDataMicrowaveAttenuation.class);
targetObject.setMeasureDataMicrowaveAttenuationList(targetList);
} else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataPistonGaugeList())) {
List<BizBusinessDeviceMeasureDataPistonGauge> targetList = sourceToTarget(measureApproval.getMeasureDataPistonGaugeList(), BizBusinessDeviceMeasureDataPistonGauge.class);
targetObject.setMeasureDataPistonGaugeList(targetList);
} else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataResistanceThermometerList())) {
List<BizBusinessDeviceMeasureDataResistanceThermometer> targetList = sourceToTarget(measureApproval.getMeasureDataResistanceThermometerList(), BizBusinessDeviceMeasureDataResistanceThermometer.class);
targetObject.setMeasureDataResistanceThermometerList(targetList);
} else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataSafetyValueList())) {
List<BizBusinessDeviceMeasureDataSafetyValue> targetList = sourceToTarget(measureApproval.getMeasureDataSafetyValueList(), BizBusinessDeviceMeasureDataSafetyValue.class);
targetObject.setMeasureDataSafetyValueList(targetList);
} else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataSignalGeneratorList())) {
List<BizBusinessDeviceMeasureDataSignalGenerator> targetList = sourceToTarget(measureApproval.getMeasureDataSignalGeneratorList(), BizBusinessDeviceMeasureDataSignalGenerator.class);
targetObject.setMeasureDataSignalGeneratorList(targetList);
} else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataSParamList())) {
List<BizBusinessDeviceMeasureDataSParam> targetList = sourceToTarget(measureApproval.getMeasureDataSParamList(), BizBusinessDeviceMeasureDataSParam.class);
targetObject.setMeasureDataSParamList(targetList);
} else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataSpectrumAnalyzerList())) {
List<BizBusinessDeviceMeasureDataSpectrumAnalyzer> targetList = sourceToTarget(measureApproval.getMeasureDataSpectrumAnalyzerList(), BizBusinessDeviceMeasureDataSpectrumAnalyzer.class);
targetObject.setMeasureDataSpectrumAnalyzerList(targetList);
} else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataLowFrequencySignalList())) {
List<BizBusinessDeviceMeasureDataLowFrequencySignal> targetList = sourceToTarget(measureApproval.getMeasureDataLowFrequencySignalList(), BizBusinessDeviceMeasureDataLowFrequencySignal.class);
targetObject.setMeasureDataLowFrequencySignalList(targetList);
}
} catch (Exception var4) {
logger.error("convert error ", var4);
}
return targetObject;
}
}
}