<commit_before>/**
 * Scrip para inserir as breackin changes detectadas no banco de dados MongoDB
 */
// -------

// Path e nome do arquivo de entrada.
var file = "./output1.csv";

// Dados para conexão com o MongoDB
var dbUrl = 'mongodb://127.0.0.1:27017/APIDiff';
var db = null;

//Dados da coleção onde os dados serão inseridos.
var nameCollection = "piloto_day1_14032017";
var collection = null;

//Bibliotecas para acessar banco de dados e ler o arquivo de entrada.
var lineReader = require('line-reader');
var MongoClient = require('mongodb').MongoClient;

//Insere os dados na coleção.
var insertRegistry = function(registry, last){
	collection.insert([registry], function (err, result) {
		if (err) {
			console.log("ERROR: " + err);
		} 
		else {
			//console.log(registry.category);
		}
		if(last){ // Se último registro, encerra a conexão.  	
			console.log("\nSuccessfully insert data! \n");
			//db.close();
		}
	});
}

var parserFile = function(){

	var i = 0;
	//last == true se fim do arquivo.
	lineReader.eachLine(file, function(line, last) {
	    
		//Quebra a linha pelo separador (;)
		var data = line.split(";");

		if(data.length >= 9){
			var registry = new Object();
			registry.author	= data[0];
			registry.email	= data[1];
			registry.nameLibrary = data[2];
			registry.changedType = data[3];	
			registry.structureName = data[4];	
			registry.category = data[5];
			registry.idCommit = data[6];
			registry.messageCommit = data[7];
			registry.timeCommit = data[8];
			registry.timeProcess = data[9];
			registry.timeProcessFormat = data[10];
			registry.isBreakingChange = data[11];
			registry.classifierAPI = data[12];

			console.log(registry.nameLibrary)
			insertRegistry(registry,last);
		}
		else{
			console.log("ERROR: Data invalid! " + i + ": [" + line + "]");
		}
		i++;
	});
}


var initParser = function(){
	console.log("\nStarted process...");
	MongoClient.connect(dbUrl, function(err, dbMongo) {
		  if(err) {
		  	console.log("\nError connecting in " + dbUrl);
		  }
		  else{
		  		db = dbMongo;
			  	collection = dbMongo.collection(nameCollection);
			  	console.log("\nConnected to " + dbUrl);
			  	console.log("\nReading file " + file + "...\n");<commit_msg>Novos propriedades da BC incluídas.<commit_after>/**
 * Scrip para inserir as breackin changes detectadas no banco de dados MongoDB
 */
// -------

// Path e nome do arquivo de entrada.
var file = "./input/survey/day_1_output.csv";

// Dados para conexão com o MongoDB
var dbUrl = 'mongodb://127.0.0.1:27017/APIs-BreakingChange-survey';
var db = null;

//Dados da coleção onde os dados serão inseridos.
var nameCollection = "day_1";
var collection = null;

//Bibliotecas para acessar banco de dados e ler o arquivo de entrada.
var lineReader = require('line-reader');
var MongoClient = require('mongodb').MongoClient;

//Insere os dados na coleção.
var insertRegistry = function(registry, last){
	collection.insert([registry], function (err, result) {
		if (err) {
			console.log("ERROR: " + err);
		} 
		else {
			//console.log(registry.category);
		}
		if(last){ // Se último registro, encerra a conexão.  	
			console.log("\nSuccessfully insert data! \n");
			//db.close();
		}
	});
}

var parserFile = function(){

	var i = 1;
	//last == true se fim do arquivo.
	lineReader.eachLine(file, function(line, last) {
	    
		//Quebra a linha pelo separador (;)
		var data = line.split(";");
		console.log(i);
		i++;
		if(data.length >= 12){
			var registry = new Object();
			registry.author	= data[0];
			registry.email	= data[1];
			registry.nameLibrary = data[2];
			registry.changedType = data[3];	
			registry.structureName = data[4];	
			registry.category = data[5];
			registry.idCommit = data[6];
			registry.messageCommit = data[7];
			registry.timestampCommit = data[8];
			registry.timestampProcess = data[9];
			registry.dateProcessFormat = data[10];
			registry.dateProcess = new Date(new Number(registry.timestampProcess));
			registry.dateCommit = new Date(new Number(registry.timestampCommit));
			registry.isBreakingChange = data[11];
			registry.classifierAPI = data[12];
			registry.linkGitHubCommit = "https://github.com/"+registry.nameLibrary+ "/commit/" + registry.idCommit;

			console.log(registry.nameLibrary)
			insertRegistry(registry,last);
		}
		else{
			console.log("ERROR: Data invalid! " + i + ": [" + line + "]");
		}
		
	});
}


var initParser = function(){
	console.log("\nStarted process...");
	MongoClient.connect(dbUrl, function(err, dbMongo) {
		  if(err) {
		  	console.log("\nError connecting in " + dbUrl);
		  }
		  else{
		  		db = dbMongo;
			  	collection = dbMongo.collection(nameCollection);
			  	console.log("\nConnected to " + dbUrl);
			  	console.log("\nReading file " + file + "...\n");
{'fraction_non_alphanumeric': 0.15332771693344566, 'fraction_numerical': 0.014953664700926706, 'mean_word_length': 3.4053803339517623, 'pattern_counts': {'":': 2, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 2, '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': '2394578', 'n_tokens_mistral': 1819, 'n_tokens_neox': 1623, 'n_words': 390}