modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java | 2 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java | 32 +- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/SubjectRoleSelector.java | 4 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UserEditView.java | 115 +++----- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UsersDataSource.java | 74 ++--- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UsersView.java | 18 - modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceAlertDefinitionsView.java | 2 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java | 10 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TableSection.java | 31 +- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/queue/AutodiscoveryPortlet.java | 1 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/operations/OperationsPortlet.java | 12 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/problems/ProblemResourcesPortlet.java | 11 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java | 1 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ReportTopView.java | 130 +--------- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/Locatable.java | 4 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableButton.java | 2 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableDialog.java | 4 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableDynamicForm.java | 4 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableHLayout.java | 6 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableHTMLPane.java | 4 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableHeaderControl.java | 6 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableIButton.java | 2 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableIMenuButton.java | 6 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableImg.java | 2 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableLabel.java | 6 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableLayout.java | 4 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableListGrid.java | 4 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableMenu.java | 4 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableSectionStack.java | 4 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableStretchImgButton.java | 2 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTab.java | 4 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTabSet.java | 8 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTileLayout.java | 4 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableToolStrip.java | 4 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTransferImgButton.java | 2 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTreeGrid.java | 4 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableVLayout.java | 6 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableWidgetCanvas.java | 4 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableWindow.java | 4 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/SeleniumUtility.java | 7 40 files changed, 217 insertions(+), 337 deletions(-)
New commits: commit ede3762f4450a72eb47c9359b115ab5342f0d26d Author: Jay Shaughnessy jshaughn@redhat.com Date: Wed Sep 8 21:54:59 2010 -0400
keep default ids in place for just a little longer
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/SeleniumUtility.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/SeleniumUtility.java index 21ef740..e4b60bc 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/SeleniumUtility.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/SeleniumUtility.java @@ -17,7 +17,7 @@ import org.rhq.enterprise.gui.coregui.client.util.message.Message.Severity; */ public class SeleniumUtility {
- private static final boolean USE_DEFAULT_IDS = false; + private static final boolean USE_DEFAULT_IDS = true;
/** A default id that is not ecommended as it will clash with any other element set to the default */ public static final String DEFAULT_ID = "DefaultID";
commit 3465dd5d19d96e5be1ff3569beec2b7b30e333e6 Merge: 5fc1c81... e292517... Author: Jay Shaughnessy jshaughn@redhat.com Date: Wed Sep 8 17:28:08 2010 -0400
Merge branch 'master' into master-jay
commit 5fc1c81999013914039d01d293a8dfc3eb6827fa Author: Jay Shaughnessy jshaughn@redhat.com Date: Wed Sep 8 17:26:23 2010 -0400
A bunch of fixes to Admin/User mgmt. - Fixes to Administration View setup/left nav/rendering -- I believe this also fixes the issues with the "sticking" Admin top menu and default content. - Users list/new/delete should all be working - removed password/verify from list view - removed pop-up window for create in favor of straight master-detail approach. This should be more consistent across the app, makes better use of real-estate, and avoids an issue/possible bug with smartgwt callbacks.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java index e0625a5..6856a55 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java @@ -257,7 +257,7 @@ public class CoreGUI implements EntryPoint, ValueChangeHandler<String> { Canvas canvas;
if (breadcrumbName.equals("Administration")) { - canvas = new AdministrationView("Administration"); + canvas = new AdministrationView("Admin"); } else if (breadcrumbName.equals("Demo")) { canvas = new DemoCanvas(); } else if (breadcrumbName.equals("Inventory")) { diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java index 709d1cd..7c69fa5 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java @@ -84,14 +84,15 @@ public class AdministrationView extends LocatableHLayout implements Bookmarkable treeGrids.put("Configuration", buildSystemConfigurationSection()); treeGrids.put("Cluster", buildManagementClusterSection()); treeGrids.put("Reports", buildReportsSection()); - treeGrids.put("Security", buildSecuritySection());
for (final String name : treeGrids.keySet()) { TreeGrid grid = treeGrids.get(name);
grid.addSelectionChangedHandler(new SelectionChangedHandler() { public void onSelectionChanged(SelectionEvent selectionEvent) { - CoreGUI.goTo("Administration/" + name + "/" + selectionEvent.getRecord().getAttribute("name")); + if (selectionEvent.getState()) { + CoreGUI.goTo("Administration/" + name + "/" + selectionEvent.getRecord().getAttribute("name")); + } } });
@@ -199,8 +200,11 @@ public class AdministrationView extends LocatableHLayout implements Bookmarkable
public void setContent(Canvas newContent) {
- if (contentCanvas.getChildren().length > 0) - contentCanvas.getChildren()[0].destroy(); + if (contentCanvas.getChildren().length > 0) { + for (Canvas child : contentCanvas.getChildren()) { + child.destroy(); + } + }
contentCanvas.addChild(newContent); contentCanvas.markForRedraw(); @@ -272,7 +276,14 @@ public class AdministrationView extends LocatableHLayout implements Bookmarkable } }
- setContent(content); + // ignore clicks on subsection folder nodes + if (null != content) { + setContent(content); + + if (content instanceof BookmarkableView) { + ((BookmarkableView) content).renderView(viewPath.next().next()); + } + }
}
@@ -286,17 +297,12 @@ public class AdministrationView extends LocatableHLayout implements Bookmarkable } else { renderContentView(viewPath); } - } - - // When looking at a detail view, always fire the event down - if (!viewPath.isEnd()) { - - if (currentContent instanceof BookmarkableView) { - ((BookmarkableView) currentContent).renderView(viewPath.next().next()); + } else { + if (this.currentContent instanceof BookmarkableView) { + ((BookmarkableView) this.currentContent).renderView(viewPath.next().next()); }
} - }
private static String addQueryStringParam(String url, String param) { diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UserEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UserEditView.java index 1a36bc7..bd13da7 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UserEditView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UserEditView.java @@ -21,6 +21,7 @@ package org.rhq.enterprise.gui.coregui.client.admin.users; import java.util.HashSet; import java.util.Set;
+import com.google.gwt.user.client.History; import com.google.gwt.user.client.rpc.AsyncCallback; import com.smartgwt.client.data.DSCallback; import com.smartgwt.client.data.DSRequest; @@ -32,7 +33,6 @@ import com.smartgwt.client.types.TitleOrientation; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.IButton; import com.smartgwt.client.widgets.Label; -import com.smartgwt.client.widgets.Window; import com.smartgwt.client.widgets.form.DynamicForm; import com.smartgwt.client.widgets.form.fields.CanvasItem; import com.smartgwt.client.widgets.form.fields.SectionItem; @@ -49,11 +49,9 @@ import org.rhq.enterprise.gui.coregui.client.BookmarkableView; import org.rhq.enterprise.gui.coregui.client.CoreGUI; import org.rhq.enterprise.gui.coregui.client.ViewId; import org.rhq.enterprise.gui.coregui.client.ViewPath; -import org.rhq.enterprise.gui.coregui.client.components.HeaderLabel; 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.LocatableDynamicForm; -import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableHLayout; import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableIButton; import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
@@ -67,7 +65,6 @@ public class UserEditView extends LocatableVLayout implements BookmarkableView { // private SubjectRolesEditorItem subjectRolesEditorItem ;
private VLayout editCanvas; - private HeaderLabel editLabel; private DynamicForm form;
CanvasItem roleSelectionItem; @@ -76,7 +73,6 @@ public class UserEditView extends LocatableVLayout implements BookmarkableView {
private Subject subject;
- private Window editorWindow; private SubjectRoleSelector roleSelector;
public UserEditView(String locatorId) { @@ -104,30 +100,12 @@ public class UserEditView extends LocatableVLayout implements BookmarkableView {
SectionItem userEditSection = new SectionItem("userEditSection", "Edit User");
- // TextItem firstName = new TextItem("firstName", "First Name"); - // - // TextItem lastName = new TextItem("lastName", "Last Name"); - // - // TextItem email = new TextItem("email", "Email Address"); - // - // - // BooleanItem enabled = new BooleanItem(); - // enabled.setName("enabled"); - // enabled.setTitle("Enabled"); - // - // TextItem username = new TextItem("username", "Username"); - // - // TextItem phone = new TextItem("phone", "Phone"); - - // form.setField//s(userEditSection); - form.setUseAllDataSourceFields(true); form.setDataSource(dataSource);
this.roleSelectionItem = new CanvasItem("selectRoles", "Select Roles"); this.roleSelectionItem.setTitleOrientation(TitleOrientation.TOP); this.roleSelectionItem.setColSpan(2); - // roleSelectionItem.setCanvas(new SubjectRoleSelector(null));
TextItem departmentItem = new TextItem("department"); departmentItem.setRequired(false); @@ -137,10 +115,6 @@ public class UserEditView extends LocatableVLayout implements BookmarkableView { public void onClick(com.smartgwt.client.widgets.events.ClickEvent clickEvent) { if (form.validate()) { save(); - if (editorWindow != null) { - editorWindow.destroy(); - CoreGUI.refresh(); - } } } }); @@ -155,15 +129,11 @@ public class UserEditView extends LocatableVLayout implements BookmarkableView { IButton cancelButton = new LocatableIButton(this.extendLocatorId("Cancel"), "Cancel"); cancelButton.addClickHandler(new com.smartgwt.client.widgets.events.ClickHandler() { public void onClick(com.smartgwt.client.widgets.events.ClickEvent clickEvent) { - if (editorWindow != null) { - editorWindow.destroy(); - } else { - form.reset(); - } + History.back(); } });
- HLayout buttonLayout = new LocatableHLayout(this.extendLocatorId("Buttons"), 10); + HLayout buttonLayout = new HLayout(10); buttonLayout.setAlign(Alignment.CENTER); buttonLayout.addMember(saveButton); buttonLayout.addMember(resetButton); @@ -180,8 +150,10 @@ public class UserEditView extends LocatableVLayout implements BookmarkableView {
}
- private void save() { + public void save() { final HashSet<Integer> roles = roleSelector.getSelection(); + // The form.saveData() call triggers UsersDataSource.executeAdd() to create the new Subject. On + // successful create we need to perform the role assignment, so set this callback on completion. form.saveData(new DSCallback() { public void execute(DSResponse dsResponse, Object o, DSRequest dsRequest) {
@@ -197,11 +169,13 @@ public class UserEditView extends LocatableVLayout implements BookmarkableView { new AsyncCallback<Void>() { public void onFailure(Throwable caught) { CoreGUI.getErrorHandler().handleError("Failed to set subject role assignments.", caught); + History.back(); }
public void onSuccess(Void result) { CoreGUI.getMessageCenter().notify( new Message("Succesfully saved new user roles.", Message.Severity.Info)); + History.back(); } });
@@ -210,9 +184,6 @@ public class UserEditView extends LocatableVLayout implements BookmarkableView { }
public void editRecord(Record record) { - - // form.getDataSource().getField("username").setCanEdit(true ); - roleSelector = new SubjectRoleSelector(this.extendLocatorId("Roles"), (Set<Role>) record .getAttributeAsObject("roles")); roleSelectionItem.setCanvas(roleSelector); @@ -239,50 +210,48 @@ public class UserEditView extends LocatableVLayout implements BookmarkableView { subject = new Subject(); ListGridRecord r = dataSource.copyValues(subject); editRecord(r); - // form.getDataSource().getField("username").setCanEdit(false); - form.setSaveOperationType(DSOperationType.ADD); - - editorWindow = new Window(); - editorWindow.setTitle("Create User"); - editorWindow.setWidth(800); - editorWindow.setHeight(800); - editorWindow.setIsModal(true); - editorWindow.setShowModalMask(true); - editorWindow.setCanDragResize(true); - editorWindow.centerInPage(); - editorWindow.addItem(this); - editorWindow.show();
+ // This tells form.saveData() to call UsersDataSource.executeAdd() on the new Subject's ListGridRecord + form.setSaveOperationType(DSOperationType.ADD); }
public static void editNew(String locatorId) { UserEditView editView = new UserEditView(locatorId); editView.editNewInternal(); - }
private void editSubject(int subjectId, final ViewId current) {
- SubjectCriteria criteria = new SubjectCriteria(); - criteria.fetchRoles(true); - criteria.fetchConfiguration(true); + final int id = Integer.valueOf(current.getBreadcrumbs().get(0).getName());
- GWTServiceLookup.getSubjectService().findSubjectsByCriteria(criteria, new AsyncCallback<PageList<Subject>>() { - @Override - public void onFailure(Throwable caught) { - CoreGUI.getErrorHandler().handleError("Failed to load subject for editing", caught); - } + if (id > 0) { + SubjectCriteria criteria = new SubjectCriteria(); + criteria.addFilterId(id); + criteria.fetchRoles(true); + criteria.fetchConfiguration(true);
- @Override - public void onSuccess(PageList<Subject> result) { - Subject subject = result.get(0); - Record record = new UsersDataSource().copyValues(subject); - editRecord(record); + GWTServiceLookup.getSubjectService().findSubjectsByCriteria(criteria, + new AsyncCallback<PageList<Subject>>() { + @Override + public void onFailure(Throwable caught) { + CoreGUI.getErrorHandler().handleError("Failed to load subject for editing", caught); + }
- current.getBreadcrumbs().get(0).setDisplayName("Editing: " + subject.getName()); - CoreGUI.refreshBreadCrumbTrail(); - } - }); + @Override + public void onSuccess(PageList<Subject> result) { + Subject subject = result.get(0); + Record record = new UsersDataSource().copyValues(subject); + editRecord(record); + + current.getBreadcrumbs().get(0).setDisplayName("Editing: " + subject.getName()); + CoreGUI.refreshBreadCrumbTrail(); + } + }); + } else { + editNewInternal(); + current.getBreadcrumbs().get(0).setDisplayName("New User"); + CoreGUI.refreshBreadCrumbTrail(); + } }
@Override diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UsersDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UsersDataSource.java index 578d2b6..809edec 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UsersDataSource.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UsersDataSource.java @@ -18,26 +18,15 @@ */ package org.rhq.enterprise.gui.coregui.client.admin.users;
-import org.rhq.core.domain.auth.Subject; -import org.rhq.core.domain.authz.Permission; -import org.rhq.core.domain.authz.Role; -import org.rhq.core.domain.criteria.SubjectCriteria; -import org.rhq.core.domain.resource.group.ResourceGroup; -import org.rhq.core.domain.util.PageList; -import org.rhq.enterprise.gui.coregui.client.CoreGUI; -import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup; -import org.rhq.enterprise.gui.coregui.client.gwt.SubjectGWTServiceAsync; -import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource; -import org.rhq.enterprise.gui.coregui.client.util.message.Message; +import java.util.HashMap; +import java.util.Map; +import java.util.Set;
-import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.JavaScriptObject; -import com.google.gwt.user.client.Window; import com.google.gwt.user.client.rpc.AsyncCallback; import com.smartgwt.client.data.DSRequest; import com.smartgwt.client.data.DSResponse; import com.smartgwt.client.data.DataSourceField; -import com.smartgwt.client.data.FieldValueExtractor; import com.smartgwt.client.data.Record; import com.smartgwt.client.data.fields.DataSourceIntegerField; import com.smartgwt.client.data.fields.DataSourceTextField; @@ -48,9 +37,15 @@ import com.smartgwt.client.widgets.form.validator.LengthRangeValidator; import com.smartgwt.client.widgets.form.validator.MatchesFieldValidator; import com.smartgwt.client.widgets.grid.ListGridRecord;
-import java.util.HashMap; -import java.util.Map; -import java.util.Set; +import org.rhq.core.domain.auth.Subject; +import org.rhq.core.domain.authz.Role; +import org.rhq.core.domain.criteria.SubjectCriteria; +import org.rhq.core.domain.util.PageList; +import org.rhq.enterprise.gui.coregui.client.CoreGUI; +import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup; +import org.rhq.enterprise.gui.coregui.client.gwt.SubjectGWTServiceAsync; +import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource; +import org.rhq.enterprise.gui.coregui.client.util.message.Message;
/** * @author Greg Hinkle @@ -61,7 +56,6 @@ public class UsersDataSource extends RPCDataSource<Subject> {
private SubjectGWTServiceAsync subjectService = GWTServiceLookup.getSubjectService();
- public static UsersDataSource getInstance() { if (INSTANCE == null) { INSTANCE = new UsersDataSource(); @@ -69,9 +63,8 @@ public class UsersDataSource extends RPCDataSource<Subject> { return INSTANCE; }
+ public UsersDataSource() {
- public UsersDataSource() { - DataSourceField idDataField = new DataSourceIntegerField("id", "ID"); idDataField.setPrimaryKey(true); idDataField.setCanEdit(false); @@ -90,7 +83,6 @@ public class UsersDataSource extends RPCDataSource<Subject> { passwordValdidator.setErrorMessage("Password must be at least six characters"); password.setValidators(passwordValdidator);
- DataSourceTextField passwordVerify = new DataSourceTextField("passwordVerify", "Verify", 100, false); passwordVerify.setType(FieldType.PASSWORD);
@@ -99,10 +91,9 @@ public class UsersDataSource extends RPCDataSource<Subject> { passwordsEqualValidator.setErrorMessage("Passwords do not match"); passwordVerify.setValidators(passwordsEqualValidator);
- DataSourceTextField emailAddress = new DataSourceTextField("emailAddress", "Email Address", 100, true);
- DataSourceTextField phone = new DataSourceTextField("phoneNumber", "Phone", 15, false); + DataSourceTextField phone = new DataSourceTextField("phoneNumber", "Phone", 15, false);
DataSourceTextField department = new DataSourceTextField("department", "Department", 100, false);
@@ -111,11 +102,10 @@ public class UsersDataSource extends RPCDataSource<Subject> { roles.setName("roles"); roles.setMultiple(true);
- - setFields(idDataField, usernameField, firstName, lastName, password, passwordVerify, phone, emailAddress, department); + setFields(idDataField, usernameField, firstName, lastName, password, passwordVerify, phone, emailAddress, + department); }
- public void executeFetch(final DSRequest request, final DSResponse response) { final long start = System.currentTimeMillis();
@@ -141,13 +131,12 @@ public class UsersDataSource extends RPCDataSource<Subject> { }
response.setData(records); - response.setTotalRows(result.getTotalSize()); // for paging to work we have to specify size of full result set + response.setTotalRows(result.getTotalSize()); // for paging to work we have to specify size of full result set processResponse(request.getRequestId(), response); } }); }
- @Override protected void executeAdd(final DSRequest request, final DSResponse response) { JavaScriptObject data = request.getData(); @@ -160,7 +149,7 @@ public class UsersDataSource extends RPCDataSource<Subject> { Map<String, String> errors = new HashMap<String, String>(); errors.put("name", "A user with this name already exists."); response.setErrors(errors); -// CoreGUI.getErrorHandler().handleError("Failed to create role",caught); + // CoreGUI.getErrorHandler().handleError("Failed to create role",caught); response.setStatus(RPCResponse.STATUS_VALIDATION_ERROR); processResponse(request.getRequestId(), response); } @@ -169,12 +158,14 @@ public class UsersDataSource extends RPCDataSource<Subject> { String password = rec.getAttribute("password"); subjectService.createPrincipal(newSubject.getName(), password, new AsyncCallback<Void>() { public void onFailure(Throwable caught) { - CoreGUI.getErrorHandler().handleError("Subject created, but failed to create principal",caught); + CoreGUI.getErrorHandler() + .handleError("Subject created, but failed to create principal", caught); }
public void onSuccess(Void nothing) { - CoreGUI.getMessageCenter().notify(new Message("Created User [" + newSubject.getName() + "]", Message.Severity.Info)); - response.setData(new Record[]{copyValues(result)}); + CoreGUI.getMessageCenter().notify( + new Message("Created User [" + newSubject.getName() + "]", Message.Severity.Info)); + response.setData(new Record[] { copyValues(result) }); processResponse(request.getRequestId(), response); } }); @@ -203,16 +194,18 @@ public class UsersDataSource extends RPCDataSource<Subject> { }
public void onSuccess(Void nothing) { - CoreGUI.getMessageCenter().notify(new Message("User updated and password changed", Message.Severity.Info)); - response.setData(new Record[]{copyValues(result)}); + CoreGUI.getMessageCenter().notify( + new Message("User updated and password changed", Message.Severity.Info)); + response.setData(new Record[] { copyValues(result) }); processResponse(request.getRequestId(), response);
} }); } else { System.out.println("Subject Updated"); - CoreGUI.getMessageCenter().notify(new Message("User [" + result.getName() + "] updated", Message.Severity.Info)); - response.setData(new Record[]{copyValues(result)}); + CoreGUI.getMessageCenter().notify( + new Message("User [" + result.getName() + "] updated", Message.Severity.Info)); + response.setData(new Record[] { copyValues(result) }); processResponse(request.getRequestId(), response); } } @@ -225,21 +218,21 @@ public class UsersDataSource extends RPCDataSource<Subject> { final ListGridRecord rec = new ListGridRecord(data); final Subject subjectToDelete = copyValues(rec);
- subjectService.deleteSubjects(new int[]{subjectToDelete.getId()}, new AsyncCallback<Void>() { + subjectService.deleteSubjects(new int[] { subjectToDelete.getId() }, new AsyncCallback<Void>() { public void onFailure(Throwable caught) { CoreGUI.getErrorHandler().handleError("Failed to delete role", caught); }
public void onSuccess(Void result) { - CoreGUI.getMessageCenter().notify(new Message("User [" + subjectToDelete.getName() + "] removed", Message.Severity.Info)); - response.setData(new Record[]{rec}); + CoreGUI.getMessageCenter().notify( + new Message("User [" + subjectToDelete.getName() + "] removed", Message.Severity.Info)); + response.setData(new Record[] { rec }); processResponse(request.getRequestId(), response); } });
}
- public Subject copyValues(ListGridRecord from) { Subject to = new Subject(); to.setId(from.getAttributeAsInt("id")); @@ -272,7 +265,6 @@ public class UsersDataSource extends RPCDataSource<Subject> { return to; }
- private ListGridRecord getEditedRecord(DSRequest request) { // Retrieving values before edit JavaScriptObject oldValues = request.getAttributeAsJavaScriptObject("oldValues"); diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UsersView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UsersView.java index aa0cf64..72e2aa7 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UsersView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UsersView.java @@ -19,6 +19,7 @@ package org.rhq.enterprise.gui.coregui.client.admin.users;
import com.smartgwt.client.widgets.Canvas; +import com.smartgwt.client.widgets.grid.ListGrid; import com.smartgwt.client.widgets.grid.ListGridRecord;
import org.rhq.enterprise.gui.coregui.client.components.table.Table; @@ -41,31 +42,28 @@ public class UsersView extends TableSection { @Override protected void configureTable() {
- getListGrid().getField("id").setWidth(55); - getListGrid().getField("name").setWidth(100); + final ListGrid grid = getListGrid(); + grid.getField("id").setWidth(20); + grid.getField("name").setWidth(100); + grid.hideField("password"); + grid.hideField("passwordVerify");
addTableAction(extendLocatorId("Delete"), "Delete", Table.SelectionEnablement.ANY, "Are you sure you want to delete # users?", new TableAction() { public void executeAction(ListGridRecord[] selection) { - getListGrid().removeSelectedData(); + grid.removeSelectedData(); } });
addTableAction(extendLocatorId("New"), "New", new TableAction() { public void executeAction(ListGridRecord[] selection) { - createUser(); + newDetails(); } }); }
- public void createUser() { - UserEditView editView = new UserEditView(extendLocatorId("Edit")); - editView.editNewInternal(); - } - public Canvas getDetailsView(int id) { final UserEditView userEditor = new UserEditView(extendLocatorId("Detail")); - return userEditor; } }
commit fa6ab36ec6ff7be045d84e99e72860c3a97d40f3 Author: Jay Shaughnessy jshaughn@redhat.com Date: Wed Sep 8 17:19:16 2010 -0400
Add newDetails() to TableSection. This complements showDetails(id) and should be called instead of showDetails(0) when wanting an empty form for creating a new entity.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceAlertDefinitionsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceAlertDefinitionsView.java index 126c672..7cf7226 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceAlertDefinitionsView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceAlertDefinitionsView.java @@ -63,7 +63,7 @@ public class ResourceAlertDefinitionsView extends AbstractAlertDefinitionsView {
@Override protected void newButtonPressed(ListGridRecord[] selection) { - showDetails(0); + newDetails(); }
@Override diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TableSection.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TableSection.java index 01a19f3..44746c2 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TableSection.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TableSection.java @@ -146,17 +146,35 @@ public abstract class TableSection extends Table implements BookmarkableView { }
/** - * Shows the details for an item has the given ID. Note that an empty - * details view will be shown if the id passed in is 0. + * Shows empty details for a new item being created. + * This method is usually called when a user clicks a 'New' button. + * + * @see #showDetails(ListGridRecord) + */ + public void newDetails() { + History.newItem(basePath + "/0"); + } + + /** + * Shows the details for an item has the given ID. * This method is usually called when a user goes to the details - * page via a bookmark or direct link. + * page via a bookmark, double-cick on a list view row, or direct link. * - * @param id the id of the row whose details are to be shown; pass in 0 to show empty details + * @param id the id of the row whose details are to be shown; Should be a valid id, > 0. * * @see #showDetails(ListGridRecord) + * + * @throws IllegalArgumentException if id <= 0. */ public void showDetails(int id) { - History.newItem(basePath + "/" + id); + if (id > 0) { + History.newItem(basePath + "/" + id); + } else { + String msg = "Can not show detail for [" + this.getClass() + "]. Illegal 'id': " + id + + " Please report this bug"; + CoreGUI.getErrorHandler().handleError(msg); + throw new IllegalArgumentException(msg); + } }
/** @@ -232,9 +250,8 @@ public abstract class TableSection extends Table implements BookmarkableView { detailsHolder.animateHide(AnimationEffect.FADE, new AnimationCallback() { @Override public void execute(boolean b) { - // TODO: Implement this method. for (Canvas child : detailsHolder.getMembers()) { - detailsHolder.removeMember(child); + child.destroy(); }
contents.animateShow(AnimationEffect.FADE);
commit bfc20948d695463b215f247339cf0c9568a151b9 Author: Jay Shaughnessy jshaughn@redhat.com Date: Wed Sep 8 17:16:33 2010 -0400
removed 'Preferences' from top menu. Currently this may not be needed at all, but even if it is it wil likely be integrated into either user mgmt or possibly even more fine-grained use, like specific to a group config update.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java index 8e51dd9..dc5503f 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java @@ -89,7 +89,6 @@ public class MenuBarView extends VLayout { // loggedInAs.setValign(VerticalAlignment.CENTER); // helpLayout.addMember(loggedInAs); topStrip.addMember(SeleniumUtility.setHtmlId(new Hyperlink("Help", "Help"))); - topStrip.addMember(SeleniumUtility.setHtmlId(new Hyperlink("Preferences", "Preferences"))); topStrip.addMember(SeleniumUtility.setHtmlId(new Hyperlink("Log Out", "LogOut"))); // helpLayout.setLayoutAlign(VerticalAlignment.CENTER); // topStrip.addMember(helpLayout);
commit 818b8aa88257a97541c8f97f1a167aa7f99c319a Author: Jay Shaughnessy jshaughn@redhat.com Date: Wed Sep 8 17:15:00 2010 -0400
Selenium Work - It seems that in certain scenarios a DSCallback can't locate an element with a '-' in the id attribute. The dash seems to be used as a delimiter, this may be a bug in smartgwt. Anyway, changing all use of '-' in locatorIds to '_'.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java index ef0c74d..a8472b8 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java @@ -455,7 +455,7 @@ public class ConfigurationEditor extends LocatableVLayout { .getNonGroupedProperties() : definition.getPropertiesInGroup(group.getName()))); Collections.sort(definitions, new PropertyDefinitionComparator());
- DynamicForm form = buildPropertiesForm(locatorId + "-Props", definitions, configuration); + DynamicForm form = buildPropertiesForm(locatorId + "_Props", definitions, configuration);
section.addItem(form); return section; @@ -493,7 +493,7 @@ public class ConfigurationEditor extends LocatableVLayout { propertyMap.put(property); } } - addItems(locatorId + "-" + propertyDefinition.getName(), fields, propertyDefinition, property, odd); + addItems(locatorId + "_" + propertyDefinition.getName(), fields, propertyDefinition, property, odd); odd = !odd; }
@@ -635,7 +635,7 @@ public class ConfigurationEditor extends LocatableVLayout { editField.addRecordClickHandler(new RecordClickHandler() { public void onRecordClick(RecordClickEvent recordClickEvent) { System.out.println("You want to edit: " + recordClickEvent.getRecord()); - displayMapEditor(locatorId + "-MapEdit", summaryTable, recordClickEvent.getRecord(), + displayMapEditor(locatorId + "_MapEdit", summaryTable, recordClickEvent.getRecord(), propertyDefinition, propertyList, (PropertyMap) recordClickEvent.getRecord().getAttributeAsObject( "_RHQ_PROPERTY")); } @@ -684,7 +684,7 @@ public class ConfigurationEditor extends LocatableVLayout { addRowButton.setIcon(Window.getImgURL("[SKIN]/actions/add.png")); addRowButton.addClickHandler(new com.smartgwt.client.widgets.events.ClickHandler() { public void onClick(ClickEvent clickEvent) { - displayMapEditor(locatorId + "-MapEdit", summaryTable, null, propertyDefinition, propertyList, null); + displayMapEditor(locatorId + "_MapEdit", summaryTable, null, propertyDefinition, propertyList, null); } });
@@ -917,7 +917,7 @@ public class ConfigurationEditor extends LocatableVLayout { LocatableVLayout layout = new LocatableVLayout(locatorId); layout.setHeight100();
- DynamicForm childForm = buildPropertiesForm(locatorId + "-Child", definitions, finalMap); + DynamicForm childForm = buildPropertiesForm(locatorId + "_Child", definitions, finalMap); childForm.setHeight100(); layout.addMember(childForm);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/Locatable.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/Locatable.java index 6c0481d..bd9d966 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/Locatable.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/Locatable.java @@ -5,7 +5,7 @@ public interface Locatable { /** * Returns the locatorId. This can be useful for constructing more granular locatorIds. For example, if * the widget contains sub-widgets. Note, this is the raw locatorId for the widget, to get the fully - * formed ID, typically ofthe form "simpleClassname-locatorId" Call {@link getID()}. + * formed ID, typically ofthe form "simpleClassname_locatorId" Call {@link getID()}. * * @return the locatorId */ @@ -15,7 +15,7 @@ public interface Locatable { * Extends this widget's original locatorId with an extension. This can be useful for constructing more * granular locatorIds. For example, if the widget contains sub-widgets. * <pre> - * ID Format: "getLocatorId()-extension" + * ID Format: "getLocatorId()_extension" * </pre> * * @param extension not null or empty. diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableButton.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableButton.java index a6dd2ca..5219934 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableButton.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableButton.java @@ -11,7 +11,7 @@ public class LocatableButton extends Button {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null or empty. */ diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableDialog.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableDialog.java index b923b1c..39e4772 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableDialog.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableDialog.java @@ -13,7 +13,7 @@ public class LocatableDialog extends Dialog implements Locatable {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null. */ @@ -28,6 +28,6 @@ public class LocatableDialog extends Dialog implements Locatable { }
public String extendLocatorId(String extension) { - return this.locatorId + "-" + extension; + return this.locatorId + "_" + extension; } } diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableDynamicForm.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableDynamicForm.java index a29789c..1fb565c 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableDynamicForm.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableDynamicForm.java @@ -13,7 +13,7 @@ public class LocatableDynamicForm extends DynamicForm implements Locatable {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null or empty. */ @@ -28,7 +28,7 @@ public class LocatableDynamicForm extends DynamicForm implements Locatable { }
public String extendLocatorId(String extension) { - return this.locatorId + "-" + extension; + return this.locatorId + "_" + extension; }
} diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableHLayout.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableHLayout.java index 25f8216..5b3e09e 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableHLayout.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableHLayout.java @@ -13,7 +13,7 @@ public class LocatableHLayout extends HLayout implements Locatable {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null or empty. */ @@ -24,7 +24,7 @@ public class LocatableHLayout extends HLayout implements Locatable {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null or empty. * @param membersMargin @@ -44,7 +44,7 @@ public class LocatableHLayout extends HLayout implements Locatable { }
public String extendLocatorId(String extension) { - return this.locatorId + "-" + extension; + return this.locatorId + "_" + extension; }
} diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableHTMLPane.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableHTMLPane.java index 653190c..a8e758e 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableHTMLPane.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableHTMLPane.java @@ -13,7 +13,7 @@ public class LocatableHTMLPane extends HTMLPane implements Locatable {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null or empty. */ @@ -28,7 +28,7 @@ public class LocatableHTMLPane extends HTMLPane implements Locatable { }
public String extendLocatorId(String extension) { - return this.locatorId + "-" + extension; + return this.locatorId + "_" + extension; }
} diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableHeaderControl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableHeaderControl.java index 83e2443..b30f134 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableHeaderControl.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableHeaderControl.java @@ -14,7 +14,7 @@ public class LocatableHeaderControl extends HeaderControl implements Locatable {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null or empty. * @param icon @@ -26,7 +26,7 @@ public class LocatableHeaderControl extends HeaderControl implements Locatable {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null or empty. * @param icon @@ -47,7 +47,7 @@ public class LocatableHeaderControl extends HeaderControl implements Locatable { }
public String extendLocatorId(String extension) { - return this.locatorId + "-" + extension; + return this.locatorId + "_" + extension; }
} diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableIButton.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableIButton.java index 72ce93b..f265697 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableIButton.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableIButton.java @@ -11,7 +11,7 @@ public class LocatableIButton extends IButton {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null or empty. */ diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableIMenuButton.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableIMenuButton.java index e3b2eae..7734c3b 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableIMenuButton.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableIMenuButton.java @@ -14,7 +14,7 @@ public class LocatableIMenuButton extends IMenuButton implements Locatable {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null or empty. */ @@ -25,7 +25,7 @@ public class LocatableIMenuButton extends IMenuButton implements Locatable {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null or empty. */ @@ -44,6 +44,6 @@ public class LocatableIMenuButton extends IMenuButton implements Locatable { }
public String extendLocatorId(String extension) { - return this.locatorId + "-" + extension; + return this.locatorId + "_" + extension; } } diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableImg.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableImg.java index 8317ff5..c0dc681 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableImg.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableImg.java @@ -11,7 +11,7 @@ public class LocatableImg extends Img {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null. * @param img not null or empty. diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableLabel.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableLabel.java index bd7ab1f..3b06238 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableLabel.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableLabel.java @@ -13,7 +13,7 @@ public class LocatableLabel extends Label implements Locatable {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null or empty. */ @@ -24,7 +24,7 @@ public class LocatableLabel extends Label implements Locatable {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null or empty. */ @@ -43,7 +43,7 @@ public class LocatableLabel extends Label implements Locatable { }
public String extendLocatorId(String extension) { - return this.locatorId + "-" + extension; + return this.locatorId + "_" + extension; }
} diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableLayout.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableLayout.java index e14a421..7a2e99b 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableLayout.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableLayout.java @@ -13,7 +13,7 @@ public class LocatableLayout extends Layout implements Locatable {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null or empty. */ @@ -28,7 +28,7 @@ public class LocatableLayout extends Layout implements Locatable { }
public String extendLocatorId(String extension) { - return this.locatorId + "-" + extension; + return this.locatorId + "_" + extension; }
} diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableListGrid.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableListGrid.java index 458a97a..87ed4b7 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableListGrid.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableListGrid.java @@ -13,7 +13,7 @@ public class LocatableListGrid extends ListGrid implements Locatable {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null or empty. */ @@ -28,6 +28,6 @@ public class LocatableListGrid extends ListGrid implements Locatable { }
public String extendLocatorId(String extension) { - return this.locatorId + "-" + extension; + return this.locatorId + "_" + extension; } } diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableMenu.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableMenu.java index 424f64d..827ba2a 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableMenu.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableMenu.java @@ -13,7 +13,7 @@ public class LocatableMenu extends Menu implements Locatable {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null or empty. */ @@ -32,7 +32,7 @@ public class LocatableMenu extends Menu implements Locatable { }
public String extendLocatorId(String extension) { - return this.locatorId + "-" + extension; + return this.locatorId + "_" + extension; }
} diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableSectionStack.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableSectionStack.java index 33e2b9e..62fb4ac 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableSectionStack.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableSectionStack.java @@ -13,7 +13,7 @@ public class LocatableSectionStack extends SectionStack implements Locatable {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null or empty. */ @@ -28,7 +28,7 @@ public class LocatableSectionStack extends SectionStack implements Locatable { }
public String extendLocatorId(String extension) { - return this.locatorId + "-" + extension; + return this.locatorId + "_" + extension; }
} diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableStretchImgButton.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableStretchImgButton.java index 6b2b379..ba1435f 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableStretchImgButton.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableStretchImgButton.java @@ -11,7 +11,7 @@ public class LocatableStretchImgButton extends StretchImgButton {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null. * @param img not null or empty. diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTab.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTab.java index 9932a65..197a1be 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTab.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTab.java @@ -31,7 +31,7 @@ public class LocatableTab extends Tab implements Locatable {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null or empty. */ @@ -64,7 +64,7 @@ public class LocatableTab extends Tab implements Locatable { }
public String extendLocatorId(String extension) { - return this.locatorId + "-" + extension; + return this.locatorId + "_" + extension; }
} diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTabSet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTabSet.java index e290758..4ba995c 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTabSet.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTabSet.java @@ -31,7 +31,7 @@ public class LocatableTabSet extends TabSet {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null or empty. */ @@ -44,7 +44,7 @@ public class LocatableTabSet extends TabSet { /** * Returns the locatorId. This can be useful for constructing more granular locatorIds. For example, if * the widget contains sub-widgets. Note, this is the raw locatorId for the widget, to get the fully - * formed ID, typically ofthe form "simpleClassname-locatorId" Call {@link getID()}. + * formed ID, typically ofthe form "simpleClassname_locatorId" Call {@link getID()}. * * @return the locatorId */ @@ -56,7 +56,7 @@ public class LocatableTabSet extends TabSet { * Extends this widget's original locatorId with an extension. This can be useful for constructing more * granular locatorIds. For example, if the widget contains sub-widgets. * <pre> - * ID Format: "getLocatorId()-extension" + * ID Format: "getLocatorId()_extension" * </pre> * * @param extension not null or empty. @@ -64,7 +64,7 @@ public class LocatableTabSet extends TabSet { * @return the new, extended locatorId */ public String extendLocatorId(String extension) { - return this.locatorId + "-" + extension; + return this.locatorId + "_" + extension; }
} diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTileLayout.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTileLayout.java index b93bfe8..c6308a3 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTileLayout.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTileLayout.java @@ -13,7 +13,7 @@ public class LocatableTileLayout extends TileLayout implements Locatable {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null or empty. */ @@ -28,7 +28,7 @@ public class LocatableTileLayout extends TileLayout implements Locatable { }
public String extendLocatorId(String extension) { - return this.locatorId + "-" + extension; + return this.locatorId + "_" + extension; }
} diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableToolStrip.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableToolStrip.java index 7f1dfb7..fa24d45 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableToolStrip.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableToolStrip.java @@ -13,7 +13,7 @@ public class LocatableToolStrip extends ToolStrip implements Locatable {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null or empty. */ @@ -28,7 +28,7 @@ public class LocatableToolStrip extends ToolStrip implements Locatable { }
public String extendLocatorId(String extension) { - return this.locatorId + "-" + extension; + return this.locatorId + "_" + extension; }
} diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTransferImgButton.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTransferImgButton.java index 58d11f7..e255096 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTransferImgButton.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTransferImgButton.java @@ -21,7 +21,7 @@ public class LocatableTransferImgButton extends TransferImgButton {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null. * @param img not null or empty. diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTreeGrid.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTreeGrid.java index 39e4afa..c4d6a87 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTreeGrid.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTreeGrid.java @@ -13,7 +13,7 @@ public class LocatableTreeGrid extends TreeGrid implements Locatable {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null. */ @@ -28,6 +28,6 @@ public class LocatableTreeGrid extends TreeGrid implements Locatable { }
public String extendLocatorId(String extension) { - return this.locatorId + "-" + extension; + return this.locatorId + "_" + extension; } } diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableVLayout.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableVLayout.java index e396236..0a9b00e 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableVLayout.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableVLayout.java @@ -13,7 +13,7 @@ public class LocatableVLayout extends VLayout implements Locatable {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null or empty. */ @@ -24,7 +24,7 @@ public class LocatableVLayout extends VLayout implements Locatable {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null or empty. * @param membersMargin @@ -44,7 +44,7 @@ public class LocatableVLayout extends VLayout implements Locatable { }
public String extendLocatorId(String extension) { - return this.locatorId + "-" + extension; + return this.locatorId + "_" + extension; }
public void destroyMembers() { diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableWidgetCanvas.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableWidgetCanvas.java index 66792a2..90324df 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableWidgetCanvas.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableWidgetCanvas.java @@ -14,7 +14,7 @@ public class LocatableWidgetCanvas extends WidgetCanvas implements Locatable {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null or empty. */ @@ -33,7 +33,7 @@ public class LocatableWidgetCanvas extends WidgetCanvas implements Locatable { }
public String extendLocatorId(String extension) { - return this.locatorId + "-" + extension; + return this.locatorId + "_" + extension; }
} diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableWindow.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableWindow.java index 87c6b22..56f34bd 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableWindow.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableWindow.java @@ -13,7 +13,7 @@ public class LocatableWindow extends Window implements Locatable {
/** * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @param locatorId not null or empty. */ @@ -32,7 +32,7 @@ public class LocatableWindow extends Window implements Locatable { }
public String extendLocatorId(String extension) { - return this.locatorId + "-" + extension; + return this.locatorId + "_" + extension; }
} diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/SeleniumUtility.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/SeleniumUtility.java index 43678f0..21ef740 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/SeleniumUtility.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/SeleniumUtility.java @@ -17,7 +17,7 @@ import org.rhq.enterprise.gui.coregui.client.util.message.Message.Severity; */ public class SeleniumUtility {
- private static final boolean USE_DEFAULT_IDS = true; + private static final boolean USE_DEFAULT_IDS = false;
/** A default id that is not ecommended as it will clash with any other element set to the default */ public static final String DEFAULT_ID = "DefaultID"; @@ -25,7 +25,7 @@ public class SeleniumUtility { /** * A utility for assigning an ID to a smartgwt widget. Any current ID will be overwritten. The algorithm is: * <pre> - * ID Format: "simpleClassname-locatorId" + * ID Format: "simpleClassname_locatorId" * </pre> * @return the updated widget */ @@ -34,7 +34,7 @@ public class SeleniumUtility { return widget; }
- String unsafeId = getSimpleClassName(widget) + "-" + locatorId; + String unsafeId = getSimpleClassName(widget) + "_" + locatorId; String safeId = SeleniumUtility.getSafeId(unsafeId, DEFAULT_ID); Canvas canvasWithId = Canvas.getById(safeId); if (null != canvasWithId) { @@ -127,6 +127,7 @@ public class SeleniumUtility { * <pre> * - removes spaces * - removes dots + * - converts '-' to '_' * </pre> * @param unsafeId The desired Id but with potential problems * @param defaultId @@ -137,7 +138,7 @@ public class SeleniumUtility { return defaultId; }
- String safeId = unsafeId.replace(" ", "").replace(".", ""); + String safeId = unsafeId.replace(" ", "").replace(".", "").replace("-", "_"); return safeId; }
commit 3f2b2d7ab890f050e65e90508f95866a29278558 Author: Jay Shaughnessy jshaughn@redhat.com Date: Fri Sep 3 08:59:37 2010 -0400
Remove use of GWT.create() from some portlets. This uses the no-arg constructor under the covers. We want to use constructors with explicit locatorIds.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/queue/AutodiscoveryPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/queue/AutodiscoveryPortlet.java index fe33c31..0356212 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/queue/AutodiscoveryPortlet.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/queue/AutodiscoveryPortlet.java @@ -56,7 +56,6 @@ public class AutodiscoveryPortlet extends ResourceAutodiscoveryView implements P public static PortletViewFactory INSTANCE = new Factory();
public final Portlet getInstance(String locatorId) { - //return GWT.create(AutodiscoveryPortlet.class); return new AutodiscoveryPortlet(locatorId); } } diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/operations/OperationsPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/operations/OperationsPortlet.java index 5119bf1..b7eeef9 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/operations/OperationsPortlet.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/operations/OperationsPortlet.java @@ -19,7 +19,6 @@ package org.rhq.enterprise.gui.coregui.client.dashboard.portlets.recent.operatio * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-import com.google.gwt.core.client.GWT; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.HTMLFlow; import com.smartgwt.client.widgets.form.DynamicForm; @@ -46,12 +45,6 @@ public class OperationsPortlet extends LocatableVLayout implements Portlet { private static String recentOperations = "Recent Operations"; private static String scheduledOperations = "Scheduled Operations";
- //default no-args constructor for serialization. - //TODO: spinder 9/2/10 revisit why we need to do this? - private OperationsPortlet() { - super("(unitialized)"); - } - public OperationsPortlet(String locatorId) { super(locatorId); } @@ -115,14 +108,9 @@ public class OperationsPortlet extends LocatableVLayout implements Portlet { public static final class Factory implements PortletViewFactory { public static PortletViewFactory INSTANCE = new Factory();
- public final Portlet getInstance() { - return GWT.create(OperationsPortlet.class); - } - public final Portlet getInstance(String locatorId) { return new OperationsPortlet(locatorId); } - }
} diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/problems/ProblemResourcesPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/problems/ProblemResourcesPortlet.java index 9838932..f87d80d 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/problems/ProblemResourcesPortlet.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/problems/ProblemResourcesPortlet.java @@ -21,7 +21,6 @@ package org.rhq.enterprise.gui.coregui.client.dashboard.portlets.recent.problems
import java.util.ArrayList;
-import com.google.gwt.core.client.GWT; import com.smartgwt.client.types.Overflow; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.HTMLFlow; @@ -61,10 +60,6 @@ public class ProblemResourcesPortlet extends Table implements CustomSettingsPort public static final String unlimited = "unlimited"; public static final String defaultValue = unlimited;
- private ProblemResourcesPortlet() { - super("(uninitialized)"); - } - public ProblemResourcesPortlet(String locatorId) { super(locatorId, TITLE, true);
@@ -228,11 +223,7 @@ public class ProblemResourcesPortlet extends Table implements CustomSettingsPort public static final class Factory implements PortletViewFactory { public static PortletViewFactory INSTANCE = new Factory();
- public final Portlet getInstance() { - return GWT.create(ProblemResourcesPortlet.class); - } - - public Portlet getInstance(String locatorId) { + public final Portlet getInstance(String locatorId) { return new ProblemResourcesPortlet(locatorId); } }
commit 13344f52f5e36ca340b4f246a3368c25120a66c6 Merge: 6cd1302... 0ba7c59... Author: Jay Shaughnessy jshaughn@redhat.com Date: Thu Sep 2 10:32:47 2010 -0400
Merge branch 'master' into master-jay
commit 6cd13026c279f154b4d38b10674987e5fb57a246 Author: Jay Shaughnessy jshaughn@redhat.com Date: Thu Sep 2 10:30:58 2010 -0400
Selenium Work - Administration Section work
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/SubjectRoleSelector.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/SubjectRoleSelector.java index 146303a..2a7db09 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/SubjectRoleSelector.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/SubjectRoleSelector.java @@ -38,8 +38,8 @@ import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource; */ public class SubjectRoleSelector extends AbstractSelector<Role> {
- public SubjectRoleSelector(String id, Collection<Role> roles) { - super(id); + public SubjectRoleSelector(String locatorId, Collection<Role> roles) { + super(locatorId); if (roles != null) { ListGridRecord[] data = (new RolesDataSource()).buildRecords(roles); setAssigned(data); diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UserEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UserEditView.java index 5aefeec..1a36bc7 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UserEditView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UserEditView.java @@ -52,6 +52,9 @@ import org.rhq.enterprise.gui.coregui.client.ViewPath; import org.rhq.enterprise.gui.coregui.client.components.HeaderLabel; 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.LocatableDynamicForm; +import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableHLayout; +import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableIButton; import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
/** @@ -93,7 +96,7 @@ public class UserEditView extends LocatableVLayout implements BookmarkableView { }
private Canvas buildSubjectEditor() { - form = new DynamicForm(); + form = new LocatableDynamicForm(this.getLocatorId()); form.setWidth100();
form.setHiliteRequiredFields(true); @@ -129,7 +132,7 @@ public class UserEditView extends LocatableVLayout implements BookmarkableView { TextItem departmentItem = new TextItem("department"); departmentItem.setRequired(false);
- IButton saveButton = new IButton("Save"); + IButton saveButton = new LocatableIButton(this.extendLocatorId("Save"), "Save"); saveButton.addClickHandler(new com.smartgwt.client.widgets.events.ClickHandler() { public void onClick(com.smartgwt.client.widgets.events.ClickEvent clickEvent) { if (form.validate()) { @@ -142,14 +145,14 @@ public class UserEditView extends LocatableVLayout implements BookmarkableView { } });
- IButton resetButton = new IButton("Reset"); + IButton resetButton = new LocatableIButton(this.extendLocatorId("Reset"), "Reset"); resetButton.addClickHandler(new com.smartgwt.client.widgets.events.ClickHandler() { public void onClick(com.smartgwt.client.widgets.events.ClickEvent clickEvent) { form.reset(); } });
- IButton cancelButton = new IButton("Cancel"); + IButton cancelButton = new LocatableIButton(this.extendLocatorId("Cancel"), "Cancel"); cancelButton.addClickHandler(new com.smartgwt.client.widgets.events.ClickHandler() { public void onClick(com.smartgwt.client.widgets.events.ClickEvent clickEvent) { if (editorWindow != null) { @@ -160,7 +163,7 @@ public class UserEditView extends LocatableVLayout implements BookmarkableView { } });
- HLayout buttonLayout = new HLayout(10); + HLayout buttonLayout = new LocatableHLayout(this.extendLocatorId("Buttons"), 10); buttonLayout.setAlign(Alignment.CENTER); buttonLayout.addMember(saveButton); buttonLayout.addMember(resetButton); @@ -210,7 +213,8 @@ public class UserEditView extends LocatableVLayout implements BookmarkableView {
// form.getDataSource().getField("username").setCanEdit(true );
- roleSelector = new SubjectRoleSelector("UserEditor-Roles", (Set<Role>) record.getAttributeAsObject("roles")); + roleSelector = new SubjectRoleSelector(this.extendLocatorId("Roles"), (Set<Role>) record + .getAttributeAsObject("roles")); roleSelectionItem.setCanvas(roleSelector);
try { diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ReportTopView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ReportTopView.java index 3d09ed8..9d56dc2 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ReportTopView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ReportTopView.java @@ -41,18 +41,15 @@ import org.rhq.enterprise.gui.coregui.client.BookmarkableView; import org.rhq.enterprise.gui.coregui.client.CoreGUI; import org.rhq.enterprise.gui.coregui.client.ViewId; import org.rhq.enterprise.gui.coregui.client.ViewPath; -import org.rhq.enterprise.gui.coregui.client.admin.agent.install.RemoteAgentInstallView; -import org.rhq.enterprise.gui.coregui.client.admin.roles.RolesView; -import org.rhq.enterprise.gui.coregui.client.admin.users.UsersView; import org.rhq.enterprise.gui.coregui.client.alert.AlertsView; -import org.rhq.enterprise.gui.coregui.client.components.FullHTMLPane; import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.platform.PlatformPortletView; import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.configuration.ConfigurationHistoryView; import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.operation.OperationHistoryView; -import org.rhq.enterprise.gui.coregui.client.inventory.resource.discovery.ResourceAutodiscoveryView; import org.rhq.enterprise.gui.coregui.client.report.measurement.MeasurementOOBView; import org.rhq.enterprise.gui.coregui.client.report.tag.TaggedView; import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableHLayout; +import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableSectionStack; +import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTreeGrid;
/** * @author Greg Hinkle @@ -61,6 +58,9 @@ public class ReportTopView extends LocatableHLayout implements BookmarkableView
public static final String VIEW_PATH = "Reports";
+ private static final String SECTION_INVENTORY = "Inventory"; + private static final String SECTION_REPORTS = "Reports"; + private ViewId currentSectionViewId; private ViewId currentPageViewId;
@@ -85,16 +85,14 @@ public class ReportTopView extends LocatableHLayout implements BookmarkableView contentCanvas.setWidth("*"); contentCanvas.setHeight100();
- sectionStack = new SectionStack(); + sectionStack = new LocatableSectionStack(this.getLocatorId()); sectionStack.setShowResizeBar(true); sectionStack.setVisibilityMode(VisibilityMode.MULTIPLE); sectionStack.setWidth(250); sectionStack.setHeight100();
- treeGrids.put("Inventory", buildInventorySection()); - // treeGrids.put("Configuration", buildSystemConfigurationSection()); - // treeGrids.put("Cluster", buildManagementClusterSection()); - treeGrids.put("Reports", buildReportsSection()); + treeGrids.put(SECTION_INVENTORY, buildInventorySection()); + treeGrids.put(SECTION_REPORTS, buildReportsSection());
for (final String name : treeGrids.keySet()) { TreeGrid grid = treeGrids.get(name); @@ -128,7 +126,7 @@ public class ReportTopView extends LocatableHLayout implements BookmarkableView
private TreeGrid buildInventorySection() {
- final TreeGrid inventoryTreeGrid = new TreeGrid(); + final TreeGrid inventoryTreeGrid = new LocatableTreeGrid(SECTION_INVENTORY); inventoryTreeGrid.setLeaveScrollbarGap(false); inventoryTreeGrid.setShowHeader(false);
@@ -154,65 +152,24 @@ public class ReportTopView extends LocatableHLayout implements BookmarkableView final TreeNode platforms = new TreeNode("Platforms"); platforms.setIcon("types/Platform_up_16.png");
- tree.setRoot(new TreeNode("inventory", tagCloud, suspectMetrics, recentConfigurationChanges, recentOperations, - recentAlerts, alertDefinitions, platforms)); + tree.setRoot(new TreeNode(SECTION_INVENTORY, tagCloud, suspectMetrics, recentConfigurationChanges, + recentOperations, recentAlerts, alertDefinitions, platforms));
inventoryTreeGrid.setData(tree);
return inventoryTreeGrid; }
- private TreeGrid buildManagementClusterSection() { - - final TreeGrid mgmtClusterTreeGrid = new TreeGrid(); - mgmtClusterTreeGrid.setLeaveScrollbarGap(false); - mgmtClusterTreeGrid.setShowHeader(false); - - Tree tree = new Tree(); - final TreeNode manageServersNode = new TreeNode("Servers"); - final TreeNode manageAgentsNode = new TreeNode("Agents"); - final TreeNode manageAffinityGroupsNode = new TreeNode("Affinity Groups"); - final TreeNode managePartitionEventsNode = new TreeNode("Partition Events"); - - tree.setRoot(new TreeNode("clustering", manageServersNode, manageAgentsNode, manageAffinityGroupsNode, - managePartitionEventsNode)); - - mgmtClusterTreeGrid.setData(tree); - - return mgmtClusterTreeGrid; - } - - private TreeGrid buildSystemConfigurationSection() { - - final TreeGrid systemConfigTreeGrid = new TreeGrid(); - systemConfigTreeGrid.setLeaveScrollbarGap(false); - systemConfigTreeGrid.setShowHeader(false); - - Tree tree = new Tree(); - final TreeNode manageSettings = new TreeNode("System Settings"); - final TreeNode manageTemplates = new TreeNode("Templates"); - final TreeNode manageDownloads = new TreeNode("Downloads"); - final TreeNode manageLicense = new TreeNode("License"); - final TreeNode managePlugins = new TreeNode("Plugins"); - - tree.setRoot(new TreeNode("System Configuration", manageSettings, manageTemplates, manageDownloads, - manageLicense, managePlugins)); - - systemConfigTreeGrid.setData(tree); - - return systemConfigTreeGrid; - } - private TreeGrid buildReportsSection() {
- final TreeGrid reportsTreeGrid = new TreeGrid(); + final TreeGrid reportsTreeGrid = new LocatableTreeGrid(SECTION_REPORTS); reportsTreeGrid.setLeaveScrollbarGap(false); reportsTreeGrid.setShowHeader(false);
Tree tree = new Tree(); final TreeNode inventorySummaryNode = new TreeNode("Inventory Summary");
- TreeNode reportsNode = new TreeNode("Reports", inventorySummaryNode); + TreeNode reportsNode = new TreeNode(SECTION_REPORTS, inventorySummaryNode); tree.setRoot(reportsNode);
reportsTreeGrid.setData(tree); @@ -244,7 +201,7 @@ public class ReportTopView extends LocatableHLayout implements BookmarkableView page = URL.decode(page);
Canvas content = null; - if ("Inventory".equals(section)) { + if (SECTION_INVENTORY.equals(section)) {
if ("Tag Cloud".equals(page)) { content = new TaggedView(this.extendLocatorId("TagCloud")); @@ -262,49 +219,12 @@ public class ReportTopView extends LocatableHLayout implements BookmarkableView content = new PlatformPortletView(this.extendLocatorId("Platforms")); }
- } else if ("Security".equals(section)) { - - if ("Manage Users".equals(page)) { - content = new UsersView(this.extendLocatorId("Users")); - } else if ("Manage Roles".equals(page)) { - content = new RolesView(this.extendLocatorId("Roles")); - } else if ("Auto Discovery Queue".equals(page)) { - content = new ResourceAutodiscoveryView(this.extendLocatorId("ADQ")); - } else if ("Remote Agent Install".equals(page)) { - content = new RemoteAgentInstallView(this.extendLocatorId("RemoteAgentInstall")); - } - } else if ("Configuration".equals(section)) { - - String url = null; - if ("System Settings".equals(page)) { - url = "/admin/config/Config.do?mode=edit"; - } else if ("Templates".equals(page)) { - url = "/admin/config/EditDefaults.do?mode=monitor&viewMode=all"; - } else if ("Downloads".equals(page)) { - url = "/rhq/admin/downloads-body.xhtml"; - } else if ("License".equals(page)) { - url = "/admin/license/LicenseAdmin.do?mode=view"; - } else if ("Plugins".equals(page)) { - url = "/rhq/admin/plugin/plugin-list.xhtml"; + } else if (SECTION_REPORTS.equals(section)) { + if ("Inventory Summary".equals(page)) { + // TODO + content = null; } - url = addQueryStringParam(url, "nomenu=true"); - content = new FullHTMLPane(url); - - } else if ("Cluster".equals(section)) { - String url = null; - if ("Servers".equals(page)) { - url = "/rhq/ha/listServers.xhtml"; - } else if ("Agents".equals(page)) { - url = "/rhq/ha/listAgents.xhtml"; - } else if ("Affinity Groups".equals(page)) { - url = "/rhq/ha/listAffinityGroups.xhtml"; - } else if ("Partition Events".equals(page)) { - url = "/rhq/ha/listPartitionEvents.xhtml"; - } - url = addQueryStringParam(url, "nomenu=true"); - content = new FullHTMLPane(url); } - for (String name : treeGrids.keySet()) {
TreeGrid treeGrid = treeGrids.get(name); @@ -318,12 +238,13 @@ public class ReportTopView extends LocatableHLayout implements BookmarkableView } }
- setContent(content); + if (null != content) { + setContent(content);
- if (content instanceof BookmarkableView) { - ((BookmarkableView) content).renderView(viewPath.next().next()); + if (content instanceof BookmarkableView) { + ((BookmarkableView) content).renderView(viewPath.next().next()); + } } - }
public void renderView(ViewPath viewPath) { @@ -345,9 +266,4 @@ public class ReportTopView extends LocatableHLayout implements BookmarkableView }
} - - private static String addQueryStringParam(String url, String param) { - char separatorChar = (url.indexOf('?') == -1) ? '?' : '&'; - return url + separatorChar + param; - } } \ No newline at end of file
rhq-commits@lists.fedorahosted.org