[
https://issues.apache.org/jira/browse/SLING-12737?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Stefan Egli resolved SLING-12737.
---------------------------------
Resolution: Fixed
> The method findJobs in JobManagerImpl does not accept a template containing
> an operation
> ----------------------------------------------------------------------------------------
>
> Key: SLING-12737
> URL: https://issues.apache.org/jira/browse/SLING-12737
> Project: Sling
> Issue Type: Bug
> Components: Event
> Affects Versions: Event 4.3.14
> Reporter: Mircea Stan
> Assignee: Stefan Egli
> Priority: Major
> Fix For: Event 4.3.16
>
>
> I am using the method findJobs in JobManager to iterate through all Sling
> jobs.
> I would like to find all history jobs with a finished date before a certain
> date specified by a user.
> First of all, there are no tests that test templates with operations, so I
> had to reverse engineer how should I build the template.
> In the end, I created a template like this:
> {code:java}
> Map<String, Object> templateBefore = Map.of("<" +
> JobImpl.PROPERTY_FINISHED_DATE,"2026-04-03T11:38:25.360+03:00"); {code}
> The template is not working though because the key is encoded before
> extracting the first character and the first character is no longer '<'.
> {code:java}
> final String key = ISO9075.encode(current.getKey());
> final char firstChar = key.length() > 0 ? key.charAt(0) : 0;
> final String propName;
> final Operation op;
> if ( firstChar == '=' ) {
> propName = key.substring(1);
> op = Operation.EQUALS;
> } else if ( firstChar == '<' ) {
> final char secondChar = key.length() > 1 ? key.charAt(1) : 0;
> if ( secondChar == '=' ) {
> op = Operation.LESS_OR_EQUALS;
> propName = key.substring(2);
> } else {
> op = Operation.LESS;
> propName = key.substring(1);
> }
> } {code}
> Could you confirm the bug and if it is not a bug, share a template that can
> work in the scenario I described?
> Thanks!
--
This message was sent by Atlassian Jira
(v8.20.10#820010)