Author: adietish
Date: 2010-11-17 11:20:37 -0500 (Wed, 17 Nov 2010)
New Revision: 26676
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/AbstractCloudJob.java
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshCloudHandler.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshImagesHandler.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshInstancesHandler.java
Log:
[JBIDE-7554] added background jobs for all 3 refresh types (cloud, image, instance)
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog 2010-11-17 16:15:38
UTC (rev 26675)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog 2010-11-17 16:20:37
UTC (rev 26676)
@@ -1,7 +1,13 @@
2010-11-17 André Dietisheim <adietish(a)redhat.com>
+ * src/org/jboss/tools/deltacloud/ui/commands/RefreshImagesHandler.java (refresh):
+ * src/org/jboss/tools/deltacloud/ui/commands/RefreshInstancesHandler.java (refresh):
+ * src/org/jboss/tools/deltacloud/ui/commands/RefreshCloudHandler.java (refresh):
+ [JBIDE-7554] added background jobs for all 3 refresh types (cloud, image, instance)
* src/org/jboss/tools/deltacloud/ui/commands/RefreshCloudHandler.java (.run):
[JBIDE-7597] corrected to handle multi exceptions
+ (refresh):
+ [JBIDE-7554] added background jobs for all 3 refresh types (cloud, image, instance)
* src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstanceWizard2.java
(performFinish):
[JBIDE-7597] added saving of cloud instances
* src/org/jboss/tools/internal/deltacloud/ui/wizards/NewInstancePage2.java:
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/AbstractCloudJob.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/AbstractCloudJob.java
(rev 0)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/AbstractCloudJob.java 2010-11-17
16:20:37 UTC (rev 26676)
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.deltacloud.ui.commands;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.jobs.Job;
+
+public abstract class AbstractCloudJob extends Job {
+
+ public AbstractCloudJob(String name) {
+ super(name);
+ setUser(true);
+ }
+
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ monitor.beginTask(getName(), IProgressMonitor.UNKNOWN);
+ monitor.worked(1);
+ return doRun(monitor);
+ }
+
+ protected abstract IStatus doRun(IProgressMonitor monitor);
+
+}
Property changes on:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/AbstractCloudJob.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshCloudHandler.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshCloudHandler.java 2010-11-17
16:15:38 UTC (rev 26675)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshCloudHandler.java 2010-11-17
16:20:37 UTC (rev 26676)
@@ -17,7 +17,6 @@
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.handlers.HandlerUtil;
@@ -51,18 +50,20 @@
final DeltaCloud cloud = CloudViewElementUtils.getCloud(cloudViewElement);
if (cloud != null) {
// TODO: internationalize strings
- new Job("Refreshing images and instances on " + cloud.getName()) {
+ new AbstractCloudJob("Refreshing images and instances on " +
cloud.getName()) {
@Override
- protected IStatus run(IProgressMonitor monitor) {
+ protected IStatus doRun(IProgressMonitor monitor) {
try {
+ monitor.worked(1);
cloud.loadChildren();
+ monitor.done();
} catch (DeltaCloudMultiException e) {
- // TODO internationalize strings
return ErrorUtils.createMultiStatus(e);
} catch (Exception e) {
// TODO internationalize strings
- return StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID, "Could
not load children of cloud " + cloud.getName(), e);
+ return StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID,
+ "Could not load children of cloud " + cloud.getName(), e);
}
return Status.OK_STATUS;
}
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshImagesHandler.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshImagesHandler.java 2010-11-17
16:15:38 UTC (rev 26675)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshImagesHandler.java 2010-11-17
16:20:37 UTC (rev 26676)
@@ -17,7 +17,6 @@
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.handlers.HandlerUtil;
@@ -48,12 +47,14 @@
final DeltaCloud cloud = deltaCloudImage.getDeltaCloud();
if (cloud != null) {
// TODO: internationalize strings
- new Job("Refreshing images on cloud " + cloud.getName()) {
-
+ new AbstractCloudJob("Refreshing images on cloud " + cloud.getName()) {
+
@Override
- protected IStatus run(IProgressMonitor monitor) {
+ protected IStatus doRun(IProgressMonitor monitor) {
try {
+ monitor.worked(1);
cloud.loadChildren();
+ monitor.done();
return Status.OK_STATUS;
} catch (Exception e) {
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshInstancesHandler.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshInstancesHandler.java 2010-11-17
16:15:38 UTC (rev 26675)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/deltacloud/ui/commands/RefreshInstancesHandler.java 2010-11-17
16:20:37 UTC (rev 26676)
@@ -17,7 +17,6 @@
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.handlers.HandlerUtil;
@@ -48,21 +47,22 @@
final DeltaCloud cloud = deltaCloudInstance.getDeltaCloud();
if (cloud != null) {
// TODO: internationalize strings
- new Job("Refreshing instances on cloud " + cloud.getName()) {
+ new AbstractCloudJob("Refreshing instances on cloud " + cloud.getName()) {
@Override
- protected IStatus run(IProgressMonitor monitor) {
+ protected IStatus doRun(IProgressMonitor monitor) {
try {
+ monitor.worked(1);
cloud.loadChildren();
+ monitor.done();
return Status.OK_STATUS;
} catch (Exception e) {
return StatusFactory.getInstance(IStatus.ERROR, Activator.PLUGIN_ID,
e.getMessage(), e);
}
}
- }.schedule();
+ }.setUser(true);
}
}
-
}
}