Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Entity
- @Table(name = "core_project_project_call_submission")
- public class ProjectCallSubmission extends Model {
- private static final Finder<Long, ProjectCallSubmission> finder = new Finder<>(ProjectCallSubmission.class);
- public static final int MAX_SIZE_SHORT = 255;
- public static final int MAX_SIZE_MEDIUM = 500;
- @Id
- @GeneratedValue(strategy = GenerationType.SEQUENCE)
- @Column(name = "id", nullable = false)
- private Long id;
- // The project call this submission applies to
- @ManyToOne
- private ProjectCall projectCall;
- // The scientific areas covered by the project call
- @ManyToMany
- @JoinTable(
- name = "core_project_project_call_submission_scientific_area", // Name of the join table
- joinColumns = @JoinColumn(name = "project_call_submission_id"), // Foreign key to the current entity
- inverseJoinColumns = @JoinColumn(name = "scientific_area_id") // Foreign key to the other entity
- )
- private List<CustomListElement> scientificAreas;
- // The acronym of the project call submission (in Portuguese)
- @Column(name = "acronym_pt", length = MAX_SIZE_SHORT)
- private String acronymPt;
- // The acronym of the project call submission (in English)
- @Column(name = "acronym_en", length = MAX_SIZE_SHORT)
- private String acronymEn;
- // The title of the project call submission (in Portuguese)
- @Column(name = "title_pt", length = MAX_SIZE_MEDIUM)
- private String titlePt;
- // The title of the project call submission (in English)
- @Column(name = "title_en", length = MAX_SIZE_MEDIUM)
- private String titleEn;
- // TODO: Lembrete: Coordenador, co-coordenador, coordenador local, equipa local, consultores locais
- // The list of internal users that participate in the project call submission
- @OneToMany(cascade = CascadeType.ALL, mappedBy = "projectCallSubmission")
- private List<ProjectCallSubmissionInternalUserParticipation> internalUsersParticipations;
- // TODO: Lembrete: Coordenador, co-coordenador, coordenador local, equipa local, consultores locais
- // The list of external users that participate in the project call submission
- @OneToMany(cascade = CascadeType.ALL, mappedBy = "projectCallSubmission")
- private List<ProjectCallSubmissionExternalUserParticipation> externalUsersParticipations;
- // The list of external institutions that participate in the project call submission
- @OneToMany(cascade = CascadeType.ALL, mappedBy = "projectCallSubmission")
- private List<ProjectCallSubmissionExternalInstitutionParticipation> externalInstitutionParticipation;
- // The date when the application was submitted
- @Column(name = "submission_date")
- private Date submissionDate;
- // The duration of the project (in months)
- @Column(name = "duration")
- private Integer durationInMonths;
- // The total budget requested for the project
- @DbJsonB
- @JsonProperty(value = "solicited_global_budget")
- private CurrencyAmount solicitedGlobalBudget;
- // The budget requested for the local partner
- @DbJsonB
- @JsonProperty(value = "solicited_local_budget")
- private CurrencyAmount solicitedLocalBudget;
- // Whether the local budget has been validated by the Project Management / Research & Development team
- @Column(name = "is_budget_validated")
- private Boolean isBudgetValidated;
- // Whether the project call submission is currently public in the system
- @Column(name = "privacy_level")
- private PrivacyLevelEnum privacyLevel;
- @DbJsonB
- @Column(name = "extra_data")
- private ProjectCallSubmissionExtraData extraData;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement