use of org.apache.camel.Expression in project camel by apache.
the class CamelTestSupport method assertExpression.
/**
* Asserts that the given language name and expression evaluates to the
* given value on a specific exchange
*/
protected void assertExpression(Exchange exchange, String languageName, String expressionText, Object expectedValue) {
Language language = assertResolveLanguage(languageName);
Expression expression = language.createExpression(expressionText);
assertNotNull(expression, "No Expression could be created for text: " + expressionText + " language: " + language);
assertExpression(expression, exchange, expectedValue);
}
use of org.apache.camel.Expression in project camel by apache.
the class LanguageTestSupport method assertExpression.
/**
* Asserts that the expression evaluates to one of the two given values
*/
protected void assertExpression(String expressionText, String expectedValue, String orThisExpectedValue) {
Language language = assertResolveLanguage(getLanguageName());
Expression expression = language.createExpression(expressionText);
assertNotNull(expression, "No Expression could be created for text: " + expressionText + " language: " + language);
Object value;
if (expectedValue != null) {
value = expression.evaluate(exchange, expectedValue.getClass());
} else {
value = expression.evaluate(exchange, Object.class);
}
log.debug("Evaluated expression: " + expression + " on exchange: " + exchange + " result: " + value);
assertTrue(expectedValue.equals(value) || orThisExpectedValue.equals(value), "Expression: " + expression + " on Exchange: " + exchange);
}
use of org.apache.camel.Expression in project camel by apache.
the class CamelTestSupport method assertExpression.
/**
* Asserts that the given language name and expression evaluates to the
* given value on a specific exchange
*/
protected void assertExpression(Exchange exchange, String languageName, String expressionText, Object expectedValue) {
Language language = assertResolveLanguage(languageName);
Expression expression = language.createExpression(expressionText);
assertNotNull("No Expression could be created for text: " + expressionText + " language: " + language, expression);
assertExpression(expression, exchange, expectedValue);
}
use of org.apache.camel.Expression in project camel by apache.
the class LanguageTestSupport method assertExpression.
/**
* Asserts that the expression evaluates to one of the two given values
*/
protected void assertExpression(String expressionText, String expectedValue, String orThisExpectedValue) {
Language language = assertResolveLanguage(getLanguageName());
Expression expression = language.createExpression(expressionText);
assertNotNull("No Expression could be created for text: " + expressionText + " language: " + language, expression);
Object value;
if (expectedValue != null) {
value = expression.evaluate(exchange, expectedValue.getClass());
} else {
value = expression.evaluate(exchange, Object.class);
}
log.debug("Evaluated expression: " + expression + " on exchange: " + exchange + " result: " + value);
assertTrue("Expression: " + expression + " on Exchange: " + exchange, expectedValue.equals(value) || orThisExpectedValue.equals(value));
}
use of org.apache.camel.Expression in project camel by apache.
the class InputParameter method parseValueExpression.
private void parseValueExpression(Token valueSrcToken) {
if (SSPTParserConstants.SIMPLE_EXP_TOKEN == valueSrcToken.kind) {
final Expression exp = ExpressionBuilder.simpleExpression(valueSrcToken.toString());
this.valueExtractor = new ValueExtractor() {
@Override
public Object eval(Exchange exchange, Object container) {
return exp.evaluate(exchange, Object.class);
}
};
} else if (SSPTParserConstants.PARAMETER_POS_TOKEN == valueSrcToken.kind) {
//remove leading :#
final String mapKey = valueSrcToken.toString().substring(2);
this.valueExtractor = new ValueExtractor() {
@Override
public Object eval(Exchange exchange, Object container) {
return ((Map) container).get(mapKey);
}
};
}
}
Aggregations