public class org.apache.helix.agent.AgentStateModel extends org.apache.helix.participant.statemachine.StateModel
{
private static final org.slf4j.Logger _logger;
private static java.util.regex.Pattern pattern;
public void <init>()
{
org.apache.helix.agent.AgentStateModel v;
v := @this: org.apache.helix.agent.AgentStateModel;
specialinvoke v.<org.apache.helix.participant.statemachine.StateModel: void <init>()>();
return;
}
private static java.lang.String buildKey(java.lang.String, java.lang.String, org.apache.helix.agent.CommandAttribute)
{
org.apache.helix.agent.CommandAttribute v;
java.lang.String v, v, v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: org.apache.helix.agent.CommandAttribute;
v = virtualinvoke v.<org.apache.helix.agent.CommandAttribute: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(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[])>("\u0001-\u.\u0001");
return v;
}
private static java.lang.String instantiateByMessage(java.lang.String, org.apache.helix.model.Message)
{
org.apache.helix.model.Message$Attributes v;
org.apache.helix.model.Message v;
java.util.regex.Matcher v;
int v, v;
java.lang.String v, v, v, v, v;
java.util.regex.Pattern v;
boolean v;
v := @parameter: java.lang.String;
v := @parameter: org.apache.helix.model.Message;
v = <org.apache.helix.agent.AgentStateModel: java.util.regex.Pattern pattern>;
v = virtualinvoke v.<java.util.regex.Pattern: java.util.regex.Matcher matcher(java.lang.CharSequence)>(v);
v = v;
label:
v = virtualinvoke v.<java.util.regex.Matcher: boolean find()>();
if v == 0 goto label;
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group()>();
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(1, v);
v = staticinvoke <org.apache.helix.model.Message$Attributes: org.apache.helix.model.Message$Attributes valueOf(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.helix.model.Message: java.lang.String getAttribute(org.apache.helix.model.Message$Attributes)>(v);
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>(v, v);
goto label;
label:
return v;
}
public void genericStateTransitionHandler(org.apache.helix.model.Message, org.apache.helix.NotificationContext) throws java.lang.Exception
{
org.apache.helix.agent.CommandAttribute v, v, v, v, v, v, v, v, v;
java.util.Map v, v;
java.lang.Exception v;
org.apache.helix.zookeeper.datamodel.ZNRecord v, v, v, v;
org.apache.helix.ExternalCommand v;
java.lang.Object[] v;
long v;
org.apache.helix.model.HelixConfigScope v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.helix.HelixManager v;
java.lang.NumberFormatException v;
java.io.File v, v;
org.apache.helix.model.HelixConfigScope$ConfigScopeProperty v, v;
boolean v, v;
org.apache.helix.model.builder.HelixConfigScopeBuilder v, v, v, v, v;
org.apache.helix.ConfigAccessor v, v;
org.apache.helix.agent.ProcessMonitorThread v;
java.util.List v;
org.apache.helix.NotificationContext v;
java.lang.String[] v, v;
int v, v;
org.slf4j.Logger v, v, v;
org.apache.helix.agent.AgentStateModel v;
org.apache.helix.model.Message v;
java.lang.Object v, v, v, v;
v := @this: org.apache.helix.agent.AgentStateModel;
v := @parameter: org.apache.helix.model.Message;
v := @parameter: org.apache.helix.NotificationContext;
v = virtualinvoke v.<org.apache.helix.model.Message: org.apache.helix.zookeeper.datamodel.ZNRecord getRecord()>();
v = <org.apache.helix.agent.CommandAttribute: org.apache.helix.agent.CommandAttribute COMMAND>;
v = virtualinvoke v.<org.apache.helix.agent.CommandAttribute: java.lang.String getName()>();
v = virtualinvoke v.<org.apache.helix.zookeeper.datamodel.ZNRecord: java.lang.String getSimpleField(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.helix.model.Message: org.apache.helix.zookeeper.datamodel.ZNRecord getRecord()>();
v = <org.apache.helix.agent.CommandAttribute: org.apache.helix.agent.CommandAttribute WORKING_DIR>;
v = virtualinvoke v.<org.apache.helix.agent.CommandAttribute: java.lang.String getName()>();
virtualinvoke v.<org.apache.helix.zookeeper.datamodel.ZNRecord: java.lang.String getSimpleField(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.helix.model.Message: org.apache.helix.zookeeper.datamodel.ZNRecord getRecord()>();
v = <org.apache.helix.agent.CommandAttribute: org.apache.helix.agent.CommandAttribute TIMEOUT>;
v = virtualinvoke v.<org.apache.helix.agent.CommandAttribute: java.lang.String getName()>();
virtualinvoke v.<org.apache.helix.zookeeper.datamodel.ZNRecord: java.lang.String getSimpleField(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.helix.model.Message: org.apache.helix.zookeeper.datamodel.ZNRecord getRecord()>();
v = <org.apache.helix.agent.CommandAttribute: org.apache.helix.agent.CommandAttribute PID_FILE>;
v = virtualinvoke v.<org.apache.helix.agent.CommandAttribute: java.lang.String getName()>();
virtualinvoke v.<org.apache.helix.zookeeper.datamodel.ZNRecord: java.lang.String getSimpleField(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.helix.NotificationContext: org.apache.helix.HelixManager getManager()>();
v = interfaceinvoke v.<org.apache.helix.HelixManager: java.lang.String getClusterName()>();
v = virtualinvoke v.<org.apache.helix.model.Message: java.lang.String getFromState()>();
v = virtualinvoke v.<org.apache.helix.model.Message: java.lang.String getToState()>();
v = <org.apache.helix.agent.CommandAttribute: org.apache.helix.agent.CommandAttribute COMMAND>;
v = staticinvoke <org.apache.helix.agent.AgentStateModel: java.lang.String buildKey(java.lang.String,java.lang.String,org.apache.helix.agent.CommandAttribute)>(v, v, v);
v = <org.apache.helix.agent.CommandAttribute: org.apache.helix.agent.CommandAttribute WORKING_DIR>;
v = staticinvoke <org.apache.helix.agent.AgentStateModel: java.lang.String buildKey(java.lang.String,java.lang.String,org.apache.helix.agent.CommandAttribute)>(v, v, v);
v = <org.apache.helix.agent.CommandAttribute: org.apache.helix.agent.CommandAttribute TIMEOUT>;
v = staticinvoke <org.apache.helix.agent.AgentStateModel: java.lang.String buildKey(java.lang.String,java.lang.String,org.apache.helix.agent.CommandAttribute)>(v, v, v);
v = <org.apache.helix.agent.CommandAttribute: org.apache.helix.agent.CommandAttribute PID_FILE>;
v = staticinvoke <org.apache.helix.agent.AgentStateModel: java.lang.String buildKey(java.lang.String,java.lang.String,org.apache.helix.agent.CommandAttribute)>(v, v, v);
v = newarray (java.lang.String)[4];
v[0] = v;
v[1] = v;
v[2] = v;
v[3] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
if v != null goto label;
v = new org.apache.helix.model.builder.HelixConfigScopeBuilder;
v = <org.apache.helix.model.HelixConfigScope$ConfigScopeProperty: org.apache.helix.model.HelixConfigScope$ConfigScopeProperty RESOURCE>;
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.Message: java.lang.String getResourceName()>();
v = virtualinvoke v.<org.apache.helix.model.builder.HelixConfigScopeBuilder: org.apache.helix.model.builder.HelixConfigScopeBuilder forResource(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.helix.model.builder.HelixConfigScopeBuilder: org.apache.helix.model.HelixConfigScope build()>();
v = interfaceinvoke v.<org.apache.helix.HelixManager: org.apache.helix.ConfigAccessor getConfigAccessor()>();
v = virtualinvoke v.<org.apache.helix.ConfigAccessor: java.util.Map get(org.apache.helix.model.HelixConfigScope,java.util.List)>(v, v);
if v == null goto label;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
label:
if v != null goto 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 = interfaceinvoke v.<org.apache.helix.HelixManager: org.apache.helix.ConfigAccessor getConfigAccessor()>();
v = virtualinvoke v.<org.apache.helix.ConfigAccessor: java.util.Map get(org.apache.helix.model.HelixConfigScope,java.util.List)>(v, v);
if v == null goto label;
interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
label:
if v != null goto label;
v = new java.lang.Exception;
v = virtualinvoke v.<org.apache.helix.model.Message: java.lang.String getFromState()>();
v = virtualinvoke v.<org.apache.helix.model.Message: java.lang.String getToState()>();
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[])>("Unable to find command for transition from:\u to:\u0001");
specialinvoke v.<java.lang.Exception: void <init>(java.lang.String)>(v);
throw v;
label:
v = <org.apache.helix.agent.AgentStateModel: org.slf4j.Logger _logger>;
v = interfaceinvoke v.<org.apache.helix.HelixManager: java.lang.String getInstanceName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String,java.lang.String)>(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[])>("Executing command: \u, using workingDir: \u, timeout: \u, on \u0001");
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>(v);
v = <org.apache.helix.agent.CommandAttribute: org.apache.helix.agent.CommandAttribute NOP>;
v = virtualinvoke v.<org.apache.helix.agent.CommandAttribute: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
return;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>("\\s+");
v = v[0];
v = lengthof v;
v = staticinvoke <java.util.Arrays: java.lang.Object[] copyOfRange(java.lang.Object[],int,int)>(v, 1, v);
v = 0L;
if v == null goto label;
label:
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
label:
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = staticinvoke <org.apache.helix.ExternalCommand: org.apache.helix.ExternalCommand executeWithTimeout(java.io.File,java.lang.String,long,java.lang.String[])>(v, v, v, v);
v = virtualinvoke v.<org.apache.helix.ExternalCommand: int exitValue()>();
v = <org.apache.helix.agent.AgentStateModel: org.slf4j.Logger _logger>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.helix.agent.AgentStateModel: org.slf4j.Logger _logger>;
v = virtualinvoke v.<org.apache.helix.ExternalCommand: java.lang.String getStringOutput()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int,java.lang.String)>(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[])>("command: \u, exitValue: \u output:\n\u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>(v);
label:
if v != null goto label;
return;
label:
v = staticinvoke <org.apache.helix.agent.AgentStateModel: java.lang.String instantiateByMessage(java.lang.String,org.apache.helix.model.Message)>(v, v);
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = staticinvoke <org.apache.helix.agent.SystemUtil: java.lang.String getPidFromFile(java.io.File)>(v);
if v == null goto label;
v = new org.apache.helix.agent.ProcessMonitorThread;
specialinvoke v.<org.apache.helix.agent.ProcessMonitorThread: void <init>(java.lang.String)>(v);
virtualinvoke v.<org.apache.helix.agent.ProcessMonitorThread: void start()>();
label:
return;
catch java.lang.NumberFormatException from label to label with label;
}
static void <clinit>()
{
java.util.regex.Pattern v;
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/helix/agent/AgentStateModel;");
<org.apache.helix.agent.AgentStateModel: org.slf4j.Logger _logger> = v;
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>("(\\{.+?\\})");
<org.apache.helix.agent.AgentStateModel: java.util.regex.Pattern pattern> = v;
return;
}
}