public class org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor extends org.apache.helix.rest.server.resources.helix.AbstractHelixResource
{
private static org.slf4j.Logger LOG;
private static final java.lang.String CONTENT_KEY;
private static final org.apache.helix.zookeeper.datamodel.serializer.ZNRecordSerializer ZN_RECORD_SERIALIZER;
public void <init>()
{
org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor v;
v := @this: org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor;
specialinvoke v.<org.apache.helix.rest.server.resources.helix.AbstractHelixResource: void <init>()>();
return;
}
public javax.ws.rs.core.Response getPropertyByPath(java.lang.String, java.lang.String)
{
javax.ws.rs.core.Response$Status v, v;
boolean v, v;
org.apache.helix.zookeeper.datamodel.serializer.ZNRecordSerializer v;
javax.ws.rs.core.Response v, v, v, v, v;
org.apache.helix.BaseDataAccessor v;
javax.ws.rs.core.Response$ResponseBuilder v, v, v;
javax.ws.rs.WebApplicationException v, v;
java.lang.Object[] v;
com.fasterxml.jackson.databind.node.ObjectNode v;
int v, v;
java.lang.String v, v, v, v, v, v, v;
org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor v;
org.slf4j.Logger v;
com.fasterxml.jackson.databind.ObjectMapper v;
java.lang.Object v, v;
v := @this: org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("/\u0001");
v = staticinvoke <org.apache.helix.msdcommon.util.ZkValidationUtil: boolean isPathValid(java.lang.String)>(v);
if v != 0 goto label;
v = <org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("The propertyStore path {} is invalid for cluster {}", v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>("Invalid path string. Valid path strings use slash as the directory separator and names the location of ZNode");
return v;
label:
v = staticinvoke <org.apache.helix.PropertyPathBuilder: java.lang.String propertyStore(java.lang.String)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u0001");
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor: org.apache.helix.BaseDataAccessor getByteArrayDataAccessor()>();
v = <org.apache.helix.AccessOption: int PERSISTENT>;
v = interfaceinvoke v.<org.apache.helix.BaseDataAccessor: boolean exists(java.lang.String,int)>(v, v);
if v != 0 goto label;
v = new javax.ws.rs.WebApplicationException;
v = <javax.ws.rs.core.Response$Status: javax.ws.rs.core.Response$Status NOT_FOUND>;
v = staticinvoke <javax.ws.rs.core.Response: javax.ws.rs.core.Response$ResponseBuilder status(javax.ws.rs.core.Response$Status)>(v);
v = newarray (java.lang.Object)[1];
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("The property store path %s doesn\'t exist", v);
v = virtualinvoke v.<javax.ws.rs.core.Response$ResponseBuilder: javax.ws.rs.core.Response$ResponseBuilder entity(java.lang.Object)>(v);
v = virtualinvoke v.<javax.ws.rs.core.Response$ResponseBuilder: javax.ws.rs.core.Response build()>();
specialinvoke v.<javax.ws.rs.WebApplicationException: void <init>(javax.ws.rs.core.Response)>(v);
throw v;
label:
v = <org.apache.helix.AccessOption: int PERSISTENT>;
v = interfaceinvoke v.<org.apache.helix.BaseDataAccessor: java.lang.Object get(java.lang.String,org.apache.zookeeper.data.Stat,int)>(v, null, v);
if v != null goto label;
v = new javax.ws.rs.WebApplicationException;
v = <javax.ws.rs.core.Response$Status: javax.ws.rs.core.Response$Status NO_CONTENT>;
v = staticinvoke <javax.ws.rs.core.Response: javax.ws.rs.core.Response$ResponseBuilder status(javax.ws.rs.core.Response$Status)>(v);
v = virtualinvoke v.<javax.ws.rs.core.Response$ResponseBuilder: javax.ws.rs.core.Response build()>();
specialinvoke v.<javax.ws.rs.WebApplicationException: void <init>(javax.ws.rs.core.Response)>(v);
throw v;
label:
v = <org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor: org.apache.helix.zookeeper.datamodel.serializer.ZNRecordSerializer ZN_RECORD_SERIALIZER>;
v = virtualinvoke v.<org.apache.helix.zookeeper.datamodel.serializer.ZNRecordSerializer: java.lang.Object deserialize(byte[])>(v);
if v != null goto label;
v = <org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor: com.fasterxml.jackson.databind.ObjectMapper OBJECT_MAPPER>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: com.fasterxml.jackson.databind.node.ObjectNode createObjectNode()>();
v = new java.lang.String;
specialinvoke v.<java.lang.String: void <init>(byte[])>(v);
virtualinvoke v.<com.fasterxml.jackson.databind.node.ObjectNode: com.fasterxml.jackson.databind.node.ObjectNode put(java.lang.String,java.lang.String)>("content", v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor: javax.ws.rs.core.Response JSONRepresentation(java.lang.Object)>(v);
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor: javax.ws.rs.core.Response JSONRepresentation(java.lang.Object)>(v);
return v;
}
public javax.ws.rs.core.Response putPropertyByPath(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
{
byte[] v;
org.apache.helix.HelixDataAccessor v;
boolean v, v, v, v;
java.lang.Exception v;
org.apache.helix.zookeeper.datamodel.ZNRecord v;
javax.ws.rs.core.Response v, v, v, v, v, v;
org.apache.helix.BaseDataAccessor v, v;
int v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v;
org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor v;
org.slf4j.Logger v, v;
java.io.IOException v;
v := @this: org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("/\u0001");
v = staticinvoke <org.apache.helix.msdcommon.util.ZkValidationUtil: boolean isPathValid(java.lang.String)>(v);
if v != 0 goto label;
v = <org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("The propertyStore path {} is invalid for cluster {}", v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>("Invalid path string. Valid path strings use slash as the directory separator and names the location of ZNode");
return v;
label:
v = staticinvoke <org.apache.helix.PropertyPathBuilder: java.lang.String propertyStore(java.lang.String)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u0001");
label:
v = staticinvoke <java.lang.Boolean: boolean parseBoolean(java.lang.String)>(v);
if v == 0 goto label;
label:
v = staticinvoke <org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor: org.apache.helix.zookeeper.datamodel.ZNRecord toZNRecord(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor: org.apache.helix.HelixDataAccessor getDataAccssor(java.lang.String)>(v);
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: org.apache.helix.BaseDataAccessor getBaseDataAccessor()>();
v = <org.apache.helix.AccessOption: int PERSISTENT>;
v = interfaceinvoke v.<org.apache.helix.BaseDataAccessor: boolean set(java.lang.String,java.lang.Object,int)>(v, v, v);
if v != 0 goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Failed to set content: \u in PropertyStore path: \u0001");
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor: javax.ws.rs.core.Response serverError(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Failed to deserialize content \u into a ZNRecord!");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Failed to write to path: \u0001! Content is not a valid ZNRecord!");
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>(v);
label:
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor: org.apache.helix.BaseDataAccessor getByteArrayDataAccessor()>();
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
v = <org.apache.helix.AccessOption: int PERSISTENT>;
v = interfaceinvoke v.<org.apache.helix.BaseDataAccessor: boolean set(java.lang.String,java.lang.Object,int)>(v, v, v);
if v != 0 goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Failed to set content: \u in PropertyStore path: \u0001");
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor: javax.ws.rs.core.Response serverError(java.lang.String)>(v);
label:
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor: javax.ws.rs.core.Response OK()>();
label:
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor: javax.ws.rs.core.Response serverError(java.lang.Exception)>(v);
return v;
catch java.io.IOException from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
}
public javax.ws.rs.core.Response deletePropertyByPath(java.lang.String, java.lang.String)
{
org.slf4j.Logger v;
javax.ws.rs.core.Response v, v, v;
org.apache.helix.BaseDataAccessor v;
int v;
java.lang.String v, v, v, v, v, v;
org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor v;
boolean v, v;
v := @this: org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("/\u0001");
v = staticinvoke <org.apache.helix.msdcommon.util.ZkValidationUtil: boolean isPathValid(java.lang.String)>(v);
if v != 0 goto label;
v = <org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("The propertyStore path {} is invalid for cluster {}", v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>("Invalid path string. Valid path strings use slash as the directory separator and names the location of ZNode");
return v;
label:
v = staticinvoke <org.apache.helix.PropertyPathBuilder: java.lang.String propertyStore(java.lang.String)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u0001");
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor: org.apache.helix.BaseDataAccessor getByteArrayDataAccessor()>();
v = <org.apache.helix.AccessOption: int PERSISTENT>;
v = interfaceinvoke v.<org.apache.helix.BaseDataAccessor: boolean remove(java.lang.String,int)>(v, v);
if v != 0 goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Failed to delete PropertyStore record in path: \u0001");
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor: javax.ws.rs.core.Response serverError(java.lang.String)>(v);
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor: javax.ws.rs.core.Response OK()>();
return v;
}
static void <clinit>()
{
org.apache.helix.zookeeper.datamodel.serializer.ZNRecordSerializer v;
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/helix/rest/server/resources/helix/PropertyStoreAccessor;");
<org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor: org.slf4j.Logger LOG> = v;
v = new org.apache.helix.zookeeper.datamodel.serializer.ZNRecordSerializer;
specialinvoke v.<org.apache.helix.zookeeper.datamodel.serializer.ZNRecordSerializer: void <init>()>();
<org.apache.helix.rest.server.resources.helix.PropertyStoreAccessor: org.apache.helix.zookeeper.datamodel.serializer.ZNRecordSerializer ZN_RECORD_SERIALIZER> = v;
return;
}
}