use of org.apache.hbase.thirdparty.com.google.gson.JsonElement in project hbase by apache.
the class ProtobufMessageConverter method toJsonElement.
public static JsonElement toJsonElement(MessageOrBuilder messageOrBuilder, boolean removeType) throws InvalidProtocolBufferException {
String jsonString = toJsonString(messageOrBuilder);
JsonParser parser = new JsonParser();
JsonElement element = parser.parse(jsonString);
if (removeType) {
removeTypeFromJson(element);
}
return element;
}
use of org.apache.hbase.thirdparty.com.google.gson.JsonElement in project hbase by apache.
the class ProtobufUtil method toLockJson.
public static String toLockJson(List<LockServiceProtos.LockedResource> lockedResourceProtos) {
JsonArray lockedResourceJsons = new JsonArray(lockedResourceProtos.size());
for (LockServiceProtos.LockedResource lockedResourceProto : lockedResourceProtos) {
try {
JsonElement lockedResourceJson = ProtobufMessageConverter.toJsonElement(lockedResourceProto);
lockedResourceJsons.add(lockedResourceJson);
} catch (InvalidProtocolBufferException e) {
lockedResourceJsons.add(e.toString());
}
}
return lockedResourceJsons.toString();
}
use of org.apache.hbase.thirdparty.com.google.gson.JsonElement in project hbase by apache.
the class ProcedureTestUtil method getProcedure.
private static Optional<JsonObject> getProcedure(HBaseTestingUtil util, Class<? extends Procedure<?>> clazz, JsonParser parser) throws IOException {
JsonArray array = parser.parse(util.getAdmin().getProcedures()).getAsJsonArray();
Iterator<JsonElement> iterator = array.iterator();
while (iterator.hasNext()) {
JsonElement element = iterator.next();
JsonObject obj = element.getAsJsonObject();
String className = obj.get("className").getAsString();
if (className.equals(clazz.getName())) {
return Optional.of(obj);
}
}
return Optional.empty();
}
use of org.apache.hbase.thirdparty.com.google.gson.JsonElement in project hbase by apache.
the class RESTApiClusterManager method getRolePropertyValue.
// Get the value of a property from a role on a particular host.
private String getRolePropertyValue(String serviceName, String roleType, String hostId, String property) {
String roleValue = null;
URI uri = UriBuilder.fromUri(serverHostname).path("api").path(API_VERSION).path("clusters").path(clusterName).path("services").path(serviceName).path("roles").build();
JsonElement roles = parser.parse(getFromURIGet(uri)).getAsJsonObject().get("items");
if (roles != null) {
// Iterate through the list of roles, stopping once the requested one is found.
for (JsonElement role : roles.getAsJsonArray()) {
JsonObject roleObj = role.getAsJsonObject();
if (roleObj.get("hostRef").getAsJsonObject().get("hostId").getAsString().equals(hostId) && roleObj.get("type").getAsString().toLowerCase(Locale.ROOT).equals(roleType.toLowerCase(Locale.ROOT))) {
roleValue = roleObj.get(property).getAsString();
break;
}
}
}
return roleValue;
}
use of org.apache.hbase.thirdparty.com.google.gson.JsonElement in project hbase by apache.
the class RESTApiClusterManager method getHostId.
// This API uses a hostId to execute host-specific commands; get one from a hostname.
private String getHostId(String hostname) {
String hostId = null;
URI uri = UriBuilder.fromUri(serverHostname).path("api").path(API_VERSION).path("hosts").build();
JsonElement hosts = parser.parse(getFromURIGet(uri)).getAsJsonObject().get("items");
if (hosts != null) {
// Iterate through the list of hosts, stopping once you've reached the requested hostname.
for (JsonElement host : hosts.getAsJsonArray()) {
if (host.getAsJsonObject().get("hostname").getAsString().equals(hostname)) {
hostId = host.getAsJsonObject().get("hostId").getAsString();
break;
}
}
}
return hostId;
}
Aggregations