public String resourceOperateValid()

in ozhera-log/log-manager/src/main/java/org/apache/ozhera/log/manager/common/validation/ResourceValidation.java [48:103]


    public String resourceOperateValid(MiLogResource miLogResource) {
        List<String> errorInfos = Lists.newArrayList();
        if (null == miLogResource.getOperateCode()) {
            errorInfos.add("operateCode cannot be empty");
        }
        boolean operateBoolean = Objects.equals(OperateEnum.UPDATE_OPERATE.getCode(), miLogResource.getOperateCode()) ||
                Objects.equals(OperateEnum.DELETE_OPERATE.getCode(), miLogResource.getOperateCode());
        if (operateBoolean && null == miLogResource.getId()) {
            errorInfos.add("id cannot be empty");
        }

        if (null == miLogResource.getResourceCode()) {
            errorInfos.add("resourceCode cannot be empty");
        }

        if (null != miLogResource.getResourceCode() &&
                null != miLogResource.getOperateCode() &&
                OperateEnum.DELETE_OPERATE.getCode().equals(miLogResource.getOperateCode())) {
            return errorInfos.stream().collect(Collectors.joining(SYMBOL_COMMA));
        }

        if (MiddlewareEnum.ELASTICSEARCH.getCode().equals(miLogResource.getResourceCode())) {
            if (StringUtils.isBlank(miLogResource.getConWay())) {
                errorInfos.add("conWay  cannot be empty");
            }
            if (StringUtils.isBlank(miLogResource.getClusterName())) {
                errorInfos.add("clusterName  cannot be empty");
            }
            if (Objects.equals(ES_CONWAY_PWD, miLogResource.getConWay()) &&
                    (StringUtils.isBlank(miLogResource.getAk()) || StringUtils.isBlank(miLogResource.getSk()))) {
//                errorInfos.add("If the connection mode is pwd, the user name and password cannot be empty");
            }
            if (Objects.equals(ES_CONWAY_TOKEN, miLogResource.getConWay()) &&
                    (StringUtils.isBlank(miLogResource.getEsToken()) || StringUtils.isBlank(miLogResource.getCatalog()) ||
                            StringUtils.isBlank(miLogResource.getDatabase()))) {
                errorInfos.add("If the connection mode is token, the token, catalog cluster, and database name cannot be empty");
            }
        }
        if (StringUtils.isBlank(miLogResource.getAlias())) {
            errorInfos.add("alias cannot be empty");
        }
        if (StringUtils.isBlank(miLogResource.getRegionEn())) {
            errorInfos.add("Region code cannot be empty");
        }

        boolean esIndexExist = MiddlewareEnum.ELASTICSEARCH.getCode().equals(miLogResource.getResourceCode()) &&
                CollectionUtils.isEmpty(miLogResource.getMultipleEsIndex());
        if (esIndexExist && StringUtils.equalsIgnoreCase(LogStorageTypeEnum.ELASTICSEARCH.name(), miLogResource.getStorageType())) {
            errorInfos.add("ES index information cannot be empty");
        }
        if (ResourceEnum.MQ.getCode().equals(miLogResource.getResourceCode()) &&
                StringUtils.isEmpty(miLogResource.getClusterName())) {
            errorInfos.add("MQ address information cannot be empty");
        }
        return errorInfos.stream().collect(Collectors.joining(SYMBOL_COMMA));
    }