Name

sn_cmdb_int_util.CmdbIntegrationExtractScaleUnitUtil

Description

No description available

Script

var CmdbIntegrationExtractScaleUnitUtil = Class.create();
CmdbIntegrationExtractScaleUnitUtil.prototype = Object.extendsObject(CmdbIntegrationScaleUnitUtil, {

  START_WITH_NUMBER_REGEX: "[0-9]*\\.?[0-9]+",

  initialize: function() {},
  
  extractAndScaleUnits: function(input, defaultUnit, outputUnit, decimalPlaces) {
  	if (gs.nil(input)) {
          this.logError("Invalid input");
          return '';
      }
  	
      if (gs.nil(defaultUnit)) {
          this.logError("Invalid default unit");
          return '';
      }
      if (gs.nil(outputUnit)) {
          this.logError("Invalid output unit");
          return '';
      }

      var numericInput = input.match(this.START_WITH_NUMBER_REGEX) + "";
      if (gs.nil(numericInput)) {
          this.logError("Invalid input numeric value for input:" + input);
          return '';
      }

      var parsedNumericInput = parseFloat(numericInput);
      if (isNaN(parsedNumericInput)) {
          this.logError("Invalid input numeric value for input:" + input);
          return '';
      }

      var index = input.indexOf(numericInput);
      if (index == -1) {
          this.logError("Invalid input numeric value for input:" + input);
          return '';
      }

      var unit = input.substring(index + numericInput.length, input.length).trim();
      var inputUnit = defaultUnit;
      if (unit)
          inputUnit = unit;
  	
  	return this.scaleUnits(numericInput, inputUnit, outputUnit, decimalPlaces);
  },
  
  logError: function(error) {
  	gs.error(error, this.type);
  },
  
  type: 'CmdbIntegrationExtractScaleUnitUtil'
});

Sys ID

26b2b30873a010104ae4b41afaf6a771

Offical Documentation

Official Docs: