diff --git a/xwiki-platform-core/xwiki-platform-extension/xwiki-platform-extension-script/src/main/java/org/xwiki/extension/script/internal/ExtensionManagerScriptService.java b/xwiki-platform-core/xwiki-platform-extension/xwiki-platform-extension-script/src/main/java/org/xwiki/extension/script/internal/ExtensionManagerScriptService.java index 98a3d53d2010af6d02933b404442a32d67e8c9bb..9adcafc161a2cd40ae4e12b9dbddd32f1c4cba4d 100644 --- a/xwiki-platform-core/xwiki-platform-extension/xwiki-platform-extension-script/src/main/java/org/xwiki/extension/script/internal/ExtensionManagerScriptService.java +++ b/xwiki-platform-core/xwiki-platform-extension/xwiki-platform-extension-script/src/main/java/org/xwiki/extension/script/internal/ExtensionManagerScriptService.java @@ -89,12 +89,17 @@ public class ExtensionManagerScriptService implements ScriptService /** * The prefix put behind all job ids. */ - public static final String EXTENSION_JOBID_PREFIX = "extension"; + public static final String EXTENSION_JOBID_PREFIX = "action"; /** - * The prefix put behind all job ids. + * The prefix put behind all job ids which are actual actions. + */ + public static final String EXTENSIONACTION_JOBID_PREFIX = "action"; + + /** + * The prefix put behind all job ids which are information gathering. */ - public static final String EXTENSIONPLAN_JOBID_PREFIX = EXTENSION_JOBID_PREFIX + "_plan"; + public static final String EXTENSIONPLAN_JOBID_PREFIX = "plan"; /** * The real extension manager bridged by this script service. @@ -374,6 +379,19 @@ public Map<String, Collection<InstalledExtension>> getBackwardDependencies(Strin // Actions + private List<String> getJobId(String prefix, String extensionId, String namespace) + { + List<String> jobId; + + if (namespace != null) { + jobId = Arrays.asList(EXTENSION_JOBID_PREFIX, prefix, extensionId, namespace); + } else { + jobId = Arrays.asList(EXTENSION_JOBID_PREFIX, prefix, extensionId); + } + + return jobId; + } + /** * Start the asynchronous installation process for an extension if the context document has programming rights. * @@ -395,7 +413,7 @@ public Job install(String id, String version, String namespace) setError(null); InstallRequest installRequest = new InstallRequest(); - installRequest.setId(Arrays.asList(EXTENSION_JOBID_PREFIX, id, namespace)); + installRequest.setId(getJobId(EXTENSIONACTION_JOBID_PREFIX, id, namespace)); installRequest.setInteractive(true); installRequest.addExtension(new ExtensionId(id, version)); if (StringUtils.isNotBlank(namespace)) { @@ -429,7 +447,7 @@ public ExtensionPlan createInstallPlan(String id, String version, String namespa setError(null); InstallRequest installRequest = new InstallRequest(); - installRequest.setId(Arrays.asList(EXTENSIONPLAN_JOBID_PREFIX, id, namespace)); + installRequest.setId(getJobId(EXTENSIONPLAN_JOBID_PREFIX, id, namespace)); installRequest.addExtension(new ExtensionId(id, version)); if (StringUtils.isNotBlank(namespace)) { installRequest.addNamespace(namespace); @@ -470,7 +488,7 @@ public Job uninstall(String id, String namespace) setError(null); UninstallRequest uninstallRequest = new UninstallRequest(); - uninstallRequest.setId(Arrays.asList(EXTENSION_JOBID_PREFIX, id, namespace)); + uninstallRequest.setId(getJobId(EXTENSIONACTION_JOBID_PREFIX, id, namespace)); uninstallRequest.addExtension(new ExtensionId(id, (Version) null)); if (StringUtils.isNotBlank(namespace)) { uninstallRequest.addNamespace(namespace); @@ -518,7 +536,7 @@ public ExtensionPlan createUninstallPlan(String id, String namespace) setError(null); UninstallRequest uninstallRequest = new UninstallRequest(); - uninstallRequest.setId(Arrays.asList(EXTENSIONPLAN_JOBID_PREFIX, id, namespace)); + uninstallRequest.setId(getJobId(EXTENSIONPLAN_JOBID_PREFIX, id, namespace)); uninstallRequest.addExtension(new ExtensionId(id, (Version) null)); if (StringUtils.isNotBlank(namespace)) { uninstallRequest.addNamespace(namespace); @@ -565,7 +583,7 @@ public ExtensionPlan createUpgradePlan(String namespace) setError(null); InstallRequest installRequest = new InstallRequest(); - installRequest.setId(Arrays.asList(EXTENSIONPLAN_JOBID_PREFIX, namespace)); + installRequest.setId(getJobId(EXTENSIONPLAN_JOBID_PREFIX, null, namespace)); if (StringUtils.isNotBlank(namespace)) { installRequest.addNamespace(namespace); } @@ -622,7 +640,7 @@ private JobStatus getJobStatus(List<String> jobId) */ public JobStatus getExtensionJobStatus(String extensionId, String namespace) { - return getJobStatus(Arrays.asList(EXTENSION_JOBID_PREFIX, extensionId, namespace)); + return getJobStatus(getJobId(EXTENSIONACTION_JOBID_PREFIX, extensionId, namespace)); } /** @@ -634,7 +652,7 @@ public JobStatus getExtensionJobStatus(String extensionId, String namespace) */ public JobStatus getExtensionPlanJobStatus(String extensionId, String namespace) { - return getJobStatus(Arrays.asList(EXTENSIONPLAN_JOBID_PREFIX, extensionId, namespace)); + return getJobStatus(getJobId(EXTENSIONPLAN_JOBID_PREFIX, extensionId, namespace)); } /**