modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleEditView.java | 1 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RolesView.java | 17 + modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UsersView.java | 20 + modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/AbstractRecordEditor.java | 15 - modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/Table.java | 44 +++ modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties | 134 ++++++---- 6 files changed, 169 insertions(+), 62 deletions(-)
New commits: commit fa766deeb4ffd7b19a997bc7d81ee2491fa065ca Author: Ian Springer ian.springer@redhat.com Date: Tue Nov 16 13:58:27 2010 -0500
more i18n of users and roles views, as well as of the Table and AbstractRecordEditor widgets
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleEditView.java index 32be094..d9ba0c0 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleEditView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleEditView.java @@ -267,4 +267,5 @@ public class RoleEditView extends AbstractRecordEditor<RolesDataSource> implemen this.subjectSelector.reset(); this.ldapGroupSelector.reset(); } + } diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RolesView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RolesView.java index 6876202..d747de2 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RolesView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RolesView.java @@ -61,7 +61,7 @@ public class RolesView extends TableSection implements BookmarkableView {
setListGridFields(nameField, descriptionField);
- addTableAction(extendLocatorId("Delete"), "Delete", "Are you sure you want to delete # roles?", + addTableAction(extendLocatorId("Delete"), MESSAGES.common_button_delete(), getDeleteConfirmMessage(), new TableAction() { public boolean isEnabled(ListGridRecord[] selection) { int count = selection.length; @@ -80,11 +80,11 @@ public class RolesView extends TableSection implements BookmarkableView { }
public void executeAction(ListGridRecord[] selection, Object actionValue) { - getListGrid().removeSelectedData(); + deleteSelectedRecords(); } });
- addTableAction(extendLocatorId("New"), "New", new AbstractTableAction() { + addTableAction(extendLocatorId("New"), MESSAGES.common_button_new(), new AbstractTableAction() { public void executeAction(ListGridRecord[] selection, Object actionValue) { newDetails(); } @@ -95,4 +95,15 @@ public class RolesView extends TableSection implements BookmarkableView { public Canvas getDetailsView(int roleId) { return new RoleEditView(extendLocatorId("Detail"), roleId); } + + @Override + protected String getDataTypeName() { + return "role"; + } + + @Override + protected String getDataTypeNamePlural() { + return "roles"; + } + } \ No newline at end of file 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 b425056..dd34845 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 @@ -38,6 +38,7 @@ import org.rhq.enterprise.gui.coregui.client.util.message.Message; * @author Ian Springer */ public class UsersView extends TableSection { + public static final String VIEW_ID = "Users"; public static final String VIEW_PATH = AdministrationView.VIEW_ID + "/" + AdministrationView.SECTION_SECURITY_VIEW_ID + "/" + VIEW_ID; @@ -87,7 +88,8 @@ public class UsersView extends TableSection {
setListGridFields(nameField, activeField, ldapField, firstNameField, lastNameField, departmentField);
- addTableAction(extendLocatorId("Delete"), "Delete", "Are you sure you want to delete # users?", + // TODO: fix msg + addTableAction(extendLocatorId("Delete"), MESSAGES.common_button_delete(), getDeleteConfirmMessage(), new TableAction() { public boolean isEnabled(ListGridRecord[] selection) { int count = selection.length; @@ -106,11 +108,12 @@ public class UsersView extends TableSection { }
public void executeAction(ListGridRecord[] selection, Object actionValue) { - getListGrid().removeSelectedData(); + deleteSelectedRecords(); } });
- addTableAction(extendLocatorId("New"), "New", new AbstractTableAction(TableActionEnablement.ALWAYS) { + addTableAction(extendLocatorId("New"), MESSAGES.common_button_new(), + new AbstractTableAction(TableActionEnablement.ALWAYS) { public void executeAction(ListGridRecord[] selection, Object actionValue) { newDetails(); } @@ -121,7 +124,14 @@ public class UsersView extends TableSection { return new UserEditView(extendLocatorId("Detail"), subjectId); }
- static void setMessage(Message message) { - UsersView.message = message; + @Override + protected String getDataTypeName() { + return "user"; } + + @Override + protected String getDataTypeNamePlural() { + return "users"; + } + } diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/AbstractRecordEditor.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/AbstractRecordEditor.java index ff327a9..9fa33e7 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/AbstractRecordEditor.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/AbstractRecordEditor.java @@ -252,19 +252,26 @@ public abstract class AbstractRecordEditor<DS extends RPCDataSource> extends Loc String name = record.getAttribute(getTitleFieldName()); Message message; DSOperationType operationType = request.getOperationType(); + String conciseMessage; + String detailedMessage; switch (operationType) { case ADD: - message = new Message(MESSAGES.widget_recordEditor_info_recordCreatedConcise(dataTypeName), - MESSAGES.widget_recordEditor_info_recordCreatedDetailed(dataTypeName, name)); + conciseMessage = MESSAGES.widget_recordEditor_info_recordCreatedConcise(dataTypeName); + detailedMessage = MESSAGES.widget_recordEditor_info_recordCreatedDetailed(dataTypeName, name); break; case UPDATE: - message = new Message(MESSAGES.widget_recordEditor_info_recordUpdatedConcise(dataTypeName), - MESSAGES.widget_recordEditor_info_recordUpdatedDetailed(dataTypeName, name)); + conciseMessage = MESSAGES.widget_recordEditor_info_recordUpdatedConcise(dataTypeName); + detailedMessage = MESSAGES.widget_recordEditor_info_recordUpdatedDetailed(dataTypeName, name); break; default: throw new IllegalStateException( MESSAGES.widget_recordEditor_error_unsupportedOperationType(operationType.name())); } + if (CoreGUI.isDebugMode()) { + conciseMessage += " (" + FIELD_ID + "=" + id + ")"; + detailedMessage += " (" + FIELD_ID + "=" + id + ")"; + } + message = new Message(conciseMessage, detailedMessage); CoreGUI.goToView(getListViewPath(), message); } } diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/Table.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/Table.java index 6792b9b..cac0d8c 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/Table.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/Table.java @@ -27,7 +27,11 @@ import java.util.Map; import java.util.Set;
import com.smartgwt.client.data.Criteria; +import com.smartgwt.client.data.DSCallback; +import com.smartgwt.client.data.DSRequest; +import com.smartgwt.client.data.DSResponse; import com.smartgwt.client.data.DataSourceField; +import com.smartgwt.client.data.Record; import com.smartgwt.client.data.SortSpecifier; import com.smartgwt.client.types.Autofit; import com.smartgwt.client.types.ListGridFieldType; @@ -68,8 +72,10 @@ import com.smartgwt.client.widgets.menu.events.MenuItemClickEvent; import com.smartgwt.client.widgets.toolbar.ToolStrip;
import org.rhq.enterprise.gui.coregui.client.CoreGUI; +import org.rhq.enterprise.gui.coregui.client.Messages; import org.rhq.enterprise.gui.coregui.client.RefreshableView; import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource; +import org.rhq.enterprise.gui.coregui.client.util.message.Message; 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.LocatableIMenuButton; @@ -82,7 +88,10 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableMenu; */ public class Table extends LocatableHLayout implements RefreshableView {
+ protected static final Messages MESSAGES = CoreGUI.getMessages(); + private static final String FIELD_ID = "id"; + private static final String FIELD_NAME = "name";
private VLayout contents;
@@ -660,6 +669,41 @@ public class Table extends LocatableHLayout implements RefreshableView { } }
+ protected void deleteSelectedRecords() { + getListGrid().removeSelectedData(new DSCallback() { + public void execute(DSResponse response, Object rawData, DSRequest request) { + Record[] deletedRecords = response.getData(); + List<String> recordNames = new ArrayList<String>(deletedRecords.length); + for (Record deletedRecord : deletedRecords) { + String name = deletedRecord.getAttribute(getTitleFieldName()); + recordNames.add(name); + } + + Message message = new Message(MESSAGES.widget_recordEditor_info_recordUpdatedConcise(getDataTypeNamePlural()), + MESSAGES.widget_recordEditor_info_recordsDeletedDetailed(String.valueOf(deletedRecords.length), + getDataTypeNamePlural(), recordNames.toString())); + CoreGUI.getMessageCenter().notify(message); + } + }, null); + } + + protected String getDataTypeName() { + return "item"; + } + + protected String getDataTypeNamePlural() { + return "items"; + } + + protected String getTitleFieldName() { + return FIELD_NAME; + } + + protected String getDeleteConfirmMessage() { + return MESSAGES.common_msg_deleteConfirm(getDataTypeNamePlural()); + } + + // -------------- Inner utility classes ------------- //
/** diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties index b41be8a..42ba54e 100644 --- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties +++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties @@ -9,86 +9,120 @@ # # Build Info # -common_buildInfo_gwtVersion = ${gwt.version} +common_buildInfo_gwtVersion = ${gwt.version}~
# Button Labels #-------------- -common_button_ok = OK -common_button_close = Close -common_button_save = Save -common_button_reset = Reset -common_button_cancel = Cancel -common_button_new = New +common_button_cancel = Cancel~ +common_button_close = Close~ +common_button_delete = Delete~ +common_button_ok = OK~ +common_button_new = New~ +common_button_save = Save~ +common_button_reset = Reset~
+# Column Titles +#-------------- +common_title_id = Id~ +common_title_generalProp = General Properties~ +common_title_name = Name~ +common_title_type = Type~ + + +# Common messages ??? +#-------------- +common_msg_failedToLoad = Failed to load: "{0}".~ +common_msg_loading = Loading...~ +common_msg_deleteConfirm = Are you sure you want to delete the # selected {0}?~ +common_msg_areYouSure = Are You Sure?~ + #=================== Widgets =====================
# Record Editor #-------------- -widget_recordEditor_title_view = View {0} "{1}" -widget_recordEditor_title_edit = Edit {0} "{1}" -widget_recordEditor_title_new = Create New {0} -widget_recordEditor_label_loading = Loading... -widget_recordEditor_error_invalidViewPath = Invalid view path: "{0}" -widget_recordEditor_error_noRecords = No records were returned - expected exactly one. -widget_recordEditor_error_multipleRecords = Multiple records were returned - expected exactly one. -widget_recordEditor_info_recordCreatedConcise = {0} created. -widget_recordEditor_info_recordCreatedDetailed = {0} "{1}" created. -widget_recordEditor_info_recordUpdatedConcise = {0} updated. -widget_recordEditor_info_recordUpdatedDetailed = {0} "{1}" updated. -widget_recordEditor_error_unsupportedOperationType = Unsupported operation type: "{0}" +widget_recordEditor_title_view = View {0} "{1}"~ +widget_recordEditor_title_edit = Edit {0} "{1}"~ +widget_recordEditor_title_new = Create New {0}~ +#// dup in common +widget_recordEditor_label_loading = Loading...~ +widget_recordEditor_error_invalidViewPath = Invalid view path: "{0}"~ +widget_recordEditor_error_noRecords = No records were returned - expected exactly one.~ +widget_recordEditor_error_multipleRecords = Multiple records were returned - expected exactly one.~ +widget_recordEditor_info_recordCreatedConcise = {0} created.~ +widget_recordEditor_info_recordCreatedDetailed = {0} "{1}" created.~ +widget_recordEditor_info_recordUpdatedConcise = {0} updated.~ +widget_recordEditor_info_recordUpdatedDetailed = {0} "{1}" updated.~ +widget_recordEditor_info_recordsDeletedConcise = {0,integer} {1} deleted.~ +widget_recordEditor_info_recordsDeletedDetailed = {0,integer} {1} deleted: {2}.~ +widget_recordEditor_error_unsupportedOperationType = Unsupported operation type: "{0}"~
#================== DataSources ====================
# Users #------ -dataSource_users_field_id = ID -dataSource_users_field_name = User Name -dataSource_users_field_ldap = LDAP Login? -dataSource_users_field_password = Password -dataSource_users_field_passwordVerify = Verify Password -dataSource_users_field_firstName = First Name -dataSource_users_field_lastName = Last Name -dataSource_users_field_emailAddress = Email Address -dataSource_users_field_phoneNumber = Phone Number -dataSource_users_field_department = Department -dataSource_users_field_factive = Login Enabled? +dataSource_users_field_id = ID~ +dataSource_users_field_name = User Name~ +dataSource_users_field_ldap = LDAP Login?~ +dataSource_users_field_password = Password` +dataSource_users_field_passwordVerify = Verify Password~ +dataSource_users_field_firstName = First Name~ +dataSource_users_field_lastName = Last Name~ +dataSource_users_field_emailAddress = Email Address~ +dataSource_users_field_phoneNumber = Phone Number~ +dataSource_users_field_department = Department~ +dataSource_users_field_factive = Login Enabled?~
#********************************** VIEW-SPECIFIC *************************************
-#=================== Top Level ===================== +#================= Administration ==================
-# About Box -#---------- -view_aboutBox_title = About {0} -view_aboutBox_homepage = Homepage -view_aboutBox_version = Version: -view_aboutBox_buildNumber = Build Number: -view_aboutBox_jbossByRedHat = JBoss by Red Hat -view_aboutBox_allRightsReserved = All Rights Reserved.
+# Administration/Security/Users +#------------------------------ +view_adminUsers_title = Users~
-#=================== Dashboard ===================== +# Administration/Security/Users/# +#-------------------------------- +view_adminUsersDetails_dataTypeName = user~
+#==================== Bundles ======================
-#=================== Inventory =====================
+#=================== Components =====================
-#==================== Reports ====================== +view_configCompare_comparingConfigs = Comparing Configurations~ +view_configCompare_configCompare = ~Configuration Comparison~
+view_configEdit_error_1 = Configuration is not supported by this Resource.~ +view_configEdit_error_2 = Connection settings are not supported by this Resource.~ +view_configEdit_files = Files~ +view_configEdit_hideAll= Hide All~ +view_configEdit_jumpToSection = Jump to Section~ +view_configEdit_properties = Properties~
-#==================== Bundles ======================
-#================= Administration ================== +#=================== Dashboard =====================
-# Administration/Security/Users -#------------------------------ -view_adminUsers_title = Users +#=================== Inventory ===================== + + +#==================== Reports ====================== + +#=================== Top Level ===================== + +# About Box +#---------- +view_aboutBox_title = About {0}~ +view_aboutBox_homepage = Homepage~ +view_aboutBox_version = Version:~ +view_aboutBox_buildNumber = Build Number:~ +view_aboutBox_jbossByRedHat = JBoss by Red Hat~ +view_aboutBox_allRightsReserved = All Rights Reserved.~ +view_aboutBox_productInformation = product information~ +
-# Administration/Security/Users/# -#-------------------------------- -view_adminUsersDetails_dataTypeName = user
rhq-commits@lists.fedorahosted.org