/** Computes the regular membership */ protected List<Address> computeNewMembership(final List<Address> current_members, final Collection<Address> joiners, final Collection<Address> leavers, final Collection<Address> suspects) { List<Address> joiners_copy, leavers_copy, suspects_copy; joiners_copy=joiners == null? Collections.emptyList() : new ArrayList<>(joiners); leavers_copy=leavers == null? Collections.emptyList() : new ArrayList<>(leavers); suspects_copy=suspects == null? Collections.emptyList() : new ArrayList<>(suspects); try { List<Address> retval=membership_change_policy.getNewMembership(current_members,joiners_copy,leavers_copy,suspects_copy); if(retval == null) throw new IllegalStateException("null membership list"); return retval; } catch(Throwable t) { log.error(Util.getMessage("MembershipChangePolicy"), membership_change_policy.getClass().getSimpleName(), t); } try { return new DefaultMembershipPolicy().getNewMembership(current_members,joiners_copy,leavers_copy,suspects_copy); } catch(Throwable t) { log.error(Util.getMessage("DefaultMembershipChangePolicyFailed"), t); return null; } }
/** Computes a merge membership */ protected List<Address> computeNewMembership(final Collection<Collection<Address>> subviews) { try { List<Address> retval=membership_change_policy.getNewMembership(subviews); if(retval == null) throw new IllegalStateException("null membership list"); return retval; } catch(Throwable t) { log.error(Util.getMessage("MembershipChangePolicy"), membership_change_policy.getClass().getSimpleName(), t); } try { return new DefaultMembershipPolicy().getNewMembership(subviews); } catch(Throwable t) { log.error(Util.getMessage("DefaultMembershipChangePolicyFailed"), t); return null; } }
/** Computes the regular membership */ protected List<Address> computeNewMembership(final List<Address> current_members, final Collection<Address> joiners, final Collection<Address> leavers, final Collection<Address> suspects) { List<Address> joiners_copy, leavers_copy, suspects_copy; joiners_copy=joiners == null? Collections.emptyList() : new ArrayList<>(joiners); leavers_copy=leavers == null? Collections.emptyList() : new ArrayList<>(leavers); suspects_copy=suspects == null? Collections.emptyList() : new ArrayList<>(suspects); try { List<Address> retval=membership_change_policy.getNewMembership(current_members,joiners_copy,leavers_copy,suspects_copy); if(retval == null) throw new IllegalStateException("null membership list"); return retval; } catch(Throwable t) { log.error(Util.getMessage("MembershipChangePolicy"), membership_change_policy.getClass().getSimpleName(), t); } try { return new DefaultMembershipPolicy().getNewMembership(current_members,joiners_copy,leavers_copy,suspects_copy); } catch(Throwable t) { log.error(Util.getMessage("DefaultMembershipChangePolicyFailed"), t); return null; } }
/** Computes a merge membership */ protected List<Address> computeNewMembership(final Collection<Collection<Address>> subviews) { try { List<Address> retval=membership_change_policy.getNewMembership(subviews); if(retval == null) throw new IllegalStateException("null membership list"); return retval; } catch(Throwable t) { log.error(Util.getMessage("MembershipChangePolicy"), membership_change_policy.getClass().getSimpleName(), t); } try { return new DefaultMembershipPolicy().getNewMembership(subviews); } catch(Throwable t) { log.error(Util.getMessage("DefaultMembershipChangePolicyFailed"), t); return null; } }