public class org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor extends org.apache.helix.rest.server.resources.helix.AbstractHelixResource
{
private static org.slf4j.Logger LOG;
public static java.lang.String RESPONSE_HEADER_KEY;
public static java.lang.String[] RESPONSE_HEADER_FIELDS;
public void <init>()
{
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor v;
v := @this: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor;
specialinvoke v.<org.apache.helix.rest.server.resources.helix.AbstractHelixResource: void <init>()>();
return;
}
public javax.ws.rs.core.Response computePotentialAssignment(java.lang.String, java.lang.String)
{
java.lang.Throwable v;
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentResult v;
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields v;
java.security.InvalidParameterException v;
java.util.Map v;
java.lang.String v, v, v, v, v, v, v;
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor v;
org.slf4j.Logger v, v;
java.lang.Exception v;
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$ClusterState v;
javax.ws.rs.core.Response v, v, v, v, v;
java.lang.OutOfMemoryError v;
v := @this: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
label:
v = specialinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields readInput(java.lang.String)>(v);
v = specialinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$ClusterState readClusterStateAndValidateInput(java.lang.String,org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields)>(v, v);
v = specialinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentResult computeOptimalAssignmentForResources(org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields,org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$ClusterState,java.lang.String)>(v, v, v);
v = <org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: java.lang.String RESPONSE_HEADER_KEY>;
v = specialinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: java.util.Map buildResponseHeaders(org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields)>(v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: javax.ws.rs.core.Response JSONRepresentation(java.lang.Object,java.lang.String,java.lang.Object)>(v, v, v);
label:
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<java.security.InvalidParameterException: java.lang.String getMessage()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>(v);
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<com.fasterxml.jackson.core.JsonProcessingException: java.lang.String getMessage()>();
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 input: Input can not be parsed into a KV map.\u0001");
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>(v);
return v;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("OutOfMemoryError while calling partitionAssignment", v);
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>("Response size is too large to serialize. Please query by resources or instance filter");
return v;
label:
v := @caughtexception;
v = <org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Failed to compute partition assignment", 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 compute partition assignment: \u0001");
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: javax.ws.rs.core.Response badRequest(java.lang.String)>(v);
return v;
catch java.security.InvalidParameterException from label to label with label;
catch com.fasterxml.jackson.core.JsonProcessingException from label to label with label;
catch java.lang.OutOfMemoryError from label to label with label;
catch java.lang.Exception from label to label with label;
}
private org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields readInput(java.lang.String) throws com.fasterxml.jackson.core.JsonProcessingException, java.lang.IllegalArgumentException
{
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields v;
java.util.Set v, v, v, v, v, v;
java.util.List v, v;
java.util.Optional v, v, v, v, v;
java.lang.String v;
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentFormat v, v;
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor v;
com.fasterxml.jackson.databind.ObjectMapper v;
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$OptionsMap v, v, v, v;
java.util.function.Consumer v, v, v, v;
java.lang.Object v, v;
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InstanceChangeMap v, v, v;
v := @this: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor;
v := @parameter: java.lang.String;
v = new com.fasterxml.jackson.databind.ObjectMapper;
specialinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: void <init>()>();
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: java.lang.Object readValue(java.lang.String,java.lang.Class)>(v, class "Lorg/apache/helix/rest/server/resources/helix/ResourceAssignmentOptimizerAccessor$InputJsonContent;");
v = new org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields;
specialinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields: void <init>()>();
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputJsonContent: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InstanceChangeMap instanceChangeMap>;
if v == null goto label;
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputJsonContent: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InstanceChangeMap instanceChangeMap>;
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InstanceChangeMap: java.util.List activateInstances>;
v = staticinvoke <java.util.Optional: java.util.Optional ofNullable(java.lang.Object)>(v);
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields: java.util.Set activatedInstances>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$addAll__27: java.util.function.Consumer bootstrap$(java.util.Set)>(v);
virtualinvoke v.<java.util.Optional: void ifPresent(java.util.function.Consumer)>(v);
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputJsonContent: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InstanceChangeMap instanceChangeMap>;
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InstanceChangeMap: java.util.List deactivateInstances>;
v = staticinvoke <java.util.Optional: java.util.Optional ofNullable(java.lang.Object)>(v);
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields: java.util.Set deactivatedInstances>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$addAll__28: java.util.function.Consumer bootstrap$(java.util.Set)>(v);
virtualinvoke v.<java.util.Optional: void ifPresent(java.util.function.Consumer)>(v);
label:
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputJsonContent: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$OptionsMap optionsMap>;
if v == null goto label;
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputJsonContent: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$OptionsMap optionsMap>;
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$OptionsMap: java.util.Set resourceFilter>;
v = staticinvoke <java.util.Optional: java.util.Optional ofNullable(java.lang.Object)>(v);
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields: java.util.Set resourceFilter>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$addAll__25: java.util.function.Consumer bootstrap$(java.util.Set)>(v);
virtualinvoke v.<java.util.Optional: void ifPresent(java.util.function.Consumer)>(v);
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputJsonContent: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$OptionsMap optionsMap>;
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$OptionsMap: java.util.Set instanceFilter>;
v = staticinvoke <java.util.Optional: java.util.Optional ofNullable(java.lang.Object)>(v);
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields: java.util.Set instanceFilter>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$addAll__26: java.util.function.Consumer bootstrap$(java.util.Set)>(v);
virtualinvoke v.<java.util.Optional: void ifPresent(java.util.function.Consumer)>(v);
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputJsonContent: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$OptionsMap optionsMap>;
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$OptionsMap: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentFormat returnFormat>;
v = staticinvoke <java.util.Optional: java.util.Optional ofNullable(java.lang.Object)>(v);
v = <org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentFormat: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentFormat IdealStateFormat>;
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(v);
v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentFormat returnFormat> = v;
label:
return v;
}
private org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$ClusterState readClusterStateAndValidateInput(java.lang.String, org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields) throws java.security.InvalidParameterException
{
org.apache.helix.PropertyKey v, v, v;
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields v;
org.apache.helix.HelixDataAccessor v;
java.security.InvalidParameterException v;
java.util.Map v;
boolean v, v, v, v;
java.util.Collection v;
java.util.Set v, v, v, v;
org.apache.helix.ConfigAccessor v;
java.util.List v, v, v;
org.apache.helix.PropertyKey$Builder v, v, v;
java.util.ArrayList v;
java.util.HashSet v;
java.lang.String v, v;
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor v;
java.util.Iterator v, v;
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$ClusterState v;
java.lang.Object v, v, v, v;
org.apache.helix.model.ClusterConfig v;
v := @this: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor;
v := @parameter: java.lang.String;
v := @parameter: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields;
specialinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: void validateNoIntxnInstanceChange(org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields)>(v);
v = new org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$ClusterState;
specialinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$ClusterState: void <init>()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: org.apache.helix.ConfigAccessor getConfigAccessor()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: 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 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.ResourceAssignmentOptimizerAccessor$ClusterState: java.util.List resources> = v;
v = new java.util.HashSet;
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 getChildNames(org.apache.helix.PropertyKey)>(v);
specialinvoke v.<java.util.HashSet: void <init>(java.util.Collection)>(v);
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields: java.util.Set activatedInstances>;
interfaceinvoke v.<java.util.Set: boolean addAll(java.util.Collection)>(v);
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields: java.util.Set deactivatedInstances>;
interfaceinvoke v.<java.util.Set: boolean removeAll(java.util.Collection)>(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 instanceConfigs()>();
v = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: java.util.Map getChildValuesMap(org.apache.helix.PropertyKey,boolean)>(v, 1);
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields: java.util.Set activatedInstances>;
v = interfaceinvoke v.<java.util.Set: 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 = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
virtualinvoke v.<org.apache.helix.model.InstanceConfig: void setInstanceEnabled(boolean)>(1);
goto label;
label:
v = new java.security.InvalidParameterException;
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[])>("instance: \u0001does not have instanceConfig");
specialinvoke v.<java.security.InvalidParameterException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields: java.util.Set deactivatedInstances>;
v = interfaceinvoke v.<java.util.Set: 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 = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
virtualinvoke v.<org.apache.helix.model.InstanceConfig: void setInstanceEnabled(boolean)>(0);
goto label;
label:
v = virtualinvoke v.<org.apache.helix.ConfigAccessor: org.apache.helix.model.ClusterConfig getClusterConfig(java.lang.String)>(v);
virtualinvoke v.<org.apache.helix.model.ClusterConfig: void setDelayRebalaceEnabled(boolean)>(0);
v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$ClusterState: org.apache.helix.model.ClusterConfig clusterConfig> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$ClusterState: java.util.List liveInstances> = v;
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$ClusterState: java.util.List instanceConfigs>;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
return v;
}
private org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentResult computeOptimalAssignmentForResources(org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields, org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$ClusterState, java.lang.String) throws java.lang.Exception
{
org.apache.helix.PropertyKey v;
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentResult v, v;
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields v;
org.apache.helix.HelixDataAccessor v;
java.util.Map v;
boolean v, v, v, v, v, v;
java.util.Set v, v, v;
java.util.List v, v, v;
org.apache.helix.PropertyKey$Builder v;
java.util.ArrayList v, v;
org.apache.helix.HelixProperty v;
org.apache.helix.model.IdealState$RebalanceMode v, v, v, v;
java.lang.String v, v, v, v, v, v;
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor v;
org.slf4j.Logger v;
java.util.Iterator v;
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$ClusterState v;
java.util.TreeMap v;
java.lang.Class v, v;
java.lang.Object v;
org.apache.helix.model.ClusterConfig v;
v := @this: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor;
v := @parameter: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields;
v := @parameter: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$ClusterState;
v := @parameter: java.lang.String;
v = new org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentResult;
specialinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentResult: void <init>()>();
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: org.apache.helix.HelixDataAccessor getDataAccssor(java.lang.String)>(v);
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$ClusterState: java.util.List resources>;
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 = interfaceinvoke v.<org.apache.helix.HelixDataAccessor: org.apache.helix.PropertyKey$Builder keyBuilder()>();
v = virtualinvoke v.<org.apache.helix.PropertyKey$Builder: org.apache.helix.PropertyKey idealStates(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.IdealState: java.lang.String getRebalancerClassName()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.helix.model.IdealState: java.lang.String getRebalancerClassName()>();
v = class "Lorg/apache/helix/controller/rebalancer/waged/WagedRebalancer;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields: java.util.Set resourceFilter>;
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v != 0 goto label;
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields: java.util.Set resourceFilter>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = virtualinvoke v.<org.apache.helix.model.IdealState: org.apache.helix.model.IdealState$RebalanceMode getRebalanceMode()>();
v = <org.apache.helix.model.IdealState$RebalanceMode: org.apache.helix.model.IdealState$RebalanceMode FULL_AUTO>;
if v != v goto label;
v = virtualinvoke v.<org.apache.helix.model.IdealState: java.lang.String getRebalanceStrategy()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>("DEFAULT");
if v == 0 goto label;
label:
v = class "Lorg/apache/helix/controller/rebalancer/strategy/AutoRebalanceStrategy;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
label:
v = new java.util.TreeMap;
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$ClusterState: org.apache.helix.model.ClusterConfig clusterConfig>;
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$ClusterState: java.util.List instanceConfigs>;
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$ClusterState: java.util.List liveInstances>;
v = new java.util.ArrayList;
v = virtualinvoke v.<org.apache.helix.model.IdealState: java.util.Set getPartitionSet()>();
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
v = staticinvoke <org.apache.helix.util.HelixUtil: java.util.Map getIdealAssignmentForFullAuto(org.apache.helix.model.ClusterConfig,java.util.List,java.util.List,org.apache.helix.model.IdealState,java.util.List,java.lang.String)>(v, v, v, v, v, v);
specialinvoke v.<java.util.TreeMap: void <init>(java.util.Map)>(v);
specialinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: void instanceFilter(org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields,java.util.Map,java.lang.String,org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentResult)>(v, v, v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.helix.model.IdealState: org.apache.helix.model.IdealState$RebalanceMode getRebalanceMode()>();
v = <org.apache.helix.model.IdealState$RebalanceMode: org.apache.helix.model.IdealState$RebalanceMode SEMI_AUTO>;
if v != v goto label;
v = <org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: 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[])>("Resource\u0001is in SEMI_AUTO mode. Skip partition assignment computation.");
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>(v);
goto label;
label:
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
specialinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: void computeWagedAssignmentResult(java.util.List,org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields,org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$ClusterState,java.lang.String,org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentResult)>(v, v, v, v, v);
label:
v = specialinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentResult updateAssignmentFormat(org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields,org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentResult)>(v, v);
return v;
}
private org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentResult updateAssignmentFormat(org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields, org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentResult)
{
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor v;
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentResult v, v;
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields v;
java.util.function.BiConsumer v;
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentFormat v, v;
boolean v;
v := @this: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor;
v := @parameter: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields;
v := @parameter: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentResult;
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentFormat returnFormat>;
v = <org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentFormat: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentFormat CurrentStateFormat>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentFormat: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = new org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentResult;
specialinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentResult: void <init>()>();
v = staticinvoke <org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$lambda_updateAssignmentFormat_4__29: java.util.function.BiConsumer bootstrap$(org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentResult)>(v);
virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentResult: void forEach(java.util.function.BiConsumer)>(v);
return v;
label:
return v;
}
private void validateNoIntxnInstanceChange(org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields)
{
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields v;
java.util.ArrayList v;
java.util.HashSet v;
java.security.InvalidParameterException v, v;
int v, v, v, v, v;
java.lang.String v, v;
boolean v, v, v, v;
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor v;
java.util.Iterator v, v;
java.util.function.ToIntFunction v;
java.util.Set v, v;
java.lang.Object v, v, v, v;
java.util.Comparator v;
v := @this: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor;
v := @parameter: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields: java.util.Set activatedInstances>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields: java.util.Set deactivatedInstances>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = staticinvoke <org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$size__30: java.util.function.ToIntFunction bootstrap$()>();
v = staticinvoke <java.util.Comparator: java.util.Comparator comparingInt(java.util.function.ToIntFunction)>(v);
interfaceinvoke v.<java.util.List: void sort(java.util.Comparator)>(v);
v = 0;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
v = v - 1;
if v >= v goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = interfaceinvoke v.<java.util.Collection: 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 = interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
if v != 0 goto label;
v = new java.security.InvalidParameterException;
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 input: instance [\u] exist in more than one field in InstanceChange.");
specialinvoke v.<java.security.InvalidParameterException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v + 1;
goto label;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
v = v - 1;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = interfaceinvoke v.<java.util.Collection: 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 = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = new java.security.InvalidParameterException;
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 input: instance [\u] exist in more than one field in InstanceChange.");
specialinvoke v.<java.security.InvalidParameterException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
private void computeWagedAssignmentResult(java.util.List, org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields, org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$ClusterState, java.lang.String, org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentResult)
{
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentResult v;
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields v;
java.util.Map v;
boolean v, v, v, v, v;
java.util.Set v, v, v;
org.apache.helix.manager.zk.ZkBaseDataAccessor v;
org.apache.helix.ConfigAccessor v;
java.util.List v, v, v, v;
org.apache.helix.model.ResourceConfig v;
java.util.ArrayList v;
org.apache.helix.zookeeper.api.client.RealmAwareZkClient v;
java.lang.String v, v;
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor v;
java.lang.UnsupportedOperationException v;
java.util.Iterator v, v;
org.apache.helix.manager.zk.ZkBucketDataAccessor v;
java.util.function.Consumer v;
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$ClusterState v;
org.apache.helix.HelixAdmin v;
java.util.TreeMap v;
java.lang.Object v, v, v, v;
org.apache.helix.model.ClusterConfig v;
v := @this: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor;
v := @parameter: java.util.List;
v := @parameter: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields;
v := @parameter: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$ClusterState;
v := @parameter: java.lang.String;
v := @parameter: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentResult;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: org.apache.helix.HelixAdmin getHelixAdmin()>();
v = interfaceinvoke v.<org.apache.helix.HelixAdmin: boolean isInMaintenanceMode(java.lang.String)>(v);
if v == 0 goto label;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("Can not query potential Assignment when cluster is in Maintenance mode.");
throw v;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: org.apache.helix.ConfigAccessor getConfigAccessor()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
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.IdealState: java.lang.String getResourceName()>();
v = virtualinvoke v.<org.apache.helix.ConfigAccessor: org.apache.helix.model.ResourceConfig getResourceConfig(java.lang.String,java.lang.String)>(v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: org.apache.helix.manager.zk.ZkBucketDataAccessor getZkBucketDataAccessor()>();
v = new org.apache.helix.manager.zk.ZkBaseDataAccessor;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: org.apache.helix.zookeeper.api.client.RealmAwareZkClient getRealmAwareZkClient()>();
specialinvoke v.<org.apache.helix.manager.zk.ZkBaseDataAccessor: void <init>(org.apache.helix.zookeeper.api.client.RealmAwareZkClient)>(v);
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$ClusterState: org.apache.helix.model.ClusterConfig clusterConfig>;
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$ClusterState: java.util.List instanceConfigs>;
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$ClusterState: java.util.List liveInstances>;
v = staticinvoke <org.apache.helix.util.HelixUtil: java.util.Map getTargetAssignmentForWagedFullAuto(org.apache.helix.manager.zk.ZkBucketDataAccessor,org.apache.helix.BaseDataAccessor,org.apache.helix.model.ClusterConfig,java.util.List,java.util.List,java.util.List,java.util.List)>(v, v, v, v, v, v, v);
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: 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 = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields: java.util.Set resourceFilter>;
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v != 0 goto label;
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields: java.util.Set resourceFilter>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = new java.util.TreeMap;
specialinvoke v.<java.util.TreeMap: void <init>()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = virtualinvoke v.<org.apache.helix.model.ResourceAssignment: java.util.List getMappedPartitions()>();
v = staticinvoke <org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$lambda_computeWagedAssignmentResult_5__31: java.util.function.Consumer bootstrap$(java.util.Map,java.util.Map$Entry)>(v, v);
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
specialinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: void instanceFilter(org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields,java.util.Map,java.lang.String,org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentResult)>(v, v, v, v);
goto label;
label:
return;
}
private void instanceFilter(org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields, java.util.Map, java.lang.String, org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentResult)
{
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor v;
java.util.Iterator v;
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentResult v;
java.util.function.Predicate v;
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields v;
java.util.Set v, v, v;
java.util.Map v;
java.lang.Object v, v;
java.lang.String v;
boolean v, v, v;
v := @this: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor;
v := @parameter: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields;
v := @parameter: java.util.Map;
v := @parameter: java.lang.String;
v := @parameter: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentResult;
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields: java.util.Set instanceFilter>;
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: 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 = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = staticinvoke <org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$lambda_instanceFilter_6__32: java.util.function.Predicate bootstrap$(org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields)>(v);
interfaceinvoke v.<java.util.Set: boolean removeIf(java.util.function.Predicate)>(v);
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v == 0 goto label;
interfaceinvoke v.<java.util.Iterator: void remove()>();
goto label;
label:
virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentResult: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return;
}
private java.util.Map buildResponseHeaders(org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields)
{
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor v;
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields v;
java.util.Set v, v;
java.lang.String[] v, v, v;
java.util.HashMap v;
java.lang.String v, v, v, v;
org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentFormat v;
v := @this: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor;
v := @parameter: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = <org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: java.lang.String[] RESPONSE_HEADER_FIELDS>;
v = v[0];
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields: java.util.Set instanceFilter>;
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.ResourceAssignmentOptimizerAccessor: java.lang.String[] RESPONSE_HEADER_FIELDS>;
v = v[1];
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields: java.util.Set resourceFilter>;
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.ResourceAssignmentOptimizerAccessor: java.lang.String[] RESPONSE_HEADER_FIELDS>;
v = v[2];
v = v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$InputFields: org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentFormat returnFormat>;
v = virtualinvoke v.<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor$AssignmentFormat: java.lang.String name()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
static void <clinit>()
{
org.slf4j.Logger v;
java.lang.Class v;
java.lang.String[] v;
java.lang.String v;
v = class "Lorg/apache/helix/rest/server/resources/helix/ResourceAssignmentOptimizerAccessor;";
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.ResourceAssignmentOptimizerAccessor: org.slf4j.Logger LOG> = v;
<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: java.lang.String RESPONSE_HEADER_KEY> = "Setting";
v = newarray (java.lang.String)[3];
v[0] = "instanceFilter";
v[1] = "resourceFilter";
v[2] = "returnFormat";
<org.apache.helix.rest.server.resources.helix.ResourceAssignmentOptimizerAccessor: java.lang.String[] RESPONSE_HEADER_FIELDS> = v;
return;
}
}