Class: Reactor::Cm::Bridge

Inherits:
Object
  • Object
show all
Defined in:
lib/reactor/cm/bridge.rb

Class Method Summary collapse

Class Method Details

.login_for(sessionId) ⇒ Object

credit goes to Anton



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/reactor/cm/bridge.rb', line 6

def self.(sessionId)
  old_username = Reactor::Configuration.xml_access[:username]
  Reactor::Configuration.xml_access[:username] = 'root'
  begin
    response = Reactor::Cm::XmlRequest.prepare do |xml|
      xml.tag!('licenseManager-logins')
    end.execute!
     = nil
    result = response.xpath('//licenseManager-logins/listitem')
    result = [result] unless result.kind_of?(Array)
    result.each do ||
      properties = (.text)
      if properties[:sessionId] == sessionId && properties[:interface] == "X"
         = properties[:login]
        break
      end
    end
    
  rescue => e
    Rails.logger.error "Login to CM failed! #{e.class}: #{e.message}"
    nil
  ensure
    Reactor::Configuration.xml_access[:username] = old_username
  end
end