Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit8399ff3

Browse files
authored
Merge pull request#647 from fjtirado/Fix_combine
Ensure not workflowmodel is returned within a Map or Collection
2 parentsf08c840 +70e4f52 commit8399ff3

File tree

3 files changed

+23
-7
lines changed

3 files changed

+23
-7
lines changed

‎experimental/lambda/src/main/java/io/serverlessworkflow/impl/expressions/JavaModel.java

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,12 @@
2121
importjava.util.Collection;
2222
importjava.util.Collections;
2323
importjava.util.Map;
24+
importjava.util.Map.Entry;
2425
importjava.util.Optional;
2526
importjava.util.function.BiConsumer;
27+
importjava.util.stream.Collectors;
2628

27-
publicclassJavaModelimplementsWorkflowModel {
29+
classJavaModelimplementsWorkflowModel {
2830

2931
privateObjectobject;
3032

@@ -33,7 +35,7 @@ public class JavaModel implements WorkflowModel {
3335
staticfinalJavaModelNullModel =newJavaModel(null);
3436

3537
JavaModel(Objectobject) {
36-
this.object =object;
38+
this.object =asJavaObject(object);
3739
}
3840

3941
@Override
@@ -89,6 +91,20 @@ public Object asJavaObject() {
8991
returnobject;
9092
}
9193

94+
staticObjectasJavaObject(Objectobject) {
95+
if (objectinstanceofWorkflowModelmodel) {
96+
returnmodel.asJavaObject();
97+
}elseif (objectinstanceofMapmap) {
98+
return ((Map<String,Object>)map)
99+
.entrySet().stream()
100+
.collect(Collectors.toMap(Entry::getKey,e ->asJavaObject(e.getValue())));
101+
}elseif (objectinstanceofCollectioncol) {
102+
returncol.stream().map(JavaModel::asJavaObject).collect(Collectors.toList());
103+
}else {
104+
returnobject;
105+
}
106+
}
107+
92108
@Override
93109
publicObjectasIs() {
94110
returnobject;

‎experimental/lambda/src/main/java/io/serverlessworkflow/impl/expressions/JavaModelCollection.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
importjava.util.Iterator;
2323
importjava.util.Optional;
2424

25-
publicclassJavaModelCollectionimplementsCollection<WorkflowModel>,WorkflowModelCollection {
25+
classJavaModelCollectionimplementsCollection<WorkflowModel>,WorkflowModelCollection {
2626

2727
privatefinalCollectionobject;
2828

@@ -31,7 +31,7 @@ public class JavaModelCollection implements Collection<WorkflowModel>, WorkflowM
3131
}
3232

3333
JavaModelCollection(Collection<?>object) {
34-
this.object =object;
34+
this.object =(Collection)JavaModel.asJavaObject(object);
3535
}
3636

3737
@Override
@@ -86,12 +86,12 @@ public <T> T[] toArray(T[] a) {
8686

8787
@Override
8888
publicbooleanadd(WorkflowModele) {
89-
returnobject.add(e.asIs());
89+
returnobject.add(e.asJavaObject());
9090
}
9191

9292
@Override
9393
publicbooleanremove(Objecto) {
94-
returnobject.remove(((WorkflowModel)o).asIs());
94+
returnobject.remove(((WorkflowModel)o).asJavaObject());
9595
}
9696

9797
@Override

‎experimental/lambda/src/main/java/io/serverlessworkflow/impl/expressions/JavaModelFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
importjava.time.OffsetDateTime;
2424
importjava.util.Map;
2525

26-
publicclassJavaModelFactoryimplementsWorkflowModelFactory {
26+
classJavaModelFactoryimplementsWorkflowModelFactory {
2727

2828
@Override
2929
publicWorkflowModelcombine(Map<String,WorkflowModel>workflowVariables) {

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp