From 84d7d1d1a6675407cceef5a4c9037c79c26cf48f Mon Sep 17 00:00:00 2001 From: aarnapant-sap Date: Tue, 14 Oct 2025 15:10:47 +0530 Subject: [PATCH] switched rest calls from main thread to ModelContext thread --- .../wizards/AbapGitWizardSwitchBranch.java | 30 +++++++++++++++---- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/org.abapgit.adt.ui/src/org/abapgit/adt/ui/internal/wizards/AbapGitWizardSwitchBranch.java b/org.abapgit.adt.ui/src/org/abapgit/adt/ui/internal/wizards/AbapGitWizardSwitchBranch.java index b69b0df2..6ed73cf2 100644 --- a/org.abapgit.adt.ui/src/org/abapgit/adt/ui/internal/wizards/AbapGitWizardSwitchBranch.java +++ b/org.abapgit.adt.ui/src/org/abapgit/adt/ui/internal/wizards/AbapGitWizardSwitchBranch.java @@ -17,6 +17,7 @@ import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.jface.dialogs.DialogPage; import org.eclipse.jface.dialogs.IPageChangingListener; +import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.dialogs.PageChangingEvent; import org.eclipse.jface.operation.IRunnableWithProgress; import org.eclipse.jface.wizard.IWizardContainer; @@ -24,6 +25,7 @@ import org.eclipse.jface.wizard.WizardDialog; import org.eclipse.jface.wizard.WizardPage; import org.eclipse.osgi.util.NLS; +import org.eclipse.ui.PlatformUI; import org.eclipse.ui.plugin.AbstractUIPlugin; import com.sap.adt.tools.core.model.adtcore.IAdtObjectReference; @@ -71,10 +73,10 @@ private void getRepositoryAccessMode() { public void getPackageRef(String packageName, IProgressMonitor monitor) throws PackageRefNotFoundException { if (this.packageServiceUI.packageExists(AbapGitWizardSwitchBranch.this.destination, packageName, monitor)) { - List packageRefs = this.packageServiceUI.find(AbapGitWizardSwitchBranch.this.destination, packageName, monitor); + List packageRefs = this.packageServiceUI.find(AbapGitWizardSwitchBranch.this.destination, packageName, + monitor); AbapGitWizardSwitchBranch.this.cloneData.packageRef = packageRefs.stream().findFirst().orElse(null); - } - else { + } else { String error = NLS.bind(Messages.AbapGitWizardSwitch_branch_package_ref_not_found_error, this.selRepoData.getPackage()); throw new PackageRefNotFoundException(error); } @@ -83,9 +85,25 @@ public void getPackageRef(String packageName, IProgressMonitor monitor) throws P public void getPackageAndRepoType() throws PackageRefNotFoundException { String packageName = AbapGitWizardSwitchBranch.this.selRepoData.getPackage(); //get package refs - getPackageRef(packageName, new NullProgressMonitor()); - // fetches repository access mode - getRepositoryAccessMode(); + try { + PlatformUI.getWorkbench().getProgressService().run(true, true, new IRunnableWithProgress() { + + @Override + public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { + try { + getPackageRef(packageName, new NullProgressMonitor()); + // fetches repository access mode + getRepositoryAccessMode(); + } catch (PackageRefNotFoundException e) { + throw new InvocationTargetException(e); + } + } + }); + } catch (InvocationTargetException | InterruptedException e) { + MessageDialog.openError(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), + Messages.AbapGitWizardSwitch_branch_wizard_title, e.getCause().getMessage()); + } + } @Override