You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2019/04/17 09:41:37 UTC
[camel] 20/38: Move mock component out of camel-core. Work in
progress.
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch mock
in repository https://gitbox.apache.org/repos/asf/camel.git
commit e24fc7af6aec760f5fc9c71e714fb506d667accb
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Apr 16 11:59:02 2019 +0200
Move mock component out of camel-core. Work in progress.
---
.../apache/camel/builder/ExpressionBuilder.java | 26 ----------------------
.../org/apache/camel/builder/ValueBuilder.java | 5 ++---
.../camel/component/mock/AssertionClause.java | 2 ++
.../language/simple/SimpleExpressionBuilder.java | 8 +++----
.../camel/support/language/ExpressionModel.java | 12 +++++++---
5 files changed, 17 insertions(+), 36 deletions(-)
diff --git a/core/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java b/core/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java
index 18ca79a..ed3f8691 100644
--- a/core/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java
@@ -36,7 +36,6 @@ import org.apache.camel.Message;
import org.apache.camel.NoSuchLanguageException;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.RuntimeExchangeException;
-import org.apache.camel.model.language.MethodCallExpression;
import org.apache.camel.spi.Language;
import org.apache.camel.spi.PropertiesComponent;
import org.apache.camel.spi.RouteContext;
@@ -814,31 +813,6 @@ public final class ExpressionBuilder {
}
/**
- * Returns the expression for invoking a method (support OGNL syntax) on the given expression
- *
- * @param exp the expression to evaluate and invoke the method on its result
- * @param ognl methods to invoke on the evaluated expression in a simple OGNL syntax
- */
- public static Expression ognlExpression(final Expression exp, final String ognl) {
- return new ExpressionAdapter() {
- public Object evaluate(Exchange exchange) {
- Object value = exp.evaluate(exchange, Object.class);
- if (value == null) {
- return null;
- }
- // ognl is able to evaluate method name if it contains nested functions
- // so we should not eager evaluate ognl as a string
- return new MethodCallExpression(value, ognl).evaluate(exchange);
- }
-
- @Override
- public String toString() {
- return "ognl(" + exp + ", " + ognl + ")";
- }
- };
- }
-
- /**
* Returns the expression for the exchanges inbound message body converted
* to the given type
*/
diff --git a/core/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java b/core/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
index c8ac6cb..b521537 100644
--- a/core/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/builder/ValueBuilder.java
@@ -337,14 +337,13 @@ public class ValueBuilder implements Expression, Predicate {
}
/**
- * Invokes the method with the given name (supports OGNL syntax).
+ * Invokes the method with the given name.
*
* @param methodName name of method to invoke.
* @return the current builder
*/
public ValueBuilder method(String methodName) {
- // TODO: find alternative
- Expression newExp = ExpressionBuilder.ognlExpression(expression, methodName);
+ Expression newExp = ExpressionBuilder.beanExpression(expression + "?method=" + methodName);
return onNewValueBuilder(newExp);
}
diff --git a/core/camel-core/src/main/java/org/apache/camel/component/mock/AssertionClause.java b/core/camel-core/src/main/java/org/apache/camel/component/mock/AssertionClause.java
index 5556cba..53e5d40 100644
--- a/core/camel-core/src/main/java/org/apache/camel/component/mock/AssertionClause.java
+++ b/core/camel-core/src/main/java/org/apache/camel/component/mock/AssertionClause.java
@@ -34,6 +34,8 @@ import org.apache.camel.support.language.ExpressionModel;
*/
public abstract class AssertionClause extends MockExpressionClauseSupport<ValueBuilder> implements Runnable {
+ // TODO: MockValueBuilder
+
protected final MockEndpoint mock;
protected volatile int currentIndex;
private final Set<Predicate> predicates = new LinkedHashSet<>();
diff --git a/core/camel-core/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java b/core/camel-core/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
index 8189149..73117ff 100644
--- a/core/camel-core/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
@@ -1,13 +1,13 @@
-/**
+/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
- * <p>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p>
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/language/ExpressionModel.java b/core/camel-support/src/main/java/org/apache/camel/support/language/ExpressionModel.java
index 9b812f1..4861651 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/language/ExpressionModel.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/language/ExpressionModel.java
@@ -19,11 +19,17 @@ package org.apache.camel.support.language;
import org.apache.camel.CamelContext;
import org.apache.camel.Expression;
+/**
+ * Represents a model that can be created as an expression (eg language).
+ */
public interface ExpressionModel {
- // TODO: move to api, and maybe have a @FunctionalInterface
-
+ /**
+ * Creates an expression
+ *
+ * @param camelContext the camel context
+ * @return the created expression.
+ */
Expression createExpression(CamelContext camelContext);
-
}