Skip to content

Commit 70c81ba

Browse files
committed
Fix acquisitions API
1 parent b40940f commit 70c81ba

15 files changed

Lines changed: 2622 additions & 2589 deletions

sources/server/database/common/adapters/HugeDataVectorForKeywordDataAdapterV2.cpp

Lines changed: 34 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -2,48 +2,39 @@
22
#include "HugeDataVectorForKeywordDataAdapterV2.h"
33
#include <shared/exception/NotSupported.hpp>
44

5-
namespace database
5+
using namespace database::common::adapters;
6+
7+
bool CHugeDataVectorForKeywordDataAdapterV2::adapt(boost::shared_ptr<IResultHandler> resultHandler)
68
{
7-
namespace common
9+
const auto nCols = resultHandler->getColumnCount();
10+
11+
m_internalValue.reserve(100 * nCols);
12+
m_internalValue = R"([)";
13+
14+
long size = 0;
15+
while (resultHandler->nextStep())
816
{
9-
namespace adapters
10-
{
11-
bool CHugeDataVectorForKeywordDataAdapterV2::adapt(boost::shared_ptr<IResultHandler> resultHandler)
12-
{
13-
const auto nCols = resultHandler->getColumnCount();
14-
15-
m_internalValue.reserve(100 * nCols);
16-
m_internalValue = R"([)";
17-
18-
long size = 0;
19-
while (resultHandler->nextStep())
20-
{
21-
m_internalValue += R"({"date":")" + resultHandler->extractValueAsString(0);
22-
m_internalValue += R"(","value":)" + resultHandler->extractValueAsString(1) + "},";
23-
++size;
24-
}
25-
//check if any data
26-
if (m_internalValue.size() > 1)
27-
{
28-
if (size > 0)
29-
m_internalValue[m_internalValue.size() - 1] = ']'; //replace the last ,
30-
else
31-
m_internalValue += "]";
32-
}
33-
return true;
34-
}
35-
36-
37-
std::vector<std::string> CHugeDataVectorForKeywordDataAdapterV2::getResults()
38-
{
39-
//getRawResults should be used
40-
throw shared::exception::CNotSupported("CHugeDataVectorForKeywordDataAdapterV2::getResults");
41-
}
42-
43-
std::string CHugeDataVectorForKeywordDataAdapterV2::getRawResults() const
44-
{
45-
return m_internalValue;
46-
}
47-
} //namespace adapters
48-
} //namespace common
49-
} //namespace database
17+
m_internalValue += R"({"date":")" + resultHandler->extractValueAsString(0);
18+
m_internalValue += R"(","value":)" + resultHandler->extractValueAsString(1) + "},";
19+
++size;
20+
}
21+
22+
if (size > 0)
23+
m_internalValue[m_internalValue.size() - 1] = ']'; //replace the last ,
24+
else
25+
m_internalValue += "]";
26+
27+
return true;
28+
}
29+
30+
31+
std::vector<std::string> CHugeDataVectorForKeywordDataAdapterV2::getResults()
32+
{
33+
//getRawResults should be used
34+
throw shared::exception::CNotSupported("CHugeDataVectorForKeywordDataAdapterV2::getResults");
35+
}
36+
37+
std::string CHugeDataVectorForKeywordDataAdapterV2::getRawResults() const
38+
{
39+
return m_internalValue;
40+
}

sources/server/database/common/adapters/HugeDataVectorForKeywordDataAdapterV2.h

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,34 @@
33
#include "IResultAdapter.h"
44
#include "database/common/IResultHandler.h"
55

6-
namespace database
6+
namespace database::common::adapters
77
{
8-
namespace common
8+
//--------------------------------------------------------------
9+
///\Brief Class which adapt in single string, using a json like output [[data],[data],....]
10+
//--------------------------------------------------------------
11+
class CHugeDataVectorForKeywordDataAdapterV2 final : public IResultAdapterEx<std::string>
912
{
10-
namespace adapters
11-
{
12-
//--------------------------------------------------------------
13-
///\Brief Class which adapt in single string, using a json like output [[data],[data],....]
14-
//--------------------------------------------------------------
15-
class CHugeDataVectorForKeywordDataAdapterV2 final : public IResultAdapterEx<std::string>
16-
{
17-
public:
18-
~CHugeDataVectorForKeywordDataAdapterV2() override = default;
13+
public:
14+
CHugeDataVectorForKeywordDataAdapterV2() = default;
15+
~CHugeDataVectorForKeywordDataAdapterV2() override = default;
1916

20-
// ISQLiteResultAdapter implementation
21-
bool adapt(boost::shared_ptr<IResultHandler> resultHandler) override;
22-
std::vector<std::string> getResults() override;
23-
// [END] ISQLiteResultAdapter implementation
17+
CHugeDataVectorForKeywordDataAdapterV2(const CHugeDataVectorForKeywordDataAdapterV2&) = delete;
18+
CHugeDataVectorForKeywordDataAdapterV2(CHugeDataVectorForKeywordDataAdapterV2&&) = delete;
19+
CHugeDataVectorForKeywordDataAdapterV2& operator=(const CHugeDataVectorForKeywordDataAdapterV2&) = delete;
20+
CHugeDataVectorForKeywordDataAdapterV2& operator=(CHugeDataVectorForKeywordDataAdapterV2&&) = delete;
2421

25-
//--------------------------------------------------------------
26-
/// \Brief Get the result (raw format)
22+
// ISQLiteResultAdapter implementation
23+
bool adapt(boost::shared_ptr<IResultHandler> resultHandler) override;
24+
std::vector<std::string> getResults() override;
25+
// [END] ISQLiteResultAdapter implementation
26+
27+
//--------------------------------------------------------------
28+
/// \Brief Get the result (raw format)
2729
/// \return The result (raw format) using a json like output [[data],[data],....]
28-
//--------------------------------------------------------------
29-
std::string getRawResults() const;
30+
//--------------------------------------------------------------
31+
std::string getRawResults() const;
3032

31-
private:
32-
std::string m_internalValue;
33-
};
34-
} //namespace adapters
35-
} //namespace common
36-
} //namespace database
33+
private:
34+
std::string m_internalValue;
35+
};
36+
}

sources/server/database/common/adapters/HugeDataVectorForKeywordSummaryDataAdapterV2.cpp

Lines changed: 49 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -2,68 +2,62 @@
22
#include "HugeDataVectorForKeywordSummaryDataAdapterV2.h"
33
#include <shared/exception/NotSupported.hpp>
44

5-
namespace database
5+
using namespace database::common::adapters;
6+
7+
CHugeDataVectorForKeywordSummaryDataAdapterV2::CHugeDataVectorForKeywordSummaryDataAdapterV2(bool withAverage,
8+
bool withMin,
9+
bool withMax,
10+
bool withCount)
11+
: m_withAverage(withAverage),
12+
m_withMin(withMin),
13+
m_withMax(withMax),
14+
m_withCount(withCount)
615
{
7-
namespace common
8-
{
9-
namespace adapters
10-
{
11-
CHugeDataVectorForKeywordSummaryDataAdapterV2::CHugeDataVectorForKeywordSummaryDataAdapterV2(bool withAverage,
12-
bool withMin,
13-
bool withMax,
14-
bool withCount)
15-
: m_withAverage(withAverage),
16-
m_withMin(withMin),
17-
m_withMax(withMax),
18-
m_withCount(withCount)
19-
{
20-
}
16+
}
17+
18+
bool CHugeDataVectorForKeywordSummaryDataAdapterV2::adapt(boost::shared_ptr<IResultHandler> resultHandler)
19+
{
20+
const auto nCols = resultHandler->getColumnCount();
2121

22-
bool CHugeDataVectorForKeywordSummaryDataAdapterV2::adapt(boost::shared_ptr<IResultHandler> resultHandler)
23-
{
24-
const auto nCols = resultHandler->getColumnCount();
22+
m_internalValue.reserve(100 * nCols);
23+
m_internalValue = "[";
2524

26-
m_internalValue.reserve(100 * nCols);
27-
m_internalValue = "[";
25+
long size = 0;
26+
while (resultHandler->nextStep())
27+
{
28+
m_internalValue += R"({"date":")" + resultHandler->extractValueAsString(0) + R"(")";
2829

29-
long size = 0;
30-
while (resultHandler->nextStep())
31-
{
32-
m_internalValue += R"({"date":")" + resultHandler->extractValueAsString(0) + R"(")";
30+
int optionalColumn = 0;
31+
if (m_withAverage)
32+
m_internalValue += R"(,"avg":)" + resultHandler->extractValueAsString(++optionalColumn);
33+
if (m_withMin)
34+
m_internalValue += R"(,"min":)" + resultHandler->extractValueAsString(++optionalColumn);
35+
if (m_withMax)
36+
m_internalValue += R"(,"max":)" + resultHandler->extractValueAsString(++optionalColumn);
37+
if (m_withCount)
38+
m_internalValue += R"(,"count":)" + resultHandler->extractValueAsString(++optionalColumn);
3339

34-
int optionalColumn = 0;
35-
if (m_withAverage)
36-
m_internalValue += R"(,"avg":)" + resultHandler->extractValueAsString(++optionalColumn);
37-
if (m_withMin)
38-
m_internalValue += R"(,"min":)" + resultHandler->extractValueAsString(++optionalColumn);
39-
if (m_withMax)
40-
m_internalValue += R"(,"max":)" + resultHandler->extractValueAsString(++optionalColumn);
41-
if (m_withCount)
42-
m_internalValue += R"(,"count":)" + resultHandler->extractValueAsString(++optionalColumn);
40+
m_internalValue += "},";
4341

44-
m_internalValue += "},";
42+
++size;
43+
}
4544

46-
++size;
47-
}
48-
//check if any data
49-
if (size > 0)
50-
m_internalValue[m_internalValue.size() - 1] = ']'; //replace the last ,
51-
else
52-
m_internalValue += "]";
53-
return true;
54-
}
45+
if (size > 0)
46+
m_internalValue[m_internalValue.size() - 1] = ']'; //replace the last ,
47+
else
48+
m_internalValue += "]";
5549

50+
return true;
51+
}
5652

57-
std::vector<std::string> CHugeDataVectorForKeywordSummaryDataAdapterV2::getResults()
58-
{
59-
//getRawResults should be used
60-
throw shared::exception::CNotSupported("CHugeDataVectorForKeywordSummaryDataAdapterV2::getResults");
61-
}
6253

63-
std::string CHugeDataVectorForKeywordSummaryDataAdapterV2::getRawResults() const
64-
{
65-
return m_internalValue;
66-
}
67-
} //namespace adapters
68-
} //namespace common
69-
} //namespace database
54+
std::vector<std::string> CHugeDataVectorForKeywordSummaryDataAdapterV2::getResults()
55+
{
56+
//getRawResults should be used
57+
throw shared::exception::CNotSupported("CHugeDataVectorForKeywordSummaryDataAdapterV2::getResults");
58+
}
59+
60+
std::string CHugeDataVectorForKeywordSummaryDataAdapterV2::getRawResults() const
61+
{
62+
return m_internalValue;
63+
}

sources/server/database/common/adapters/HugeDataVectorForKeywordSummaryDataAdapterV2.h

Lines changed: 32 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -3,42 +3,41 @@
33
#include "IResultAdapter.h"
44
#include "database/common/IResultHandler.h"
55

6-
namespace database
6+
namespace database::common::adapters
77
{
8-
namespace common
8+
//--------------------------------------------------------------
9+
///\Brief Class which adapt in single string, using a json like output [[data],[data],....]
10+
//--------------------------------------------------------------
11+
class CHugeDataVectorForKeywordSummaryDataAdapterV2 final : public IResultAdapterEx<std::string>
912
{
10-
namespace adapters
11-
{
12-
//--------------------------------------------------------------
13-
///\Brief Class which adapt in single string, using a json like output [[data],[data],....]
14-
//--------------------------------------------------------------
15-
class CHugeDataVectorForKeywordSummaryDataAdapterV2 final : public IResultAdapterEx<std::string>
16-
{
17-
public:
18-
CHugeDataVectorForKeywordSummaryDataAdapterV2(bool withAverage,
19-
bool withMin,
20-
bool withMax,
21-
bool withCount);
22-
~CHugeDataVectorForKeywordSummaryDataAdapterV2() override = default;
13+
public:
14+
explicit CHugeDataVectorForKeywordSummaryDataAdapterV2(bool withAverage,
15+
bool withMin,
16+
bool withMax,
17+
bool withCount);
18+
~CHugeDataVectorForKeywordSummaryDataAdapterV2() override = default;
2319

24-
// ISQLiteResultAdapter implementation
25-
bool adapt(boost::shared_ptr<IResultHandler> resultHandler) override;
26-
std::vector<std::string> getResults() override;
27-
// [END] ISQLiteResultAdapter implementation
20+
CHugeDataVectorForKeywordSummaryDataAdapterV2(const CHugeDataVectorForKeywordSummaryDataAdapterV2&) = delete;
21+
CHugeDataVectorForKeywordSummaryDataAdapterV2(CHugeDataVectorForKeywordSummaryDataAdapterV2&&) = delete;
22+
CHugeDataVectorForKeywordSummaryDataAdapterV2& operator=(const CHugeDataVectorForKeywordSummaryDataAdapterV2&) = delete;
23+
CHugeDataVectorForKeywordSummaryDataAdapterV2& operator=(CHugeDataVectorForKeywordSummaryDataAdapterV2&&) = delete;
2824

29-
//--------------------------------------------------------------
30-
/// \Brief Get the result (raw format)
25+
// ISQLiteResultAdapter implementation
26+
bool adapt(boost::shared_ptr<IResultHandler> resultHandler) override;
27+
std::vector<std::string> getResults() override;
28+
// [END] ISQLiteResultAdapter implementation
29+
30+
//--------------------------------------------------------------
31+
/// \Brief Get the result (raw format)
3132
/// \return The result (raw format) using a json like output [[data],[data],....]
32-
//--------------------------------------------------------------
33-
std::string getRawResults() const;
33+
//--------------------------------------------------------------
34+
std::string getRawResults() const;
3435

35-
private:
36-
std::string m_internalValue;
37-
bool m_withAverage;
38-
bool m_withMin;
39-
bool m_withMax;
40-
bool m_withCount;
41-
};
42-
} //namespace adapters
43-
} //namespace common
44-
} //namespace database
36+
private:
37+
std::string m_internalValue;
38+
bool m_withAverage;
39+
bool m_withMin;
40+
bool m_withMax;
41+
bool m_withCount;
42+
};
43+
}

0 commit comments

Comments
 (0)