private boolean createRole() { if (getRoleName().trim().length() == 0) { messageDialog.setMessage(Messages.getString("invalidRoleName")); // $NON-NLS-1$ messageDialog.center(); } else { ProxyPentahoRole role = getRole(); if (role != null) { AsyncCallback<Boolean> callback = new AsyncCallback<Boolean>() { public void onSuccess(Boolean result) { okBtn.setEnabled(true); cancelBtn.setEnabled(true); roleCreated = true; hide(); } public void onFailure(Throwable caught) { messageDialog.setText(ExceptionParser.getErrorHeader(caught.getMessage())); messageDialog.setMessage( ExceptionParser.getErrorMessage( caught.getMessage(), Messages.getString("errorCreatingRole"))); // $NON-NLS-1$ messageDialog.center(); okBtn.setEnabled(true); cancelBtn.setEnabled(true); } }; okBtn.setEnabled(false); cancelBtn.setEnabled(false); UserAndRoleMgmtService.instance().createRole(role, callback); } } return roleCreated; }