comparison OrthancServer/Plugins/Engine/OrthancPluginDatabaseV4.cpp @ 5215:8b6da4fdf9fe db-protobuf

cleaning ResourcesContent::TagValue and ResourcesContent::Metadata
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 03 Apr 2023 14:17:39 +0200
parents a9d00b17a48e
children 450ac804d3af
comparison
equal deleted inserted replaced
5214:a9d00b17a48e 5215:8b6da4fdf9fe
272 catch (OrthancException& e) 272 catch (OrthancException& e)
273 { 273 {
274 // Destructors must not throw exceptions 274 // Destructors must not throw exceptions
275 LOG(ERROR) << "Cannot finalize the database engine: " << e.What(); 275 LOG(ERROR) << "Cannot finalize the database engine: " << e.What();
276 } 276 }
277 }
278
279
280 void* GetTransactionObject()
281 {
282 return transaction_;
277 } 283 }
278 284
279 285
280 virtual void Rollback() ORTHANC_OVERRIDE 286 virtual void Rollback() ORTHANC_OVERRIDE
281 { 287 {
1022 } 1028 }
1023 1029
1024 1030
1025 virtual void SetResourcesContent(const ResourcesContent& content) ORTHANC_OVERRIDE 1031 virtual void SetResourcesContent(const ResourcesContent& content) ORTHANC_OVERRIDE
1026 { 1032 {
1027 // TODO: "ResourcesContent" => getters
1028
1029 DatabasePluginMessages::TransactionRequest request; 1033 DatabasePluginMessages::TransactionRequest request;
1030 1034
1031 request.mutable_set_resources_content()->mutable_tags()->Reserve(content.GetListTags().size()); 1035 request.mutable_set_resources_content()->mutable_tags()->Reserve(content.GetListTags().size());
1032 for (ResourcesContent::ListTags::const_iterator it = content.GetListTags().begin(); it != content.GetListTags().end(); ++it) 1036 for (ResourcesContent::ListTags::const_iterator it = content.GetListTags().begin(); it != content.GetListTags().end(); ++it)
1033 { 1037 {
1034 DatabasePluginMessages::SetResourcesContent_Request_Tag* tag = request.mutable_set_resources_content()->add_tags(); 1038 DatabasePluginMessages::SetResourcesContent_Request_Tag* tag = request.mutable_set_resources_content()->add_tags();
1035 tag->set_resource_id(it->resourceId_); 1039 tag->set_resource_id(it->GetResourceId());
1036 tag->set_is_identifier(it->isIdentifier_); 1040 tag->set_is_identifier(it->IsIdentifier());
1037 tag->set_group(it->tag_.GetGroup()); 1041 tag->set_group(it->GetTag().GetGroup());
1038 tag->set_element(it->tag_.GetElement()); 1042 tag->set_element(it->GetTag().GetElement());
1039 tag->set_value(it->value_); 1043 tag->set_value(it->GetValue());
1040 } 1044 }
1041 1045
1042 request.mutable_set_resources_content()->mutable_metadata()->Reserve(content.GetListMetadata().size()); 1046 request.mutable_set_resources_content()->mutable_metadata()->Reserve(content.GetListMetadata().size());
1043 for (ResourcesContent::ListMetadata::const_iterator it = content.GetListMetadata().begin(); it != content.GetListMetadata().end(); ++it) 1047 for (ResourcesContent::ListMetadata::const_iterator it = content.GetListMetadata().begin(); it != content.GetListMetadata().end(); ++it)
1044 { 1048 {
1045 DatabasePluginMessages::SetResourcesContent_Request_Metadata* metadata = request.mutable_set_resources_content()->add_metadata(); 1049 DatabasePluginMessages::SetResourcesContent_Request_Metadata* metadata = request.mutable_set_resources_content()->add_metadata();
1046 metadata->set_resource_id(it->resourceId_); 1050 metadata->set_resource_id(it->GetResourceId());
1047 metadata->set_metadata(it->metadata_); 1051 metadata->set_metadata(it->GetType());
1048 metadata->set_value(it->value_); 1052 metadata->set_value(it->GetValue());
1049 } 1053 }
1050 1054
1051 ExecuteTransaction(DatabasePluginMessages::OPERATION_SET_RESOURCES_CONTENT, request); 1055 ExecuteTransaction(DatabasePluginMessages::OPERATION_SET_RESOURCES_CONTENT, request);
1052 } 1056 }
1053 1057
1273 try 1277 try
1274 { 1278 {
1275 DatabasePluginMessages::DatabaseRequest request; 1279 DatabasePluginMessages::DatabaseRequest request;
1276 request.mutable_upgrade()->set_target_version(targetVersion); 1280 request.mutable_upgrade()->set_target_version(targetVersion);
1277 request.mutable_upgrade()->set_storage_area(reinterpret_cast<intptr_t>(&storageArea)); 1281 request.mutable_upgrade()->set_storage_area(reinterpret_cast<intptr_t>(&storageArea));
1282 request.mutable_upgrade()->set_transaction(reinterpret_cast<intptr_t>(transaction.GetTransactionObject()));
1278 1283
1279 DatabasePluginMessages::DatabaseResponse response; 1284 DatabasePluginMessages::DatabaseResponse response;
1280 1285
1281 ExecuteDatabase(response, *this, DatabasePluginMessages::OPERATION_UPGRADE, request); 1286 ExecuteDatabase(response, *this, DatabasePluginMessages::OPERATION_UPGRADE, request);
1282 transaction.Commit(0); 1287 transaction.Commit(0);