private IngressConfiguration getDefaultRouteConfig()

in shenyu-kubernetes-controller/src/main/java/org/apache/shenyu/k8s/parser/MotanIngressParser.java [254:303]


    private IngressConfiguration getDefaultRouteConfig(final Map<String, String> annotations) {
        final ConditionData conditionData = new ConditionData();
        conditionData.setParamName("default");
        conditionData.setParamType(ParamTypeEnum.URI.getName());
        conditionData.setOperator(OperatorEnum.PATH_PATTERN.getAlias());
        conditionData.setParamValue("/**");

        final SelectorData selectorData = SelectorData.builder()
                .name("default-selector")
                .sort(Integer.MAX_VALUE)
                .conditionList(Collections.singletonList(conditionData))
                .enabled(true)
                .id(IngressConstants.ID)
                .pluginName(PluginEnum.MOTAN.getName())
                .pluginId(String.valueOf(PluginEnum.MOTAN.getCode()))
                .logged(false)
                .continued(true)
                .matchMode(MatchModeEnum.AND.getCode())
                .type(SelectorTypeEnum.FULL_FLOW.getCode()).build();

        final RuleData ruleData = RuleData.builder()
                .selectorId(IngressConstants.ID)
                .pluginName(PluginEnum.MOTAN.getName())
                .name("default-rule")
                .matchMode(MatchModeEnum.AND.getCode())
                .conditionDataList(Collections.singletonList(conditionData))
                .loged(false)
                .enabled(true)
                .sort(Integer.MAX_VALUE).build();

        if (Objects.isNull(annotations.get(IngressConstants.PLUGIN_MOTAN_APP_NAME))
                || Objects.isNull(annotations.get(IngressConstants.PLUGIN_MOTAN_METHOD_NAME))
                || Objects.isNull(annotations.get(IngressConstants.PLUGIN_MOTAN_PATH))
                || Objects.isNull(annotations.get(IngressConstants.PLUGIN_MOTAN_SREVICE_NAME))
                || Objects.isNull(annotations.get(IngressConstants.PLUGIN_MOTAN_RPC_TYPE))) {
            LOG.error("motan metadata is error, please check motan service. MetaData: [{}]", annotations);
            throw new ShenyuException(annotations + " is is missing.");
        }
        MetaData metaData = MetaData.builder()
                .appName(annotations.get(IngressConstants.PLUGIN_MOTAN_APP_NAME))
                .path(annotations.get(IngressConstants.PLUGIN_MOTAN_PATH))
                .rpcType(annotations.get(IngressConstants.PLUGIN_MOTAN_RPC_TYPE))
                .rpcExt(annotations.getOrDefault(IngressConstants.PLUGIN_MOTAN_RPC_EXPAND, ""))
                .serviceName(annotations.get(IngressConstants.PLUGIN_MOTAN_SREVICE_NAME))
                .methodName(annotations.get(IngressConstants.PLUGIN_MOTAN_METHOD_NAME))
                .parameterTypes(annotations.getOrDefault(IngressConstants.PLUGIN_MOTAN_PARAMS_TYPE, ""))
                .enabled(true)
                .build();
        return new IngressConfiguration(selectorData, Arrays.asList(ruleData), Arrays.asList(metaData));
    }