Skip to content

Commit

Permalink
Moved content builders to better package
Browse files Browse the repository at this point in the history
  • Loading branch information
sksamuel committed Mar 30, 2020
1 parent e42ad90 commit 919875f
Show file tree
Hide file tree
Showing 162 changed files with 217 additions and 177 deletions.
Expand Up @@ -4,7 +4,7 @@ import java.io.InputStream
import java.nio.charset.Charset
import java.util.zip.GZIPInputStream

import com.sksamuel.elastic4s.{ElasticClient, ElasticNodeEndpoint, ElasticProperties, ElasticRequest, HttpClient, HttpEntity, HttpResponse, Show}
import com.sksamuel.elastic4s.{ElasticNodeEndpoint, ElasticProperties, ElasticRequest, HttpClient, HttpEntity, HttpResponse, Show}
import com.sksamuel.exts.Logging
import org.apache.http.HttpHost
import org.apache.http.client.config.RequestConfig
Expand Down
@@ -1,5 +1,6 @@
package com.sksamuel.elastic4s

import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.requests.common.DistanceUnit
import com.sksamuel.elastic4s.requests.searches.QueryRescoreMode.{Avg, Max, Min, Multiply, Total}
import com.sksamuel.elastic4s.requests.searches.aggs.{HistogramOrder, SubAggCollectionMode, TermsOrder}
Expand Down
Expand Up @@ -8,7 +8,7 @@ import com.sksamuel.exts.Logging
import scala.io.Source

/**
* A typeclass for an underlying http client so that it can be used by the ElasticClient.
* A typeclass for an underlying http client so that it can be used by the [[ElasticClient]].
* The idea is that this trait can be used to wrap a HTTP library such as Apache HTTP commons, or
* Akka HTTP client or whatever. The wrapped client can then be passed into the ElasticClient.
*/
Expand All @@ -21,13 +21,13 @@ trait HttpClient extends Logging {
*
* The callback function should be invoked with a HttpResponse for all requests that received
* a response, including 4xx and 5xx responses. The callback function should only be invoked
* with an exception if the client failed.
* with an exception if the client could not complete the request.
*/
def send(request: ElasticRequest, callback: Either[Throwable, HttpResponse] => Unit): Unit

/**
* Closes the underlying http client. Can be a no-op if the underlying client does not have
* state that needs to be closed
* state that needs to be closed.
*/
def close(): Unit
}
Expand Down
@@ -1,7 +1,9 @@
package com.sksamuel.elastic4s

/**
* A Typeclass that is used by index requests to convert a type into a document for use by Elasticsearch
* A Typeclass that is used by index requests to convert a type into a document for use by Elasticsearch.
*
* Indexables can be automatically derived if you add a module like `elastic4s-json-jackson` or `elastic4s-json-circe`.
*/
trait Indexable[T] {
def json(t: T): String
Expand Down
@@ -1,4 +1,4 @@
package com.sksamuel.elastic4s
package com.sksamuel.elastic4s.json

object SourceAsContentBuilder {

Expand Down
@@ -1,10 +1,11 @@
package com.sksamuel.elastic4s
package com.sksamuel.elastic4s.json

import java.util

import com.fasterxml.jackson.databind.JsonNode
import com.fasterxml.jackson.databind.node.{ArrayNode, ObjectNode}
import com.fasterxml.jackson.databind.util.RawValue
import com.sksamuel.elastic4s.JacksonSupport

object XContentFactory {
def jsonBuilder(): XContentBuilder = obj()
Expand Down
@@ -1,4 +1,6 @@
package com.sksamuel.elastic4s
package com.sksamuel.elastic4s.json

import com.sksamuel.elastic4s.{ArrayFieldValue, FieldValue, NestedFieldValue, NullFieldValue, SimpleFieldValue}

object XContentFieldValueWriter {
def apply(source: XContentBuilder, value: FieldValue): Unit = value match {
Expand Down
@@ -1,6 +1,6 @@
package com.sksamuel.elastic4s.requests.analysis

import com.sksamuel.elastic4s.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}

case class Analysis(analyzers: List[Analyzer],
tokenizers: List[Tokenizer] = Nil,
Expand Down
@@ -1,6 +1,6 @@
package com.sksamuel.elastic4s.requests.analysis

import com.sksamuel.elastic4s.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}

/**
* When the built-in analyzers do not fulfil your needs, you can create a custom analyzer
Expand Down
@@ -1,6 +1,6 @@
package com.sksamuel.elastic4s.requests.analysis

import com.sksamuel.elastic4s.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}

trait Normalizer {
def name: String
Expand Down
@@ -1,6 +1,6 @@
package com.sksamuel.elastic4s.requests.analysis

import com.sksamuel.elastic4s.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}
import com.sksamuel.exts.OptionImplicits._

trait TokenFilter {
Expand Down
@@ -1,6 +1,6 @@
package com.sksamuel.elastic4s.requests.analysis

import com.sksamuel.elastic4s.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}

trait Tokenizer {
def name: String
Expand Down
@@ -1,6 +1,6 @@
package com.sksamuel.elastic4s.requests.analysis

import com.sksamuel.elastic4s.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}

trait Analyzer {
def name: String
Expand Down
@@ -1,6 +1,6 @@
package com.sksamuel.elastic4s.requests.analysis

import com.sksamuel.elastic4s.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}

trait CharFilter {
def name: String
Expand Down
@@ -1,6 +1,6 @@
package com.sksamuel.elastic4s.requests.analyzers

import com.sksamuel.elastic4s.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}

@deprecated("use new analysis package", "7.0.1")
abstract class AnalyzerDefinition(val name: String) {
Expand Down
@@ -1,6 +1,6 @@
package com.sksamuel.elastic4s.requests.analyzers

import com.sksamuel.elastic4s.XContentBuilder
import com.sksamuel.elastic4s.json.XContentBuilder

@deprecated("use new analysis package", "7.0.1")
abstract class LanguageAnalyzerDef(override val name: String, stopwords: Iterable[String] = Nil)
Expand Down
@@ -1,6 +1,6 @@
package com.sksamuel.elastic4s.requests.analyzers

import com.sksamuel.elastic4s.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}

@deprecated("use new analysis package", "7.0.1")
abstract class NormalizerDefinition(val name: String) {
Expand Down
@@ -1,6 +1,6 @@
package com.sksamuel.elastic4s.requests.analyzers

import com.sksamuel.elastic4s.XContentBuilder
import com.sksamuel.elastic4s.json.XContentBuilder
import com.sksamuel.exts.OptionImplicits._

trait TokenFilter extends AnalyzerFilter
Expand Down
@@ -1,6 +1,6 @@
package com.sksamuel.elastic4s.requests.analyzers

import com.sksamuel.elastic4s.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}

@deprecated("use new analysis package", "7.0.1")
abstract class Tokenizer(val name: String) {
Expand Down
@@ -1,6 +1,6 @@
package com.sksamuel.elastic4s.requests.analyzers

import com.sksamuel.elastic4s.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}

trait AnalyzerFilter {
def name: String
Expand Down
@@ -1,6 +1,6 @@
package com.sksamuel.elastic4s.requests.bulk

import com.sksamuel.elastic4s.XContentFactory
import com.sksamuel.elastic4s.json.XContentFactory
import com.sksamuel.elastic4s.requests.delete.DeleteByIdRequest
import com.sksamuel.elastic4s.requests.indexes.{IndexContentBuilder, IndexRequest, VersionTypeHttpString}
import com.sksamuel.elastic4s.requests.update.{UpdateBuilderFn, UpdateRequest}
Expand Down
@@ -1,6 +1,6 @@
package com.sksamuel.elastic4s.requests.cluster

import com.sksamuel.elastic4s.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}

case class ClusterSettingsRequest(persistentSettings: Map[String, String], transientSettings: Map[String, String]) {

Expand Down
@@ -1,6 +1,6 @@
package com.sksamuel.elastic4s.requests.common

import com.sksamuel.elastic4s.XContentBuilder
import com.sksamuel.elastic4s.json.XContentBuilder

// takes a FetchSourceContext and returns the appropriate json
// https://www.elastic.co/guide/en/elasticsearch/reference/5.6/search-request-source-filtering.html
Expand Down
@@ -1,7 +1,7 @@
package com.sksamuel.elastic4s.requests.count

import com.sksamuel.elastic4s.requests.searches.queries.QueryBuilderFn
import com.sksamuel.elastic4s.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}

object CountBodyBuilderFn {
def apply(request: CountRequest): XContentBuilder = {
Expand Down
Expand Up @@ -2,10 +2,11 @@ package com.sksamuel.elastic4s.requests.delete

import java.net.URLEncoder

import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.requests.common.RefreshPolicyHttpValue
import com.sksamuel.elastic4s.requests.indexes.VersionTypeHttpString
import com.sksamuel.elastic4s.requests.searches.queries.QueryBuilderFn
import com.sksamuel.elastic4s.{ElasticError, ElasticRequest, Handler, HttpEntity, HttpResponse, ResponseHandler, XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.{ElasticError, ElasticRequest, Handler, HttpEntity, HttpResponse, ResponseHandler}

object DeleteByQueryBodyFn {
def apply(request: DeleteByQueryRequest): XContentBuilder = {
Expand Down
@@ -1,7 +1,7 @@
package com.sksamuel.elastic4s.requests.explain

import com.sksamuel.elastic4s.requests.searches.queries.QueryBuilderFn
import com.sksamuel.elastic4s.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}

object ExplainBodyFn {
def apply(v: ExplainRequest): XContentBuilder = {
Expand Down
@@ -1,7 +1,8 @@
package com.sksamuel.elastic4s.requests.get

import com.fasterxml.jackson.annotation.JsonProperty
import com.sksamuel.elastic4s.{Hit, SourceAsContentBuilder}
import com.sksamuel.elastic4s.Hit
import com.sksamuel.elastic4s.json.SourceAsContentBuilder

case class GetResponse(@JsonProperty("_id") id: String,
@JsonProperty("_index") index: String,
Expand Down
@@ -1,6 +1,6 @@
package com.sksamuel.elastic4s.requests.get

import com.sksamuel.elastic4s.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}

object MultiGetBodyBuilder {
def apply(request: MultiGetRequest): XContentBuilder = {
Expand Down
@@ -1,6 +1,6 @@
package com.sksamuel.elastic4s.requests.indexes

import com.sksamuel.elastic4s.XContentBuilder
import com.sksamuel.elastic4s.json.XContentBuilder

@deprecated("use new analysis package", "7.0.1")
object AnalysisBuilderFn {
Expand Down
Expand Up @@ -3,7 +3,7 @@ package com.sksamuel.elastic4s.requests.indexes
import com.sksamuel.elastic4s.requests.analysis.AnalysisBuilder
import com.sksamuel.elastic4s.requests.mappings.MappingBuilderFn
import com.sksamuel.elastic4s.requests.searches.queries.QueryBuilderFn
import com.sksamuel.elastic4s.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}

object CreateIndexContentBuilder {

Expand Down
@@ -1,6 +1,6 @@
package com.sksamuel.elastic4s.requests.indexes

import com.sksamuel.elastic4s.{XContentFactory, XContentFieldValueWriter}
import com.sksamuel.elastic4s.json.{XContentFactory, XContentFieldValueWriter}

object IndexContentBuilder {
def apply(request: IndexRequest): String =
Expand Down
@@ -1,10 +1,11 @@
package com.sksamuel.elastic4s.requests.indexes

import com.fasterxml.jackson.annotation.JsonProperty
import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.requests.analysis.AnalysisBuilder
import com.sksamuel.elastic4s.requests.mappings.MappingBuilderFn
import com.sksamuel.elastic4s.requests.searches.queries.QueryBuilderFn
import com.sksamuel.elastic4s.{ElasticError, ElasticRequest, Handler, HttpEntity, HttpResponse, ResponseHandler, XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.{ElasticError, ElasticRequest, Handler, HttpEntity, HttpResponse, ResponseHandler}

case class CreateIndexTemplateResponse(acknowledged: Boolean)
case class DeleteIndexTemplateResponse()
Expand Down
@@ -1,7 +1,7 @@
package com.sksamuel.elastic4s.requests.indexes

import com.sksamuel.elastic4s.requests.mappings.{MappingBuilderFn, PutMappingRequest}
import com.sksamuel.elastic4s.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}

object PutMappingBuilderFn {

Expand Down
@@ -1,8 +1,9 @@
package com.sksamuel.elastic4s.requests.indexes

import com.fasterxml.jackson.annotation.JsonProperty
import com.sksamuel.elastic4s.json.XContentFactory
import com.sksamuel.elastic4s.requests.admin.RolloverIndexRequest
import com.sksamuel.elastic4s.{ElasticRequest, Handler, HttpEntity, XContentFactory}
import com.sksamuel.elastic4s.{ElasticRequest, Handler, HttpEntity}

case class RolloverResponse(@JsonProperty("old_index") oldIndex: String,
@JsonProperty("new_index") newIndex: String,
Expand Down
@@ -1,7 +1,7 @@
package com.sksamuel.elastic4s.requests.indexes

import com.sksamuel.elastic4s.requests.admin.UpdateIndexLevelSettingsRequest
import com.sksamuel.elastic4s.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}

object UpdateIndexLevelSettingsBuilder {

Expand Down
Expand Up @@ -2,11 +2,12 @@ package com.sksamuel.elastic4s.requests.indexes.admin

import java.net.URLEncoder

import com.sksamuel.elastic4s.json.XContentFactory
import com.sksamuel.elastic4s.requests.admin.{AliasExistsRequest, ClearCacheRequest, CloseIndexRequest, FlushIndexRequest, GetSegmentsRequest, IndexShardStoreRequest, IndicesExistsRequest, OpenIndexRequest, RefreshIndexRequest, ShrinkIndexRequest, TypesExistsRequest, UpdateIndexLevelSettingsRequest}
import com.sksamuel.elastic4s.requests.common.IndicesOptionsParams
import com.sksamuel.elastic4s.requests.indexes._
import com.sksamuel.elastic4s.requests.indexes.admin.IndexShardStoreResponse.StoreStatusResponse
import com.sksamuel.elastic4s.{ElasticError, ElasticRequest, Handler, HttpEntity, HttpResponse, ResponseHandler, XContentFactory}
import com.sksamuel.elastic4s.{ElasticError, ElasticRequest, Handler, HttpEntity, HttpResponse, ResponseHandler}

case class ShrinkIndexResponse()

Expand Down
Expand Up @@ -2,7 +2,7 @@ package com.sksamuel.elastic4s.requests.indexes.alias

import com.sksamuel.elastic4s.requests.alias.{AddAliasActionRequest, IndicesAliasesRequest, RemoveAliasAction}
import com.sksamuel.elastic4s.requests.searches.queries.QueryBuilderFn
import com.sksamuel.elastic4s.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}

object AliasActionBuilder {

Expand Down
@@ -1,6 +1,6 @@
package com.sksamuel.elastic4s.requests.mappings

import com.sksamuel.elastic4s.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}

object CommonFieldBuilder {

Expand Down
@@ -1,7 +1,7 @@
package com.sksamuel.elastic4s.requests.mappings

import com.sksamuel.elastic4s.requests.mappings.dynamictemplate.{DynamicMapping, DynamicTemplateBodyFn}
import com.sksamuel.elastic4s.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}

object MappingBuilderFn {

Expand Down
@@ -1,7 +1,7 @@
package com.sksamuel.elastic4s.requests.mappings.dynamictemplate

import com.sksamuel.elastic4s.requests.mappings.FieldBuilderFn
import com.sksamuel.elastic4s.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}

object DynamicTemplateBodyFn {

Expand Down
Expand Up @@ -2,7 +2,7 @@ package com.sksamuel.elastic4s.requests.reindex

import com.sksamuel.elastic4s.requests.script.ScriptBuilderFn
import com.sksamuel.elastic4s.requests.searches.queries.QueryBuilderFn
import com.sksamuel.elastic4s.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}

object ReindexBuilderFn {

Expand Down
@@ -1,6 +1,6 @@
package com.sksamuel.elastic4s.requests.script

import com.sksamuel.elastic4s.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}

object ScriptBuilderFn {

Expand Down
@@ -1,7 +1,7 @@
package com.sksamuel.elastic4s.requests.searches

import com.sksamuel.elastic4s.json.{XContentBuilder, XContentFactory}
import com.sksamuel.elastic4s.requests.searches.queries.QueryBuilderFn
import com.sksamuel.elastic4s.{XContentBuilder, XContentFactory}

object HighlightBuilderFn {

Expand Down

0 comments on commit 919875f

Please sign in to comment.