Name
sn_sow.SOWPolarisLandingPageTileService
Description
No description available
Script
var SOWPolarisLandingPageTileService = Class.create();
SOWPolarisLandingPageTileService.prototype = {
type: 'SOWPolarisLandingPageTileService',
initialize: function() {},
process: function(request) {
var response = {};
var errors = {};
var status = {};
var items = [];
var count = -1; // No extensions processed
var extensions = new GlideScriptedExtensionPoint().getExtensions("sn_sow.PolarisLandingPageTileProvider");
if (extensions.length > 0) {
count = 0;
for (var i = 0; i < extensions.length; i++) {
var extension = extensions[i];
var extensionStatus = {};
var extensionId = extension.type;
status[extensionId] = extensionStatus;
var startTime = Date.now();
try {
var subItems = extension.process(request);
for (var j in subItems) {
// Generate id to help with unique lookup
subItems[j].id = gs.generateGUID();
subItems[j].provider = extensionId;
items[count++] = subItems[j];
}
} catch (e) {
try {
extensionStatus.error = JSON.stringify(e);
} catch (e) {
extensionStatus.error = "Unknown error";
}
}
var executionTime = Date.now() - startTime;
extensionStatus.runtime = executionTime;
}
items.sort(function(a, b) {
if (a && b) {
var aOrder = a.order ? a.order : 0;
var bOrder = b.order ? b.order : 0;
return aOrder - bOrder;
}
return 0;
});
}
response.count = count;
response.tiles = items;
response.providers = status;
return response;
}
};
Sys ID
1723b238c3c33010965e070e9140dda4