Class: OMF::SFA::AM::Rest::Server

Inherits:
Object
  • Object
show all
Extended by:
Base::Loggable
Includes:
Base::Loggable
Defined in:
lib/omf-sfa/am/am-rest/am_rest_server.rb

Instance Method Summary collapse

Instance Method Details

#init_data_mapper(options) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/omf-sfa/am/am-rest/am_rest_server.rb', line 30

def init_data_mapper(options)
  #@logger = OMF::Base::Loggable::_logger('am_server')
  #OMF::Base::Loggable.debug "options: #{options}"
  debug "options: #{options}"

  # Configure the data store
  #
  DataMapper::Logger.new(options[:dm_log] || $stdout, :info)
  #DataMapper::Logger.new($stdout, :info)

  #DataMapper.setup(:default, config[:data_mapper] || {:adapter => 'yaml', :path => '/tmp/am_test2'})
  DataMapper.setup(:default, options[:dm_db])

  require 'omf-sfa/resource'
  DataMapper::Model.raise_on_save_failure = true
  DataMapper.finalize

  # require  'dm-migrations'
  # DataMapper.auto_migrate!

  DataMapper.auto_upgrade! if options[:dm_auto_upgrade]
end

#init_loggerObject



24
25
26
27
28
# File 'lib/omf-sfa/am/am-rest/am_rest_server.rb', line 24

def init_logger
  OMF::Base::Loggable.init_log 'server', :searchPath => File.join(File.dirname(__FILE__), 'server')

  #@config = OMF::Base::YAML.load('config', :path => [File.dirname(__FILE__) + '/../../../etc/gimi-exp-service'])[:gimi_exp_service]
end

#load_test_state(options) ⇒ Object



54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/omf-sfa/am/am-rest/am_rest_server.rb', line 54

def load_test_state(options)
  require 'omf-sfa/am/am-rest/rest_handler'
  OMF::SFA::AM::Rest::RestHandler.set_service_name("OMF Test AM")

  require  'dm-migrations'
  DataMapper.auto_migrate!

  am = nil

  require 'omf-sfa/resource/oaccount'
  #account = am.find_or_create_account(:name => 'foo')
   = OMF::SFA::Resource::OAccount.create(:name => 'system')
  slice1 = OMF::SFA::Resource::OAccount.create(
            :name => 'slice1',
            :uuid => UUIDTools::UUID.sha1_create(UUIDTools::UUID_DNS_NAMESPACE, 'slice1')
  )

  require 'omf-sfa/resource/node'
  nodes = []
  3.times do |i|
    name = "n#{i}"
    uuid = UUIDTools::UUID.sha1_create(UUIDTools::UUID_DNS_NAMESPACE, name)
    nodes << (n = OMF::SFA::Resource::Node.create(:name => name, :uuid => uuid, :account => slice1))
    am.manage_resource(n) if am
    n.save
    #puts ">>>> #{n.inspect}"
  end
end

#run(opts) ⇒ Object



83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# File 'lib/omf-sfa/am/am-rest/am_rest_server.rb', line 83

def run(opts)
  opts[:handlers] = {
    # Should be done in a better way
    :pre_rackup => lambda {
    },
    :pre_parse => lambda do |p, options|
      p.on("--test-load-am", "Load an initial state for testing") do |n| options[:load_test_state] = true end
      p.separator ""
      p.separator "Datamapper options:"
      p.on("--dm-db URL", "Datamapper database [#{options[:dm_db]}]") do |u| options[:dm_db] = u end
      p.on("--dm-log FILE", "Datamapper log file [#{options[:dm_log]}]") do |n| options[:dm_log] = n end
      p.on("--dm-auto-upgrade", "Run Datamapper's auto upgrade") do |n| options[:dm_auto_upgrade] = true end
      p.separator ""
    end,
    :pre_run => lambda do |opts|
      init_logger()
      init_data_mapper(opts)
      load_test_state(opts) if opts[:load_test_state]
    end
  }


  #Thin::Logging.debug = true
  require 'omf_base/thin/runner'
  OMF::Base::Thin::Runner.new(ARGV, opts).run!
end