Class PipelineStatusValueObject

java.lang.Object
ubic.gemma.rest.PipelineStatusValueObject

public class PipelineStatusValueObject extends Object
Snapshot of every preprocessing/analysis pipeline step for a single experiment.

Returned by GET /datasets/{dataset}/pipeline-status. The duplicated curation/permissions/quality fields (troubled, curationNote, isPublic, geeq) are included as a convenience so that callers driving a pre-public checklist can render everything from a single round trip.

Wire shape uses snake_case field names per the curation-UI alignment (see PIPELINESTATUS_WIRE_AUDIT.md). Legacy camelCase keys are accepted on read via JsonAlias for backwards compatibility with any pre-alignment consumers.

  • Constructor Details

    • PipelineStatusValueObject

      public PipelineStatusValueObject()
  • Method Details

    • getIsPublic

      public boolean getIsPublic()
    • setIsPublic

      public void setIsPublic(boolean isPublic)
    • getExperimentId

      public Long getExperimentId()
    • getSteps

    • isHasBatchInformation

      public boolean isHasBatchInformation()
    • isHasDifferentialExpressionAnalysis

      public boolean isHasDifferentialExpressionAnalysis()
    • isHasCoexpressionAnalysis

      public boolean isHasCoexpressionAnalysis()
    • isTroubled

      public boolean isTroubled()
    • getTroubleDetails

      public String getTroubleDetails()
    • isNeedsAttention

      public boolean isNeedsAttention()
      The curator flag that predates the agent workflow: a human marked this dataset as wanting a look. 🛑 NOT the agent workflow's signal — that is triageVerdict. The two are deliberately separate and neither is derived from the other.
    • getTriageVerdict

      @Nullable public String getTriageVerdict()
      The effective triage ruling across this dataset's annotation sets — fine, wont_fix, might_fix or must_fix — or null when nothing has been triaged. Newest ruling wins, the same rule a single annotation set already uses.

      This is the agent workflow's answer to "does a human need to look at this", and it carries severity and a judge rather than collapsing to a boolean.

    • getTriageJudgeKind

      @Nullable public String getTriageJudgeKind()
      Whether triageVerdict came from an agent or a curator; null when nothing has been triaged. A curator's ruling and an agent's are not worth the same, and a caller cannot tell them apart from the verdict alone.
    • getCurationNote

      @Nullable public String getCurationNote()
      Admin-only; remains null for non-administrators.
    • getLastUpdate

      @Nullable public DatasetUpdateSummaryValueObject getLastUpdate()
      What changed here most recently, as a short label plus its date and performer — the thing curationDetails.lastUpdated leaves out.

      Derived from the dataset's latest typed audit event; a dataset that has only ever been loaded falls back to its creation row ("Added to Gemma"). null only for a dataset with no usable audit row at all.

    • getGeeq

      @Nullable public GeeqValueObject getGeeq()
    • setExperimentId

      public void setExperimentId(Long experimentId)
    • setSteps

    • setHasBatchInformation

      public void setHasBatchInformation(boolean hasBatchInformation)
    • setHasDifferentialExpressionAnalysis

      public void setHasDifferentialExpressionAnalysis(boolean hasDifferentialExpressionAnalysis)
    • setHasCoexpressionAnalysis

      public void setHasCoexpressionAnalysis(boolean hasCoexpressionAnalysis)
    • setTroubled

      public void setTroubled(boolean troubled)
    • setTroubleDetails

      public void setTroubleDetails(String troubleDetails)
    • setNeedsAttention

      public void setNeedsAttention(boolean needsAttention)
      The curator flag that predates the agent workflow: a human marked this dataset as wanting a look. 🛑 NOT the agent workflow's signal — that is triageVerdict. The two are deliberately separate and neither is derived from the other.
    • setTriageVerdict

      public void setTriageVerdict(@Nullable String triageVerdict)
      The effective triage ruling across this dataset's annotation sets — fine, wont_fix, might_fix or must_fix — or null when nothing has been triaged. Newest ruling wins, the same rule a single annotation set already uses.

      This is the agent workflow's answer to "does a human need to look at this", and it carries severity and a judge rather than collapsing to a boolean.

    • setTriageJudgeKind

      public void setTriageJudgeKind(@Nullable String triageJudgeKind)
      Whether triageVerdict came from an agent or a curator; null when nothing has been triaged. A curator's ruling and an agent's are not worth the same, and a caller cannot tell them apart from the verdict alone.
    • setCurationNote

      public void setCurationNote(@Nullable String curationNote)
      Admin-only; remains null for non-administrators.
    • setLastUpdate

      public void setLastUpdate(@Nullable DatasetUpdateSummaryValueObject lastUpdate)
      What changed here most recently, as a short label plus its date and performer — the thing curationDetails.lastUpdated leaves out.

      Derived from the dataset's latest typed audit event; a dataset that has only ever been loaded falls back to its creation row ("Added to Gemma"). null only for a dataset with no usable audit row at all.

    • setGeeq

      public void setGeeq(@Nullable GeeqValueObject geeq)