<commit_before>package maisPop;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Usuario {

	private String nome, email, senha, dataDeNascimento, caminhoImagem;

	private final String ERRO_DE_CADASTRO = "Erro no cadastro de Usuarios. ";
	
	public static String NOME = "Nome";
	public static String EMAIL = "Email";
	public static String SENHA = "Senha";
	public static String DATA_DE_NASCIMENTO = "Data de Nascimento";
	public static String FOTO = "Foto";
	
	
	public String getNome() {
		return nome;
	}

	public void setNome(String nome) throws Exception {
		if (nome.trim().length() > 0) {
			this.nome = nome;
		} else {
			throw new Exception(ERRO_DE_CADASTRO + "Nome dx usuarix nao pode ser vazio.");
		}
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) throws Exception {
		Pattern p = Pattern.compile("[\\w\\d_\\.%\\+-]+@[\\w\\d\\.-]+\\.[\\w]{2,6}");
		Matcher m = p.matcher(email);

		if (m.matches()) {
			this.email = email;
		} else {
			throw new Exception(ERRO_DE_CADASTRO + "Formato de e-mail esta invalido.");
		}
	}

	public String getSenha() {
		return senha;
	}

	public void setSenha(String senha) {
		this.senha = senha;
	}

	public String getDataDeNascimento() {
		return transformaData(dataDeNascimento).toString();
	}
	
	public LocalDate transformaData(String dataDeNascimento){
		String[] dataSplit = dataDeNascimento.split("/");
		int dia = Integer.parseInt(dataSplit[0].trim());
		int mes = Integer.parseInt(dataSplit[1].trim());
		int ano = Integer.parseInt(dataSplit[2].trim());
		return LocalDate.of(ano,mes,dia);
	}

	public void setDataDeNascimento(String dataDeNascimento) throws Exception {		
		Pattern p = Pattern.compile("[\\d]{2}/[\\d]{2}/[\\d]{4}");
		Matcher m = p.matcher(dataDeNascimento);
		
		SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
		df.setLenient(false);
		
		Date resultado;
		if (!m.matches()) {
			throw new Exception(ERRO_DE_CADASTRO + "Formato de data esta invalida.");
		} else {
			try {
				resultado = df.parse(dataDeNascimento);
			} catch (Exception e) {
				throw new Exception(ERRO_DE_CADASTRO + "Data nao existe.");
			}
			this.dataDeNascimento = dataDeNascimento;
		}
			
	}

	public String getCaminhoImagem() {
		return caminhoImagem;
	}

	public void setCaminhoImagem(String caminhoImagem) {
		this.caminhoImagem = caminhoImagem;
	}

	public Usuario(String nome, String email, String senha, String dataDeNasc, String imagem) throws Exception {
		// TODO Auto-generated constructor stub
		setNome(nome);
		setEmail(email);
		setSenha(<PASSWORD>ha);
		setDataDeNascimento(dataDeNasc);
		setCaminhoImagem(imagem);
	}

}<commit_msg>Metodo setDataDeNascimento alterado.<commit_after>package maisPop;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Usuario {

	private String nome, email, senha, dataDeNascimento, caminhoImagem;

	private final String ERRO_DE_CADASTRO = "Erro no cadastro de Usuarios. ";
	
	public static String NOME = "Nome";
	public static String EMAIL = "Email";
	public static String SENHA = "Senha";
	public static String DATA_DE_NASCIMENTO = "Data de Nascimento";
	public static String FOTO = "Foto";
	
	
	public String getNome() {
		return nome;
	}

	public void setNome(String nome) throws Exception {
		if (nome.trim().length() > 0) {
			this.nome = nome;
		} else {
			throw new Exception(ERRO_DE_CADASTRO + "Nome dx usuarix nao pode ser vazio.");
		}
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) throws Exception {
		Pattern p = Pattern.compile("[\\w\\d_\\.%\\+-]+@[\\w\\d\\.-]+\\.[\\w]{2,6}");
		Matcher m = p.matcher(email);

		if (m.matches()) {
			this.email = email;
		} else {
			throw new Exception(ERRO_DE_CADASTRO + "Formato de e-mail esta invalido.");
		}
	}

	public String getSenha() {
		return senha;
	}

	public void setSenha(String senha) {
		this.senha = senha;
	}

	public String getDataDeNascimento() {
		return transformaData(dataDeNascimento).toString();
	}
	
	public LocalDate transformaData(String dataDeNascimento){
		String[] dataSplit = dataDeNascimento.split("/");
		int dia = Integer.parseInt(dataSplit[0].trim());
		int mes = Integer.parseInt(dataSplit[1].trim());
		int ano = Integer.parseInt(dataSplit[2].trim());
		return LocalDate.of(ano,mes,dia);
	}

	public void setDataDeNascimento(String dataDeNascimento) throws Exception {		
		Pattern p = Pattern.compile("[\\d]{2}/[\\d]{2}/[\\d]{4}");
		Matcher m = p.matcher(dataDeNascimento);
		
		SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
		df.setLenient(false);
		
		if (!m.matches()) {
			throw new Exception(ERRO_DE_CADASTRO + "Formato de data esta invalida.");
		} else {
			try {
				LocalDate data = transformaData(dataDeNascimento);
			} catch (Exception e) {
				throw new Exception(ERRO_DE_CADASTRO + "Data nao existe.");
			}
			this.dataDeNascimento = dataDeNascimento;
		}
			
	}

	public String getCaminhoImagem() {
		return caminhoImagem;
	}

	public void setCaminhoImagem(String caminhoImagem) {
		this.caminhoImagem = caminhoImagem;
	}

	public Usuario(String nome, String email, String senha, String dataDeNasc, String imagem) throws Exception {
		setNome(nome);
		setEmail(email);
		setSenha(<PASSWORD>);
		setDataDeNascimento(dataDeNasc);
		setCaminhoImagem(imagem);
	}

}
{'fraction_non_alphanumeric': 0.13062252608852104, 'fraction_numerical': 0.0032385750269881253, 'mean_word_length': 4.128228782287823, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 7, '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': '6624153', 'n_tokens_mistral': 2131, 'n_tokens_neox': 1949, 'n_words': 453}