Improve performance of some string operations
Issue: SPR-16293
This commit is contained in:
@@ -225,11 +225,9 @@ public final class Property {
|
||||
Field field = ReflectionUtils.findField(declaringClass, name);
|
||||
if (field == null) {
|
||||
// Same lenient fallback checking as in CachedIntrospectionResults...
|
||||
field = ReflectionUtils.findField(declaringClass,
|
||||
name.substring(0, 1).toLowerCase() + name.substring(1));
|
||||
field = ReflectionUtils.findField(declaringClass, StringUtils.uncapitalize(name));
|
||||
if (field == null) {
|
||||
field = ReflectionUtils.findField(declaringClass,
|
||||
name.substring(0, 1).toUpperCase() + name.substring(1));
|
||||
field = ReflectionUtils.findField(declaringClass, StringUtils.capitalize(name));
|
||||
}
|
||||
}
|
||||
return field;
|
||||
|
||||
@@ -424,7 +424,7 @@ public class PathMatchingResourcePatternResolver implements ResourcePatternResol
|
||||
int prefixIndex = filePath.indexOf(':');
|
||||
if (prefixIndex == 1) {
|
||||
// Possibly "c:" drive prefix on Windows, to be upper-cased for proper duplicate detection
|
||||
filePath = filePath.substring(0, 1).toUpperCase() + filePath.substring(1);
|
||||
filePath = StringUtils.capitalize(filePath);
|
||||
}
|
||||
UrlResource jarResource = new UrlResource(ResourceUtils.JAR_URL_PREFIX +
|
||||
ResourceUtils.FILE_URL_PREFIX + filePath + ResourceUtils.JAR_URL_SEPARATOR);
|
||||
@@ -489,18 +489,18 @@ public class PathMatchingResourcePatternResolver implements ResourcePatternResol
|
||||
Set<Resource> result = new LinkedHashSet<Resource>(16);
|
||||
for (Resource rootDirResource : rootDirResources) {
|
||||
rootDirResource = resolveRootDirResource(rootDirResource);
|
||||
URL rootDirURL = rootDirResource.getURL();
|
||||
URL rootDirUrl = rootDirResource.getURL();
|
||||
if (equinoxResolveMethod != null) {
|
||||
if (rootDirURL.getProtocol().startsWith("bundle")) {
|
||||
rootDirURL = (URL) ReflectionUtils.invokeMethod(equinoxResolveMethod, null, rootDirURL);
|
||||
rootDirResource = new UrlResource(rootDirURL);
|
||||
if (rootDirUrl.getProtocol().startsWith("bundle")) {
|
||||
rootDirUrl = (URL) ReflectionUtils.invokeMethod(equinoxResolveMethod, null, rootDirUrl);
|
||||
rootDirResource = new UrlResource(rootDirUrl);
|
||||
}
|
||||
}
|
||||
if (rootDirURL.getProtocol().startsWith(ResourceUtils.URL_PROTOCOL_VFS)) {
|
||||
result.addAll(VfsResourceMatchingDelegate.findMatchingResources(rootDirURL, subPattern, getPathMatcher()));
|
||||
if (rootDirUrl.getProtocol().startsWith(ResourceUtils.URL_PROTOCOL_VFS)) {
|
||||
result.addAll(VfsResourceMatchingDelegate.findMatchingResources(rootDirUrl, subPattern, getPathMatcher()));
|
||||
}
|
||||
else if (ResourceUtils.isJarURL(rootDirURL) || isJarResource(rootDirResource)) {
|
||||
result.addAll(doFindPathMatchingJarResources(rootDirResource, rootDirURL, subPattern));
|
||||
else if (ResourceUtils.isJarURL(rootDirUrl) || isJarResource(rootDirResource)) {
|
||||
result.addAll(doFindPathMatchingJarResources(rootDirResource, rootDirUrl, subPattern));
|
||||
}
|
||||
else {
|
||||
result.addAll(doFindPathMatchingFileResources(rootDirResource, subPattern));
|
||||
|
||||
Reference in New Issue
Block a user