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(a)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
+ }
}