modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/AbstractBundleCreateWizard.java | 27 +++++ modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleCreateWizard.java | 39 -------- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleInfoStep.java | 46 ++++++++-- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleUpdateWizard.java | 37 -------- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/BundleDeployWizard.java | 22 +--- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/wizard/Wizard.java | 4 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/wizard/WizardView.java | 6 - modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/create/OperationCreateWizard.java | 37 +++----- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/factory/ResourceFactoryCreateWizard.java | 4 9 files changed, 101 insertions(+), 121 deletions(-)
New commits: commit 89d3004322b490efcccdd2a107b3dcddd7dad37b Author: John Mazzitelli mazz@redhat.com Date: Tue Mar 23 15:02:49 2010 -0400
get the wizard to cancel when you click the X get the bundle types to show in selection
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/AbstractBundleCreateWizard.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/AbstractBundleCreateWizard.java index 81d13ca..01e2598 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/AbstractBundleCreateWizard.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/AbstractBundleCreateWizard.java @@ -18,9 +18,16 @@ */ package org.rhq.enterprise.gui.coregui.client.bundle.create;
+import com.google.gwt.user.client.rpc.AsyncCallback; + import org.rhq.core.domain.bundle.BundleType; import org.rhq.core.domain.bundle.BundleVersion; +import org.rhq.enterprise.gui.coregui.client.CoreGUI; import org.rhq.enterprise.gui.coregui.client.bundle.AbstractBundleWizard; +import org.rhq.enterprise.gui.coregui.client.gwt.BundleGWTServiceAsync; +import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup; +import org.rhq.enterprise.gui.coregui.client.util.message.Message; +import org.rhq.enterprise.gui.coregui.client.util.message.Message.Severity;
public abstract class AbstractBundleCreateWizard extends AbstractBundleWizard {
@@ -79,4 +86,24 @@ public abstract class AbstractBundleCreateWizard extends AbstractBundleWizard { public void setBundleVersion(BundleVersion bv) { this.bundleVersion = bv; } + + public void cancel() { + final BundleVersion bv = getBundleVersion(); + if (bv != null) { + // the user must have created it already after verification step, delete it + BundleGWTServiceAsync bundleServer = GWTServiceLookup.getBundleService(); + bundleServer.deleteBundleVersion(bv.getId(), new AsyncCallback<Void>() { + public void onSuccess(Void result) { + CoreGUI.getMessageCenter().notify( + new Message("Canceled bundle [" + bv.getName() + "] version [" + bv.getVersion() + "]", + Severity.Info)); + } + + public void onFailure(Throwable caught) { + CoreGUI.getErrorHandler().handleError( + "Failed to fully cancel - bundle may still exist in the database", caught); + } + }); + } + } } diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleCreateWizard.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleCreateWizard.java index e2fe45f..e76dc7f 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleCreateWizard.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleCreateWizard.java @@ -20,18 +20,7 @@ package org.rhq.enterprise.gui.coregui.client.bundle.create;
import java.util.ArrayList;
-import com.google.gwt.user.client.rpc.AsyncCallback; -import com.smartgwt.client.widgets.IButton; -import com.smartgwt.client.widgets.events.ClickEvent; -import com.smartgwt.client.widgets.events.ClickHandler; - -import org.rhq.core.domain.bundle.BundleVersion; -import org.rhq.enterprise.gui.coregui.client.CoreGUI; import org.rhq.enterprise.gui.coregui.client.components.wizard.WizardStep; -import org.rhq.enterprise.gui.coregui.client.gwt.BundleGWTServiceAsync; -import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup; -import org.rhq.enterprise.gui.coregui.client.util.message.Message; -import org.rhq.enterprise.gui.coregui.client.util.message.Message.Severity;
public class BundleCreateWizard extends AbstractBundleCreateWizard {
@@ -42,35 +31,7 @@ public class BundleCreateWizard extends AbstractBundleCreateWizard { ArrayList<WizardStep> steps = new ArrayList<WizardStep>(); steps.add(new BundleInfoStep(this)); steps.add(new BundleUploadRecipeStep(this)); -// steps.add(new BundleVerificationStep(this)); steps.add(new BundleUploadDataStep(this)); setSteps(steps); } - - @Override - public void startBundleWizard() { - super.startBundleWizard(); - IButton cancelButton = getView().getCancelButton(); - cancelButton.addClickHandler(new ClickHandler() { - public void onClick(ClickEvent clickEvent) { - final BundleVersion bv = getBundleVersion(); - if (bv != null) { - // the user must have created it already after verification step, delete it - BundleGWTServiceAsync bundleServer = GWTServiceLookup.getBundleService(); - bundleServer.deleteBundleVersion(bv.getId(), new AsyncCallback<Void>() { - public void onSuccess(Void result) { - CoreGUI.getMessageCenter().notify( - new Message("Canceled bundle [" + bv.getName() + "] version [" + bv.getVersion() + "]", - Severity.Info)); - } - - public void onFailure(Throwable caught) { - CoreGUI.getErrorHandler().handleError( - "Failed to fully cancel - bundle may still exist in the database", caught); - } - }); - } - } - }); - } } diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleInfoStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleInfoStep.java index e5e2653..2bfc93d 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleInfoStep.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleInfoStep.java @@ -19,12 +19,14 @@ package org.rhq.enterprise.gui.coregui.client.bundle.create;
import java.util.ArrayList; +import java.util.HashMap;
import com.google.gwt.user.client.rpc.AsyncCallback; import com.smartgwt.client.types.Alignment; import com.smartgwt.client.types.TitleOrientation; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.form.DynamicForm; +import com.smartgwt.client.widgets.form.fields.SelectItem; import com.smartgwt.client.widgets.form.fields.TextAreaItem; import com.smartgwt.client.widgets.form.fields.TextItem; import com.smartgwt.client.widgets.form.fields.events.ChangedEvent; @@ -46,9 +48,12 @@ public class BundleInfoStep implements WizardStep { private final AbstractBundleCreateWizard wizard;
private final BundleGWTServiceAsync bundleServer = GWTServiceLookup.getBundleService(); + private final HashMap<String, BundleType> knownBundleTypes = new HashMap<String, BundleType>(); + private TextItem nameTextItem; private TextItem versionTextItem; private TextAreaItem descriptionTextAreaItem; + private SelectItem bundleTypeDropDownMenu;
public BundleInfoStep(AbstractBundleCreateWizard bundleCreationWizard) { this.wizard = bundleCreationWizard; @@ -61,6 +66,19 @@ public class BundleInfoStep implements WizardStep { form.setWidth100(); form.setNumCols(2);
+ bundleTypeDropDownMenu = new SelectItem("bundleTypeDropDownMenu", "Bundle Type"); + bundleTypeDropDownMenu.setVisible(false); + bundleTypeDropDownMenu.setDisabled(true); + bundleTypeDropDownMenu.setTitleAlign(Alignment.LEFT); + bundleTypeDropDownMenu.setAllowEmptyValue(false); + bundleTypeDropDownMenu.setMultiple(false); + bundleTypeDropDownMenu.addChangedHandler(new ChangedHandler() { + public void onChanged(ChangedEvent event) { + BundleType bundleType = knownBundleTypes.get(event.getValue()); + wizard.setBundleType(bundleType); + } + }); + nameTextItem = new TextItem("name", "Name"); nameTextItem.setRequired(true); nameTextItem.setTitleAlign(Alignment.LEFT); @@ -83,7 +101,8 @@ public class BundleInfoStep implements WizardStep { descriptionTextAreaItem.setColSpan(2); descriptionTextAreaItem.setWidth(300);
- form.setItems(nameTextItem, previousVersionTextItem, versionTextItem, descriptionTextAreaItem); + form.setItems(bundleTypeDropDownMenu, nameTextItem, previousVersionTextItem, versionTextItem, + descriptionTextAreaItem);
BundleVersion initialBundleVersion = wizard.getBundleVersion(); if (initialBundleVersion != null) { @@ -107,11 +126,23 @@ public class BundleInfoStep implements WizardStep { }
if (wizard.getBundleType() == null) { - // TODO: we should get all bundle types in a drop down menu and let the user pick - // for now assume we always get one (the filetemplate one) and use it bundleServer.getAllBundleTypes(new AsyncCallback<ArrayList<BundleType>>() { public void onSuccess(ArrayList<BundleType> result) { - wizard.setBundleType(result.get(0)); + for (BundleType bundleType : result) { + knownBundleTypes.put(bundleType.getName(), bundleType); + if (wizard.getBundleType() == null) { + wizard.setBundleType(bundleType); + bundleTypeDropDownMenu.setDefaultValue(bundleType.getName()); + bundleTypeDropDownMenu.setValue(bundleType.getName()); + } + } + bundleTypeDropDownMenu.setValueMap(knownBundleTypes.keySet().toArray(new String[0])); + bundleTypeDropDownMenu.setDisabled(false); + // don't bother showing the menu if there is only one item + if (knownBundleTypes.size() > 1) { + bundleTypeDropDownMenu.setVisible(true); + bundleTypeDropDownMenu.show(); // in case we've already been rendered + } }
public void onFailure(Throwable caught) { @@ -123,9 +154,10 @@ public class BundleInfoStep implements WizardStep { } else { if (wizard.getBundleVersion() != null) { // we are traversing back to this step - don't allow changes if we've already created the bundle version - nameTextItem.setDisabled(Boolean.TRUE); - versionTextItem.setDisabled(Boolean.TRUE); - descriptionTextAreaItem.setDisabled(Boolean.TRUE); + bundleTypeDropDownMenu.setDisabled(true); + nameTextItem.setDisabled(true); + versionTextItem.setDisabled(true); + descriptionTextAreaItem.setDisabled(true); } }
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleUpdateWizard.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleUpdateWizard.java index dfb8c15..95152bc 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleUpdateWizard.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleUpdateWizard.java @@ -20,18 +20,8 @@ package org.rhq.enterprise.gui.coregui.client.bundle.create;
import java.util.ArrayList;
-import com.google.gwt.user.client.rpc.AsyncCallback; -import com.smartgwt.client.widgets.IButton; -import com.smartgwt.client.widgets.events.ClickEvent; -import com.smartgwt.client.widgets.events.ClickHandler; - import org.rhq.core.domain.bundle.BundleVersion; -import org.rhq.enterprise.gui.coregui.client.CoreGUI; import org.rhq.enterprise.gui.coregui.client.components.wizard.WizardStep; -import org.rhq.enterprise.gui.coregui.client.gwt.BundleGWTServiceAsync; -import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup; -import org.rhq.enterprise.gui.coregui.client.util.message.Message; -import org.rhq.enterprise.gui.coregui.client.util.message.Message.Severity;
public class BundleUpdateWizard extends AbstractBundleCreateWizard {
@@ -47,31 +37,4 @@ public class BundleUpdateWizard extends AbstractBundleCreateWizard { steps.add(new BundleUploadDataStep(this)); setSteps(steps); } - - @Override - public void startBundleWizard() { - super.startBundleWizard(); - IButton cancelButton = getView().getCancelButton(); - cancelButton.addClickHandler(new ClickHandler() { - public void onClick(ClickEvent clickEvent) { - final BundleVersion bv = getBundleVersion(); - if (bv != null) { - // the user must have created it already after verification step, delete it - BundleGWTServiceAsync bundleServer = GWTServiceLookup.getBundleService(); - bundleServer.deleteBundleVersion(bv.getId(), new AsyncCallback<Void>() { - public void onSuccess(Void result) { - CoreGUI.getMessageCenter().notify( - new Message("Canceled bundle [" + bv.getName() + "] version [" + bv.getVersion() + "]", - Severity.Info)); - } - - public void onFailure(Throwable caught) { - CoreGUI.getErrorHandler().handleError( - "Failed to fully cancel - bundle may still exist in the database", caught); - } - }); - } - } - }); - } } diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/BundleDeployWizard.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/BundleDeployWizard.java index 1d0749e..284d94c 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/BundleDeployWizard.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/BundleDeployWizard.java @@ -21,10 +21,6 @@ package org.rhq.enterprise.gui.coregui.client.bundle.deploy; import java.util.ArrayList; import java.util.List;
-import com.smartgwt.client.widgets.IButton; -import com.smartgwt.client.widgets.events.ClickEvent; -import com.smartgwt.client.widgets.events.ClickHandler; - import org.rhq.core.domain.bundle.Bundle; import org.rhq.core.domain.bundle.BundleDeployDefinition; import org.rhq.core.domain.bundle.BundleVersion; @@ -81,18 +77,12 @@ public class BundleDeployWizard extends AbstractBundleDeployWizard { return steps; }
- @Override - public void startBundleWizard() { - super.startBundleWizard(); - IButton cancelButton = getView().getCancelButton(); - cancelButton.addClickHandler(new ClickHandler() { - public void onClick(ClickEvent clickEvent) { - BundleDeployDefinition bdd = getBundleDeployDefinition(); - if (bdd != null && isNewDefinition()) { - // the user must have created it already after verification step, delete it - } - } - }); + public void cancel() { + BundleDeployDefinition bdd = getBundleDeployDefinition(); + if (bdd != null && isNewDefinition()) { + // the user must have created it already after verification step, delete it + // TODO + } }
} diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/wizard/Wizard.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/wizard/Wizard.java index e57b4f9..b82ebd4 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/wizard/Wizard.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/wizard/Wizard.java @@ -37,4 +37,8 @@ public interface Wizard {
List<IButton> getCustomButtons(int step);
+ /** + * This is called when the cancel button or the wizard window's "X" close button is clicked. + */ + void cancel(); } \ No newline at end of file diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/wizard/WizardView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/wizard/WizardView.java index c92c0f2..b30e6a7 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/wizard/WizardView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/wizard/WizardView.java @@ -18,8 +18,8 @@ */ package org.rhq.enterprise.gui.coregui.client.components.wizard;
-import java.util.List; import java.util.ArrayList; +import java.util.List;
import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.HTMLFlow; @@ -116,7 +116,7 @@ public class WizardView extends VLayout { */ public void refreshTitleLabelContents() { this.titleLabel.setContents("<span class="HeaderLabel">" + wizard.getTitle() + "</span><br/>" - + (wizard.getSubtitle() != null ? wizard.getSubtitle() : "")); + + (wizard.getSubtitle() != null ? wizard.getSubtitle() : "")); }
private void setupButtons() { @@ -124,6 +124,7 @@ public class WizardView extends VLayout { cancelButton.setDisabled(false); cancelButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent clickEvent) { + wizard.cancel(); wizardWindow.destroy(); } }); @@ -199,6 +200,7 @@ public class WizardView extends VLayout { wizardWindow.centerInPage(); wizardWindow.addCloseClickHandler(new CloseClickHandler() { public void onCloseClick(CloseClientEvent closeClientEvent) { + wizard.cancel(); wizardWindow.destroy(); } }); diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/create/OperationCreateWizard.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/create/OperationCreateWizard.java index fb17747..d273596 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/create/OperationCreateWizard.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/create/OperationCreateWizard.java @@ -123,29 +123,26 @@ public class OperationCreateWizard implements Wizard { Configuration parameters = parametersStep.getParameterConfiguration(); final ExecutionSchedule schedule = schedulingStep.getExecutionSchedule();
- GWTServiceLookup.getOperationService().scheduleResourceOperation( - resource.getId(), - operationDefinition.getName(), - parameters, - schedule, - " testing ", - 0, - new AsyncCallback<Void>() { - public void onFailure(Throwable caught) { - CoreGUI.getErrorHandler().handleError("Failed to schedule operation execution",caught); - } - - public void onSuccess(Void result) { - - String message = "Schedule operation [" + operationDefinition.getName() - + "] on resource [" + resource.getId() + "] with cron string [" + schedule.getCronString() + "]"; - - CoreGUI.getMessageCenter().notify(new Message(message, Message.Severity.Info)); - } + GWTServiceLookup.getOperationService().scheduleResourceOperation(resource.getId(), + operationDefinition.getName(), parameters, schedule, " testing ", 0, new AsyncCallback<Void>() { + public void onFailure(Throwable caught) { + CoreGUI.getErrorHandler().handleError("Failed to schedule operation execution", caught); } - );
+ public void onSuccess(Void result) { + + String message = "Schedule operation [" + operationDefinition.getName() + "] on resource [" + + resource.getId() + "] with cron string [" + schedule.getCronString() + "]"; + + CoreGUI.getMessageCenter().notify(new Message(message, Message.Severity.Info)); + } + });
view.closeDialog(); } + + @Override + public void cancel() { + // TODO: revert back to original state + } } diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/factory/ResourceFactoryCreateWizard.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/factory/ResourceFactoryCreateWizard.java index 363bb3e..b84a44e 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/factory/ResourceFactoryCreateWizard.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/factory/ResourceFactoryCreateWizard.java @@ -165,4 +165,8 @@ public class ResourceFactoryCreateWizard implements Wizard { public ResourceType getCreateType() { return createType; } + + public void cancel() { + // TODO: revert back to original state + } }
rhq-commits@lists.fedorahosted.org