public class org.apache.sling.event.impl.jobs.notifications.NewJobSender extends java.lang.Object implements org.apache.sling.api.resource.observation.ResourceChangeListener, org.apache.sling.api.resource.observation.ExternalResourceChangeListener
{
private final org.slf4j.Logger logger;
private org.apache.sling.event.impl.jobs.config.JobManagerConfiguration configuration;
private org.osgi.service.event.EventAdmin eventAdmin;
private volatile org.osgi.framework.ServiceRegistration listenerRegistration;
public void <init>()
{
org.apache.sling.event.impl.jobs.notifications.NewJobSender v;
java.lang.Class v;
org.slf4j.Logger v;
v := @this: org.apache.sling.event.impl.jobs.notifications.NewJobSender;
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.notifications.NewJobSender: org.slf4j.Logger logger> = v;
return;
}
protected void activate(org.osgi.framework.BundleContext)
{
org.apache.sling.event.impl.jobs.notifications.NewJobSender v;
org.slf4j.Logger v;
org.apache.sling.api.resource.observation.ResourceChange$ChangeType v;
org.apache.sling.event.impl.jobs.config.JobManagerConfiguration v, v;
org.osgi.framework.BundleContext v;
java.lang.String v, v, v;
java.util.Hashtable v;
org.osgi.framework.ServiceRegistration v;
v := @this: org.apache.sling.event.impl.jobs.notifications.NewJobSender;
v := @parameter: org.osgi.framework.BundleContext;
v = new java.util.Hashtable;
specialinvoke v.<java.util.Hashtable: void <init>()>();
virtualinvoke v.<java.util.Dictionary: java.lang.Object put(java.lang.Object,java.lang.Object)>("service.description", "Apache Sling Job Topic Manager Event Handler");
virtualinvoke v.<java.util.Dictionary: java.lang.Object put(java.lang.Object,java.lang.Object)>("service.vendor", "The Apache Software Foundation");
v = <org.apache.sling.api.resource.observation.ResourceChange$ChangeType: org.apache.sling.api.resource.observation.ResourceChange$ChangeType ADDED>;
v = virtualinvoke v.<org.apache.sling.api.resource.observation.ResourceChange$ChangeType: java.lang.String toString()>();
virtualinvoke v.<java.util.Dictionary: java.lang.Object put(java.lang.Object,java.lang.Object)>("resource.change.types", v);
v = v.<org.apache.sling.event.impl.jobs.notifications.NewJobSender: org.apache.sling.event.impl.jobs.config.JobManagerConfiguration configuration>;
v = virtualinvoke v.<org.apache.sling.event.impl.jobs.config.JobManagerConfiguration: java.lang.String getLocalJobsPath()>();
virtualinvoke v.<java.util.Dictionary: java.lang.Object put(java.lang.Object,java.lang.Object)>("resource.paths", v);
v = interfaceinvoke v.<org.osgi.framework.BundleContext: org.osgi.framework.ServiceRegistration registerService(java.lang.Class,java.lang.Object,java.util.Dictionary)>(class "Lorg/apache/sling/api/resource/observation/ResourceChangeListener;", v, v);
v.<org.apache.sling.event.impl.jobs.notifications.NewJobSender: org.osgi.framework.ServiceRegistration listenerRegistration> = v;
v = v.<org.apache.sling.event.impl.jobs.notifications.NewJobSender: org.slf4j.Logger logger>;
v = v.<org.apache.sling.event.impl.jobs.notifications.NewJobSender: org.apache.sling.event.impl.jobs.config.JobManagerConfiguration configuration>;
v = virtualinvoke v.<org.apache.sling.event.impl.jobs.config.JobManagerConfiguration: java.lang.String getLocalJobsPath()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Registered resource event listener for {}", v);
return;
}
protected void deactivate()
{
org.apache.sling.event.impl.jobs.notifications.NewJobSender v;
org.slf4j.Logger v;
org.osgi.framework.ServiceRegistration v, v;
v := @this: org.apache.sling.event.impl.jobs.notifications.NewJobSender;
v = v.<org.apache.sling.event.impl.jobs.notifications.NewJobSender: org.osgi.framework.ServiceRegistration listenerRegistration>;
if v == null goto label;
v = v.<org.apache.sling.event.impl.jobs.notifications.NewJobSender: org.osgi.framework.ServiceRegistration listenerRegistration>;
interfaceinvoke v.<org.osgi.framework.ServiceRegistration: void unregister()>();
v.<org.apache.sling.event.impl.jobs.notifications.NewJobSender: org.osgi.framework.ServiceRegistration listenerRegistration> = null;
label:
v = v.<org.apache.sling.event.impl.jobs.notifications.NewJobSender: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Deactivating resource event listener");
return;
}
public void onChange(java.util.List)
{
org.apache.sling.event.impl.jobs.notifications.NewJobSender v;
org.apache.sling.event.impl.jobs.config.QueueConfigurationManager$QueueInfo v;
int v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v;
java.util.Hashtable v;
boolean v;
org.slf4j.Logger v, v;
java.util.Iterator v;
org.apache.sling.api.resource.observation.ResourceChange$ChangeType v;
org.apache.sling.event.impl.jobs.config.JobManagerConfiguration v, v;
org.apache.sling.event.impl.jobs.config.QueueConfigurationManager v;
java.util.List v;
java.lang.Object v;
org.osgi.service.event.Event v;
org.osgi.service.event.EventAdmin v;
v := @this: org.apache.sling.event.impl.jobs.notifications.NewJobSender;
v := @parameter: java.util.List;
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.api.resource.observation.ResourceChange: java.lang.String getPath()>();
v = v.<org.apache.sling.event.impl.jobs.notifications.NewJobSender: org.slf4j.Logger logger>;
v = virtualinvoke v.<org.apache.sling.api.resource.observation.ResourceChange: org.apache.sling.api.resource.observation.ResourceChange$ChangeType getType()>();
v = virtualinvoke v.<org.apache.sling.api.resource.observation.ResourceChange$ChangeType: java.lang.String name()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Received event {} : {}", v, v);
v = v.<org.apache.sling.event.impl.jobs.notifications.NewJobSender: org.apache.sling.event.impl.jobs.config.JobManagerConfiguration configuration>;
v = virtualinvoke v.<org.apache.sling.event.impl.jobs.config.JobManagerConfiguration: java.lang.String getLocalJobsPath()>();
v = virtualinvoke v.<java.lang.String: int length()>();
v = v + 1;
v = virtualinvoke v.<java.lang.String: int indexOf(int,int)>(47, v);
v = (int) -1;
if v == v goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(v, v);
v = virtualinvoke v.<java.lang.String: java.lang.String replace(char,char)>(46, 47);
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = v + 1;
v = virtualinvoke v.<java.lang.String: int indexOf(java.lang.String,int)>("_", v);
v = (int) -1;
if v == v goto label;
v = new java.util.Hashtable;
specialinvoke v.<java.util.Hashtable: void <init>()>();
virtualinvoke v.<java.util.Dictionary: java.lang.Object put(java.lang.Object,java.lang.Object)>("slingevent:eventId", v);
virtualinvoke v.<java.util.Dictionary: java.lang.Object put(java.lang.Object,java.lang.Object)>("event.job.topic", v);
v = v.<org.apache.sling.event.impl.jobs.notifications.NewJobSender: org.apache.sling.event.impl.jobs.config.JobManagerConfiguration configuration>;
v = virtualinvoke v.<org.apache.sling.event.impl.jobs.config.JobManagerConfiguration: org.apache.sling.event.impl.jobs.config.QueueConfigurationManager getQueueConfigurationManager()>();
v = virtualinvoke v.<org.apache.sling.event.impl.jobs.config.QueueConfigurationManager: org.apache.sling.event.impl.jobs.config.QueueConfigurationManager$QueueInfo getQueueInfo(java.lang.String)>(v);
v = v.<org.apache.sling.event.impl.jobs.config.QueueConfigurationManager$QueueInfo: java.lang.String queueName>;
virtualinvoke v.<java.util.Dictionary: java.lang.Object put(java.lang.Object,java.lang.Object)>("event.job.queuename", v);
v = new org.osgi.service.event.Event;
specialinvoke v.<org.osgi.service.event.Event: void <init>(java.lang.String,java.util.Dictionary)>("org/apache/sling/event/notification/job/ADDED", v);
v = v.<org.apache.sling.event.impl.jobs.notifications.NewJobSender: org.slf4j.Logger logger>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Sending event {} : {}", v, v);
v = v.<org.apache.sling.event.impl.jobs.notifications.NewJobSender: org.osgi.service.event.EventAdmin eventAdmin>;
interfaceinvoke v.<org.osgi.service.event.EventAdmin: void sendEvent(org.osgi.service.event.Event)>(v);
goto label;
label:
return;
}
}