I have the following SPEL test code:
public void test(){
ExpressionParser parser = new SpelExpressionParser();
String input = "ADITYA";
List<String> coreTeam = Arrays.asList("ASHISH","ADITYA","SUMANT","SHASHIKANT","HATIM");
System.out.println(coreTeam.toString());
StandardEvaluationContext coreTeamContext = new StandardEvaluationContext(coreTeam);
coreTeamContext.setVariable("CORE_TEAM",coreTeam);
coreTeamContext.setVariable("CHEK_TEAM",input);
Expression exp40 = parser.parseExpression("#CORE_TEAM.contains(#CHECK_TEAM)");
Boolean s = exp40.getValue(coreTeamContext,Boolean.class);
}
The output of which is always false.
What am I missing?
It's typo error, you typed CHECK_TEAM iso "CHEK_TEAM". The below code will give you true. ExpressionParser parser = new SpelExpressionParser();
String input = "ADITYA";
List<String> coreTeam = Arrays.asList("ASHISH","ADITYA","SUMANT","SHASHIKANT","HATIM");
System.out.println(coreTeam.toString());
StandardEvaluationContext coreTeamContext = new StandardEvaluationContext(coreTeam);
coreTeamContext.setVariable("CORE_TEAM",coreTeam);
coreTeamContext.setVariable("CHEK_TEAM",input);
Expression exp40 = parser.parseExpression("#CORE_TEAM.contains(#CHEK_TEAM)");
Boolean s = exp40.getValue(coreTeamContext,Boolean.class);