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
This commit is contained in:
Christoph Strobl
2022-01-20 16:15:16 +01:00
parent 31f640a398
commit 030f12023c
2 changed files with 12 additions and 0 deletions

View File

@@ -99,6 +99,8 @@ public class MethodReferenceNode extends ExpressionNode {
map.put("asinh", singleArgRef().forOperator("$asinh"));
map.put("cos", singleArgRef().forOperator("$cos"));
map.put("cosh", singleArgRef().forOperator("$cosh"));
map.put("acos", singleArgRef().forOperator("$acos"));
map.put("acosh", singleArgRef().forOperator("$acosh"));
map.put("tan", singleArgRef().forOperator("$tan"));
map.put("tanh", singleArgRef().forOperator("$tanh"));
map.put("rand", emptyRef().forOperator("$rand"));

View File

@@ -1099,6 +1099,16 @@ public class SpelExpressionTransformerUnitTests {
assertThat(transform("cosh(angle)")).isEqualTo("{ \"$cosh\" : \"$angle\"}");
}
@Test // GH-3707
void shouldRenderACos() {
assertThat(transform("acos(angle)")).isEqualTo("{ \"$acos\" : \"$angle\"}");
}
@Test // GH-3707
void shouldRenderACosh() {
assertThat(transform("acosh(angle)")).isEqualTo("{ \"$acosh\" : \"$angle\"}");
}
@Test // GH-3730
void shouldRenderTan() {
assertThat(transform("tan(angle)")).isEqualTo("{ \"$tan\" : \"$angle\"}");