public void bindingChanged(String aor, Binding binding, Event.Enum event,
org.cipango.kaleo.location.event.RegistrationDocument.Registration.State.Enum state)
{
Contact contactModified = null;
Registration registration = _content.getReginfo().getRegistrationArray(0);
registration.setState(state);
for (Contact contact : registration.getContactArray())
{
if (contact.getId().equals(String.valueOf(binding.getId())))
{
contactModified = contact;
}
}
if (contactModified == null)
{
contactModified = registration.addNewContact();
}
contactModified.setUri(binding.getContact().toString());
contactModified.setEvent(event);
contactModified.setId(String.valueOf(binding.getId()));
contactModified.setCallid(binding.getCallId());
contactModified.setCseq(BigInteger.valueOf(binding.getCSeq()));
contactModified.setExpires(BigInteger.valueOf(binding.getExpires()));
fireStateChanged();
if (event == Event.DEACTIVATED || event == Event.EXPIRED
|| event == Event.UNREGISTERED || event == Event.REJECTED)
{
for (int i = 0; i < registration.getContactArray().length; i++)
{
if (registration.getContactArray(i) == contactModified)
{
registration.removeContact(i);
break;
}
}
}
}