HBASE-21947 TestShell is broken after we remove the jackson dependencies

Signed-off-by: Andrew Purtell <apurtell@apache.org>
This commit is contained in:
zhangduo 2019-02-25 21:32:14 +08:00 committed by Andrew Purtell
parent 1df99624a5
commit 37e5e47faa
No known key found for this signature in database
GPG Key ID: 8597754DD5365CCD
1 changed files with 26 additions and 21 deletions

View File

@ -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