diff options
author | Sébastien Lesaint <sebastien.lesaint@sonarsource.com> | 2016-02-03 18:19:30 +0100 |
---|---|---|
committer | Sébastien Lesaint <sebastien.lesaint@sonarsource.com> | 2016-02-04 17:41:47 +0100 |
commit | 46a318695a8862a9d406b484ff5e3fa4e09d0366 (patch) | |
tree | c9d8e61297c239bb6edd7e96ed516c20457d82d2 | |
parent | 62d2b37bdc4d357198eaec33a1a1caff638244a4 (diff) | |
download | sonarqube-46a318695a8862a9d406b484ff5e3fa4e09d0366.tar.gz sonarqube-46a318695a8862a9d406b484ff5e3fa4e09d0366.zip |
SONAR-6940 tracking: do not query FILE_SOURCE for non-FILE components
-rw-r--r-- | server/sonar-server/src/main/java/org/sonar/server/computation/issue/TrackerBaseInputFactory.java | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/issue/TrackerBaseInputFactory.java b/server/sonar-server/src/main/java/org/sonar/server/computation/issue/TrackerBaseInputFactory.java index c7cf943561b..55da6dccd9e 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/issue/TrackerBaseInputFactory.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/issue/TrackerBaseInputFactory.java @@ -19,22 +19,22 @@ */ package org.sonar.server.computation.issue; -import com.google.common.base.Objects; import java.util.Collections; import java.util.List; import org.sonar.core.issue.DefaultIssue; import org.sonar.core.issue.tracking.Input; import org.sonar.core.issue.tracking.LazyInput; import org.sonar.core.issue.tracking.LineHashSequence; +import org.sonar.db.DbClient; import org.sonar.db.DbSession; import org.sonar.db.MyBatis; import org.sonar.server.computation.component.Component; -import org.sonar.db.DbClient; /** * Factory of {@link Input} of base data for issue tracking. Data are lazy-loaded. */ public class TrackerBaseInputFactory { + private static final LineHashSequence EMPTY_LINE_HASH_SEQUENCE = new LineHashSequence(Collections.<String>emptyList()); private final BaseIssuesLoader baseIssuesLoader; private final DbClient dbClient; @@ -57,10 +57,17 @@ public class TrackerBaseInputFactory { @Override protected LineHashSequence loadLineHashSequence() { + if (component.getType() != Component.Type.FILE) { + return EMPTY_LINE_HASH_SEQUENCE; + } + DbSession session = dbClient.openSession(false); try { List<String> hashes = dbClient.fileSourceDao().selectLineHashes(session, component.getUuid()); - return new LineHashSequence(Objects.firstNonNull(hashes, Collections.<String>emptyList())); + if (hashes == null || hashes.isEmpty()) { + return EMPTY_LINE_HASH_SEQUENCE; + } + return new LineHashSequence(hashes); } finally { MyBatis.closeQuietly(session); } |