@@ -278,19 +278,19 @@ private void filterServiceNames(List<String> serviceNames, URL url) {
278278
279279 final String targetServiceInterface = url .getServiceInterface ();
280280
281- final String targetVersion = url .getParameter (VERSION_KEY );
281+ final String targetVersion = url .getParameter (VERSION_KEY , "" );
282282
283- final String targetGroup = url .getParameter (GROUP_KEY );
283+ final String targetGroup = url .getParameter (GROUP_KEY , "" );
284284
285285 filterData (serviceNames , serviceName -> {
286286 // split service name to segments
287287 // (required) segments[0] = category
288288 // (required) segments[1] = serviceInterface
289- // (required ) segments[2] = version
289+ // (optional ) segments[2] = version
290290 // (optional) segments[3] = group
291291 String [] segments = StringUtils .split (serviceName , SERVICE_NAME_SEPARATOR );
292292 int length = segments .length ;
293- if (length < 3 ) { // must present 3 segments or more
293+ if (length != 4 ) { // must present 4 segments
294294 return false ;
295295 }
296296
@@ -311,8 +311,7 @@ private void filterServiceNames(List<String> serviceNames, URL url) {
311311 return false ;
312312 }
313313
314- String group = length > 3 ? segments [SERVICE_GROUP_INDEX ] : null ;
315- // no match service group
314+ String group = segments [SERVICE_GROUP_INDEX ];
316315 return group == null || WILDCARD .equals (targetGroup )
317316 || StringUtils .equals (targetGroup , group );
318317 });
@@ -420,16 +419,17 @@ private String getServiceName(URL url) {
420419
421420 private String getServiceName (URL url , String category ) {
422421 StringBuilder serviceNameBuilder = new StringBuilder (category );
423- appendIfPresent (serviceNameBuilder , url , INTERFACE_KEY );
424- appendIfPresent (serviceNameBuilder , url , VERSION_KEY );
425- appendIfPresent (serviceNameBuilder , url , GROUP_KEY );
422+ append (serviceNameBuilder , url , INTERFACE_KEY );
423+ append (serviceNameBuilder , url , VERSION_KEY );
424+ append (serviceNameBuilder , url , GROUP_KEY );
426425 return serviceNameBuilder .toString ();
427426 }
428427
429- private void appendIfPresent (StringBuilder target , URL url , String parameterName ) {
428+ private void append (StringBuilder target , URL url , String parameterName ) {
429+ target .append (SERVICE_NAME_SEPARATOR );
430430 String parameterValue = url .getParameter (parameterName );
431431 if (!StringUtils .isBlank (parameterValue )) {
432- target .append (SERVICE_NAME_SEPARATOR ). append ( parameterValue );
432+ target .append (parameterValue );
433433 }
434434 }
435435
0 commit comments