aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>2015-10-16 16:31:23 +0200
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>2015-10-16 17:11:15 +0200
commit11d92d774618e7ac47d06d27e2ff8e363fb02b77 (patch)
treed382571a7d801130fc1732318407107e89ce4089
parent855096b62f197edee1f32f971730343f64dd16ab (diff)
downloadsonarqube-11d92d774618e7ac47d06d27e2ff8e363fb02b77.tar.gz
sonarqube-11d92d774618e7ac47d06d27e2ff8e363fb02b77.zip
fix reset of TreeRootHolderRule + reduce duplication
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/computation/batch/TreeRootHolderRule.java24
1 files changed, 13 insertions, 11 deletions
diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/batch/TreeRootHolderRule.java b/server/sonar-server/src/test/java/org/sonar/server/computation/batch/TreeRootHolderRule.java
index c1888493a45..92335b9abde 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/computation/batch/TreeRootHolderRule.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/computation/batch/TreeRootHolderRule.java
@@ -21,7 +21,6 @@ package org.sonar.server.computation.batch;
import java.util.HashMap;
import java.util.Map;
-import java.util.Objects;
import org.junit.rules.TestRule;
import org.junit.runner.Description;
import org.junit.runners.model.Statement;
@@ -33,6 +32,9 @@ import org.sonar.server.computation.component.ReportTreeRootHolder;
import org.sonar.server.computation.component.TreeRootHolder;
import org.sonar.server.computation.component.TypeAwareVisitorAdapter;
+import static com.google.common.base.Preconditions.checkArgument;
+import static com.google.common.base.Preconditions.checkState;
+import static java.util.Objects.requireNonNull;
import static org.sonar.server.computation.component.ComponentVisitor.Order.POST_ORDER;
public class TreeRootHolderRule implements TestRule, MutableTreeRootHolder, ReportTreeRootHolder {
@@ -55,31 +57,31 @@ public class TreeRootHolderRule implements TestRule, MutableTreeRootHolder, Repo
private void clear() {
this.root = null;
+ this.componentsByRef.clear();
}
@Override
public Component getRoot() {
- if (root == null) {
- throw new IllegalStateException("Root has not been set in " + TreeRootHolder.class.getSimpleName());
- }
+ checkInitialized();
+
return root;
}
@Override
public Component getComponentByRef(int ref) {
- if (root == null) {
- throw new IllegalStateException("Root has not been set in " + TreeRootHolder.class.getSimpleName());
- }
+ checkInitialized();
Component component = componentsByRef.get(ref);
- if (component == null) {
- throw new IllegalArgumentException(String.format("Component '%s' hasn't been found", ref));
- }
+ checkArgument(component != null, "Component with ref '%s' hasn't been found", ref);
return component;
}
+ private void checkInitialized() {
+ checkState(root != null, "Root has not been set in %s", TreeRootHolder.class.getSimpleName());
+ }
+
public TreeRootHolderRule setRoot(Component newRoot) {
- this.root = Objects.requireNonNull(newRoot);
+ this.root = requireNonNull(newRoot);
if (newRoot.getType().isReportType()) {
new DepthTraversalTypeAwareCrawler(new TypeAwareVisitorAdapter(CrawlerDepthLimit.FILE, POST_ORDER) {
@Override