All Implemented Interfaces:
eu.dzhw.fdz.metadatamanagement.analysispackagemanagement.domain.projection.AnalysisPackageSubDocumentProjection, eu.dzhw.fdz.metadatamanagement.common.domain.projections.AbstractRdcDomainObjectProjection, Serializable

@ValidAnalysisPackageId(message="analysis-package-management.error.analysis-package.id.not-valid-id")
@ValidShadowId(message="analysis-package-management.error.analysis-package.id.pattern")
@UniqueScriptUuids(message="analysis-package-management.error.analysis-package.scripts.unique-uuids")
public class AnalysisPackage
extends AbstractShadowableRdcDomainObject
implements eu.dzhw.fdz.metadatamanagement.analysispackagemanagement.domain.projection.AnalysisPackageSubDocumentProjection
An analysis package contains all metadata of scripts and analysis data. It will get a DOI (Digital Object Identifier) when the DataAcquisitionProject is released.
See Also:
Serialized Form
  • Field Summary

    Fields
    Modifier and Type Field Description
    private @Valid List<I18nLink> additionalLinks
    A list of additional links for the analysis package.
    private @Valid List<AbstractAnalysisDataPackage> analysisDataPackages
    List of data packages used by the scripts in this analysis package.
    private @I18nStringSize(max=2048,message="analysis-package-management.error.analysis-package.annotations.i18n-string-size") I18nString annotations
    Arbitrary additional text for this analysis package.
    private @Valid @NotEmpty(message="analysis-package-management.error.analysis-package.authors.not-empty") List<Person> authors
    List of Persons which have created this analysis package.
    private @NotEmpty(message="analysis-package-management.error.analysis-package.data-acquisition-project.id.not-empty") String dataAcquisitionProjectId
    The id of the DataAcquisitionProject to which this analysis package belongs.
    private @Valid @NotEmpty(message="analysis-package-management.error.analysis-package.data-curators.not-empty") List<Person> dataCurators
    List of Persons which have curated this analysis package.
    private @NotNull(message="analysis-package-management.error.analysis-package.description.not-null") @I18nStringSize(max=2048,message="analysis-package-management.error.analysis-package.description.i18n-string-size") @I18nStringEntireNotEmpty(message="analysis-package-management.error.analysis-package.description.i18n-string-not-empty") I18nString description
    A description of the analysis package.
    private @NotEmpty(message="analysis-package-management.error.analysis-package.id.not-empty") String id
    The id of the analysis package which uniquely identifies the analysis package in this application.
    private @Valid List<@I18nStringSize(max=512,message="analysis-package-management.error.analysis-package.institution.i18n-string-size") @I18nStringEntireNotEmpty(message="analysis-package-management.error.analysis-package.institution.i18n-string-entire-not-empty") I18nString> institutions
    The names of the institutions which have participated in creating this analysis package.
    private @Size(max=1048576,message="analysis-package-management.error.analysis-package.license.size") String license
    The license of this analysis package.
    private @NotEmpty(message="analysis-package-management.error.analysis-package.master-id.not-empty") @Size(max=512,message="analysis-package-management.error.analysis-package.master-id.size") @Pattern(regexp="^[_A-Za-z0-9\u00e4\u00f6\u00fc\u00c4\u00d6\u00dc\u00df\\-\\$]*$",message="analysis-package-management.error.analysis-package.master-id.pattern") String masterId
    The master id of the analysis package.
    private @Valid @NotEmpty(message="analysis-package-management.error.analysis-package.scripts.at-leat-one") List<Script> scripts
    List of scripts which are part of the analysis package.
    private static long serialVersionUID  
    private @Valid List<Sponsor> sponsors
    List of Sponsors which have sponsored this data package.
    private @Valid @NotNull(message="analysis-package-management.error.analysis-package.tags.not-null") Tags tags
    Keywords for the analysis package.
    private @NotNull(message="analysis-package-management.error.analysis-package.title.not-null") @I18nStringSize(max=2048,message="analysis-package-management.error.analysis-package.title.i18n-string-size") @I18nStringEntireNotEmpty(message="analysis-package-management.error.analysis-package.title.i18n-string-entire-not-empty") I18nString title
    The title of the analysis package.
  • Constructor Summary

    Constructors
    Constructor Description
    AnalysisPackage​(AnalysisPackage analysisPackage)  
  • 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

    Methods inherited from interface eu.dzhw.fdz.metadatamanagement.common.domain.projections.AbstractRdcDomainObjectProjection

    getCreatedBy, getCreatedDate, getId, getLastModifiedBy, getLastModifiedDate, getVersion

    Methods inherited from interface eu.dzhw.fdz.metadatamanagement.analysispackagemanagement.domain.projection.AnalysisPackageSubDocumentProjection

    getAuthors, getDataAcquisitionProjectId, getInstitutions, getMasterId, getSponsors, getSuccessorId, getTitle, isShadow
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
      Constant Field Values
    • id

      @NotEmpty(message="analysis-package-management.error.analysis-package.id.not-empty") private @NotEmpty(message="analysis-package-management.error.analysis-package.id.not-empty") String id
      The id of the analysis package which uniquely identifies the analysis package in this application.
    • masterId

      @NotEmpty(message="analysis-package-management.error.analysis-package.master-id.not-empty") @Size(max=512, message="analysis-package-management.error.analysis-package.master-id.size") @Pattern(regexp="^[_A-Za-z0-9\u00e4\u00f6\u00fc\u00c4\u00d6\u00dc\u00df\\-\\$]*$", message="analysis-package-management.error.analysis-package.master-id.pattern") private @NotEmpty(message="analysis-package-management.error.analysis-package.master-id.not-empty") @Size(max=512,message="analysis-package-management.error.analysis-package.master-id.size") @Pattern(regexp="^[_A-Za-z0-9\u00e4\u00f6\u00fc\u00c4\u00d6\u00dc\u00df\\-\\$]*$",message="analysis-package-management.error.analysis-package.master-id.pattern") String masterId
      The master id of the analysis package. The master id must not be empty, must be of the form ana-{{dataAcquisitionProjectId}}$ and the master id must not contain more than 512 characters.
    • dataAcquisitionProjectId

      @NotEmpty(message="analysis-package-management.error.analysis-package.data-acquisition-project.id.not-empty") private @NotEmpty(message="analysis-package-management.error.analysis-package.data-acquisition-project.id.not-empty") String dataAcquisitionProjectId
      The id of the DataAcquisitionProject to which this analysis package belongs. The dataAcquisitionProjectId must not be empty.
    • title

      @NotNull(message="analysis-package-management.error.analysis-package.title.not-null") @I18nStringSize(max=2048, message="analysis-package-management.error.analysis-package.title.i18n-string-size") @I18nStringEntireNotEmpty(message="analysis-package-management.error.analysis-package.title.i18n-string-entire-not-empty") private @NotNull(message="analysis-package-management.error.analysis-package.title.not-null") @I18nStringSize(max=2048,message="analysis-package-management.error.analysis-package.title.i18n-string-size") @I18nStringEntireNotEmpty(message="analysis-package-management.error.analysis-package.title.i18n-string-entire-not-empty") I18nString title
      The title of the analysis package. It must be specified in German and English and it must not contain more than 2048 characters.
    • description

      @NotNull(message="analysis-package-management.error.analysis-package.description.not-null") @I18nStringSize(max=2048, message="analysis-package-management.error.analysis-package.description.i18n-string-size") @I18nStringEntireNotEmpty(message="analysis-package-management.error.analysis-package.description.i18n-string-not-empty") private @NotNull(message="analysis-package-management.error.analysis-package.description.not-null") @I18nStringSize(max=2048,message="analysis-package-management.error.analysis-package.description.i18n-string-size") @I18nStringEntireNotEmpty(message="analysis-package-management.error.analysis-package.description.i18n-string-not-empty") I18nString description
      A description of the analysis package. Markdown is supported. It must be specified in German and English and it must not contain more than 2048 characters.
    • annotations

      @I18nStringSize(max=2048, message="analysis-package-management.error.analysis-package.annotations.i18n-string-size") private @I18nStringSize(max=2048,message="analysis-package-management.error.analysis-package.annotations.i18n-string-size") I18nString annotations
      Arbitrary additional text for this analysis package. Markdown is supported. Must not contain more than 2048 characters.
    • authors

      @Valid @NotEmpty(message="analysis-package-management.error.analysis-package.authors.not-empty") private @Valid @NotEmpty(message="analysis-package-management.error.analysis-package.authors.not-empty") List<Person> authors
      List of Persons which have created this analysis package. Must not be empty.
    • dataCurators

      @Valid @NotEmpty(message="analysis-package-management.error.analysis-package.data-curators.not-empty") private @Valid @NotEmpty(message="analysis-package-management.error.analysis-package.data-curators.not-empty") List<Person> dataCurators
      List of Persons which have curated this analysis package. Must not be empty.
    • institutions

      @Valid private @Valid List<@I18nStringSize(max=512,message="analysis-package-management.error.analysis-package.institution.i18n-string-size") @I18nStringEntireNotEmpty(message="analysis-package-management.error.analysis-package.institution.i18n-string-entire-not-empty") I18nString> institutions
      The names of the institutions which have participated in creating this analysis package. It can be empty but if present must be specified in German and English and it must not contain more than 512 characters.
    • sponsors

      @Valid private @Valid List<Sponsor> sponsors
      List of Sponsors which have sponsored this data package. May be empty.
    • license

      @Size(max=1048576, message="analysis-package-management.error.analysis-package.license.size") private @Size(max=1048576,message="analysis-package-management.error.analysis-package.license.size") String license
      The license of this analysis package. Markdown is supported. May be empty. Must not contain more than 1 MB characters.
    • analysisDataPackages

      @Valid private @Valid List<AbstractAnalysisDataPackage> analysisDataPackages
      List of data packages used by the scripts in this analysis package. May be empty.
    • scripts

      @Valid @NotEmpty(message="analysis-package-management.error.analysis-package.scripts.at-leat-one") private @Valid @NotEmpty(message="analysis-package-management.error.analysis-package.scripts.at-leat-one") List<Script> scripts
      List of scripts which are part of the analysis package. At least one Script must be specified.
    • tags

      @Valid @NotNull(message="analysis-package-management.error.analysis-package.tags.not-null") private @Valid @NotNull(message="analysis-package-management.error.analysis-package.tags.not-null") Tags tags
      Keywords for the analysis package. Must not be empty.
  • Constructor Details

    • AnalysisPackage

      public AnalysisPackage​(AnalysisPackage analysisPackage)
  • Method Details