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));
}