HBASE-21947 TestShell is broken after we remove the jackson dependencies
Signed-off-by: Andrew Purtell <apurtell@apache.org>
This commit is contained in:
parent
1df99624a5
commit
37e5e47faa
|
@ -33,20 +33,21 @@ module Hbase
|
|||
# Represents information reported by a server on a single MonitoredTask
|
||||
class Task
|
||||
|
||||
def initialize(taskMap,host)
|
||||
|
||||
taskMap.each_pair do |k,v|
|
||||
def initialize(taskMap, host)
|
||||
taskMap.entrySet.each do |entry|
|
||||
k = entry.getKey
|
||||
v = entry.getValue
|
||||
case k
|
||||
when "statustimems"
|
||||
@statustime = Time.at(v/1000)
|
||||
when "status"
|
||||
@status = v
|
||||
when "starttimems"
|
||||
@starttime = Time.at(v/1000)
|
||||
when "description"
|
||||
@description = v
|
||||
when "state"
|
||||
@state = v
|
||||
when 'statustimems'
|
||||
@statustime = Time.at(v.getAsLong / 1000)
|
||||
when 'status'
|
||||
@status = v.getAsString
|
||||
when 'starttimems'
|
||||
@starttime = Time.at(v.getAsLong / 1000)
|
||||
when 'description'
|
||||
@description = v.getAsString
|
||||
when 'state'
|
||||
@state = v.getAsString
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -82,7 +83,8 @@ module Hbase
|
|||
def tasksOnHost(filter,host)
|
||||
|
||||
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
|
||||
|
||||
|
@ -96,16 +98,19 @@ module Hbase
|
|||
schema = "http://"
|
||||
url = schema + host.hostname + ":" + infoport + "/rs-status?format=json&filter=" + filter
|
||||
|
||||
json = URL.new(url)
|
||||
mapper = ObjectMapper.new
|
||||
json = URL.new(url).openStream
|
||||
parser = JsonParser.new
|
||||
|
||||
# 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
|
||||
tasks = Array.new
|
||||
tasksArrayList.each do |t|
|
||||
tasks.unshift Task.new(t,host)
|
||||
tasks = []
|
||||
tasks_array_list.each do |t|
|
||||
tasks.unshift Task.new(t.getAsJsonObject, host)
|
||||
end
|
||||
|
||||
return tasks
|
||||
|
|
Loading…
Reference in New Issue