]> source.dussan.org Git - sonarqube.git/commitdiff
Improve code quality
authorDuarte Meneses <duarte.meneses@sonarsource.com>
Tue, 11 Dec 2018 15:33:34 +0000 (09:33 -0600)
committersonartech <sonartech@sonarsource.com>
Wed, 16 Jan 2019 08:43:08 +0000 (09:43 +0100)
server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/component/ComponentKeyGenerator.java
server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/component/DefaultBranchImpl.java
server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/issue/TrackerBaseInputFactory.java
server/sonar-server/src/main/java/org/sonar/server/component/ws/TreeAction.java
sonar-core/src/main/java/org/sonar/core/component/ComponentKeys.java
sonar-scanner-engine/src/test/java/org/sonar/scanner/scan/DefaultInputModuleHierarchyTest.java

index 482b60e701b5d9f11f345369e922732d1bb23d85..fb8d15cc9bfce6213a70479edb8d79bb68864c40 100644 (file)
@@ -20,7 +20,6 @@
 package org.sonar.ce.task.projectanalysis.component;
 
 import javax.annotation.Nullable;
-import org.sonar.scanner.protocol.output.ScannerReport;
 
 @FunctionalInterface
 public interface ComponentKeyGenerator {
index 1d485c4155d9d3790bb72bf46b43f5874917fa0b..09c83904ac0a970a4ea81cde9955a70449fcee39 100644 (file)
@@ -26,7 +26,6 @@ import org.sonar.ce.task.projectanalysis.analysis.Branch;
 import org.sonar.core.component.ComponentKeys;
 import org.sonar.db.component.BranchDto;
 import org.sonar.db.component.BranchType;
-import org.sonar.scanner.protocol.output.ScannerReport;
 
 import static java.lang.String.format;
 import static org.apache.commons.lang.StringUtils.isEmpty;
index 844854ff0e48dbabeeb1d89bc888ea1e3983b85f..903ef07513e5b9692c8aa5b5140a79a753161270 100644 (file)
@@ -79,7 +79,7 @@ public class TrackerBaseInputFactory extends BaseInputFactory {
 
   }
 
-  private class EmptyTrackerBaseLazyInput extends BaseLazyInput {
+  private static class EmptyTrackerBaseLazyInput extends BaseLazyInput {
 
     private EmptyTrackerBaseLazyInput(DbClient dbClient, Component component) {
       super(dbClient, component, null);
index 96f153ee5c21dbaf9b649feb678c85e37057a007..f8b2f56288f339d44b00445a31336a0d192fe041 100644 (file)
@@ -31,11 +31,9 @@ import java.util.Map;
 import java.util.Objects;
 import java.util.Optional;
 import java.util.Set;
-import java.util.stream.Collectors;
 import javax.annotation.CheckForNull;
 import javax.annotation.Nullable;
 import org.sonar.api.i18n.I18n;
-import org.sonar.api.resources.Qualifiers;
 import org.sonar.api.resources.ResourceTypes;
 import org.sonar.api.server.ws.Change;
 import org.sonar.api.server.ws.Response;
@@ -69,8 +67,8 @@ import static org.sonar.server.component.ws.ComponentDtoToWsComponent.componentD
 import static org.sonar.server.ws.KeyExamples.KEY_BRANCH_EXAMPLE_001;
 import static org.sonar.server.ws.KeyExamples.KEY_PROJECT_EXAMPLE_001;
 import static org.sonar.server.ws.KeyExamples.KEY_PULL_REQUEST_EXAMPLE_001;
-import static org.sonar.server.ws.WsParameterBuilder.createQualifiersParameter;
 import static org.sonar.server.ws.WsParameterBuilder.QualifierParameterContext.newQualifierParameterContext;
+import static org.sonar.server.ws.WsParameterBuilder.createQualifiersParameter;
 import static org.sonar.server.ws.WsUtils.checkRequest;
 import static org.sonar.server.ws.WsUtils.writeProtobuf;
 import static org.sonarqube.ws.client.component.ComponentsWsParameters.ACTION_TREE;
@@ -116,8 +114,8 @@ public class TreeAction implements ComponentsWsAction {
   public void define(WebService.NewController context) {
     WebService.NewAction action = context.createAction(ACTION_TREE)
       .setDescription(format("Navigate through components based on the chosen strategy. The %s or the %s parameter must be provided.<br>" +
-        "Requires the following permission: 'Browse' on the specified project.<br>" +
-        "When limiting search with the %s parameter, directories are not returned.",
+          "Requires the following permission: 'Browse' on the specified project.<br>" +
+          "When limiting search with the %s parameter, directories are not returned.",
         PARAM_COMPONENT_ID, PARAM_COMPONENT, Param.TEXT_QUERY))
       .setSince("5.4")
       .setResponseExample(getClass().getResource("tree-example.json"))
index 79534000e308da61af5f45f7eb60a5005eadc937..93cbbe0439f0a68861fe46c9c00f38a7dec62fb0 100644 (file)
@@ -73,7 +73,6 @@ public final class ComponentKeys {
    * <li>At least one non-digit</li>
    * </ul>
    *
-   * @param keyCandidate
    * @return <code>true</code> if <code>keyCandidate</code> can be used for a project
    */
   public static boolean isValidProjectKey(String keyCandidate) {
@@ -110,7 +109,6 @@ public final class ComponentKeys {
    * </li>
    * </ul>
    *
-   * @param branchCandidate
    * @return <code>true</code> if <code>branchCandidate</code> can be used for a project
    */
   public static boolean isValidBranch(String branchCandidate) {
@@ -119,10 +117,6 @@ public final class ComponentKeys {
 
   /**
    * Return the project key with potential branch
-   *
-   * @param keyWithoutBranch
-   * @param branch
-   * @return
    */
   public static String createKey(String keyWithoutBranch, @Nullable String branch) {
     if (StringUtils.isNotBlank(branch)) {
index 206fbb8fd2c15966080f7a2acadcef7ae4cb6f15..87da83b2cd573b6f41c5ad7e02ee48f9397cb91f 100644 (file)
  */
 package org.sonar.scanner.scan;
 
+import java.io.File;
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
+import org.apache.commons.io.FileUtils;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
@@ -75,4 +77,34 @@ public class DefaultInputModuleHierarchyTest {
     assertThat(moduleHierarchy.parent(root)).isNull();
     assertThat(moduleHierarchy.root()).isEqualTo(root);
   }
+
+  @Test
+  public void testRelativePathToRoot() throws IOException {
+    File rootBaseDir = temp.newFolder();
+    File mod1BaseDir = new File(rootBaseDir, "mod1");
+    File mod2BaseDir = new File(rootBaseDir, "mod2");
+    FileUtils.forceMkdir(mod1BaseDir);
+    FileUtils.forceMkdir(mod2BaseDir);
+    DefaultInputModule root = new DefaultInputModule(ProjectDefinition.create().setKey("root")
+      .setBaseDir(rootBaseDir).setWorkDir(rootBaseDir));
+    DefaultInputModule mod1 = new DefaultInputModule(ProjectDefinition.create().setKey("mod1")
+      .setBaseDir(mod1BaseDir).setWorkDir(temp.newFolder()));
+    DefaultInputModule mod2 = new DefaultInputModule(ProjectDefinition.create().setKey("mod2")
+      .setBaseDir(mod2BaseDir).setWorkDir(temp.newFolder()));
+    DefaultInputModule mod3 = new DefaultInputModule(ProjectDefinition.create().setKey("mod2")
+      .setBaseDir(temp.newFolder()).setWorkDir(temp.newFolder()));
+
+    Map<DefaultInputModule, DefaultInputModule> parents = new HashMap<>();
+
+    parents.put(mod1, root);
+    parents.put(mod2, mod1);
+    parents.put(mod3, mod1);
+
+    moduleHierarchy = new DefaultInputModuleHierarchy(root, parents);
+
+    assertThat(moduleHierarchy.relativePathToRoot(root)).isEqualTo("");
+    assertThat(moduleHierarchy.relativePathToRoot(mod1)).isEqualTo("mod1");
+    assertThat(moduleHierarchy.relativePathToRoot(mod2)).isEqualTo("mod2");
+    assertThat(moduleHierarchy.relativePathToRoot(mod3)).isNull();
+  }
 }