class Fairdom::OpenbisApi::JavaExecution

Attributes

query_object[R]

Public Class Methods

new(query_object) click to toggle source
# File lib/fairdom/openbis_api/java_execution.rb, line 9
def initialize(query_object)
  @query_object = query_object
end

Public Instance Methods

execute(options) click to toggle source
# File lib/fairdom/openbis_api/java_execution.rb, line 13
def execute(options)
  command = execute_command(options)
  output = Terrapin::CommandLine.new(command).run
  JSON.parse(output.strip)
rescue Terrapin::ExitStatusError => exception
  raise OpenbisQueryException, exception.message
end

Private Instance Methods

command_from_options(options) click to toggle source
# File lib/fairdom/openbis_api/java_execution.rb, line 27
def command_from_options(options)
  options.collect do |key, value|
    "%#{key}%:%#{value.tr(' ', '+')}%"
  end.join("\,")
end
execute_command(options) click to toggle source
# File lib/fairdom/openbis_api/java_execution.rb, line 23
def execute_command(options)
  "#{java_root_command} -#{query_object.command_option_key} '{#{command_from_options(options)}}'"
end
jar_file() click to toggle source
# File lib/fairdom/openbis_api/java_execution.rb, line 41
def jar_file
  "openseek-api-#{Fairdom::OpenbisApi::JAR_VERSION}.jar"
end
jar_path() click to toggle source
# File lib/fairdom/openbis_api/java_execution.rb, line 37
def jar_path
  File.join(File.dirname(__dir__), "../../jars/#{jar_file}")
end
java_root_command() click to toggle source
# File lib/fairdom/openbis_api/java_execution.rb, line 33
def java_root_command
  "java -jar #{jar_path} #{query_object.root_command_options}"
end