///////////////////////////////////////////////////////
  // UniqueAuthorVersion DAO
  public void updateUauthorInfo(String userid, String aid, String new_canname, String new_affil)
      throws DataAccessException {
    UniqueAuthor uauth = uauthDAO.getAuthor(aid);
    if (uauth == null) return;
    if ((new_canname == null)
        || new_canname.equals("")) // canname cannot be null or empty string...
    return;
    // if the information didn't change....dont do anything
    if (uauth.getCanname().equals(new_canname) && uauth.getAffil().equals(new_affil)) return;

    // backup oldinfo to version table
    int version = getMaxVersion.run(aid) + 1;
    backupUauthor.changeInfo(userid, uauth, version, CSXConstants.USER_VERSION);

    // update information
    uauth.setCanname(new_canname);
    uauth.setAffil(new_affil);
    uauthDAO.updateAuthInfo(uauth); // update new infomation
  }