From: Stephane Gamard Date: Thu, 29 May 2014 01:38:03 +0000 (+0200) Subject: DAOv.2 - Added parent mapping in ActiveRule X-Git-Tag: 4.4-RC1~745 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=2796ecaf4b50b50f0ac164fcdd054e27def75243;p=sonarqube.git DAOv.2 - Added parent mapping in ActiveRule --- diff --git a/sonar-server/src/main/java/org/sonar/server/qualityprofile/index/ActiveRuleIndex.java b/sonar-server/src/main/java/org/sonar/server/qualityprofile/index/ActiveRuleIndex.java index cb504b3643c..d34cfef7f2e 100644 --- a/sonar-server/src/main/java/org/sonar/server/qualityprofile/index/ActiveRuleIndex.java +++ b/sonar-server/src/main/java/org/sonar/server/qualityprofile/index/ActiveRuleIndex.java @@ -96,20 +96,29 @@ public class ActiveRuleIndex extends BaseIndex mapping = new HashMap(); + mapping.put("dynamic", false); + mapping.put("_id", mapKey()); + mapping.put("_parent", mapParent()); + mapping.put("_routing",mapRouting()); + mapping.put("properties", mapProperties()); + return mapping; + } + private Map mapRouting() { + Map mapping = new HashMap(); + mapping.put("required", true); + mapping.put("path", ActiveRuleNormalizer.ActiveRuleField.RULE_KEY.field()); + return mapping; + } + + private Object mapParent() { + Map mapping = new HashMap(); + mapping.put("type", this.getParentType()); + return mapping; + } @Override public ActiveRule toDoc(Map fields) { diff --git a/sonar-server/src/main/java/org/sonar/server/search/BaseIndex.java b/sonar-server/src/main/java/org/sonar/server/search/BaseIndex.java index cf0e2079738..d6f93182c13 100644 --- a/sonar-server/src/main/java/org/sonar/server/search/BaseIndex.java +++ b/sonar-server/src/main/java/org/sonar/server/search/BaseIndex.java @@ -132,17 +132,14 @@ public abstract class BaseIndex, K extends Serializable> } - Map mapping = new HashMap(); - mapping.put("dynamic", false); - mapping.put("_id", mapKey()); - mapping.put("properties", mapProperties()); - LOG.debug("Index Mapping {}", mapping.get("properties")); + + LOG.info("Update of index {} for type {}", this.getIndexName(), this.getIndexType()); getClient().admin().indices().preparePutMapping(index) .setType(getIndexType()) .setIgnoreConflicts(true) - .setSource(mapping) + .setSource(mapDomain()) .get(); } catch (Exception e) { @@ -199,6 +196,15 @@ public abstract class BaseIndex, K extends Serializable> protected abstract Map mapKey(); + protected Map mapDomain(){ + Map mapping = new HashMap(); + mapping.put("dynamic", false); + mapping.put("_id", mapKey()); + mapping.put("properties", mapProperties()); + LOG.debug("Index Mapping {}", mapping.get("properties")); + return mapping; + } + protected Map mapField(IndexField field) { return mapField(field, true); }