From b69628fe23511900ac36fdcd74d70b2cc92a4dd6 Mon Sep 17 00:00:00 2001
From: Thomas Mortagne <thomas.mortagne@gmail.com>
Date: Mon, 29 Jul 2024 16:09:14 +0200
Subject: [PATCH] XWIKI-22365: Possible nullpointerexception when getting the
 extension index status

(cherry picked from commit 2fe73a6282f2fa3d061481d5d1b5a93726dadc69)
---
 .../index/internal/job/ExtensionIndexJobScheduler.java     | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/xwiki-platform-core/xwiki-platform-extension/xwiki-platform-extension-index/src/main/java/org/xwiki/extension/index/internal/job/ExtensionIndexJobScheduler.java b/xwiki-platform-core/xwiki-platform-extension/xwiki-platform-extension-index/src/main/java/org/xwiki/extension/index/internal/job/ExtensionIndexJobScheduler.java
index ec54c5b9bd1..5b26e35feef 100644
--- a/xwiki-platform-core/xwiki-platform-extension/xwiki-platform-extension-index/src/main/java/org/xwiki/extension/index/internal/job/ExtensionIndexJobScheduler.java
+++ b/xwiki-platform-core/xwiki-platform-extension/xwiki-platform-extension-index/src/main/java/org/xwiki/extension/index/internal/job/ExtensionIndexJobScheduler.java
@@ -165,7 +165,7 @@ public ExtensionIndexStatus getStatus(Namespace namespace)
         ExtensionIndexStatus scheduledStatus = !id.equals(this.scheduledRequest.getId())
             ? (ExtensionIndexStatus) this.jobStore.getJobStatus(this.scheduledRequest.getId()) : null;
 
-        if (namespaceStatus != null
+        if (hasAStartDate(namespaceStatus)
             && (scheduledStatus == null || namespaceStatus.getStartDate().after(scheduledStatus.getStartDate())
                 || !((ExtensionIndexRequest) scheduledStatus.getRequest()).getNamespaces().contains(namespace))) {
             return namespaceStatus;
@@ -174,6 +174,11 @@ public ExtensionIndexStatus getStatus(Namespace namespace)
         return scheduledStatus;
     }
 
+    private boolean hasAStartDate(ExtensionIndexStatus status)
+    {
+        return status != null && status.getStartDate() != null;
+    }
+
     /**
      * @param namespace the new namespace to analyze
      */
-- 
GitLab