Author: xcoulon
Date: 2012-04-27 19:19:59 -0400 (Fri, 27 Apr 2012)
New Revision: 40597
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.client/openshift-java-client-2.0.0-SNAPSHOT.jar
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/core/console/UserDelegate.java
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ApplicationConfigurationWizardPage.java
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ApplicationConfigurationWizardPageModel.java
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/EmbedCartridgeWizardPageModel.java
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/IOpenShiftExpressWizardModel.java
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/OpenShiftExpressApplicationWizardModel.java
Log:
In progress - JBIDE-11505
Provide ability to create a scalable and gearsized OpenShift application with JBoss Tools
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.client/openshift-java-client-2.0.0-SNAPSHOT.jar
===================================================================
(Binary files differ)
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/core/console/UserDelegate.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/core/console/UserDelegate.java 2012-04-27
23:05:26 UTC (rev 40596)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/core/console/UserDelegate.java 2012-04-27
23:19:59 UTC (rev 40597)
@@ -23,10 +23,12 @@
import org.jboss.tools.openshift.express.internal.ui.utils.Logger;
import org.jboss.tools.openshift.express.internal.ui.viewer.ConnectToOpenShiftWizard;
+import com.openshift.client.ApplicationScale;
import com.openshift.client.IApplication;
import com.openshift.client.ICartridge;
import com.openshift.client.IDomain;
import com.openshift.client.IEmbeddableCartridge;
+import com.openshift.client.IGearProfile;
import com.openshift.client.IUser;
import com.openshift.client.OpenShiftException;
@@ -111,10 +113,10 @@
return (delegate.getPassword() != null &&
!"".equals(delegate.getPassword()));
}
- public IApplication createApplication(String applicationName, ICartridge
applicationType)
+ public IApplication createApplication(final String applicationName, final ICartridge
applicationType, final ApplicationScale scale, final IGearProfile gearProfile)
throws OpenShiftException, SocketTimeoutException {
if(checkForPassword()) {
- return delegate.getDefaultDomain().createApplication(applicationName,
applicationType);
+ return delegate.getDefaultDomain().createApplication(applicationName, applicationType,
scale, gearProfile);
}
return null;
}
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ApplicationConfigurationWizardPage.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ApplicationConfigurationWizardPage.java 2012-04-27
23:05:26 UTC (rev 40596)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ApplicationConfigurationWizardPage.java 2012-04-27
23:19:59 UTC (rev 40597)
@@ -88,9 +88,11 @@
import org.jboss.tools.openshift.express.internal.ui.utils.UIUtils;
import org.jboss.tools.openshift.express.internal.ui.utils.UIUtils.IWidgetVisitor;
+import com.openshift.client.ApplicationScale;
import com.openshift.client.IApplication;
import com.openshift.client.ICartridge;
import com.openshift.client.IEmbeddableCartridge;
+import com.openshift.client.IGearProfile;
import com.openshift.client.NotFoundOpenShiftException;
import com.openshift.client.OpenShiftException;
@@ -106,10 +108,10 @@
private Text existingAppNameText;
private Button browseAppsButton;
private Group newAppConfigurationGroup;
- private Label newAppNameLabel;
private Text newAppNameText;
- private Label newAppTypeLabel;
private Combo newAppCartridgeCombo;
+ private Button enableScalingButton;
+ private Combo gearProfilesCombo;
private Group newAppEmbeddableCartridgesGroup;
private Button checkAllButton;
private Button uncheckAllButton;
@@ -232,7 +234,7 @@
this.newAppConfigurationGroup = new Group(parent, SWT.NONE);
newAppConfigurationGroup.setText("New application");
GridLayoutFactory.fillDefaults()
- .numColumns(2).margins(6, 6).applyTo(newAppConfigurationGroup);
+ .numColumns(3).margins(6, 6).applyTo(newAppConfigurationGroup);
GridDataFactory.fillDefaults()
.grab(true, true).align(SWT.FILL, SWT.FILL).applyTo(newAppConfigurationGroup);
@@ -242,11 +244,11 @@
onUseExistingApplication(
newAppConfigurationGroup, existingAppNameText, browseAppsButton));
- this.newAppNameLabel = new Label(newAppConfigurationGroup, SWT.NONE);
+ final Label newAppNameLabel = new Label(newAppConfigurationGroup, SWT.NONE);
newAppNameLabel.setText("Name:");
GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).applyTo(newAppNameLabel);
this.newAppNameText = new Text(newAppConfigurationGroup, SWT.BORDER);
- GridDataFactory.fillDefaults().grab(true, false).align(SWT.FILL,
SWT.FILL).applyTo(newAppNameText);
+ GridDataFactory.fillDefaults().grab(true, false).span(2, 1).align(SWT.FILL,
SWT.FILL).applyTo(newAppNameText);
UIUtils.selectAllOnFocus(newAppNameText);
final IObservableValue applicationNameTextObservable =
WidgetProperties.text(SWT.Modify).observe(newAppNameText);
@@ -255,13 +257,13 @@
pageModel);
ValueBindingBuilder.bind(applicationNameTextObservable).to(applicationNameModelObservable).in(dbc);
- this.newAppTypeLabel = new Label(newAppConfigurationGroup, SWT.NONE);
+ final Label newAppTypeLabel = new Label(newAppConfigurationGroup, SWT.NONE);
newAppTypeLabel.setText("Type:");
GridDataFactory.fillDefaults()
.align(SWT.FILL, SWT.CENTER).span(1, 1).applyTo(newAppTypeLabel);
this.newAppCartridgeCombo = new Combo(newAppConfigurationGroup, SWT.BORDER |
SWT.READ_ONLY);
GridDataFactory.fillDefaults()
- .align(SWT.FILL, SWT.CENTER).span(1, 1).grab(true,
false).applyTo(newAppCartridgeCombo);
+ .align(SWT.FILL, SWT.CENTER).span(2, 1).grab(true,
false).applyTo(newAppCartridgeCombo);
fillCartridgesCombo(dbc, newAppCartridgeCombo);
final ISWTObservableValue selectedCartridgeComboObservable =
WidgetProperties.selection().observe(newAppCartridgeCombo);
@@ -285,10 +287,39 @@
ControlDecorationSupport.create(newApplicationTypeValidator, SWT.LEFT | SWT.TOP, null,
new CustomControlDecorationUpdater());
+ // gear size
+ final Label gearProfileLabel = new Label(newAppConfigurationGroup, SWT.NONE);
+ gearProfileLabel.setText("Gear profile:");
+ GridDataFactory.fillDefaults()
+ .align(SWT.FILL, SWT.CENTER).span(1, 1).applyTo(gearProfileLabel);
+ this.gearProfilesCombo = new Combo(newAppConfigurationGroup, SWT.BORDER |
SWT.READ_ONLY);
+ GridDataFactory.fillDefaults()
+ .align(SWT.FILL, SWT.CENTER).span(1, 1).grab(true,
false).applyTo(gearProfilesCombo);
+ fillGearProfilesCombo(dbc, gearProfilesCombo);
+ final ISWTObservableValue gearSizeComboObservable =
+ WidgetProperties.selection().observe(gearProfilesCombo);
+ final IObservableValue selectedGearProfileModelObservable = BeanProperties.value(
+ ApplicationConfigurationWizardPageModel.PROPERTY_SELECTED_GEAR_PROFILE).observe(pageModel);
+ ValueBindingBuilder.bind(gearSizeComboObservable)
+ .converting(new StringToGearProfileConverter())
+ .to(selectedGearProfileModelObservable)
+ .converting(new GearProfileToStringConverter())
+ .in(dbc);
+
+ // scaling
+ this.enableScalingButton = new Button(newAppConfigurationGroup, SWT.CHECK);
+ enableScalingButton.setText("Enable scaling");
+ IObservableValue enableScalingModelObservable = BeanProperties.value(
+ ApplicationConfigurationWizardPageModel.PROPERTY_APPLICATION_SCALE).observe(pageModel);
+ final IObservableValue enableScalingButtonSelection =
WidgetProperties.selection().observe(enableScalingButton);
+ ValueBindingBuilder.bind(enableScalingButtonSelection).converting(new
BooleanToApplicationScaleConverter())
+ .to(enableScalingModelObservable).converting(new
ApplicationScaleToBooleanConverter()).in(dbc);
+
+
// embeddable cartridges
this.newAppEmbeddableCartridgesGroup = new Group(newAppConfigurationGroup, SWT.NONE);
newAppEmbeddableCartridgesGroup.setText("Embeddable Cartridges");
- GridDataFactory.fillDefaults().grab(true, true).align(SWT.FILL, SWT.FILL).span(2, 1)
+ GridDataFactory.fillDefaults().grab(true, true).align(SWT.FILL, SWT.FILL).span(3, 1)
.applyTo(newAppEmbeddableCartridgesGroup);
GridLayoutFactory.fillDefaults().numColumns(2).margins(6,
6).applyTo(newAppEmbeddableCartridgesGroup);
@@ -374,6 +405,13 @@
new UpdateListStrategy().setConverter(new CartridgeToStringConverter()));
}
+ private void fillGearProfilesCombo(DataBindingContext dbc, Combo gearSizesCombo) {
+ dbc.bindList(WidgetProperties.items().observe(gearSizesCombo),
+ BeanProperties.list(ApplicationConfigurationWizardPageModel.PROPERTY_GEAR_PROFILES).observe(pageModel),
+ new UpdateListStrategy(UpdateListStrategy.POLICY_NEVER),
+ new UpdateListStrategy().setConverter(new GearProfileToStringConverter()));
+ }
+
protected CheckboxTableViewer createTable(Composite tableContainer) {
Table table =
new Table(tableContainer, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL |
SWT.H_SCROLL | SWT.CHECK);
@@ -581,7 +619,69 @@
return null;
}
}
+
+ private static final class GearProfileToStringConverter extends Converter {
+ private GearProfileToStringConverter() {
+ super(Object.class, String.class);
+ }
+ @Override
+ public Object convert(Object fromObject) {
+ if (!(fromObject instanceof IGearProfile)) {
+ return null;
+ }
+ return ((IGearProfile) fromObject).getName();
+ }
+ }
+
+ private final class StringToGearProfileConverter extends Converter {
+ private StringToGearProfileConverter() {
+ super(String.class, IGearProfile.class);
+ }
+
+ @Override
+ public Object convert(Object fromObject) {
+ if (fromObject instanceof String) {
+ return pageModel.getGearProfileByName((String) fromObject);
+ }
+ return null;
+ }
+ }
+
+ private static final class ApplicationScaleToBooleanConverter extends Converter {
+ private ApplicationScaleToBooleanConverter() {
+ super(Object.class, Boolean.class);
+ }
+
+ @Override
+ public Object convert(Object fromObject) {
+ if (!(fromObject instanceof ApplicationScale)) {
+ return null;
+ }
+ switch((ApplicationScale)fromObject) {
+ case SCALE:
+ return Boolean.TRUE;
+ default:
+ return Boolean.FALSE;
+ }
+ }
+ }
+
+ private final class BooleanToApplicationScaleConverter extends Converter {
+ private BooleanToApplicationScaleConverter() {
+ super(Boolean.class, ApplicationScale.class);
+ }
+
+ @Override
+ public Object convert(Object fromObject) {
+ if (fromObject instanceof Boolean) {
+ return ((Boolean) fromObject).booleanValue() ? ApplicationScale.SCALE :
ApplicationScale.NO_SCALE;
+ }
+ return null;
+ }
+ }
+
+
private static class JenkinsApplicationDialog extends InputDialog {
public JenkinsApplicationDialog(Shell shell) {
@@ -741,6 +841,19 @@
}
}
}, getContainer(), dbc);
+ WizardUtils.runInWizard(new Job("Loading gear sizes...") {
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ try {
+ pageModel.loadGearProfiles();
+ return Status.OK_STATUS;
+ } catch (NotFoundOpenShiftException e) {
+ return Status.OK_STATUS;
+ } catch (Exception e) {
+ return OpenShiftUIActivator.createErrorStatus("Could not load gear
sizes", e);
+ }
+ }
+ }, getContainer(), dbc);
} catch (Exception ex) {
// ignore
}
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ApplicationConfigurationWizardPageModel.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ApplicationConfigurationWizardPageModel.java 2012-04-27
23:05:26 UTC (rev 40596)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ApplicationConfigurationWizardPageModel.java 2012-04-27
23:19:59 UTC (rev 40597)
@@ -23,9 +23,11 @@
import org.jboss.tools.openshift.express.internal.ui.utils.Logger;
import org.jboss.tools.openshift.express.internal.ui.utils.StringUtils;
+import com.openshift.client.ApplicationScale;
import com.openshift.client.IApplication;
import com.openshift.client.ICartridge;
import com.openshift.client.IEmbeddableCartridge;
+import com.openshift.client.IGearProfile;
import com.openshift.client.OpenShiftException;
/**
@@ -36,14 +38,19 @@
public class ApplicationConfigurationWizardPageModel extends ObservableUIPojo {
public static final String PROPERTY_USE_EXISTING_APPLICATION =
"useExistingApplication";
+ public static final String PROPERTY_APPLICATION_SCALE = "applicationScale";
public static final String PROPERTY_EXISTING_APPLICATION_NAME =
"existingApplicationName";
public static final String PROPERTY_CARTRIDGES = "cartridges";
public static final String PROPERTY_EMBEDDED_CARTRIDGES =
"embeddedCartridges";
public static final String PROPERTY_SELECTED_EMBEDDABLE_CARTRIDGES =
"selectedEmbeddableCartridges";
public static final String PROPERTY_SELECTED_CARTRIDGE = "selectedCartridge";
+ public static final String PROPERTY_SELECTED_GEAR_PROFILE =
"selectedGearProfile";
public static final String PROPERTY_APPLICATION_NAME = "applicationName";
public static final String PROPERTY_EXISTING_APPLICATIONS =
"existingApplications";
public static final String PROPERTY_EXISTING_APPLICATIONS_LOADED =
"existingApplicationsLoaded";
+ public static final String PROPERTY_SCALABLE_APPLICATION =
"scalableApplication";
+ public static final String PROPERTY_GEAR_PROFILES = "gearProfiles";
+
private final OpenShiftExpressApplicationWizardModel wizardModel;
@@ -51,6 +58,7 @@
// first pass validation)
private List<IApplication> existingApplications = new
ArrayList<IApplication>();
private List<ICartridge> cartridges = new ArrayList<ICartridge>();
+ private List<IGearProfile> gearProfiles = new ArrayList<IGearProfile>();
private List<IEmbeddableCartridge> embeddedCartridges = new
ArrayList<IEmbeddableCartridge>();
private String existingApplicationName;
private boolean existingApplicationsLoaded = false;;
@@ -106,7 +114,18 @@
, wizardModel.isUseExistingApplication()
, wizardModel.setUseExistingApplication(useExistingApplication));
}
+
+ public ApplicationScale getApplicationScale() {
+ return wizardModel.getApplicationScale();
+ }
+ public void setApplicationScale(ApplicationScale scale) {
+ firePropertyChange(PROPERTY_APPLICATION_SCALE
+ , wizardModel.getApplicationScale()
+ , wizardModel.setApplicationScale(scale));
+ }
+
+
protected void setUseExistingApplication(IApplication application) {
setUseExistingApplication(application != null);
}
@@ -190,6 +209,7 @@
firePropertyChange(PROPERTY_CARTRIDGES, this.cartridges, this.cartridges =
cartridges);
}
+
public List<ICartridge> getCartridges() {
return cartridges;
}
@@ -215,6 +235,47 @@
return wizardModel.getApplicationCartridge();
}
+ public void loadGearProfiles() throws OpenShiftException, SocketTimeoutException {
+ setGearProfiles(getUser().getDefaultDomain().getAvailableGearProfiles());
+ //refreshSelectedCartridge();
+ }
+
+
+ public void setGearProfiles(List<IGearProfile> gearProfiles) {
+ firePropertyChange(PROPERTY_GEAR_PROFILES, this.gearProfiles, this.gearProfiles =
gearProfiles);
+ }
+
+ public List<IGearProfile> getGearProfiles() {
+ return gearProfiles;
+ }
+
+ public IGearProfile getSelectedGearProfile() {
+ return wizardModel.getApplicationGearProfile();
+ }
+
+ public void setSelectedGearProfile(IGearProfile gearProfile) {
+ firePropertyChange(PROPERTY_SELECTED_GEAR_PROFILE
+ , wizardModel.getApplicationGearProfile()
+ , wizardModel.setApplicationGearProfile(gearProfile));
+ }
+
+ public IGearProfile getGearProfileByName(String name) {
+ List<IGearProfile> gearProfiles = getGearProfiles();
+ if (gearProfiles == null) {
+ return null;
+ }
+
+ IGearProfile matchingGearProfile = null;
+ for (IGearProfile gearProfile : gearProfiles) {
+ if (name.equals(gearProfile.getName())) {
+ matchingGearProfile = gearProfile;
+ break;
+ }
+ }
+
+ return matchingGearProfile;
+ }
+
/**
* forces property change listeners to update their value
*/
@@ -342,7 +403,7 @@
}
public IApplication createJenkinsApplication(String name, IProgressMonitor monitor)
throws OpenShiftException {
- return wizardModel.createApplication(name, ICartridge.JENKINS_14, monitor);
+ return wizardModel.createApplication(name, ICartridge.JENKINS_14,
ApplicationScale.NO_SCALE, IGearProfile.SMALL, monitor);
}
}
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 2012-04-27
23:05:26 UTC (rev 40596)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/ApplicationWizardModel.java 2012-04-27
23:19:59 UTC (rev 40597)
@@ -18,8 +18,10 @@
import org.jboss.tools.openshift.express.internal.core.console.UserDelegate;
import
org.jboss.tools.openshift.express.internal.ui.messages.OpenShiftExpressUIMessages;
+import com.openshift.client.ApplicationScale;
import com.openshift.client.IApplication;
import com.openshift.client.ICartridge;
+import com.openshift.client.IGearProfile;
import com.openshift.client.OpenShiftApplicationNotAvailableException;
import com.openshift.client.OpenShiftException;
@@ -40,6 +42,8 @@
private IApplication application;
private String name;
private ICartridge cartridge;
+ private ApplicationScale scale;
+ private IGearProfile gearProfile;
public ApplicationWizardModel(UserDelegate user) {
this(null, user);
@@ -54,14 +58,24 @@
return user;
}
- public String getName() {
- return name;
- }
-
public String setName(String name) {
return this.name = name;
}
+ /**
+ * @param scale the scale to set
+ */
+ public final void setScale(ApplicationScale scale) {
+ this.scale = scale;
+ }
+
+ /**
+ * @param gearProfile the gearProfile to set
+ */
+ public final void setGearProfile(IGearProfile gearProfile) {
+ this.gearProfile = gearProfile;
+ }
+
public void setCartridge(ICartridge cartridge) {
this.cartridge = cartridge;
}
@@ -76,12 +90,12 @@
}
public void createApplication(IProgressMonitor monitor) throws OpenShiftException,
SocketTimeoutException {
- IApplication application = createApplication(name, cartridge, monitor);
+ IApplication application = createApplication(this.name, this.cartridge, this.scale ,
this.gearProfile, monitor);
setApplication(application);
}
- public IApplication createApplication(String name, ICartridge cartridge,
IProgressMonitor monitor) throws OpenShiftException, SocketTimeoutException {
+ public IApplication createApplication(final String name, final ICartridge cartridge,
final ApplicationScale scale, final IGearProfile gearProfile, IProgressMonitor monitor)
throws OpenShiftException, SocketTimeoutException {
// monitor.subTask("creating application...");
- IApplication application = getUser().createApplication(name, cartridge);
+ IApplication application = getUser().createApplication(name, cartridge, scale,
gearProfile);
waitForAccessible(application, monitor);
return application;
}
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/EmbedCartridgeWizardPageModel.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/EmbedCartridgeWizardPageModel.java 2012-04-27
23:05:26 UTC (rev 40596)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/EmbedCartridgeWizardPageModel.java 2012-04-27
23:19:59 UTC (rev 40597)
@@ -22,10 +22,12 @@
import org.eclipse.core.runtime.IProgressMonitor;
import org.jboss.tools.common.ui.databinding.ObservableUIPojo;
+import com.openshift.client.ApplicationScale;
import com.openshift.client.IApplication;
import com.openshift.client.ICartridge;
import com.openshift.client.IEmbeddableCartridge;
import com.openshift.client.IEmbeddedCartridge;
+import com.openshift.client.IGearProfile;
import com.openshift.client.OpenShiftException;
/**
@@ -89,7 +91,7 @@
}
public IApplication createJenkinsApplication(String name, IProgressMonitor monitor)
throws OpenShiftException, SocketTimeoutException {
- return wizardModel.createApplication(name, ICartridge.JENKINS_14, monitor);
+ return wizardModel.createApplication(name, ICartridge.JENKINS_14,
ApplicationScale.NO_SCALE, IGearProfile.SMALL, monitor);
}
/**
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/IOpenShiftExpressWizardModel.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/IOpenShiftExpressWizardModel.java 2012-04-27
23:05:26 UTC (rev 40596)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/IOpenShiftExpressWizardModel.java 2012-04-27
23:19:59 UTC (rev 40597)
@@ -25,9 +25,11 @@
import org.jboss.tools.openshift.egit.ui.util.EGitUIUtils;
import org.jboss.tools.openshift.express.internal.core.behaviour.ExpressServerUtils;
+import com.openshift.client.ApplicationScale;
import com.openshift.client.IApplication;
import com.openshift.client.ICartridge;
import com.openshift.client.IEmbeddableCartridge;
+import com.openshift.client.IGearProfile;
import com.openshift.client.OpenShiftException;
/**
@@ -40,7 +42,10 @@
public static final String APPLICATION = "application";
public static final String APPLICATION_NAME = "applicationName";
public static final String APPLICATION_CARTRIDGE = "applicationCartridge";
- public static final String USE_EXISTING_APPLICATION =
"uswizardModel.getApplicationName()eExistingApplication";
+ public static final String APPLICATION_GEAR_PROFILE =
"applicationGearProfile";
+ public static final String APPLICATION_SCALE = "applicationScale";
+ //public static final String USE_EXISTING_APPLICATION =
"uswizardModel.getApplicationName()eExistingApplication";
+ public static final String USE_EXISTING_APPLICATION =
"useExistingApplication";
public static final String REMOTE_NAME = "remoteName";
public static final String REPOSITORY_PATH = "repositoryPath";
public static final String PROJECT_NAME = "projectName";
@@ -197,4 +202,12 @@
public Set<IEmbeddableCartridge> getSelectedEmbeddableCartridges();
+ IGearProfile getApplicationGearProfile();
+
+ IGearProfile setApplicationGearProfile(IGearProfile gearProfile);
+
+ ApplicationScale getApplicationScale();
+
+ ApplicationScale setApplicationScale(final ApplicationScale scale);
+
}
\ No newline at end of file
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/OpenShiftExpressApplicationWizardModel.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/OpenShiftExpressApplicationWizardModel.java 2012-04-27
23:05:26 UTC (rev 40596)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/wizard/OpenShiftExpressApplicationWizardModel.java 2012-04-27
23:19:59 UTC (rev 40597)
@@ -15,35 +15,31 @@
import java.util.concurrent.FutureTask;
import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ProjectScope;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.core.runtime.preferences.IScopeContext;
import org.eclipse.osgi.util.NLS;
import org.eclipse.wst.server.core.IRuntime;
import org.eclipse.wst.server.core.IServerType;
import org.eclipse.wst.server.core.ServerCore;
-import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
import org.jboss.tools.common.ui.databinding.ObservableUIPojo;
import org.jboss.tools.openshift.egit.core.EGitUtils;
import org.jboss.tools.openshift.express.internal.core.behaviour.ExpressServerUtils;
import org.jboss.tools.openshift.express.internal.core.console.UserDelegate;
import org.jboss.tools.openshift.express.internal.core.console.UserModel;
-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.appimport.ConfigureGitSharedProject;
import
org.jboss.tools.openshift.express.internal.ui.wizard.appimport.ConfigureUnsharedProject;
import org.jboss.tools.openshift.express.internal.ui.wizard.appimport.ImportNewProject;
import
org.jboss.tools.openshift.express.internal.ui.wizard.appimport.ServerAdapterFactory;
-import org.osgi.service.prefs.BackingStoreException;
+import com.openshift.client.ApplicationScale;
import com.openshift.client.IApplication;
import com.openshift.client.ICartridge;
import com.openshift.client.IEmbeddableCartridge;
+import com.openshift.client.IGearProfile;
import com.openshift.client.OpenShiftApplicationNotAvailableException;
import com.openshift.client.OpenShiftException;
@@ -234,6 +230,9 @@
setUseExistingApplication(application);
setApplicationCartridge(application);
setApplicationName(application);
+ setApplicationScaling(application);
+ setApplicationGearProfile(application);
+
}
@Override
@@ -368,6 +367,22 @@
setUseExistingApplication(application != null);
}
+ @Override
+ public ApplicationScale getApplicationScale() {
+ return (ApplicationScale) getProperty(APPLICATION_SCALE);
+ }
+
+ @Override
+ public ApplicationScale setApplicationScale(final ApplicationScale scale) {
+ return (ApplicationScale) setProperty(APPLICATION_SCALE, scale);
+ }
+
+ protected void setApplicationScaling(IApplication application) {
+ if(application != null) {
+ setApplicationScale(application.getApplicationScale());
+ }
+ }
+
private void waitForAccessible(IApplication application, IProgressMonitor monitor)
throws OpenShiftApplicationNotAvailableException, OpenShiftException {
// monitor.subTask("waiting for application to become accessible...");
@@ -377,7 +392,7 @@
}
}
- protected IApplication createApplication(final String name, final ICartridge cartridge,
final IProgressMonitor monitor)
+ protected IApplication createApplication(final String name, final ICartridge cartridge,
final ApplicationScale scale, final IGearProfile gearProfile, final IProgressMonitor
monitor)
throws OpenShiftApplicationNotAvailableException, OpenShiftException {
final UserDelegate user = getUser();
if (user == null) {
@@ -392,7 +407,7 @@
monitor.setTaskName("Creating application \"" + name +
"\"...");
Logger.debug("creating application...");
final IApplication application
- = user.createApplication(name, cartridge);
+ = user.createApplication(name, cartridge, scale, gearProfile);
monitor.beginTask("Waiting for application to be reachable...",
IProgressMonitor.UNKNOWN);
Logger.debug("Waiting for application to be reachable...");
@@ -420,7 +435,7 @@
public void createApplication(IProgressMonitor monitor) throws
OpenShiftApplicationNotAvailableException,
OpenShiftException {
- IApplication application = createApplication(getApplicationName(),
getApplicationCartridge(), monitor);
+ IApplication application = createApplication(getApplicationName(),
getApplicationCartridge(), getApplicationScale(), getApplicationGearProfile(), monitor);
setApplication(application);
}
@@ -456,6 +471,22 @@
}
@Override
+ public IGearProfile getApplicationGearProfile() {
+ return (IGearProfile) getProperty(APPLICATION_GEAR_PROFILE);
+ }
+
+ @Override
+ public IGearProfile setApplicationGearProfile(IGearProfile gearProfile) {
+ return (IGearProfile) setProperty(APPLICATION_GEAR_PROFILE, gearProfile);
+ }
+
+ protected void setApplicationGearProfile(IApplication application) {
+ if (application != null) {
+ setApplicationGearProfile(application.getGearProfile());
+ }
+ }
+
+ @Override
public ICartridge getApplicationCartridge() {
return (ICartridge) getProperty(APPLICATION_CARTRIDGE);
}
@@ -493,4 +524,5 @@
Assert.isNotNull(user);
UserModel.getDefault().addUser(user);
}
+
}
\ No newline at end of file