public class org.apache.helix.rest.server.resources.helix.ClusterAccessor extends org.apache.helix.rest.server.resources.helix.AbstractHelixResource
{
private static org.slf4j.Logger LOG;
public void <init>()
{
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
specialinvoke v.<org.apache.helix.rest.server.resources.helix.AbstractHelixResource: void <init>()>();
return;
}
public javax.ws.rs.core.Response getClusters()
{
java.util.List v;
org.apache.helix.HelixAdmin v;
javax.ws.rs.core.Response v;
java.util.HashMap v;
java.lang.String v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixAdmin getHelixAdmin()>();
v = interfaceinvoke v.<org.apache.helix.HelixAdmin: java.util.List getClusters()>();
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties clusters>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: java.lang.String name()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response JSONRepresentation(java.lang.Object)>(v);
return v;
}
public javax.ws.rs.core.Response getClusterInfo(java.lang.String)
{
org.apache.helix.PropertyKey v, v, v, v, v;
org.apache.helix.HelixDataAccessor v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
boolean v, v, v;
org.apache.helix.rest.server.resources.AbstractResource$Properties v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties v, v, v, v, v, v, v;
java.util.List v, v, v;
javax.ws.rs.core.Response v, v;
org.apache.helix.BaseDataAccessor v;
org.apache.helix.PropertyKey$Builder v;
java.util.HashMap v;
org.apache.helix.HelixProperty v;
int v;
java.lang.Boolean v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v;
org.apache.helix.HelixAdmin v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v = specialinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: boolean doesClusterExist(java.lang.String)>(v);
if v != 0 goto label;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response notFound()>();
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixDataAccessor getDataAccssor(java.lang.String)>(v);
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: org.apache.helix.PropertyKey$Builder keyBuilder()>();
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = <org.apache.helix.rest.server.resources.AbstractResource$Properties: org.apache.helix.rest.server.resources.AbstractResource$Properties id>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.AbstractResource$Properties: java.lang.String name()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.apache.helix.PropertyKey$Builder: org.apache.helix.PropertyKey controllerLeader()>();
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: org.apache.helix.HelixProperty getProperty(org.apache.helix.PropertyKey)>(v);
if v == null goto label;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties controller>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: java.lang.String name()>();
v = virtualinvoke v.<org.apache.helix.model.LiveInstance: java.lang.String getInstanceName()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties controller>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: java.lang.String name()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, "No Lead Controller!");
label:
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: org.apache.helix.BaseDataAccessor getBaseDataAccessor()>();
v = virtualinvoke v.<org.apache.helix.PropertyKey$Builder: org.apache.helix.PropertyKey pause()>();
v = virtualinvoke v.<org.apache.helix.PropertyKey: java.lang.String getPath()>();
v = <org.apache.helix.AccessOption: int PERSISTENT>;
v = interfaceinvoke v.<org.apache.helix.BaseDataAccessor: boolean exists(java.lang.String,int)>(v, v);
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties paused>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: java.lang.String name()>();
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixAdmin getHelixAdmin()>();
v = interfaceinvoke v.<org.apache.helix.HelixAdmin: boolean isInMaintenanceMode(java.lang.String)>(v);
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties maintenance>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: java.lang.String name()>();
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.apache.helix.PropertyKey$Builder: org.apache.helix.PropertyKey idealStates()>();
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: java.util.List getChildNames(org.apache.helix.PropertyKey)>(v);
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties resources>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: java.lang.String name()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.apache.helix.PropertyKey$Builder: org.apache.helix.PropertyKey instanceConfigs()>();
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: java.util.List getChildNames(org.apache.helix.PropertyKey)>(v);
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties instances>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: java.lang.String name()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.apache.helix.PropertyKey$Builder: org.apache.helix.PropertyKey liveInstances()>();
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: java.util.List getChildNames(org.apache.helix.PropertyKey)>(v);
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties liveInstances>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: java.lang.String name()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response JSONRepresentation(java.lang.Object)>(v);
return v;
}
public javax.ws.rs.core.Response createCluster(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
{
java.lang.Throwable v;
org.apache.helix.model.CloudConfig$Builder v;
java.lang.String v, v, v, v, v, v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
boolean v, v;
org.slf4j.Logger v, v;
org.apache.helix.model.CloudConfig v;
org.apache.helix.tools.ClusterSetup v;
java.lang.Exception v;
org.apache.helix.zookeeper.datamodel.ZNRecord v;
javax.ws.rs.core.Response v, v, v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = staticinvoke <java.lang.Boolean: boolean parseBoolean(java.lang.String)>(v);
v = staticinvoke <java.lang.Boolean: boolean parseBoolean(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.tools.ClusterSetup getClusterSetup()>();
v = null;
if v == 0 goto label;
label:
v = staticinvoke <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.zookeeper.datamodel.ZNRecord toZNRecord(java.lang.String)>(v);
v = new org.apache.helix.model.CloudConfig$Builder;
specialinvoke v.<org.apache.helix.model.CloudConfig$Builder: void <init>(org.apache.helix.zookeeper.datamodel.ZNRecord)>(v);
v = virtualinvoke v.<org.apache.helix.model.CloudConfig$Builder: org.apache.helix.model.CloudConfig build()>();
label:
goto label;
label:
v := @caughtexception;
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 generate a valid CloudConfig from \u0001");
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
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[])>("\u Exception: \u0001");
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>(v);
return v;
label:
virtualinvoke v.<org.apache.helix.tools.ClusterSetup: void addCluster(java.lang.String,boolean,org.apache.helix.model.CloudConfig)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to create cluster {}. Exception: {}.", v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response serverError(java.lang.Exception)>(v);
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response created()>();
return v;
catch java.io.IOException from label to label with label;
catch org.apache.helix.HelixException from label to label with label;
catch java.lang.Exception from label to label with label;
}
public javax.ws.rs.core.Response deleteCluster(java.lang.String)
{
java.lang.Throwable v;
org.slf4j.Logger v, v;
org.apache.helix.tools.ClusterSetup v;
java.lang.Exception v;
javax.ws.rs.core.Response v, v, v;
java.lang.String v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.tools.ClusterSetup getClusterSetup()>();
label:
virtualinvoke v.<org.apache.helix.tools.ClusterSetup: void deleteCluster(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to delete cluster {}, cluster is still in use. Exception: {}.", v, v);
v = virtualinvoke v.<org.apache.helix.HelixException: java.lang.String getMessage()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>(v);
return v;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to delete cluster {}. Exception: {}.", v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response serverError(java.lang.Exception)>(v);
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response OK()>();
return v;
catch org.apache.helix.HelixException from label to label with label;
catch java.lang.Exception from label to label with label;
}
public javax.ws.rs.core.Response updateCluster(java.lang.String, java.lang.String, java.lang.String, java.lang.Long, java.lang.String)
{
byte v;
int[] v;
java.lang.Long v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
boolean v;
org.apache.helix.tools.ClusterSetup v;
java.lang.Exception v, v, v, v, v, v, v;
java.util.List v;
javax.ws.rs.core.Response v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Throwable v, v, v;
java.lang.Object[] v, v;
long v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor$1 v;
int v, v;
java.lang.String v, v, v, v, v, v, v, v, v;
org.slf4j.Logger v, v, v, v, v, v, v, v;
com.fasterxml.jackson.databind.ObjectMapper v;
java.lang.IllegalArgumentException v;
org.apache.helix.rest.server.resources.AbstractResource$Command v, v;
org.apache.helix.HelixAdmin v;
java.lang.Object v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Long;
v := @parameter: java.lang.String;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.rest.server.resources.AbstractResource$Command getCommand(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.helix.HelixException: java.lang.String getMessage()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>(v);
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.tools.ClusterSetup getClusterSetup()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixAdmin getHelixAdmin()>();
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor$3: int[] $SwitchMap$org$apache$helix$rest$server$resources$AbstractResource$Command>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.AbstractResource$Command: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
case 9: goto label;
case 10: goto label;
default: goto label;
};
label:
if v != null goto label;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>("Super Cluster name is missing!");
return v;
label:
virtualinvoke v.<org.apache.helix.tools.ClusterSetup: void activateCluster(java.lang.String,java.lang.String,boolean)>(v, v, 1);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to add cluster {} to super cluster {}.", v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response serverError(java.lang.Exception)>(v);
return v;
label:
if v != null goto label;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>("Super Cluster name is missing!");
return v;
label:
virtualinvoke v.<org.apache.helix.tools.ClusterSetup: void activateCluster(java.lang.String,java.lang.String,boolean)>(v, v, 0);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to deactivate cluster {} from super cluster {}.", v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response serverError(java.lang.Exception)>(v);
return v;
label:
specialinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: void addVirtualTopologyGroup(java.lang.String,java.lang.String)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to parse json string: {}", 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[])>("Invalid payload json body: \u0001");
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>(v);
return v;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
v[0] = v;
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object[])>("Illegal input {} for command {}.", v);
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Illegal input %s for command %s", v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>(v);
return v;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to add virtual topology group to cluster {}", v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response serverError(java.lang.Exception)>(v);
return v;
label:
virtualinvoke v.<org.apache.helix.tools.ClusterSetup: void expandCluster(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object)>("Failed to expand cluster {}.", v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response serverError(java.lang.Exception)>(v);
return v;
label:
interfaceinvoke v.<org.apache.helix.HelixAdmin: void enableCluster(java.lang.String,boolean)>(v, 1);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object)>("Failed to enable cluster {}.", v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response serverError(java.lang.Exception)>(v);
return v;
label:
interfaceinvoke v.<org.apache.helix.HelixAdmin: void enableCluster(java.lang.String,boolean)>(v, 0);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object)>("Failed to disable cluster {}.", v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response serverError(java.lang.Exception)>(v);
return v;
label:
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: com.fasterxml.jackson.databind.ObjectMapper OBJECT_MAPPER>;
v = new org.apache.helix.rest.server.resources.helix.ClusterAccessor$1;
specialinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor$1: void <init>(org.apache.helix.rest.server.resources.helix.ClusterAccessor)>(v);
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: java.lang.Object readValue(java.lang.String,com.fasterxml.jackson.core.type.TypeReference)>(v, v);
v = null;
label:
goto label;
label:
v := @caughtexception;
label:
v = <org.apache.helix.rest.server.resources.AbstractResource$Command: org.apache.helix.rest.server.resources.AbstractResource$Command enableMaintenanceMode>;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
interfaceinvoke v.<org.apache.helix.HelixAdmin: void manuallyEnableMaintenanceMode(java.lang.String,boolean,java.lang.String,java.util.Map)>(v, v, v, v);
goto label;
label:
v = interfaceinvoke v.<org.apache.helix.HelixAdmin: java.util.List getResourcesInCluster(java.lang.String)>(v);
label:
interfaceinvoke v.<org.apache.helix.HelixAdmin: boolean enableWagedRebalance(java.lang.String,java.util.List)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.helix.HelixException: java.lang.String getMessage()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>(v);
return v;
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v cmp 0L;
if v >= 0 goto label;
label:
interfaceinvoke v.<org.apache.helix.HelixAdmin: void purgeOfflineInstances(java.lang.String,long)>(v, -1L);
goto label;
label:
v = virtualinvoke v.<java.lang.Long: long longValue()>();
interfaceinvoke v.<org.apache.helix.HelixAdmin: void purgeOfflineInstances(java.lang.String,long)>(v, v);
goto label;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.helix.rest.server.resources.AbstractResource$Command)>(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[])>("Unsupported command {}.\u0001");
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>(v);
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response OK()>();
return v;
catch org.apache.helix.HelixException 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 com.fasterxml.jackson.core.JsonProcessingException from label to label with label;
catch java.lang.IllegalArgumentException 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;
catch java.lang.Exception from label to label with label;
catch org.apache.helix.HelixException from label to label with label;
}
private void addVirtualTopologyGroup(java.lang.String, java.lang.String) throws com.fasterxml.jackson.core.JsonProcessingException
{
com.fasterxml.jackson.databind.ObjectMapper v;
org.apache.helix.rest.server.service.ClusterServiceImpl v;
org.apache.helix.HelixDataAccessor v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor$2 v;
org.apache.helix.ConfigAccessor v, v;
org.apache.helix.HelixAdmin v;
java.lang.Object v;
java.lang.String v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
org.apache.helix.rest.server.service.VirtualTopologyGroupService v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = new org.apache.helix.rest.server.service.ClusterServiceImpl;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixDataAccessor getDataAccssor(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.ConfigAccessor getConfigAccessor()>();
specialinvoke v.<org.apache.helix.rest.server.service.ClusterServiceImpl: void <init>(org.apache.helix.HelixDataAccessor,org.apache.helix.ConfigAccessor)>(v, v);
v = new org.apache.helix.rest.server.service.VirtualTopologyGroupService;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixAdmin getHelixAdmin()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.ConfigAccessor getConfigAccessor()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixDataAccessor getDataAccssor(java.lang.String)>(v);
specialinvoke v.<org.apache.helix.rest.server.service.VirtualTopologyGroupService: void <init>(org.apache.helix.HelixAdmin,org.apache.helix.rest.server.service.ClusterService,org.apache.helix.ConfigAccessor,org.apache.helix.HelixDataAccessor)>(v, v, v, v);
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: com.fasterxml.jackson.databind.ObjectMapper OBJECT_MAPPER>;
v = new org.apache.helix.rest.server.resources.helix.ClusterAccessor$2;
specialinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor$2: void <init>(org.apache.helix.rest.server.resources.helix.ClusterAccessor)>(v);
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: java.lang.Object readValue(java.lang.String,com.fasterxml.jackson.core.type.TypeReference)>(v, v);
virtualinvoke v.<org.apache.helix.rest.server.service.VirtualTopologyGroupService: void addVirtualTopologyGroup(java.lang.String,java.util.Map)>(v, v);
return;
}
public javax.ws.rs.core.Response getClusterManagementMode(java.lang.String, boolean)
{
org.apache.helix.api.status.ClusterManagementMode$Type v;
java.util.HashMap v;
org.apache.helix.api.status.ClusterManagementMode v;
org.apache.helix.HelixAdmin v;
javax.ws.rs.core.Response v, v;
java.util.Map v;
java.lang.String v, v;
org.apache.helix.api.status.ClusterManagementMode$Status v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
boolean v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixAdmin getHelixAdmin()>();
v = interfaceinvoke v.<org.apache.helix.HelixAdmin: org.apache.helix.api.status.ClusterManagementMode getClusterManagementMode(java.lang.String)>(v);
if v != null 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[])>("Cluster \u is not in management mode");
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response notFound(java.lang.String)>(v);
return v;
label:
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("cluster", v);
v = virtualinvoke v.<org.apache.helix.api.status.ClusterManagementMode: org.apache.helix.api.status.ClusterManagementMode$Type getMode()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("mode", v);
v = virtualinvoke v.<org.apache.helix.api.status.ClusterManagementMode: org.apache.helix.api.status.ClusterManagementMode$Status getStatus()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("status", v);
if v == 0 goto label;
v = specialinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: java.util.Map getManagementModeDetails(java.lang.String,org.apache.helix.api.status.ClusterManagementMode)>(v, v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("details", v);
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response JSONRepresentation(java.lang.Object)>(v);
return v;
}
private java.util.Map getManagementModeDetails(java.lang.String, org.apache.helix.api.status.ClusterManagementMode)
{
org.apache.helix.PropertyKey v, v;
org.apache.zookeeper.data.Stat v;
org.apache.helix.HelixDataAccessor v;
org.apache.helix.api.status.ClusterManagementMode v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
boolean v, v, v, v, v, v, v, v, v;
com.google.common.collect.ImmutableMap v;
org.apache.helix.api.status.ClusterManagementMode$Type v, v, v, v, v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties v;
java.util.List v;
org.apache.helix.BaseDataAccessor v;
org.apache.helix.api.status.ClusterManagementMode$Status v, v;
org.apache.helix.PropertyKey$Builder v;
java.util.HashMap v, v;
org.apache.helix.model.LiveInstance$LiveInstanceStatus v, v, v, v;
java.util.HashSet v;
int v, v;
java.lang.Boolean v;
java.lang.String v, v, v, v, v, v, v;
java.util.Iterator v, v;
java.lang.Object v, v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v := @parameter: org.apache.helix.api.status.ClusterManagementMode;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = virtualinvoke v.<org.apache.helix.api.status.ClusterManagementMode: org.apache.helix.api.status.ClusterManagementMode$Status getStatus()>();
v = virtualinvoke v.<org.apache.helix.api.status.ClusterManagementMode$Status: java.lang.String name()>();
v = staticinvoke <com.google.common.collect.ImmutableMap: com.google.common.collect.ImmutableMap of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object)>("cluster", v, "status", v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("cluster", v);
v = 0;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = <org.apache.helix.api.status.ClusterManagementMode$Status: org.apache.helix.api.status.ClusterManagementMode$Status IN_PROGRESS>;
v = virtualinvoke v.<org.apache.helix.api.status.ClusterManagementMode$Status: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixDataAccessor getDataAccssor(java.lang.String)>(v);
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: org.apache.helix.PropertyKey$Builder keyBuilder()>();
v = virtualinvoke v.<org.apache.helix.PropertyKey$Builder: org.apache.helix.PropertyKey liveInstances()>();
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: java.util.List getChildValues(org.apache.helix.PropertyKey)>(v);
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: org.apache.helix.BaseDataAccessor getBaseDataAccessor()>();
v = <org.apache.helix.api.status.ClusterManagementMode$Type: org.apache.helix.api.status.ClusterManagementMode$Type CLUSTER_FREEZE>;
v = virtualinvoke v.<org.apache.helix.api.status.ClusterManagementMode: org.apache.helix.api.status.ClusterManagementMode$Type getMode()>();
v = virtualinvoke v.<org.apache.helix.api.status.ClusterManagementMode$Type: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.helix.model.LiveInstance: java.lang.String getInstanceName()>();
v = <org.apache.helix.model.LiveInstance$LiveInstanceStatus: org.apache.helix.model.LiveInstance$LiveInstanceStatus FROZEN>;
v = virtualinvoke v.<org.apache.helix.model.LiveInstance: org.apache.helix.model.LiveInstance$LiveInstanceStatus getStatus()>();
v = virtualinvoke v.<org.apache.helix.model.LiveInstance$LiveInstanceStatus: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
v = virtualinvoke v.<org.apache.helix.PropertyKey$Builder: org.apache.helix.PropertyKey messages(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.helix.PropertyKey: java.lang.String getPath()>();
v = <org.apache.helix.AccessOption: int PERSISTENT>;
v = interfaceinvoke v.<org.apache.helix.BaseDataAccessor: org.apache.zookeeper.data.Stat getStat(java.lang.String,int)>(v, v);
v = virtualinvoke v.<org.apache.zookeeper.data.Stat: int getNumChildren()>();
if v <= 0 goto label;
v = 1;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
v = <org.apache.helix.api.status.ClusterManagementMode$Type: org.apache.helix.api.status.ClusterManagementMode$Type NORMAL>;
v = virtualinvoke v.<org.apache.helix.api.status.ClusterManagementMode: org.apache.helix.api.status.ClusterManagementMode$Type getMode()>();
v = virtualinvoke v.<org.apache.helix.api.status.ClusterManagementMode$Type: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = <org.apache.helix.model.LiveInstance$LiveInstanceStatus: org.apache.helix.model.LiveInstance$LiveInstanceStatus FROZEN>;
v = virtualinvoke v.<org.apache.helix.model.LiveInstance: org.apache.helix.model.LiveInstance$LiveInstanceStatus getStatus()>();
v = virtualinvoke v.<org.apache.helix.model.LiveInstance$LiveInstanceStatus: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.helix.model.LiveInstance: java.lang.String getInstanceName()>();
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.helix.api.status.ClusterManagementMode$Status: java.lang.String name()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("status", v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("liveInstancesInProgress", v);
v = <org.apache.helix.api.status.ClusterManagementMode$Type: org.apache.helix.api.status.ClusterManagementMode$Type CLUSTER_FREEZE>;
v = virtualinvoke v.<org.apache.helix.api.status.ClusterManagementMode: org.apache.helix.api.status.ClusterManagementMode$Type getMode()>();
v = virtualinvoke v.<org.apache.helix.api.status.ClusterManagementMode$Type: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("hasPendingStateTransition", v);
label:
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties liveInstances>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: java.lang.String name()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
public javax.ws.rs.core.Response updateClusterManagementMode(java.lang.String, java.lang.String)
{
com.fasterxml.jackson.databind.ObjectReader v;
javax.ws.rs.core.Response$Status v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
boolean v;
com.google.common.collect.ImmutableMap v;
org.apache.helix.api.status.ClusterManagementMode$Type v;
javax.ws.rs.core.Response v, v, v, v;
javax.ws.rs.core.Response$ResponseBuilder v, v;
java.lang.Throwable v, v, v;
org.apache.helix.api.status.ClusterManagementModeRequest v;
java.lang.Boolean v;
java.lang.String v, v, v, v, v, v;
org.slf4j.Logger v;
com.fasterxml.jackson.databind.ObjectMapper v;
org.apache.helix.api.status.ClusterManagementModeRequest$Builder v, v, v, v, v;
org.apache.helix.HelixAdmin v;
java.lang.Object v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
label:
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: com.fasterxml.jackson.databind.ObjectMapper OBJECT_MAPPER>;
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: com.fasterxml.jackson.databind.ObjectReader readerFor(java.lang.Class)>(class "Lorg/apache/helix/api/status/ClusterManagementModeRequest;");
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectReader: java.lang.Object readValue(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to parse json string: {}", 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[])>("Invalid payload json body: \u0001");
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>(v);
return v;
label:
v = staticinvoke <org.apache.helix.api.status.ClusterManagementModeRequest: org.apache.helix.api.status.ClusterManagementModeRequest$Builder newBuilder()>();
v = virtualinvoke v.<org.apache.helix.api.status.ClusterManagementModeRequest$Builder: org.apache.helix.api.status.ClusterManagementModeRequest$Builder withClusterName(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.helix.api.status.ClusterManagementModeRequest: org.apache.helix.api.status.ClusterManagementMode$Type getMode()>();
v = virtualinvoke v.<org.apache.helix.api.status.ClusterManagementModeRequest$Builder: org.apache.helix.api.status.ClusterManagementModeRequest$Builder withMode(org.apache.helix.api.status.ClusterManagementMode$Type)>(v);
v = virtualinvoke v.<org.apache.helix.api.status.ClusterManagementModeRequest: boolean isCancelPendingST()>();
v = virtualinvoke v.<org.apache.helix.api.status.ClusterManagementModeRequest$Builder: org.apache.helix.api.status.ClusterManagementModeRequest$Builder withCancelPendingST(boolean)>(v);
v = virtualinvoke v.<org.apache.helix.api.status.ClusterManagementModeRequest: java.lang.String getReason()>();
v = virtualinvoke v.<org.apache.helix.api.status.ClusterManagementModeRequest$Builder: org.apache.helix.api.status.ClusterManagementModeRequest$Builder withReason(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.helix.api.status.ClusterManagementModeRequest$Builder: org.apache.helix.api.status.ClusterManagementModeRequest build()>();
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixAdmin getHelixAdmin()>();
interfaceinvoke v.<org.apache.helix.HelixAdmin: void setClusterManagementMode(org.apache.helix.api.status.ClusterManagementModeRequest)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <javax.ws.rs.core.Response$Status: javax.ws.rs.core.Response$Status CONFLICT>;
v = staticinvoke <javax.ws.rs.core.Response: javax.ws.rs.core.Response$ResponseBuilder status(javax.ws.rs.core.Response$Status)>(v);
v = virtualinvoke v.<org.apache.helix.api.exceptions.HelixConflictException: java.lang.String getMessage()>();
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()>();
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.helix.HelixException: java.lang.String getMessage()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response serverError(java.lang.String)>(v);
return v;
label:
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
v = staticinvoke <com.google.common.collect.ImmutableMap: com.google.common.collect.ImmutableMap of(java.lang.Object,java.lang.Object)>("acknowledged", v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response JSONRepresentation(java.lang.Object)>(v);
return v;
catch com.fasterxml.jackson.core.JsonProcessingException from label to label with label;
catch org.apache.helix.api.exceptions.HelixConflictException from label to label with label;
catch org.apache.helix.HelixException from label to label with label;
}
public javax.ws.rs.core.Response getClusterConfig(java.lang.String)
{
java.lang.Throwable v;
org.slf4j.Logger v, v;
java.lang.Exception v;
org.apache.helix.zookeeper.datamodel.ZNRecord v;
org.apache.helix.ConfigAccessor v;
javax.ws.rs.core.Response v, v, v;
java.lang.String v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
org.apache.helix.model.ClusterConfig v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.ConfigAccessor getConfigAccessor()>();
v = null;
label:
v = virtualinvoke v.<org.apache.helix.ConfigAccessor: org.apache.helix.model.ClusterConfig getClusterConfig(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to get cluster config for cluster {}, cluster not found. Exception: {}.", v, v);
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to get cluster config for cluster {}. Exception: {}", v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response serverError(java.lang.Exception)>(v);
return v;
label:
if v != null goto label;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response notFound()>();
return v;
label:
v = virtualinvoke v.<org.apache.helix.model.ClusterConfig: org.apache.helix.zookeeper.datamodel.ZNRecord getRecord()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response JSONRepresentation(java.lang.Object)>(v);
return v;
catch org.apache.helix.HelixException from label to label with label;
catch java.lang.Exception from label to label with label;
}
public javax.ws.rs.core.Response addCustomizedStateConfig(java.lang.String, java.lang.String)
{
java.lang.Object[] v;
java.lang.String v, v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
boolean v;
org.slf4j.Logger v;
java.io.IOException v;
org.apache.helix.model.CustomizedStateConfig$Builder v;
java.lang.Exception v;
org.apache.helix.zookeeper.datamodel.ZNRecord v;
org.apache.helix.model.CustomizedStateConfig v;
org.apache.helix.HelixAdmin v;
javax.ws.rs.core.Response v, v, v, v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = specialinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: boolean doesClusterExist(java.lang.String)>(v);
if v != 0 goto label;
v = newarray (java.lang.Object)[1];
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Cluster %s does not exist", v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response notFound(java.lang.String)>(v);
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixAdmin getHelixAdmin()>();
label:
v = staticinvoke <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.zookeeper.datamodel.ZNRecord toZNRecord(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>("Input is not a vaild ZNRecord!");
return v;
label:
v = new org.apache.helix.model.CustomizedStateConfig$Builder;
specialinvoke v.<org.apache.helix.model.CustomizedStateConfig$Builder: void <init>(org.apache.helix.zookeeper.datamodel.ZNRecord)>(v);
v = virtualinvoke v.<org.apache.helix.model.CustomizedStateConfig$Builder: org.apache.helix.model.CustomizedStateConfig build()>();
interfaceinvoke v.<org.apache.helix.HelixAdmin: void addCustomizedStateConfig(java.lang.String,org.apache.helix.model.CustomizedStateConfig)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Cannot add CustomizedStateConfig to cluster: {} Exception: {}", v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response serverError(java.lang.Exception)>(v);
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response OK()>();
return v;
catch java.io.IOException from label to label with label;
catch java.lang.Exception from label to label with label;
}
public javax.ws.rs.core.Response removeCustomizedStateConfig(java.lang.String)
{
java.lang.Object[] v;
org.slf4j.Logger v;
java.lang.Exception v;
org.apache.helix.HelixAdmin v;
javax.ws.rs.core.Response v, v, v;
java.lang.String v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
boolean v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v = specialinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: boolean doesClusterExist(java.lang.String)>(v);
if v != 0 goto label;
v = newarray (java.lang.Object)[1];
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Cluster %s does not exist", v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response notFound(java.lang.String)>(v);
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixAdmin getHelixAdmin()>();
label:
interfaceinvoke v.<org.apache.helix.HelixAdmin: void removeCustomizedStateConfig(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Cannot remove CustomizedStateConfig from cluster: {}, Exception: {}", v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response serverError(java.lang.Exception)>(v);
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response OK()>();
return v;
catch java.lang.Exception from label to label with label;
}
public javax.ws.rs.core.Response getCustomizedStateConfig(java.lang.String)
{
java.lang.Object[] v;
org.apache.helix.zookeeper.datamodel.ZNRecord v;
org.apache.helix.ConfigAccessor v;
org.apache.helix.model.CustomizedStateConfig v;
javax.ws.rs.core.Response v, v, v;
java.lang.String v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
boolean v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v = specialinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: boolean doesClusterExist(java.lang.String)>(v);
if v != 0 goto label;
v = newarray (java.lang.Object)[1];
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Cluster %s does not exist", v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response notFound(java.lang.String)>(v);
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.ConfigAccessor getConfigAccessor()>();
v = virtualinvoke v.<org.apache.helix.ConfigAccessor: org.apache.helix.model.CustomizedStateConfig getCustomizedStateConfig(java.lang.String)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.helix.model.CustomizedStateConfig: org.apache.helix.zookeeper.datamodel.ZNRecord getRecord()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response JSONRepresentation(java.lang.Object)>(v);
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response notFound()>();
return v;
}
public javax.ws.rs.core.Response updateCustomizedStateConfig(java.lang.String, java.lang.String, java.lang.String)
{
java.lang.Throwable v;
java.lang.Object[] v, v;
int[] v;
int v, v;
java.lang.String v, v, v, v, v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
boolean v, v;
org.slf4j.Logger v;
java.lang.Exception v;
org.apache.helix.rest.server.resources.AbstractResource$Command v;
org.apache.helix.HelixAdmin v;
javax.ws.rs.core.Response v, v, v, v, v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = specialinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: boolean doesClusterExist(java.lang.String)>(v);
if v != 0 goto label;
v = newarray (java.lang.Object)[1];
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Cluster %s does not exist", v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response notFound(java.lang.String)>(v);
return v;
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v == 0 goto label;
label:
v = <org.apache.helix.rest.server.resources.AbstractResource$Command: org.apache.helix.rest.server.resources.AbstractResource$Command add>;
goto label;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.rest.server.resources.AbstractResource$Command getCommand(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.helix.HelixException: java.lang.String getMessage()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>(v);
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixAdmin getHelixAdmin()>();
label:
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor$3: int[] $SwitchMap$org$apache$helix$rest$server$resources$AbstractResource$Command>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.AbstractResource$Command: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 11: goto label;
case 12: goto label;
default: goto label;
};
label:
interfaceinvoke v.<org.apache.helix.HelixAdmin: void removeTypeFromCustomizedStateConfig(java.lang.String,java.lang.String)>(v, v);
goto label;
label:
interfaceinvoke v.<org.apache.helix.HelixAdmin: void addTypeToCustomizedStateConfig(java.lang.String,java.lang.String)>(v, v);
goto label;
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[])>("Unsupported command \u0001");
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[4];
v[0] = v;
v[1] = v;
v[2] = v;
v[3] = v;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object[])>("Failed to {} CustomizedStateConfig for cluster {} new type: {}, Exception: {}", v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response serverError(java.lang.Exception)>(v);
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response OK()>();
return v;
catch org.apache.helix.HelixException from label to label with label;
catch java.lang.Exception from label to label with label;
}
public javax.ws.rs.core.Response getClusterTopology(java.lang.String) throws java.io.IOException
{
org.apache.helix.rest.server.json.cluster.ClusterTopology v;
com.fasterxml.jackson.databind.ObjectMapper v;
org.apache.helix.rest.server.service.ClusterServiceImpl v;
org.apache.helix.HelixDataAccessor v;
org.apache.helix.ConfigAccessor v;
javax.ws.rs.core.Response v;
java.lang.String v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v = new org.apache.helix.rest.server.service.ClusterServiceImpl;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixDataAccessor getDataAccssor(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.ConfigAccessor getConfigAccessor()>();
specialinvoke v.<org.apache.helix.rest.server.service.ClusterServiceImpl: void <init>(org.apache.helix.HelixDataAccessor,org.apache.helix.ConfigAccessor)>(v, v);
v = new com.fasterxml.jackson.databind.ObjectMapper;
specialinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: void <init>()>();
v = interfaceinvoke v.<org.apache.helix.rest.server.service.ClusterService: org.apache.helix.rest.server.json.cluster.ClusterTopology getClusterTopology(java.lang.String)>(v);
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: java.lang.String writeValueAsString(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response OK(java.lang.Object)>(v);
return v;
}
public javax.ws.rs.core.Response getClusterTopologyMap(java.lang.String)
{
java.lang.Throwable v;
org.apache.helix.HelixAdmin v;
javax.ws.rs.core.Response v, v;
java.util.Map v;
org.apache.helix.api.topology.ClusterTopology v;
java.lang.String v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixAdmin getHelixAdmin()>();
label:
v = interfaceinvoke v.<org.apache.helix.HelixAdmin: org.apache.helix.api.topology.ClusterTopology getClusterTopology(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.helix.api.topology.ClusterTopology: java.util.Map getTopologyMap()>();
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.helix.HelixException: java.lang.String getMessage()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>(v);
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response JSONRepresentation(java.lang.Object)>(v);
return v;
catch org.apache.helix.HelixException from label to label with label;
}
public javax.ws.rs.core.Response getClusterFaultZoneMap(java.lang.String)
{
java.lang.Throwable v;
org.apache.helix.HelixAdmin v;
javax.ws.rs.core.Response v, v;
java.util.Map v;
org.apache.helix.api.topology.ClusterTopology v;
java.lang.String v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixAdmin getHelixAdmin()>();
label:
v = interfaceinvoke v.<org.apache.helix.HelixAdmin: org.apache.helix.api.topology.ClusterTopology getClusterTopology(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.helix.api.topology.ClusterTopology: java.util.Map getFaultZoneMap()>();
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.helix.HelixException: java.lang.String getMessage()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>(v);
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response JSONRepresentation(java.lang.Object)>(v);
return v;
catch org.apache.helix.HelixException from label to label with label;
}
public javax.ws.rs.core.Response updateClusterConfig(java.lang.String, java.lang.String, java.lang.String)
{
org.apache.helix.model.HelixConfigScope$ConfigScopeProperty v;
int[] v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
boolean v;
org.apache.helix.model.builder.HelixConfigScopeBuilder v, v;
java.lang.Exception v;
org.apache.helix.zookeeper.datamodel.ZNRecord v, v;
org.apache.helix.ConfigAccessor v;
javax.ws.rs.core.Response v, v, v, v, v, v, v;
java.lang.Throwable v, v;
java.lang.Object[] v;
org.apache.helix.model.HelixConfigScope v;
int v, v;
java.lang.String v, v, v, v, v, v, v;
org.slf4j.Logger v, v;
java.io.IOException v;
org.apache.helix.rest.server.resources.AbstractResource$Command v;
org.apache.helix.model.ClusterConfig v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.rest.server.resources.AbstractResource$Command getCommand(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.helix.HelixException: java.lang.String getMessage()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>(v);
return v;
label:
v = staticinvoke <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.zookeeper.datamodel.ZNRecord toZNRecord(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to deserialize user\'s input {}. Exception: {}.", v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>("Input is not a valid ZNRecord!");
return v;
label:
v = virtualinvoke v.<org.apache.helix.zookeeper.datamodel.ZNRecord: java.lang.String getId()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>("ID does not match the cluster name in input!");
return v;
label:
v = new org.apache.helix.model.ClusterConfig;
specialinvoke v.<org.apache.helix.model.ClusterConfig: void <init>(org.apache.helix.zookeeper.datamodel.ZNRecord)>(v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.ConfigAccessor getConfigAccessor()>();
label:
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor$3: int[] $SwitchMap$org$apache$helix$rest$server$resources$AbstractResource$Command>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.AbstractResource$Command: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 11: goto label;
case 13: goto label;
default: goto label;
};
label:
virtualinvoke v.<org.apache.helix.ConfigAccessor: void updateClusterConfig(java.lang.String,org.apache.helix.model.ClusterConfig)>(v, v);
goto label;
label:
v = new org.apache.helix.model.builder.HelixConfigScopeBuilder;
v = <org.apache.helix.model.HelixConfigScope$ConfigScopeProperty: org.apache.helix.model.HelixConfigScope$ConfigScopeProperty CLUSTER>;
specialinvoke v.<org.apache.helix.model.builder.HelixConfigScopeBuilder: void <init>(org.apache.helix.model.HelixConfigScope$ConfigScopeProperty)>(v);
v = virtualinvoke v.<org.apache.helix.model.builder.HelixConfigScopeBuilder: org.apache.helix.model.builder.HelixConfigScopeBuilder forCluster(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.helix.model.builder.HelixConfigScopeBuilder: org.apache.helix.model.HelixConfigScope build()>();
v = virtualinvoke v.<org.apache.helix.model.ClusterConfig: org.apache.helix.zookeeper.datamodel.ZNRecord getRecord()>();
virtualinvoke v.<org.apache.helix.ConfigAccessor: void remove(org.apache.helix.model.HelixConfigScope,org.apache.helix.zookeeper.datamodel.ZNRecord)>(v, v);
goto label;
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[])>("Unsupported command \u0001");
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.helix.HelixException: java.lang.String getMessage()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response notFound(java.lang.String)>(v);
return v;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[4];
v[0] = v;
v[1] = v;
v[2] = v;
v[3] = v;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object[])>("Failed to {} cluster config, cluster {}, new config: {}. Exception: {}.", v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response serverError(java.lang.Exception)>(v);
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response OK()>();
return v;
catch org.apache.helix.HelixException from label to label with label;
catch java.io.IOException from label to label with label;
catch org.apache.helix.HelixException from label to label with label;
catch java.lang.Exception from label to label with label;
}
public javax.ws.rs.core.Response getClusterController(java.lang.String)
{
org.apache.helix.PropertyKey v;
org.apache.helix.PropertyKey$Builder v;
java.util.HashMap v;
org.apache.helix.HelixDataAccessor v;
org.apache.helix.HelixProperty v;
java.util.Map v;
java.lang.String v, v, v, v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
org.apache.helix.rest.server.resources.AbstractResource$Properties v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties v, v;
org.apache.helix.zookeeper.datamodel.ZNRecord v;
javax.ws.rs.core.Response v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixDataAccessor getDataAccssor(java.lang.String)>(v);
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = <org.apache.helix.rest.server.resources.AbstractResource$Properties: org.apache.helix.rest.server.resources.AbstractResource$Properties id>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.AbstractResource$Properties: java.lang.String name()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: org.apache.helix.PropertyKey$Builder keyBuilder()>();
v = virtualinvoke v.<org.apache.helix.PropertyKey$Builder: org.apache.helix.PropertyKey controllerLeader()>();
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: org.apache.helix.HelixProperty getProperty(org.apache.helix.PropertyKey)>(v);
if v == null goto label;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties controller>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: java.lang.String name()>();
v = virtualinvoke v.<org.apache.helix.model.LiveInstance: java.lang.String getInstanceName()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.apache.helix.model.LiveInstance: org.apache.helix.zookeeper.datamodel.ZNRecord getRecord()>();
v = virtualinvoke v.<org.apache.helix.zookeeper.datamodel.ZNRecord: java.util.Map getSimpleFields()>();
interfaceinvoke v.<java.util.Map: void putAll(java.util.Map)>(v);
goto label;
label:
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties controller>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: java.lang.String name()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, "No Lead Controller!");
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response JSONRepresentation(java.lang.Object)>(v);
return v;
}
public javax.ws.rs.core.Response getClusterControllerLeadershipHistory(java.lang.String)
{
javax.ws.rs.core.Response v;
java.util.Map v;
java.lang.String v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
org.apache.helix.model.ControllerHistory$HistoryType v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v = <org.apache.helix.model.ControllerHistory$HistoryType: org.apache.helix.model.ControllerHistory$HistoryType CONTROLLER_LEADERSHIP>;
v = specialinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: java.util.Map getControllerHistory(java.lang.String,org.apache.helix.model.ControllerHistory$HistoryType)>(v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response JSONRepresentation(java.lang.Object)>(v);
return v;
}
public javax.ws.rs.core.Response getClusterMaintenanceHistory(java.lang.String)
{
javax.ws.rs.core.Response v;
java.util.Map v;
java.lang.String v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
org.apache.helix.model.ControllerHistory$HistoryType v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v = <org.apache.helix.model.ControllerHistory$HistoryType: org.apache.helix.model.ControllerHistory$HistoryType MAINTENANCE>;
v = specialinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: java.util.Map getControllerHistory(java.lang.String,org.apache.helix.model.ControllerHistory$HistoryType)>(v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response JSONRepresentation(java.lang.Object)>(v);
return v;
}
public javax.ws.rs.core.Response getClusterMaintenanceSignal(java.lang.String)
{
java.lang.Object[] v;
org.apache.helix.PropertyKey v;
org.apache.helix.PropertyKey$Builder v;
org.apache.helix.HelixDataAccessor v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties v;
org.apache.helix.zookeeper.datamodel.ZNRecord v;
org.apache.helix.HelixProperty v;
javax.ws.rs.core.Response v, v;
java.util.Map v;
java.lang.String v, v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixDataAccessor getDataAccssor(java.lang.String)>(v);
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: org.apache.helix.PropertyKey$Builder keyBuilder()>();
v = virtualinvoke v.<org.apache.helix.PropertyKey$Builder: org.apache.helix.PropertyKey maintenance()>();
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: org.apache.helix.HelixProperty getProperty(org.apache.helix.PropertyKey)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.helix.model.MaintenanceSignal: org.apache.helix.zookeeper.datamodel.ZNRecord getRecord()>();
v = virtualinvoke v.<org.apache.helix.zookeeper.datamodel.ZNRecord: java.util.Map getSimpleFields()>();
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties clusterName>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: java.lang.String name()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response JSONRepresentation(java.lang.Object)>(v);
return v;
label:
v = newarray (java.lang.Object)[1];
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Cluster %s is not in maintenance mode!", v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response notFound(java.lang.String)>(v);
return v;
}
public javax.ws.rs.core.Response getClusterControllerMessages(java.lang.String)
{
org.apache.helix.PropertyKey v;
org.apache.helix.PropertyKey$Builder v;
java.util.HashMap v;
java.lang.Integer v;
org.apache.helix.HelixDataAccessor v;
int v;
java.lang.String v, v, v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
org.apache.helix.rest.server.resources.AbstractResource$Properties v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties v;
java.util.List v;
javax.ws.rs.core.Response v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixDataAccessor getDataAccssor(java.lang.String)>(v);
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = <org.apache.helix.rest.server.resources.AbstractResource$Properties: org.apache.helix.rest.server.resources.AbstractResource$Properties id>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.AbstractResource$Properties: java.lang.String name()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: org.apache.helix.PropertyKey$Builder keyBuilder()>();
v = virtualinvoke v.<org.apache.helix.PropertyKey$Builder: org.apache.helix.PropertyKey controllerMessages()>();
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: java.util.List getChildNames(org.apache.helix.PropertyKey)>(v);
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties messages>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: java.lang.String name()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.apache.helix.rest.server.resources.AbstractResource$Properties: org.apache.helix.rest.server.resources.AbstractResource$Properties count>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.AbstractResource$Properties: java.lang.String name()>();
v = interfaceinvoke v.<java.util.List: int size()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response JSONRepresentation(java.lang.Object)>(v);
return v;
}
public javax.ws.rs.core.Response getClusterControllerMessages(java.lang.String, java.lang.String)
{
org.apache.helix.PropertyKey v;
org.apache.helix.PropertyKey$Builder v;
org.apache.helix.HelixDataAccessor v;
org.apache.helix.zookeeper.datamodel.ZNRecord v;
org.apache.helix.HelixProperty v;
javax.ws.rs.core.Response v;
java.lang.String v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixDataAccessor getDataAccssor(java.lang.String)>(v);
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: org.apache.helix.PropertyKey$Builder keyBuilder()>();
v = virtualinvoke v.<org.apache.helix.PropertyKey$Builder: org.apache.helix.PropertyKey controllerMessage(java.lang.String)>(v);
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: org.apache.helix.HelixProperty getProperty(org.apache.helix.PropertyKey)>(v);
v = virtualinvoke v.<org.apache.helix.model.Message: org.apache.helix.zookeeper.datamodel.ZNRecord getRecord()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response JSONRepresentation(java.lang.Object)>(v);
return v;
}
public javax.ws.rs.core.Response getClusterStateModelDefinitions(java.lang.String)
{
org.apache.helix.PropertyKey v;
org.apache.helix.PropertyKey$Builder v;
java.util.HashMap v;
org.apache.helix.HelixDataAccessor v;
org.apache.helix.rest.server.resources.AbstractResource$Properties v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties v;
java.util.List v;
javax.ws.rs.core.Response v;
java.lang.String v, v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixDataAccessor getDataAccssor(java.lang.String)>(v);
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: org.apache.helix.PropertyKey$Builder keyBuilder()>();
v = virtualinvoke v.<org.apache.helix.PropertyKey$Builder: org.apache.helix.PropertyKey stateModelDefs()>();
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: java.util.List getChildNames(org.apache.helix.PropertyKey)>(v);
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = <org.apache.helix.rest.server.resources.AbstractResource$Properties: org.apache.helix.rest.server.resources.AbstractResource$Properties id>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.AbstractResource$Properties: java.lang.String name()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties stateModelDefinitions>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: java.lang.String name()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response JSONRepresentation(java.lang.Object)>(v);
return v;
}
public javax.ws.rs.core.Response getClusterStateModelDefinition(java.lang.String, java.lang.String)
{
org.apache.helix.PropertyKey v;
org.apache.helix.PropertyKey$Builder v;
org.apache.helix.HelixDataAccessor v;
org.apache.helix.zookeeper.datamodel.ZNRecord v;
org.apache.helix.HelixProperty v;
javax.ws.rs.core.Response v, v;
java.lang.String v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixDataAccessor getDataAccssor(java.lang.String)>(v);
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: org.apache.helix.PropertyKey$Builder keyBuilder()>();
v = virtualinvoke v.<org.apache.helix.PropertyKey$Builder: org.apache.helix.PropertyKey stateModelDef(java.lang.String)>(v);
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: org.apache.helix.HelixProperty getProperty(org.apache.helix.PropertyKey)>(v);
if v != null goto label;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>("Statemodel not found!");
return v;
label:
v = virtualinvoke v.<org.apache.helix.model.StateModelDefinition: org.apache.helix.zookeeper.datamodel.ZNRecord getRecord()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response JSONRepresentation(java.lang.Object)>(v);
return v;
}
public javax.ws.rs.core.Response createClusterStateModelDefinition(java.lang.String, java.lang.String, java.lang.String)
{
org.slf4j.Logger v, v;
java.io.IOException v;
java.lang.Exception v;
org.apache.helix.zookeeper.datamodel.ZNRecord v;
org.apache.helix.zookeeper.api.client.RealmAwareZkClient v;
javax.ws.rs.core.Response v, v, v;
java.lang.String v, v, v, v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
label:
v = staticinvoke <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.zookeeper.datamodel.ZNRecord toZNRecord(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to deserialize user\'s input {}. Exception: {}.", v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>("Input is not a valid ZNRecord!");
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.zookeeper.api.client.RealmAwareZkClient getRealmAwareZkClient()>();
v = staticinvoke <org.apache.helix.PropertyPathBuilder: java.lang.String stateModelDef(java.lang.String)>(v);
label:
staticinvoke <org.apache.helix.manager.zk.ZKUtil: void createChildren(org.apache.helix.zookeeper.api.client.RealmAwareZkClient,java.lang.String,org.apache.helix.zookeeper.datamodel.ZNRecord)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to create zk node with path {}. Exception: {}", v, v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Exception)>(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 create a Znode for stateModel! \u0001");
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>(v);
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response OK()>();
return v;
catch java.io.IOException from label to label with label;
catch java.lang.Exception from label to label with label;
}
public javax.ws.rs.core.Response setClusterStateModelDefinition(java.lang.String, java.lang.String, java.lang.String)
{
org.apache.helix.PropertyKey v;
org.apache.helix.PropertyKey$Builder v;
org.apache.helix.HelixDataAccessor v;
org.apache.helix.model.StateModelDefinition v;
java.lang.String v, v, v, v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
org.slf4j.Logger v, v;
java.io.IOException v;
java.lang.Exception v;
org.apache.helix.zookeeper.datamodel.ZNRecord v;
javax.ws.rs.core.Response v, v, v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
label:
v = staticinvoke <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.zookeeper.datamodel.ZNRecord toZNRecord(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to deserialize user\'s input {}. Exception: {}.", v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>("Input is not a valid ZNRecord!");
return v;
label:
v = new org.apache.helix.model.StateModelDefinition;
specialinvoke v.<org.apache.helix.model.StateModelDefinition: void <init>(org.apache.helix.zookeeper.datamodel.ZNRecord)>(v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixDataAccessor getDataAccssor(java.lang.String)>(v);
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: org.apache.helix.PropertyKey$Builder keyBuilder()>();
v = virtualinvoke v.<org.apache.helix.model.StateModelDefinition: java.lang.String getId()>();
v = virtualinvoke v.<org.apache.helix.PropertyKey$Builder: org.apache.helix.PropertyKey stateModelDef(java.lang.String)>(v);
label:
interfaceinvoke v.<org.apache.helix.HelixDataAccessor: boolean setProperty(org.apache.helix.PropertyKey,org.apache.helix.HelixProperty)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to set StateModelDefinition key: {}. Exception: {}.", 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 set the content \u0001");
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>(v);
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response OK()>();
return v;
catch java.io.IOException from label to label with label;
catch java.lang.Exception from label to label with label;
}
public javax.ws.rs.core.Response removeClusterStateModelDefinition(java.lang.String, java.lang.String)
{
org.apache.helix.PropertyKey v;
org.slf4j.Logger v;
org.apache.helix.PropertyKey$Builder v;
java.lang.Exception v;
org.apache.helix.HelixDataAccessor v;
javax.ws.rs.core.Response v, v, v;
java.lang.String v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
boolean v, v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.commons.lang.StringUtils: boolean isAlphanumeric(java.lang.CharSequence)>(v);
if v != 0 goto label;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>("Invalid statemodel name!");
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixDataAccessor getDataAccssor(java.lang.String)>(v);
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: org.apache.helix.PropertyKey$Builder keyBuilder()>();
v = virtualinvoke v.<org.apache.helix.PropertyKey$Builder: org.apache.helix.PropertyKey stateModelDef(java.lang.String)>(v);
label:
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: boolean removeProperty(org.apache.helix.PropertyKey)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to remove StateModelDefinition key: {}. Exception: {}.", v, v);
v = 0;
label:
if v != 0 goto label;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>("Failed to remove!");
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response OK()>();
return v;
catch java.lang.Exception from label to label with label;
}
public javax.ws.rs.core.Response createRESTConfig(java.lang.String, java.lang.String)
{
java.lang.Throwable v;
java.lang.Object[] v;
java.lang.String v, v, v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
boolean v;
org.slf4j.Logger v, v;
java.io.IOException v;
java.lang.Exception v;
org.apache.helix.zookeeper.datamodel.ZNRecord v;
org.apache.helix.ConfigAccessor v;
javax.ws.rs.core.Response v, v, v, v, v;
org.apache.helix.model.RESTConfig v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
label:
v = staticinvoke <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.zookeeper.datamodel.ZNRecord toZNRecord(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to deserialize user\'s input {}. Exception: {}.", v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>("Input is not a valid ZNRecord!");
return v;
label:
v = virtualinvoke v.<org.apache.helix.zookeeper.datamodel.ZNRecord: java.lang.String getId()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>("ID does not match the cluster name in input!");
return v;
label:
v = new org.apache.helix.model.RESTConfig;
specialinvoke v.<org.apache.helix.model.RESTConfig: void <init>(org.apache.helix.zookeeper.datamodel.ZNRecord)>(v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.ConfigAccessor getConfigAccessor()>();
label:
virtualinvoke v.<org.apache.helix.ConfigAccessor: void setRESTConfig(java.lang.String,org.apache.helix.model.RESTConfig)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.helix.HelixException: java.lang.String getMessage()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response notFound(java.lang.String)>(v);
return v;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
v[0] = v;
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object[])>("Failed to create rest config, cluster {}, new config: {}. Exception: {}.", v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response serverError(java.lang.Exception)>(v);
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response OK()>();
return v;
catch java.io.IOException from label to label with label;
catch org.apache.helix.HelixException from label to label with label;
catch java.lang.Exception from label to label with label;
}
public javax.ws.rs.core.Response updateRESTConfig(java.lang.String, java.lang.String, java.lang.String)
{
org.apache.helix.model.HelixConfigScope$ConfigScopeProperty v;
int[] v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
org.apache.helix.model.builder.HelixConfigScopeBuilder v, v;
java.lang.Exception v;
org.apache.helix.zookeeper.datamodel.ZNRecord v, v;
org.apache.helix.ConfigAccessor v;
javax.ws.rs.core.Response v, v, v, v, v, v;
java.lang.Throwable v, v;
java.lang.Object[] v;
org.apache.helix.model.HelixConfigScope v;
int v, v;
java.lang.String v, v, v, v, v, v;
org.slf4j.Logger v, v;
java.io.IOException v;
org.apache.helix.rest.server.resources.AbstractResource$Command v;
org.apache.helix.model.RESTConfig v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.rest.server.resources.AbstractResource$Command getCommand(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.helix.HelixException: java.lang.String getMessage()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>(v);
return v;
label:
v = staticinvoke <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.zookeeper.datamodel.ZNRecord toZNRecord(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to deserialize user\'s input {}. Exception: {}", v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>("Input is not a valid ZNRecord!");
return v;
label:
v = new org.apache.helix.model.RESTConfig;
specialinvoke v.<org.apache.helix.model.RESTConfig: void <init>(org.apache.helix.zookeeper.datamodel.ZNRecord)>(v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.ConfigAccessor getConfigAccessor()>();
label:
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor$3: int[] $SwitchMap$org$apache$helix$rest$server$resources$AbstractResource$Command>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.AbstractResource$Command: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 11: goto label;
case 13: goto label;
default: goto label;
};
label:
virtualinvoke v.<org.apache.helix.ConfigAccessor: void updateRESTConfig(java.lang.String,org.apache.helix.model.RESTConfig)>(v, v);
goto label;
label:
v = new org.apache.helix.model.builder.HelixConfigScopeBuilder;
v = <org.apache.helix.model.HelixConfigScope$ConfigScopeProperty: org.apache.helix.model.HelixConfigScope$ConfigScopeProperty REST>;
specialinvoke v.<org.apache.helix.model.builder.HelixConfigScopeBuilder: void <init>(org.apache.helix.model.HelixConfigScope$ConfigScopeProperty)>(v);
v = virtualinvoke v.<org.apache.helix.model.builder.HelixConfigScopeBuilder: org.apache.helix.model.builder.HelixConfigScopeBuilder forCluster(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.helix.model.builder.HelixConfigScopeBuilder: org.apache.helix.model.HelixConfigScope build()>();
v = virtualinvoke v.<org.apache.helix.model.RESTConfig: org.apache.helix.zookeeper.datamodel.ZNRecord getRecord()>();
virtualinvoke v.<org.apache.helix.ConfigAccessor: void remove(org.apache.helix.model.HelixConfigScope,org.apache.helix.zookeeper.datamodel.ZNRecord)>(v, v);
goto label;
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[])>("Unsupported command \u0001");
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.helix.HelixException: java.lang.String getMessage()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response notFound(java.lang.String)>(v);
return v;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[4];
v[0] = v;
v[1] = v;
v[2] = v;
v[3] = v;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object[])>("Failed to {} rest config, cluster {}, new config: {}. Exception: {}", v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response serverError(java.lang.Exception)>(v);
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response OK()>();
return v;
catch org.apache.helix.HelixException from label to label with label;
catch java.io.IOException from label to label with label;
catch org.apache.helix.HelixException from label to label with label;
catch java.lang.Exception from label to label with label;
}
public javax.ws.rs.core.Response getRESTConfig(java.lang.String)
{
java.lang.Throwable v;
org.slf4j.Logger v, v;
java.lang.Exception v;
org.apache.helix.zookeeper.datamodel.ZNRecord v;
org.apache.helix.ConfigAccessor v;
javax.ws.rs.core.Response v, v, v;
org.apache.helix.model.RESTConfig v;
java.lang.String v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.ConfigAccessor getConfigAccessor()>();
v = null;
label:
v = virtualinvoke v.<org.apache.helix.ConfigAccessor: org.apache.helix.model.RESTConfig getRESTConfig(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to get rest config for cluster {}, cluster not found. Exception: {}.", v, v);
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to get rest config for cluster {}. Exception: {}.", v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response serverError(java.lang.Exception)>(v);
return v;
label:
if v != null goto label;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response notFound()>();
return v;
label:
v = virtualinvoke v.<org.apache.helix.model.RESTConfig: org.apache.helix.zookeeper.datamodel.ZNRecord getRecord()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response JSONRepresentation(java.lang.Object)>(v);
return v;
catch org.apache.helix.HelixException from label to label with label;
catch java.lang.Exception from label to label with label;
}
public javax.ws.rs.core.Response deleteRESTConfig(java.lang.String)
{
java.lang.Throwable v;
org.slf4j.Logger v, v;
java.lang.Exception v;
org.apache.helix.ConfigAccessor v;
javax.ws.rs.core.Response v, v, v;
java.lang.String v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.ConfigAccessor getConfigAccessor()>();
label:
virtualinvoke v.<org.apache.helix.ConfigAccessor: void deleteRESTConfig(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to delete rest config for cluster {}, cluster rest config is not found. Exception: {}.", v, v);
v = virtualinvoke v.<org.apache.helix.HelixException: java.lang.String getMessage()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response notFound(java.lang.String)>(v);
return v;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to delete rest config, cluster {}, Exception: {}.", v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response serverError(java.lang.Exception)>(v);
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response OK()>();
return v;
catch org.apache.helix.HelixException from label to label with label;
catch java.lang.Exception from label to label with label;
}
public javax.ws.rs.core.Response getClusterMaintenanceMode(java.lang.String)
{
com.google.common.collect.ImmutableMap v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties v;
org.apache.helix.HelixAdmin v;
javax.ws.rs.core.Response v;
java.lang.Boolean v;
java.lang.String v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
boolean v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties maintenance>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: java.lang.String name()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixAdmin getHelixAdmin()>();
v = interfaceinvoke v.<org.apache.helix.HelixAdmin: boolean isInMaintenanceMode(java.lang.String)>(v);
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v = staticinvoke <com.google.common.collect.ImmutableMap: com.google.common.collect.ImmutableMap of(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response JSONRepresentation(java.lang.Object)>(v);
return v;
}
private boolean doesClusterExist(java.lang.String)
{
org.apache.helix.zookeeper.api.client.RealmAwareZkClient v;
java.lang.String v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
boolean v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.zookeeper.api.client.RealmAwareZkClient getRealmAwareZkClient()>();
v = staticinvoke <org.apache.helix.manager.zk.ZKUtil: boolean isClusterSetup(java.lang.String,org.apache.helix.zookeeper.api.client.RealmAwareZkClient)>(v, v);
return v;
}
public javax.ws.rs.core.Response addCloudConfig(java.lang.String, java.lang.String)
{
java.lang.Throwable v;
org.apache.helix.zookeeper.api.client.RealmAwareZkClient v;
org.apache.helix.model.CloudConfig$Builder v;
java.lang.String v, v, v, v, v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
boolean v;
org.slf4j.Logger v, v, v;
org.apache.helix.model.CloudConfig v;
java.io.IOException v;
java.lang.Exception v;
org.apache.helix.zookeeper.datamodel.ZNRecord v;
org.apache.helix.HelixAdmin v;
javax.ws.rs.core.Response v, v, v, v, v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.zookeeper.api.client.RealmAwareZkClient getRealmAwareZkClient()>();
v = staticinvoke <org.apache.helix.manager.zk.ZKUtil: boolean isClusterSetup(java.lang.String,org.apache.helix.zookeeper.api.client.RealmAwareZkClient)>(v, v);
if v != 0 goto label;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response notFound(java.lang.String)>("Cluster is not properly setup!");
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixAdmin getHelixAdmin()>();
label:
v = staticinvoke <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.zookeeper.datamodel.ZNRecord toZNRecord(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.io.IOException)>(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 deserialize user\'s input \u, Exception: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>("Input is not a vaild ZNRecord!");
return v;
label:
v = new org.apache.helix.model.CloudConfig$Builder;
specialinvoke v.<org.apache.helix.model.CloudConfig$Builder: void <init>(org.apache.helix.zookeeper.datamodel.ZNRecord)>(v);
v = virtualinvoke v.<org.apache.helix.model.CloudConfig$Builder: org.apache.helix.model.CloudConfig build()>();
interfaceinvoke v.<org.apache.helix.HelixAdmin: void addCloudConfig(java.lang.String,org.apache.helix.model.CloudConfig)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: 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[])>("Error in adding a CloudConfig to cluster: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
v = virtualinvoke v.<org.apache.helix.HelixException: java.lang.String getMessage()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>(v);
return v;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: 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[])>("Cannot add CloudConfig to cluster: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response serverError(java.lang.Exception)>(v);
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response OK()>();
return v;
catch java.io.IOException from label to label with label;
catch org.apache.helix.HelixException from label to label with label;
catch java.lang.Exception from label to label with label;
}
public javax.ws.rs.core.Response getCloudConfig(java.lang.String)
{
org.apache.helix.model.CloudConfig v;
org.apache.helix.zookeeper.datamodel.ZNRecord v;
org.apache.helix.ConfigAccessor v;
org.apache.helix.zookeeper.api.client.RealmAwareZkClient v;
javax.ws.rs.core.Response v, v, v;
java.lang.String v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
boolean v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.zookeeper.api.client.RealmAwareZkClient getRealmAwareZkClient()>();
v = staticinvoke <org.apache.helix.manager.zk.ZKUtil: boolean isClusterSetup(java.lang.String,org.apache.helix.zookeeper.api.client.RealmAwareZkClient)>(v, v);
if v != 0 goto label;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response notFound()>();
return v;
label:
v = new org.apache.helix.ConfigAccessor;
specialinvoke v.<org.apache.helix.ConfigAccessor: void <init>(org.apache.helix.zookeeper.api.client.RealmAwareZkClient)>(v);
v = virtualinvoke v.<org.apache.helix.ConfigAccessor: org.apache.helix.model.CloudConfig getCloudConfig(java.lang.String)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.helix.model.CloudConfig: org.apache.helix.zookeeper.datamodel.ZNRecord getRecord()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response JSONRepresentation(java.lang.Object)>(v);
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response notFound()>();
return v;
}
public javax.ws.rs.core.Response deleteCloudConfig(java.lang.String)
{
org.apache.helix.HelixAdmin v;
javax.ws.rs.core.Response v;
java.lang.String v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixAdmin getHelixAdmin()>();
interfaceinvoke v.<org.apache.helix.HelixAdmin: void removeCloudConfig(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response OK()>();
return v;
}
public javax.ws.rs.core.Response updateCloudConfig(java.lang.String, java.lang.String, java.lang.String)
{
int[] v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
boolean v, v;
org.apache.helix.model.CloudConfig v;
java.lang.Exception v, v;
org.apache.helix.zookeeper.datamodel.ZNRecord v;
org.apache.helix.ConfigAccessor v;
javax.ws.rs.core.Response v, v, v, v, v, v, v, v;
java.lang.Throwable v, v;
org.apache.helix.zookeeper.api.client.RealmAwareZkClient v;
int v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v;
org.slf4j.Logger v, v, v, v;
java.io.IOException v;
org.apache.helix.rest.server.resources.AbstractResource$Command v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.zookeeper.api.client.RealmAwareZkClient getRealmAwareZkClient()>();
v = staticinvoke <org.apache.helix.manager.zk.ZKUtil: boolean isClusterSetup(java.lang.String,org.apache.helix.zookeeper.api.client.RealmAwareZkClient)>(v, v);
if v != 0 goto label;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response notFound()>();
return v;
label:
v = new org.apache.helix.ConfigAccessor;
specialinvoke v.<org.apache.helix.ConfigAccessor: void <init>(org.apache.helix.zookeeper.api.client.RealmAwareZkClient)>(v);
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v == 0 goto label;
label:
v = <org.apache.helix.rest.server.resources.AbstractResource$Command: org.apache.helix.rest.server.resources.AbstractResource$Command update>;
goto label;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.rest.server.resources.AbstractResource$Command getCommand(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.helix.HelixException: java.lang.String getMessage()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>(v);
return v;
label:
v = staticinvoke <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.zookeeper.datamodel.ZNRecord toZNRecord(java.lang.String)>(v);
v = new org.apache.helix.model.CloudConfig;
specialinvoke v.<org.apache.helix.model.CloudConfig: void <init>(org.apache.helix.zookeeper.datamodel.ZNRecord)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.io.IOException)>(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 deserialize user\'s input \u, Exception: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>("Input is not a vaild ZNRecord!");
return v;
label:
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor$3: int[] $SwitchMap$org$apache$helix$rest$server$resources$AbstractResource$Command>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.AbstractResource$Command: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 11: goto label;
case 13: goto label;
default: goto label;
};
label:
virtualinvoke v.<org.apache.helix.ConfigAccessor: void deleteCloudConfigFields(java.lang.String,org.apache.helix.model.CloudConfig)>(v, v);
goto label;
label:
virtualinvoke v.<org.apache.helix.ConfigAccessor: void updateCloudConfig(java.lang.String,org.apache.helix.model.CloudConfig)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: 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[])>("Error in updating a CloudConfig to cluster: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
v = virtualinvoke v.<org.apache.helix.HelixException: java.lang.String getMessage()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: 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[])>("Cannot update CloudConfig for cluster: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response serverError(java.lang.Exception)>(v);
label:
return v;
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[])>("Unsupported command \u0001");
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.helix.rest.server.resources.AbstractResource$Command,java.lang.String,java.lang.String,java.lang.Exception)>(v, v, 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 \u cloud config, cluster \u new config: \u, Exception: \u0001");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response serverError(java.lang.Exception)>(v);
return v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: javax.ws.rs.core.Response OK()>();
return v;
catch org.apache.helix.HelixException from label to label with label;
catch java.io.IOException from label to label with label;
catch org.apache.helix.HelixException 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;
}
private java.util.Map getControllerHistory(java.lang.String, org.apache.helix.model.ControllerHistory$HistoryType)
{
org.apache.helix.PropertyKey v;
org.apache.helix.PropertyKey$Builder v;
java.util.HashMap v;
org.apache.helix.HelixDataAccessor v;
org.apache.helix.HelixProperty v;
int[] v;
int v, v;
java.lang.String v, v, v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor v;
org.apache.helix.model.ControllerHistory$HistoryType v;
org.apache.helix.rest.server.resources.AbstractResource$Properties v, v;
org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties v;
java.util.List v, v;
v := @this: org.apache.helix.rest.server.resources.helix.ClusterAccessor;
v := @parameter: java.lang.String;
v := @parameter: org.apache.helix.model.ControllerHistory$HistoryType;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.apache.helix.HelixDataAccessor getDataAccssor(java.lang.String)>(v);
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = <org.apache.helix.rest.server.resources.AbstractResource$Properties: org.apache.helix.rest.server.resources.AbstractResource$Properties id>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.AbstractResource$Properties: java.lang.String name()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: org.apache.helix.PropertyKey$Builder keyBuilder()>();
v = virtualinvoke v.<org.apache.helix.PropertyKey$Builder: org.apache.helix.PropertyKey controllerLeaderHistory()>();
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: org.apache.helix.HelixProperty getProperty(org.apache.helix.PropertyKey)>(v);
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor$3: int[] $SwitchMap$org$apache$helix$model$ControllerHistory$HistoryType>;
v = virtualinvoke v.<org.apache.helix.model.ControllerHistory$HistoryType: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
v = <org.apache.helix.rest.server.resources.AbstractResource$Properties: org.apache.helix.rest.server.resources.AbstractResource$Properties history>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.AbstractResource$Properties: java.lang.String name()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.helix.model.ControllerHistory: java.util.List getHistoryList()>();
goto label;
label:
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
label:
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = <org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties maintenanceHistory>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ClusterAccessor$ClusterProperties: java.lang.String name()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.helix.model.ControllerHistory: java.util.List getMaintenanceHistoryList()>();
goto label;
label:
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
label:
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
return v;
}
static void <clinit>()
{
java.lang.Class v;
java.lang.String v;
org.slf4j.Logger v;
v = class "Lorg/apache/helix/rest/server/resources/helix/ClusterAccessor;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.String)>(v);
<org.apache.helix.rest.server.resources.helix.ClusterAccessor: org.slf4j.Logger LOG> = v;
return;
}
}