Mini Kabibi Habibi

Current Path : C:/Program Files/McAfee/WebAdvisor/Analytics/Scripts/
Upload File :
Current File : C:/Program Files/McAfee/WebAdvisor/Analytics/Scripts/transmitter_template.js

/*! $FileVersion=1.2.229 */ var transmitter_template_fileVersion = "1.2.229"; 
function EventTransmitterTemplate(){}EventTransmitterTemplate.prototype={addDataSetNames:function(c,d,b){var a=[];if(d.dataSetNames){a=a.concat(d.dataSetNames)}if(b){a=a.concat(b)}a=dataManipulator.arrayRemoveDuplicates(a);logDebug("emitter ProfileName: "+d.profileName+". allDataSetNames: "+JSON.stringify(a));this._mergeDataSets(c,a)},_isEventThrottled:function(b){var c=ModuleManager.getSingleton("config_manager");var a=c.getThrottleRule(b);return this._applyThrottle(b,a)},_isProfileThrottled:function(b,d){var c=ModuleManager.getSingleton("config_manager");var e=c.getPriority(b);if(e!="critical"){var a=this._getProfile(d).throttleRule;return this._applyThrottle(d,a)}return false},_applyThrottle:function(a,c){try{if(!c){return false}var d=ModuleManager.getSingleton("rules");return d.evaluate(a,c)}catch(b){logError("_applyThrottle: "+b.message)}return false},_applyAttributeRules:function(p,o,a){try{var h=ModuleManager.getSingleton("config_manager");var f=h.getAttributeRules(o);if(!f){return p}var l={};dataManipulator.mergeDictionary(l,f);var g=ModuleManager.getSingleton("mappings");l=g.eventMap(l,o);l=g.globalMap(l);l=g.toLowerCase(l,true,false);var n=ModuleManager.getSingleton("rules");var d=["uniqueid","hit_event_id","hit_category_0","hit_action","tracker.type","__transport.name","__record.created","__caller.name"];d=d.concat(this._getProfileDefaultAttributes(a));dataManipulator.mergeDictionary(l,this._getProfileDefaultMappedRules());var k={};if(this._getProfile(a)["ignoreAttributeRules"]==true){k=JSON.parse(JSON.stringify(p))}else{for(var c in p){var b=false;for(var m in d){if(c==d[m]){b=true;break}}if(b||l.hasOwnProperty(c)){k[c]=p[c]}else{if(c.substring(0,2)!="__"){k[c]="[ruleMismatch]"}}}}logInformation("cleanMessage: "+JSON.stringify(k));for(var c in l){var j=l[c];if(j.optional&&(k[c]==null)){logInformation("_applyAttributeRules: optional field "+c+" was skipped");continue}k[c]=n.apply(k[c],j)}return k}catch(i){logError("Exception thrown while calling _applyAttributeRules: "+i.message)}return{message:{}}},_getProfileDefaultAttributes:function(a){defaults=[];if(a.indexOf("da")>=0){defaults.push("hit_trigger","hit_feature")}if(engine.isWPS()){defaults.push("hit_guid")}return defaults},_getProfileDefaultMappedRules:function(){if(engine.isWPS()){return{hit_guid:{meta:{expr:"^(\\{){0,1}[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}(\\}){0,1}$",flags:"g"},ruleName:"regex"}}}return{}},_getProfile:function(b){try{var c=JSONManager.getSingleton("profile");var a=c.data;var f=a[b];if(!f){logError("No such profile: '"+b+"'")}return f}catch(d){logError("Failed to locate profile '"+b+"': exception is '"+d.message+"'")}},_mergeDataSets:function(c,b){if(!b){return}logDebug("merge data sets: "+JSON.stringify(b));var h=ModuleManager.getSingleton("dataset");for(var a in b){var g=b[a];try{if(engine.isStopRequestReceived()){logWarning("_mergeDataSets: Stop request received, so stopping all datasets collections..");return}var f=h.get(g);if(!f){logWarning("Could not find dataset '"+g+"'; skipping");continue}logDebug("merge the '"+g+"' dataset");dataManipulator.mergeAndLowerDictionary(c,f.getContent())}catch(d){logError("Failed to apply DataSet '"+g+"': exception is '"+d.message+"'")}}},retrieveEmitter:function(a){var b=this._getEmitter(a);if(!b){return this._addEmitter(a)}return b},_getEmitter:function(a){return this._emitters[a]},_addEmitter:function(b){var a=this._getProfile(b);if(!a){return null}logDebug("configure the emitter ("+b+")");var c=ModuleManager.create("emitter");c.configure(b,a);this._emitters[b]=c;return this._emitters[b]},_emitters:{}};ModuleManager.registerFactory("transmitter_template",EventTransmitterTemplate);
//F2997E6BD2402E84E628BD73B2499356C5D07D4F369324DC0EBFA3759926351D96B69F288F02141A553C3DA20A6BA1C5830015DAEBD70D6B5E47040BC007CB55++