This is an automated email from the ASF dual-hosted git repository.
gitgabrio pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-drools.git
The following commit(s) were added to refs/heads/main by this push:
new 9b84342405 [incubator-kie-issues#73] Minor refactoring (#5901)
9b84342405 is described below
commit 9b843424053608aaf567946e73a53c25956a2d63
Author: Gabriele Cardosi <[email protected]>
AuthorDate: Tue May 7 16:43:43 2024 +0200
[incubator-kie-issues#73] Minor refactoring (#5901)
Co-authored-by: Gabriele-Cardosi <[email protected]>
---
.../feel/codegen/feel11/ProcessedExpression.java | 42 +++++++++++-----------
.../org/kie/dmn/feel/runtime/BaseFEELTest.java | 20 ++++++-----
2 files changed, 32 insertions(+), 30 deletions(-)
diff --git
a/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/codegen/feel11/ProcessedExpression.java
b/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/codegen/feel11/ProcessedExpression.java
index e1bd64b005..7c9762144f 100644
---
a/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/codegen/feel11/ProcessedExpression.java
+++
b/kie-dmn/kie-dmn-feel/src/main/java/org/kie/dmn/feel/codegen/feel11/ProcessedExpression.java
@@ -37,7 +37,7 @@ import org.kie.dmn.feel.lang.types.BuiltInType;
import org.kie.dmn.feel.parser.feel11.ASTBuilderVisitor;
import static
org.kie.dmn.feel.codegen.feel11.ProcessedFEELUnit.DefaultMode.Compiled;
-import static org.kie.dmn.feel.util.ClassLoaderUtil.CAN_PLATFORM_CLASSLOAD;;
+import static org.kie.dmn.feel.util.ClassLoaderUtil.CAN_PLATFORM_CLASSLOAD;
public class ProcessedExpression extends ProcessedFEELUnit {
@@ -45,20 +45,20 @@ public class ProcessedExpression extends ProcessedFEELUnit {
private static final String TEMPLATE_CLASS =
"TemplateCompiledFEELExpression";
private final BaseNode ast;
- private final DefaultMode defaultBackend;
- private DirectCompilerResult compiledExpression;
+ private final DefaultMode executionMode;
+ private DirectCompilerResult compilerResult;
- private final CompilerBytecodeLoader compiler = new
CompilerBytecodeLoader();
- private CompiledFEELExpression defaultResult;
+ private final CompilerBytecodeLoader compilerBytecodeLoader = new
CompilerBytecodeLoader();
+ private CompiledFEELExpression executableFEELExpression;
public ProcessedExpression(
String expression,
CompilerContext ctx,
- ProcessedFEELUnit.DefaultMode defaultBackend,
+ ProcessedFEELUnit.DefaultMode executionMode,
List<FEELProfile> profiles) {
super(expression, ctx, profiles);
- this.defaultBackend = defaultBackend;
+ this.executionMode = executionMode;
ParseTree tree = getFEELParser(expression, ctx,
profiles).compilation_unit();
ASTBuilderVisitor astVisitor = new
ASTBuilderVisitor(ctx.getInputVariableTypes(), ctx.getFEELFeelTypeRegistry());
ast = tree.accept(astVisitor);
@@ -77,50 +77,50 @@ public class ProcessedExpression extends ProcessedFEELUnit {
}
public CompiledFEELExpression getResult() {
- if (defaultBackend == Compiled) {
+ if (executionMode == Compiled) {
if (CAN_PLATFORM_CLASSLOAD) {
- defaultResult = getCompiled();
+ executableFEELExpression = getCompiled();
} else {
throw new UnsupportedOperationException("Cannot jit classload
on this platform.");
}
} else { // "legacy" interpreted AST compilation:
- defaultResult = getInterpreted();
+ executableFEELExpression = getInterpreted();
}
return this;
}
private DirectCompilerResult getCompilerResult() {
- if (compiledExpression == null) {
+ if (compilerResult == null) {
if (errorListener.isError()) {
- compiledExpression =
+ compilerResult =
DirectCompilerResult.of(
CompiledFEELSupport.compiledErrorExpression(
errorListener.event().getMessage()),
BuiltInType.UNKNOWN);
} else {
try {
- compiledExpression = ast.accept(new ASTCompilerVisitor());
+ compilerResult = ast.accept(new ASTCompilerVisitor());
} catch (FEELCompilationError e) {
- compiledExpression = DirectCompilerResult.of(
+ compilerResult = DirectCompilerResult.of(
CompiledFEELSupport.compiledErrorExpression(e.getMessage()),
BuiltInType.UNKNOWN);
}
}
}
- return compiledExpression;
+ return compilerResult;
}
public CompilationUnit getSourceCode() {
- DirectCompilerResult compilerResult = getCompilerResult();
- return compiler.getCompilationUnit(
+ DirectCompilerResult directCompilerResult = getCompilerResult();
+ return compilerBytecodeLoader.getCompilationUnit(
CompiledFEELExpression.class,
TEMPLATE_RESOURCE,
packageName,
TEMPLATE_CLASS,
expression,
- compilerResult.getExpression(),
- compilerResult.getFieldDeclarations()
+ directCompilerResult.getExpression(),
+ directCompilerResult.getFieldDeclarations()
);
}
@@ -130,7 +130,7 @@ public class ProcessedExpression extends ProcessedFEELUnit {
public CompiledExecutableExpression getCompiled() {
CompiledFEELExpression compiledFEELExpression =
- compiler.compileUnit(
+ compilerBytecodeLoader.compileUnit(
packageName,
TEMPLATE_CLASS,
getSourceCode());
@@ -139,6 +139,6 @@ public class ProcessedExpression extends ProcessedFEELUnit {
@Override
public Object apply(EvaluationContext evaluationContext) {
- return defaultResult.apply(evaluationContext);
+ return executableFEELExpression.apply(evaluationContext);
}
}
diff --git
a/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/BaseFEELTest.java
b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/BaseFEELTest.java
index 0a8e5aac5a..45b1c7f96d 100644
---
a/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/BaseFEELTest.java
+++
b/kie-dmn/kie-dmn-feel/src/test/java/org/kie/dmn/feel/runtime/BaseFEELTest.java
@@ -21,6 +21,7 @@ package org.kie.dmn.feel.runtime;
import java.util.ArrayList;
import java.util.List;
+import org.assertj.core.api.ObjectAssert;
import org.kie.dmn.api.feel.runtime.events.FEELEvent;
import org.kie.dmn.api.feel.runtime.events.FEELEventListener;
import org.kie.dmn.feel.FEEL;
@@ -83,24 +84,25 @@ public abstract class BaseFEELTest {
FEEL_TARGET testFEELTarget, Boolean
useExtendedProfile);
protected void assertResult(final String expression, final Object result )
{
+ Object retrieved = feel.evaluate( expression );
+ String description = String.format("Evaluating: '%s'", expression);
+ ObjectAssert<Object> assertion = assertThat(retrieved).as(description);
if( result == null ) {
- assertThat(feel.evaluate( expression )).as("Evaluating: '" +
expression + "'").isNull();
+ assertion.isNull();
} else if( result instanceof Class<?> ) {
- assertThat(feel.evaluate( expression )).as("Evaluating: '" +
expression + "'").isInstanceOf((Class<?>) result);
+ assertion.isInstanceOf((Class<?>) result);
} else {
- assertThat(feel.evaluate( expression )).as("Evaluating: '" +
expression + "'").isEqualTo(result);
+ assertion.isEqualTo(result);
}
}
protected static List<Object[]> addAdditionalParameters(final Object[][]
cases, final boolean useExtendedProfile) {
- final List<Object[]> results = new ArrayList<>();
+ final List<Object[]> toReturn = new ArrayList<>();
for (final Object[] c : cases) {
- results.add(new Object[]{c[0], c[1], c[2],
FEEL_TARGET.AST_INTERPRETED, useExtendedProfile});
+ toReturn.add(new Object[]{c[0], c[1], c[2],
FEEL_TARGET.AST_INTERPRETED, useExtendedProfile});
+ toReturn.add(new Object[]{c[0], c[1], c[2],
FEEL_TARGET.JAVA_TRANSLATED, useExtendedProfile});
}
- for (final Object[] c : cases) {
- results.add(new Object[]{c[0], c[1], c[2],
FEEL_TARGET.JAVA_TRANSLATED, useExtendedProfile});
- }
- return results;
+ return toReturn;
}
private List<FEELProfile> getFEELProfilesForTests() {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]