HBASE-21947 TestShell is broken after we remove the jackson dependencies
This commit is contained in:
parent
80830ee555
commit
e1716107f5
|
@ -33,18 +33,20 @@ module Hbase
|
||||||
# Represents information reported by a server on a single MonitoredTask
|
# Represents information reported by a server on a single MonitoredTask
|
||||||
class Task
|
class Task
|
||||||
def initialize(taskMap, host)
|
def initialize(taskMap, host)
|
||||||
taskMap.each_pair do |k, v|
|
taskMap.entrySet.each do |entry|
|
||||||
|
k = entry.getKey
|
||||||
|
v = entry.getValue
|
||||||
case k
|
case k
|
||||||
when 'statustimems'
|
when 'statustimems'
|
||||||
@statustime = Time.at(v / 1000)
|
@statustime = Time.at(v.getAsLong / 1000)
|
||||||
when 'status'
|
when 'status'
|
||||||
@status = v
|
@status = v.getAsString
|
||||||
when 'starttimems'
|
when 'starttimems'
|
||||||
@starttime = Time.at(v / 1000)
|
@starttime = Time.at(v.getAsLong / 1000)
|
||||||
when 'description'
|
when 'description'
|
||||||
@description = v
|
@description = v.getAsString
|
||||||
when 'state'
|
when 'state'
|
||||||
@state = v
|
@state = v.getAsString
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -74,7 +76,8 @@ module Hbase
|
||||||
# Returns a filtered list of tasks on the given host
|
# Returns a filtered list of tasks on the given host
|
||||||
def tasksOnHost(filter, host)
|
def tasksOnHost(filter, host)
|
||||||
java_import 'java.net.URL'
|
java_import 'java.net.URL'
|
||||||
java_import 'com.fasterxml.jackson.databind.ObjectMapper'
|
java_import 'java.io.InputStreamReader'
|
||||||
|
java_import 'org.apache.hbase.thirdparty.com.google.gson.JsonParser'
|
||||||
|
|
||||||
infoport = @admin.getClusterStatus.getLoad(host).getInfoServerPort.to_s
|
infoport = @admin.getClusterStatus.getLoad(host).getInfoServerPort.to_s
|
||||||
|
|
||||||
|
@ -88,16 +91,19 @@ module Hbase
|
||||||
schema = 'http://'
|
schema = 'http://'
|
||||||
url = schema + host.hostname + ':' + infoport + '/rs-status?format=json&filter=' + filter
|
url = schema + host.hostname + ':' + infoport + '/rs-status?format=json&filter=' + filter
|
||||||
|
|
||||||
json = URL.new(url)
|
json = URL.new(url).openStream
|
||||||
mapper = ObjectMapper.new
|
parser = JsonParser.new
|
||||||
|
|
||||||
# read and parse JSON
|
# read and parse JSON
|
||||||
tasksArrayList = mapper.readValue(json, java.lang.Object.java_class)
|
begin
|
||||||
|
tasks_array_list = parser.parse(InputStreamReader.new(json, 'UTF-8')).getAsJsonArray
|
||||||
|
ensure
|
||||||
|
json.close
|
||||||
|
end
|
||||||
# convert to an array of TaskMonitor::Task instances
|
# convert to an array of TaskMonitor::Task instances
|
||||||
tasks = []
|
tasks = []
|
||||||
tasksArrayList.each do |t|
|
tasks_array_list.each do |t|
|
||||||
tasks.unshift Task.new(t, host)
|
tasks.unshift Task.new(t.getAsJsonObject, host)
|
||||||
end
|
end
|
||||||
|
|
||||||
tasks
|
tasks
|
||||||
|
|
Loading…
Reference in New Issue