is_valid_dataitem

in source/code/plugins/in_npmd_server.rb [344:381]


        def is_valid_dataitem(item)
            _itemType=""
            if item["SubType"] == "NetworkAgent"
                _itemType = NPMContract::DATAITEM_AGENT
            elsif item["SubType"] == "NetworkPath"
                _itemType = NPMContract::DATAITEM_PATH
            elsif item["SubType"] == NPM_DIAG
                _itemType = NPMContract::DATAITEM_DIAG
            elsif item["SubType"] == "EndpointHealth"
                _itemType = NPMContract::DATAITEM_ENDPOINT_HEALTH
            elsif item["SubType"] == "EndpointPath"
                _itemType = NPMContract::DATAITEM_ENDPOINT_MONITORING
            elsif item["SubType"] == "EndpointDiagnostics"
                _itemType = NPMContract::DATAITEM_ENDPOINT_DIAGNOSTICS
            elsif item["SubType"] == "ExpressRoutePath"
                _itemType = NPMContract::DATAITEM_EXROUTE_MONITORING
            elsif item["SubType"] == "ConnectionMonitorTestResult"
                _itemType = NPMContract::DATAITEM_CONNECTIONMONITOR_TEST
            elsif item["SubType"] == "ConnectionMonitorPath"
                _itemType = NPMContract::DATAITEM_CONNECTIONMONITOR_PATH
            elsif item["SubType"] == "NetworkAgentDiagnostics"
                _itemType = NPMContract::DATAITEM_AGENT_DIAGNOSTICS
            end

            return false if _itemType.empty?

            _res, _prob = NPMContract::IsValidDataitem(item, _itemType)

            return true if _res == NPMContract::DATAITEM_VALID
            if (_res == NPMContract::DATAITEM_ERR_INVALID_FIELDS)
                Logger::logInfo "Invalid key in #{item["SubType"]} data: #{_prob}"
            elsif (_res == NPMContract::DATAITEM_ERR_MISSING_FIELDS)
                Logger::logInfo "Key #{_prob} absent in #{item["SubType"]} data"
            elsif (_res == NPMContract::DATAITEM_ERR_INVALID_TYPE)
                Logger::logInfo "Invalid itemtype #{_itemType}"
            end
        end