package qa.qcri.aidr.manager.persistence.entities; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; import javax.persistence.Transient; import qa.qcri.aidr.common.values.UsageType; import qa.qcri.aidr.manager.util.CollectionStatus; import qa.qcri.aidr.manager.util.CollectionType; @Entity @Table(name = "collection") public class Collection extends BaseEntity { /** * */ private static final long serialVersionUID = 1L; @Column(length = 64, unique = true) private String code; @Column(length = 255, unique = true) private String name; @ManyToOne @JoinColumn(name="owner_id", nullable=false) private UserAccount owner; private Integer count; private CollectionStatus status; @Column(name="start_date") private Date startDate; @Column(name="end_date") private Date endDate; @Column(name="publicly_listed") private boolean publiclyListed; @Column(length = 1024, name="last_document") private String lastDocument; @Column(name="classifier_enabled") private boolean classifierEnabled; @ManyToOne @JoinColumn(name="crisis_type") private CrisisType crisisType; @Enumerated(EnumType.STRING) private CollectionType provider; @Column(name="duration_hours") private Integer durationHours; @Column(name="trashed") private boolean trashed; @Column(length = 5000, name = "track") private String track; @Column(length = 1000, name = "follow") private String follow; @Column(length = 1000, name = "geo") private String geo; @Column(name="geo_r") private String geoR; @Column(length = 1000, name = "purpose") private String purpose; @Column(name="lang_filters") private String langFilters; @Column(name="micromappers_enabled") private boolean micromappersEnabled; @ManyToOne @JoinColumn(name="classifier_enabled_by") private UserAccount classifierEnabledBy; @Column(name="usage_type") private UsageType usageType; @Column(name="save_media_enabled", columnDefinition="bit default 0") private boolean saveMediaEnabled; @Column(name="fetch_interval", columnDefinition="int default 0") private int fetchInterval; //default value 7 days = 24 * 7 hours @Column(name="fetch_from", columnDefinition="int default 168") private int fetchFrom; @Column(name="last_execution_time") private Date lastExecutionTime; @Transient private boolean isSourceOutage = false; public boolean isPubliclyListed() { return publiclyListed; } public void setPubliclyListed(boolean publiclyListed) { this.publiclyListed = publiclyListed; } public CrisisType getCrisisType() { return crisisType; } public void setCrisisType(CrisisType crisisType) { this.crisisType = crisisType; } public UserAccount getClassifierEnabledBy() { return classifierEnabledBy; } public void setClassifierEnabledBy(UserAccount classifierEnabledBy) { this.classifierEnabledBy = classifierEnabledBy; } public String getTrack() { return track; } public void setTrack(String track) { this.track = track; } public String getFollow() { return follow; } public void setFollow(String follow) { this.follow = follow; } public String getGeo() { return geo; } public void setGeo(String geo) { this.geo = geo; } public String getGeoR() { return geoR; } public void setGeoR(String geoR) { this.geoR = geoR; } public String getLangFilters() { return langFilters; } public void setLangFilters(String langFilters) { this.langFilters = langFilters; } public boolean isMicromappersEnabled() { return micromappersEnabled; } public void setMicromappersEnabled(boolean micromappersEnabled) { this.micromappersEnabled = micromappersEnabled; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getName() { return name; } public void setName(String name) { this.name = name; } public UserAccount getOwner() { return owner; } public void setOwner(UserAccount owner) { this.owner = owner; } public Integer getCount() { return count; } public Integer getDurationHours() { return durationHours; } public void setDurationHours(Integer durationHours) { this.durationHours = durationHours; } public void setCount(Integer count) { this.count = count; } public CollectionStatus getStatus() { return status; } public void setStatus(CollectionStatus status) { this.status = status; } public Date getStartDate() { return startDate; } public void setStartDate(Date startDate) { this.startDate = startDate; } public Date getEndDate() { return endDate; } public void setEndDate(Date endDate) { this.endDate = endDate; } public String getLastDocument() { return lastDocument; } public void setLastDocument(String lastDocument) { this.lastDocument = lastDocument; } public boolean isClassifierEnabled() { return classifierEnabled; } public void setClassifierEnabled(boolean classifierEnabled) { this.classifierEnabled = classifierEnabled; } public CollectionType getProvider() { return provider; } public void setProvider(CollectionType provider) { this.provider = provider; } public boolean isTrashed() { return trashed; } public void setTrashed(boolean trashed) { this.trashed = trashed; } public String getPurpose() { return purpose; } public void setPurpose(String purpose) { this.purpose = purpose; } public boolean isSourceOutage() { return isSourceOutage; } public void setSourceOutage(boolean isSourceOutage) { this.isSourceOutage = isSourceOutage; } public boolean isSaveMediaEnabled() { return saveMediaEnabled; } public void setSaveMediaEnabled(boolean saveMediaEnabled) { this.saveMediaEnabled = saveMediaEnabled; } public UsageType getUsageType() { return usageType; } public void setUsageType(UsageType usageType) { this.usageType = usageType; } public int getFetchInterval() { return fetchInterval; } public void setFetchInterval(int fetchInterval) { this.fetchInterval = fetchInterval; } public Date getLastExecutionTime() { return lastExecutionTime; } public void setLastExecutionTime(Date lastExecutionTime) { this.lastExecutionTime = lastExecutionTime; } public int getFetchFrom() { return fetchFrom; } public void setFetchFrom(int fetchFrom) { this.fetchFrom = fetchFrom; } }