Skip to content

Commit cc6bb04

Browse files
committed
Revert "Caching the length/size in a variable to avoid repeated calls in loops, which can slightly improve performance and readability. (#1820)"
This reverts commit affb876.
1 parent 6cce8cf commit cc6bb04

8 files changed

Lines changed: 24 additions & 39 deletions

File tree

modules/spring-commons/src/main/java/io/restassured/module/spring/commons/HeaderHelper.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,7 @@ private static List<Header> removeMergedHeadersIfNeeded(List<Header> headerList,
124124
String headerName = header.getName();
125125
if (headerConfig.shouldOverwriteHeaderWithName(headerName)) {
126126
int index = -1;
127-
int filteredListSize = filteredList.size();
128-
for (int i = 0; i < filteredListSize; i++) {
127+
for (int i = 0; i < filteredList.size(); i++) {
129128
Header filteredHeader = filteredList.get(i);
130129
if (filteredHeader.hasSameNameAs(header)) {
131130
index = i;

modules/spring-mock-mvc/src/main/java/io/restassured/module/mockmvc/util/ReflectionUtil.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,25 +51,22 @@ public static <T> T invokeConstructor(String className, Object... arguments) {
5151
}
5252

5353
public static Class<?>[] getArgumentTypes(Object[] arguments) {
54-
int argumentsLength = arguments.length;
55-
Class<?>[] argumentTypes = new Class[argumentsLength];
56-
for (int i = 0; i < argumentsLength; i++) {
54+
Class<?>[] argumentTypes = new Class[arguments.length];
55+
for (int i = 0; i < arguments.length; i++) {
5756
argumentTypes[i] = arguments[i].getClass();
5857
}
5958
return argumentTypes;
6059
}
6160

6261
private static Object getVarArgsArguments(Class<?>[] argumentTypes, Object[] arguments) {
63-
int argumentTypesLength = argumentTypes.length;
64-
Class<?> argumentType = argumentTypes[argumentTypesLength - 1];
62+
Class<?> argumentType = argumentTypes[argumentTypes.length - 1];
6563
if (argumentType.isArray()) {
6664
argumentType = argumentType.getComponentType();
6765
}
6866

69-
int argumentsLength = arguments.length;
70-
int numberOfVarArgParameters = argumentsLength - argumentTypesLength + 1;
67+
int numberOfVarArgParameters = arguments.length - argumentTypes.length + 1;
7168
Object varArgsArguments = Array.newInstance(argumentType, numberOfVarArgParameters);
72-
for (int j = 0, i = argumentTypesLength - 1; i < argumentsLength; i++, j++) {
69+
for (int j = 0, i = argumentTypes.length - 1; i < arguments.length; i++, j++) {
7370
Array.set(varArgsArguments, j, arguments[i]);
7471
}
7572
return varArgsArguments;

rest-assured-common/src/main/groovy/io/restassured/internal/common/assertion/AssertionSupport.groovy

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,13 @@ class AssertionSupport {
2929

3030
def static escapePath(key, PathFragmentEscaper... pathFragmentEscapers) {
3131
def pathFragments = key.split("(?<=\\')")
32-
def pathFragmentsSize = pathFragments.size()
33-
for (int i = 0; i < pathFragmentsSize; i++) {
32+
for (int i = 0; i < pathFragments.size(); i++) {
3433
String pathFragment = pathFragments[i]
3534
if (!pathFragment?.endsWith("'") || pathFragment?.contains("**")) {
3635
def dotFragments = pathFragment.split("\\.")
37-
def dotFragmentsSize = dotFragments.size()
38-
for (int k = 0; k < dotFragmentsSize; k++) {
36+
for (int k = 0; k < dotFragments.size(); k++) {
3937
String dotFragment = dotFragments[k]
40-
def pathFragmentEscapersLength = pathFragmentEscapers.length
41-
for (int j = 0; j < pathFragmentEscapersLength; j++) {
38+
for (int j = 0; j < pathFragmentEscapers.length; j++) {
4239
def escaper = pathFragmentEscapers[j]
4340
if (escaper.shouldEscape(dotFragment)) {
4441
dotFragments[k] = escaper.escape(dotFragments[k].trim())
@@ -138,14 +135,12 @@ class AssertionSupport {
138135
* Copied from Apache commons lang (String utils)
139136
*/
140137
private static boolean containsAny(String str, searchChars) {
141-
def strLength = str.length()
142-
if (str == null || strLength == 0 || searchChars == null || searchChars.isEmpty()) {
138+
if (str == null || str.length() == 0 || searchChars == null || searchChars.isEmpty()) {
143139
return false;
144140
}
145-
for (int i = 0; i < strLength; i++) {
141+
for (int i = 0; i < str.length(); i++) {
146142
char ch = str.charAt(i);
147-
def searchCharsSize = searchChars.size()
148-
for (int j = 0; j < searchCharsSize; j++) {
143+
for (int j = 0; j < searchChars.size(); j++) {
149144
if (searchChars[j] == ch) {
150145
return true;
151146
}

rest-assured/src/main/groovy/io/restassured/internal/MapCreator.groovy

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,25 +37,24 @@ class MapCreator {
3737
}
3838

3939
static Map<String, Object> createMapFromObjects(CollisionStrategy collisionStrategy, ... parameters) {
40-
def parametersLength = parameters.length
41-
if (parameters == null || parametersLength < 2) {
40+
if (parameters == null || parameters.length < 2) {
4241
throw new IllegalArgumentException("You must supply at least one key and one value.")
43-
} else if (parametersLength % 2 != 0 && parametersLength % 3 != 0) {
42+
} else if (parameters.length % 2 != 0 && parameters.length % 3 != 0) {
4443
throw new IllegalArgumentException("You must supply the same number of keys as values.")
4544
}
4645

4746
int step
48-
if (parametersLength >= 3 && isRestAssuredArguments(parameters[1]) && parameters[2] instanceof Matcher) {
47+
if (parameters.length >= 3 && isRestAssuredArguments(parameters[1]) && parameters[2] instanceof Matcher) {
4948
step = 3
50-
} else if (parametersLength % 2 != 0) {
49+
} else if (parameters.length % 2 != 0) {
5150
throw new IllegalArgumentException("You must supply the same number of keys as values.")
5251
} else {
5352
step = 2
5453
}
5554

5655
boolean argumentsDefined = step == 3
5756
Map<String, Object> map = new LinkedHashMap<String, Object>()
58-
for (int i = 0; i < parametersLength; i += step) {
57+
for (int i = 0; i < parameters.length; i += step) {
5958
def key = parameters[i]
6059
def args
6160
def val

rest-assured/src/main/groovy/io/restassured/internal/RequestSpecificationImpl.groovy

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1647,8 +1647,7 @@ class RequestSpecificationImpl implements FilterableRequestSpecification, Groovy
16471647
this.path = path
16481648
if (unnamedPathParams != null) {
16491649
def nullParamIndices = []
1650-
def unnamedPathParamsLength = unnamedPathParams.length
1651-
for (int i = 0; i < unnamedPathParamsLength; i++) {
1650+
for (int i = 0; i < unnamedPathParams.length; i++) {
16521651
if (unnamedPathParams[i] == null) {
16531652
nullParamIndices << i
16541653
}
@@ -1712,14 +1711,13 @@ class RequestSpecificationImpl implements FilterableRequestSpecification, Groovy
17121711
}
17131712

17141713
void buildUnnamedPathParameterTuples(Object[] unnamedPathParameterValues) {
1715-
def unnamedPathParameterValuesLength = unnamedPathParameterValues.length
1716-
if (unnamedPathParameterValues == null || unnamedPathParameterValuesLength == 0) {
1714+
if (unnamedPathParameterValues == null || unnamedPathParameterValues.length == 0) {
17171715
this.unnamedPathParamsTuples = new ArrayList<Tuple2<String, String>>()
17181716
} else {
17191717
// Undefined placeholders since named path params have precedence over unnamed
17201718
def keys = getUndefinedPathParamPlaceholders()
17211719
List<Tuple2<String, String>> list = new ArrayList<>()
1722-
for (int i = 0; i < unnamedPathParameterValuesLength; i++) {
1720+
for (int i = 0; i < unnamedPathParameterValues.length; i++) {
17231721
def val = serializeIfNeeded(unnamedPathParameterValues[i])
17241722
def key = i < keys.size() ? keys.get(i) : null
17251723
list.add(new Tuple2<String, String>(key, val))

rest-assured/src/main/java/io/restassured/internal/assertion/CookieMatcher.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,7 @@ public static Cookies getCookies(List<String> headerWithCookieList) {
7676
headerWithCookieList.forEach(it -> {
7777
String[] cookieStrings = StringUtils.split(it, ";");
7878
Cookie.Builder cookieBuilder = null;
79-
int cookieStringsLength = cookieStrings.length;
80-
for (int i = 0; i < cookieStringsLength; i++) {
79+
for (int i = 0; i < cookieStrings.length; i++) {
8180
String part = cookieStrings[i];
8281
if (i == 0) {
8382
if (part.contains("=")) {

rest-assured/src/main/java/io/restassured/internal/print/RequestPrinter.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -203,8 +203,7 @@ private static void addMultiParts(FilterableRequestSpecification requestSpec, St
203203
if (multiParts.isEmpty()) {
204204
appendTwoTabs(builder).append(NONE).append(SystemUtils.LINE_SEPARATOR);
205205
} else {
206-
int multiPartsSize = multiParts.size();
207-
for (int i = 0; i < multiPartsSize; i++) {
206+
for (int i = 0; i < multiParts.size(); i++) {
208207
MultiPartSpecification multiPart = multiParts.get(i);
209208
if (i == 0) {
210209
appendTwoTabs(builder);

xml-path/src/main/groovy/io/restassured/internal/path/xml/XMLAssertion.groovy

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -153,11 +153,10 @@ class XMLAssertion implements Assertion {
153153
}
154154

155155
private def handleList(List result) {
156-
def resultSize = result.size()
157-
if (resultSize == 1 && fragments[-1] != EXPLICIT_LIST_CONVERSION) {
156+
if (result.size() == 1 && fragments[-1] != EXPLICIT_LIST_CONVERSION) {
158157
return convertToJavaObject(result.get(0))
159158
} else {
160-
for (int i = 0; i < resultSize; i++) {
159+
for (int i = 0; i < result.size(); i++) {
161160
result.set(i, convertToJavaObject(result.get(i)))
162161
}
163162
}

0 commit comments

Comments
 (0)