diff --git a/api/src/org/labkey/api/workflow/Job.java b/api/src/org/labkey/api/workflow/Job.java index b12b6e8d8b9..ba6936f4451 100644 --- a/api/src/org/labkey/api/workflow/Job.java +++ b/api/src/org/labkey/api/workflow/Job.java @@ -16,6 +16,7 @@ package org.labkey.api.workflow; import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import org.jetbrains.annotations.NotNull; import org.json.JSONObject; @@ -45,6 +46,7 @@ import java.util.Map; import java.util.Objects; import java.util.stream.Collectors; +import java.util.stream.Stream; public abstract class Job extends CreatedModified implements Identifiable { @@ -319,19 +321,29 @@ public void setAttachments(List attachments) _attachments = attachments; } + @JsonIgnore public abstract List getEntities(); + // Serialize only preloaded entities; getEntities() lazily queries them + @JsonProperty("entities") @JsonInclude(JsonInclude.Include.NON_NULL) + public List getLoadedEntities() + { + return _entities; + } + @JsonIgnore public abstract @NotNull List getSamples(); + // Backed by an open ResultSet; callers must close it @JsonIgnore - public abstract @NotNull List getSampleNames(); + public abstract @NotNull Stream getSampleNames(); @JsonIgnore public abstract @NotNull List getSources(); + // Backed by an open ResultSet; callers must close it @JsonIgnore - public abstract @NotNull List getSourceNames(); + public abstract @NotNull Stream getSourceNames(); public void setEntities(List entities) {