OcapUtil.java

package com.mycim.utils;

import com.mycim.framework.utils.lang.BooleanUtils;
import com.mycim.framework.utils.lang.StringUtils;
import com.mycim.framework.utils.lang.collections.CollectionUtils;
import com.mycim.valueobject.consts.ActionIdEnum;
import com.mycim.valueobject.consts.OcapConts;
import com.mycim.valueobject.ocap.dto.OcapTransDataDTO;

import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


/**
 * @author Qiansheng.Wang
 */
public class OcapUtil {

    public static final String CHART_DELIMITER = ",";

    public static final String PASS = "PASS";

    public static final String FAIL = "FAIL";

    public static final String ADD_MEASUREMENT = "Add-measurement";

    public static final String RE_MEASUREMENT = "Re-measurement";

    private OcapUtil() {
    }

    public static String getNextAction(Boolean isOocOrOos) {
        return BooleanUtils.toBoolean(isOocOrOos) ? ActionIdEnum.YES.toString() : ActionIdEnum.NO.toString();
    }

    public static String getChartName(String chartNames) {
        if (StringUtils.indexOf(chartNames, CHART_DELIMITER) >= 0) {
            String[] chartNameArr = StringUtils.split(chartNames, CHART_DELIMITER);
            return chartNameArr[0];
        }
        return chartNames;
    }

    public static boolean isWorkflowEnd(Long workflowStepRrn) {
        return workflowStepRrn == null || workflowStepRrn <= 0;
    }

    public static String getRemeasureUnitIds(List<OcapTransDataDTO> transDatas) {
        return getRemeasureUnitIds(toHashMap(transDatas));
    }

    private static String getRemeasureUnitIds(Map<String, String> transData) {
        return transData.get(OcapConts.MapKey.KEY_REMEASURE_UNIT_IDS);
    }

    public static Map<String, String> toHashMap(List<OcapTransDataDTO> transDatas) {
        if (CollectionUtils.isEmpty(transDatas)) {
            return Collections.emptyMap();
        }

        Map<String, String> result = new HashMap<>();
        for (OcapTransDataDTO transDataDTO : transDatas) {
            result.put(transDataDTO.getDataName(), transDataDTO.getDataValue());
        }
        return result;
    }

}