check for changed details before modify

cusax-fix
Damian Minkov 19 years ago
parent 712790e4f5
commit b95b51bfdc

@ -490,6 +490,10 @@ public boolean replaceDetail(GenericDetail currentDetailValue,
if(!newDetailValue.getClass().equals(currentDetailValue.getClass()))
throw new ClassCastException("New value to be replaced is not as the current one");
// if values are the same no change
if(currentDetailValue.equals(newDetailValue))
return true;
boolean isFound = false;
Vector alreadySetDetails = new Vector();
Iterator iter = infoRetreiver.getDetails(uin, currentDetailValue.getClass());
@ -503,7 +507,6 @@ public boolean replaceDetail(GenericDetail currentDetailValue,
// most of the multiple details require saving at one time, like Spoken Language
// we are placing it at the right place. replacing the old one
alreadySetDetails.add(newDetailValue);
logger.info("ooooooooooooo found old " + item);
}
else
alreadySetDetails.add(item);
@ -571,7 +574,6 @@ public boolean replaceDetail(GenericDetail currentDetailValue,
case 0x0154 : cmd.setNickName(((StringDetail)newDetailValue).getString()); break;
case 0x0140 : cmd.setFirstName(((StringDetail)newDetailValue).getString()); break;
case 0x014A :
logger.info("ooooo replacing last name " + ((StringDetail)newDetailValue).getString());
cmd.setLastName(((StringDetail)newDetailValue).getString()); break;
case 0x015E : cmd.setEmail(((StringDetail)newDetailValue).getString(), false); break;
case 0x0190 : cmd.setHomeCity(((StringDetail)newDetailValue).getString()); break;
@ -676,7 +678,7 @@ else if(newDetailValue.equals(ServerStoredDetails.GenderDetail.MALE))
/**
* Waiting for Acknowledge package and success byte.
* To set that the operation was succesful
* To set that the operation was successful
*/
private class SuccessResponseListener
implements SnacRequestListener

Loading…
Cancel
Save