@Override public void load( final Filter f, final long start, final long end, final DataLoadHandler<ListGridEntry<ProjectMember>> lh) { if (_mode.equals(FormEditMode.CREATE)) { if (_o.members() == null) { lh.loaded(0, 0, 0, null, null); } else { doLoad(f, start, end, _o.members(), lh); } } else { new ProjectMemberList(_o) .send( new ObjectMessageResponse<List<ProjectMember>>() { @Override public void responded(List<ProjectMember> pms) { if (pms != null) { if (!pms.isEmpty()) { doLoad(f, start, end, pms, lh); return; } } lh.loaded(0, 0, 0, null, null); } }); } }
@Override public Validity valid() { if (_mode.equals(FormEditMode.READ_ONLY)) { return IsValid.INSTANCE; } if (!_o.hasMembersOrRoleMembers()) { return new Validity() { @Override public boolean valid() { return false; } @Override public String reasonForIssue() { return "No member or role members are set."; } }; } if (!_o.hasAdminMember()) { return new Validity() { @Override public boolean valid() { return false; } @Override public String reasonForIssue() { return "No project-administrator member or role member is set."; } }; } return IsValid.INSTANCE; }
private void commitChanges(final Action postAction) { if (_mode.equals(FormEditMode.UPDATE)) { _o.commitMembers( new ObjectMessageResponse<Boolean>() { @Override public void responded(Boolean r) { if (r) { _changed = true; ProjectMemberGrid.this.notifyOfChangeInState(); postAction.execute(); } } }); } else { notifyOfChangeInState(); if (postAction != null) { postAction.execute(); } } }