From f49a935f1e586a4b71f931c13eb197d6ccdfdcff Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Tue, 21 Mar 2017 18:25:01 +0100 Subject: SONAR-8924 add and populate field "orgUuid" to ES index rules/activeRule --- .../server/qualityprofile/index/ActiveRuleDoc.java | 12 +++++++- .../qualityprofile/index/ActiveRuleIndex.java | 4 +-- .../index/ActiveRuleResultSetIterator.java | 21 ++++++++------ .../server/rule/index/RuleIndexDefinition.java | 2 ++ .../index/ActiveRuleResultSetIteratorTest.java | 33 +++++++++------------- 5 files changed, 40 insertions(+), 32 deletions(-) diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/index/ActiveRuleDoc.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/index/ActiveRuleDoc.java index 1c5760bfa4f..c50b6ee625a 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/index/ActiveRuleDoc.java +++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/index/ActiveRuleDoc.java @@ -27,6 +27,7 @@ import org.sonar.server.qualityprofile.ActiveRule; import static com.google.common.base.Preconditions.checkNotNull; import static org.apache.commons.lang.StringUtils.containsIgnoreCase; +import static org.sonar.server.rule.index.RuleIndexDefinition.FIELD_ACTIVE_ORGANIZATION_UUID; import static org.sonar.server.rule.index.RuleIndexDefinition.FIELD_ACTIVE_RULE_CREATED_AT; import static org.sonar.server.rule.index.RuleIndexDefinition.FIELD_ACTIVE_RULE_INHERITANCE; import static org.sonar.server.rule.index.RuleIndexDefinition.FIELD_ACTIVE_RULE_KEY; @@ -41,7 +42,7 @@ public class ActiveRuleDoc extends BaseDoc { private final ActiveRuleKey key; public ActiveRuleDoc(ActiveRuleKey key) { - super(Maps.newHashMapWithExpectedSize(8)); + super(Maps.newHashMapWithExpectedSize(9)); checkNotNull(key, "ActiveRuleKey cannot be null"); this.key = key; setField(FIELD_ACTIVE_RULE_KEY, key.toString()); @@ -69,6 +70,15 @@ public class ActiveRuleDoc extends BaseDoc { return key; } + String organizationUuid() { + return getField(FIELD_ACTIVE_ORGANIZATION_UUID); + } + + public ActiveRuleDoc setOrganizationUuid(String s) { + setField(FIELD_ACTIVE_ORGANIZATION_UUID, s); + return this; + } + String severity() { return getNullableField(FIELD_ACTIVE_RULE_SEVERITY); } diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/index/ActiveRuleIndex.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/index/ActiveRuleIndex.java index 0a05940133f..9bd7dc1fb3f 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/index/ActiveRuleIndex.java +++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/index/ActiveRuleIndex.java @@ -63,8 +63,8 @@ public class ActiveRuleIndex extends BaseIndex { public Map countAllByQualityProfileKey() { return countByField(FIELD_ACTIVE_RULE_PROFILE_KEY, QueryBuilders.hasParentQuery(INDEX_TYPE_RULE.getType(), - QueryBuilders.boolQuery().mustNot( - QueryBuilders.termQuery(FIELD_RULE_STATUS, RuleStatus.REMOVED.name())))); + QueryBuilders.boolQuery() + .mustNot(QueryBuilders.termQuery(FIELD_RULE_STATUS, RuleStatus.REMOVED.name())))); } public Map countAllDeprecatedByQualityProfileKey() { diff --git a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/index/ActiveRuleResultSetIterator.java b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/index/ActiveRuleResultSetIterator.java index 2eddad484d6..ac003881fde 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/index/ActiveRuleResultSetIterator.java +++ b/server/sonar-server/src/main/java/org/sonar/server/qualityprofile/index/ActiveRuleResultSetIterator.java @@ -37,11 +37,11 @@ import org.sonar.server.qualityprofile.ActiveRule; public class ActiveRuleResultSetIterator extends ResultSetIterator { private static final String[] FIELDS = { - // column 1 "a.failure_level", "a.inheritance", - "r.plugin_rule_key", "r.plugin_name", + "r.plugin_rule_key", + "qp.organization_uuid", "qp.kee", "a.created_at", "a.updated_at" @@ -72,19 +72,22 @@ public class ActiveRuleResultSetIterator extends ResultSetIterator activeRulesByKey(ActiveRuleResultSetIterator it) { - return Maps.uniqueIndex(it, DocToKey.INSTANCE); - } - - private enum DocToKey implements Function { - INSTANCE; - - @Override - public ActiveRuleKey apply(@Nonnull ActiveRuleDoc doc) { - return doc.key(); - } + return Maps.uniqueIndex(it, ActiveRuleDoc::key); } } -- cgit v1.2.3