UriTemplateUtil { public static String clearVariablesValue(String requestPath,String matchingPatternPath,String[] variableNames){ Map<String, String> map = extractUriTemplateVariables(requestPath, matchingPatternPath); return expand(matchingPatternPath, MapUtil.getSubMapExcludeKeys(map, variableNames)); } private  UriTemplateUtil(); static String getUriTemplateVariableValue(HttpServletRequest request,String pathVarName); static boolean hasPathVarName(HttpServletRequest request,String pathVarName); static Map<String, String> getUriTemplateVariables(HttpServletRequest request); static String getBestMatchingPattern(HttpServletRequest request); static String expandBestMatchingPattern(HttpServletRequest request,String variableName,String value); static String expandWithVariable(String requestPath,String matchingPatternPath,String variableName,String value); static String expandWithVariable(String matchingPatternPath,String variableName,String value); static String clearVariablesValue(String requestPath,String matchingPatternPath,String[] variableNames); static String retainVariablesValue(String requestPath,String matchingPatternPath,String[] variableNames); static String expand(String uriTemplatePath,Map<String, String> map); static List<String> getVariableNames(String uriTemplatePath);  }
@Test public void clearVariablesValue(){ String requestPath = "/s/c500-m60-cred-s-k-s100-o6.htm"; String matchingPatternPath = "/s/c{categoryCode}-m{material}-c{color}-s{size}-k{kind}-s{style}-o{order}.htm"; String[] variableNames = { "color", "style" }; assertEquals("/s/c500-m60-c-s-k-s-o6.htm", UriTemplateUtil.clearVariablesValue(requestPath, matchingPatternPath, variableNames)); }