Sha256: 26118303377382f25996b5798addcc73eaad27148b628181895c6a4cea610935

Contents?: true

Size: 1.63 KB

Versions: 1

Compression:

Stored size: 1.63 KB

Contents

#!/usr/bin/env ruby
require 'pxnx_jruby'
require 'pxnx_jruby/utilities/config_parser'
require 'pxnx_jruby/utilities/nx_logger'
require 'pxnx_jruby/utilities/gem_options'
require 'pxnx_jruby/version'

begin
  # Path to the pxnx Configuration file.
  PXNX_CONFIG_PATH = File.join(File.dirname(__FILE__),
                               '../lib/pxnx_jruby/config/pxnx.config')
  config_path = File.expand_path(PXNX_CONFIG_PATH)

  # Setup CLI Options
  GemOptions.create_parser
      .with_banner_and_options('nexpose_pxgrid')
      .with_configuration_encryption([config_path])
      .with_help_and_version('Nexpose Cisco PxGrid', PxnxJruby::VERSION)
      .parse

  # Read in pxnx options from pxnx.config.
  pxnx_options = ConfigParser.get_config(config_path)

  log = PxnxJruby::NxLogger.instance
  log.setup_statistics_collection(PxnxJruby::VENDOR,
                                  PxnxJruby::PRODUCT,
                                  PxnxJruby::VERSION)
  log.setup_logging(pxnx_options[:logging_enabled], 
                    pxnx_options[:log_level] || 'info')

  connection = PxnxJruby.create_connection(pxnx_options)
  handler = PxnxJruby::SessionDirectoryNotification.new
  connection.connect
  sleep(5)
  pxnx_options[:grid_connection] = connection
  PxnxJruby::ConnectionManager.instance.setup(pxnx_options)
  # Subscribes to SessionDirectoryNotification!
  Java::com.cisco.pxgrid.stub.identity
      .SessionDirectoryFactory.registerNotification(connection.grid, handler)
  # TODO: Exception handling.
rescue java.lang.IllegalStateException => e
  puts("Error when executing pxnx! The error was <#{e.message}> and backtrace was <#{e.backtrace.join("\n")}>.")
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
nexpose_pxgrid-0.1.6-java bin/nexpose_pxgrid