Index: drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/PackageModel.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/PackageModel.java b/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/PackageModel.java --- a/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/PackageModel.java (revision 79cc7aafb01a7ddf57b76470c92e40cfd14111e9) +++ b/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/PackageModel.java (revision b265f2ad16454502ed8f7bec590e35eed3ef92e1) @@ -68,6 +68,7 @@ import org.drools.model.functions.PredicateInformation; import org.drools.modelcompiler.builder.generator.DRLIdGenerator; import org.drools.modelcompiler.builder.generator.DrlxParseUtil; +import org.drools.modelcompiler.builder.generator.DslImports; import org.drools.modelcompiler.builder.generator.QueryGenerator; import org.drools.modelcompiler.builder.generator.QueryParameter; import org.drools.modelcompiler.util.lambdareplace.CreatedClass; @@ -167,6 +168,7 @@ this.name = name; this.pkgUUID = pkgUUID; this.isPattern = isPattern; + DslImports.isPattern = isPattern; this.rulesFileName = RULES_FILE_NAME + pkgUUID; this.configuration = configuration; this.exprIdGenerator = exprIdGenerator; @@ -785,11 +787,7 @@ private void manageImportForCompilationUnit(CompilationUnit cu) { // fixed part - if(isPattern) { - cu.addImport("org.drools.modelcompiler.dsl.pattern.D"); - } else { - cu.addImport("org.drools.modelcompiler.dsl.flow.D"); - } + DslImports.addDSLImports(cu); cu.addImport("org.drools.model.Index.ConstraintType"); // imports from DRL: Index: drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/RuleWriter.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/RuleWriter.java b/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/RuleWriter.java --- a/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/RuleWriter.java (revision 79cc7aafb01a7ddf57b76470c92e40cfd14111e9) +++ b/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/RuleWriter.java (revision b265f2ad16454502ed8f7bec590e35eed3ef92e1) @@ -35,7 +35,7 @@ public class RuleWriter { - public static final boolean EXTERNALIZE_LAMBDAS = true; + public static final boolean EXTERNALIZE_LAMBDAS = false; public static final String DROOLS_CHECK_NON_EXTERNALISED_LAMBDA = "drools.check.nonExternalisedLambda"; private static boolean checkNonExternalisedLambda = Boolean.parseBoolean(System.getProperty(DROOLS_CHECK_NON_EXTERNALISED_LAMBDA, "false")); Index: drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/Consequence.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/Consequence.java b/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/Consequence.java --- a/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/Consequence.java (revision 79cc7aafb01a7ddf57b76470c92e40cfd14111e9) +++ b/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/Consequence.java (revision b265f2ad16454502ed8f7bec590e35eed3ef92e1) @@ -82,6 +82,7 @@ import static org.drools.modelcompiler.builder.generator.DrlxParseUtil.toClassOrInterfaceType; import static org.drools.modelcompiler.builder.generator.DslMethodNames.BREAKING_CALL; import static org.drools.modelcompiler.builder.generator.DslMethodNames.EXECUTE_CALL; +import static org.drools.modelcompiler.builder.generator.DslMethodNames.EXECUTE_CALL_FQN; import static org.drools.modelcompiler.builder.generator.DslMethodNames.GET_CHANNEL_CALL; import static org.drools.modelcompiler.builder.generator.DslMethodNames.ON_CALL; import static org.drools.modelcompiler.util.ClassUtil.asJavaSourceName; @@ -284,7 +285,13 @@ boolean requireDrools = rewriteRHS(ruleVariablesBlock, ruleConsequence); - MethodCallExpr executeCall = new MethodCallExpr(onCall != null ? onCall : new NameExpr("D"), EXECUTE_CALL); + + MethodCallExpr executeCall; + if(onCall != null) { + executeCall = new MethodCallExpr(onCall, EXECUTE_CALL); // chain call execute on the .ON call + } else { + executeCall = new MethodCallExpr(null, EXECUTE_CALL_FQN); + } LambdaExpr executeLambda = new LambdaExpr(); executeCall.addArgument(executeLambda); executeLambda.setEnclosingParameters(true); Index: drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/DslImports.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/DslImports.java b/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/DslImports.java new file mode 100644 --- /dev/null (revision b265f2ad16454502ed8f7bec590e35eed3ef92e1) +++ b/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/DslImports.java (revision b265f2ad16454502ed8f7bec590e35eed3ef92e1) @@ -0,0 +1,58 @@ +package org.drools.modelcompiler.builder.generator; + +import com.github.javaparser.ast.CompilationUnit; + +public class DslImports { + + private DslImports() { + + } + + public static boolean isPattern = true; + + private static boolean USE_FQN_FOR_DSL_METHOD_CALLS = true; + + // TODO LUCA extract pattern? set the class once + public static void addDSLImports(CompilationUnit cu) { + if (!USE_FQN_FOR_DSL_METHOD_CALLS) { + if (isPattern) { + cu.addImport(org.drools.model.PatternDSL.class.getCanonicalName()); + } else { + cu.addImport(org.drools.model.FlowDSL.class.getCanonicalName()); + } + } + } + + public static String withFQN(String methodName) { + if (USE_FQN_FOR_DSL_METHOD_CALLS) { + if (isPattern) { + return org.drools.model.PatternDSL.class.getCanonicalName() + "." + methodName; + } else { + return org.drools.model.FlowDSL.class.getCanonicalName() + "." + methodName; + } + } + return "D." + methodName; + } + + public static boolean isDSLMethod(String methodName) { + if (USE_FQN_FOR_DSL_METHOD_CALLS) { + if (isPattern) { + return methodName.startsWith(org.drools.model.PatternDSL.class.getCanonicalName()); + } else { + return methodName.startsWith(org.drools.model.FlowDSL.class.getCanonicalName()); + } + } + return methodName.startsWith("D."); + } + + public static String methodNameWithoutDSLImport(String methodName) { + if (USE_FQN_FOR_DSL_METHOD_CALLS) { + if (isPattern) { + return methodName.replace(org.drools.model.PatternDSL.class.getCanonicalName() + ".", ""); + } else { + return methodName.replace(org.drools.model.FlowDSL.class.getCanonicalName() + ".", ""); + } + } + return methodName.replace("D.", ""); + } +} Index: drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/DslMethodNames.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/DslMethodNames.java b/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/DslMethodNames.java --- a/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/DslMethodNames.java (revision 79cc7aafb01a7ddf57b76470c92e40cfd14111e9) +++ b/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/DslMethodNames.java (revision b265f2ad16454502ed8f7bec590e35eed3ef92e1) @@ -16,66 +16,69 @@ package org.drools.modelcompiler.builder.generator; +import static org.drools.modelcompiler.builder.generator.DslImports.withFQN; + public class DslMethodNames { private DslMethodNames() { } // rules - public static final String RULE_CALL = "D.rule"; + public static final String RULE_CALL = withFQN("rule"); public static final String UNIT_CALL = "unit"; public static final String ATTRIBUTE_CALL = "attribute"; - public static final String SUPPLY_CALL = "D.supply"; + public static final String SUPPLY_CALL = withFQN("supply"); public static final String METADATA_CALL = "metadata"; public static final String BUILD_CALL = "build"; public static final String ADD_ANNOTATION_CALL = "addAnnotation"; - public static final String ANNOTATION_VALUE_CALL = "D.annotationValue"; + public static final String ANNOTATION_VALUE_CALL = withFQN("annotationValue"); // queries public static final String QUERY_INVOCATION_CALL = "call"; - public static final String QUERY_CALL = "D.query"; - public static final String VALUE_OF_CALL = "D.valueOf"; + public static final String QUERY_CALL = withFQN("query"); + public static final String VALUE_OF_CALL = withFQN("valueOf"); // variables public static final String BIND_AS_CALL = "as"; - public static final String DECLARATION_OF_CALL = "D.declarationOf"; - public static final String INPUT_CALL = "D.input"; - public static final String GLOBAL_OF_CALL = "D.globalOf"; - public static final String TYPE_META_DATA_CALL = "D.typeMetaData"; + public static final String DECLARATION_OF_CALL = withFQN("declarationOf"); + public static final String INPUT_CALL = withFQN("input"); + public static final String GLOBAL_OF_CALL = withFQN("globalOf"); + public static final String TYPE_META_DATA_CALL = withFQN("typeMetaData"); // entry points - public static final String FROM_CALL = "D.from"; - public static final String REACTIVE_FROM_CALL = "D.reactiveFrom"; - public static final String ENTRY_POINT_CALL = "D.entryPoint"; - public static final String WINDOW_CALL = "D.window"; + public static final String FROM_CALL = withFQN("from"); + public static final String REACTIVE_FROM_CALL = withFQN("reactiveFrom"); + public static final String ENTRY_POINT_CALL = withFQN("entryPoint"); + public static final String WINDOW_CALL = withFQN("window"); // patterns - public static final String PATTERN_CALL = "D.pattern"; + public static final String PATTERN_CALL = withFQN("pattern"); public static final String WATCH_CALL = "watch"; - public static final String NOT_CALL = "D.not"; - public static final String EXISTS_CALL = "D.exists"; - public static final String FORALL_CALL = "D.forall"; - public static final String ACCUMULATE_CALL = "D.accumulate"; - public static final String ACC_FUNCTION_CALL = "D.accFunction"; + public static final String NOT_CALL = withFQN("not"); + public static final String EXISTS_CALL = withFQN("exists"); + public static final String FORALL_CALL = withFQN("forall"); + public static final String ACCUMULATE_CALL = withFQN("accumulate"); + public static final String ACC_FUNCTION_CALL = withFQN("accFunction"); public static final String ACC_WITH_EXTERNAL_DECLRS_CALL = "with"; - public static final String EVAL_CALL = "D.eval"; + public static final String EVAL_CALL = withFQN("eval"); // indexing public static final String INDEXED_BY_CALL = "indexedBy"; - public static final String ALPHA_INDEXED_BY_CALL = "D.alphaIndexedBy"; - public static final String BETA_INDEXED_BY_CALL = "D.betaIndexedBy"; + public static final String ALPHA_INDEXED_BY_CALL = withFQN("alphaIndexedBy"); + public static final String BETA_INDEXED_BY_CALL = withFQN("betaIndexedBy"); // consequences + public static final String EXECUTE_CALL_FQN = withFQN("execute"); public static final String EXECUTE_CALL = "execute"; public static final String EXECUTESCRIPT_CALL = "executeScript"; - public static final String ON_CALL = "D.on"; - public static final String UNIT_DATA_CALL = "D.unitData"; - public static final String WHEN_CALL = "D.when"; + public static final String ON_CALL = withFQN("on"); + public static final String UNIT_DATA_CALL = withFQN("unitData"); + public static final String WHEN_CALL = withFQN("when"); public static final String ELSE_WHEN_CALL = "elseWhen"; public static final String THEN_CALL = "then"; public static final String BREAKING_CALL = "breaking"; public static final String GET_CHANNEL_CALL = "getChannel"; // and/or - public static final String AND_CALL = "D.and"; - public static final String OR_CALL = "D.or"; + public static final String AND_CALL = withFQN("and"); + public static final String OR_CALL = withFQN("or"); } Index: drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/expression/FlowExpressionBuilder.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/expression/FlowExpressionBuilder.java b/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/expression/FlowExpressionBuilder.java --- a/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/expression/FlowExpressionBuilder.java (revision 79cc7aafb01a7ddf57b76470c92e40cfd14111e9) +++ b/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/expression/FlowExpressionBuilder.java (revision b265f2ad16454502ed8f7bec590e35eed3ef92e1) @@ -41,17 +41,18 @@ import static com.github.javaparser.StaticJavaParser.parseType; import static org.drools.modelcompiler.builder.generator.DrlxParseUtil.THIS_PLACEHOLDER; +import static org.drools.modelcompiler.builder.generator.DslImports.withFQN; import static org.drools.modelcompiler.builder.generator.DslMethodNames.BIND_AS_CALL; import static org.drools.modelcompiler.builder.generator.DslMethodNames.INDEXED_BY_CALL; import static org.drools.modelcompiler.builder.generator.DslMethodNames.WATCH_CALL; public class FlowExpressionBuilder extends AbstractExpressionBuilder { - public static final String EXPR_CALL = "D.expr"; + public static final String EXPR_CALL = withFQN("expr"); public static final String REACT_ON_CALL = "reactOn"; - public static final String BIND_CALL = "D.bind"; - public static final String OR_CALL = "D.or"; - public static final String AND_CALL = "D.and"; + public static final String BIND_CALL = withFQN("bind"); + public static final String OR_CALL = withFQN("or"); + public static final String AND_CALL = withFQN("and"); public FlowExpressionBuilder(RuleContext context) { super(context); Index: drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/expression/PatternExpressionBuilder.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/expression/PatternExpressionBuilder.java b/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/expression/PatternExpressionBuilder.java --- a/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/expression/PatternExpressionBuilder.java (revision 79cc7aafb01a7ddf57b76470c92e40cfd14111e9) +++ b/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/expression/PatternExpressionBuilder.java (revision b265f2ad16454502ed8f7bec590e35eed3ef92e1) @@ -44,13 +44,14 @@ import static com.github.javaparser.StaticJavaParser.parseClassOrInterfaceType; import static com.github.javaparser.StaticJavaParser.parseType; import static org.drools.modelcompiler.builder.generator.DrlxParseUtil.THIS_PLACEHOLDER; +import static org.drools.modelcompiler.builder.generator.DslImports.withFQN; import static org.drools.modelcompiler.builder.generator.DslMethodNames.ALPHA_INDEXED_BY_CALL; import static org.drools.modelcompiler.builder.generator.DslMethodNames.BETA_INDEXED_BY_CALL; public class PatternExpressionBuilder extends AbstractExpressionBuilder { public static final String EXPR_CALL = "expr"; - public static final String REACT_ON_CALL = "D.reactOn"; + public static final String REACT_ON_CALL = withFQN("reactOn"); public static final String BIND_CALL = "bind"; public static final String OR_CALL = "or"; public static final String AND_CALL = "and"; Index: drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/operatorspec/TemporalOperatorSpec.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/operatorspec/TemporalOperatorSpec.java b/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/operatorspec/TemporalOperatorSpec.java --- a/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/operatorspec/TemporalOperatorSpec.java (revision 79cc7aafb01a7ddf57b76470c92e40cfd14111e9) +++ b/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/builder/generator/operatorspec/TemporalOperatorSpec.java (revision b265f2ad16454502ed8f7bec590e35eed3ef92e1) @@ -28,13 +28,14 @@ import org.drools.modelcompiler.builder.generator.TypedExpression; import org.drools.modelcompiler.builder.generator.expressiontyper.ExpressionTyper; +import static org.drools.modelcompiler.builder.generator.DslImports.withFQN; import static org.drools.modelcompiler.builder.generator.DslMethodNames.NOT_CALL; public class TemporalOperatorSpec implements OperatorSpec { public static final TemporalOperatorSpec INSTANCE = new TemporalOperatorSpec(); public Expression getExpression(RuleContext context, PointFreeExpr pointFreeExpr, TypedExpression left, ExpressionTyper expressionTyper) { - MethodCallExpr methodCallExpr = new MethodCallExpr( null, "D." + pointFreeExpr.getOperator().asString() ); + MethodCallExpr methodCallExpr = new MethodCallExpr( null, withFQN( pointFreeExpr.getOperator().asString()) ); if (pointFreeExpr.getArg1() != null) { addArgumentToMethodCall( pointFreeExpr.getArg1(), methodCallExpr ); if (pointFreeExpr.getArg2() != null) { Index: drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/dsl/flow/D.java =================================================================== diff --git a/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/dsl/flow/D.java b/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/dsl/flow/D.java deleted file mode 100644 --- a/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/dsl/flow/D.java (revision 79cc7aafb01a7ddf57b76470c92e40cfd14111e9) +++ /dev/null (revision 79cc7aafb01a7ddf57b76470c92e40cfd14111e9) @@ -1,22 +0,0 @@ -/* - * Copyright 2005 JBoss Inc - * - * Licensed 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 - * - * 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. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.drools.modelcompiler.dsl.flow; - -import org.drools.model.FlowDSL; - -public class D extends FlowDSL { -} Index: drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/dsl/pattern/D.java =================================================================== diff --git a/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/dsl/pattern/D.java b/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/dsl/pattern/D.java deleted file mode 100644 --- a/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/dsl/pattern/D.java (revision 79cc7aafb01a7ddf57b76470c92e40cfd14111e9) +++ /dev/null (revision 79cc7aafb01a7ddf57b76470c92e40cfd14111e9) @@ -1,22 +0,0 @@ -/* - * Copyright 2005 JBoss Inc - * - * Licensed 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 - * - * 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. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.drools.modelcompiler.dsl.pattern; - -import org.drools.model.PatternDSL; - -public class D extends PatternDSL { -} Index: drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/util/lambdareplace/ExecModelLambdaPostProcessor.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/util/lambdareplace/ExecModelLambdaPostProcessor.java b/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/util/lambdareplace/ExecModelLambdaPostProcessor.java --- a/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/util/lambdareplace/ExecModelLambdaPostProcessor.java (revision 79cc7aafb01a7ddf57b76470c92e40cfd14111e9) +++ b/drools-model/drools-model-compiler/src/main/java/org/drools/modelcompiler/util/lambdareplace/ExecModelLambdaPostProcessor.java (revision b265f2ad16454502ed8f7bec590e35eed3ef92e1) @@ -54,10 +54,12 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static org.drools.modelcompiler.builder.generator.DslImports.isDSLMethod; +import static org.drools.modelcompiler.builder.generator.DslImports.methodNameWithoutDSLImport; import static org.drools.modelcompiler.builder.generator.DslMethodNames.ALPHA_INDEXED_BY_CALL; import static org.drools.modelcompiler.builder.generator.DslMethodNames.BETA_INDEXED_BY_CALL; import static org.drools.modelcompiler.builder.generator.DslMethodNames.BIND_AS_CALL; -import static org.drools.modelcompiler.builder.generator.DslMethodNames.EXECUTE_CALL; +import static org.drools.modelcompiler.builder.generator.DslMethodNames.EXECUTE_CALL_FQN; import static org.drools.modelcompiler.builder.generator.DslMethodNames.FROM_CALL; import static org.drools.modelcompiler.builder.generator.DslMethodNames.INDEXED_BY_CALL; import static org.drools.modelcompiler.builder.generator.DslMethodNames.REACTIVE_FROM_CALL; @@ -181,14 +183,14 @@ .map(MethodCallExpr.class::cast) .map(DrlxParseUtil::findLastMethodInChain) .map(MethodCallExpr::getNameAsString) - .anyMatch(name -> name.startsWith("D.") && ModelGenerator.temporalOperators.contains(name.substring(2))); + .anyMatch(fullName -> (isDSLMethod(fullName)) && ModelGenerator.temporalOperators.contains(methodNameWithoutDSLImport(fullName))); } private boolean isExecuteNonNestedCall(MethodCallExpr mc) { Optional ancestor = mc.findAncestor(MethodCallExpr.class) - .filter(a -> a.getNameAsString().equals(EXECUTE_CALL)); + .filter(a -> a.getNameAsString().equals(EXECUTE_CALL_FQN)); - return !ancestor.isPresent() && EXECUTE_CALL.equals(mc.getNameAsString()); + return !ancestor.isPresent() && EXECUTE_CALL_FQN.equals(mc.getNameAsString()); } private void convertIndexedByCall(MethodCallExpr methodCallExpr) { Index: drools-model/drools-model-compiler/src/test/java/org/drools/modelcompiler/FlowTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/drools-model/drools-model-compiler/src/test/java/org/drools/modelcompiler/FlowTest.java b/drools-model/drools-model-compiler/src/test/java/org/drools/modelcompiler/FlowTest.java --- a/drools-model/drools-model-compiler/src/test/java/org/drools/modelcompiler/FlowTest.java (revision 79cc7aafb01a7ddf57b76470c92e40cfd14111e9) +++ b/drools-model/drools-model-compiler/src/test/java/org/drools/modelcompiler/FlowTest.java (revision b265f2ad16454502ed8f7bec590e35eed3ef92e1) @@ -56,7 +56,6 @@ import org.drools.modelcompiler.domain.TargetPolicy; import org.drools.modelcompiler.domain.Toy; import org.drools.modelcompiler.domain.Woman; -import org.drools.modelcompiler.dsl.flow.D; import org.drools.modelcompiler.oopathdtables.InternationalAddress; import org.junit.Test; import org.kie.api.KieBase; @@ -1542,39 +1541,39 @@ @Test public void testAcc() { - final org.drools.model.Global var_result = D.globalOf(java.util.List.class, + final org.drools.model.Global var_result = org.drools.model.FlowDSL.globalOf(java.util.List.class, "defaultpkg", "result"); - final org.drools.model.Variable var_GENERATED_$pattern_Interval$1$ = D.declarationOf(org.drools.modelcompiler.AccumulateTest.Interval.class, + final org.drools.model.Variable var_GENERATED_$pattern_Interval$1$ = org.drools.model.FlowDSL.declarationOf(org.drools.modelcompiler.AccumulateTest.Interval.class, DomainClassesMetadataD1C56613297DE289A075652FE12C51F7.org_drools_modelcompiler_AccumulateTest_Interval_Metadata_INSTANCE, "GENERATED_$pattern_Interval$1$"); - final org.drools.model.Variable var_$start = D.declarationOf(java.time.LocalDateTime.class, + final org.drools.model.Variable var_$start = org.drools.model.FlowDSL.declarationOf(java.time.LocalDateTime.class, DomainClassesMetadataD1C56613297DE289A075652FE12C51F7.java_time_LocalDateTime_Metadata_INSTANCE, "$start"); - final org.drools.model.Variable var_$end = D.declarationOf(java.time.LocalDateTime.class, + final org.drools.model.Variable var_$end = org.drools.model.FlowDSL.declarationOf(java.time.LocalDateTime.class, DomainClassesMetadataD1C56613297DE289A075652FE12C51F7.java_time_LocalDateTime_Metadata_INSTANCE, "$end"); - final org.drools.model.Variable var_2F47AF97F50D92F05C2FD7C167AA97B1 = D.declarationOf(Long.class, + final org.drools.model.Variable var_2F47AF97F50D92F05C2FD7C167AA97B1 = org.drools.model.FlowDSL.declarationOf(Long.class, "2F47AF97F50D92F05C2FD7C167AA97B1"); - final org.drools.model.Variable var_$count = D.declarationOf(java.lang.Long.class, + final org.drools.model.Variable var_$count = org.drools.model.FlowDSL.declarationOf(java.lang.Long.class, DomainClassesMetadataD1C56613297DE289A075652FE12C51F7.java_lang_Long_Metadata_INSTANCE, "$count"); - org.drools.model.Rule rule = D.rule("Rule1").build( - D.accumulate(D.and( - D.bind(var_2F47AF97F50D92F05C2FD7C167AA97B1).as(var_GENERATED_$pattern_Interval$1$, + org.drools.model.Rule rule = org.drools.model.FlowDSL.rule("Rule1").build( + org.drools.model.FlowDSL.accumulate(org.drools.model.FlowDSL.and( + org.drools.model.FlowDSL.bind(var_2F47AF97F50D92F05C2FD7C167AA97B1).as(var_GENERATED_$pattern_Interval$1$, var_$start, var_$end, (_this, $start, $end) -> Duration.between($start, $end) .toMinutes()), - D.bind(var_$start).as(var_GENERATED_$pattern_Interval$1$, + org.drools.model.FlowDSL.bind(var_$start).as(var_GENERATED_$pattern_Interval$1$, (org.drools.modelcompiler.AccumulateTest.Interval _this) -> _this.getStart()).reactOn("start"), - D.bind(var_$end).as(var_GENERATED_$pattern_Interval$1$, + org.drools.model.FlowDSL.bind(var_$end).as(var_GENERATED_$pattern_Interval$1$, (org.drools.modelcompiler.AccumulateTest.Interval _this) -> _this.getEnd()).reactOn("end") ), - D.accFunction(org.drools.core.base.accumulators.LongSumAccumulateFunction::new, + org.drools.model.FlowDSL.accFunction(org.drools.core.base.accumulators.LongSumAccumulateFunction::new, var_2F47AF97F50D92F05C2FD7C167AA97B1).as(var_$count)), - D.on(var_result, + org.drools.model.FlowDSL.on(var_result, var_$count).execute(LambdaConsequenceA6C63EF27486D79ED7DA90A614023D74.INSTANCE)); Model model = new ModelImpl().addRule(rule).addGlobal( var_result ); Index: drools-model/drools-model-compiler/src/test/java/org/drools/modelcompiler/GroupByTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/drools-model/drools-model-compiler/src/test/java/org/drools/modelcompiler/GroupByTest.java b/drools-model/drools-model-compiler/src/test/java/org/drools/modelcompiler/GroupByTest.java --- a/drools-model/drools-model-compiler/src/test/java/org/drools/modelcompiler/GroupByTest.java (revision 79cc7aafb01a7ddf57b76470c92e40cfd14111e9) +++ b/drools-model/drools-model-compiler/src/test/java/org/drools/modelcompiler/GroupByTest.java (revision b265f2ad16454502ed8f7bec590e35eed3ef92e1) @@ -58,7 +58,6 @@ import org.drools.modelcompiler.domain.Child; import org.drools.modelcompiler.domain.Parent; import org.drools.modelcompiler.domain.Person; -import org.drools.modelcompiler.dsl.pattern.D; import org.drools.modelcompiler.util.EvaluationUtil; import org.junit.Test; import org.kie.api.KieBase; @@ -77,25 +76,25 @@ @Test public void providedInstance() throws Exception { - Global var_results = D.globalOf(Map.class, "defaultpkg", "results"); + Global var_results = org.drools.model.PatternDSL.globalOf(Map.class, "defaultpkg", "results"); - Variable var_$key = D.declarationOf(String.class); - Variable var_$p = D.declarationOf(Person.class); - Variable var_$sumOfAges = D.declarationOf(Integer.class); + Variable var_$key = org.drools.model.PatternDSL.declarationOf(String.class); + Variable var_$p = org.drools.model.PatternDSL.declarationOf(Person.class); + Variable var_$sumOfAges = org.drools.model.PatternDSL.declarationOf(Integer.class); - Rule rule1 = D.rule("R1").build( - D.groupBy( + Rule rule1 = org.drools.model.PatternDSL.rule("R1").build( + org.drools.model.PatternDSL.groupBy( // Patterns - D.pattern(var_$p).watch("age"), + org.drools.model.PatternDSL.pattern(var_$p).watch("age"), // Grouping Function var_$p, var_$key, person -> person.getName().substring(0, 1), // Accumulate Result (can be more than one) - D.accFunction(() -> sumA(Person::getAge)).as(var_$sumOfAges)), + org.drools.model.PatternDSL.accFunction(() -> sumA(Person::getAge)).as(var_$sumOfAges)), // FilterIntegerSumAccumulateFunction - D.pattern(var_$sumOfAges) + org.drools.model.PatternDSL.pattern(var_$sumOfAges) .expr($sumOfAges -> EvaluationUtil.greaterThanNumbers($sumOfAges, 36)), // Consequence - D.on(var_$key, var_results, var_$sumOfAges) + org.drools.model.PatternDSL.on(var_$key, var_results, var_$sumOfAges) .execute(($key, results, $sumOfAges) -> results.put($key, $sumOfAges)) ); @@ -190,64 +189,64 @@ @Test public void testSumPersonAgeGroupByInitialWithAcc() throws Exception { - final Variable var_GENERATED_$pattern_Person$4$ = D.declarationOf(Person.class); - final Variable var_$initial = D.declarationOf(String.class); - final Variable var_sCoPe3_GENERATED_$pattern_GroupKey$3$ = D.declarationOf(GroupKey.class); + final Variable var_GENERATED_$pattern_Person$4$ = org.drools.model.PatternDSL.declarationOf(Person.class); + final Variable var_$initial = org.drools.model.PatternDSL.declarationOf(String.class); + final Variable var_sCoPe3_GENERATED_$pattern_GroupKey$3$ = org.drools.model.PatternDSL.declarationOf(GroupKey.class); - Rule rule1 = D.rule("R1").build( - D.pattern(var_GENERATED_$pattern_Person$4$) + Rule rule1 = org.drools.model.PatternDSL.rule("R1").build( + org.drools.model.PatternDSL.pattern(var_GENERATED_$pattern_Person$4$) .bind(var_$initial, (Person _this) -> _this.getName().substring(0, 1)), - D.not(D.pattern(var_sCoPe3_GENERATED_$pattern_GroupKey$3$).expr("FF3B1999B2904B3324A471615B8760C9", + org.drools.model.PatternDSL.not(org.drools.model.PatternDSL.pattern(var_sCoPe3_GENERATED_$pattern_GroupKey$3$).expr("FF3B1999B2904B3324A471615B8760C9", var_$initial, (GroupKey _this, java.lang.String $initial) -> EvaluationUtil.areNullSafeEquals(_this.getKey(), $initial), - D.reactOn("key"))), - D.on(var_$initial).execute((org.drools.model.Drools drools, java.lang.String $initial) -> { + org.drools.model.PatternDSL.reactOn("key"))), + org.drools.model.PatternDSL.on(var_$initial).execute((org.drools.model.Drools drools, java.lang.String $initial) -> { { drools.insert(new GroupKey("a", $initial)); } })); - final Variable var_$k = D.declarationOf(GroupKey.class); - final Variable var_$key = D.declarationOf(Object.class); - final Variable var_sCoPe4_GENERATED_$pattern_Person$5$ = D.declarationOf(Person.class); + final Variable var_$k = org.drools.model.PatternDSL.declarationOf(GroupKey.class); + final Variable var_$key = org.drools.model.PatternDSL.declarationOf(Object.class); + final Variable var_sCoPe4_GENERATED_$pattern_Person$5$ = org.drools.model.PatternDSL.declarationOf(Person.class); - Rule rule2 = D.rule("R2").build( - D.pattern(var_$k).expr("8313F8B6FD1C0612B7758BFDB93F0DE4", (GroupKey _this) -> EvaluationUtil.areNullSafeEquals(_this.getTopic(), "a"), - D.reactOn("topic")) + Rule rule2 = org.drools.model.PatternDSL.rule("R2").build( + org.drools.model.PatternDSL.pattern(var_$k).expr("8313F8B6FD1C0612B7758BFDB93F0DE4", (GroupKey _this) -> EvaluationUtil.areNullSafeEquals(_this.getTopic(), "a"), + org.drools.model.PatternDSL.reactOn("topic")) .bind(var_$key, (GroupKey _this) -> _this.getKey(), - D.reactOn("key")), - D.not(D.pattern(var_sCoPe4_GENERATED_$pattern_Person$5$).expr("AFBC8D66DD9165C71D89004BBF5B0F9C", + org.drools.model.PatternDSL.reactOn("key")), + org.drools.model.PatternDSL.not(org.drools.model.PatternDSL.pattern(var_sCoPe4_GENERATED_$pattern_Person$5$).expr("AFBC8D66DD9165C71D89004BBF5B0F9C", var_$key, (Person _this, Object $key) -> EvaluationUtil.areNullSafeEquals(_this.getName().substring(0, 1), $key.toString()), - D.reactOn("name"))), - D.on(var_$k).execute((org.drools.model.Drools drools, GroupKey $k) -> { + org.drools.model.PatternDSL.reactOn("name"))), + org.drools.model.PatternDSL.on(var_$k).execute((org.drools.model.Drools drools, GroupKey $k) -> { { drools.delete($k); } })); - final Global var_results = D.globalOf(Map.class, "defaultpkg", "results"); + final Global var_results = org.drools.model.PatternDSL.globalOf(Map.class, "defaultpkg", "results"); - final Variable var_GENERATED_$pattern_GroupKey$4$ = D.declarationOf(GroupKey.class); - final Variable var_GENERATED_$pattern_Person$6$ = D.declarationOf(Person.class); - final Variable var_$age = D.declarationOf(Integer.class); - final Variable var_$sumOfAges = D.declarationOf(java.lang.Integer.class); + final Variable var_GENERATED_$pattern_GroupKey$4$ = org.drools.model.PatternDSL.declarationOf(GroupKey.class); + final Variable var_GENERATED_$pattern_Person$6$ = org.drools.model.PatternDSL.declarationOf(Person.class); + final Variable var_$age = org.drools.model.PatternDSL.declarationOf(Integer.class); + final Variable var_$sumOfAges = org.drools.model.PatternDSL.declarationOf(java.lang.Integer.class); - Rule rule3 = D.rule("R3").build( - D.pattern(var_GENERATED_$pattern_GroupKey$4$).expr("8313F8B6FD1C0612B7758BFDB93F0DE4", ( GroupKey _this) -> EvaluationUtil.areNullSafeEquals(_this.getTopic(), "a"), - D.reactOn("topic")).bind(var_$key, + Rule rule3 = org.drools.model.PatternDSL.rule("R3").build( + org.drools.model.PatternDSL.pattern(var_GENERATED_$pattern_GroupKey$4$).expr("8313F8B6FD1C0612B7758BFDB93F0DE4", ( GroupKey _this) -> EvaluationUtil.areNullSafeEquals(_this.getTopic(), "a"), + org.drools.model.PatternDSL.reactOn("topic")).bind(var_$key, (GroupKey _this) -> _this.getKey(), - D.reactOn("key")), - D.accumulate(D.pattern(var_GENERATED_$pattern_Person$6$) - .bind(var_$age, (Person _this) -> _this.getAge(), D.reactOn("age")) + org.drools.model.PatternDSL.reactOn("key")), + org.drools.model.PatternDSL.accumulate(org.drools.model.PatternDSL.pattern(var_GENERATED_$pattern_Person$6$) + .bind(var_$age, (Person _this) -> _this.getAge(), org.drools.model.PatternDSL.reactOn("age")) .expr("AFBC8D66DD9165C71D89004BBF5B0F9C", var_$key, (Person _this, Object $key) -> EvaluationUtil.areNullSafeEquals(_this.getName().substring(0, 1), $key), - D.reactOn("name")), - D.accFunction(org.drools.core.base.accumulators.IntegerSumAccumulateFunction::new, var_$age).as(var_$sumOfAges)), - D.pattern(var_$sumOfAges).expr("00DE1D5962263283D8D799CF83F1A729", + org.drools.model.PatternDSL.reactOn("name")), + org.drools.model.PatternDSL.accFunction(org.drools.core.base.accumulators.IntegerSumAccumulateFunction::new, var_$age).as(var_$sumOfAges)), + org.drools.model.PatternDSL.pattern(var_$sumOfAges).expr("00DE1D5962263283D8D799CF83F1A729", (java.lang.Integer $sumOfAges) -> EvaluationUtil.greaterThanNumbers($sumOfAges, 10)), - D.on(var_$key, + org.drools.model.PatternDSL.on(var_$key, var_results, var_$sumOfAges).execute((Object $key, Map results, Integer $sumOfAges) -> { { @@ -294,21 +293,21 @@ @Test public void testGroupPersonsInitial() throws Exception { - Global var_results = D.globalOf(List.class, "defaultpkg", "results"); + Global var_results = org.drools.model.PatternDSL.globalOf(List.class, "defaultpkg", "results"); - Variable var_$key = D.declarationOf(String.class); - Variable var_$p = D.declarationOf(Person.class); - Variable var_$list = D.declarationOf(List.class); + Variable var_$key = org.drools.model.PatternDSL.declarationOf(String.class); + Variable var_$p = org.drools.model.PatternDSL.declarationOf(Person.class); + Variable var_$list = org.drools.model.PatternDSL.declarationOf(List.class); - Rule rule1 = D.rule("R1").build( - D.groupBy( + Rule rule1 = org.drools.model.PatternDSL.rule("R1").build( + org.drools.model.PatternDSL.groupBy( // Patterns - D.pattern(var_$p), + org.drools.model.PatternDSL.pattern(var_$p), // Grouping Function var_$p, var_$key, person -> person.getName().substring(0, 1) ), // Consequence - D.on(var_$key,var_results) + org.drools.model.PatternDSL.on(var_$key,var_results) .execute(($key,results) -> { results.add($key); //System.out.println($key + ": " + $list); @@ -353,26 +352,26 @@ @Test public void testSumPersonAgeGroupByInitial() throws Exception { - Global var_results = D.globalOf(Map.class, "defaultpkg", "results"); + Global var_results = org.drools.model.PatternDSL.globalOf(Map.class, "defaultpkg", "results"); - Variable var_$key = D.declarationOf(String.class); - Variable var_$p = D.declarationOf(Person.class); - Variable var_$age = D.declarationOf(Integer.class); - Variable var_$sumOfAges = D.declarationOf(Integer.class); + Variable var_$key = org.drools.model.PatternDSL.declarationOf(String.class); + Variable var_$p = org.drools.model.PatternDSL.declarationOf(Person.class); + Variable var_$age = org.drools.model.PatternDSL.declarationOf(Integer.class); + Variable var_$sumOfAges = org.drools.model.PatternDSL.declarationOf(Integer.class); - Rule rule1 = D.rule("R1").build( - D.groupBy( + Rule rule1 = org.drools.model.PatternDSL.rule("R1").build( + org.drools.model.PatternDSL.groupBy( // Patterns - D.pattern(var_$p).bind(var_$age, person -> person.getAge(), D.reactOn("age")), + org.drools.model.PatternDSL.pattern(var_$p).bind(var_$age, person -> person.getAge(), org.drools.model.PatternDSL.reactOn("age")), // Grouping Function var_$p, var_$key, person -> person.getName().substring(0, 1), // Accumulate Result (can be more than one) - D.accFunction(org.drools.core.base.accumulators.IntegerSumAccumulateFunction::new, var_$age).as(var_$sumOfAges)), + org.drools.model.PatternDSL.accFunction(org.drools.core.base.accumulators.IntegerSumAccumulateFunction::new, var_$age).as(var_$sumOfAges)), // Filter - D.pattern(var_$sumOfAges) + org.drools.model.PatternDSL.pattern(var_$sumOfAges) .expr($sumOfAges -> EvaluationUtil.greaterThanNumbers($sumOfAges, 36)), // Consequence - D.on(var_$key, var_results, var_$sumOfAges) + org.drools.model.PatternDSL.on(var_$key, var_results, var_$sumOfAges) .execute(($key, results, $sumOfAges) -> results.put($key, $sumOfAges)) ); @@ -413,26 +412,26 @@ @Test public void testSumPersonAgeGroupByInitialWithBetaFilter() throws Exception { - Global var_results = D.globalOf(Map.class, "defaultpkg", "results"); + Global var_results = org.drools.model.PatternDSL.globalOf(Map.class, "defaultpkg", "results"); - Variable var_$key = D.declarationOf(String.class); - Variable var_$p = D.declarationOf(Person.class); - Variable var_$age = D.declarationOf(Integer.class); - Variable var_$sumOfAges = D.declarationOf(Integer.class); + Variable var_$key = org.drools.model.PatternDSL.declarationOf(String.class); + Variable var_$p = org.drools.model.PatternDSL.declarationOf(Person.class); + Variable var_$age = org.drools.model.PatternDSL.declarationOf(Integer.class); + Variable var_$sumOfAges = org.drools.model.PatternDSL.declarationOf(Integer.class); - Rule rule1 = D.rule("R1").build( - D.groupBy( + Rule rule1 = org.drools.model.PatternDSL.rule("R1").build( + org.drools.model.PatternDSL.groupBy( // Patterns - D.pattern(var_$p).bind(var_$age, person -> person.getAge(), D.reactOn("age")), + org.drools.model.PatternDSL.pattern(var_$p).bind(var_$age, person -> person.getAge(), org.drools.model.PatternDSL.reactOn("age")), // Grouping Function var_$p, var_$key, person -> person.getName().substring(0, 1), // Accumulate Result (can be more than one) - D.accFunction(org.drools.core.base.accumulators.IntegerSumAccumulateFunction::new, var_$age).as(var_$sumOfAges)), + org.drools.model.PatternDSL.accFunction(org.drools.core.base.accumulators.IntegerSumAccumulateFunction::new, var_$age).as(var_$sumOfAges)), // Filter - D.pattern(var_$sumOfAges) + org.drools.model.PatternDSL.pattern(var_$sumOfAges) .expr(var_$key, ($sumOfAges, $key) -> EvaluationUtil.greaterThanNumbers($sumOfAges, $key.length())), // Consequence - D.on(var_$key, var_results, var_$sumOfAges) + org.drools.model.PatternDSL.on(var_$key, var_results, var_$sumOfAges) .execute(($key, results, $sumOfAges) -> results.put($key, $sumOfAges)) ); @@ -474,32 +473,32 @@ @Test public void testSumPersonAgeGroupByInitialWithExists() throws Exception { - final Global var_results = D.globalOf(Map.class, "defaultpkg", "results"); + final Global var_results = org.drools.model.PatternDSL.globalOf(Map.class, "defaultpkg", "results"); - final Variable var_$key = D.declarationOf(String.class); - final Variable var_$string = D.declarationOf(String.class); - final Variable var_$initial = D.declarationOf(String.class); - final Variable var_$p = D.declarationOf(Person.class); - final Variable var_$age = D.declarationOf(Integer.class); - final Variable var_$sumOfAges = D.declarationOf(Integer.class); + final Variable var_$key = org.drools.model.PatternDSL.declarationOf(String.class); + final Variable var_$string = org.drools.model.PatternDSL.declarationOf(String.class); + final Variable var_$initial = org.drools.model.PatternDSL.declarationOf(String.class); + final Variable var_$p = org.drools.model.PatternDSL.declarationOf(Person.class); + final Variable var_$age = org.drools.model.PatternDSL.declarationOf(Integer.class); + final Variable var_$sumOfAges = org.drools.model.PatternDSL.declarationOf(Integer.class); - Rule rule1 = D.rule("R1").build( - D.groupBy( + Rule rule1 = org.drools.model.PatternDSL.rule("R1").build( + org.drools.model.PatternDSL.groupBy( // Patterns - D.and( - D.pattern(var_$p) - .bind(var_$age, person -> person.getAge(), D.reactOn("age")) + org.drools.model.PatternDSL.and( + org.drools.model.PatternDSL.pattern(var_$p) + .bind(var_$age, person -> person.getAge(), org.drools.model.PatternDSL.reactOn("age")) .bind(var_$initial, person -> person.getName().substring(0, 1)), - D.exists(D.pattern(var_$string).expr(var_$initial, (_this, $initial) -> EvaluationUtil.areNullSafeEquals(_this, $initial))) + org.drools.model.PatternDSL.exists(org.drools.model.PatternDSL.pattern(var_$string).expr(var_$initial, (_this, $initial) -> EvaluationUtil.areNullSafeEquals(_this, $initial))) ), // Grouping Function var_$p, var_$key, person -> person.getName().substring(0, 1), // Accumulate Result (can be more than one) - D.accFunction(org.drools.core.base.accumulators.IntegerSumAccumulateFunction::new, var_$age).as(var_$sumOfAges)), + org.drools.model.PatternDSL.accFunction(org.drools.core.base.accumulators.IntegerSumAccumulateFunction::new, var_$age).as(var_$sumOfAges)), // Filter - D.pattern(var_$sumOfAges).expr($sumOfAges -> EvaluationUtil.greaterThanNumbers($sumOfAges, 10)), + org.drools.model.PatternDSL.pattern(var_$sumOfAges).expr($sumOfAges -> EvaluationUtil.greaterThanNumbers($sumOfAges, 10)), // Consequence - D.on(var_$key, var_results, var_$sumOfAges) + org.drools.model.PatternDSL.on(var_$key, var_results, var_$sumOfAges) .execute(($key, results, $sumOfAges) -> results.put($key, $sumOfAges)) ); @@ -559,25 +558,25 @@ @Test public void testWithNull() { - Variable var = D.declarationOf(MyType.class); - Variable groupKey = D.declarationOf(MyType.class); - Variable count = D.declarationOf(Long.class); + Variable var = org.drools.model.PatternDSL.declarationOf(MyType.class); + Variable groupKey = org.drools.model.PatternDSL.declarationOf(MyType.class); + Variable count = org.drools.model.PatternDSL.declarationOf(Long.class); AtomicInteger mappingFunctionCallCounter = new AtomicInteger(0); Function1 mappingFunction = ( a) -> { mappingFunctionCallCounter.incrementAndGet(); return a.getNested(); }; - D.PatternDef onlyOnesWithNested = D.pattern(var) + org.drools.model.PatternDSL.PatternDef onlyOnesWithNested = org.drools.model.PatternDSL.pattern(var) .expr(myType -> myType.getNested() != null); - ExprViewItem groupBy = D.groupBy(onlyOnesWithNested, var, groupKey, mappingFunction, - D.accFunction( CountAccumulateFunction::new).as(count)); + ExprViewItem groupBy = org.drools.model.PatternDSL.groupBy(onlyOnesWithNested, var, groupKey, mappingFunction, + org.drools.model.PatternDSL.accFunction( CountAccumulateFunction::new).as(count)); List result = new ArrayList<>(); - Rule rule = D.rule("R") + Rule rule = org.drools.model.PatternDSL.rule("R") .build(groupBy, - D.on(groupKey, count) + org.drools.model.PatternDSL.on(groupKey, count) .execute((drools, key, acc) -> result.add(key))); Model model = new ModelImpl().addRule( rule ); @@ -598,27 +597,27 @@ @Test public void testWithGroupByAfterExists() { - Global groupResultVar = D.globalOf(Map.class, "defaultPkg", "glob"); + Global groupResultVar = org.drools.model.PatternDSL.globalOf(Map.class, "defaultPkg", "glob"); - Variable patternVar = D.declarationOf(Integer.class); - Variable existsVar = D.declarationOf(String.class); - Variable keyVar = D.declarationOf(Integer.class); - Variable resultVar = D.declarationOf(Long.class); + Variable patternVar = org.drools.model.PatternDSL.declarationOf(Integer.class); + Variable existsVar = org.drools.model.PatternDSL.declarationOf(String.class); + Variable keyVar = org.drools.model.PatternDSL.declarationOf(Integer.class); + Variable resultVar = org.drools.model.PatternDSL.declarationOf(Long.class); - D.PatternDef pattern = D.pattern(patternVar); - D.PatternDef exist = D.pattern(existsVar); - ViewItem patternAndExists = D.and( + org.drools.model.PatternDSL.PatternDef pattern = org.drools.model.PatternDSL.pattern(patternVar); + org.drools.model.PatternDSL.PatternDef exist = org.drools.model.PatternDSL.pattern(existsVar); + ViewItem patternAndExists = org.drools.model.PatternDSL.and( pattern, - D.exists(exist)); + org.drools.model.PatternDSL.exists(exist)); - ViewItem groupBy = D.groupBy(patternAndExists, patternVar, keyVar, Math::abs, + ViewItem groupBy = org.drools.model.PatternDSL.groupBy(patternAndExists, patternVar, keyVar, Math::abs, DSL.accFunction(CountAccumulateFunction::new).as(resultVar)); - ConsequenceBuilder._3 consequence = D.on(keyVar, resultVar, groupResultVar) + ConsequenceBuilder._3 consequence = org.drools.model.PatternDSL.on(keyVar, resultVar, groupResultVar) .execute((key, count, result) -> { result.put(key, count.intValue()); }); - Rule rule = D.rule("R").build(groupBy, consequence); + Rule rule = org.drools.model.PatternDSL.rule("R").build(groupBy, consequence); Model model = new ModelImpl().addRule(rule).addGlobal( groupResultVar ); KieBase kieBase = KieBaseBuilder.createKieBaseFromModel(model); @@ -639,27 +638,27 @@ @Test public void testWithGroupByAfterExistsWithFrom() { - Global groupResultVar = D.globalOf(Map.class, "defaultPkg", "glob"); + Global groupResultVar = org.drools.model.PatternDSL.globalOf(Map.class, "defaultPkg", "glob"); - Variable patternVar = D.declarationOf(Integer.class); - Variable existsVar = D.declarationOf(String.class); - Variable keyVar = D.declarationOf(Integer.class); - Variable resultVar = D.declarationOf(Long.class); - Variable mappedResultVar = D.declarationOf(Integer.class, from(resultVar, Long::intValue)); + Variable patternVar = org.drools.model.PatternDSL.declarationOf(Integer.class); + Variable existsVar = org.drools.model.PatternDSL.declarationOf(String.class); + Variable keyVar = org.drools.model.PatternDSL.declarationOf(Integer.class); + Variable resultVar = org.drools.model.PatternDSL.declarationOf(Long.class); + Variable mappedResultVar = org.drools.model.PatternDSL.declarationOf(Integer.class, from(resultVar, Long::intValue)); - D.PatternDef pattern = D.pattern(patternVar); - D.PatternDef exist = D.pattern(existsVar); - ViewItem patternAndExists = D.and( pattern, D.exists(exist) ); + org.drools.model.PatternDSL.PatternDef pattern = org.drools.model.PatternDSL.pattern(patternVar); + org.drools.model.PatternDSL.PatternDef exist = org.drools.model.PatternDSL.pattern(existsVar); + ViewItem patternAndExists = org.drools.model.PatternDSL.and( pattern, org.drools.model.PatternDSL.exists(exist) ); - ViewItem groupBy = D.groupBy(patternAndExists, patternVar, keyVar, Math::abs, + ViewItem groupBy = org.drools.model.PatternDSL.groupBy(patternAndExists, patternVar, keyVar, Math::abs, DSL.accFunction(CountAccumulateFunction::new).as(resultVar)); - PatternDSL.PatternDef mappedResult = D.pattern(mappedResultVar); - ConsequenceBuilder._3 consequence = D.on(keyVar, mappedResultVar, groupResultVar) + PatternDSL.PatternDef mappedResult = org.drools.model.PatternDSL.pattern(mappedResultVar); + ConsequenceBuilder._3 consequence = org.drools.model.PatternDSL.on(keyVar, mappedResultVar, groupResultVar) .execute((key, count, result) -> { result.put(key, count); }); - Rule rule = D.rule("R").build(groupBy, mappedResult, consequence); + Rule rule = org.drools.model.PatternDSL.rule("R").build(groupBy, mappedResult, consequence); Model model = new ModelImpl().addRule(rule).addGlobal( groupResultVar ); KieBase kieBase = KieBaseBuilder.createKieBaseFromModel(model); @@ -680,30 +679,30 @@ @Test public void testGroupBy2Vars() throws Exception { - final Global var_results = D.globalOf(Map.class, "defaultpkg", "results"); + final Global var_results = org.drools.model.PatternDSL.globalOf(Map.class, "defaultpkg", "results"); - final Variable var_$key = D.declarationOf(String.class); - final Variable var_$p = D.declarationOf(Person.class); - final Variable var_$age = D.declarationOf(Integer.class); - final Variable var_$s = D.declarationOf(String.class); - final Variable var_$l = D.declarationOf(Integer.class); - final Variable var_$sumOfAges = D.declarationOf(Integer.class); + final Variable var_$key = org.drools.model.PatternDSL.declarationOf(String.class); + final Variable var_$p = org.drools.model.PatternDSL.declarationOf(Person.class); + final Variable var_$age = org.drools.model.PatternDSL.declarationOf(Integer.class); + final Variable var_$s = org.drools.model.PatternDSL.declarationOf(String.class); + final Variable var_$l = org.drools.model.PatternDSL.declarationOf(Integer.class); + final Variable var_$sumOfAges = org.drools.model.PatternDSL.declarationOf(Integer.class); - Rule rule1 = D.rule("R1").build( - D.groupBy( + Rule rule1 = org.drools.model.PatternDSL.rule("R1").build( + org.drools.model.PatternDSL.groupBy( // Patterns - D.and( - D.pattern(var_$p).bind(var_$age, Person::getAge, D.reactOn("age")), - D.pattern(var_$s).bind(var_$l, String::length, D.reactOn("length")) + org.drools.model.PatternDSL.and( + org.drools.model.PatternDSL.pattern(var_$p).bind(var_$age, Person::getAge, org.drools.model.PatternDSL.reactOn("age")), + org.drools.model.PatternDSL.pattern(var_$s).bind(var_$l, String::length, org.drools.model.PatternDSL.reactOn("length")) ), // Grouping Function var_$p, var_$s, var_$key, (person, string) -> person.getName().substring(0, 1) + string.length(), // Accumulate Result (can be more than one) - D.accFunction(org.drools.core.base.accumulators.IntegerSumAccumulateFunction::new, var_$age).as(var_$sumOfAges)), + org.drools.model.PatternDSL.accFunction(org.drools.core.base.accumulators.IntegerSumAccumulateFunction::new, var_$age).as(var_$sumOfAges)), // Filter - D.pattern(var_$sumOfAges).expr($sumOfAges -> EvaluationUtil.greaterThanNumbers($sumOfAges, 10)), + org.drools.model.PatternDSL.pattern(var_$sumOfAges).expr($sumOfAges -> EvaluationUtil.greaterThanNumbers($sumOfAges, 10)), // Consequence - D.on(var_$key, var_results, var_$sumOfAges) + org.drools.model.PatternDSL.on(var_$key, var_results, var_$sumOfAges) .execute(($key, results, $sumOfAges) -> results.put($key, $sumOfAges)) ); @@ -753,26 +752,26 @@ @Test public void testUnexpectedRuleMatch() { - final Global var_results = D.globalOf(List.class, "defaultpkg", "results"); + final Global var_results = org.drools.model.PatternDSL.globalOf(List.class, "defaultpkg", "results"); // $a: Parent() - Variable patternVar = D.declarationOf(Parent.class); - PatternDSL.PatternDef pattern = D.pattern(patternVar); + Variable patternVar = org.drools.model.PatternDSL.declarationOf(Parent.class); + PatternDSL.PatternDef pattern = org.drools.model.PatternDSL.pattern(patternVar); // exists Child($a.getChild() == this) - Variable existsPatternVar = D.declarationOf(Child.class); - PatternDSL.PatternDef existsPattern = D.pattern(existsPatternVar) + Variable existsPatternVar = org.drools.model.PatternDSL.declarationOf(Child.class); + PatternDSL.PatternDef existsPattern = org.drools.model.PatternDSL.pattern(existsPatternVar) .expr(patternVar, (child, parent) -> Objects.equals(parent.getChild(), child)); // count(Parent::getChild) - Variable groupKeyVar = D.declarationOf(Child.class); - Variable accumulateResult = D.declarationOf(Long.class); - ExprViewItem groupBy = PatternDSL.groupBy(D.and(pattern, D.exists(existsPattern)), + Variable groupKeyVar = org.drools.model.PatternDSL.declarationOf(Child.class); + Variable accumulateResult = org.drools.model.PatternDSL.declarationOf(Long.class); + ExprViewItem groupBy = PatternDSL.groupBy(org.drools.model.PatternDSL.and(pattern, org.drools.model.PatternDSL.exists(existsPattern)), patternVar, groupKeyVar, Parent::getChild, DSL.accFunction(CountAccumulateFunction::new).as(accumulateResult)); - Rule rule1 = D.rule("R1").build(groupBy, - D.on(var_results, groupKeyVar, accumulateResult) + Rule rule1 = org.drools.model.PatternDSL.rule("R1").build(groupBy, + org.drools.model.PatternDSL.on(var_results, groupKeyVar, accumulateResult) .execute((results, $child, $count) -> results.add(Arrays.asList($child, $count)))); Model model = new ModelImpl().addRule(rule1).addGlobal(var_results); @@ -791,7 +790,7 @@ FactHandle toRemove = ksession.insert(child1); ksession.insert(child2); - // Remove child1, therefore it does not exist, therefore there should be no groupBy matches for the child. + // Remove child1, therefore it does not exist, therefore there should be no groupBy matches for the chilorg.drools.model.PatternDSL. ksession.delete(toRemove); // Yet, we still get (Child1, 0). @@ -802,31 +801,31 @@ @Test public void testCompositeKey() throws Exception { - Global var_results = D.globalOf(Map.class, "defaultpkg", "results"); + Global var_results = org.drools.model.PatternDSL.globalOf(Map.class, "defaultpkg", "results"); - Variable var_$key = D.declarationOf(CompositeKey.class); - Variable var_$p = D.declarationOf(Person.class); - Variable var_$age = D.declarationOf(Integer.class); - Variable var_$sumOfAges = D.declarationOf(Integer.class); + Variable var_$key = org.drools.model.PatternDSL.declarationOf(CompositeKey.class); + Variable var_$p = org.drools.model.PatternDSL.declarationOf(Person.class); + Variable var_$age = org.drools.model.PatternDSL.declarationOf(Integer.class); + Variable var_$sumOfAges = org.drools.model.PatternDSL.declarationOf(Integer.class); // Define key1 with from - Variable var_$key1 = D.declarationOf( Object.class, from( var_$key, CompositeKey::getKey1 ) ); + Variable var_$key1 = org.drools.model.PatternDSL.declarationOf( Object.class, from( var_$key, CompositeKey::getKey1 ) ); - Rule rule1 = D.rule("R1").build( - D.groupBy( + Rule rule1 = org.drools.model.PatternDSL.rule("R1").build( + org.drools.model.PatternDSL.groupBy( // Patterns - D.pattern(var_$p).bind(var_$age, person -> person.getAge(), D.reactOn("age")), + org.drools.model.PatternDSL.pattern(var_$p).bind(var_$age, person -> person.getAge(), org.drools.model.PatternDSL.reactOn("age")), // Grouping Function var_$p, var_$key, person -> new CompositeKey( person.getName().substring(0, 1), 1 ), // Accumulate Result (can be more than one) - D.accFunction(org.drools.core.base.accumulators.IntegerSumAccumulateFunction::new, var_$age).as(var_$sumOfAges)), + org.drools.model.PatternDSL.accFunction(org.drools.core.base.accumulators.IntegerSumAccumulateFunction::new, var_$age).as(var_$sumOfAges)), // Filter - D.pattern(var_$sumOfAges) + org.drools.model.PatternDSL.pattern(var_$sumOfAges) .expr($sumOfAges -> EvaluationUtil.greaterThanNumbers($sumOfAges, 10)), // Bind key1 - D.pattern( var_$key1 ), + org.drools.model.PatternDSL.pattern( var_$key1 ), // Consequence - D.on(var_$key1, var_results, var_$sumOfAges) + org.drools.model.PatternDSL.on(var_$key1, var_results, var_$sumOfAges) .execute(($key1, results, $sumOfAges) -> results.put($key1, $sumOfAges)) ); @@ -909,28 +908,28 @@ @Test public void testTwoExpressionsOnSecondPattern() { // DROOLS-5704 - Global var_results = D.globalOf(Set.class, "defaultpkg", "results"); + Global var_results = org.drools.model.PatternDSL.globalOf(Set.class, "defaultpkg", "results"); - Variable var_$p1 = D.declarationOf(Person.class); - Variable var_$p2 = D.declarationOf(Person.class); - Variable var_$key = D.declarationOf(Integer.class); - Variable var_$join = D.declarationOf(Integer.class); + Variable var_$p1 = org.drools.model.PatternDSL.declarationOf(Person.class); + Variable var_$p2 = org.drools.model.PatternDSL.declarationOf(Person.class); + Variable var_$key = org.drools.model.PatternDSL.declarationOf(Integer.class); + Variable var_$join = org.drools.model.PatternDSL.declarationOf(Integer.class); - PatternDSL.PatternDef p1pattern = D.pattern(var_$p1) + PatternDSL.PatternDef p1pattern = org.drools.model.PatternDSL.pattern(var_$p1) .bind(var_$join, Person::getAge); - PatternDSL.PatternDef p2pattern = D.pattern(var_$p2) + PatternDSL.PatternDef p2pattern = org.drools.model.PatternDSL.pattern(var_$p2) .expr(p -> true) .expr("Age less than", var_$join, (p1, age) -> p1.getAge() > age, - D.betaIndexedBy(Integer.class, Index.ConstraintType.LESS_THAN, 0, Person::getAge, age -> age)); + org.drools.model.PatternDSL.betaIndexedBy(Integer.class, Index.ConstraintType.LESS_THAN, 0, Person::getAge, age -> age)); - Rule rule1 = D.rule("R1").build( - D.groupBy( - D.and(p1pattern, p2pattern), + Rule rule1 = org.drools.model.PatternDSL.rule("R1").build( + org.drools.model.PatternDSL.groupBy( + org.drools.model.PatternDSL.and(p1pattern, p2pattern), var_$p1, var_$p2, var_$key, (p1, p2) -> p1.getAge() + p2.getAge()), - D.on(var_results, var_$key) + org.drools.model.PatternDSL.on(var_results, var_$key) .execute(Set::add) ); @@ -950,27 +949,27 @@ @Test public void testFromAfterGroupBy() { - Global var_results = D.globalOf( Set.class, "defaultpkg", "results" ); + Global var_results = org.drools.model.PatternDSL.globalOf( Set.class, "defaultpkg", "results" ); - Variable var_$p1 = D.declarationOf( Person.class ); - Variable var_$key = D.declarationOf( String.class ); - Variable var_$count = D.declarationOf( Long.class ); - Variable var_$remapped1 = D.declarationOf( Object.class, from( var_$key ) ); - Variable var_$remapped2 = D.declarationOf( Long.class, from( var_$count ) ); + Variable var_$p1 = org.drools.model.PatternDSL.declarationOf( Person.class ); + Variable var_$key = org.drools.model.PatternDSL.declarationOf( String.class ); + Variable var_$count = org.drools.model.PatternDSL.declarationOf( Long.class ); + Variable var_$remapped1 = org.drools.model.PatternDSL.declarationOf( Object.class, from( var_$key ) ); + Variable var_$remapped2 = org.drools.model.PatternDSL.declarationOf( Long.class, from( var_$count ) ); - PatternDSL.PatternDef p1pattern = D.pattern( var_$p1 ) + PatternDSL.PatternDef p1pattern = org.drools.model.PatternDSL.pattern( var_$p1 ) .expr( p -> (( Person ) p).getName() != null ); - Rule rule1 = D.rule( "R1" ).build( - D.groupBy( + Rule rule1 = org.drools.model.PatternDSL.rule( "R1" ).build( + org.drools.model.PatternDSL.groupBy( p1pattern, var_$p1, var_$key, Person::getName, DSL.accFunction( CountAccumulateFunction::new, var_$p1 ).as( var_$count ) ), - D.pattern( var_$remapped1 ), - D.pattern( var_$remapped2 ), - D.on( var_$remapped1, var_$remapped2 ) + org.drools.model.PatternDSL.pattern( var_$remapped1 ), + org.drools.model.PatternDSL.pattern( var_$remapped2 ), + org.drools.model.PatternDSL.on( var_$remapped1, var_$remapped2 ) .execute( ( ctx, name, count ) -> { if ( !(name instanceof String) ) { throw new IllegalStateException( "Name not String, but " + name.getClass() ); @@ -993,28 +992,28 @@ @Test public void testGroupByUpdatingKey() throws Exception { - Global var_results = D.globalOf(Map.class, "defaultpkg", "results"); + Global var_results = org.drools.model.PatternDSL.globalOf(Map.class, "defaultpkg", "results"); - Variable var_$key = D.declarationOf(String.class); - Variable var_$p = D.declarationOf(Person.class); - Variable var_$age = D.declarationOf(Integer.class); - Variable var_$sumOfAges = D.declarationOf(Integer.class); - Variable var_$countOfPersons = D.declarationOf(Long.class); + Variable var_$key = org.drools.model.PatternDSL.declarationOf(String.class); + Variable var_$p = org.drools.model.PatternDSL.declarationOf(Person.class); + Variable var_$age = org.drools.model.PatternDSL.declarationOf(Integer.class); + Variable var_$sumOfAges = org.drools.model.PatternDSL.declarationOf(Integer.class); + Variable var_$countOfPersons = org.drools.model.PatternDSL.declarationOf(Long.class); - Rule rule1 = D.rule("R1").build( - D.groupBy( + Rule rule1 = org.drools.model.PatternDSL.rule("R1").build( + org.drools.model.PatternDSL.groupBy( // Patterns - D.pattern(var_$p).bind(var_$age, person -> person.getAge(), D.reactOn("age")), + org.drools.model.PatternDSL.pattern(var_$p).bind(var_$age, person -> person.getAge(), org.drools.model.PatternDSL.reactOn("age")), // Grouping Function var_$p, var_$key, person -> person.getName().substring(0, 1), // Accumulate Result (can be more than one) - D.accFunction(org.drools.core.base.accumulators.IntegerSumAccumulateFunction::new, var_$age).as(var_$sumOfAges), - D.accFunction(org.drools.core.base.accumulators.CountAccumulateFunction::new).as(var_$countOfPersons)), + org.drools.model.PatternDSL.accFunction(org.drools.core.base.accumulators.IntegerSumAccumulateFunction::new, var_$age).as(var_$sumOfAges), + org.drools.model.PatternDSL.accFunction(org.drools.core.base.accumulators.CountAccumulateFunction::new).as(var_$countOfPersons)), // Filter - D.pattern(var_$sumOfAges) + org.drools.model.PatternDSL.pattern(var_$sumOfAges) .expr($sumOfAges -> EvaluationUtil.greaterThanNumbers($sumOfAges, 10)), // Consequence - D.on(var_$key, var_results, var_$sumOfAges, var_$countOfPersons) + org.drools.model.PatternDSL.on(var_$key, var_results, var_$sumOfAges, var_$countOfPersons) .execute(($key, results, $sumOfAges, $countOfPersons) -> results.put($key, $sumOfAges + $countOfPersons.intValue())) ); @@ -1049,22 +1048,22 @@ @Test public void doesNotRemoveProperly() { - Global var_results = D.globalOf( Set.class, "defaultpkg", "results" ); + Global var_results = org.drools.model.PatternDSL.globalOf( Set.class, "defaultpkg", "results" ); - Variable var_$p1 = D.declarationOf( Person.class ); - Variable var_$key = D.declarationOf( Integer.class ); + Variable var_$p1 = org.drools.model.PatternDSL.declarationOf( Person.class ); + Variable var_$key = org.drools.model.PatternDSL.declarationOf( Integer.class ); - PatternDSL.PatternDef p1pattern = D.pattern( var_$p1 ) + PatternDSL.PatternDef p1pattern = org.drools.model.PatternDSL.pattern( var_$p1 ) .expr( p -> p.getName() != null ); Set results = new LinkedHashSet<>(); - Rule rule1 = D.rule( "R1" ).build( - D.groupBy( + Rule rule1 = org.drools.model.PatternDSL.rule( "R1" ).build( + org.drools.model.PatternDSL.groupBy( p1pattern, var_$p1, var_$key, Person::getAge), - D.on( var_$key ) + org.drools.model.PatternDSL.on( var_$key ) .execute( ( ctx, key ) -> { results.add(key); } ) @@ -1118,28 +1117,28 @@ @Test public void testTwoGroupBy() { // DROOLS-5697 - Global var_results = D.globalOf(Map.class, "defaultpkg", "results"); + Global var_results = org.drools.model.PatternDSL.globalOf(Map.class, "defaultpkg", "results"); - Variable var_$key_1 = D.declarationOf(String.class); - Variable var_$p = D.declarationOf(Person.class); - Variable var_$age = D.declarationOf(Integer.class); - Variable var_$sumOfAges = D.declarationOf(Integer.class); - Variable var_$g1 = D.declarationOf(Group.class, "$g1", D.from(var_$key_1, var_$sumOfAges, ($k, $v) -> new Group($k, $v))); - Variable var_$g1_value = D.declarationOf(Integer.class); - Variable var_$key_2 = D.declarationOf(String.class); - Variable var_$maxOfValues = D.declarationOf(Integer.class); + Variable var_$key_1 = org.drools.model.PatternDSL.declarationOf(String.class); + Variable var_$p = org.drools.model.PatternDSL.declarationOf(Person.class); + Variable var_$age = org.drools.model.PatternDSL.declarationOf(Integer.class); + Variable var_$sumOfAges = org.drools.model.PatternDSL.declarationOf(Integer.class); + Variable var_$g1 = org.drools.model.PatternDSL.declarationOf(Group.class, "$g1", org.drools.model.PatternDSL.from(var_$key_1, var_$sumOfAges, ($k, $v) -> new Group($k, $v))); + Variable var_$g1_value = org.drools.model.PatternDSL.declarationOf(Integer.class); + Variable var_$key_2 = org.drools.model.PatternDSL.declarationOf(String.class); + Variable var_$maxOfValues = org.drools.model.PatternDSL.declarationOf(Integer.class); - Rule rule1 = D.rule("R1").build( - D.groupBy( - D.and( - D.groupBy( - D.pattern(var_$p).bind(var_$age, person -> person.getAge()), + Rule rule1 = org.drools.model.PatternDSL.rule("R1").build( + org.drools.model.PatternDSL.groupBy( + org.drools.model.PatternDSL.and( + org.drools.model.PatternDSL.groupBy( + org.drools.model.PatternDSL.pattern(var_$p).bind(var_$age, person -> person.getAge()), var_$p, var_$key_1, person -> person.getName().substring(0, 3), - D.accFunction( IntegerSumAccumulateFunction::new, var_$age).as(var_$sumOfAges)), - D.pattern(var_$g1).bind(var_$g1_value, group -> (Integer) group.getValue()) ), + org.drools.model.PatternDSL.accFunction( IntegerSumAccumulateFunction::new, var_$age).as(var_$sumOfAges)), + org.drools.model.PatternDSL.pattern(var_$g1).bind(var_$g1_value, group -> (Integer) group.getValue()) ), var_$g1, var_$key_2, groupResult -> ((String)groupResult.getKey()).substring(0, 2), - D.accFunction( IntegerMaxAccumulateFunction::new, var_$g1_value).as(var_$maxOfValues)), - D.on(var_$key_2, var_results, var_$maxOfValues) + org.drools.model.PatternDSL.accFunction( IntegerMaxAccumulateFunction::new, var_$g1_value).as(var_$maxOfValues)), + org.drools.model.PatternDSL.on(var_$key_2, var_results, var_$maxOfValues) .execute(($key, results, $maxOfValues) -> { System.out.println($key + " -> " + $maxOfValues); results.put($key, $maxOfValues); Index: drools-model/drools-model-compiler/src/test/java/org/drools/modelcompiler/PatternDSLTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/drools-model/drools-model-compiler/src/test/java/org/drools/modelcompiler/PatternDSLTest.java b/drools-model/drools-model-compiler/src/test/java/org/drools/modelcompiler/PatternDSLTest.java --- a/drools-model/drools-model-compiler/src/test/java/org/drools/modelcompiler/PatternDSLTest.java (revision 79cc7aafb01a7ddf57b76470c92e40cfd14111e9) +++ b/drools-model/drools-model-compiler/src/test/java/org/drools/modelcompiler/PatternDSLTest.java (revision b265f2ad16454502ed8f7bec590e35eed3ef92e1) @@ -50,7 +50,6 @@ import org.drools.modelcompiler.domain.StockTick; import org.drools.modelcompiler.domain.Toy; import org.drools.modelcompiler.domain.Woman; -import org.drools.modelcompiler.dsl.pattern.D; import org.junit.Test; import org.kie.api.KieBase; import org.kie.api.KieServices; @@ -290,10 +289,10 @@ Variable resultSum = declarationOf(Integer.class); Variable constant = declarationOf(Integer.class); - Rule rule = D.rule("X").build(D.accumulate(D.pattern(person).expr((_this) -> _this.getName().startsWith("M")), - D.accFunction(org.drools.core.base.accumulators.IntegerSumAccumulateFunction.class, + Rule rule = org.drools.model.PatternDSL.rule("X").build(org.drools.model.PatternDSL.accumulate(org.drools.model.PatternDSL.pattern(person).expr((_this) -> _this.getName().startsWith("M")), + org.drools.model.PatternDSL.accFunction(org.drools.core.base.accumulators.IntegerSumAccumulateFunction.class, valueOf(2)).as(resultSum)), - D.on(resultSum).execute((drools, $sum) -> result.setValue("total = " + $sum))); + org.drools.model.PatternDSL.on(resultSum).execute((drools, $sum) -> result.setValue("total = " + $sum))); Model model = new ModelImpl().addRule(rule); KieBase kieBase = KieBaseBuilder.createKieBaseFromModel(model); @@ -681,30 +680,30 @@ int.class, "$age"); - org.drools.model.Query peeps_build = queryDef_peeps.build(D.pattern(queryDef_peeps.getArg1(), D.from(queryDef_peeps.getArg2(), queryDef_peeps.getArg3(), ($name, $age) -> new Person($name, $age)))); + org.drools.model.Query peeps_build = queryDef_peeps.build(org.drools.model.PatternDSL.pattern(queryDef_peeps.getArg1(), org.drools.model.PatternDSL.from(queryDef_peeps.getArg2(), queryDef_peeps.getArg3(), ($name, $age) -> new Person($name, $age)))); - final org.drools.model.Variable var_$n1 = D.declarationOf(java.lang.String.class, + final org.drools.model.Variable var_$n1 = org.drools.model.PatternDSL.declarationOf(java.lang.String.class, "$n1"); - final org.drools.model.Variable var_$pattern_Person$2$ = D.declarationOf(org.drools.modelcompiler.domain.Person.class, + final org.drools.model.Variable var_$pattern_Person$2$ = org.drools.model.PatternDSL.declarationOf(org.drools.modelcompiler.domain.Person.class, "$pattern_Person$2$"); - final org.drools.model.Variable var_$p = D.declarationOf(org.drools.modelcompiler.domain.Person.class, + final org.drools.model.Variable var_$p = org.drools.model.PatternDSL.declarationOf(org.drools.modelcompiler.domain.Person.class, "$p"); - org.drools.model.Rule rule = D.rule("org.drools.compiler.test", - "x1").build(D.pattern(var_$n1), - D.not(D.pattern(var_$pattern_Person$2$).expr("$expr$2$", + org.drools.model.Rule rule = org.drools.model.PatternDSL.rule("org.drools.compiler.test", + "x1").build(org.drools.model.PatternDSL.pattern(var_$n1), + org.drools.model.PatternDSL.not(org.drools.model.PatternDSL.pattern(var_$pattern_Person$2$).expr("$expr$2$", (_this) -> org.drools.modelcompiler.util.EvaluationUtil.areNullSafeEquals(_this.getName(), "darth"), - D.alphaIndexedBy(java.lang.String.class, + org.drools.model.PatternDSL.alphaIndexedBy(java.lang.String.class, org.drools.model.Index.ConstraintType.EQUAL, 0, _this -> _this.getName(), "darth"), - D.reactOn("name"))), + org.drools.model.PatternDSL.reactOn("name"))), queryDef_peeps.call(true, var_$p, var_$n1, - D.valueOf(100)), - D.on(var_list, + org.drools.model.PatternDSL.valueOf(100)), + org.drools.model.PatternDSL.on(var_list, var_$p).execute((list, $p) -> { list.add($p); })); @@ -727,16 +726,16 @@ @Test public void testDynamicSalienceOnGlobal() { - Global var_salience1 = D.globalOf(AtomicInteger.class, "defaultpkg", "salience1"); - Global var_salience2 = D.globalOf(AtomicInteger.class, "defaultpkg", "salience2"); - Global var_list = D.globalOf(List.class, "defaultpkg", "list"); + Global var_salience1 = org.drools.model.PatternDSL.globalOf(AtomicInteger.class, "defaultpkg", "salience1"); + Global var_salience2 = org.drools.model.PatternDSL.globalOf(AtomicInteger.class, "defaultpkg", "salience2"); + Global var_list = org.drools.model.PatternDSL.globalOf(List.class, "defaultpkg", "list"); - Variable var_$i = D.declarationOf(Integer.class, "$i"); + Variable var_$i = org.drools.model.PatternDSL.declarationOf(Integer.class, "$i"); - Rule rule1 = D.rule("R1") + Rule rule1 = org.drools.model.PatternDSL.rule("R1") .attribute(Rule.Attribute.SALIENCE, supply( var_salience1, salience1 -> salience1.get() )) - .build(D.pattern(var_$i), - D.on(var_$i, + .build(org.drools.model.PatternDSL.pattern(var_$i), + org.drools.model.PatternDSL.on(var_$i, var_salience1, var_list).execute((drools, $i, salience1, list) -> { drools.delete($i); @@ -744,10 +743,10 @@ list.add(1); })); - Rule rule2 = D.rule("R2") + Rule rule2 = org.drools.model.PatternDSL.rule("R2") .attribute(Rule.Attribute.SALIENCE, supply( var_salience2, salience2 -> salience2.get() )) - .build(D.pattern(var_$i), - D.on(var_$i, + .build(org.drools.model.PatternDSL.pattern(var_$i), + org.drools.model.PatternDSL.on(var_$i, var_list, var_salience2).execute((drools, $i, list, salience2) -> { drools.delete($i); @@ -777,23 +776,23 @@ @Test public void testDynamicSalienceOnDeclarations() { - Global var_list = D.globalOf( List.class, "defaultpkg", "list" ); + Global var_list = org.drools.model.PatternDSL.globalOf( List.class, "defaultpkg", "list" ); - Variable var_$i = D.declarationOf(Integer.class, "$i" ); - Variable var_$s = D.declarationOf(String.class, "$s"); + Variable var_$i = org.drools.model.PatternDSL.declarationOf(Integer.class, "$i" ); + Variable var_$s = org.drools.model.PatternDSL.declarationOf(String.class, "$s"); - Rule rule1 = D.rule("R1") + Rule rule1 = org.drools.model.PatternDSL.rule("R1") .attribute(Rule.Attribute.SALIENCE, supply(var_$s, s -> s.length())) - .build(D.pattern(var_$s), - D.on(var_list, + .build(org.drools.model.PatternDSL.pattern(var_$s), + org.drools.model.PatternDSL.on(var_list, var_$s).execute((list, $s) -> { list.add($s); })); - Rule rule2 = D.rule("R2") + Rule rule2 = org.drools.model.PatternDSL.rule("R2") .attribute(Rule.Attribute.SALIENCE, supply(var_$i, i -> i)) - .build(D.pattern(var_$i), - D.on(var_$i, + .build(org.drools.model.PatternDSL.pattern(var_$i), + org.drools.model.PatternDSL.on(var_$i, var_list).execute(($i, list) -> { list.add($i); })); @@ -948,23 +947,23 @@ @Test public void testBetaIndexOn2ValuesOnLeftTuple() { - final Variable var_$integer = D.declarationOf(Integer.class); - final Variable var_$i = D.declarationOf(Integer.class); - final Variable var_$string = D.declarationOf(String.class); - final Variable var_$l = D.declarationOf(Integer.class); - final Variable var_$p = D.declarationOf(Person.class); + final Variable var_$integer = org.drools.model.PatternDSL.declarationOf(Integer.class); + final Variable var_$i = org.drools.model.PatternDSL.declarationOf(Integer.class); + final Variable var_$string = org.drools.model.PatternDSL.declarationOf(String.class); + final Variable var_$l = org.drools.model.PatternDSL.declarationOf(Integer.class); + final Variable var_$p = org.drools.model.PatternDSL.declarationOf(Person.class); - Rule rule = D.rule("R1").build(D.pattern(var_$integer).bind(var_$i, + Rule rule = org.drools.model.PatternDSL.rule("R1").build(org.drools.model.PatternDSL.pattern(var_$integer).bind(var_$i, (Integer _this) -> _this), - D.pattern(var_$string).bind(var_$l, + org.drools.model.PatternDSL.pattern(var_$string).bind(var_$l, (String _this) -> _this.length()), - D.pattern(var_$p).expr("8EF302358D7EE770A4D874DF4B3327D2", + org.drools.model.PatternDSL.pattern(var_$p).expr("8EF302358D7EE770A4D874DF4B3327D2", var_$l, var_$i, (_this, $l, $i) -> org.drools.modelcompiler.util.EvaluationUtil.areNumbersNullSafeEquals(_this.getAge(), $l + $i), - D.betaIndexedBy(int.class, Index.ConstraintType.EQUAL, 3, Person::getAge, ($l, $i) -> $l + $i, int.class), - D.reactOn("age")), - D.execute(() -> { }) + org.drools.model.PatternDSL.betaIndexedBy(int.class, Index.ConstraintType.EQUAL, 3, Person::getAge, ($l, $i) -> $l + $i, int.class), + org.drools.model.PatternDSL.reactOn("age")), + org.drools.model.PatternDSL.execute(() -> { }) ); Model model = new ModelImpl().addRule(rule); Index: drools-model/drools-model-compiler/src/test/resources/logback-test.xml IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/drools-model/drools-model-compiler/src/test/resources/logback-test.xml b/drools-model/drools-model-compiler/src/test/resources/logback-test.xml --- a/drools-model/drools-model-compiler/src/test/resources/logback-test.xml (revision 79cc7aafb01a7ddf57b76470c92e40cfd14111e9) +++ b/drools-model/drools-model-compiler/src/test/resources/logback-test.xml (revision b265f2ad16454502ed8f7bec590e35eed3ef92e1) @@ -10,7 +10,7 @@ - +