Changeset 253


Ignore:
Timestamp:
06/30/09 22:52:28 (3 years ago)
Author:
antonbatenev.ya.ru
Message:

Исправление поведения при ошибке парсинга ответа синхронизации (см.  http://www.rsdn.ru/forum/janus/3449147.1.aspx)

Files:
8 edited

Legend:

Unmodified
Added
Removed
  • tags/1.0b/form_main.cpp

    r173 r253  
    338338                        AUserInfoList list; 
    339339 
    340                         AWebservice::getUserList_WebserviceParse(answer, list, row_version.User, NULL); 
     340                        QString result = AWebservice::getUserList_WebserviceParse(answer, list, row_version.User, NULL); 
     341 
     342                        if (result.length() > 0) 
     343                        { 
     344                                QMessageBox::critical(this, QString::fromUtf8("Ошибка!"), result); 
     345                                return; 
     346                        } 
    341347 
    342348                        // сохранение ответа 
  • tags/1.0b/version.h

    r236 r253  
    2020 * \brief Дата билда (заменяется автоматически при каждом билде в version.h, что и приводит к смене номера ревизии) 
    2121 */ 
    22 #define AVALON_DATE "Пнд Апр 27 05:20:09 MSD 2009" 
     22#define AVALON_DATE "Втр Июн 30 22:37:55 MSD 2009" 
    2323 
    2424#endif 
  • tags/1.0b/webservice.cpp

    r230 r253  
    245245//---------------------------------------------------------------------------------------------- 
    246246 
    247 void AWebservice::getUserList_WebserviceParse (const QString& data, AUserInfoList& list, QString& row_version, IProgress* progress) 
     247QString AWebservice::getUserList_WebserviceParse (const QString& data, AUserInfoList& list, QString& row_version, IProgress* progress) 
    248248{ 
    249249        if (progress != NULL) 
     
    280280        row_version = getNextBlock(&data, "<lastRowVersion>", "</lastRowVersion>", seed); 
    281281 
     282        // проверка ошибок получения версий строк 
     283        // подавлять ошибки сбросом в значение по умолчанию ("AAAAAAAAAAA=") оказалось неправильно 
     284        // подробнее см. http://www.rsdn.ru/forum/janus/3449147.1.aspx 
    282285        if (row_version.length() == 0) 
    283                 row_version = "AAAAAAAAAAA="; 
     286                return QString::fromUtf8("В ответе вебсервиса не найдено поле <lastRowVersion>"); 
     287 
     288        return ""; 
    284289} 
    285290//---------------------------------------------------------------------------------------------- 
     
    473478        row_version.Moderate = getNextBlock(&data, "<lastModerateRowVersion>", "</lastModerateRowVersion>", seed); 
    474479 
     480        // проверка ошибок получения версий строк 
     481        // подавлять ошибки сбросом в значение по умолчанию ("AAAAAAAAAAA=") оказалось неправильно 
     482        // подробнее см. http://www.rsdn.ru/forum/janus/3449147.1.aspx 
    475483        if (row_version.Rating.length() == 0) 
    476                 row_version.Rating = "AAAAAAAAAAA="; 
     484                return QString::fromUtf8("В ответе вебсервиса не найдено поле <lastRatingRowVersion>"); 
    477485        if (row_version.Message.length() == 0) 
    478                 row_version.Message = "AAAAAAAAAAA="; 
     486                return QString::fromUtf8("В ответе вебсервиса не найдено поле <lastForumRowVersion>"); 
    479487        if (row_version.Moderate.length() == 0) 
    480                 row_version.Moderate = "AAAAAAAAAAA="; 
     488                return QString::fromUtf8("В ответе вебсервиса не найдено поле <lastModerateRowVersion>"); 
    481489 
    482490        return ""; 
  • tags/1.0b/webservice.h

    r123 r253  
    5353                 * \param row_version Версия строк (снимка) 
    5454                 * \param progress Прогресс 
     55                 * \return Пустая строка, или сообщение об ошибке 
    5556                 */ 
    56                 static void getUserList_WebserviceParse (const QString& data, AUserInfoList& list, QString& row_version, IProgress* progress = NULL); 
     57                static QString getUserList_WebserviceParse (const QString& data, AUserInfoList& list, QString& row_version, IProgress* progress = NULL); 
    5758 
    5859                /*! 
  • trunk/form_main.cpp

    r246 r253  
    363363                        AUserInfoList list; 
    364364 
    365                         AWebservice::getUserList_WebserviceParse(answer, list, row_version.User, NULL); 
     365                        QString result = AWebservice::getUserList_WebserviceParse(answer, list, row_version.User, NULL); 
     366 
     367                        if (result.length() > 0) 
     368                        { 
     369                                QMessageBox::critical(this, QString::fromUtf8("Ошибка!"), result); 
     370                                return; 
     371                        } 
    366372 
    367373                        // сохранение ответа 
  • trunk/version.h

    r251 r253  
    2020 * \brief Дата билда (заменяется автоматически при каждом билде в version.h, что и приводит к смене номера ревизии) 
    2121 */ 
    22 #define AVALON_DATE "Пнд Июн 29 10:39:07 MSD 2009" 
     22#define AVALON_DATE "Втр Июн 30 22:47:08 MSD 2009" 
    2323 
    2424#endif 
  • trunk/webservice.cpp

    r231 r253  
    269269//---------------------------------------------------------------------------------------------- 
    270270 
    271 void AWebservice::getUserList_WebserviceParse (const QString& data, AUserInfoList& list, QString& row_version, IProgress* progress) 
     271QString AWebservice::getUserList_WebserviceParse (const QString& data, AUserInfoList& list, QString& row_version, IProgress* progress) 
    272272{ 
    273273        if (progress != NULL) 
     
    304304        row_version = getNextBlock(&data, "<lastRowVersion>", "</lastRowVersion>", seed); 
    305305 
     306        // проверка ошибок получения версий строк 
     307        // подавлять ошибки сбросом в значение по умолчанию ("AAAAAAAAAAA=") оказалось неправильно 
     308        // подробнее см. http://www.rsdn.ru/forum/janus/3449147.1.aspx 
    306309        if (row_version.length() == 0) 
    307                 row_version = "AAAAAAAAAAA="; 
     310                return QString::fromUtf8("В ответе вебсервиса не найдено поле <lastRowVersion>"); 
     311 
     312        return ""; 
    308313} 
    309314//---------------------------------------------------------------------------------------------- 
     
    501506        row_version.Moderate = getNextBlock(&data, "<lastModerateRowVersion>", "</lastModerateRowVersion>", seed); 
    502507 
     508        // проверка ошибок получения версий строк 
     509        // подавлять ошибки сбросом в значение по умолчанию ("AAAAAAAAAAA=") оказалось неправильно 
     510        // подробнее см. http://www.rsdn.ru/forum/janus/3449147.1.aspx 
    503511        if (row_version.Rating.length() == 0) 
    504                 row_version.Rating = "AAAAAAAAAAA="; 
     512                return QString::fromUtf8("В ответе вебсервиса не найдено поле <lastRatingRowVersion>"); 
    505513        if (row_version.Message.length() == 0) 
    506                 row_version.Message = "AAAAAAAAAAA="; 
     514                return QString::fromUtf8("В ответе вебсервиса не найдено поле <lastForumRowVersion>"); 
    507515        if (row_version.Moderate.length() == 0) 
    508                 row_version.Moderate = "AAAAAAAAAAA="; 
     516                return QString::fromUtf8("В ответе вебсервиса не найдено поле <lastModerateRowVersion>"); 
    509517 
    510518        return ""; 
  • trunk/webservice.h

    r123 r253  
    5454                 * \param progress Прогресс 
    5555                 */ 
    56                 static void getUserList_WebserviceParse (const QString& data, AUserInfoList& list, QString& row_version, IProgress* progress = NULL); 
     56                static QString getUserList_WebserviceParse (const QString& data, AUserInfoList& list, QString& row_version, IProgress* progress = NULL); 
    5757 
    5858                /*! 
Note: See TracChangeset for help on using the changeset viewer.