SystemConstants.java

package com.mycim.valueobject.consts;

import com.fa.sesa.i18n.I18nUtils;
import com.fa.sesa.i18n.Languages;
import com.mycim.framework.utils.beans.BeanUtils;
import com.mycim.framework.utils.lang.collections.MapUtils;

import java.util.HashMap;
import java.util.Map;

/**
 * System Constants
 *
 * @author Qiansheng.Wang
 */
public class SystemConstants {

    public static final String DEFAULT_NAME_SPACE = "MYCIM2";

    public static final String SYSTEM_USER = "SYSTEM";

    public static final String SPC_USER = "SPC";

    public static final Long SYSTEM_RRN = 0L;


    public static final String ADMIN_USER = "ADMIN";

    public static final String ADMIN_USER_GROUP = "ADMINISTRATORS";

    public static final String NULL = "null";

    private SystemConstants() {
    }

    public static boolean isSystemUserId(String userId) {
        return SYSTEM_USER.equals(userId);
    }

    public static boolean isSystemUserRrn(Long userRrn) {
        return SYSTEM_RRN.equals(userRrn);
    }

    public static boolean isSPCUserId(String userId) {
        return SPC_USER.equals(userId);
    }

    public static boolean isSystemUser(Long userRrn, String userId) {
        return (isSystemUserId(userId) && isSystemUserRrn(userRrn)) || isSPCUserId(userId);
    }

    public static boolean isCN() {
        return Languages.CN.equals(I18nUtils.getCurrentLanguage());
    }

    public static void copyBeanToMapIgnoreKeys(Map map, Object bean, String... ignoreKeys) {
        Map<String, Object> temp = new HashMap<>();
        for (String str:ignoreKeys){
            temp.put(str, MapUtils.getObject(map, str));
        }
        BeanUtils.copyBeanToMap(map, bean);
        map.putAll(temp);
    }

}