]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-9052 Add field "organization" to index issues/issue
authorSimon Brandhof <simon.brandhof@sonarsource.com>
Thu, 30 Mar 2017 15:22:01 +0000 (17:22 +0200)
committerSimon Brandhof <simon.brandhof@sonarsource.com>
Fri, 31 Mar 2017 09:43:25 +0000 (11:43 +0200)
server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueDoc.java
server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueIndexDefinition.java
server/sonar-server/src/test/java/org/sonar/server/issue/IssueDocTesting.java

index bf4843bd49c4589d2e10efaa413c0c8544749622..914db627becc79b9e9dd8137cc9fd037a065a76b 100644 (file)
@@ -44,7 +44,7 @@ public class IssueDoc extends BaseDoc implements Issue {
   }
 
   public IssueDoc() {
-    super(Maps.newHashMap());
+    super(Maps.newHashMapWithExpectedSize(30));
   }
 
   @Override
@@ -98,7 +98,7 @@ public class IssueDoc extends BaseDoc implements Issue {
 
   @Override
   public RuleKey ruleKey() {
-    return RuleKey.parse((String) getField(IssueIndexDefinition.FIELD_ISSUE_RULE_KEY));
+    return RuleKey.parse(getField(IssueIndexDefinition.FIELD_ISSUE_RULE_KEY));
   }
 
   @Override
@@ -112,7 +112,7 @@ public class IssueDoc extends BaseDoc implements Issue {
   }
 
   public boolean isManualSeverity() {
-    return BooleanUtils.isTrue((Boolean) getField(IssueIndexDefinition.FIELD_ISSUE_MANUAL_SEVERITY));
+    return BooleanUtils.isTrue(getField(IssueIndexDefinition.FIELD_ISSUE_MANUAL_SEVERITY));
   }
 
   @Nullable
@@ -272,6 +272,11 @@ public class IssueDoc extends BaseDoc implements Issue {
     return getNullableField(IssueIndexDefinition.FIELD_ISSUE_DIRECTORY_PATH);
   }
 
+  @CheckForNull
+  public String organizationUuid() {
+    return getNullableField(IssueIndexDefinition.FIELD_ISSUE_ORGANIZATION_UUID);
+  }
+
   public IssueDoc setKey(@Nullable String s) {
     setField(IssueIndexDefinition.FIELD_ISSUE_KEY, s);
     return this;
@@ -417,4 +422,9 @@ public class IssueDoc extends BaseDoc implements Issue {
     setField(IssueIndexDefinition.FIELD_ISSUE_TYPE, type.toString());
     return this;
   }
+
+  public IssueDoc setOrganizationUuid(String s) {
+    setField(IssueIndexDefinition.FIELD_ISSUE_ORGANIZATION_UUID, s);
+    return this;
+  }
 }
index 5e7c33291a5a66dc974f24e0da1a2c204a388509..7c7cbe03d355147bef5bb7c140fc0d8ad044feaa 100644 (file)
@@ -57,6 +57,7 @@ public class IssueIndexDefinition implements IndexDefinition {
   public static final String FIELD_ISSUE_MESSAGE = "message";
   public static final String FIELD_ISSUE_MODULE_UUID = "module";
   public static final String FIELD_ISSUE_MODULE_PATH = "modulePath";
+  public static final String FIELD_ISSUE_ORGANIZATION_UUID = "organization";
   public static final String FIELD_ISSUE_PROJECT_UUID = "project";
   public static final String FIELD_ISSUE_DIRECTORY_PATH = "dirPath";
   public static final String FIELD_ISSUE_RESOLUTION = "resolution";
@@ -105,6 +106,7 @@ public class IssueIndexDefinition implements IndexDefinition {
     type.stringFieldBuilder(FIELD_ISSUE_MESSAGE).disableNorms().build();
     type.stringFieldBuilder(FIELD_ISSUE_MODULE_UUID).disableNorms().build();
     type.createUuidPathField(FIELD_ISSUE_MODULE_PATH);
+    type.stringFieldBuilder(FIELD_ISSUE_ORGANIZATION_UUID).build();
     type.stringFieldBuilder(FIELD_ISSUE_PROJECT_UUID).disableNorms().addSubFields(SORTABLE_ANALYZER).build();
     type.stringFieldBuilder(FIELD_ISSUE_DIRECTORY_PATH).disableNorms().build();
     type.stringFieldBuilder(FIELD_ISSUE_RESOLUTION).disableNorms().build();
index 7ba999549bc497198728f9db3b315f2f9ea035c6..1f0f41b509942eef9f03c810fdf17bf57d80b313 100644 (file)
@@ -69,6 +69,7 @@ public class IssueDocTesting {
       .setModuleUuid(!componentDto.scope().equals(Scopes.PROJECT) ? componentDto.moduleUuid() : componentDto.uuid())
       .setModuleUuidPath(componentDto.moduleUuidPath())
       .setProjectUuid(componentDto.projectUuid())
+      .setOrganizationUuid(componentDto.getOrganizationUuid())
       // File path make no sens on modules and projects
       .setFilePath(!componentDto.scope().equals(Scopes.PROJECT) ? componentDto.path() : null);
   }