Mercurial > hg > orthanc
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); |