[jbosstools-commits] JBoss Tools SVN: r41431 - trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/job.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Fri May 25 11:52:57 EDT 2012


Author: adietish
Date: 2012-05-25 11:52:57 -0400 (Fri, 25 May 2012)
New Revision: 41431

Modified:
   trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/job/EmbedCartridgesJob.java
   trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/job/WaitForApplicationJob.java
Log:
[JBIDE-11314] fixed monitor cancelling

Modified: trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/job/EmbedCartridgesJob.java
===================================================================
--- trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/job/EmbedCartridgesJob.java	2012-05-25 15:28:06 UTC (rev 41430)
+++ trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/job/EmbedCartridgesJob.java	2012-05-25 15:52:57 UTC (rev 41431)
@@ -44,11 +44,14 @@
 
 	@Override
 	protected IStatus doRun(IProgressMonitor monitor) {
+		if (monitor.isCanceled()) {
+			return Status.CANCEL_STATUS;
+		}
 		try {
 			removeEmbeddedCartridges(
-					getRemovedCartridges(selectedCartridges, application.getEmbeddedCartridges()), application);
+					getRemovedCartridges(selectedCartridges, application.getEmbeddedCartridges()), application, monitor);
 			this.addedCartridges = addEmbeddedCartridges(
-					getAddedCartridges(selectedCartridges, application.getEmbeddedCartridges()), application);
+					getAddedCartridges(selectedCartridges, application.getEmbeddedCartridges()), application, monitor);
 			return Status.OK_STATUS;
 		} catch (OpenShiftException e) {
 			return OpenShiftUIActivator.createErrorStatus("Could not embed cartridges for application {0}", e,
@@ -60,13 +63,16 @@
 		return addedCartridges;
 	}
 
-	private void removeEmbeddedCartridges(List<IEmbeddableCartridge> cartridgesToRemove, final IApplication application)
-			throws OpenShiftException {
+	private void removeEmbeddedCartridges(List<IEmbeddableCartridge> cartridgesToRemove,
+			final IApplication application, IProgressMonitor monitor) throws OpenShiftException {
 		if (cartridgesToRemove.isEmpty()) {
 			return;
 		}
 		Collections.sort(cartridgesToRemove, new CartridgeAddRemovePriorityComparator());
 		for (IEmbeddableCartridge cartridgeToRemove : cartridgesToRemove) {
+			if (monitor.isCanceled()) {
+				return;
+			}
 			final IEmbeddedCartridge embeddedCartridge = application.getEmbeddedCartridge(cartridgeToRemove);
 			if (embeddedCartridge != null) {
 				embeddedCartridge.destroy();
@@ -75,8 +81,9 @@
 	}
 
 	private List<IEmbeddedCartridge> addEmbeddedCartridges(List<IEmbeddableCartridge> cartridgesToAdd,
-			final IApplication application) throws OpenShiftException {
-		if (cartridgesToAdd.isEmpty()) {
+			final IApplication application, IProgressMonitor monitor) throws OpenShiftException {
+		if (cartridgesToAdd.isEmpty()
+				|| monitor.isCanceled()) {
 			return Collections.emptyList();
 		}
 		Collections.sort(cartridgesToAdd, new CartridgeAddRemovePriorityComparator());

Modified: trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/job/WaitForApplicationJob.java
===================================================================
--- trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/job/WaitForApplicationJob.java	2012-05-25 15:28:06 UTC (rev 41430)
+++ trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/job/WaitForApplicationJob.java	2012-05-25 15:52:57 UTC (rev 41431)
@@ -49,6 +49,10 @@
 		Logger.debug(OpenShiftExpressUIMessages.WAITING_FOR_REACHABLE);
 		try {
 			while (!application.waitForAccessible(APP_REACHABLE_TIMEOUT)) {
+				if (monitor.isCanceled()) {
+					return Status.CANCEL_STATUS;
+				}
+				
 				if (!openKeepWaitingDialog()) {
 					return new Status(
 							IStatus.CANCEL,



More information about the jbosstools-commits mailing list