diff --git a/nae-object-library/src/main/java/com/netgrif/application/engine/objects/elastic/domain/ElasticCase.java b/nae-object-library/src/main/java/com/netgrif/application/engine/objects/elastic/domain/ElasticCase.java index db53acdee60..c16316c9671 100644 --- a/nae-object-library/src/main/java/com/netgrif/application/engine/objects/elastic/domain/ElasticCase.java +++ b/nae-object-library/src/main/java/com/netgrif/application/engine/objects/elastic/domain/ElasticCase.java @@ -57,6 +57,8 @@ public abstract class ElasticCase implements Serializable { private Set taskMongoIds; + private Set tasks; + private Map> permissions; private Map> userRefs; @@ -90,8 +92,9 @@ public ElasticCase(Case useCase) { authorRealm = useCase.getAuthor().getRealmId(); authorName = useCase.getAuthor().getFullName(); authorUsername = useCase.getAuthor().getUsername(); - taskIds = useCase.getTasks().stream().map(TaskPair::getTransition).collect(Collectors.toSet()); - taskMongoIds = useCase.getTasks().stream().map(TaskPair::getTask).collect(Collectors.toSet()); + taskIds = useCase.getTasks() == null ? Collections.emptySet() : useCase.getTasks().stream().map(TaskPair::getTransition).collect(Collectors.toSet()); + taskMongoIds = useCase.getTasks() == null ? Collections.emptySet() : useCase.getTasks().stream().map(TaskPair::getTask).collect(Collectors.toSet()); + tasks = useCase.getTasks() == null ? Collections.emptySet() : useCase.getTasks().stream().map(tp -> new ElasticTaskPair(tp.getTask(), tp.getTransition())).collect(Collectors.toSet()); enabledRoles = new HashSet<>(useCase.getEnabledRoles()); viewRoles = new HashSet<>(useCase.getViewRoles()); viewUserRefs = new HashSet<>(useCase.getViewUserRefs()); @@ -110,6 +113,7 @@ public void update(ElasticCase useCase) { title = useCase.getTitle(); taskIds = useCase.getTaskIds(); taskMongoIds = useCase.getTaskMongoIds(); + tasks = useCase.getTasks(); enabledRoles = useCase.getEnabledRoles(); viewRoles = useCase.getViewRoles(); viewUserRefs = useCase.getViewUserRefs(); diff --git a/nae-object-library/src/main/java/com/netgrif/application/engine/objects/elastic/domain/ElasticTaskPair.java b/nae-object-library/src/main/java/com/netgrif/application/engine/objects/elastic/domain/ElasticTaskPair.java new file mode 100644 index 00000000000..65f5c9844f5 --- /dev/null +++ b/nae-object-library/src/main/java/com/netgrif/application/engine/objects/elastic/domain/ElasticTaskPair.java @@ -0,0 +1,28 @@ +package com.netgrif.application.engine.objects.elastic.domain; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serial; +import java.io.Serializable; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class ElasticTaskPair implements Serializable { + + @Serial + private static final long serialVersionUID = 8399390623172906801L; + + /** + * Represents a MongoDB ObjectId in the hex-string form of the task process resource. + */ + private String task; + + /** + * Represents an import id of the transition of the task. + */ + private String transition; + +}