MCPcopy Create free account
hub / github.com/MITK/MITK / GetNodeAvailableContexts

Method GetNodeAvailableContexts

Modules/RESTAPI/src/mitkDataStorageBridge.cpp:1295–1326  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1293 }
1294
1295 std::optional<DataStorageBridge::Json> DataStorageBridge::GetNodeAvailableContexts(const std::string& uid) const
1296 {
1297 std::lock_guard<std::mutex> lock(m_Mutex);
1298 return this->DispatchTask<std::optional<Json>>([this, uid]()
1299 {
1300 auto dataStorage = m_DataStorage.Lock();
1301 if (dataStorage.IsNull())
1302 {
1303 return std::optional<Json>(std::nullopt);
1304 }
1305
1306 auto node = m_UidMapper->FindNodeByUid(uid);
1307 if (node == nullptr)
1308 {
1309 return std::optional<Json>(std::nullopt);
1310 }
1311
1312 Json contexts = Json::array();
1313
1314 // Add null for default context (always available)
1315 contexts.push_back(nullptr);
1316
1317 // Add named contexts from the node
1318 auto contextNames = node->GetPropertyContextNames();
1319 for (const auto& contextName : contextNames)
1320 {
1321 contexts.push_back(contextName);
1322 }
1323
1324 return std::optional<Json>(contexts);
1325 });
1326 }
1327
1328 DataStorageBridge::Json DataStorageBridge::NodeToJson(DataNode* node) const
1329 {

Callers 2

HandleGET_nodes_uidMethod · 0.45

Calls 4

FindNodeByUidMethod · 0.80
LockMethod · 0.45
IsNullMethod · 0.45

Tested by

no test coverage detected