package senseiTests.domainsTest;
import sensei.middleware.domains.DomainGroupUserBaseImpl;
import sensei.middleware.domains.DomainExpulsionReason;
class TesterDomainGroupUser extends DomainGroupUserBaseImpl
{
public TesterDomainGroupUser(Tester center, UIFrame display, TesterPropertiesUser propertiesUser) throws Exception
{
this.center=center;
this.display = display;
this.propertiesUser = propertiesUser;
}
public void domainAccepted(int id)
{
display.joined(id);
}
public void domainExpulsed(DomainExpulsionReason reason)
{
StringBuffer str = new StringBuffer("Member excluded from the group");
if (reason!=DomainExpulsionReason.GMSLeaveEvent)
if (reason==DomainExpulsionReason.WrongPropertyAllowance)
str.append(": properties policy collision");
else if (reason==DomainExpulsionReason.WrongStaticSubgroupsComposition)
str.append(": static subgroups composition collision");
else if (reason==DomainExpulsionReason.WrongCoordinatorElectionPolicy)
str.append(": coordinator election policy collision");
else if (reason==DomainExpulsionReason.WrongBehaviourMode)
str.append(": behavior mode collision");
else if (reason==DomainExpulsionReason.WrongDynamicPolicy)
str.append(": dynamic subgroups policy collision");
else if (reason==DomainExpulsionReason.WrongSubgroupsTypes)
str.append(": created dynamic group does not match the expected type");
else
str.append(": unknown reason!!!"+reason.value());
display.showError(str.toString());
center.reset();
}
public void stateObtained(boolean t)
{
display.stateTransfered();
propertiesUser.updateProperties();
}
public void offendingSubgroup(int subgroup, String reason)
{
display.showError("Subgroup " + subgroup + " has STRANGELY commited the following error: " + reason);
}
Tester center;
UIFrame display;
TesterPropertiesUser propertiesUser;
}