public class org.apache.batchee.servlet.SimpleRestController extends java.lang.Object
{
public static final java.lang.String REST_CONTENT_TYPE;
public static final java.lang.String NOT_FOUND_STRING;
public static final char CSV_DELIMITER;
public static final java.lang.String OP_START;
public static final java.lang.String OP_STATUS;
public static final java.lang.String OP_METRICS;
public static final java.lang.String OP_STOP;
public static final java.lang.String OP_RESTART;
public static final long NO_JOB_ID;
private final jakarta.batch.operations.JobOperator jobOperator;
public void <init>(jakarta.batch.operations.JobOperator)
{
jakarta.batch.operations.JobOperator v;
org.apache.batchee.servlet.SimpleRestController v;
v := @this: org.apache.batchee.servlet.SimpleRestController;
v := @parameter: jakarta.batch.operations.JobOperator;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.batchee.servlet.SimpleRestController: jakarta.batch.operations.JobOperator jobOperator> = v;
return;
}
public void dispatch(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, java.lang.String)
{
jakarta.servlet.http.HttpServletRequest v;
int v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v;
boolean v, v, v, v, v;
org.apache.batchee.servlet.SimpleRestController v;
jakarta.servlet.http.HttpServletResponse v;
v := @this: org.apache.batchee.servlet.SimpleRestController;
v := @parameter: jakarta.servlet.http.HttpServletRequest;
v := @parameter: jakarta.servlet.http.HttpServletResponse;
v := @parameter: java.lang.String;
interfaceinvoke v.<jakarta.servlet.http.HttpServletResponse: void setContentType(java.lang.String)>("text/plain");
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("start/");
if v == 0 goto label;
v = "start/";
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void startBatch(java.lang.String,jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)>(v, v, v);
goto label;
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("status/");
if v == 0 goto label;
v = "status/";
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void batchStatus(java.lang.String,jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)>(v, v, v);
goto label;
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("metrics/");
if v == 0 goto label;
v = "metrics/";
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void batchMetrics(java.lang.String,jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)>(v, v, v);
goto label;
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("stop/");
if v == 0 goto label;
v = "stop/";
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void batchStop(java.lang.String,jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)>(v, v, v);
goto label;
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("restart/");
if v == 0 goto label;
v = "restart/";
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void batchRestart(java.lang.String,jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)>(v, v, v);
goto label;
label:
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void unknownCommand(java.lang.String,jakarta.servlet.http.HttpServletResponse)>(v, v);
label:
return;
}
private void startBatch(java.lang.String, jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse)
{
java.lang.Throwable v;
java.util.Properties v;
jakarta.servlet.http.HttpServletRequest v;
long v;
org.apache.batchee.servlet.SimpleRestController v;
jakarta.batch.operations.JobOperator v;
java.lang.StringBuilder v, v;
jakarta.servlet.http.HttpServletResponse v;
java.lang.String v, v;
v := @this: org.apache.batchee.servlet.SimpleRestController;
v := @parameter: java.lang.String;
v := @parameter: jakarta.servlet.http.HttpServletRequest;
v := @parameter: jakarta.servlet.http.HttpServletResponse;
v = specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: java.util.Properties extractJobProperties(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)>(v, v);
if v != null goto label;
return;
label:
v = v.<org.apache.batchee.servlet.SimpleRestController: jakarta.batch.operations.JobOperator jobOperator>;
v = interfaceinvoke v.<jakarta.batch.operations.JobOperator: long start(java.lang.String,java.util.Properties)>(v, v);
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void reportSuccess(long,jakarta.servlet.http.HttpServletResponse,java.lang.String)>(v, v, null);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>("Error while starting job ");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(10);
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void appendExceptionMsg(java.lang.StringBuilder,java.lang.Exception)>(v, v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void reportFailure(long,jakarta.servlet.http.HttpServletResponse,java.lang.String)>(-1L, v, v);
label:
return;
catch jakarta.batch.operations.JobStartException from label to label with label;
}
private void batchStatus(java.lang.String, jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse)
{
java.lang.Throwable v;
jakarta.batch.runtime.JobExecution v;
jakarta.servlet.http.HttpServletRequest v;
long v, v, v, v;
jakarta.batch.runtime.BatchStatus v;
java.lang.Long v;
jakarta.batch.operations.JobOperator v;
java.lang.String v, v, v;
java.lang.Exception v;
org.apache.batchee.servlet.SimpleRestController v;
java.lang.StringBuilder v;
jakarta.servlet.http.HttpServletResponse v;
v := @this: org.apache.batchee.servlet.SimpleRestController;
v := @parameter: java.lang.String;
v := @parameter: jakarta.servlet.http.HttpServletRequest;
v := @parameter: jakarta.servlet.http.HttpServletResponse;
v = specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: java.lang.Long extractExecutionId(java.lang.String,jakarta.servlet.http.HttpServletResponse)>(v, v);
if v != null goto label;
return;
label:
v = v.<org.apache.batchee.servlet.SimpleRestController: jakarta.batch.operations.JobOperator jobOperator>;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = interfaceinvoke v.<jakarta.batch.operations.JobOperator: jakarta.batch.runtime.JobExecution getJobExecution(long)>(v);
v = interfaceinvoke v.<jakarta.batch.runtime.JobExecution: jakarta.batch.runtime.BatchStatus getBatchStatus()>();
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = virtualinvoke v.<jakarta.batch.runtime.BatchStatus: java.lang.String name()>();
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void reportSuccess(long,jakarta.servlet.http.HttpServletResponse,java.lang.String)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void reportFailure(long,jakarta.servlet.http.HttpServletResponse,java.lang.String)>(v, v, "NoSuchJob");
goto label;
label:
v := @caughtexception;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>("Failure in BatchExecution");
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void appendExceptionMsg(java.lang.StringBuilder,java.lang.Exception)>(v, v);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void reportFailure(long,jakarta.servlet.http.HttpServletResponse,java.lang.String)>(v, v, v);
label:
return;
catch jakarta.batch.operations.NoSuchJobExecutionException from label to label with label;
catch java.lang.Exception from label to label with label;
}
private void batchMetrics(java.lang.String, jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse)
{
java.lang.Throwable v;
jakarta.batch.runtime.JobExecution v;
jakarta.servlet.http.HttpServletRequest v;
long v, v, v, v, v;
jakarta.batch.runtime.BatchStatus v;
java.lang.Long v;
jakarta.batch.operations.JobOperator v, v;
java.lang.String v, v, v;
java.lang.Exception v;
java.util.List v;
org.apache.batchee.servlet.SimpleRestController v;
java.lang.StringBuilder v;
jakarta.servlet.http.HttpServletResponse v;
v := @this: org.apache.batchee.servlet.SimpleRestController;
v := @parameter: java.lang.String;
v := @parameter: jakarta.servlet.http.HttpServletRequest;
v := @parameter: jakarta.servlet.http.HttpServletResponse;
v = specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: java.lang.Long extractExecutionId(java.lang.String,jakarta.servlet.http.HttpServletResponse)>(v, v);
if v != null goto label;
return;
label:
v = v.<org.apache.batchee.servlet.SimpleRestController: jakarta.batch.operations.JobOperator jobOperator>;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = interfaceinvoke v.<jakarta.batch.operations.JobOperator: jakarta.batch.runtime.JobExecution getJobExecution(long)>(v);
v = interfaceinvoke v.<jakarta.batch.runtime.JobExecution: jakarta.batch.runtime.BatchStatus getBatchStatus()>();
v = v.<org.apache.batchee.servlet.SimpleRestController: jakarta.batch.operations.JobOperator jobOperator>;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = interfaceinvoke v.<jakarta.batch.operations.JobOperator: java.util.List getStepExecutions(long)>(v);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = virtualinvoke v.<jakarta.batch.runtime.BatchStatus: java.lang.String name()>();
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void reportSuccess(long,jakarta.servlet.http.HttpServletResponse,java.lang.String)>(v, v, v);
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void reportMetricsCsv(jakarta.servlet.http.HttpServletResponse,java.util.List)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void reportFailure(long,jakarta.servlet.http.HttpServletResponse,java.lang.String)>(v, v, "NoSuchJob");
goto label;
label:
v := @caughtexception;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>("Failure in BatchExecution");
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void appendExceptionMsg(java.lang.StringBuilder,java.lang.Exception)>(v, v);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void reportFailure(long,jakarta.servlet.http.HttpServletResponse,java.lang.String)>(v, v, v);
label:
return;
catch jakarta.batch.operations.NoSuchJobExecutionException from label to label with label;
catch java.lang.Exception from label to label with label;
}
private void batchStop(java.lang.String, jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse)
{
java.lang.Throwable v, v;
jakarta.servlet.http.HttpServletRequest v;
long v, v, v, v, v;
jakarta.batch.runtime.BatchStatus v;
java.lang.Long v;
jakarta.batch.operations.JobOperator v;
java.lang.String v, v, v;
java.lang.Exception v;
org.apache.batchee.servlet.SimpleRestController v;
java.lang.StringBuilder v;
jakarta.servlet.http.HttpServletResponse v;
v := @this: org.apache.batchee.servlet.SimpleRestController;
v := @parameter: java.lang.String;
v := @parameter: jakarta.servlet.http.HttpServletRequest;
v := @parameter: jakarta.servlet.http.HttpServletResponse;
v = specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: java.lang.Long extractExecutionId(java.lang.String,jakarta.servlet.http.HttpServletResponse)>(v, v);
if v != null goto label;
return;
label:
v = v.<org.apache.batchee.servlet.SimpleRestController: jakarta.batch.operations.JobOperator jobOperator>;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
interfaceinvoke v.<jakarta.batch.operations.JobOperator: void stop(long)>(v);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = <jakarta.batch.runtime.BatchStatus: jakarta.batch.runtime.BatchStatus STOPPING>;
v = virtualinvoke v.<jakarta.batch.runtime.BatchStatus: java.lang.String toString()>();
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void reportSuccess(long,jakarta.servlet.http.HttpServletResponse,java.lang.String)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void reportFailure(long,jakarta.servlet.http.HttpServletResponse,java.lang.String)>(v, v, "NoSuchJob");
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void reportFailure(long,jakarta.servlet.http.HttpServletResponse,java.lang.String)>(v, v, "JobExecutionNotRunning");
goto label;
label:
v := @caughtexception;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>("Failure in BatchExecution");
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void appendExceptionMsg(java.lang.StringBuilder,java.lang.Exception)>(v, v);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void reportFailure(long,jakarta.servlet.http.HttpServletResponse,java.lang.String)>(v, v, v);
label:
return;
catch jakarta.batch.operations.NoSuchJobExecutionException from label to label with label;
catch jakarta.batch.operations.JobExecutionNotRunningException from label to label with label;
catch java.lang.Exception from label to label with label;
}
private void batchRestart(java.lang.String, jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse)
{
java.lang.Throwable v, v;
jakarta.servlet.http.HttpServletRequest v;
long v, v, v, v;
java.lang.Long v;
jakarta.batch.operations.JobOperator v;
java.lang.String v, v;
java.util.Properties v;
java.lang.Exception v;
org.apache.batchee.servlet.SimpleRestController v;
java.lang.StringBuilder v;
jakarta.servlet.http.HttpServletResponse v;
v := @this: org.apache.batchee.servlet.SimpleRestController;
v := @parameter: java.lang.String;
v := @parameter: jakarta.servlet.http.HttpServletRequest;
v := @parameter: jakarta.servlet.http.HttpServletResponse;
v = specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: java.lang.Long extractExecutionId(java.lang.String,jakarta.servlet.http.HttpServletResponse)>(v, v);
if v != null goto label;
return;
label:
v = specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: java.util.Properties extractJobProperties(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)>(v, v);
label:
v = v.<org.apache.batchee.servlet.SimpleRestController: jakarta.batch.operations.JobOperator jobOperator>;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
interfaceinvoke v.<jakarta.batch.operations.JobOperator: long restart(long,java.util.Properties)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void reportFailure(long,jakarta.servlet.http.HttpServletResponse,java.lang.String)>(v, v, "NoSuchJob");
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<java.lang.Long: long longValue()>();
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void reportFailure(long,jakarta.servlet.http.HttpServletResponse,java.lang.String)>(v, v, "NoSuchJob");
goto label;
label:
v := @caughtexception;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>("Failure in BatchExecution");
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void appendExceptionMsg(java.lang.StringBuilder,java.lang.Exception)>(v, v);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void reportFailure(long,jakarta.servlet.http.HttpServletResponse,java.lang.String)>(v, v, v);
label:
return;
catch jakarta.batch.operations.NoSuchJobExecutionException from label to label with label;
catch jakarta.batch.operations.JobExecutionAlreadyCompleteException from label to label with label;
catch java.lang.Exception from label to label with label;
}
private void unknownCommand(java.lang.String, jakarta.servlet.http.HttpServletResponse)
{
java.lang.String v, v;
org.apache.batchee.servlet.SimpleRestController v;
java.lang.StringBuilder v, v, v, v, v, v, v, v, v, v, v, v;
jakarta.servlet.http.HttpServletResponse v;
v := @this: org.apache.batchee.servlet.SimpleRestController;
v := @parameter: java.lang.String;
v := @parameter: jakarta.servlet.http.HttpServletResponse;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>("Unknown command:");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(10);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("The returned response if of MIME type text/plain and contains the following information\n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("  {jobExecutionId} (or -1 if no executionId was detected)\\n\n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("  OK (or FAILURE)\\n\n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("  followed by command specific information\n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\nKnown commands are:\n\n");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("* ");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("start/");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" - start a new batch job\n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("  Sample: http://localhost:8080/myapp/jbatch/rest/start/myjobname?param1=x&param2=y\n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("  BatchEE will start the job and immediately return\n\n");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("* ");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("status/");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" - query the current status \n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("  Sample: http://localhost:8080/myapp/jbatch/rest/status/23\n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("  will return the state of executionId 23\n\n");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("* ");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("metrics/");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" - query the current metrics \n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("  Sample: http://localhost:8080/myapp/jbatch/rest/metrics/23\n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("  will return the metrics of executionId 23\n\n");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("* ");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("stop/");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" - stop the job with the given executionId \n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("  Sample: http://localhost:8080/myapp/jbatch/rest/stop/23\n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("  will stop the job with executionId 23\n\n");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("* ");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("restart/");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(" - restart the job with the given executionId \n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("  Sample: http://localhost:8080/myapp/jbatch/rest/restart/23\n");
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("  will restart the job with executionId 23\n\n");
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void reportFailure(long,jakarta.servlet.http.HttpServletResponse,java.lang.String)>(-1L, v, v);
return;
}
private java.util.Properties extractJobProperties(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse)
{
java.util.Properties v;
jakarta.servlet.http.HttpServletRequest v;
java.util.Iterator v;
java.util.Set v;
org.apache.batchee.servlet.SimpleRestController v;
java.util.Map v;
int v, v;
java.lang.Object v, v, v;
jakarta.servlet.http.HttpServletResponse v;
java.lang.String v, v;
boolean v;
v := @this: org.apache.batchee.servlet.SimpleRestController;
v := @parameter: jakarta.servlet.http.HttpServletRequest;
v := @parameter: jakarta.servlet.http.HttpServletResponse;
v = new java.util.Properties;
specialinvoke v.<java.util.Properties: void <init>()>();
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: java.util.Map getParameterMap()>();
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()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
if v != 0 goto label;
label:
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void reportFailure(long,jakarta.servlet.http.HttpServletResponse,java.lang.String)>(-1L, v, "Parameter key must be set");
return null;
label:
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
if v == null goto label;
v = lengthof v;
if v == 1 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[])>("Exactly one value must be set for each parameter (parameter name=\u)");
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void reportFailure(long,jakarta.servlet.http.HttpServletResponse,java.lang.String)>(-1L, v, v);
return null;
label:
v = v[0];
virtualinvoke v.<java.util.Properties: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
return v;
}
private java.lang.Long extractExecutionId(java.lang.String, jakarta.servlet.http.HttpServletResponse)
{
java.lang.Long v;
org.apache.batchee.servlet.SimpleRestController v;
java.lang.NumberFormatException v;
jakarta.servlet.http.HttpServletResponse v;
java.lang.String v, v;
boolean v;
v := @this: org.apache.batchee.servlet.SimpleRestController;
v := @parameter: java.lang.String;
v := @parameter: jakarta.servlet.http.HttpServletResponse;
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v == 0 goto label;
label:
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void reportFailure(long,jakarta.servlet.http.HttpServletResponse,java.lang.String)>(-1L, v, "no executionId given");
return null;
label:
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(java.lang.String)>(v);
label:
return v;
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[])>("executionId must be numeric, but is \u0001");
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void reportFailure(long,jakarta.servlet.http.HttpServletResponse,java.lang.String)>(-1L, v, v);
return null;
catch java.lang.NumberFormatException from label to label with label;
}
private void reportSuccess(long, jakarta.servlet.http.HttpServletResponse, java.lang.String)
{
org.apache.batchee.servlet.SimpleRestController v;
long v;
jakarta.servlet.http.HttpServletResponse v;
java.lang.String v, v, v;
v := @this: org.apache.batchee.servlet.SimpleRestController;
v := @parameter: long;
v := @parameter: jakarta.servlet.http.HttpServletResponse;
v := @parameter: java.lang.String;
interfaceinvoke v.<jakarta.servlet.http.HttpServletResponse: void setStatus(int)>(200);
v = staticinvoke <java.lang.Long: java.lang.String toString(long)>(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[])>("\u0001\n");
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void writeContent(jakarta.servlet.http.HttpServletResponse,java.lang.String)>(v, v);
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void writeContent(jakarta.servlet.http.HttpServletResponse,java.lang.String)>(v, "OK\n");
if v == null goto label;
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void writeContent(jakarta.servlet.http.HttpServletResponse,java.lang.String)>(v, v);
label:
return;
}
private void reportFailure(long, jakarta.servlet.http.HttpServletResponse, java.lang.String)
{
org.apache.batchee.servlet.SimpleRestController v;
long v;
jakarta.servlet.http.HttpServletResponse v;
java.lang.String v, v, v;
v := @this: org.apache.batchee.servlet.SimpleRestController;
v := @parameter: long;
v := @parameter: jakarta.servlet.http.HttpServletResponse;
v := @parameter: java.lang.String;
interfaceinvoke v.<jakarta.servlet.http.HttpServletResponse: void setStatus(int)>(500);
v = staticinvoke <java.lang.Long: java.lang.String toString(long)>(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[])>("\u0001\n");
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void writeContent(jakarta.servlet.http.HttpServletResponse,java.lang.String)>(v, v);
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void writeContent(jakarta.servlet.http.HttpServletResponse,java.lang.String)>(v, "FAILURE\n");
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void writeContent(jakarta.servlet.http.HttpServletResponse,java.lang.String)>(v, v);
return;
}
private void reportMetricsCsv(jakarta.servlet.http.HttpServletResponse, java.util.List)
{
java.lang.String[] v;
java.util.HashMap v;
long v, v;
java.util.ArrayList v;
jakarta.batch.runtime.Metric$MetricType[] v, v;
int v, v, v, v;
java.lang.String v, v, v;
boolean v, v;
jakarta.batch.runtime.Metric v;
java.util.Iterator v;
java.util.List v, v, v;
jakarta.batch.runtime.Metric[] v;
org.apache.batchee.servlet.SimpleRestController v;
org.apache.batchee.servlet.SimpleRestController$1 v;
jakarta.batch.runtime.Metric$MetricType v, v;
java.lang.Object v, v;
java.lang.StringBuilder v;
jakarta.servlet.http.HttpServletResponse v;
v := @this: org.apache.batchee.servlet.SimpleRestController;
v := @parameter: jakarta.servlet.http.HttpServletResponse;
v := @parameter: java.util.List;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(int)>(200);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\n");
v = newarray (java.lang.String)[2];
v[0] = "STEP_EXECUTION_ID";
v[1] = "STEP_NAME";
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void joinCsv(java.lang.StringBuilder,java.util.List)>(v, v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(59);
v = staticinvoke <jakarta.batch.runtime.Metric$MetricType: jakarta.batch.runtime.Metric$MetricType[] values()>();
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void joinCsv(java.lang.StringBuilder,java.util.List)>(v, v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\n");
v = new org.apache.batchee.servlet.SimpleRestController$1;
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController$1: void <init>(org.apache.batchee.servlet.SimpleRestController)>(v);
staticinvoke <java.util.Collections: void sort(java.util.List,java.util.Comparator)>(v, v);
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.<jakarta.batch.runtime.StepExecution: long getStepExecutionId()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(long)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(59);
v = interfaceinvoke v.<jakarta.batch.runtime.StepExecution: java.lang.String getStepName()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(59);
v = interfaceinvoke v.<jakarta.batch.runtime.StepExecution: jakarta.batch.runtime.Metric[] getMetrics()>();
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = interfaceinvoke v.<jakarta.batch.runtime.Metric: jakarta.batch.runtime.Metric$MetricType getType()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v + 1;
goto label;
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = staticinvoke <jakarta.batch.runtime.Metric$MetricType: jakarta.batch.runtime.Metric$MetricType[] values()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
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);
v = interfaceinvoke v.<jakarta.batch.runtime.Metric: long getValue()>();
v = staticinvoke <java.lang.String: java.lang.String valueOf(long)>(v);
goto label;
label:
v = "-";
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void joinCsv(java.lang.StringBuilder,java.util.List)>(v, v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("\n");
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void writeContent(jakarta.servlet.http.HttpServletResponse,java.lang.String)>(v, v);
return;
}
private void joinCsv(java.lang.StringBuilder, java.util.List)
{
java.util.List v;
java.util.ListIterator v;
org.apache.batchee.servlet.SimpleRestController v;
java.lang.Object v;
java.lang.StringBuilder v;
boolean v, v;
v := @this: org.apache.batchee.servlet.SimpleRestController;
v := @parameter: java.lang.StringBuilder;
v := @parameter: java.util.List;
v = interfaceinvoke v.<java.util.List: java.util.ListIterator listIterator()>();
label:
v = interfaceinvoke v.<java.util.ListIterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.ListIterator: java.lang.Object next()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.Object)>(v);
v = interfaceinvoke v.<java.util.ListIterator: boolean hasNext()>();
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(59);
goto label;
label:
return;
}
private void writeContent(jakarta.servlet.http.HttpServletResponse, java.lang.String)
{
java.io.PrintWriter v;
org.apache.batchee.servlet.SimpleRestController v;
java.io.IOException v;
jakarta.servlet.http.HttpServletResponse v;
java.lang.RuntimeException v;
java.lang.String v;
v := @this: org.apache.batchee.servlet.SimpleRestController;
v := @parameter: jakarta.servlet.http.HttpServletResponse;
v := @parameter: java.lang.String;
label:
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletResponse: java.io.PrintWriter getWriter()>();
virtualinvoke v.<java.io.PrintWriter: java.io.PrintWriter append(java.lang.CharSequence)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
return;
catch java.io.IOException from label to label with label;
}
private void appendExceptionMsg(java.lang.StringBuilder, java.lang.Exception)
{
java.io.PrintWriter v;
java.io.StringWriter v;
java.lang.Exception v;
org.apache.batchee.servlet.SimpleRestController v;
java.lang.StringBuilder v, v;
java.lang.String v, v;
v := @this: org.apache.batchee.servlet.SimpleRestController;
v := @parameter: java.lang.StringBuilder;
v := @parameter: java.lang.Exception;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(10);
v = new java.io.StringWriter;
specialinvoke v.<java.io.StringWriter: void <init>()>();
v = new java.io.PrintWriter;
specialinvoke v.<java.io.PrintWriter: void <init>(java.io.Writer)>(v);
virtualinvoke v.<java.lang.Exception: void printStackTrace(java.io.PrintWriter)>(v);
v = virtualinvoke v.<java.io.StringWriter: java.lang.String toString()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
return;
}
}