Skip to content

Commit 1abfdee

Browse files
committed
Merge branch 'main' into flowable-release-7.3.0
2 parents 7967b07 + d90d564 commit 1abfdee

File tree

22 files changed

+171
-434
lines changed

22 files changed

+171
-434
lines changed

modules/flowable-dmn-engine/src/main/java/org/flowable/dmn/engine/DmnEngineConfiguration.java

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -71,16 +71,9 @@
7171
import org.flowable.dmn.engine.impl.deployer.DmnDeployer;
7272
import org.flowable.dmn.engine.impl.deployer.DmnDeploymentHelper;
7373
import org.flowable.dmn.engine.impl.deployer.ParsedDeploymentBuilderFactory;
74+
import org.flowable.dmn.engine.impl.el.CollectionsFunctionDelegate;
7475
import org.flowable.dmn.engine.impl.el.FlowableAddDateFunctionDelegate;
75-
import org.flowable.dmn.engine.impl.el.FlowableAllOfFunctionDelegate;
76-
import org.flowable.dmn.engine.impl.el.FlowableAnyOfFunctionDelegate;
77-
import org.flowable.dmn.engine.impl.el.FlowableContainsAnyFunctionDelegate;
78-
import org.flowable.dmn.engine.impl.el.FlowableContainsFunctionDelegate;
7976
import org.flowable.dmn.engine.impl.el.FlowableCurrentDateFunctionDelegate;
80-
import org.flowable.dmn.engine.impl.el.FlowableNoneOfFunctionDelegate;
81-
import org.flowable.dmn.engine.impl.el.FlowableNotAllOfFunctionDelegate;
82-
import org.flowable.dmn.engine.impl.el.FlowableNotContainsAnyFunctionDelegate;
83-
import org.flowable.dmn.engine.impl.el.FlowableNotContainsFunctionDelegate;
8477
import org.flowable.dmn.engine.impl.el.FlowableSubtractDateFunctionDelegate;
8578
import org.flowable.dmn.engine.impl.el.FlowableToDateFunctionDelegate;
8679
import org.flowable.dmn.engine.impl.hitpolicy.AbstractHitPolicy;
@@ -414,15 +407,7 @@ public void initFunctionDelegates() {
414407
this.flowableFunctionDelegates.add(new FlowableAddDateFunctionDelegate());
415408
this.flowableFunctionDelegates.add(new FlowableCurrentDateFunctionDelegate());
416409
// collections
417-
this.flowableFunctionDelegates.add(new FlowableAllOfFunctionDelegate());
418-
this.flowableFunctionDelegates.add(new FlowableNoneOfFunctionDelegate());
419-
this.flowableFunctionDelegates.add(new FlowableAnyOfFunctionDelegate());
420-
this.flowableFunctionDelegates.add(new FlowableNotAllOfFunctionDelegate());
421-
// deprecated collections
422-
this.flowableFunctionDelegates.add(new FlowableContainsFunctionDelegate());
423-
this.flowableFunctionDelegates.add(new FlowableNotContainsFunctionDelegate());
424-
this.flowableFunctionDelegates.add(new FlowableContainsAnyFunctionDelegate());
425-
this.flowableFunctionDelegates.add(new FlowableNotContainsAnyFunctionDelegate());
410+
this.flowableFunctionDelegates.add(new CollectionsFunctionDelegate());
426411
}
427412

428413
if (this.customFlowableFunctionDelegates != null) {
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
/* Licensed under the Apache License, Version 2.0 (the "License");
2+
* you may not use this file except in compliance with the License.
3+
* You may obtain a copy of the License at
4+
*
5+
* http://www.apache.org/licenses/LICENSE-2.0
6+
*
7+
* Unless required by applicable law or agreed to in writing, software
8+
* distributed under the License is distributed on an "AS IS" BASIS,
9+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10+
* See the License for the specific language governing permissions and
11+
* limitations under the License.
12+
*/
13+
package org.flowable.dmn.engine.impl.el;
14+
15+
import java.lang.reflect.Method;
16+
import java.util.Collection;
17+
import java.util.List;
18+
19+
import org.flowable.common.engine.api.delegate.FlowableMultiFunctionDelegate;
20+
import org.flowable.dmn.engine.impl.el.util.CollectionUtil;
21+
22+
/**
23+
* Collections functions mapper that can be used in EL expressions. It provides the following expressions:
24+
* <ul>
25+
* <li><code>collection:allOf(collection, value)</code></li>
26+
* <li><code>collection:anyOf(collection, value)</code></li>
27+
* <li><code>collection:noneOf(collection, value)</code></li>
28+
* <li><code>collection:notAllOf(collection, value)</code></li>
29+
*
30+
* <li><code>collection:containsAny(collection, value)</code></li>
31+
* <li><code>collection:contains(collection, value)</code></li>
32+
* <li><code>collection:notContainsAny(collection, value)</code></li>
33+
* <li><code>collection:notContains(collection, value)</code></li>
34+
* </ul>
35+
* @author Filip Hrisafov
36+
*/
37+
public class CollectionsFunctionDelegate implements FlowableMultiFunctionDelegate {
38+
39+
@Override
40+
public String prefix() {
41+
return "collection";
42+
}
43+
44+
@Override
45+
public Collection<String> localNames() {
46+
return List.of(
47+
"allOf",
48+
"anyOf",
49+
"noneOf",
50+
"notAllOf",
51+
52+
// deprecated
53+
"containsAny",
54+
"contains",
55+
"notContainsAny",
56+
"notContains"
57+
);
58+
}
59+
60+
@Override
61+
public Method functionMethod(String prefix, String localName) throws NoSuchMethodException {
62+
return CollectionUtil.class.getDeclaredMethod(localName, Object.class, Object.class);
63+
}
64+
}

modules/flowable-dmn-engine/src/main/java/org/flowable/dmn/engine/impl/el/FlowableAllOfFunctionDelegate.java

Lines changed: 0 additions & 48 deletions
This file was deleted.

modules/flowable-dmn-engine/src/main/java/org/flowable/dmn/engine/impl/el/FlowableAnyOfFunctionDelegate.java

Lines changed: 0 additions & 48 deletions
This file was deleted.

modules/flowable-dmn-engine/src/main/java/org/flowable/dmn/engine/impl/el/FlowableContainsAnyFunctionDelegate.java

Lines changed: 0 additions & 48 deletions
This file was deleted.

modules/flowable-dmn-engine/src/main/java/org/flowable/dmn/engine/impl/el/FlowableContainsFunctionDelegate.java

Lines changed: 0 additions & 48 deletions
This file was deleted.

modules/flowable-dmn-engine/src/main/java/org/flowable/dmn/engine/impl/el/FlowableNoneOfFunctionDelegate.java

Lines changed: 0 additions & 48 deletions
This file was deleted.

modules/flowable-dmn-engine/src/main/java/org/flowable/dmn/engine/impl/el/FlowableNotAllOfFunctionDelegate.java

Lines changed: 0 additions & 48 deletions
This file was deleted.

0 commit comments

Comments
 (0)