Skip to content

Commit e144dcb

Browse files
authored
Merge pull request #828 from HubSpot/improve-performance-select
Improve performance of selectattr and rejectattr
2 parents 12a9336 + 00a1b16 commit e144dcb

1 file changed

Lines changed: 7 additions & 6 deletions

File tree

src/main/java/com/hubspot/jinjava/lib/filter/SelectAttrFilter.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -111,15 +111,16 @@ protected Object applyFilter(
111111
}
112112

113113
ForLoop loop = ObjectIterator.getLoop(var);
114+
Variable tempVariable = new Variable(
115+
interpreter,
116+
String.format("%s.%s", "placeholder", attr)
117+
);
114118
while (loop.hasNext()) {
115119
Object val = loop.next();
116120

117-
Object attrVal = new Variable(
118-
interpreter,
119-
String.format("%s.%s", "placeholder", attr)
120-
)
121-
.resolve(val);
122-
if (acceptObjects == expTest.evaluate(attrVal, interpreter, expArgs)) {
121+
if (
122+
acceptObjects == expTest.evaluate(tempVariable.resolve(val), interpreter, expArgs)
123+
) {
123124
result.add(val);
124125
}
125126
}

0 commit comments

Comments
 (0)