public class org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler extends java.lang.Object implements java.lang.Runnable
{
private final org.slf4j.Logger logger;
private final org.apache.sling.event.impl.jobs.config.JobManagerConfiguration configuration;
private final org.apache.sling.event.impl.jobs.scheduling.JobSchedulerImpl jobScheduler;
private final java.util.Map scheduledJobs;
private final java.util.concurrent.atomic.AtomicLong lastBundleActivity;
private final java.util.concurrent.atomic.AtomicBoolean isRunning;
private final java.util.concurrent.BlockingQueue queue;
public void <init>(org.apache.sling.event.impl.jobs.config.JobManagerConfiguration, org.apache.sling.event.impl.jobs.scheduling.JobSchedulerImpl)
{
org.slf4j.Logger v;
java.util.concurrent.atomic.AtomicBoolean v;
java.util.HashMap v;
org.apache.sling.event.impl.jobs.scheduling.JobSchedulerImpl v;
java.util.concurrent.LinkedBlockingQueue v;
org.apache.sling.event.impl.jobs.config.JobManagerConfiguration v;
java.util.concurrent.atomic.AtomicLong v;
java.lang.Thread v;
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler v;
java.lang.Class v;
v := @this: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler;
v := @parameter: org.apache.sling.event.impl.jobs.config.JobManagerConfiguration;
v := @parameter: org.apache.sling.event.impl.jobs.scheduling.JobSchedulerImpl;
specialinvoke v.<java.lang.Object: void <init>()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(v);
v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.slf4j.Logger logger> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.Map scheduledJobs> = v;
v = new java.util.concurrent.atomic.AtomicLong;
specialinvoke v.<java.util.concurrent.atomic.AtomicLong: void <init>()>();
v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.concurrent.atomic.AtomicLong lastBundleActivity> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(1);
v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.concurrent.atomic.AtomicBoolean isRunning> = v;
v = new java.util.concurrent.LinkedBlockingQueue;
specialinvoke v.<java.util.concurrent.LinkedBlockingQueue: void <init>()>();
v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.concurrent.BlockingQueue queue> = v;
v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.apache.sling.event.impl.jobs.config.JobManagerConfiguration configuration> = v;
v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.apache.sling.event.impl.jobs.scheduling.JobSchedulerImpl jobScheduler> = v;
v = new java.lang.Thread;
specialinvoke v.<java.lang.Thread: void <init>(java.lang.Runnable,java.lang.String)>(v, "Apache Sling Scheduled Job Handler Thread");
virtualinvoke v.<java.lang.Thread: void setDaemon(boolean)>(1);
virtualinvoke v.<java.lang.Thread: void start()>();
specialinvoke v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: void addFullScan()>();
return;
}
private void addTask(java.lang.Runnable)
{
java.lang.InterruptedException v;
java.lang.Thread v;
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler v;
java.util.concurrent.BlockingQueue v;
java.lang.Runnable v;
v := @this: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler;
v := @parameter: java.lang.Runnable;
label:
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.concurrent.BlockingQueue queue>;
interfaceinvoke v.<java.util.concurrent.BlockingQueue: void put(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: void ignoreException(java.lang.Exception)>(v);
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void interrupt()>();
label:
return;
catch java.lang.InterruptedException from label to label with label;
}
private void addFullScan()
{
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler v;
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$1 v;
v := @this: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler;
v = new org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$1;
specialinvoke v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$1: void <init>(org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler)>(v);
specialinvoke v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: void addTask(java.lang.Runnable)>(v);
return;
}
public void deactivate()
{
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler v;
java.util.concurrent.BlockingQueue v;
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$2 v;
v := @this: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.concurrent.atomic.AtomicBoolean isRunning>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.concurrent.BlockingQueue queue>;
interfaceinvoke v.<java.util.concurrent.BlockingQueue: void clear()>();
v = new org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$2;
specialinvoke v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$2: void <init>(org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler)>(v);
specialinvoke v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: void addTask(java.lang.Runnable)>(v);
return;
}
public void run()
{
java.util.concurrent.atomic.AtomicBoolean v, v, v;
java.util.concurrent.BlockingQueue v;
java.lang.InterruptedException v;
java.lang.Thread v;
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler v;
java.lang.Object v;
boolean v, v;
v := @this: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler;
label:
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.concurrent.atomic.AtomicBoolean isRunning>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
label:
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.concurrent.BlockingQueue queue>;
v = interfaceinvoke v.<java.util.concurrent.BlockingQueue: java.lang.Object take()>();
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: void ignoreException(java.lang.Exception)>(v);
v = staticinvoke <java.lang.Thread: java.lang.Thread currentThread()>();
virtualinvoke v.<java.lang.Thread: void interrupt()>();
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.concurrent.atomic.AtomicBoolean isRunning>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
label:
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.concurrent.atomic.AtomicBoolean isRunning>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
if v == null goto label;
interfaceinvoke v.<java.lang.Runnable: void run()>();
goto label;
label:
return;
catch java.lang.InterruptedException from label to label with label;
}
private void scan()
{
java.lang.Throwable v, v;
org.apache.sling.api.resource.ResourceResolver v;
java.util.concurrent.atomic.AtomicBoolean v, v;
java.util.HashMap v;
java.lang.Iterable v;
java.util.Map v, v, v, v;
java.lang.String v;
boolean v, v, v, v;
org.slf4j.Logger v, v;
java.util.Iterator v, v;
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl v, v;
java.util.Collection v;
org.apache.sling.api.resource.Resource v;
org.apache.sling.event.impl.jobs.scheduling.JobSchedulerImpl v;
org.apache.sling.event.impl.jobs.config.JobManagerConfiguration v, v;
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler v;
java.lang.Object v, v;
v := @this: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.apache.sling.event.impl.jobs.config.JobManagerConfiguration configuration>;
v = virtualinvoke v.<org.apache.sling.event.impl.jobs.config.JobManagerConfiguration: org.apache.sling.api.resource.ResourceResolver createResourceResolver()>();
if v == null goto label;
label:
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Scanning for scheduled jobs...");
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.apache.sling.event.impl.jobs.config.JobManagerConfiguration configuration>;
v = virtualinvoke v.<org.apache.sling.event.impl.jobs.config.JobManagerConfiguration: java.lang.String getScheduledJobsPath(boolean)>(0);
v = interfaceinvoke v.<org.apache.sling.api.resource.ResourceResolver: org.apache.sling.api.resource.Resource getResource(java.lang.String)>(v);
if v == null goto label;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.Map scheduledJobs>;
entermonitor v;
label:
v = interfaceinvoke v.<org.apache.sling.api.resource.Resource: java.lang.Iterable getChildren()>();
v = interfaceinvoke v.<java.lang.Iterable: 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.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.concurrent.atomic.AtomicBoolean isRunning>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
specialinvoke v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: void handleAddOrUpdate(java.util.Map,org.apache.sling.api.resource.Resource)>(v, v);
goto label;
label:
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.concurrent.atomic.AtomicBoolean isRunning>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.Map scheduledJobs>;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
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 = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl info>;
if v == null goto label;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.apache.sling.event.impl.jobs.scheduling.JobSchedulerImpl jobScheduler>;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl info>;
virtualinvoke v.<org.apache.sling.event.impl.jobs.scheduling.JobSchedulerImpl: void unscheduleJob(org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl)>(v);
goto label;
label:
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.Map scheduledJobs>;
interfaceinvoke v.<java.util.Map: void clear()>();
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.Map scheduledJobs>;
interfaceinvoke v.<java.util.Map: void putAll(java.util.Map)>(v);
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Finished scanning for scheduled jobs...");
label:
interfaceinvoke v.<org.apache.sling.api.resource.ResourceResolver: void close()>();
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<org.apache.sling.api.resource.ResourceResolver: void close()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private java.util.Map readScheduledJob(org.apache.sling.api.resource.Resource)
{
org.apache.sling.api.resource.ValueMap v;
org.slf4j.Logger v;
java.util.Iterator v;
org.apache.sling.api.resource.Resource v;
java.util.Map v;
java.lang.InstantiationException v;
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler v;
java.lang.Object v, v;
java.lang.String v, v, v;
boolean v;
v := @this: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler;
v := @parameter: org.apache.sling.api.resource.Resource;
label:
v = staticinvoke <org.apache.sling.event.impl.support.ResourceHelper: org.apache.sling.api.resource.ValueMap getValueMap(org.apache.sling.api.resource.Resource)>(v);
v = staticinvoke <org.apache.sling.event.impl.support.ResourceHelper: java.util.Map cloneValueMap(org.apache.sling.api.resource.ValueMap)>(v);
v = <org.apache.sling.event.impl.support.ResourceHelper: java.lang.String PROPERTY_MARKER_READ_ERROR_LIST>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
if v == null goto label;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.slf4j.Logger logger>;
v = interfaceinvoke v.<org.apache.sling.api.resource.Resource: java.lang.String getPath()>();
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[])>("Unable to read scheduled job from \u0001");
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>(v, v);
goto label;
label:
return v;
label:
v := @caughtexception;
specialinvoke v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: void ignoreException(java.lang.Exception)>(v);
label:
return null;
catch java.lang.InstantiationException from label to label with label;
}
public org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl addOrUpdateJob(java.lang.String, java.util.Map, java.lang.String, boolean, java.util.List) throws org.apache.sling.api.resource.PersistenceException
{
java.lang.Throwable v;
long v;
java.util.Map v, v, v, v, v;
java.lang.String v, v, v;
boolean v;
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder v;
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl v, v, v, v, v, v;
org.apache.sling.event.impl.jobs.scheduling.JobSchedulerImpl v, v;
java.util.List v;
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler v;
java.lang.Object v, v;
v := @this: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler;
v := @parameter: java.lang.String;
v := @parameter: java.util.Map;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: java.util.List;
v = specialinvoke v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.Map writeScheduledJob(java.lang.String,java.util.Map,java.lang.String,boolean,java.util.List)>(v, v, v, v, v);
v = staticinvoke <org.apache.sling.event.impl.support.ResourceHelper: java.lang.String filterName(java.lang.String)>(v);
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.Map scheduledJobs>;
entermonitor v;
label:
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.Map scheduledJobs>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
if v == null goto label;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl info>;
if v == null goto label;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.apache.sling.event.impl.jobs.scheduling.JobSchedulerImpl jobScheduler>;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl info>;
virtualinvoke v.<org.apache.sling.event.impl.jobs.scheduling.JobSchedulerImpl: void unscheduleJob(org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl)>(v);
label:
v = new org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder;
specialinvoke v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: void <init>()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("slingevent:created");
v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: java.util.Calendar created> = v;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: long read> = v;
if v != null goto label;
v = null;
goto label;
label:
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl info>;
label:
v = specialinvoke v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl addOrUpdateScheduledJob(java.util.Map,org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl)>(v, v);
v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl info> = v;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.Map scheduledJobs>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.apache.sling.event.impl.jobs.scheduling.JobSchedulerImpl jobScheduler>;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl info>;
virtualinvoke v.<org.apache.sling.event.impl.jobs.scheduling.JobSchedulerImpl: void scheduleJob(org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl)>(v);
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl info>;
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
private java.util.Map writeScheduledJob(java.lang.String, java.util.Map, java.lang.String, boolean, java.util.List) throws org.apache.sling.api.resource.PersistenceException
{
org.apache.sling.api.resource.ResourceResolver v;
java.util.Map v;
boolean v, v, v, v;
java.util.Set v;
java.util.List v;
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler v;
java.lang.Throwable v;
java.lang.String[] v;
java.util.HashMap v;
java.util.Calendar v;
int v, v;
java.lang.Boolean v;
java.lang.String v, v, v, v, v, v, v;
org.slf4j.Logger v, v;
java.util.Iterator v, v;
org.apache.sling.api.resource.Resource v;
org.apache.sling.event.impl.jobs.config.JobManagerConfiguration v, v;
java.lang.Object v, v, v, v;
v := @this: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler;
v := @parameter: java.lang.String;
v := @parameter: java.util.Map;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: java.util.List;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.apache.sling.event.impl.jobs.config.JobManagerConfiguration configuration>;
v = virtualinvoke v.<org.apache.sling.event.impl.jobs.config.JobManagerConfiguration: org.apache.sling.api.resource.ResourceResolver createResourceResolver()>();
label:
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
if v == null 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 getKey()>();
v = staticinvoke <org.apache.sling.event.impl.support.ResourceHelper: boolean ignoreProperty(java.lang.String)>(v);
if v != 0 goto label;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("event.job.topic", v);
v = staticinvoke <java.util.Calendar: java.util.Calendar getInstance()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("slingevent:created", v);
v = <org.apache.sling.event.impl.support.Environment: java.lang.String APPLICATION_ID>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("slingevent:application", v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("slingevent:scheduleName", v);
v = interfaceinvoke v.<java.util.List: int size()>();
v = newarray (java.lang.String)[v];
v = 0;
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.sling.event.impl.support.ScheduleInfoImpl: java.lang.String getSerializedString()>();
v[v] = v;
v = v + 1;
goto label;
label:
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("slingevent:scheduleInfo", v);
if v == 0 goto label;
v = <java.lang.Boolean: java.lang.Boolean TRUE>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("slingevent:scheduleSuspended", v);
label:
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("sling:resourceType", "slingevent:TimedEvent");
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.apache.sling.event.impl.jobs.config.JobManagerConfiguration configuration>;
v = virtualinvoke v.<org.apache.sling.event.impl.jobs.config.JobManagerConfiguration: java.lang.String getScheduledJobsPath(boolean)>(1);
v = staticinvoke <org.apache.sling.event.impl.support.ResourceHelper: java.lang.String filterName(java.lang.String)>(v);
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 = interfaceinvoke v.<org.apache.sling.api.resource.ResourceResolver: org.apache.sling.api.resource.Resource getResource(java.lang.String)>(v);
if v == null goto label;
interfaceinvoke v.<org.apache.sling.api.resource.ResourceResolver: void delete(org.apache.sling.api.resource.Resource)>(v);
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Updating scheduled job {} at {}", v, v);
goto label;
label:
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Storing new scheduled job {} at {}", v, v);
label:
staticinvoke <org.apache.sling.event.impl.support.ResourceHelper: org.apache.sling.api.resource.Resource createAndCommitResource(org.apache.sling.api.resource.ResourceResolver,java.lang.String,java.util.Map)>(v, v, v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("slingevent:scheduleInfo", v);
label:
interfaceinvoke v.<org.apache.sling.api.resource.ResourceResolver: void close()>();
return v;
label:
v := @caughtexception;
interfaceinvoke v.<org.apache.sling.api.resource.ResourceResolver: void close()>();
throw v;
catch java.lang.Throwable from label to label with label;
}
private org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl addOrUpdateScheduledJob(java.util.Map, org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl)
{
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl v, v, v;
org.apache.sling.event.impl.jobs.scheduling.JobSchedulerImpl v;
java.util.Map v;
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler v;
java.lang.Object v, v;
v := @this: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler;
v := @parameter: java.util.Map;
v := @parameter: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl;
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>("sling:resourceType");
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>("slingevent:created");
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>("slingevent:application");
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>("jcr:primaryType");
v = interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>("event.job.topic");
v = interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>("slingevent:scheduleName");
if v != null goto label;
v = new org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.apache.sling.event.impl.jobs.scheduling.JobSchedulerImpl jobScheduler>;
specialinvoke v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl: void <init>(org.apache.sling.event.impl.jobs.scheduling.JobSchedulerImpl,java.lang.String)>(v, v);
v = v;
goto label;
label:
v = v;
label:
virtualinvoke v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl: void update(java.lang.String,java.util.Map)>(v, v);
return v;
}
public void bundleEvent()
{
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$3 v;
java.util.concurrent.atomic.AtomicLong v;
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler v;
long v;
v := @this: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.concurrent.atomic.AtomicLong lastBundleActivity>;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: void set(long)>(v);
v = new org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$3;
specialinvoke v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$3: void <init>(org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler)>(v);
specialinvoke v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: void addTask(java.lang.Runnable)>(v);
return;
}
public void handleRemove(java.lang.String)
{
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler v;
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$4 v;
java.lang.String v;
v := @this: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler;
v := @parameter: java.lang.String;
v = new org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$4;
specialinvoke v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$4: void <init>(org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler,java.lang.String)>(v, v);
specialinvoke v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: void addTask(java.lang.Runnable)>(v);
return;
}
public void handleAddUpdate(java.lang.String)
{
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler v;
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$5 v;
java.lang.String v;
v := @this: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler;
v := @parameter: java.lang.String;
v = new org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$5;
specialinvoke v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$5: void <init>(org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler,java.lang.String)>(v, v);
specialinvoke v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: void addTask(java.lang.Runnable)>(v);
return;
}
private void handleAddOrUpdate(java.util.Map, org.apache.sling.api.resource.Resource)
{
org.apache.sling.api.resource.ValueMap v;
long v, v, v;
java.util.Calendar v;
byte v;
java.util.Map v, v, v;
int v;
java.lang.String v, v;
boolean v;
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder v;
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl v, v, v, v, v, v, v, v, v;
org.apache.sling.api.resource.Resource v;
org.apache.sling.event.impl.jobs.scheduling.JobSchedulerImpl v, v;
java.util.concurrent.atomic.AtomicLong v;
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler v;
java.lang.Object v, v, v;
v := @this: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler;
v := @parameter: java.util.Map;
v := @parameter: org.apache.sling.api.resource.Resource;
v = interfaceinvoke v.<org.apache.sling.api.resource.Resource: java.lang.String getName()>();
v = staticinvoke <org.apache.sling.event.impl.support.ResourceHelper: java.lang.String filterName(java.lang.String)>(v);
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.Map scheduledJobs>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
v = 0;
if v == null goto label;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl info>;
if v == null goto label;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: long read>;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.concurrent.atomic.AtomicLong lastBundleActivity>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long get()>();
v = v cmp v;
if v >= 0 goto label;
label:
v = 1;
label:
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl info>;
if v == null goto label;
v = staticinvoke <org.apache.sling.api.resource.ResourceUtil: org.apache.sling.api.resource.ValueMap getValueMap(org.apache.sling.api.resource.Resource)>(v);
v = interfaceinvoke v.<org.apache.sling.api.resource.ValueMap: java.lang.Object get(java.lang.Object)>("slingevent:created");
if v == null goto label;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: java.util.Calendar created>;
v = virtualinvoke v.<java.util.Calendar: int compareTo(java.util.Calendar)>(v);
if v >= 0 goto label;
v = 1;
label:
if v != 0 goto label;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = 1;
label:
if v == 0 goto label;
v = new org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder;
specialinvoke v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: void <init>()>();
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: long read> = v;
v = specialinvoke v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.Map readScheduledJob(org.apache.sling.api.resource.Resource)>(v);
if v == null goto label;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("slingevent:created");
v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: java.util.Calendar created> = v;
if v == null goto label;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl info>;
goto label;
label:
v = null;
label:
v = specialinvoke v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl addOrUpdateScheduledJob(java.util.Map,org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl)>(v, v);
v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl info> = v;
label:
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl info>;
if v != null goto label;
if v == null goto label;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl info>;
if v == null goto label;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.apache.sling.event.impl.jobs.scheduling.JobSchedulerImpl jobScheduler>;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl info>;
virtualinvoke v.<org.apache.sling.event.impl.jobs.scheduling.JobSchedulerImpl: void unscheduleJob(org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl)>(v);
label:
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl info>;
if v == null goto label;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.apache.sling.event.impl.jobs.scheduling.JobSchedulerImpl jobScheduler>;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl info>;
virtualinvoke v.<org.apache.sling.event.impl.jobs.scheduling.JobSchedulerImpl: void scheduleJob(org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl)>(v);
label:
return;
}
public void remove(org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl)
{
java.lang.Throwable v, v, v;
org.apache.sling.api.resource.ResourceResolver v;
java.util.Map v, v;
java.lang.String v, v, v, v;
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl v, v, v;
org.apache.sling.api.resource.Resource v;
org.apache.sling.event.impl.jobs.scheduling.JobSchedulerImpl v;
org.apache.sling.event.impl.jobs.config.JobManagerConfiguration v, v;
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler v;
java.lang.Object v;
java.lang.StringBuilder v;
v := @this: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler;
v := @parameter: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl;
v = virtualinvoke v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl: java.lang.String getName()>();
v = staticinvoke <org.apache.sling.event.impl.support.ResourceHelper: java.lang.String filterName(java.lang.String)>(v);
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.apache.sling.event.impl.jobs.config.JobManagerConfiguration configuration>;
v = virtualinvoke v.<org.apache.sling.event.impl.jobs.config.JobManagerConfiguration: org.apache.sling.api.resource.ResourceResolver createResourceResolver()>();
label:
v = new java.lang.StringBuilder;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.apache.sling.event.impl.jobs.config.JobManagerConfiguration configuration>;
v = virtualinvoke v.<org.apache.sling.event.impl.jobs.config.JobManagerConfiguration: java.lang.String getScheduledJobsPath(boolean)>(1);
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v = interfaceinvoke v.<org.apache.sling.api.resource.ResourceResolver: org.apache.sling.api.resource.Resource getResource(java.lang.String)>(v);
if v == null goto label;
interfaceinvoke v.<org.apache.sling.api.resource.ResourceResolver: void delete(org.apache.sling.api.resource.Resource)>(v);
interfaceinvoke v.<org.apache.sling.api.resource.ResourceResolver: void commit()>();
label:
interfaceinvoke v.<org.apache.sling.api.resource.ResourceResolver: void close()>();
goto label;
label:
v := @caughtexception;
specialinvoke v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: void ignoreException(java.lang.Exception)>(v);
label:
interfaceinvoke v.<org.apache.sling.api.resource.ResourceResolver: void close()>();
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<org.apache.sling.api.resource.ResourceResolver: void close()>();
throw v;
label:
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.Map scheduledJobs>;
entermonitor v;
label:
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.Map scheduledJobs>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
if v == null goto label;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl info>;
if v == null goto label;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.apache.sling.event.impl.jobs.scheduling.JobSchedulerImpl jobScheduler>;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl info>;
virtualinvoke v.<org.apache.sling.event.impl.jobs.scheduling.JobSchedulerImpl: void unscheduleJob(org.apache.sling.event.impl.jobs.scheduling.ScheduledJobInfoImpl)>(v);
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch org.apache.sling.api.resource.PersistenceException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public void updateSchedule(java.lang.String, java.util.Collection)
{
java.lang.Throwable v, v, v;
org.apache.sling.api.resource.ResourceResolver v;
java.lang.String[] v;
java.util.Calendar v;
java.util.Map v, v;
int v, v;
java.lang.String v, v, v, v, v, v;
boolean v;
org.slf4j.Logger v;
java.util.Iterator v;
java.util.Collection v;
org.apache.sling.api.resource.Resource v;
org.apache.sling.event.impl.jobs.config.JobManagerConfiguration v, v;
org.apache.sling.event.jobs.ScheduleInfo v;
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler v;
java.lang.Object v, v;
java.lang.StringBuilder v;
v := @this: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler;
v := @parameter: java.lang.String;
v := @parameter: java.util.Collection;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.apache.sling.event.impl.jobs.config.JobManagerConfiguration configuration>;
v = virtualinvoke v.<org.apache.sling.event.impl.jobs.config.JobManagerConfiguration: org.apache.sling.api.resource.ResourceResolver createResourceResolver()>();
label:
v = staticinvoke <org.apache.sling.event.impl.support.ResourceHelper: java.lang.String filterName(java.lang.String)>(v);
v = new java.lang.StringBuilder;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.apache.sling.event.impl.jobs.config.JobManagerConfiguration configuration>;
v = virtualinvoke v.<org.apache.sling.event.impl.jobs.config.JobManagerConfiguration: java.lang.String getScheduledJobsPath(boolean)>(1);
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
v = interfaceinvoke v.<org.apache.sling.api.resource.ResourceResolver: org.apache.sling.api.resource.Resource getResource(java.lang.String)>(v);
if v == null goto label;
v = staticinvoke <java.util.Calendar: java.util.Calendar getInstance()>();
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.Map scheduledJobs>;
entermonitor v;
label:
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: java.util.Map scheduledJobs>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler$Holder: java.util.Calendar created> = v;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = interfaceinvoke v.<org.apache.sling.api.resource.Resource: java.lang.Object adaptTo(java.lang.Class)>(class "Lorg/apache/sling/api/resource/ModifiableValueMap;");
interfaceinvoke v.<org.apache.sling.api.resource.ModifiableValueMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("slingevent:created", v);
v = interfaceinvoke v.<java.util.Collection: int size()>();
v = newarray (java.lang.String)[v];
v = 0;
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.sling.event.impl.support.ScheduleInfoImpl: java.lang.String getSerializedString()>();
v[v] = v;
v = v + 1;
goto label;
label:
interfaceinvoke v.<org.apache.sling.api.resource.ModifiableValueMap: java.lang.Object put(java.lang.Object,java.lang.Object)>("slingevent:scheduleInfo", v);
label:
interfaceinvoke v.<org.apache.sling.api.resource.ResourceResolver: void commit()>();
label:
goto label;
label:
v := @caughtexception;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.slf4j.Logger logger>;
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[])>("Unable to update scheduled job \u0001");
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>(v, v);
label:
interfaceinvoke v.<org.apache.sling.api.resource.ResourceResolver: void close()>();
goto label;
label:
v := @caughtexception;
interfaceinvoke v.<org.apache.sling.api.resource.ResourceResolver: void close()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch org.apache.sling.api.resource.PersistenceException from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private void ignoreException(java.lang.Exception)
{
org.slf4j.Logger v, v;
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler v;
java.lang.String v, v;
java.lang.Exception v;
boolean v;
v := @this: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler;
v := @parameter: java.lang.Exception;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.slf4j.Logger logger>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: org.slf4j.Logger logger>;
v = virtualinvoke v.<java.lang.Exception: 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[])>("Ignored exception \u0001");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Throwable)>(v, v);
label:
return;
}
public void maintenance()
{
org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler v;
v := @this: org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler;
specialinvoke v.<org.apache.sling.event.impl.jobs.scheduling.ScheduledJobHandler: void addFullScan()>();
return;
}
}