<commit_before>package com.amaranth.structlog.struct;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;

import org.apache.commons.lang.RandomStringUtils;
import org.joda.time.DateTime;
import org.mongodb.morphia.annotations.Entity;
import org.mongodb.morphia.annotations.Id;

@Entity
public abstract class StructLogPojo {
	@Id
	private final String id = RandomStringUtils.randomAlphanumeric(StructLogPojo.ID_LENGTH);
	@Min(message = "startTimeStamp is invalid.", value = 1)
	private final long startTimestamp = (new DateTime()).getMillis();
	@Min(message = "Did not call Close() on the object.", value = 1)
	protected long endTimestamp = 0;
	@NotNull
	private final List<StructLogPojo> dependentStructLog = new ArrayList<StructLogPojo>();
	@NotNull
	private final Map<String, String> attributes = new HashMap<String, String>();
	private String input = null;
	private String output = null;

	public String getInput() {
		return input;
	}

	public void setInput(String input) {
		this.input = input;
	}

	public String getOutput() {
		return output;
	}

	public void setOutput(String output) {
		this.output = output;
	}

	public String getId() {
		return id;
	}

	public List<StructLogPojo> getDependentStructLog() {
		return dependentStructLog;
	}

	public Map<String, String> getAttributes() {
		return attributes;
	}

	public long getStartTimestamp() {
		return startTimestamp;
	}

	public long getEndTimestamp() {
		return endTimestamp;
	}

	private static final int ID_LENGTH = 10;

	abstract public void close();

	abstract protected void save();

	abstract protected void validate() throws IllegalStateException;
<commit_msg>Adding List<Throwable> to StructLogPojo<commit_after>package com.amaranth.structlog.struct;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;

import org.apache.commons.lang.RandomStringUtils;
import org.joda.time.DateTime;
import org.mongodb.morphia.annotations.Entity;
import org.mongodb.morphia.annotations.Id;

@Entity
public abstract class StructLogPojo {
	@Id
	private final String id = RandomStringUtils.randomAlphanumeric(StructLogPojo.ID_LENGTH);
	@Min(message = "startTimeStamp is invalid.", value = 1)
	private final long startTimestamp = (new DateTime()).getMillis();
	@Min(message = "Did not call Close() on the object.", value = 1)
	protected long endTimestamp = 0;
	@NotNull
	private final List<Throwable> exceptionsCaught = new ArrayList<Throwable>();
	@NotNull
	private final List<StructLogPojo> dependentStructLog = new ArrayList<StructLogPojo>();
	@NotNull
	private final Map<String, String> attributes = new HashMap<String, String>();
	private String input = null;
	private String output = null;

	public String getInput() {
		return input;
	}

	public void setInput(String input) {
		this.input = input;
	}

	public String getOutput() {
		return output;
	}

	public void setOutput(String output) {
		this.output = output;
	}

	public String getId() {
		return id;
	}

	public List<Throwable> getExceptionsCaught() {
		return exceptionsCaught;
	}

	public List<StructLogPojo> getDependentStructLog() {
		return dependentStructLog;
	}

	public Map<String, String> getAttributes() {
		return attributes;
	}

	public long getStartTimestamp() {
		return startTimestamp;
	}

	public long getEndTimestamp() {
		return endTimestamp;
	}
	private static final int ID_LENGTH = 10;

	abstract public void close();

	abstract protected void save();

	abstract protected void validate() throws IllegalStateException;

{'fraction_non_alphanumeric': 0.09865951742627346, 'fraction_numerical': 0.002680965147453083, 'mean_word_length': 5.126436781609195, 'pattern_counts': {'":': 0, '<': 19, '<?xml version=': 0, '>': 19, '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': '6015856', 'n_tokens_mistral': 1155, 'n_tokens_neox': 1102, 'n_words': 317}