private boolean isEqualsComponents()

in adapter/runtime/src/main/java/org/apache/rocketmq/eventbridge/adapter/runtime/common/entity/TargetRunnerConfig.java [72:110]


    private boolean isEqualsComponents(List<Map<String, String>> source, List<Map<String, String>> target) {
        if (source == null || target == null) {
            if (source != target) {
                return false;
            } else {
                return true;
            }
        }

        if (source.isEmpty() || target.isEmpty()) {
            if (source.isEmpty() && target.isEmpty()) {
                return true;
            } else {
                return false;
            }
        }

        if (source.size() != target.size()) {
            return false;
        }
        for (int index = 0; index < source.size(); index++) {
            Map<String, String> sourceComponent = source.get(index);
            Map<String, String> targetComponent = target.get(index);
            if (sourceComponent.size() != targetComponent.size()) {
                return false;
            }
            for (Map.Entry<String, String> entry : sourceComponent.entrySet()) {
                String element = targetComponent.get(entry.getKey());
                if (element == null && entry.getValue() == null) {
                    return true;
                } else if (element.equals(entry.getValue())) {
                    return true;
                } else {
                    return false;
                }
            }
        }
        return true;
    }