Author: adietish
Date: 2011-12-06 15:01:13 -0500 (Tue, 06 Dec 2011)
New Revision: 37012
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/AdapterWizardPage.java
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/AdapterWizardPageModel.java
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ImportProjectWizard.java
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ImportProjectWizardModel.java
Log:
[JBIDE-10171] implemented "new project" checkbox
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/AdapterWizardPage.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/AdapterWizardPage.java 2011-12-06
19:43:27 UTC (rev 37011)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/AdapterWizardPage.java 2011-12-06
20:01:13 UTC (rev 37012)
@@ -30,11 +30,11 @@
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
import org.eclipse.jface.wizard.IWizardPage;
+import org.eclipse.osgi.util.NLS;
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.layout.FillLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.DirectoryDialog;
@@ -66,11 +66,11 @@
private IServerType serverTypeToCreate;
private IObservableValue serverAdapterCheckboxObservable;
- private IObservableValue enableProjectChecboxIsEnabled;
-
+ private IObservableValue newProjectChecboxIsEnabled;
+
public AdapterWizardPage(ImportProjectWizard wizard, ImportProjectWizardModel model) {
super(
- "Import Project",
+ "Import OpenShift application",
"Select the project to enable, the Git clone destination, the branch to
clone"
+ " and configure your server adapter ",
"Server Adapter",
@@ -83,83 +83,81 @@
protected void doCreateControls(Composite parent, DataBindingContext dbc) {
GridLayoutFactory.fillDefaults().applyTo(parent);
- Group mergeGroup = createMergeGroup(parent, dbc);
+ Group mergeGroup = createProjectGroup(parent, dbc);
GridDataFactory.fillDefaults()
- .align(SWT.LEFT, SWT.CENTER).align(SWT.FILL, SWT.FILL).grab(true,
false).applyTo(mergeGroup);
+ .align(SWT.FILL, SWT.FILL).grab(true, false).applyTo(mergeGroup);
Group cloneGroup = createCloneGroup(parent, dbc);
GridDataFactory.fillDefaults()
- .align(SWT.LEFT, SWT.CENTER).align(SWT.FILL, SWT.FILL).grab(true,
false).applyTo(cloneGroup);
+ .align(SWT.FILL, SWT.FILL).grab(true, false).applyTo(cloneGroup);
Group serverAdapterGroup = createAdapterGroup(parent, dbc);
GridDataFactory.fillDefaults()
- .align(SWT.LEFT, SWT.CENTER).align(SWT.FILL, SWT.FILL).grab(true,
false).applyTo(serverAdapterGroup);
+ .align(SWT.FILL, SWT.FILL).grab(true, false).applyTo(serverAdapterGroup);
+
+ Label fillerLabel = new Label(parent, SWT.NONE);
+ GridDataFactory.fillDefaults()
+ .align(SWT.FILL, SWT.FILL).grab(true, false).applyTo(fillerLabel);
+
}
- private Group createMergeGroup(Composite parent, DataBindingContext dbc) {
- Group mergeGroup = new Group(parent, SWT.BORDER);
- mergeGroup.setText("Enable Project");
+ private Group createProjectGroup(Composite parent, DataBindingContext dbc) {
+ Group projectGroup = new Group(parent, SWT.BORDER);
+ projectGroup.setText("Project");
GridDataFactory.fillDefaults()
- .align(SWT.LEFT, SWT.CENTER).align(SWT.FILL, SWT.CENTER).grab(true,
false).applyTo(mergeGroup);
- GridLayoutFactory.fillDefaults().margins(6, 6).numColumns(3).applyTo(mergeGroup);
+ .align(SWT.LEFT, SWT.CENTER).align(SWT.FILL, SWT.CENTER).grab(true,
false).applyTo(projectGroup);
+ GridLayoutFactory.fillDefaults().margins(6, 6).numColumns(3).applyTo(projectGroup);
- Button enableProjectButton = new Button(mergeGroup, SWT.CHECK);
- enableProjectButton.setText("Enable existing project");
+ Button newProjectCheckbox = new Button(projectGroup, SWT.CHECK);
+ newProjectCheckbox.setText("Create new Project");
GridDataFactory.fillDefaults()
- .align(SWT.LEFT, SWT.CENTER).applyTo(enableProjectButton);
- IObservableValue enableProjectObservable =
- BeanProperties.value(AdapterWizardPageModel.PROPERTY_ENABLE_PROJECT).observe(model);
+ .span(3, 1).align(SWT.FILL, SWT.CENTER).grab(true,
true).applyTo(newProjectCheckbox);
+ IObservableValue newProjectObservable =
+ BeanProperties.value(AdapterWizardPageModel.PROPERTY_NEW_PROJECT).observe(model);
ValueBindingBuilder
- .bind(WidgetProperties.selection().observe(enableProjectButton))
- .to(enableProjectObservable)
+ .bind(WidgetProperties.selection().observe(newProjectCheckbox))
+ .to(newProjectObservable)
.in(dbc);
-
- this.enableProjectChecboxIsEnabled =
WidgetProperties.enabled().observe(enableProjectButton);
- Text enabledProjectText = new Text(mergeGroup, SWT.BORDER);
- enabledProjectText.setEditable(false);
+ this.newProjectChecboxIsEnabled =
WidgetProperties.enabled().observe(newProjectCheckbox);
+
+ Label existingProjectLabel = new Label(projectGroup, SWT.NONE);
+ existingProjectLabel.setText("Existing Project");
GridDataFactory
- .fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true,
false).applyTo(enabledProjectText);
- // mergeUriComboViewer.setContentProvider(new ArrayContentProvider());
- // mergeUriComboViewer.setLabelProvider(new GitUriLabelProvider());
- // mergeUriComboViewer.setInput(model.getMergeUris());
- // ValueBindingBuilder
- // .bind(WidgetProperties.text().observe(mergeUriCombo))
- // .validatingAfterGet(new MergeUriValidator())
- // .to(BeanProperties.value(AdapterWizardPageModel.PROPERTY_MERGE_URI).observe(model))
- // .in(dbc);
+ .fillDefaults().align(SWT.FILL, SWT.CENTER).applyTo(existingProjectLabel);
+ Text newProjectText = new Text(projectGroup, SWT.BORDER);
+ newProjectText.setEditable(false);
+ GridDataFactory.fillDefaults()
+ .align(SWT.FILL, SWT.CENTER).grab(true, true).applyTo(newProjectText);
- // ValueBindingBuilder
- // .bind(mergeEnabledButtonSelection)
- // .to(WidgetProperties.enabled().observe(mergeUriCombo))
- // .in(dbc);
-
- IObservableValue enabledProjectNameObservable =
+ IObservableValue newProjectNameObservable =
BeanProperties.value(AdapterWizardPageModel.PROPERTY_PROJECT_NAME).observe(model);
ValueBindingBuilder
- .bind(WidgetProperties.text().observe(enabledProjectText))
- .to(enabledProjectNameObservable)
+ .bind(WidgetProperties.text().observe(newProjectText))
+ .to(newProjectNameObservable)
.in(dbc);
ValueBindingBuilder
- .bind(enableProjectObservable)
- .to(WidgetProperties.enabled().observe(enabledProjectText))
+ .bind(newProjectObservable)
+ .to(WidgetProperties.enabled().observe(newProjectText))
+ .converting(new InvertingBooleanConverter())
.in(dbc);
dbc.addValidationStatusProvider(
- new EnableProjectValidator(enableProjectObservable, enabledProjectNameObservable));
+ new EnableProjectValidator(newProjectObservable, newProjectNameObservable));
- Button browseProjectsButton = new Button(mergeGroup, SWT.NONE);
+ Button browseProjectsButton = new Button(projectGroup, SWT.NONE);
browseProjectsButton.setText("Browse");
GridDataFactory.fillDefaults()
.align(SWT.LEFT, SWT.CENTER).hint(100, SWT.DEFAULT).applyTo(browseProjectsButton);
browseProjectsButton.addSelectionListener(onBrowseProjects());
ValueBindingBuilder
- .bind(enableProjectObservable)
+ .bind(newProjectObservable)
.to(WidgetProperties.enabled().observe(browseProjectsButton))
+ .converting(new InvertingBooleanConverter())
.in(dbc);
- enableProjectObservable.setValue(false);
-
- return mergeGroup;
+// model.setNewProject(false);
+
+ return projectGroup;
}
private Group createCloneGroup(Composite parent, DataBindingContext dbc) {
@@ -342,72 +340,73 @@
private Group createAdapterGroup(Composite parent, DataBindingContext dbc) {
Group serverAdapterGroup = new Group(parent, SWT.BORDER);
serverAdapterGroup.setText("JBoss Server adapter");
- FillLayout fillLayout = new FillLayout();
- fillLayout.marginHeight = 6;
- fillLayout.marginWidth = 6;
- serverAdapterGroup.setLayout(fillLayout);
- fillServerAdapterGroup(serverAdapterGroup);
+ GridLayoutFactory.fillDefaults().margins(6, 6).applyTo(serverAdapterGroup);
- return serverAdapterGroup;
- }
-
- protected void enableServerWidgets(boolean enabled) {
- domainValueLabel.setEnabled(enabled);
- modeValueLabel.setEnabled(enabled);
- }
-
- private void fillServerAdapterGroup(Group serverAdapterGroup) {
Composite c = new Composite(serverAdapterGroup, SWT.NONE);
+ GridDataFactory.fillDefaults()
+ .align(SWT.FILL, SWT.FILL).grab(true, true).applyTo(c);
GridLayoutFactory.fillDefaults().numColumns(3).spacing(12, 8).applyTo(c);
serverAdapterCheckbox = new Button(c, SWT.CHECK);
serverAdapterCheckbox.setText("Create a JBoss server adapter");
- serverAdapterCheckbox.addSelectionListener(new SelectionListener() {
- public void widgetSelected(SelectionEvent e) {
- model.getWizardModel().setProperty(AdapterWizardPageModel.CREATE_SERVER,
- serverAdapterCheckbox.getSelection());
- enableServerWidgets(serverAdapterCheckbox.getSelection());
- }
+ GridDataFactory.fillDefaults().span(3, 1).align(SWT.FILL, SWT.CENTER)
+ .grab(true, false).applyTo(serverAdapterCheckbox);
+ serverAdapterCheckbox.addSelectionListener(onCreateAdapter());
- public void widgetDefaultSelected(SelectionEvent e) {
- }
- });
-
Label domainLabel = new Label(c, SWT.NONE);
+ GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.CENTER).applyTo(domainLabel);
domainLabel.setText("Host");
domainValueLabel = new Label(c, SWT.NONE);
- DataBindingContext dbc = getDataBindingContext();
+ GridDataFactory.fillDefaults()
+ .span(2, 1).align(SWT.FILL, SWT.CENTER).grab(true, false).applyTo(domainValueLabel);
ValueBindingBuilder
.bind(WidgetProperties.text().observe(domainValueLabel))
.notUpdating(BeanProperties.value(AdapterWizardPageModel.PROPERTY_APPLICATION_URL).observe(model))
.in(dbc);
- // appLabel = new Label(c, SWT.NONE);
+
Label modeLabel = new Label(c, SWT.NONE);
modeLabel.setText("Mode");
+ GridDataFactory.fillDefaults()
+ .align(SWT.LEFT, SWT.CENTER).applyTo(modeLabel);
modeValueLabel = new Label(c, SWT.NONE);
+ GridDataFactory.fillDefaults()
+ .span(2, 1).align(SWT.FILL, SWT.CENTER).grab(true, false).applyTo(modeValueLabel);
- GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.CENTER).applyTo(domainLabel);
- GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.CENTER).applyTo(modeLabel);
- GridDataFactory.fillDefaults().span(2, 1).align(SWT.FILL, SWT.CENTER)
- .grab(true, false).applyTo(domainValueLabel);
- GridDataFactory.fillDefaults().span(3, 1).align(SWT.FILL, SWT.CENTER)
- .grab(true, false).applyTo(serverAdapterCheckbox);
- GridDataFactory.fillDefaults().span(2, 1).align(SWT.FILL, SWT.CENTER)
- .grab(true, false).applyTo(modeValueLabel);
-
- model.getWizardModel().setProperty(AdapterWizardPageModel.CREATE_SERVER,
- serverAdapterCheckbox.getSelection());
+ model.getWizardModel().setProperty(
+ AdapterWizardPageModel.CREATE_SERVER, serverAdapterCheckbox.getSelection());
this.serverAdapterCheckboxObservable =
WidgetProperties.selection().observe(serverAdapterCheckbox);
+
+ return serverAdapterGroup;
}
+ private SelectionListener onCreateAdapter() {
+ return new SelectionListener() {
+ public void widgetSelected(SelectionEvent e) {
+ model.getWizardModel().setProperty(AdapterWizardPageModel.CREATE_SERVER,
+ serverAdapterCheckbox.getSelection());
+ enableServerWidgets(serverAdapterCheckbox.getSelection());
+ }
+
+ public void widgetDefaultSelected(SelectionEvent e) {
+ }
+ };
+ }
+
+ protected void enableServerWidgets(boolean enabled) {
+ domainValueLabel.setEnabled(enabled);
+ modeValueLabel.setEnabled(enabled);
+ }
+
private IServerType getServerTypeToCreate() {
return
ServerCore.findServerType("org.jboss.tools.openshift.express.openshift.server.type");
}
protected void onPageActivated(DataBindingContext dbc) {
// allow to enable a proj only for as7 openshift applications
- enableProjectChecboxIsEnabled.setValue(model.isJBossAS7Application());
+ setTitle(NLS.bind("Import OpenShift application {0}",
model.getApplicationName()));
+
+ newProjectChecboxIsEnabled.setValue(model.isJBossAS7Application());
model.resetRepositoryPath();
serverTypeToCreate = getServerTypeToCreate();
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/AdapterWizardPageModel.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/AdapterWizardPageModel.java 2011-12-06
19:43:27 UTC (rev 37011)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/AdapterWizardPageModel.java 2011-12-06
20:01:13 UTC (rev 37012)
@@ -24,7 +24,7 @@
private static final String REMOTE_NAME_DEFAULT = "origin";
- public static final String PROPERTY_ENABLE_PROJECT = "enableProject";
+ public static final String PROPERTY_NEW_PROJECT = "newProject";
public static final String PROPERTY_CLONE_URI = "cloneUri";
// public static final String PROPERTY_MERGE_URI = "mergeUri";
public static final String PROPERTY_PROJECT_NAME = "projectName";
@@ -46,14 +46,15 @@
public AdapterWizardPageModel(ImportProjectWizardModel wizardModel) {
this.wizardModel = wizardModel;
setRemoteName(REMOTE_NAME_DEFAULT);
+ setNewProject(false);
}
- public void setEnableProject(boolean enableProject) {
- firePropertyChange(PROPERTY_ENABLE_PROJECT, wizardModel.isEnableProject(),
wizardModel.setEnableProject(enableProject));
+ public void setNewProject(boolean enableProject) {
+ firePropertyChange(PROPERTY_NEW_PROJECT, wizardModel.isNewProject(),
wizardModel.setNewProject(enableProject));
}
- public boolean isEnableProject() {
- return wizardModel.isEnableProject();
+ public boolean isNewProject() {
+ return wizardModel.isNewProject();
}
public void setProjectName(String projectName) {
@@ -164,6 +165,14 @@
return application.getApplicationUrl();
}
+ public String getApplicationName() {
+ IApplication application = wizardModel.getApplication();
+ if (application == null) {
+ return null;
+ }
+ return application.getName();
+ }
+
public boolean isJBossAS7Application() {
IApplication application = wizardModel.getApplication();
if (application == null) {
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ImportProjectWizard.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ImportProjectWizard.java 2011-12-06
19:43:27 UTC (rev 37011)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ImportProjectWizard.java 2011-12-06
20:01:13 UTC (rev 37012)
@@ -10,7 +10,6 @@
******************************************************************************/
package org.jboss.tools.openshift.express.internal.ui.wizard;
-import java.io.File;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.net.URISyntaxException;
@@ -54,13 +53,12 @@
try {
final ArrayBlockingQueue<IStatus> queue = new
ArrayBlockingQueue<IStatus>(1);
WizardUtils.runInWizard(
- new WorkspaceJob("") {
+ new WorkspaceJob("Importing project to workspace...") {
@Override
public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
IStatus status = Status.OK_STATUS;
status = performOperations(monitor, status);
-
if (!status.isOK()) {
OpenShiftUIActivator.log(status);
}
@@ -70,10 +68,10 @@
private IStatus performOperations(IProgressMonitor monitor, IStatus status) {
try {
- if (model.isEnableProject()) {
- model.enableProject(monitor);
- } else {
+ if (model.isNewProject()) {
model.importProject(monitor);
+ } else {
+ model.enableProject(monitor);
}
return Status.OK_STATUS;
} catch (IOException e) {
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ImportProjectWizardModel.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ImportProjectWizardModel.java 2011-12-06
19:43:27 UTC (rev 37011)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ImportProjectWizardModel.java 2011-12-06
20:01:13 UTC (rev 37012)
@@ -68,7 +68,7 @@
private HashMap<String, Object> dataModel = new HashMap<String, Object>();
- public static final String ENABLE_PROJECT = "enableProject";
+ public static final String NEw_PROJECT = "enableProject";
public static final String USER = "user";
public static final String APPLICATION = "application";
public static final String REMOTE_NAME = "remoteName";
@@ -77,7 +77,7 @@
public static final String MERGE_URI = "mergeUri";
public ImportProjectWizardModel() {
- dataModel.put(ENABLE_PROJECT, false);
+ dataModel.put(NEw_PROJECT, false);
}
public Object setProperty(String key, Object value) {
@@ -151,12 +151,12 @@
return (String) getProperty(REPOSITORY_PATH);
}
- public boolean isEnableProject() {
- return (Boolean) getProperty(ENABLE_PROJECT);
+ public boolean isNewProject() {
+ return (Boolean) getProperty(NEw_PROJECT);
}
- public Boolean setEnableProject(boolean enableProject) {
- return (Boolean) setProperty(ENABLE_PROJECT, enableProject);
+ public Boolean setNewProject(boolean newProject) {
+ return (Boolean) setProperty(NEw_PROJECT, newProject);
}
public String setProjectName(String projectName) {
@@ -285,10 +285,6 @@
return project.exists();
}
- public void removeProject(String name) {
-
- }
-
private List<IProject> importMavenProject(final File gitProjectFolder,
IProgressMonitor monitor)
throws CoreException, InterruptedException {
MavenProjectImportOperation mavenImport = new
MavenProjectImportOperation(gitProjectFolder);