public class org.apache.batchee.servlet.JBatchController extends jakarta.servlet.http.HttpServlet
{
private static final java.lang.String DEFAULT_MAPPING_SERVLET25;
private static final int DEFAULT_PAGE_SIZE;
public static final java.lang.String FORM_JOB_NAME;
private static final java.lang.String EXECUTIONS_MAPPING;
private static final java.lang.String STEP_EXECUTIONS_MAPPING;
private static final java.lang.String START_MAPPING;
private static final java.lang.String DO_START_MAPPING;
private static final java.lang.String VIEW_MAPPING;
private static final java.lang.String SIMPLEREST_MAPPING;
private jakarta.batch.operations.JobOperator operator;
private org.apache.batchee.servlet.SimpleRestController simpleRestController;
private java.lang.String context;
private java.lang.String mapping;
private int executionByPage;
private boolean readOnly;
private boolean defaultScan;
private final java.util.Set appBatches;
public void <init>()
{
java.util.HashSet v;
org.apache.batchee.servlet.JBatchController v;
v := @this: org.apache.batchee.servlet.JBatchController;
specialinvoke v.<jakarta.servlet.http.HttpServlet: void <init>()>();
v.<org.apache.batchee.servlet.JBatchController: java.lang.String mapping> = "/jbatch";
v.<org.apache.batchee.servlet.JBatchController: int executionByPage> = 30;
v.<org.apache.batchee.servlet.JBatchController: boolean readOnly> = 0;
v.<org.apache.batchee.servlet.JBatchController: boolean defaultScan> = 0;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v.<org.apache.batchee.servlet.JBatchController: java.util.Set appBatches> = v;
return;
}
public org.apache.batchee.servlet.JBatchController mapping(java.lang.String)
{
org.apache.batchee.servlet.JBatchController v;
int v, v;
java.lang.String v, v;
v := @this: org.apache.batchee.servlet.JBatchController;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 2;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v.<org.apache.batchee.servlet.JBatchController: java.lang.String mapping> = v;
return v;
}
public org.apache.batchee.servlet.JBatchController executionByPage(int)
{
int v;
org.apache.batchee.servlet.JBatchController v;
v := @this: org.apache.batchee.servlet.JBatchController;
v := @parameter: int;
v.<org.apache.batchee.servlet.JBatchController: int executionByPage> = v;
return v;
}
public org.apache.batchee.servlet.JBatchController readOnly(boolean)
{
org.apache.batchee.servlet.JBatchController v;
boolean v;
v := @this: org.apache.batchee.servlet.JBatchController;
v := @parameter: boolean;
v.<org.apache.batchee.servlet.JBatchController: boolean readOnly> = v;
return v;
}
public org.apache.batchee.servlet.JBatchController defaultScan(boolean)
{
org.apache.batchee.servlet.JBatchController v;
boolean v;
v := @this: org.apache.batchee.servlet.JBatchController;
v := @parameter: boolean;
v.<org.apache.batchee.servlet.JBatchController: boolean defaultScan> = v;
return v;
}
public void init(jakarta.servlet.ServletConfig) throws jakarta.servlet.ServletException
{
jakarta.servlet.ServletConfig v;
java.util.Enumeration v;
java.lang.Thread v;
jakarta.batch.operations.JobOperator v, v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v, v;
java.io.IOException v;
java.io.File v;
org.apache.batchee.servlet.JBatchController v;
org.apache.batchee.servlet.SimpleRestController v;
java.lang.Object v;
jakarta.servlet.ServletContext v;
java.lang.ClassLoader v;
v := @this: org.apache.batchee.servlet.JBatchController;
v := @parameter: jakarta.servlet.ServletConfig;
v = staticinvoke <jakarta.batch.runtime.BatchRuntime: jakarta.batch.operations.JobOperator getJobOperator()>();
v.<org.apache.batchee.servlet.JBatchController: jakarta.batch.operations.JobOperator operator> = v;
v = interfaceinvoke v.<jakarta.servlet.ServletConfig: jakarta.servlet.ServletContext getServletContext()>();
v = interfaceinvoke v.<jakarta.servlet.ServletContext: java.lang.String getContextPath()>();
v.<org.apache.batchee.servlet.JBatchController: java.lang.String context> = v;
v = "/";
v = v.<org.apache.batchee.servlet.JBatchController: java.lang.String context>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v.<org.apache.batchee.servlet.JBatchController: java.lang.String context> = "";
label:
v = v.<org.apache.batchee.servlet.JBatchController: java.lang.String context>;
v = v.<org.apache.batchee.servlet.JBatchController: java.lang.String mapping>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u0001");
v.<org.apache.batchee.servlet.JBatchController: java.lang.String mapping> = v;
v = new org.apache.batchee.servlet.SimpleRestController;
v = v.<org.apache.batchee.servlet.JBatchController: jakarta.batch.operations.JobOperator operator>;
specialinvoke v.<org.apache.batchee.servlet.SimpleRestController: void <init>(jakarta.batch.operations.JobOperator)>(v);
v.<org.apache.batchee.servlet.JBatchController: org.apache.batchee.servlet.SimpleRestController simpleRestController> = v;
v = v.<org.apache.batchee.servlet.JBatchController: boolean defaultScan>;
if v == 0 goto label;
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: java.lang.ClassLoader getContextClassLoader()>();
label:
v = virtualinvoke v.<java.lang.ClassLoader: java.util.Enumeration getResources(java.lang.String)>("META-INF/batch-jobs");
label:
goto label;
label:
v := @caughtexception;
return;
label:
v = interfaceinvoke v.<java.util.Enumeration: boolean hasMoreElements()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Enumeration: java.lang.Object nextElement()>();
v = staticinvoke <org.apache.batchee.servlet.JBatchController: java.io.File toFile(java.net.URL)>(v);
if v == null goto label;
v = virtualinvoke v.<java.io.File: boolean isDirectory()>();
if v == 0 goto label;
specialinvoke v.<org.apache.batchee.servlet.JBatchController: java.util.Collection findInDirectory(java.io.File)>(v);
goto label;
label:
specialinvoke v.<org.apache.batchee.servlet.JBatchController: java.util.Collection findInJar(java.io.File)>(v);
goto label;
label:
return;
catch java.io.IOException from label to label with label;
}
protected void service(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse) throws jakarta.servlet.ServletException, java.io.IOException
{
jakarta.servlet.RequestDispatcher v;
boolean v, v, v, v, v, v, v, v, v;
org.apache.batchee.servlet.JBatchController v;
org.apache.batchee.servlet.SimpleRestController v;
jakarta.servlet.http.HttpServletRequest v;
int v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.Properties v;
jakarta.servlet.http.HttpServletResponse v;
v := @this: org.apache.batchee.servlet.JBatchController;
v := @parameter: jakarta.servlet.http.HttpServletRequest;
v := @parameter: jakarta.servlet.http.HttpServletResponse;
interfaceinvoke v.<jakarta.servlet.http.HttpServletResponse: void setContentType(java.lang.String)>("text/html");
interfaceinvoke v.<jakarta.servlet.http.HttpServletResponse: void setCharacterEncoding(java.lang.String)>("UTF-8");
v = v.<org.apache.batchee.servlet.JBatchController: java.lang.String context>;
interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("context", v);
v = v.<org.apache.batchee.servlet.JBatchController: java.lang.String mapping>;
interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("mapping", v);
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: java.lang.String getPathInfo()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("/executions/");
if v == 0 goto label;
v = "/executions/";
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = staticinvoke <java.net.URLDecoder: java.lang.String decode(java.lang.String,java.lang.String)>(v, "UTF-8");
v = (int) -1;
v = staticinvoke <org.apache.batchee.servlet.JBatchController: int extractInt(jakarta.servlet.http.HttpServletRequest,java.lang.String,int)>(v, "start", v);
v = v.<org.apache.batchee.servlet.JBatchController: int executionByPage>;
specialinvoke v.<org.apache.batchee.servlet.JBatchController: void listExecutions(jakarta.servlet.http.HttpServletRequest,java.lang.String,int,int)>(v, v, v, v);
goto label;
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("/step-executions/");
if v == 0 goto label;
v = "/step-executions/";
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
specialinvoke v.<org.apache.batchee.servlet.JBatchController: void listStepExecutions(jakarta.servlet.http.HttpServletRequest,int)>(v, v);
goto label;
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("/view/");
if v == 0 goto label;
v = "/view/";
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = staticinvoke <java.net.URLDecoder: java.lang.String decode(java.lang.String,java.lang.String)>(v, "UTF-8");
specialinvoke v.<org.apache.batchee.servlet.JBatchController: void view(jakarta.servlet.http.HttpServletRequest,java.lang.String)>(v, v);
goto label;
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("/start/");
if v == 0 goto label;
v = v.<org.apache.batchee.servlet.JBatchController: boolean readOnly>;
if v == 0 goto label;
specialinvoke v.<org.apache.batchee.servlet.JBatchController: void reportReadOnly(jakarta.servlet.http.HttpServletRequest)>(v);
goto label;
label:
v = "/start/";
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = staticinvoke <java.net.URLDecoder: java.lang.String decode(java.lang.String,java.lang.String)>(v, "UTF-8");
specialinvoke v.<org.apache.batchee.servlet.JBatchController: void start(jakarta.servlet.http.HttpServletRequest,java.lang.String)>(v, v);
goto label;
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("/doStart/");
if v == 0 goto label;
v = v.<org.apache.batchee.servlet.JBatchController: boolean readOnly>;
if v == 0 goto label;
specialinvoke v.<org.apache.batchee.servlet.JBatchController: void reportReadOnly(jakarta.servlet.http.HttpServletRequest)>(v);
goto label;
label:
v = "/doStart/";
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = staticinvoke <java.net.URLDecoder: java.lang.String decode(java.lang.String,java.lang.String)>(v, "UTF-8");
v = virtualinvoke v.<java.lang.String: boolean isEmpty()>();
if v == 0 goto label;
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: java.lang.String getParameter(java.lang.String)>("___batchee_job_name___");
label:
v = staticinvoke <org.apache.batchee.servlet.JBatchController: java.util.Properties readProperties(jakarta.servlet.http.HttpServletRequest)>(v);
specialinvoke v.<org.apache.batchee.servlet.JBatchController: void doStart(jakarta.servlet.http.HttpServletRequest,java.lang.String,java.util.Properties)>(v, v, v);
goto label;
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("/rest/");
if v == 0 goto label;
v = v.<org.apache.batchee.servlet.JBatchController: org.apache.batchee.servlet.SimpleRestController simpleRestController>;
v = "/rest/";
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
virtualinvoke v.<org.apache.batchee.servlet.SimpleRestController: void dispatch(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,java.lang.String)>(v, v, v);
return;
label:
specialinvoke v.<org.apache.batchee.servlet.JBatchController: void listJobs(jakarta.servlet.http.HttpServletRequest)>(v);
label:
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: jakarta.servlet.RequestDispatcher getRequestDispatcher(java.lang.String)>("/internal/batchee/layout.jsp");
interfaceinvoke v.<jakarta.servlet.RequestDispatcher: void forward(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse)>(v, v);
return;
}
private void reportReadOnly(jakarta.servlet.http.HttpServletRequest)
{
org.apache.batchee.servlet.JBatchController v;
jakarta.servlet.http.HttpServletRequest v;
v := @this: org.apache.batchee.servlet.JBatchController;
v := @parameter: jakarta.servlet.http.HttpServletRequest;
interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("view", "read-only");
return;
}
private void view(jakarta.servlet.http.HttpServletRequest, java.lang.String)
{
jakarta.servlet.http.HttpServletRequest v;
java.io.ByteArrayOutputStream v;
java.lang.Thread v;
int v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v;
java.io.IOException v;
java.io.FileNotFoundException v, v;
org.apache.batchee.servlet.JBatchController v;
jakarta.batch.operations.BatchRuntimeException v, v;
java.lang.ClassLoader v;
java.io.InputStream v;
v := @this: org.apache.batchee.servlet.JBatchController;
v := @parameter: jakarta.servlet.http.HttpServletRequest;
v := @parameter: java.lang.String;
interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("name", v);
interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("view", "view");
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
v = virtualinvoke v.<java.lang.Thread: java.lang.ClassLoader getContextClassLoader()>();
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[])>("META-INF/batch-jobs/\u.xml");
v = virtualinvoke v.<java.lang.ClassLoader: java.io.InputStream getResourceAsStream(java.lang.String)>(v);
if v != null goto label;
v = new jakarta.batch.operations.BatchRuntimeException;
v = new java.io.FileNotFoundException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot find an XML for \u0001");
specialinvoke v.<java.io.FileNotFoundException: void <init>(java.lang.String)>(v);
specialinvoke v.<jakarta.batch.operations.BatchRuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v = new java.io.ByteArrayOutputStream;
specialinvoke v.<java.io.ByteArrayOutputStream: void <init>()>();
label:
v = virtualinvoke v.<java.io.InputStream: int read()>();
v = (int) -1;
if v == v goto label;
virtualinvoke v.<java.io.ByteArrayOutputStream: void write(int)>(v);
goto label;
label:
v := @caughtexception;
v = new jakarta.batch.operations.BatchRuntimeException;
v = new java.io.FileNotFoundException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot find an XML for \u0001");
specialinvoke v.<java.io.FileNotFoundException: void <init>(java.lang.String)>(v);
specialinvoke v.<jakarta.batch.operations.BatchRuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v = virtualinvoke v.<java.io.ByteArrayOutputStream: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("&", "&amp;");
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("<", "&lt;");
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>(">", "&gt;");
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("\"", "&quot;");
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("\'", "&apos;");
interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("content", v);
return;
catch java.io.IOException from label to label with label;
}
private void doStart(jakarta.servlet.http.HttpServletRequest, java.lang.String, java.util.Properties)
{
org.apache.batchee.servlet.JBatchController v;
java.util.Properties v;
jakarta.servlet.http.HttpServletRequest v;
java.lang.Long v;
jakarta.batch.operations.JobOperator v;
long v;
java.lang.String v;
v := @this: org.apache.batchee.servlet.JBatchController;
v := @parameter: jakarta.servlet.http.HttpServletRequest;
v := @parameter: java.lang.String;
v := @parameter: java.util.Properties;
v = v.<org.apache.batchee.servlet.JBatchController: jakarta.batch.operations.JobOperator operator>;
v = interfaceinvoke v.<jakarta.batch.operations.JobOperator: long start(java.lang.String,java.util.Properties)>(v, v);
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("id", v);
interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("name", v);
interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("view", "after-start");
return;
}
private void start(jakarta.servlet.http.HttpServletRequest, java.lang.String)
{
org.apache.batchee.servlet.JBatchController v;
java.lang.String v;
jakarta.servlet.http.HttpServletRequest v;
v := @this: org.apache.batchee.servlet.JBatchController;
v := @parameter: jakarta.servlet.http.HttpServletRequest;
v := @parameter: java.lang.String;
interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("view", "start");
interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("name", v);
return;
}
private void listStepExecutions(jakarta.servlet.http.HttpServletRequest, int)
{
jakarta.batch.runtime.JobExecution v;
jakarta.servlet.http.HttpServletRequest v;
java.lang.Integer v;
java.util.List v;
org.apache.batchee.servlet.JBatchController v;
int v;
jakarta.batch.operations.JobOperator v, v;
java.lang.String v;
v := @this: org.apache.batchee.servlet.JBatchController;
v := @parameter: jakarta.servlet.http.HttpServletRequest;
v := @parameter: int;
v = v.<org.apache.batchee.servlet.JBatchController: jakarta.batch.operations.JobOperator operator>;
v = interfaceinvoke v.<jakarta.batch.operations.JobOperator: java.util.List getStepExecutions(long)>(v);
interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("view", "step-executions");
interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("steps", v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("executionId", v);
v = v.<org.apache.batchee.servlet.JBatchController: jakarta.batch.operations.JobOperator operator>;
v = interfaceinvoke v.<jakarta.batch.operations.JobOperator: jakarta.batch.runtime.JobExecution getJobExecution(long)>(v);
v = interfaceinvoke v.<jakarta.batch.runtime.JobExecution: java.lang.String getJobName()>();
interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("name", v);
return;
}
private void listExecutions(jakarta.servlet.http.HttpServletRequest, java.lang.String, int, int)
{
java.lang.Integer v, v, v, v;
jakarta.batch.operations.JobOperator v, v, v, v;
boolean v, v;
java.util.List v, v;
org.apache.batchee.servlet.JBatchController v;
java.lang.Throwable v, v;
org.apache.batchee.servlet.JBatchController$JobInstanceIdComparator v;
jakarta.servlet.http.HttpServletRequest v;
long v;
java.util.ArrayList v;
java.util.LinkedHashMap v;
int v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v;
java.util.Iterator v;
java.lang.Object v;
v := @this: org.apache.batchee.servlet.JBatchController;
v := @parameter: jakarta.servlet.http.HttpServletRequest;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: int;
v = v.<org.apache.batchee.servlet.JBatchController: boolean readOnly>;
if v != 0 goto label;
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: java.lang.String getParameter(java.lang.String)>("stop");
if v == null goto label;
label:
v = v.<org.apache.batchee.servlet.JBatchController: jakarta.batch.operations.JobOperator operator>;
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
interfaceinvoke v.<jakarta.batch.operations.JobOperator: void stop(long)>(v);
label:
goto label;
label:
v := @caughtexception;
goto label;
label:
v := @caughtexception;
goto label;
label:
specialinvoke v.<org.apache.batchee.servlet.JBatchController: void reportReadOnly(jakarta.servlet.http.HttpServletRequest)>(v);
return;
label:
v = v.<org.apache.batchee.servlet.JBatchController: jakarta.batch.operations.JobOperator operator>;
v = interfaceinvoke v.<jakarta.batch.operations.JobOperator: int getJobInstanceCount(java.lang.String)>(v);
v = v;
v = (int) -1;
if v != v goto label;
v = v - v;
v = staticinvoke <java.lang.Math: int max(int,int)>(0, v);
label:
v = new java.util.ArrayList;
v = v.<org.apache.batchee.servlet.JBatchController: jakarta.batch.operations.JobOperator operator>;
v = interfaceinvoke v.<jakarta.batch.operations.JobOperator: java.util.List getJobInstances(java.lang.String,int,int)>(v, v, v);
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
v = <org.apache.batchee.servlet.JBatchController$JobInstanceIdComparator: org.apache.batchee.servlet.JBatchController$JobInstanceIdComparator INSTANCE>;
staticinvoke <java.util.Collections: void sort(java.util.List,java.util.Comparator)>(v, v);
v = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: 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 = v.<org.apache.batchee.servlet.JBatchController: jakarta.batch.operations.JobOperator operator>;
v = interfaceinvoke v.<jakarta.batch.operations.JobOperator: java.util.List getJobExecutions(jakarta.batch.runtime.JobInstance)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("view", "job-instances");
interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("name", v);
interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("executions", v);
v = v + v;
if v <= v goto label;
v = (int) -1;
v = v;
label:
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("nextStart", v);
v = v - v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("previousStart", v);
if v <= v goto label;
v = v - v;
v = staticinvoke <java.lang.Math: int max(int,int)>(0, v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("lastStart", v);
goto label;
label:
v = (int) -1;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("lastStart", 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;
}
private void listJobs(jakarta.servlet.http.HttpServletRequest) throws jakarta.servlet.ServletException, java.io.IOException
{
java.util.HashSet v;
org.apache.batchee.servlet.JBatchController v;
jakarta.servlet.http.HttpServletRequest v;
jakarta.batch.operations.JobOperator v;
java.util.Set v, v;
v := @this: org.apache.batchee.servlet.JBatchController;
v := @parameter: jakarta.servlet.http.HttpServletRequest;
v = new java.util.HashSet;
v = v.<org.apache.batchee.servlet.JBatchController: java.util.Set appBatches>;
specialinvoke v.<java.util.HashSet: void <init>(java.util.Collection)>(v);
v = v.<org.apache.batchee.servlet.JBatchController: jakarta.batch.operations.JobOperator operator>;
v = interfaceinvoke v.<jakarta.batch.operations.JobOperator: java.util.Set getJobNames()>();
if v == null goto label;
interfaceinvoke v.<java.util.Set: boolean addAll(java.util.Collection)>(v);
label:
interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("view", "jobs");
interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("names", v);
return;
}
private static int extractInt(jakarta.servlet.http.HttpServletRequest, java.lang.String, int)
{
jakarta.servlet.http.HttpServletRequest v;
int v, v;
java.lang.String v, v;
v := @parameter: jakarta.servlet.http.HttpServletRequest;
v := @parameter: java.lang.String;
v := @parameter: int;
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: java.lang.String getParameter(java.lang.String)>(v);
if v == null goto label;
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
return v;
label:
return v;
}
private static java.util.Properties readProperties(jakarta.servlet.http.HttpServletRequest)
{
jakarta.servlet.http.HttpServletRequest v;
java.util.Enumeration v;
java.util.HashMap v;
int v;
java.lang.String v, v, v, v, v;
boolean v, v, v, v;
java.util.Properties v;
java.util.Iterator v;
java.util.Set v;
java.lang.Object v, v, v, v;
v := @parameter: jakarta.servlet.http.HttpServletRequest;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: java.util.Enumeration getParameterNames()>();
label:
v = interfaceinvoke v.<java.util.Enumeration: boolean hasMoreElements()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Enumeration: java.lang.Object nextElement()>();
v = "___batchee_job_name___";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = interfaceinvoke v.<jakarta.servlet.http.HttpServletRequest: java.lang.String getParameter(java.lang.String)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = new java.util.Properties;
specialinvoke v.<java.util.Properties: void <init>()>();
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 = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("k_");
if v == 0 goto label;
v = "k_";
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(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[])>("v_\u0001");
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
virtualinvoke v.<java.util.Properties: java.lang.Object setProperty(java.lang.String,java.lang.String)>(v, v);
goto label;
label:
return v;
}
private java.util.Collection findInJar(java.io.File)
{
java.util.Enumeration v;
java.util.Set v;
java.io.IOException v;
java.util.jar.JarFile v;
java.io.File v;
java.util.HashSet v;
org.apache.batchee.servlet.JBatchController v;
java.util.regex.Matcher v;
java.lang.Object v;
java.lang.String v, v;
java.util.regex.Pattern v;
boolean v, v;
v := @this: org.apache.batchee.servlet.JBatchController;
v := @parameter: java.io.File;
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>("META\\-INF/batch-jobs/\\(*\\).xml");
label:
v = new java.util.jar.JarFile;
specialinvoke v.<java.util.jar.JarFile: void <init>(java.io.File)>(v);
label:
goto label;
label:
v := @caughtexception;
v = staticinvoke <java.util.Collections: java.util.Set emptySet()>();
return v;
label:
v = virtualinvoke v.<java.util.jar.JarFile: java.util.Enumeration entries()>();
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
label:
v = interfaceinvoke v.<java.util.Enumeration: boolean hasMoreElements()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Enumeration: java.lang.Object nextElement()>();
v = virtualinvoke v.<java.util.jar.JarEntry: java.lang.String getName()>();
v = virtualinvoke v.<java.util.regex.Pattern: java.util.regex.Matcher matcher(java.lang.CharSequence)>(v);
v = virtualinvoke v.<java.util.regex.Matcher: boolean matches()>();
if v == 0 goto label;
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(1);
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>(v);
goto label;
label:
return v;
catch java.io.IOException from label to label with label;
}
private java.util.Collection findInDirectory(java.io.File)
{
java.util.Set v;
java.lang.String[] v;
org.apache.batchee.servlet.JBatchController$1 v;
java.io.File v;
java.util.HashSet v;
org.apache.batchee.servlet.JBatchController v;
int v, v, v, v, v;
java.lang.String v, v, v;
v := @this: org.apache.batchee.servlet.JBatchController;
v := @parameter: java.io.File;
v = new org.apache.batchee.servlet.JBatchController$1;
specialinvoke v.<org.apache.batchee.servlet.JBatchController$1: void <init>(org.apache.batchee.servlet.JBatchController)>(v);
v = virtualinvoke v.<java.io.File: java.lang.String[] list(java.io.FilenameFilter)>(v);
if v == null goto label;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.String: int length()>();
v = ".xml";
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - v;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
return v;
label:
v = staticinvoke <java.util.Collections: java.util.Set emptySet()>();
return v;
}
private static java.io.File toFile(java.net.URL)
{
java.net.URL v;
int v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v;
boolean v, v;
java.io.File v, v, v;
v := @parameter: java.net.URL;
v = virtualinvoke v.<java.net.URL: java.lang.String toExternalForm()>();
v = "jar";
v = virtualinvoke v.<java.net.URL: java.lang.String getProtocol()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = new java.io.File;
v = "jar:";
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: int lastIndexOf(int)>(33);
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = v;
goto label;
label:
v = "file";
v = virtualinvoke v.<java.net.URL: java.lang.String getProtocol()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = new java.io.File;
v = "file:";
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = v;
goto label;
label:
v = null;
label:
return v;
}
}