]> source.dussan.org Git - sonarqube.git/commitdiff
polish design of PeriodHolder
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Wed, 26 Sep 2018 09:43:32 +0000 (11:43 +0200)
committersonartech <sonartech@sonarsource.com>
Wed, 3 Oct 2018 07:28:21 +0000 (09:28 +0200)
server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/period/PeriodHolder.java
server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/period/PeriodHolderImpl.java
server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/step/LoadPeriodsStepTest.java

index ba7d733c79a0b28d5f455454293eb584ec81aab4..8c6f6c7597bb42fb2f18ecfaaa41a0a5b20daf3b 100644 (file)
@@ -19,8 +19,6 @@
  */
 package org.sonar.ce.task.projectanalysis.period;
 
-import javax.annotation.CheckForNull;
-
 /**
  * Repository of period used to compute differential measures.
  * Here are the steps to retrieve the period :
@@ -40,9 +38,9 @@ public interface PeriodHolder {
   /**
    * Retrieve the period from the Holder.
    *
-   * @throws IllegalStateException if the periods haven't been initialized
+   * @throws IllegalStateException if the period hasn't been initialized
+   * @throws IllegalStateException if there is no period
    */
-  @CheckForNull
   Period getPeriod();
 
 }
index f2de306664e8e6935d73f800a7c9dcd53d2e5f9e..69847a98fb012ad7900390d7c6da7cbb829fabec 100644 (file)
@@ -50,6 +50,7 @@ public class PeriodHolderImpl implements PeriodHolder {
   @Override
   public Period getPeriod() {
     checkHolderIsInitialized();
+    checkState(period != null, "There is no period. Use hasPeriod() before calling this method");
     return period;
   }
 
index 92f8768d7c5f732fd85e079c75a5ac7e21d5d3c3..70284f87c7fd426158fdb33f7d0e74837ea96ca4 100644 (file)
@@ -96,7 +96,7 @@ public class LoadPeriodsStepTest extends BaseStepTest {
     // No project, no snapshot
     underTest.execute(new TestComputationStepContext());
 
-    assertThat(periodsHolder.getPeriod()).isNull();
+    assertThat(periodsHolder.hasPeriod()).isFalse();
   }
 
   @Test
@@ -128,7 +128,7 @@ public class LoadPeriodsStepTest extends BaseStepTest {
     settings.setProperty("sonar.leak.period", "UNKNWOWN VERSION");
     underTest.execute(new TestComputationStepContext());
 
-    assertThat(periodsHolder.getPeriod()).isNull();
+    assertThat(periodsHolder.hasPeriod()).isFalse();
   }
 
   @Test
@@ -141,7 +141,7 @@ public class LoadPeriodsStepTest extends BaseStepTest {
     settings.setProperty("sonar.leak.period", "");
     underTest.execute(new TestComputationStepContext());
 
-    assertThat(periodsHolder.getPeriod()).isNull();
+    assertThat(periodsHolder.hasPeriod()).isFalse();
   }
 
   @Test
@@ -154,7 +154,7 @@ public class LoadPeriodsStepTest extends BaseStepTest {
     settings.setProperty("sonar.leak.period", "100");
     underTest.execute(new TestComputationStepContext());
 
-    assertThat(periodsHolder.getPeriod()).isNull();
+    assertThat(periodsHolder.hasPeriod()).isFalse();
   }
 
   @Test
@@ -219,7 +219,7 @@ public class LoadPeriodsStepTest extends BaseStepTest {
     settings.setProperty("sonar.leak.period", "2008-11-30");
     underTest.execute(new TestComputationStepContext());
 
-    assertThat(periodsHolder.getPeriod()).isNull();
+    assertThat(periodsHolder.hasPeriod()).isFalse();
   }
 
   @Test
@@ -257,7 +257,7 @@ public class LoadPeriodsStepTest extends BaseStepTest {
     settings.setProperty("sonar.leak.period", "0");
     underTest.execute(new TestComputationStepContext());
 
-    assertThat(periodsHolder.getPeriod()).isNull();
+    assertThat(periodsHolder.hasPeriod()).isFalse();
   }
 
   @Test
@@ -322,7 +322,7 @@ public class LoadPeriodsStepTest extends BaseStepTest {
     settings.setProperty("sonar.leak.period", "previous_version");
     underTest.execute(new TestComputationStepContext());
 
-    assertThat(periodsHolder.getPeriod()).isNull();
+    assertThat(periodsHolder.hasPeriod()).isFalse();
   }
 
   @Test
@@ -401,7 +401,7 @@ public class LoadPeriodsStepTest extends BaseStepTest {
     settings.setProperty("sonar.leak.period", "0.8");
     underTest.execute(new TestComputationStepContext());
 
-    assertThat(periodsHolder.getPeriod()).isNull();
+    assertThat(periodsHolder.hasPeriod()).isFalse();
   }
 
   private void setupRoot(ComponentDto project) {