Class DataAcquisitionProject

All Implemented Interfaces:
Serializable

@SetHasBeenReleasedBeforeOnlyOnce(message="data-acquisition-project-management.error.data-acquisition-project.has-been-released-before.set-has-been-released-before-only-once") @ValidSemanticVersion(message="data-acquisition-project-management.error.release.version.not-parsable-or-not-incremented") @ValidShadowId(message="data-acquisition-project-management.error.data-acquisition-project.id.pattern") public class DataAcquisitionProject extends AbstractShadowableRdcDomainObject implements Serializable
The data acquisition project collects the metadata for the data products which are published by our RDC. One project can contain one DataPackage, many Surveys, many Instruments and Questions, and many DataSets and Variables. A project can be currently released (visible to public users) or not. When a publisher releases a project and its version is greater than or equal to 1.0.0 then the metadata is published to da|ra.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private @NotNull(message="data-acquisition-project-management.error.data-acquisition-project.assignee-group.not-null") AssigneeGroup
    Determines which assignee group is able to edit data on the project.
    private @Valid @NotNull(message="data-acquisition-project-management.error.data-acquisition-project.configuration.not-null") Configuration
    Contains the project configuration.
    private LocalDate
    Attribute which holds information on the planned release date.
    private @NotNull(message="data-acquisition-project-management.error.data-acquisition-project.has-been-released-before.not-null") Boolean
    Flag indicating whether this project has ever been released in its life.
    private @NotNull(message="data-acquisition-project-management.error.data-acquisition-project.has-user-service-remarks.not-null") Boolean
    Flag indicating whether this project has remarks for the user service.
    private @NotEmpty(message="data-acquisition-project-management.error.data-acquisition-project.id.not-empty") String
    The id of this project.
    private @NotNull(message="data-acquisition-project-management.error.data-acquisition-project.is-external.not-null") Boolean
    Flag indicating whether this project includes an external data package.
    private @NotNull(message="data-acquisition-project-management.error.data-acquisition-project.is-tansmitted-via-verbundfdb.not-null") Boolean
    Flag indicating whether this project is transmitted via VerbundFDB.
    private @Size(max=2048,message="data-acquisition-project-management.error.data-acquisition-project.last-assignee-group-message.size") String
    The last message provided by an assignee group user before assigneeGroup value changed.
    private @NotEmpty(message="data-acquisition-project-management.error.data-acquisition-project.master-id.not-empty") @Size(max=32,message="data-acquisition-project-management.error.data-acquisition-project.master-id.size") @Pattern(regexp="^[a-zA-Z0-9]+$",message="data-acquisition-project-management.error.data-acquisition-project.master-id.pattern") String
    The master id of this project.
    private @Valid Release
    A valid Release object.
    private static final long
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    Set id on implementation of AbstractShadowableRdcDomainObject.
    protected void
    Set masterId on implementations of AbstractShadowableRdcDomainObject.

    Methods inherited from class eu.dzhw.fdz.metadatamanagement.common.domain.AbstractShadowableRdcDomainObject

    getMasterId, setId, setMasterId

    Methods inherited from class eu.dzhw.fdz.metadatamanagement.common.domain.AbstractRdcDomainObject

    getId

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • id

      @NotEmpty(message="data-acquisition-project-management.error.data-acquisition-project.id.not-empty") private @NotEmpty(message="data-acquisition-project-management.error.data-acquisition-project.id.not-empty") String id
      The id of this project. Must not be empty
    • masterId

      @NotEmpty(message="data-acquisition-project-management.error.data-acquisition-project.master-id.not-empty") @Size(max=32, message="data-acquisition-project-management.error.data-acquisition-project.master-id.size") @Pattern(regexp="^[a-zA-Z0-9]+$", message="data-acquisition-project-management.error.data-acquisition-project.master-id.pattern") private @NotEmpty(message="data-acquisition-project-management.error.data-acquisition-project.master-id.not-empty") @Size(max=32,message="data-acquisition-project-management.error.data-acquisition-project.master-id.size") @Pattern(regexp="^[a-zA-Z0-9]+$",message="data-acquisition-project-management.error.data-acquisition-project.master-id.pattern") String masterId
      The master id of this project. Must not be empty, must only contain lower cased (english) letters and numbers and must not contain more than 32 characters.
    • hasBeenReleasedBefore

      @NotNull(message="data-acquisition-project-management.error.data-acquisition-project.has-been-released-before.not-null") private @NotNull(message="data-acquisition-project-management.error.data-acquisition-project.has-been-released-before.not-null") Boolean hasBeenReleasedBefore
      Flag indicating whether this project has ever been released in its life. It is used to ensure that project cannot be deleted once they have been released.
    • hasUserServiceRemarks

      @NotNull(message="data-acquisition-project-management.error.data-acquisition-project.has-user-service-remarks.not-null") private @NotNull(message="data-acquisition-project-management.error.data-acquisition-project.has-user-service-remarks.not-null") Boolean hasUserServiceRemarks
      Flag indicating whether this project has remarks for the user service. Can only be true for data packages.
    • isExternalDataPackage

      @NotNull(message="data-acquisition-project-management.error.data-acquisition-project.is-external.not-null") private @NotNull(message="data-acquisition-project-management.error.data-acquisition-project.is-external.not-null") Boolean isExternalDataPackage
      Flag indicating whether this project includes an external data package. Can only be true for data packages.
    • isTransmittedViaVerbundFdb

      @NotNull(message="data-acquisition-project-management.error.data-acquisition-project.is-tansmitted-via-verbundfdb.not-null") private @NotNull(message="data-acquisition-project-management.error.data-acquisition-project.is-tansmitted-via-verbundfdb.not-null") Boolean isTransmittedViaVerbundFdb
      Flag indicating whether this project is transmitted via VerbundFDB. Can only be true for data packages.
    • embargoDate

      private LocalDate embargoDate
      Attribute which holds information on the planned release date.
    • release

      @Valid private @Valid Release release
      A valid Release object. Null if the project is currently not released. The version of a Release must be a syntactically correct according to semver (major.minor.patch) and must not be decreased.
    • configuration

      @Valid @NotNull(message="data-acquisition-project-management.error.data-acquisition-project.configuration.not-null") private @Valid @NotNull(message="data-acquisition-project-management.error.data-acquisition-project.configuration.not-null") Configuration configuration
      Contains the project configuration.
    • assigneeGroup

      @NotNull(message="data-acquisition-project-management.error.data-acquisition-project.assignee-group.not-null") private @NotNull(message="data-acquisition-project-management.error.data-acquisition-project.assignee-group.not-null") AssigneeGroup assigneeGroup
      Determines which assignee group is able to edit data on the project.
    • lastAssigneeGroupMessage

      @Size(max=2048, message="data-acquisition-project-management.error.data-acquisition-project.last-assignee-group-message.size") private @Size(max=2048,message="data-acquisition-project-management.error.data-acquisition-project.last-assignee-group-message.size") String lastAssigneeGroupMessage
      The last message provided by an assignee group user before assigneeGroup value changed.
  • Constructor Details

  • Method Details