Author: xcoulon
Date: 2012-02-10 17:17:06 -0500 (Fri, 10 Feb 2012)
New Revision: 38624
Added:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/action/CreateOrEditDomainAction.java
Removed:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/action/EditDomainAction.java
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/viewer/actionProvider/EditDomainActionProvider.java
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ApplicationWizardPage.java
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/EditDomainDialog.java
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/EditDomainWizardPage.java
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/NewDomainDialog.java
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/NewDomainWizardPageModel.java
Log:
Open - JBIDE-10845 Application configuration UI issues JBIDE-10855
cannot create/rename domain so new users can't get started
https://issues.jboss.org/browse/JBIDE-10855
Copied:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/action/CreateOrEditDomainAction.java
(from rev 38621,
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/action/EditDomainAction.java)
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/action/CreateOrEditDomainAction.java
(rev 0)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/action/CreateOrEditDomainAction.java 2012-02-10
22:17:06 UTC (rev 38624)
@@ -0,0 +1,47 @@
+package org.jboss.tools.openshift.express.internal.ui.action;
+
+import org.eclipse.jface.viewers.ITreeSelection;
+import org.eclipse.jface.wizard.IWizard;
+import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.swt.widgets.Display;
+import org.jboss.tools.openshift.express.internal.ui.OpenShiftUIActivator;
+import
org.jboss.tools.openshift.express.internal.ui.messages.OpenShiftExpressUIMessages;
+import org.jboss.tools.openshift.express.internal.ui.utils.Logger;
+import org.jboss.tools.openshift.express.internal.ui.wizard.EditDomainDialog;
+import org.jboss.tools.openshift.express.internal.ui.wizard.NewDomainDialog;
+
+import com.openshift.express.client.IUser;
+import com.openshift.express.client.OpenShiftException;
+
+public class CreateOrEditDomainAction extends AbstractAction {
+
+ public CreateOrEditDomainAction() {
+ super(OpenShiftExpressUIMessages.EDIT_DOMAIN_ACTION);
+ setImageDescriptor(OpenShiftUIActivator.getDefault().createImageDescriptor("edit.gif"));
+ }
+
+ @Override
+ public void run() {
+ final ITreeSelection treeSelection = (ITreeSelection) selection;
+ if (selection != null && selection instanceof ITreeSelection
+ && treeSelection.getFirstElement() instanceof IUser) {
+ IWizard domainDialog = null;
+ final IUser user = (IUser) treeSelection.getFirstElement();
+ try {
+ if (user.getDomain() == null || user.getDomain().getNamespace() == null) {
+ domainDialog = new NewDomainDialog(user);
+ } else {
+ domainDialog = new EditDomainDialog(user);
+ }
+ } catch (OpenShiftException e) {
+ Logger.warn("Failed to retrieve User domain, prompting for creation", e);
+ // let's use the domain creation wizard, then.
+ domainDialog = new NewDomainDialog(user);
+ }
+ WizardDialog dialog = new WizardDialog(Display.getCurrent().getActiveShell(),
domainDialog);
+ dialog.create();
+ dialog.open();
+ }
+ }
+
+}
Property changes on:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/action/CreateOrEditDomainAction.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Deleted:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/action/EditDomainAction.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/action/EditDomainAction.java 2012-02-10
21:52:27 UTC (rev 38623)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/action/EditDomainAction.java 2012-02-10
22:17:06 UTC (rev 38624)
@@ -1,33 +0,0 @@
-package org.jboss.tools.openshift.express.internal.ui.action;
-
-import org.eclipse.jface.viewers.ITreeSelection;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Display;
-import org.jboss.tools.openshift.express.internal.ui.OpenShiftUIActivator;
-import
org.jboss.tools.openshift.express.internal.ui.messages.OpenShiftExpressUIMessages;
-import org.jboss.tools.openshift.express.internal.ui.wizard.EditDomainDialog;
-
-import com.openshift.express.client.IUser;
-
-public class EditDomainAction extends AbstractAction {
-
- public EditDomainAction() {
- super(OpenShiftExpressUIMessages.EDIT_DOMAIN_ACTION);
- setImageDescriptor(OpenShiftUIActivator.getDefault().createImageDescriptor("edit.gif"));
- }
-
- @Override
- public void run() {
- final ITreeSelection treeSelection = (ITreeSelection)selection;
- if (selection != null && selection instanceof ITreeSelection &&
treeSelection.getFirstElement() instanceof IUser) {
- final IUser user = (IUser) treeSelection.getFirstElement();
- EditDomainDialog wizard = new EditDomainDialog(user);
- WizardDialog dialog = new WizardDialog(Display.getCurrent().getActiveShell(),
wizard);
- dialog.create();
- dialog.open();
-
- }
- }
-
-
-}
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/viewer/actionProvider/EditDomainActionProvider.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/viewer/actionProvider/EditDomainActionProvider.java 2012-02-10
21:52:27 UTC (rev 38623)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/viewer/actionProvider/EditDomainActionProvider.java 2012-02-10
22:17:06 UTC (rev 38624)
@@ -10,7 +10,7 @@
******************************************************************************/
package org.jboss.tools.openshift.express.internal.ui.viewer.actionProvider;
-import org.jboss.tools.openshift.express.internal.ui.action.EditDomainAction;
+import org.jboss.tools.openshift.express.internal.ui.action.CreateOrEditDomainAction;
/**
* @author Xavier Coulon
@@ -18,7 +18,7 @@
public class EditDomainActionProvider extends AbstractActionProvider {
public EditDomainActionProvider() {
- super(new EditDomainAction(), "group.edition");
+ super(new CreateOrEditDomainAction(), "group.edition");
}
}
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ApplicationWizardPage.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ApplicationWizardPage.java 2012-02-10
21:52:27 UTC (rev 38623)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ApplicationWizardPage.java 2012-02-10
22:17:06 UTC (rev 38624)
@@ -198,7 +198,7 @@
private void createDomain() throws OpenShiftException {
if (WizardUtils.openWizardDialog(
- new NewDomainDialog(model.getNamespace(), wizardModel), getContainer().getShell()) ==
Dialog.OK) {
+ new NewDomainDialog(wizardModel.getUser()), getContainer().getShell()) == Dialog.OK)
{
model.loadDomain();
}
}
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/EditDomainDialog.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/EditDomainDialog.java 2012-02-10
21:52:27 UTC (rev 38623)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/EditDomainDialog.java 2012-02-10
22:17:06 UTC (rev 38624)
@@ -10,7 +10,13 @@
******************************************************************************/
package org.jboss.tools.openshift.express.internal.ui.wizard;
+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.wizard.Wizard;
+import org.jboss.tools.common.ui.WizardUtils;
+import org.jboss.tools.openshift.express.internal.ui.OpenShiftUIActivator;
import com.openshift.express.client.IUser;
@@ -29,30 +35,28 @@
@Override
public boolean performFinish() {
-// final ArrayBlockingQueue<Boolean> queue = new
ArrayBlockingQueue<Boolean>(1);
-// try {
-// WizardUtils.runInWizard(new Job("Renaming domain...") {
-//
-// @Override
-// protected IStatus run(IProgressMonitor monitor) {
-// try {
-// model.renameDomain();
-// queue.offer(true);
-// } catch (Exception e) {
-// queue.offer(false);
-// return new Status(IStatus.ERROR, OpenShiftUIActivator.PLUGIN_ID,
-// NLS.bind("Could not create domain \"{0}\"",
model.getNamespace()), e);
-// }
-// return Status.OK_STATUS;
-// }
-// }, getContainer());
-// } catch (Exception e) {
-// // ignore
-// }
-// return queue.poll();
+ renameDomain();
return true;
}
+ private void renameDomain() {
+ try {
+ WizardUtils.runInWizard(new Job("Renaming domain...") {
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ try {
+ model.renameDomain();
+ return Status.OK_STATUS;
+ } catch (Exception e) {
+ return new Status(IStatus.ERROR, OpenShiftUIActivator.PLUGIN_ID, "Could not
rename domain", e);
+ }
+ }
+ }, getContainer());
+ } catch (Exception ex) {
+ // ignore
+ }
+ }
+
@Override
public void addPages() {
addPage(new EditDomainWizardPage(model, this));
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/EditDomainWizardPage.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/EditDomainWizardPage.java 2012-02-10
21:52:27 UTC (rev 38623)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/EditDomainWizardPage.java 2012-02-10
22:17:06 UTC (rev 38624)
@@ -10,37 +10,18 @@
******************************************************************************/
package org.jboss.tools.openshift.express.internal.ui.wizard;
-import org.eclipse.core.databinding.Binding;
import org.eclipse.core.databinding.DataBindingContext;
-import org.eclipse.core.databinding.UpdateValueStrategy;
-import org.eclipse.core.databinding.beans.BeanProperties;
-import org.eclipse.core.databinding.conversion.Converter;
-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.databinding.swt.WidgetProperties;
-import org.eclipse.jface.dialogs.ErrorDialog;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
import org.eclipse.jface.wizard.IWizard;
import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
-import org.jboss.tools.common.ui.WizardUtils;
import org.jboss.tools.common.ui.databinding.DataBindingUtils;
import org.jboss.tools.common.ui.databinding.ParametrizableWizardPageSupport;
-import org.jboss.tools.openshift.express.internal.ui.OpenShiftUIActivator;
-import com.openshift.express.client.IDomain;
-import com.openshift.express.client.OpenShiftException;
-
/**
* @author André Dietisheim
*/
@@ -49,7 +30,7 @@
private EditDomainWizardPageModel model;
public EditDomainWizardPage(EditDomainWizardPageModel model, IWizard wizard) {
- super("Domain", "Create a new domain", "New Domain",
wizard);
+ super("OpenShift Domain Edition", "Rename your domain",
"Domain Name Edition", wizard);
this.model = model;
}
@@ -57,90 +38,20 @@
GridLayoutFactory.fillDefaults().numColumns(3).applyTo(container);
createDomainGroup(container, dbc);
}
-
+
private void createDomainGroup(Composite container, DataBindingContext dbc) {
- Group domainGroup = new Group(container, SWT.BORDER);
- domainGroup.setText("Domain");
- GridDataFactory.fillDefaults()
- .grab(true, false).align(SWT.FILL, SWT.TOP).span(3, 1).applyTo(domainGroup);
+ Composite domainGroup = new Composite(container, SWT.NONE);
+ GridDataFactory.fillDefaults().grab(true, false).align(SWT.FILL, SWT.TOP).span(2,
1).applyTo(domainGroup);
GridLayoutFactory.fillDefaults().margins(6, 6).numColumns(4).applyTo(domainGroup);
Label namespaceLabel = new Label(domainGroup, SWT.NONE);
namespaceLabel.setText("&Domain name");
GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.CENTER).applyTo(namespaceLabel);
Text namespaceText = new Text(domainGroup, SWT.BORDER);
GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true,
false).applyTo(namespaceText);
- Binding namespaceBinding = DataBindingUtils.bindMandatoryTextField(
- namespaceText, "Domain", ApplicationWizardPageModel.PROPERTY_NAMESPACE,
model, dbc);
- Button createRenameButton = new Button(domainGroup, SWT.PUSH);
- DataBindingUtils.bindEnablementToValidationStatus(createRenameButton, IStatus.OK, dbc,
namespaceBinding);
- dbc.bindValue(WidgetProperties.text().observe(createRenameButton)
- , BeanProperties.value(ApplicationWizardPageModel.PROPERTY_DOMAIN).observe(model)
- , new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)
- , new UpdateValueStrategy().setConverter(new Converter(IDomain.class, String.class)
{
-
- @Override
- public Object convert(Object fromObject) {
- if (fromObject instanceof IDomain) {
- return "&Rename";
- } else {
- return "&Create";
- }
- }
- }));
- GridDataFactory.fillDefaults().align(SWT.RIGHT, SWT.CENTER).hint(80,
SWT.DEFAULT).applyTo(createRenameButton);
- createRenameButton.addSelectionListener(onCreateRenameDomain(dbc));
+ DataBindingUtils.bindMandatoryTextField(namespaceText, "Domain",
ApplicationWizardPageModel.PROPERTY_NAMESPACE,
+ model, dbc);
}
-
- private SelectionListener onCreateRenameDomain(DataBindingContext dbc) {
- return new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- if (model.hasDomain()) {
- renameDomain();
- } else {
- try {
- createDomain();
- } catch (OpenShiftException ex) {
- IStatus status = new Status(IStatus.ERROR, OpenShiftUIActivator.PLUGIN_ID,
ex.getMessage(), ex);
- OpenShiftUIActivator.getDefault().getLog().log(status);
- ErrorDialog.openError(getShell(), "Error creating domain",
- "An error occurred while creating the domain.", status);
- }
- }
- }
- };
- }
-
- private void createDomain() throws OpenShiftException {
-// if (WizardUtils.openWizardDialog(
-// new NewDomainDialog(model.getNamespace(), wizardModel), getContainer().getShell())
== Dialog.OK) {
-// model.loadDomain();
-// }
- }
-
- private void renameDomain() {
- try {
- WizardUtils.runInWizard(
- new Job("Renaming domain...") {
-
- @Override
- protected IStatus run(IProgressMonitor monitor) {
- try {
- model.renameDomain();
- return Status.OK_STATUS;
- } catch (Exception e) {
- return new Status(IStatus.ERROR, OpenShiftUIActivator.PLUGIN_ID,
- "Could not rename domain", e);
- }
- }
- }, getContainer(), getDataBindingContext());
- } catch (Exception ex) {
- // ignore
- }
- }
-
-
@Override
protected void setupWizardPageSupport(DataBindingContext dbc) {
ParametrizableWizardPageSupport.create(IStatus.ERROR, this, dbc);
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/NewDomainDialog.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/NewDomainDialog.java 2012-02-10
21:52:27 UTC (rev 38623)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/NewDomainDialog.java 2012-02-10
22:17:06 UTC (rev 38624)
@@ -10,8 +10,6 @@
******************************************************************************/
package org.jboss.tools.openshift.express.internal.ui.wizard;
-import java.util.concurrent.ArrayBlockingQueue;
-
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
@@ -20,8 +18,9 @@
import org.eclipse.osgi.util.NLS;
import org.jboss.tools.common.ui.WizardUtils;
import org.jboss.tools.openshift.express.internal.ui.OpenShiftUIActivator;
-import
org.jboss.tools.openshift.express.internal.ui.wizard.appimport.ImportProjectWizardModel;
+import com.openshift.express.client.IUser;
+
/**
* @author André Dietisheim
*/
@@ -30,25 +29,20 @@
private String namespace;
private NewDomainWizardPageModel model;
- public NewDomainDialog(String namespace, ImportProjectWizardModel wizardModel) {
- this.namespace = namespace;
- this.model = new NewDomainWizardPageModel(namespace, wizardModel.getUser());
+ public NewDomainDialog(IUser user) {
+ this.model = new NewDomainWizardPageModel(user);
setNeedsProgressMonitor(true);
}
@Override
public boolean performFinish() {
- final ArrayBlockingQueue<Boolean> queue = new
ArrayBlockingQueue<Boolean>(1);
try {
WizardUtils.runInWizard(new Job("Creating domain...") {
-
@Override
protected IStatus run(IProgressMonitor monitor) {
try {
model.createDomain();
- queue.offer(true);
} catch (Exception e) {
- queue.offer(false);
return new Status(IStatus.ERROR, OpenShiftUIActivator.PLUGIN_ID,
NLS.bind("Could not create domain \"{0}\"",
model.getNamespace()), e);
}
@@ -56,9 +50,8 @@
}
}, getContainer());
} catch (Exception e) {
- // ignore
}
- return queue.poll();
+ return true;
}
@Override
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/NewDomainWizardPageModel.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/NewDomainWizardPageModel.java 2012-02-10
21:52:27 UTC (rev 38623)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/NewDomainWizardPageModel.java 2012-02-10
22:17:06 UTC (rev 38624)
@@ -44,8 +44,7 @@
private String sshKey;
private IUser user;
- public NewDomainWizardPageModel(String namespace, IUser user) {
- this.namespace = namespace;
+ public NewDomainWizardPageModel(IUser user) {
this.user = user;
}