Name

global.CIIdentification

Description

Main class for Discovery CI Identification.

Script

// CI Identification class

/**
* Main class for Discovery CI Identification.
* 
* Aleck Lin aleck.lin@service-now.com
*/
var CIIdentification = Class.create();

CIIdentification.prototype = {
  
  initialize: function(ciData, logger) {
      this.ciData = ciData;
      this.debug_flag = GlideProperties.getBoolean('glide.discovery.debug.ci_identification', false);
      this.logger = JSUtil.notNil(logger) ? logger : new DiscoveryLogger();
      this.debug('CIIdentification.initialize()');
  },
  
  /*
   * Identify the CI.  This is the entry point for the entire CI Identification process.
   */
  process: function() {
      this.debug('CIIdentification.process()');
      try { 
          this.debug('The ciData object contains the following information' + this.ciData.toString());

          // load up the identifiers and run them!
          var identifier = new CIIdentifier(this.ciData, this.logger, this.debug_flag);
          identifier.load(this.ciData.getData().sys_class_name);

          return identifier.run();
      } catch (ex) {
          this._log_error(ex);
      }
  },
  
  _log_error: function(ex) {
      this.logger.error('Unhandled exception: ' + ex + ' (CIIdentification)');
  },
  
  /*
   * Log a message to the CI Identification log, but only if we've got debug logging turned on...
   */
  debug: function(msg) {
      if (this.debug_flag)
          this.logger.info(msg + ' (CIIdentification)');
  },
  
  type: 'CIIdentification'
}

Sys ID

0a10e50d0a0a0b1c383598383ee57d55

Offical Documentation

Official Docs: