Name
sn_rf.RFSimilarityService
Description
No description available
Script
var RFSimilarityService = Class.create();
RFSimilarityService.prototype = {
initialize: function(solutionDefinition) {
var solutionDefGr = new GlideRecord(RFConstants.tables.ML_CAPABILITY_DEFINITION_SIMILARITY);
solutionDefGr.addQuery('sys_id', solutionDefinition);
solutionDefGr.addActiveQuery();
solutionDefGr.query();
var solutionName = null;
if (solutionDefGr.next()) {
this.solutionDefinition = solutionDefGr;
}
},
getPredictions: function(current, additionalParameters) {
var predictions = [];
if (!this.solutionDefinition) {
return predictions;
}
var predictor = new global.MLPredictor();
var solution = predictor.findActiveSolution(this.solutionDefinition.getValue(RFConstants.fields.ML_CAPABILITY_DEFINITION_BASE_SOLUTION_NAME));
if (solution && predictor.isSimilaritySolution(solution)) {
var options = {};
if (additionalParameters && additionalParameters[RFConstants.mlPredictorOptions.TOP_N]) {
var topN = additionalParameters[RFConstants.mlPredictorOptions.TOP_N];
topN = (typeof topN == 'number') ? String(topN) : topN;
options[RFConstants.mlPredictorOptions.TOP_N] = topN;
}
predictions = predictor.getPredictions(current, solution, options);
}
return predictions;
},
isSolutionDefValid: function() {
return Boolean(this.solutionDefinition);
},
getSimilarityDefinitionId: function() {
return this.solutionDefinition.getValue('sys_id');
},
getSimilaritySolutionName: function() {
return this.solutionDefinition.getValue(RFConstants.fields.ML_CAPABILITY_DEFINITION_BASE_SOLUTION_NAME);
},
getTestFields: function() {
return this.solutionDefinition.getValue(RFConstants.fields.ML_CAPABILITY_DEFINITION_SIMILARITY_TEST_FIELDS);
},
getTableName: function() {
if (this.isSolutionDefValid()) {
return this.solutionDefinition.getValue(RFConstants.fields.ML_CAPABILITY_DEFINITION_BASE_TABLE);
}
},
getTestTableName: function() {
if (this.isSolutionDefValid()) {
return this.solutionDefinition.getValue(RFConstants.fields.ML_CAPABILITY_DEFINITION_SIMILARITY_TEST_TABLE);
}
},
type: 'RFSimilarityService'
};
Sys ID
571ff007537230103953ddeeff7b129d