Author: adietish
Date: 2011-12-22 08:54:34 -0500 (Thu, 22 Dec 2011)
New Revision: 37525
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ApplicationWizardModel.java
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/NewApplicationWizardPage.java
Log:
[JBIDE-10549] implemented reporting of subtask when creating an OpenShift application.
other jobs are still not reporting.
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ApplicationWizardModel.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ApplicationWizardModel.java 2011-12-22
13:49:43 UTC (rev 37524)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ApplicationWizardModel.java 2011-12-22
13:54:34 UTC (rev 37525)
@@ -78,7 +78,7 @@
}
public IApplication createApplication(String name, ICartridge cartridge,
IProgressMonitor monitor) throws OpenShiftException {
- monitor.subTask("Creating application...");
+ monitor.subTask("creating application...");
IApplication application = getUser().createApplication(name, cartridge);
waitForAccessible(application, monitor);
return application;
@@ -89,7 +89,7 @@
}
private void waitForAccessible(IApplication application, IProgressMonitor monitor)
throws OpenShiftApplicationNotAvailableException, OpenShiftException {
- monitor.subTask("Waiting for application to become accessible...");
+ monitor.subTask("waiting for application to become accessible...");
if (!application.waitForAccessible(APP_CREATION_TIMEOUT * 1000)) {
throw new OpenShiftApplicationNotAvailableException(NLS.bind(
OpenShiftExpressUIMessages.HOSTNAME_NOT_ANSWERING,
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/NewApplicationWizardPage.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/NewApplicationWizardPage.java 2011-12-22
13:49:43 UTC (rev 37524)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/NewApplicationWizardPage.java 2011-12-22
13:54:34 UTC (rev 37525)
@@ -10,7 +10,8 @@
******************************************************************************/
package org.jboss.tools.openshift.express.internal.ui.wizard;
-import java.util.concurrent.ArrayBlockingQueue;
+import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
import org.eclipse.core.databinding.Binding;
import org.eclipse.core.databinding.DataBindingContext;
@@ -37,6 +38,7 @@
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
import org.jboss.tools.common.ui.DelegatingProgressMonitor;
+import org.jboss.tools.common.ui.JobUtils;
import org.jboss.tools.common.ui.WizardUtils;
import org.jboss.tools.openshift.express.internal.ui.OpenShiftUIActivator;
@@ -166,35 +168,31 @@
}
public boolean createApplication() {
- final ArrayBlockingQueue<Boolean> applicationCreated = new
ArrayBlockingQueue<Boolean>(1);
final DelegatingProgressMonitor delegatingMonitor = new DelegatingProgressMonitor();
- try {
- WizardUtils.runInWizard(new Job(NLS.bind("Creating application
\"{0}\"", wizardModel.getName())) {
+ Job job = new Job(NLS.bind("New application {0}", wizardModel.getName())) {
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- delegatingMonitor.add(monitor);
- try {
- wizardModel.createApplication(delegatingMonitor);
- applicationCreated.offer(true);
- return Status.OK_STATUS;
- } catch (OpenShiftApplicationNotAvailableException e) {
- applicationCreated.offer(false);
- return OpenShiftUIActivator.createErrorStatus(
- e.getMessage(), e, wizardModel.getName());
- } catch (OpenShiftException e) {
- applicationCreated.offer(false);
- return OpenShiftUIActivator.createErrorStatus(
- "Could not create application \"{0}\"",
- (Throwable) e, wizardModel.getName());
- }
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ delegatingMonitor.add(monitor);
+ try {
+ wizardModel.createApplication(delegatingMonitor);
+ return Status.OK_STATUS;
+ } catch (OpenShiftApplicationNotAvailableException e) {
+ return OpenShiftUIActivator.createErrorStatus(
+ e.getMessage(), e, wizardModel.getName());
+ } catch (OpenShiftException e) {
+ return OpenShiftUIActivator.createErrorStatus(
+ "Could not create application \"{0}\"",
+ (Throwable) e, wizardModel.getName());
}
- }, delegatingMonitor, getContainer());
+ }
+ };
+ try {
+ Future<IStatus> jobResult = WizardUtils.runInWizard(job, delegatingMonitor,
getContainer());
+ return JobUtils.isOk(jobResult.get(10, TimeUnit.SECONDS));
} catch (Exception e) {
- e.printStackTrace();
- // ignore
+ return false;
}
- return applicationCreated.poll();
}
private class ApplicationNameValidator implements IValidator {
Show replies by date