This is an automated email from the ASF dual-hosted git repository.

stefanegli pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-event.git


The following commit(s) were added to refs/heads/master by this push:
     new ce1b71c  SLING-12737 The method findJobs in JobManagerImpl does not 
accept a template containing an operation (#40)
ce1b71c is described below

commit ce1b71c6a171afd9cfe43245a54c6677c97e2267
Author: mirsilstan <[email protected]>
AuthorDate: Tue Apr 22 18:11:20 2025 +0300

    SLING-12737 The method findJobs in JobManagerImpl does not accept a 
template containing an operation (#40)
    
    authored-by: mirceas <[email protected]>
---
 .../java/org/apache/sling/event/impl/jobs/JobManagerImpl.java    | 6 ++++--
 src/test/java/org/apache/sling/event/it/HistoryIT.java           | 9 +++++++++
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java 
b/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java
index 4f4ad08..564b21a 100644
--- a/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java
+++ b/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java
@@ -422,9 +422,9 @@ public class JobManagerImpl
                     boolean first = true;
                     while ( i.hasNext() ) {
                         final Map.Entry<String, Object> current = i.next();
-                        final String key = ISO9075.encode(current.getKey());
+                        final String key = current.getKey();
                         final char firstChar = key.length() > 0 ? 
key.charAt(0) : 0;
-                        final String propName;
+                        String propName;
                         final Operation op;
                         if ( firstChar == '=' ) {
                             propName = key.substring(1);
@@ -452,6 +452,8 @@ public class JobManagerImpl
                             op  = Operation.EQUALS;
                         }
 
+                        propName = ISO9075.encode(propName);
+
                         if ( first ) {
                             first = false;
                             buf.append('@');
diff --git a/src/test/java/org/apache/sling/event/it/HistoryIT.java 
b/src/test/java/org/apache/sling/event/it/HistoryIT.java
index d97c190..056dcb4 100644
--- a/src/test/java/org/apache/sling/event/it/HistoryIT.java
+++ b/src/test/java/org/apache/sling/event/it/HistoryIT.java
@@ -18,10 +18,12 @@
  */
 package org.apache.sling.event.it;
 
+import java.time.OffsetDateTime;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.sling.event.impl.jobs.JobImpl;
 import org.apache.sling.event.impl.jobs.config.ConfigurationConstants;
 import org.apache.sling.event.jobs.Job;
 import org.apache.sling.event.jobs.JobManager;
@@ -99,6 +101,8 @@ public class HistoryIT extends AbstractJobHandlingIT {
                     }
 
                 });
+
+        OffsetDateTime start = OffsetDateTime.now();
         for(int i = 0; i< 10; i++) {
             this.addJob(i);
         }
@@ -118,6 +122,11 @@ public class HistoryIT extends AbstractJobHandlingIT {
         assertEquals(0, jobManager.findJobs(JobManager.QueryType.STOPPED, 
TOPIC, -1, (Map<String, Object>[])null).size());
         assertEquals(7, jobManager.findJobs(JobManager.QueryType.SUCCEEDED, 
TOPIC, -1, (Map<String, Object>[])null).size());
 
+        Map<String, Object> template = new HashMap<>();
+        template.put(">=" + JobImpl.PROPERTY_JOB_STARTED_TIME, 
start.toString());
+        template.put("<" + JobImpl.PROPERTY_FINISHED_DATE, 
OffsetDateTime.now().toString());
+        assertEquals(7, jobManager.findJobs(JobManager.QueryType.SUCCEEDED, 
TOPIC, -1, template).size());
+
         // find all topics
         assertEquals(7, jobManager.findJobs(JobManager.QueryType.SUCCEEDED, 
null, -1, (Map<String, Object>[])null).size());
 

Reply via email to