This is an automated email from the ASF dual-hosted git repository.

wuzhiguo pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/trunk by this push:
     new a96fa7f5c8 AMBARI-25754 Ambari server build is failing due to 
checkstyle issues (#3392)
a96fa7f5c8 is described below

commit a96fa7f5c8e1dcdf75fc86ec6a2a771622230f0c
Author: Vishal Suvagia <[email protected]>
AuthorDate: Wed Oct 12 07:43:54 2022 +0530

    AMBARI-25754 Ambari server build is failing due to checkstyle issues (#3392)
---
 .../org/apache/ambari/server/state/alert/MetricSource.java     | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/state/alert/MetricSource.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/state/alert/MetricSource.java
index f1df2cd178..f57d646be8 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/state/alert/MetricSource.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/state/alert/MetricSource.java
@@ -17,8 +17,6 @@
  */
 package org.apache.ambari.server.state.alert;
 
-import static java.util.stream.Collectors.toMap;
-import static java.util.stream.IntStream.range;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -28,7 +26,7 @@ import java.util.Optional;
 import org.apache.ambari.server.controller.jmx.JMXMetricHolder;
 import org.apache.ambari.server.state.UriInfo;
 import org.springframework.expression.spel.standard.SpelExpressionParser;
-import org.springframework.expression.spel.support.StandardEvaluationContext;
+import org.springframework.expression.spel.support.SimpleEvaluationContext;
 
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.JsonInclude;
@@ -184,8 +182,10 @@ public class MetricSource extends Source {
      * then it is evaluated in the context of the metrics parameters.
      */
     public Object eval(List<Object> metrics) {
-      StandardEvaluationContext context = new StandardEvaluationContext();
-      context.setVariables(range(0, metrics.size()).boxed().collect(toMap(i -> 
"var" + i, metrics::get)));
+      SimpleEvaluationContext context = 
SimpleEvaluationContext.forReadWriteDataBinding().build();
+      for(int i = 0; i < metrics.size(); i++) {
+        context.setVariable("var" + i, metrics.get(i));
+      }
       return new SpelExpressionParser()
         .parseExpression(value.replaceAll("(\\{(\\d+)\\})", "#var$2"))
         .getValue(context);


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to