6#include <QtCore/QJsonDocument>
7#include <QtCore/QJsonObject>
8#include <QtCore/QJsonArray>
11#include <ilog/TLoggerCompWrap.h>
14#include <imtserverapp/TJsonRepresentationControllerCompWrap.h>
15#include <imtclientgql/IGqlClient.h>
16#include <imtclientgql/IGqlObjectCollectionDelegate.h>
17#include <imtserverapp/CParamSetRepresentationController.h>
18#include <imtserverapp/CComplexCollectionFilterRepresentationController.h>
19#include <imtserverapp/CDocumentFilterRepresentationController.h>
20#include <GeneratedFiles/imtbasesdl/SDL/1.0/CPP/ImtCollection.h>
27class CGqlObjectCollectionDelegateComp:
28 public ilog::CLoggerComponentBase,
29 virtual public IGqlObjectCollectionDelegate
32 typedef ilog::CLoggerComponentBase BaseClass;
34 I_BEGIN_COMPONENT(CGqlObjectCollectionDelegateComp);
35 I_REGISTER_INTERFACE(IGqlObjectCollectionDelegate);
36 I_ASSIGN(m_collectionIdAttrPtr,
"CollectionId",
"Collection-ID",
false,
"");
37 I_ASSIGN(m_versionInfoCompPtr,
"VersionInfo",
"Version info",
false,
"VersionInfo");
38 I_ASSIGN(m_objectCollectionCompPtr,
"ObjectCollection",
"Object collection",
false,
"ObjectCollection");
41 virtual imtgql::IGqlRequest* CreateGetObjectTypeIdRequest(
const QByteArray& objectId)
const override;
42 virtual imtgql::IGqlRequest* CreateGetObjectInfoRequest(
const QByteArray& objectId)
const override;
43 virtual imtgql::IGqlRequest* CreateGetObjectMetaInfoRequest(
const QByteArray& objectId)
const override;
44 virtual imtgql::IGqlRequest* CreateGetObjectDataMetaInfoRequest(
const QByteArray& objectId)
const override;
46 const QByteArray& typeId,
48 const QString& description,
49 const istd::IChangeable* objectPtr,
50 const QString& uploadUrl = QString(),
51 const QByteArray& proposedObjectId = QByteArray(),
52 const QByteArray& nodeId = QByteArray(),
53 const idoc::IDocumentMetaInfo* dataMetaInfoPtr =
nullptr,
54 const idoc::IDocumentMetaInfo* collectionItemMetaInfoPtr =
nullptr,
57 const QByteArray& objectId,
59 int clientVersion = -1,
62 const QByteArray& objectId,
63 const QString& description,
64 int clientVersion = -1,
66 virtual imtgql::IGqlRequest* CreateGetObjectRequest(
const QByteArray& objectId,
const iprm::IParamsSet* paramsPtr =
nullptr)
const override;
68 const QByteArray& objectId,
69 const QByteArray& typeId,
70 const istd::IChangeable* objectPtr,
71 const QString& uploadUrl = QString(),
72 const idoc::IDocumentMetaInfo* dataMetaInfoPtr =
nullptr,
73 const idoc::IDocumentMetaInfo* collectionItemMetaInfoPtr =
nullptr,
74 int clientVersion = -1,
77 const imtbase::ICollectionInfo::Ids& objectIds,
78 int clientElementVersion = -1,
81 const iprm::IParamsSet* selectionParamsPtr =
nullptr,
82 int clientElementVersion = -1,
84 virtual imtgql::IGqlRequest* CreateGetElementCountRequest(
const iprm::IParamsSet* selectionParamsPtr =
nullptr)
const override;
88 const iprm::IParamsSet* selectionParamsPtr =
nullptr)
const override;
92 const iprm::IParamsSet* selectionParamsPtr =
nullptr)
const override;
94 virtual bool IsValid(
const imtgql::IGqlResponse& reqponse)
const override;
95 virtual bool GetOperationResult(
const imtgql::IGqlResponse& response,
bool& out)
const override;
96 virtual bool GetObjectId(
const imtgql::IGqlResponse& response, Id& out)
const override;
97 virtual bool GetObjectTypeId(
const imtgql::IGqlResponse& response, Id& out)
const override;
98 virtual bool GetObjectInfo(
const imtgql::IGqlResponse& response, ObjectInfo& out)
const override;
99 virtual bool GetObjectData(
const imtgql::IGqlResponse& response, istd::IChangeable& out)
const override;
100 virtual bool GetMetaInfo(
const imtgql::IGqlResponse& response, idoc::IDocumentMetaInfo& out)
const override;
101 virtual bool GetItemCount(
const imtgql::IGqlResponse& response,
int& out)
const override;
102 virtual bool GetItemIds(
const imtgql::IGqlResponse& response, Ids& out)
const override;
105 const imtgql::IGqlResponse& response,
106 QList<imtbase::IMetaInfoCreator*> metaInfoCreatorList)
const override;
109 virtual void OnComponentCreated()
override;
116 QByteArray commandId;
119 ResponseData GetResponseData(
const imtgql::IGqlResponse& response)
const;
120 bool SerializeObject(
const istd::IPolymorphic*
object, QByteArray& objectData)
const;
121 bool DeSerializeObject(istd::IPolymorphic*
object,
const QByteArray& objectData)
const;
122 bool GetParamsSetRepresentation(
const iprm::IParamsSet& paramsSet, sdl::imtbase::ImtBaseTypes::CParamsSet::V1_0& representation)
const;
124 template<
class Arguments,
class SdlRequest>
125 istd::TUniqueInterfacePtr<imtgql::IGqlRequest> CreateGqlRequest(Arguments arguments)
const;
128 imtserverapp::CParamSetRepresentationController m_paramSetRepresentationController;
129 imtserverapp::CDocumentFilterRepresentationController m_documentFilterRepresentationController;
130 imtserverapp::CComplexCollectionFilterRepresentationController m_complexCollectionFilterRepresentationController;
133 I_ATTR(QByteArray, m_collectionIdAttrPtr);
134 I_REF(iser::IVersionInfo, m_versionInfoCompPtr);