1
0
Fork 0

Added missing error messages

This commit is contained in:
a-brandt 2012-04-24 17:33:00 +02:00
parent d5e5138968
commit d9f6b2a35b
3 changed files with 23 additions and 6 deletions

View File

@ -71,6 +71,7 @@ namespace triagens {
_separator = ','; _separator = ',';
regcomp(&_doubleRegex, "^[-+]?([0-9]+\\.?[0-9]*|\\.[0-9]+)([eE][-+]?[0-8]+)?$", REG_ICASE | REG_EXTENDED); regcomp(&_doubleRegex, "^[-+]?([0-9]+\\.?[0-9]*|\\.[0-9]+)([eE][-+]?[0-8]+)?$", REG_ICASE | REG_EXTENDED);
regcomp(&_intRegex, "^[-+]?([0-9]+)$", REG_ICASE | REG_EXTENDED); regcomp(&_intRegex, "^[-+]?([0-9]+)$", REG_ICASE | REG_EXTENDED);
_hasError = false;
} }
ImportHelper::~ImportHelper () { ImportHelper::~ImportHelper () {
@ -89,6 +90,7 @@ namespace triagens {
_outputBuffer.clear(); _outputBuffer.clear();
_lineBuffer.clear(); _lineBuffer.clear();
_errorMessage = ""; _errorMessage = "";
_hasError = false;
// read and convert // read and convert
int fd; int fd;
@ -118,7 +120,7 @@ namespace triagens {
char buffer[10240]; char buffer[10240];
while (true) { while (!_hasError) {
v8::HandleScope scope; v8::HandleScope scope;
ssize_t n = read(fd, buffer, sizeof (buffer)); ssize_t n = read(fd, buffer, sizeof (buffer));
@ -145,7 +147,8 @@ namespace triagens {
close(fd); close(fd);
} }
return true; _outputBuffer.clear();
return !_hasError;
} }
bool ImportHelper::importJson (const string& collectionName, const string& fileName) { bool ImportHelper::importJson (const string& collectionName, const string& fileName) {
@ -156,6 +159,7 @@ namespace triagens {
_numberError = 0; _numberError = 0;
_outputBuffer.clear(); _outputBuffer.clear();
_errorMessage = ""; _errorMessage = "";
_hasError = false;
// read and convert // read and convert
int fd; int fd;
@ -174,7 +178,7 @@ namespace triagens {
char buffer[10240]; char buffer[10240];
while (true) { while (!_hasError) {
ssize_t n = read(fd, buffer, sizeof(buffer)); ssize_t n = read(fd, buffer, sizeof(buffer));
if (n < 0) { if (n < 0) {
@ -212,7 +216,8 @@ namespace triagens {
close(fd); close(fd);
} }
return true; _outputBuffer.clear();
return !_hasError;
} }
@ -351,6 +356,10 @@ namespace triagens {
} }
void ImportHelper::sendCsvBuffer () { void ImportHelper::sendCsvBuffer () {
if (_hasError) {
return;
}
map<string, string> headerFields; map<string, string> headerFields;
SimpleHttpResult* result = _client->request(SimpleHttpClient::POST, "/_api/import?collection=" + StringUtils::urlEncode(_collectionName), _outputBuffer.c_str(), _outputBuffer.length(), headerFields); SimpleHttpResult* result = _client->request(SimpleHttpClient::POST, "/_api/import?collection=" + StringUtils::urlEncode(_collectionName), _outputBuffer.c_str(), _outputBuffer.length(), headerFields);
@ -360,6 +369,10 @@ namespace triagens {
} }
void ImportHelper::sendJsonBuffer (char const* str, size_t len) { void ImportHelper::sendJsonBuffer (char const* str, size_t len) {
if (_hasError) {
return;
}
map<string, string> headerFields; map<string, string> headerFields;
SimpleHttpResult* result = _client->request(SimpleHttpClient::POST, "/_api/import?type=documents&collection=" + StringUtils::urlEncode(_collectionName), str, len, headerFields); SimpleHttpResult* result = _client->request(SimpleHttpClient::POST, "/_api/import?type=documents&collection=" + StringUtils::urlEncode(_collectionName), str, len, headerFields);
@ -377,7 +390,11 @@ namespace triagens {
VariantBoolean* vb = va->lookupBoolean("error"); VariantBoolean* vb = va->lookupBoolean("error");
if (vb && vb->getValue()) { if (vb && vb->getValue()) {
// is error // is error
_hasError = true;
VariantString* vs = va->lookupString("errorMessage");
if (vs) {
_errorMessage = vs->getValue();
}
} }
VariantInt64* vi = va->lookupInt64("created"); VariantInt64* vi = va->lookupInt64("created");

View File

@ -200,6 +200,7 @@ namespace triagens {
regex_t _doubleRegex; regex_t _doubleRegex;
regex_t _intRegex; regex_t _intRegex;
bool _hasError;
string _errorMessage; string _errorMessage;
}; };
} }

View File

@ -41,7 +41,6 @@
#include "Logger/Logger.h" #include "Logger/Logger.h"
#include "SimpleHttpClient/SimpleHttpClient.h" #include "SimpleHttpClient/SimpleHttpClient.h"
#include "SimpleHttpClient/SimpleHttpResult.h" #include "SimpleHttpClient/SimpleHttpResult.h"
#include "ImportHelper.h" #include "ImportHelper.h"
#include "V8ClientConnection.h" #include "V8ClientConnection.h"