From 5c0ed7f7f29daecd1ff0c9c1daaace76f252ef7e Mon Sep 17 00:00:00 2001 From: malte_langkabel Date: Fri, 12 Aug 2016 15:36:48 +0200 Subject: [PATCH] data: avoid duplicate access components * added check to make sure that an access component does not already exist before inserting it into the database --- src/lib/data/PersistentStorage.cpp | 5 ++++- src/lib/data/graph/Node.cpp | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/lib/data/PersistentStorage.cpp b/src/lib/data/PersistentStorage.cpp index 619dfdda..9c8fa04d 100644 --- a/src/lib/data/PersistentStorage.cpp +++ b/src/lib/data/PersistentStorage.cpp @@ -121,7 +121,10 @@ void PersistentStorage::addSourceLocation( void PersistentStorage::addComponentAccess(Id nodeId , int type) { - m_sqliteStorage.addComponentAccess(nodeId, type); + if (m_sqliteStorage.getComponentAccessByNodeId(nodeId).nodeId == 0) + { + m_sqliteStorage.addComponentAccess(nodeId, type); + } } void PersistentStorage::addCommentLocation(Id fileNodeId, uint startLine, uint startCol, uint endLine, uint endCol) diff --git a/src/lib/data/graph/Node.cpp b/src/lib/data/graph/Node.cpp index 4bc445c8..94d1af95 100644 --- a/src/lib/data/graph/Node.cpp +++ b/src/lib/data/graph/Node.cpp @@ -440,7 +440,7 @@ void Node::addComponentAccess(std::shared_ptr component) { if (getComponent()) { - LOG_ERROR("TokenComponentAccess has been set before!"); + LOG_WARNING("TokenComponentAccess has been set before!"); return; } else