summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>2016-02-03 18:19:30 +0100
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>2016-02-04 17:41:47 +0100
commit46a318695a8862a9d406b484ff5e3fa4e09d0366 (patch)
treec9d8e61297c239bb6edd7e96ed516c20457d82d2
parent62d2b37bdc4d357198eaec33a1a1caff638244a4 (diff)
downloadsonarqube-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.java13
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);
}