addTableAction(MSG.view_dynagroup_recalculate(), null, ButtonColor.GRAY, new AbstractTableAction(TableActionEnablement.ANY) {
public void executeAction(ListGridRecord[] selection, Object actionValue) {
final int[] groupDefinitionIds = TableUtility.getIds(selection);
ResourceGroupGWTServiceAsync resourceGroupManager = GWTServiceLookup.getResourceGroupService();
resourceGroupManager.recalculateGroupDefinitions(groupDefinitionIds, new AsyncCallback<Void>() {
public void onFailure(Throwable caught) {
if (caught instanceof DuplicateExpressionTypeException) {
CoreGUI.getMessageCenter().notify(
new Message(caught.getMessage(), Message.Severity.Warning));
} else {