Class Ticket

All Implemented Interfaces:
Securable, Auditable, Securable, Describable, Identifiable

@Entity public class Ticket extends AbstractAuditable
A curation ticket targeting one or more entities (initially TicketTargetType.EXPRESSION_EXPERIMENT and TicketTargetType.ARRAY_DESIGN). Replaces the legacy CurationDetails 1:1 model — see Decision 1 of AUDIT_AS_WORKFLOW_RECCE.md.

Tickets are themselves Auditable, so two log streams coexist (Decision 6):

  • TicketEvents — domain workflow facts (state transitions, comments, assignments).
  • Audit events on the inherited audit trail — governance who-touched- this-row facts.

The name property (inherited from AbstractDescribable) holds the ticket title.

Author:
paul
  • Constructor Details

    • Ticket

      public Ticket()
  • Method Details

    • getType

      public TicketType getType()
    • setType

      public void setType(TicketType type)
    • getState

      public TicketState getState()
    • setState

      public void setState(TicketState state)
    • getPriority

      public TicketPriority getPriority()
    • setPriority

      public void setPriority(TicketPriority priority)
    • getDueDate

      @Nullable public Date getDueDate()
    • setDueDate

      public void setDueDate(@Nullable Date dueDate)
    • getTitle

      public String getTitle()
      The ticket title. Stored in the inherited NAME column.
    • setTitle

      public void setTitle(String title)
    • getBody

      @Nullable public String getBody()
      Curator-facing instructions text — what the reporter writes when filing the ticket, what the detail page renders as multi-line body and the dashboard clamps to 2 lines. Stored in the inherited DESCRIPTION column; this is a convenience alias parallel to getTitle() / setTitle(String).
    • setBody

      public void setBody(@Nullable String body)
    • getMode

      public TicketMode getMode()
    • isAcceptsTargets

      public boolean isAcceptsTargets()
    • setAcceptsTargets

      public void setAcceptsTargets(boolean acceptsTargets)
    • setMode

      public void setMode(TicketMode mode)
    • getReporter

      public Contact getReporter()
    • setReporter

      public void setReporter(Contact reporter)
    • getAssignee

      @Nullable public Contact getAssignee()
    • setAssignee

      public void setAssignee(@Nullable Contact assignee)
    • getCreatedAt

      public Date getCreatedAt()
    • setCreatedAt

      public void setCreatedAt(Date createdAt)
    • getUpdatedAt

      public Date getUpdatedAt()
    • setUpdatedAt

      public void setUpdatedAt(Date updatedAt)
    • getExternalIssueUrl

      @Nullable public String getExternalIssueUrl()
    • setExternalIssueUrl

      public void setExternalIssueUrl(@Nullable String externalIssueUrl)
    • getExternalIssueSyncState

      public ExternalIssueSyncState getExternalIssueSyncState()
    • setExternalIssueSyncState

      public void setExternalIssueSyncState(ExternalIssueSyncState externalIssueSyncState)
    • getTargets

      public Set<TicketTarget> getTargets()
    • setTargets

      public void setTargets(Set<TicketTarget> targets)
    • getEvents

      public List<TicketEvent> getEvents()
    • setEvents

      public void setEvents(List<TicketEvent> events)
    • hashCode

      public int hashCode()
      Description copied from class: AbstractDescribable
      The default hash code for a describable is based on its name, ignoring case.

      Important note: Never use the ID in the hashCode() implementation since it can be assigned when the object is persisted.

      Overrides:
      hashCode in class AbstractDescribable
    • equals

      public boolean equals(Object object)
      Description copied from class: AbstractDescribable
      Important note: The name should be compared in a case-insensitive manner. You can use DescribableUtils.equalsByName(Describable, Describable) to get the correct behavior.

      Important note: Two objects with the same class and non-null ID must be considered equal. If one or both IDs are nulls, the rest of the state can be used to determine equality.

      Specified by:
      equals in class AbstractDescribable
    • getPayload

      @Nullable public String getPayload()
    • setPayload

      public void setPayload(@Nullable String payload)
    • getPayloadSchemaVersion

      @Nullable public Integer getPayloadSchemaVersion()
    • setPayloadSchemaVersion

      public void setPayloadSchemaVersion(@Nullable Integer payloadSchemaVersion)