From f1f08d1b4784231d1b594a724237185977f64114 Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Thu, 30 Mar 2017 17:22:01 +0200 Subject: [PATCH] SONAR-9052 Add field "organization" to index issues/issue --- .../org/sonar/server/issue/index/IssueDoc.java | 16 +++++++++++++--- .../server/issue/index/IssueIndexDefinition.java | 2 ++ .../org/sonar/server/issue/IssueDocTesting.java | 1 + 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueDoc.java b/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueDoc.java index bf4843bd49c..914db627bec 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueDoc.java +++ b/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueDoc.java @@ -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; + } } diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueIndexDefinition.java b/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueIndexDefinition.java index 5e7c33291a5..7c7cbe03d35 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueIndexDefinition.java +++ b/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueIndexDefinition.java @@ -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(); diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/IssueDocTesting.java b/server/sonar-server/src/test/java/org/sonar/server/issue/IssueDocTesting.java index 7ba999549bc..1f0f41b5099 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/issue/IssueDocTesting.java +++ b/server/sonar-server/src/test/java/org/sonar/server/issue/IssueDocTesting.java @@ -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); } -- 2.39.5