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:
Serialized Form
  • Field Summary

    Fields
    Modifier and Type Field Description
    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.
    private @Valid @NotNull(message="data-acquisition-project-management.error.data-acquisition-project.configuration.not-null") Configuration configuration
    Contains the project configuration.
    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.
    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.
    private @NotEmpty(message="data-acquisition-project-management.error.data-acquisition-project.id.not-empty") String id
    The id of this project.
    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.
    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.
    private @Valid Release release
    A valid Release object.
    private static long serialVersionUID  
  • Constructor Summary

    Constructors
    Constructor Description
    DataAcquisitionProject​(DataAcquisitionProject dataAcquisitionProject)  
  • Method Summary

    Modifier and Type Method Description
    protected void setIdInternal​(String id)
    Set id on implementation of AbstractShadowableRdcDomainObject.
    protected void setMasterIdInternal​(String masterId)
    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:
      Constant Field Values
    • 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.
    • 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