@Override public String findRecentVersionFor(String path) { final String partialPath = Helper.prependWebjarsPathIfMissing(path); final Matcher partialPathMatcher = settings.webjarsPathPattern().matcher(partialPath); if (partialPathMatcher.find() && recentVersionPlaceHolder.equalsIgnoreCase(partialPathMatcher.group(2))) { final Set<String> assets = listAssets(partialPathMatcher.group(1)); final String fileName = "/" + partialPathMatcher.group(3); final List<String> versions = new ArrayList<>(); for (String asset : assets) { if (asset.endsWith(fileName)) { final Matcher matcher = settings.webjarsPathPattern().matcher(asset); if (matcher.find()) { versions.add(matcher.group(2)); } } } if (versions.size() == 1) { return versions.get(0); } else if (versions.size() > 1) { LOG.warn("more than one version of a dependency is not supported till now. webjars resource: {}; available versions: {}; using: {}", fileName, versions, versions.get(0)); return versions.get(0); } else { LOG.debug("no version found for webjars resource: {}", partialPath); } } else { LOG.trace("given webjars resource isn't a dynamic versioned one: {}", partialPath); } return null; }
@Override public String findRecentVersionFor(String path) { final String partialPath = Helper.prependWebjarsPathIfMissing(path); final Matcher partialPathMatcher = settings.webjarsPathPattern().matcher(partialPath); if (partialPathMatcher.find() && recentVersionPlaceHolder.equalsIgnoreCase(partialPathMatcher.group(2))) { final Set<String> assets = listAssets(partialPathMatcher.group(1)); final String fileName = "/" + partialPathMatcher.group(3); final List<String> versions = new ArrayList<>(); for (String asset : assets) { if (asset.endsWith(fileName)) { final Matcher matcher = settings.webjarsPathPattern().matcher(asset); if (matcher.find()) { versions.add(matcher.group(2)); } } } if (versions.size() == 1) { return versions.get(0); } else if (versions.size() > 1) { LOG.warn("more than one version of a dependency is not supported till now. webjars resource: {}; available versions: {}; using: {}", fileName, versions, versions.get(0)); return versions.get(0); } else { LOG.debug("no version found for webjars resource: {}", partialPath); } } else { LOG.trace("given webjars resource isn't a dynamic versioned one: {}", partialPath); } return null; }