diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/index/mapper/json/JsonDocumentMapper.java b/modules/elasticsearch/src/main/java/org/elasticsearch/index/mapper/json/JsonDocumentMapper.java index ee36ad095a5..cd7cc703aa5 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/index/mapper/json/JsonDocumentMapper.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/index/mapper/json/JsonDocumentMapper.java @@ -394,6 +394,6 @@ public class JsonDocumentMapper implements DocumentMapper, ToJson { } @Override public void toJson(JsonBuilder builder, Params params) throws IOException { - rootObjectMapper.toJson(builder, params, allFieldMapper); + rootObjectMapper.toJson(builder, params, allFieldMapper, sourceFieldMapper); } } diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/index/mapper/json/JsonDocumentMapperParser.java b/modules/elasticsearch/src/main/java/org/elasticsearch/index/mapper/json/JsonDocumentMapperParser.java index 5dd2705001e..51087f9cc3a 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/index/mapper/json/JsonDocumentMapperParser.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/index/mapper/json/JsonDocumentMapperParser.java @@ -43,7 +43,7 @@ import static org.elasticsearch.index.mapper.json.JsonMapperBuilders.*; import static org.elasticsearch.util.json.JacksonNodes.*; /** - * @author kimchy (Shay Banon) + * @author kimchy (shay.banon) */ public class JsonDocumentMapperParser implements DocumentMapperParser { @@ -197,6 +197,9 @@ public class JsonDocumentMapperParser implements DocumentMapperParser { Map.Entry entry = fieldsIt.next(); String fieldName = entry.getKey(); JsonNode fieldNode = entry.getValue(); + if (fieldName.equals("enabled")) { + builder.enabled(nodeBooleanValue(fieldNode)); + } // if (fieldName.equals("compressionThreshold")) { // builder.compressionThreshold(nodeIn...); // } else if (fieldName.equals("compressionType")) { diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/index/mapper/json/JsonSourceFieldMapper.java b/modules/elasticsearch/src/main/java/org/elasticsearch/index/mapper/json/JsonSourceFieldMapper.java index de26490a281..9266d81057a 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/index/mapper/json/JsonSourceFieldMapper.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/index/mapper/json/JsonSourceFieldMapper.java @@ -28,7 +28,7 @@ import org.elasticsearch.util.lucene.Lucene; import java.io.IOException; /** - * @author kimchy (Shay Banon) + * @author kimchy (shay.banon) */ public class JsonSourceFieldMapper extends JsonFieldMapper implements SourceFieldMapper { @@ -51,11 +51,10 @@ public class JsonSourceFieldMapper extends JsonFieldMapper implements So super(Defaults.NAME); } - // source is always enabled for now -// public Builder enabled(boolean enabled) { -// this.enabled = enabled; -// return this; -// } + public Builder enabled(boolean enabled) { + this.enabled = enabled; + return this; + } @Override public JsonSourceFieldMapper build(BuilderContext context) { return new JsonSourceFieldMapper(name, enabled); @@ -130,7 +129,10 @@ public class JsonSourceFieldMapper extends JsonFieldMapper implements So } @Override public void toJson(JsonBuilder builder, Params params) throws IOException { - // for now, don't output it at all + builder.startObject(jsonType()); + builder.field("name", name()); + builder.field("enabled", enabled); + builder.endObject(); } @Override public void merge(JsonMapper mergeWith, JsonMergeContext mergeContext) throws MergeMappingException {