Skip to content

Commit 030f120

Browse files
Support aggregation operators $acos and $acosh via expression method reference.
This commit registers the acos(...) and acosh(...) methods for transformation via SpEL. Original Pull Request: #3858
1 parent 31f640a commit 030f120

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/spel/MethodReferenceNode.java

+2
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,8 @@ public class MethodReferenceNode extends ExpressionNode {
9999
map.put("asinh", singleArgRef().forOperator("$asinh"));
100100
map.put("cos", singleArgRef().forOperator("$cos"));
101101
map.put("cosh", singleArgRef().forOperator("$cosh"));
102+
map.put("acos", singleArgRef().forOperator("$acos"));
103+
map.put("acosh", singleArgRef().forOperator("$acosh"));
102104
map.put("tan", singleArgRef().forOperator("$tan"));
103105
map.put("tanh", singleArgRef().forOperator("$tanh"));
104106
map.put("rand", emptyRef().forOperator("$rand"));

spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/aggregation/SpelExpressionTransformerUnitTests.java

+10
Original file line numberDiff line numberDiff line change
@@ -1099,6 +1099,16 @@ void shouldRenderCosh() {
10991099
assertThat(transform("cosh(angle)")).isEqualTo("{ \"$cosh\" : \"$angle\"}");
11001100
}
11011101

1102+
@Test // GH-3707
1103+
void shouldRenderACos() {
1104+
assertThat(transform("acos(angle)")).isEqualTo("{ \"$acos\" : \"$angle\"}");
1105+
}
1106+
1107+
@Test // GH-3707
1108+
void shouldRenderACosh() {
1109+
assertThat(transform("acosh(angle)")).isEqualTo("{ \"$acosh\" : \"$angle\"}");
1110+
}
1111+
11021112
@Test // GH-3730
11031113
void shouldRenderTan() {
11041114
assertThat(transform("tan(angle)")).isEqualTo("{ \"$tan\" : \"$angle\"}");

0 commit comments

Comments
 (0)