public class org.apache.zookeeper.server.admin.JsonOutputter extends java.lang.Object implements org.apache.zookeeper.server.admin.CommandOutputter
{
static final org.slf4j.Logger LOG;
public static final java.lang.String ERROR_RESPONSE;
private com.fasterxml.jackson.databind.ObjectMapper mapper;
private final java.lang.String clientIP;
public void <init>(java.lang.String)
{
com.fasterxml.jackson.databind.PropertyNamingStrategy v;
com.fasterxml.jackson.databind.ObjectMapper v, v, v, v;
org.apache.zookeeper.server.admin.JsonOutputter v;
com.fasterxml.jackson.databind.SerializationFeature v, v;
java.lang.String v;
v := @this: org.apache.zookeeper.server.admin.JsonOutputter;
v := @parameter: java.lang.String;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new com.fasterxml.jackson.databind.ObjectMapper;
specialinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: void <init>()>();
v.<org.apache.zookeeper.server.admin.JsonOutputter: com.fasterxml.jackson.databind.ObjectMapper mapper> = v;
v = v.<org.apache.zookeeper.server.admin.JsonOutputter: com.fasterxml.jackson.databind.ObjectMapper mapper>;
v = <com.fasterxml.jackson.databind.SerializationFeature: com.fasterxml.jackson.databind.SerializationFeature WRITE_ENUMS_USING_TO_STRING>;
virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: com.fasterxml.jackson.databind.ObjectMapper configure(com.fasterxml.jackson.databind.SerializationFeature,boolean)>(v, 1);
v = v.<org.apache.zookeeper.server.admin.JsonOutputter: com.fasterxml.jackson.databind.ObjectMapper mapper>;
v = <com.fasterxml.jackson.databind.SerializationFeature: com.fasterxml.jackson.databind.SerializationFeature INDENT_OUTPUT>;
virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: com.fasterxml.jackson.databind.ObjectMapper configure(com.fasterxml.jackson.databind.SerializationFeature,boolean)>(v, 1);
v = v.<org.apache.zookeeper.server.admin.JsonOutputter: com.fasterxml.jackson.databind.ObjectMapper mapper>;
v = <com.fasterxml.jackson.databind.PropertyNamingStrategies: com.fasterxml.jackson.databind.PropertyNamingStrategy SNAKE_CASE>;
virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: com.fasterxml.jackson.databind.ObjectMapper setPropertyNamingStrategy(com.fasterxml.jackson.databind.PropertyNamingStrategy)>(v);
v.<org.apache.zookeeper.server.admin.JsonOutputter: java.lang.String clientIP> = v;
return;
}
public java.lang.String getContentType()
{
org.apache.zookeeper.server.admin.JsonOutputter v;
v := @this: org.apache.zookeeper.server.admin.JsonOutputter;
return "application/json";
}
public void output(org.apache.zookeeper.server.admin.CommandResponse, java.io.PrintWriter)
{
java.io.PrintWriter v;
java.lang.Throwable v, v;
org.slf4j.Logger v, v, v;
com.fasterxml.jackson.databind.ObjectMapper v;
java.io.IOException v;
org.apache.zookeeper.server.admin.JsonOutputter v;
org.apache.zookeeper.server.admin.CommandResponse v;
java.util.Map v;
java.lang.String v;
v := @this: org.apache.zookeeper.server.admin.JsonOutputter;
v := @parameter: org.apache.zookeeper.server.admin.CommandResponse;
v := @parameter: java.io.PrintWriter;
label:
v = v.<org.apache.zookeeper.server.admin.JsonOutputter: com.fasterxml.jackson.databind.ObjectMapper mapper>;
v = virtualinvoke v.<org.apache.zookeeper.server.admin.CommandResponse: java.util.Map toMap()>();
virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: void writeValue(java.io.Writer,java.lang.Object)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.admin.JsonOutputter: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Exception writing command response to JSON:", v);
virtualinvoke v.<java.io.PrintWriter: void write(java.lang.String)>("{\"error\": \"Exception writing command response to JSON\"}");
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.admin.JsonOutputter: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Exception writing command response to JSON:", v);
virtualinvoke v.<java.io.PrintWriter: void write(java.lang.String)>("{\"error\": \"Exception writing command response to JSON\"}");
goto label;
label:
v := @caughtexception;
v = <org.apache.zookeeper.server.admin.JsonOutputter: org.slf4j.Logger LOG>;
v = v.<org.apache.zookeeper.server.admin.JsonOutputter: java.lang.String clientIP>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Exception writing command response as JSON to {}", v, v);
virtualinvoke v.<java.io.PrintWriter: void write(java.lang.String)>("{\"error\": \"Exception writing command response to JSON\"}");
label:
return;
catch com.fasterxml.jackson.core.JsonGenerationException from label to label with label;
catch com.fasterxml.jackson.databind.JsonMappingException from label to label with label;
catch java.io.IOException from label to label with label;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/zookeeper/server/admin/JsonOutputter;");
<org.apache.zookeeper.server.admin.JsonOutputter: org.slf4j.Logger LOG> = v;
return;
}
}