<commit_before>package ca.corefacility.bioinformatics.irida.model.event;

import java.util.Date;
import java.util.Objects;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotNull;

import org.springframework.data.annotation.CreatedDate;

import ca.corefacility.bioinformatics.irida.model.IridaThing;
import ca.corefacility.bioinformatics.irida.model.project.Project;

/**
 * Class storing events that happen on a {@link Project}.
 * 
 * @author <NAME> <<EMAIL>>
 *
 */
@Entity
@Table(name = "project_event")
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class ProjectEvent implements IridaThing {
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private Long id;

	@NotNull
	@CreatedDate
	@Temporal(TemporalType.TIMESTAMP)
	private Date createdDate;

	@NotNull
	@ManyToOne(cascade = CascadeType.DETACH)
	private Project project;<commit_msg>using single table for project events.  they'll be sharing lots of keys/values so why not<commit_after>package ca.corefacility.bioinformatics.irida.model.event;

import java.util.Date;
import java.util.Objects;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotNull;

import org.springframework.data.annotation.CreatedDate;

import ca.corefacility.bioinformatics.irida.model.IridaThing;
import ca.corefacility.bioinformatics.irida.model.project.Project;

/**
 * Class storing events that happen on a {@link Project}.
 * 
 * @author <NAME> <<EMAIL>>
 *
 */
@Entity
@Table(name = "project_event")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public abstract class ProjectEvent implements IridaThing {
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private Long id;

	@NotNull
	@CreatedDate
	@Temporal(TemporalType.TIMESTAMP)
	private Date createdDate;

	@NotNull
	@ManyToOne(cascade = CascadeType.DETACH)
	private Project project;
{'fraction_non_alphanumeric': 0.09668721109399075, 'fraction_numerical': 0.0, 'mean_word_length': 6.42, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4943574', 'n_tokens_mistral': 799, 'n_tokens_neox': 783, 'n_words': 167}