/*
** This file is part of JSDataChecker.
**
** JSDataChecker is free software: you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation, either version 3 of the License, or
** (at your option) any later version.
**
** JSDataChecker is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with JSDataChecker. If not, see .
**
** Copyright (C) 2016 JSDataChecker - Donato Pirozzi (donatopirozzi@gmail.com)
** Distributed under the GNU GPL v3. For full terms see the file LICENSE.
** License: http://www.gnu.org/licenses/gpl.html GPL version 3 or higher
**/
function ODStatistics() {
}//EndFunction.
ODStatistics.prototype = (function() {
var httpGetAsync = function(theUrl, callback) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200)
callback(xhttp.responseText);
};
xhttp.onerror = function (XMLHttpRequest, textStatus, errorThrown) {
console.log( 'The data failed to load :(' );
console.log(JSON.stringify(XMLHttpRequest));
};
xhttp.open("GET", theUrl, true);//true for asynchronous.
xhttp.send(null);
};//EndFunction.
var _downloadDataset = function() {
};//EndFunction.
/**
* Retrieves the formats of all datasets.
* @param datasets
* @returns {{}}
* @private
*/
var _analyseFormats = function(datasets) {
var stats = {};
stats.numOfDatasets = datasets.length;
stats.formats = [];
for (var i=0; i stats.maxRowsPerDataset)
stats.maxRowsPerDataset = dataset.numOfRows;
if (stats.minRowsPerDataset === null || dataset.numOfRows < stats.minRowsPerDataset)
stats.minRowsPerDataset = dataset.numOfRows;
if (stats.maxColsPerDataset === null || dataset.numOfCols > stats.maxColsPerDataset)
stats.maxColsPerDataset = dataset.numOfCols;
if (stats.minColsPerDataset === null || dataset.numOfCols < stats.minColsPerDataset)
stats.minColsPerDataset = dataset.numOfCols;
return stats;
};//EndFunction.
return {
constructor: ODStatistics,
analyse: function (datasets) {
var stats = _analyseFormats(datasets); //Analyses the datasets formats.
return stats;
},//EndFunction.
analyseDataset: function (dataset, stats) {
return _analyseDataset(dataset, stats);
}//EndFunction.
};
})();