Corrects Outlook plugin when setting several contact details with the same category and the same value.

cusax-fix
Vincent Lucas 13 years ago
parent 4d9932939f
commit 30f9ba9aca

@ -61,9 +61,23 @@ public MsOutlookAddrBookContactDetail(
*/
public boolean match(ContactDetail contactDetail)
{
return (contactDetail != null
&& this.getCategory() == contactDetail.getCategory()
&& this.getDetail().equals(contactDetail.getDetail()));
boolean containsAll = true;
if(contactDetail != null)
{
for(SubCategory subCategory: this.getSubCategories())
{
containsAll &= contactDetail.containsSubCategory(subCategory);
}
for(SubCategory subCategory: contactDetail.getSubCategories())
{
containsAll &= this.containsSubCategory(subCategory);
}
return (containsAll
&& this.getCategory() == contactDetail.getCategory()
&& this.getDetail().equals(contactDetail.getDetail()));
}
return false;
}
/**
@ -89,10 +103,5 @@ public void setDetail(String value)
super.setDetail(value);
EditableSourceContact sourceContact = this.getSourceContact();
if(sourceContact != null
&& sourceContact instanceof MsOutlookAddrBookSourceContact)
{
((MsOutlookAddrBookSourceContact) sourceContact).save();
}
}
}

@ -199,7 +199,6 @@ public void addContactDetail(ContactDetail detail)
}
}
this.contactDetails.add(addDetail);
this.save();
}
}
@ -299,6 +298,7 @@ public void unlock()
{
synchronized(this)
{
this.save();
locked = Boolean.FALSE;
notify();
}

Loading…
Cancel
Save