Name
global.AggregationHelper
Description
No description available
Script
var AggregationHelper = Class.create();
AggregationHelper.prototype = {
initialize: function() {
},
//OOB unused method
aggregateInteger: function(rollupStructure, childField, isAverage) {
//this.printRollupStructure(rollupStructure);
if(childField && rollupStructure) {
var count = 0;
var totalValue = 0;
for (var sysId in rollupStructure) {
var valueMap = rollupStructure[sysId];
if( valueMap[childField]) {
var intergerValue = parseInt(valueMap[childField]);
totalValue = totalValue + intergerValue;
}
count = count + 1;
}
if(isAverage)
return (count==0)?(totalValue):(totalValue/count);
else
return totalValue;
}
},
//OOB unused method
aggregateFloat: function(rollupStructure, childField, isAverage) {
//this.printRollupStructure(rollupStructure);
if(childField && rollupStructure) {
var count = 0;
var totalValue = parseFloat("0");
for (var sysId in rollupStructure) {
var valueMap = rollupStructure[sysId];
if( valueMap[childField]) {
var floatValue = parseFloat(valueMap[childField]);
totalValue = totalValue + floatValue;
}
count = count + 1;
}
if(isAverage)
return (count==0)?(totalValue):(totalValue/count);
else
return totalValue;
}
},
aggregateDuration: function(rollupStructure, childField) {
//this.printRollupStructure(rollupStructure);
if(childField && rollupStructure) {
var totalValue = new GlideDuration();
totalValue.setValue("1970-01-01 00:00:00");
for (var sysId in rollupStructure) {
var valueMap = rollupStructure[sysId];
if( valueMap[childField]) {
var durationValue = new GlideDuration();
durationValue.setValue(valueMap[childField]);
totalValue = totalValue.add(durationValue);
}
}
return totalValue;
}
},
//OOB unused method
printRollupStructure: function(rollupStructure) {
if( rollupStructure ) {
var string = "{ ";
for(var attr in rollupStructure) {
string = string + attr + " : { ";
var value = rollupStructure[attr];
for( var attr1 in value) {
string = string + attr1 + " : " + value[attr1] + ",";
}
string = string + " },";
}
string = string + "}";
gs.info("RollupStructure: " + string);
} else {
gs.info("No RollupStructure Found");
}
},
type: 'AggregationHelper'
};
Sys ID
f5272d219f230200598a5bb0657fcf0f