Class DatasetUpdateSummaryValueObject

java.lang.Object
ubic.gemma.rest.DatasetUpdateSummaryValueObject

public class DatasetUpdateSummaryValueObject extends Object
One line of "what changed here recently" for a dataset: a short label, the event class it came from, when, and by whom.

Carried as lastUpdate on PipelineStatusValueObject, so a list view gets it in the same round-trip as the rest of the status strip. It answers what curationDetails.lastUpdated cannot — that field is a bare timestamp — without making the caller pull the whole trail from GET /datasets/{id}/auditEvents.

🛑 The label is derived from the AuditEventType SUBCLASS, never from the event's note. Notes are curator prose ("rechecked, seems fine"), vary by emitter, and are not a contract; the type is. eventType is the stable machine-readable half — a client that wants to key off something should key off that, not off the label text.

  • Constructor Details

    • DatasetUpdateSummaryValueObject

      public DatasetUpdateSummaryValueObject()
  • Method Details

    • forEvent

      public static DatasetUpdateSummaryValueObject forEvent(AuditEvent event)
      Build a summary from the dataset's most recent typed audit event.
    • forCreation

      public static DatasetUpdateSummaryValueObject forCreation(AuditEvent event)
      Build a summary from the dataset's creation row, for a dataset that has never received a typed event.
    • getLabel

      public String getLabel()
    • getEventType

      @Nullable public String getEventType()
      Simple class name of the audit event type (ExpressionExperimentUpdateFromGEOEvent, DifferentialExpressionAnalysisEvent, …). null when the summary came from the creation row, which carries no event type.
    • getDate

      public Date getDate()
    • getPerformer

      @Nullable public String getPerformer()
      Username of whoever performed the change, or null when the row has no performer — which is what an unattended batch job leaves behind.
    • setLabel

      public void setLabel(String label)
    • setEventType

      public void setEventType(@Nullable String eventType)
      Simple class name of the audit event type (ExpressionExperimentUpdateFromGEOEvent, DifferentialExpressionAnalysisEvent, …). null when the summary came from the creation row, which carries no event type.
    • setDate

      public void setDate(Date date)
    • setPerformer

      public void setPerformer(@Nullable String performer)
      Username of whoever performed the change, or null when the row has no performer — which is what an unattended batch job leaves behind.