[rhq] modules/enterprise
by mazz
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/agent/install/RemoteAgentInstallView.java | 2 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertDetailsView.java | 17 +++++++---
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/BundleSelector.java | 3 +
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleUploadDistroFileStep.java | 7 +++-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/GetDestinationStep.java | 3 +
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/ConfirmationStep.java | 5 +-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/NamedTab.java | 5 ++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/event/EventCompositeDetailsView.java | 3 +
8 files changed, 33 insertions(+), 12 deletions(-)
New commits:
commit d7de3626f87972f5a4a3ec705a576face3a958ff
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Tue Feb 1 11:21:02 2011 -0500
fix the scLocators so they are selenium-testable
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/agent/install/RemoteAgentInstallView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/agent/install/RemoteAgentInstallView.java
index 3241cd5..21af1a6 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/agent/install/RemoteAgentInstallView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/agent/install/RemoteAgentInstallView.java
@@ -355,7 +355,7 @@ public class RemoteAgentInstallView extends LocatableVLayout {
}
private void buildInstallInfoCanvas(VLayout installInfo, AgentInstallInfo info) {
- DynamicForm infoForm = new DynamicForm();
+ DynamicForm infoForm = new LocatableDynamicForm(extendLocatorId("infoForm"));
infoForm.setMargin(20);
infoForm.setWidth100();
infoForm.setHeight100();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertDetailsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertDetailsView.java
index 265167a..49b2484 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertDetailsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertDetailsView.java
@@ -44,9 +44,13 @@ import org.rhq.core.domain.util.PageList;
import org.rhq.enterprise.gui.coregui.client.BookmarkableView;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.ViewPath;
+import org.rhq.enterprise.gui.coregui.client.components.tab.NamedTab;
+import org.rhq.enterprise.gui.coregui.client.components.tab.NamedTabSet;
import org.rhq.enterprise.gui.coregui.client.components.table.Table;
import org.rhq.enterprise.gui.coregui.client.components.table.TimestampCellFormatter;
+import org.rhq.enterprise.gui.coregui.client.components.view.ViewName;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableDynamicForm;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
/**
@@ -95,15 +99,18 @@ public class AlertDetailsView extends LocatableVLayout implements BookmarkableVi
}
private TabSet getDetailsTabSet(Record record) {
- TabSet tabset = new TabSet();
+ TabSet tabset = new NamedTabSet(extendLocatorId("detailsTabSet"));
- Tab generalTab = new Tab(MSG.view_alert_common_tab_general());
+ Tab generalTab = new NamedTab(extendLocatorId("general"), new ViewName("general", MSG
+ .view_alert_common_tab_general()));
generalTab.setPane(getDetailsTableForAlert(record));
- Tab conditionsTab = new Tab(MSG.view_alert_common_tab_conditions());
+ Tab conditionsTab = new NamedTab(extendLocatorId("conditions"), new ViewName("conditions", MSG
+ .view_alert_common_tab_conditions()));
conditionsTab.setPane(getConditionsForAlert(record));
- Tab notificationsTab = new Tab(MSG.view_alert_common_tab_notifications());
+ Tab notificationsTab = new NamedTab(extendLocatorId("notifications"), new ViewName("notifications", MSG
+ .view_alert_common_tab_notifications()));
notificationsTab.setPane(getNotificationsForAlert(record));
tabset.addTab(generalTab);
@@ -114,7 +121,7 @@ public class AlertDetailsView extends LocatableVLayout implements BookmarkableVi
}
private DynamicForm getDetailsTableForAlert(Record record) {
- DynamicForm form = new DynamicForm();
+ DynamicForm form = new LocatableDynamicForm(extendLocatorId("detailsForm"));
form.setNumCols(4);
form.setHeight("15%");
form.setWrapItemTitles(false);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/BundleSelector.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/BundleSelector.java
index 5b0c30c..c4de0d7 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/BundleSelector.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/BundleSelector.java
@@ -35,6 +35,7 @@ import org.rhq.enterprise.gui.coregui.client.components.selector.AbstractSelecto
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.RPCDataSource;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableDynamicForm;
/**
* @author Jay Shaughnessy
@@ -48,7 +49,7 @@ public class BundleSelector extends AbstractSelector<Bundle> {
}
protected DynamicForm getAvailableFilterForm() {
- DynamicForm availableFilterForm = new DynamicForm();
+ DynamicForm availableFilterForm = new LocatableDynamicForm(extendLocatorId("availableForm"));
availableFilterForm.setNumCols(4);
final TextItem search = new TextItem("search", MSG.common_title_search());
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleUploadDistroFileStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleUploadDistroFileStep.java
index 3ed578a..c188a42 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleUploadDistroFileStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleUploadDistroFileStep.java
@@ -76,7 +76,12 @@ public class BundleUploadDistroFileStep extends AbstractWizardStep {
radioItems.put(UPLOAD_OPTION, createUploadForm());
radioItems.put(RECIPE_OPTION, createRecipeForm());
- mainCanvasForm = new DynamicForm();
+ if (parent != null) {
+ mainCanvasForm = new LocatableDynamicForm(parent.extendLocatorId("mainCanvasForm"));
+ } else {
+ mainCanvasForm = new LocatableDynamicForm("mainCanvasForm");
+ }
+
radioGroup = new RadioGroupWithComponentsItem("bundleDistRadioGroup", MSG
.view_bundle_createWizard_bundleDistro(), radioItems, mainCanvasForm);
radioGroup.setShowTitle(false);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/GetDestinationStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/GetDestinationStep.java
index b6c081b..4a7b5ac 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/GetDestinationStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/GetDestinationStep.java
@@ -39,6 +39,7 @@ 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;
import org.rhq.enterprise.gui.coregui.client.util.selenium.Locatable;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableDynamicForm;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
public class GetDestinationStep extends AbstractWizardStep {
@@ -46,7 +47,7 @@ public class GetDestinationStep extends AbstractWizardStep {
private final BundleGWTServiceAsync bundleServer = GWTServiceLookup.getBundleService();
private final BundleDeployWizard wizard;
private VLayout form;
- DynamicForm valForm = new DynamicForm();
+ DynamicForm valForm = new LocatableDynamicForm("GetDestinationStepValForm");
private SinglePlatformResourceGroupSelector selector;
private BundleDestination dest = new BundleDestination();
private boolean createInProgress = false;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/ConfirmationStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/ConfirmationStep.java
index c8abfb5..3d298c2 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/ConfirmationStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/ConfirmationStep.java
@@ -38,6 +38,7 @@ 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.selenium.Locatable;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableDynamicForm;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
/**
@@ -126,7 +127,7 @@ public class ConfirmationStep extends AbstractWizardStep {
liveHeader.setWidth100();
layout.addMember(liveHeader);
- DynamicForm liveForm = new DynamicForm();
+ DynamicForm liveForm = new LocatableDynamicForm(this.wizard.getView().extendLocatorId("liveForm"));
liveForm.setNumCols(2);
StaticTextItem liveNameItem = new StaticTextItem("liveName", MSG.common_title_name());
@@ -162,7 +163,7 @@ public class ConfirmationStep extends AbstractWizardStep {
layout.addMember(prevHeader);
if (prev != null) {
- final DynamicForm prevForm = new DynamicForm();
+ final DynamicForm prevForm = new LocatableDynamicForm(this.wizard.getView().extendLocatorId("previousForm"));
prevForm.setNumCols(2);
StaticTextItem prevNameItem = new StaticTextItem("prevName", MSG.common_title_name());
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/NamedTab.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/NamedTab.java
index 7f7a77f..9833e80 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/NamedTab.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/NamedTab.java
@@ -15,6 +15,11 @@ public class NamedTab extends LocatableTab {
private ViewName viewName;
+ public NamedTab(String locatorId, ViewName viewName) {
+ super(locatorId, viewName.getTitle());
+ this.viewName = viewName;
+ }
+
public NamedTab(String locatorId, ViewName viewName, String icon) {
super(locatorId, viewName.getTitle(), icon);
this.viewName = viewName;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/event/EventCompositeDetailsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/event/EventCompositeDetailsView.java
index f90af80..ea01164 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/event/EventCompositeDetailsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/event/EventCompositeDetailsView.java
@@ -36,6 +36,7 @@ import org.rhq.enterprise.gui.coregui.client.BookmarkableView;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.ViewPath;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableDynamicForm;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
/**
@@ -79,7 +80,7 @@ public class EventCompositeDetailsView extends LocatableVLayout implements Bookm
removeChild(child);
}
- DynamicForm form = new DynamicForm();
+ DynamicForm form = new LocatableDynamicForm(extendLocatorId("form"));
form.setWidth100();
form.setHeight100();
13 years, 3 months
[rhq] modules/enterprise
by ips
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/sorter/ReorderableList.java | 45 ++++++---
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/trigger/JobTriggerEditor.java | 13 +-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/schedule/AbstractOperationScheduleDetailsView.java | 46 +++++++---
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/schedule/GroupOperationScheduleDetailsView.java | 40 +++++---
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/FormUtility.java | 6 -
5 files changed, 101 insertions(+), 49 deletions(-)
New commits:
commit f521a87edf7545349eea812a64953065b7f80337
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Mon Jan 31 20:59:06 2011 -0500
various improvements to ops scheduling GUI as recommended by UXD
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/sorter/ReorderableList.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/sorter/ReorderableList.java
index b0b1214..90b605d 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/sorter/ReorderableList.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/sorter/ReorderableList.java
@@ -19,6 +19,7 @@
package org.rhq.enterprise.gui.coregui.client.components.sorter;
import com.google.gwt.event.shared.HandlerRegistration;
+import com.smartgwt.client.types.Cursor;
import com.smartgwt.client.types.ListGridFieldType;
import com.smartgwt.client.types.SelectionStyle;
import com.smartgwt.client.widgets.grid.ListGridField;
@@ -48,6 +49,7 @@ public class ReorderableList extends LocatableVLayout {
private String itemIcon;
/** the item title (i.e. display name), which should be plural and capitalized, e.g. "Resource Groups", "Roles". */
private String itemTitle;
+ private String nameFieldTitle = MSG.common_title_name();
private Set<ListOrderChangedHandler> listOrderChangedHandlers = new HashSet<ListOrderChangedHandler>();
@@ -91,22 +93,10 @@ public class ReorderableList extends LocatableVLayout {
protected void onInit() {
super.onInit();
- SectionStack itemsStack = buildItemsSectionStack();
- hlayout.addMember(itemsStack);
-
- addMember(this.hlayout);
- }
-
- private SectionStack buildItemsSectionStack() {
- SectionStack itemsSectionStack = new SectionStack();
- itemsSectionStack.setWidth(300);
- itemsSectionStack.setHeight(250);
-
- SectionStackSection itemsSection = new SectionStackSection(getItemTitle());
- itemsSection.setCanCollapse(false);
- itemsSection.setExpanded(true);
-
+ this.listGrid.setWidth(300);
+ this.listGrid.setHeight(250);
this.listGrid.setCanReorderRecords(true);
+ // TODO: Change cursor to hand or something like that when user hovers over a record in the grid.
this.listGrid.setLoadingMessage(MSG.common_msg_loading());
this.listGrid.setEmptyMessage(MSG.common_msg_noItemsToShow());
this.listGrid.addRecordDropHandler(new RecordDropHandler() {
@@ -125,11 +115,30 @@ public class ReorderableList extends LocatableVLayout {
iconField.setShowDefaultContextMenu(false);
fields.add(iconField);
}
- ListGridField nameField = new ListGridField(getNameField(), MSG.common_title_name());
+ ListGridField nameField = new ListGridField(getNameField(), this.nameFieldTitle);
fields.add(nameField);
this.listGrid.setFields(fields.toArray(new ListGridField[fields.size()]));
+ if (getItemTitle() != null) {
+ SectionStack itemsStack = buildItemsSectionStack();
+ this.hlayout.addMember(itemsStack);
+ } else {
+ this.hlayout.addMember(this.listGrid);
+ }
+
+ addMember(this.hlayout);
+ }
+
+ private SectionStack buildItemsSectionStack() {
+ SectionStack itemsSectionStack = new SectionStack();
+ itemsSectionStack.setWidth(300);
+ itemsSectionStack.setHeight(250);
+
+ SectionStackSection itemsSection = new SectionStackSection(getItemTitle());
+ itemsSection.setCanCollapse(false);
+ itemsSection.setExpanded(true);
itemsSection.setItems(this.listGrid);
+
itemsSectionStack.addSection(itemsSection);
return itemsSectionStack;
@@ -159,6 +168,10 @@ public class ReorderableList extends LocatableVLayout {
return "name";
}
+ public void setNameFieldTitle(String nameFieldTitle) {
+ this.nameFieldTitle = nameFieldTitle;
+ }
+
public String getItemTitle() {
return itemTitle;
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/trigger/JobTriggerEditor.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/trigger/JobTriggerEditor.java
index b5182e9..d2089a8 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/trigger/JobTriggerEditor.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/trigger/JobTriggerEditor.java
@@ -26,7 +26,6 @@ import java.util.LinkedHashMap;
import java.util.Map;
import com.smartgwt.client.types.Visibility;
-import com.smartgwt.client.util.SC;
import com.smartgwt.client.widgets.HTMLFlow;
import com.smartgwt.client.widgets.Img;
import com.smartgwt.client.widgets.events.ClickEvent;
@@ -48,6 +47,7 @@ import com.smartgwt.client.widgets.tab.Tab;
import com.smartgwt.client.widgets.tab.TabSet;
import org.rhq.core.domain.common.JobTrigger;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
+import org.rhq.enterprise.gui.coregui.client.components.form.EnhancedDynamicForm;
import org.rhq.enterprise.gui.coregui.client.util.FormUtility;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableDynamicForm;
@@ -132,13 +132,14 @@ public class JobTriggerEditor extends LocatableVLayout {
protected void onDraw() {
super.onDraw();
- DynamicForm modeForm = new DynamicForm();
+ EnhancedDynamicForm modeForm = new EnhancedDynamicForm(extendLocatorId("ModeForm"));
+ modeForm.setNumCols(3);
+ modeForm.setColWidths("140", "220", "*");
RadioGroupItem modeItem = new RadioGroupItem("mode", "Schedule using");
- modeItem.setWidth(220);
LinkedHashMap<String, String> modeValueMap = new LinkedHashMap<String, String>();
modeValueMap.put("calendar", "Calendar");
- modeValueMap.put("cron", "Cron Mode");
+ modeValueMap.put("cron", "Cron Expression");
modeItem.setValueMap(modeValueMap);
modeItem.setVertical(false);
@@ -540,7 +541,7 @@ public class JobTriggerEditor extends LocatableVLayout {
private DynamicForm createRepeatForm() {
final DynamicForm repeatForm = new DynamicForm();
repeatForm.setNumCols(6);
- repeatForm.setColWidths(130, 130, 130, 130, 130);
+ repeatForm.setColWidths(140, 130, 130, 130, 130);
TextItem repeatIntervalItem = new TextItem(FIELD_REPEAT_INTERVAL, "Run now and every");
repeatIntervalItem.setRequired(true);
@@ -619,7 +620,7 @@ public class JobTriggerEditor extends LocatableVLayout {
private DynamicForm createLaterForm() {
final DynamicForm laterForm = new DynamicForm();
laterForm.setNumCols(4);
- laterForm.setColWidths(130, 130, 130);
+ laterForm.setColWidths(140, 130, 130);
RadioGroupItem startTypeItem = new RadioGroupItem(FIELD_START_TYPE, "Run");
LinkedHashMap<String, String> startTypeValueMap = new LinkedHashMap<String, String>();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/schedule/AbstractOperationScheduleDetailsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/schedule/AbstractOperationScheduleDetailsView.java
index c938f18..1ea15db 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/schedule/AbstractOperationScheduleDetailsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/schedule/AbstractOperationScheduleDetailsView.java
@@ -22,6 +22,7 @@ package org.rhq.enterprise.gui.coregui.client.inventory.common.detail.operation.
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -30,14 +31,16 @@ import com.smartgwt.client.data.DSRequest;
import com.smartgwt.client.data.Record;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.HTMLFlow;
+import com.smartgwt.client.widgets.form.fields.ComboBoxItem;
import com.smartgwt.client.widgets.form.fields.FormItem;
+import com.smartgwt.client.widgets.form.fields.IntegerItem;
import com.smartgwt.client.widgets.form.fields.SelectItem;
import com.smartgwt.client.widgets.form.fields.StaticTextItem;
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;
import com.smartgwt.client.widgets.form.fields.events.ChangedHandler;
+import com.smartgwt.client.widgets.form.validator.IntegerRangeValidator;
import com.smartgwt.client.widgets.grid.ListGridRecord;
import com.smartgwt.client.widgets.layout.VLayout;
import org.rhq.core.domain.auth.Subject;
@@ -73,6 +76,7 @@ public abstract class AbstractOperationScheduleDetailsView extends AbstractRecor
private JobTriggerEditor triggerEditor;
private Configuration parameters;
private EnhancedDynamicForm notesForm;
+ private EnhancedDynamicForm timeoutForm;
public AbstractOperationScheduleDetailsView(String locatorId, AbstractOperationScheduleDataSource dataSource,
ResourceType resourceType, int scheduleId) {
@@ -99,8 +103,8 @@ public abstract class AbstractOperationScheduleDetailsView extends AbstractRecor
protected EnhancedDynamicForm buildForm() {
EnhancedDynamicForm form = super.buildForm();
- form.setNumCols(2);
- form.setColWidths("165", "*");
+ form.setNumCols(3);
+ form.setColWidths("140", "140", "*");
return form;
}
@@ -114,7 +118,7 @@ public abstract class AbstractOperationScheduleDetailsView extends AbstractRecor
items.add(idItem);
}
- SelectItem operationNameItem = new SelectItem(ResourceOperationScheduleDataSource.Field.OPERATION_NAME);
+ SelectItem operationNameItem = new SelectItem(ResourceOperationScheduleDataSource.Field.OPERATION_NAME, "Name");
items.add(operationNameItem);
operationNameItem.addChangedHandler(new ChangedHandler() {
public void onChanged(ChangedEvent event) {
@@ -123,10 +127,12 @@ public abstract class AbstractOperationScheduleDetailsView extends AbstractRecor
}
});
- this.operationDescriptionItem = new StaticTextItem(FIELD_OPERATION_DESCRIPTION, "Operation Description");
+ this.operationDescriptionItem = new StaticTextItem(FIELD_OPERATION_DESCRIPTION, "Description");
+ this.operationDescriptionItem.setShowTitle(false);
items.add(this.operationDescriptionItem);
- this.operationParametersItem = new StaticTextItem(FIELD_OPERATION_PARAMETERS, "Operation Parameters");
+ this.operationParametersItem = new StaticTextItem(FIELD_OPERATION_PARAMETERS, "Parameters");
+ this.operationParametersItem.setColSpan(2);
items.add(this.operationParametersItem);
return items;
@@ -150,9 +156,31 @@ public abstract class AbstractOperationScheduleDetailsView extends AbstractRecor
contentPane.addMember(hr);
}
+ this.timeoutForm = new EnhancedDynamicForm(extendLocatorId("TimeoutForm"), isReadOnly(), isNewRecord());
+ this.timeoutForm.setNumCols(4);
+ this.timeoutForm.setColWidths("140", "90", "105", "*");
+
+ IntegerItem timeoutItem = new IntegerItem("timeoutValue", "Timeout");
+ IntegerRangeValidator integerRangeValidator = new IntegerRangeValidator();
+ integerRangeValidator.setMin(1);
+ timeoutItem.setValidators(integerRangeValidator);
+ ComboBoxItem timeoutUnitsItem = new ComboBoxItem("timeoutUnits");
+ timeoutUnitsItem.setShowTitle(false);
+ LinkedHashMap<String, String> valueMap = new LinkedHashMap<String, String>(3);
+ valueMap.put("seconds", "seconds");
+ valueMap.put("minutes", "minutes");
+ valueMap.put("hours", "hours");
+ timeoutUnitsItem.setValueMap(valueMap);
+ timeoutUnitsItem.setDefaultValue("minutes");
+ FormUtility.addContextualHelp(timeoutUnitsItem, "a time duration - if specified, if the duration elapses before a scheduled operation execution has completed, the RHQ Server will timeout the operation and consider it to have failed; note, it is usually not possible to abort the underlying managed resource operation if it was initiated");
+ this.timeoutForm.setFields(timeoutItem, timeoutUnitsItem);
+ timeoutItem.setWidth(90);
+ timeoutUnitsItem.setWidth(105);
+ contentPane.addMember(this.timeoutForm);
+
this.notesForm = new EnhancedDynamicForm(extendLocatorId("NotesForm"), isReadOnly(),
isNewRecord());
- this.notesForm.setWidth100();
+ this.notesForm.setColWidths("140", "50%", "140", "50%");
List<FormItem> notesFields = new ArrayList<FormItem>();
@@ -161,10 +189,6 @@ public abstract class AbstractOperationScheduleDetailsView extends AbstractRecor
notesFields.add(nextFireTimeItem);
}
- TextItem timeoutItem = new TextItem(AbstractOperationScheduleDataSource.Field.TIMEOUT, "Timeout (in seconds)");
- FormUtility.addContextualHelp(timeoutItem, "a time duration in seconds; if specified, if the duration elapses before a scheduled operation execution has completed, the RHQ Server will timeout the operation and consider it to have failed; note, it is usually not possible to abort the underlying managed resource operation if it was initiated");
- notesFields.add(timeoutItem);
-
TextAreaItem notesItem = new TextAreaItem(ResourceOperationScheduleDataSource.Field.DESCRIPTION, "Notes");
notesItem.setWidth(450);
notesItem.setHeight(60);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/schedule/GroupOperationScheduleDetailsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/schedule/GroupOperationScheduleDetailsView.java
index 8bb7f38..a397553 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/schedule/GroupOperationScheduleDetailsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/schedule/GroupOperationScheduleDetailsView.java
@@ -12,6 +12,8 @@ import com.smartgwt.client.widgets.form.fields.RadioGroupItem;
import com.smartgwt.client.widgets.form.fields.events.ChangedEvent;
import com.smartgwt.client.widgets.form.fields.events.ChangedHandler;
import com.smartgwt.client.widgets.grid.ListGridRecord;
+import com.smartgwt.client.widgets.layout.HLayout;
+import com.smartgwt.client.widgets.layout.VLayout;
import org.rhq.core.domain.resource.ResourceCategory;
import org.rhq.core.domain.resource.group.composite.ResourceGroupComposite;
import org.rhq.enterprise.gui.coregui.client.ImageManager;
@@ -69,12 +71,13 @@ public class GroupOperationScheduleDetailsView extends AbstractOperationSchedule
contentPane.addMember(hr);
this.executionModeForm = new DynamicForm();
- executionModeForm.setColWidths("250", "*");
+ this.executionModeForm.setNumCols(2);
+ this.executionModeForm.setColWidths("140", "*");
- RadioGroupItem executionModeItem = new RadioGroupItem("executionMode", "Member Resource Execution Order");
+ RadioGroupItem executionModeItem = new RadioGroupItem("executionMode", "Execute");
LinkedHashMap<String, String> valueMap = new LinkedHashMap<String, String>(2);
- valueMap.put("parallel", "Execute in parallel");
- valueMap.put("sequential", "Execute in the order specified below");
+ valueMap.put("parallel", "in parallel");
+ valueMap.put("sequential", "in the order specified below (drag and drop member Resources to change order)");
executionModeItem.setValueMap(valueMap);
executionModeItem.setDefaultValue("parallel");
@@ -83,26 +86,35 @@ public class GroupOperationScheduleDetailsView extends AbstractOperationSchedule
haltOnFailureItem.setVisible(false);
haltOnFailureItem.setLabelAsTitle(true);
+ executionModeForm.setFields(executionModeItem, haltOnFailureItem);
+
+ contentPane.addMember(executionModeForm);
+
+ HLayout hLayout = new HLayout();
+ VLayout horizontalSpacer = new VLayout();
+ horizontalSpacer.setWidth(140);
+ hLayout.addMember(horizontalSpacer);
+ ResourceCategory resourceCategory = this.groupComposite.getResourceGroup().getResourceType().getCategory();
+ String memberIcon = ImageManager.getResourceIcon(resourceCategory);
+ final ReorderableList memberExecutionOrderer = new ReorderableList(extendLocatorId("MemberExecutionOrderer"),
+ this.memberResourceRecords, null, memberIcon);
+ memberExecutionOrderer.setVisible(false);
+ memberExecutionOrderer.setNameFieldTitle("Member Resource");
+ hLayout.addMember(memberExecutionOrderer);
+ contentPane.addMember(hLayout);
+
executionModeItem.addChangedHandler(new ChangedHandler() {
public void onChanged(ChangedEvent event) {
if (event.getValue().equals("parallel")) {
haltOnFailureItem.hide();
+ memberExecutionOrderer.hide();
} else {
haltOnFailureItem.show();
+ memberExecutionOrderer.show();
}
}
});
- executionModeForm.setFields(executionModeItem, haltOnFailureItem);
-
- contentPane.addMember(executionModeForm);
-
- ResourceCategory resourceCategory = this.groupComposite.getResourceGroup().getResourceType().getCategory();
- String memberIcon = ImageManager.getResourceIcon(resourceCategory);
- ReorderableList memberExecutionOrderer = new ReorderableList(extendLocatorId("MemberExecutionOrderer"),
- this.memberResourceRecords, "Member Resources", memberIcon);
- contentPane.addMember(memberExecutionOrderer);
-
return contentPane;
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/FormUtility.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/FormUtility.java
index 50455b4..1097bf1 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/FormUtility.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/FormUtility.java
@@ -49,12 +49,14 @@ public class FormUtility {
}
public static void addContextualHelp(FormItem item, final String helpText) {
- FormItemIcon helpIcon = new FormItemIcon();
+ final FormItemIcon helpIcon = new FormItemIcon();
helpIcon.setSrc("[SKIN]/actions/help.png");
item.setIcons(helpIcon);
item.addIconClickHandler(new IconClickHandler() {
public void onIconClick(IconClickEvent event) {
- SC.say(helpText);
+ if (event.getIcon().equals(helpIcon)) {
+ SC.say(helpText);
+ }
}
});
}
13 years, 3 months