]> source.dussan.org Git - sonarqube.git/commitdiff
remove BatchReport.Component stored in CE's ComponentImpl
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Tue, 2 Jun 2015 14:26:30 +0000 (16:26 +0200)
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Tue, 2 Jun 2015 16:01:17 +0000 (18:01 +0200)
server/sonar-server/src/main/java/org/sonar/server/computation/component/ComponentImpl.java
server/sonar-server/src/test/java/org/sonar/server/computation/component/ComponentImplTest.java

index f5f1d5ba0bbb609d4d4cbc3d851d52ec4f2ef840..c255d9a78c0af6dfc9b25cdbf193b7f639fa5ca5 100644 (file)
@@ -31,7 +31,7 @@ import static com.google.common.collect.Iterables.filter;
 
 public class ComponentImpl implements Component {
   private final Type type;
-  private final BatchReport.Component component;
+  private final int ref;
   private final List<Component> children;
 
   // Mutable values
@@ -39,7 +39,7 @@ public class ComponentImpl implements Component {
   private String uuid;
 
   public ComponentImpl(BatchReport.Component component, @Nullable Iterable<Component> children) {
-    this.component = component;
+    this.ref = component.getRef();
     this.type = convertType(component.getType());
     this.children = children == null ? Collections.<Component>emptyList() : copyOf(filter(children, notNull()));
   }
@@ -66,7 +66,7 @@ public class ComponentImpl implements Component {
 
   @Override
   public int getRef() {
-    return component.getRef();
+    return ref;
   }
 
   public String getUuid() {
index d5ba594bfa85e8aa9dc3610bc800f6dc991666c1..3100ab9a1f945cfd0aec90de532dfe78afa1bcdb 100644 (file)
@@ -29,6 +29,11 @@ import static org.assertj.core.api.Assertions.assertThat;
 public class ComponentImplTest {
   private ComponentImpl component = new ComponentImpl(BatchReport.Component.newBuilder().build(), Collections.<Component>emptyList());
 
+  @Test(expected = NullPointerException.class)
+  public void constructor_throws_NPE_if_component_arg_is_Null() {
+    new ComponentImpl(null, null);
+  }
+
   @Test(expected = UnsupportedOperationException.class)
   public void getUuid_throws_UOE_if_uuid_has_not_been_set_yet() {
     component.getUuid();