if (response != null)
{
logEntry.logResponse(ResponseType.Normal, results);
// check for error
RpcError rpcError = response.getError();
if (rpcError != null)
{
if (rpcError.getCode() == RpcError.METHOD_NOT_FOUND)
{
requestCallback.onResponseReceived(
new Integer(CREDENTIALS_UPDATE_UNSUPPORTED));
}
else
{
requestCallback.onError(new RemoteServerError(rpcError));
}
}
else // must be a valid response
{
Bool authenticated = response.getResult();
if (authenticated.getValue())
{
requestCallback.onResponseReceived(
new Integer(CREDENTIALS_UPDATE_SUCCESS));
}
else
{
requestCallback.onResponseReceived(
new Integer(CREDENTIALS_UPDATE_FAILURE));
}
}
}
else // error parsing results
{
logEntry.logResponse(ResponseType.Error, results);
// form message
String msg = "Error parsing results: " +
(results != null ? results : "(null)");
// we don't expect this so debug log to flag our attention
Debug.log("UPDATE CREDENTIALS: " + msg);
// return the error
RpcError rpcError = RpcError.create(RpcError.PARSE_ERROR, msg);
requestCallback.onError(new RemoteServerError(rpcError));
}
// remove the hidden form (from both last-ditch list and DOM)
previousUpdateCredentialsForms_.remove(updateCredentialsForm);