Skip to content

Commit 08971cb

Browse files
committed
add java client helpers, add ElasticsearchConversion, update java client implementations to use ElasticResult
1 parent 9bef031 commit 08971cb

File tree

13 files changed

+2194
-1270
lines changed

13 files changed

+2194
-1270
lines changed

core/src/main/scala/app/softnetwork/elastic/client/AliasApi.scala

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,10 @@ trait AliasApi extends ElasticClientHelpers { _: IndicesApi =>
303303
logger.warn(s"Index '$index' not found in response")
304304
ElasticResult.success(Set.empty[String])
305305
} else {
306-
val aliasesObj = indexObj.getAsJsonObject("aliases")
306+
val aliasesObj =
307+
indexObj
308+
.getAsJsonObject(index)
309+
.getAsJsonObject("aliases")
307310
if (aliasesObj == null || aliasesObj.size() == 0) {
308311
logger.debug(s"No aliases found for index '$index'")
309312
ElasticResult.success(Set.empty[String])

core/testkit/src/main/scala/app/softnetwork/elastic/client/ElasticClientSpec.scala

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,14 @@ trait ElasticClientSpec extends AnyFlatSpecLike with ElasticDockerTestKit with M
111111
"Adding an alias and then removing it" should "work" in {
112112
pClient.addAlias("person", "person_alias")
113113

114-
doesAliasExists("person_alias") shouldBe true
114+
pClient.aliasExists("person_alias").get shouldBe true
115+
116+
pClient.getAliases("person") match {
117+
case ElasticSuccess(aliases) =>
118+
aliases should contain("person_alias")
119+
case ElasticFailure(elasticError) =>
120+
fail(elasticError.fullMessage)
121+
}
115122

116123
pClient.removeAlias("person", "person_alias")
117124

es6/jest/src/main/scala/app/softnetwork/elastic/client/jest/JestAliasApi.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,15 +65,15 @@ trait JestAliasApi extends AliasApi with JestClientHelpers {
6565
* [[AliasApi.aliasExists]]
6666
*/
6767
override private[client] def executeAliasExists(alias: String): ElasticResult[Boolean] =
68-
executeJestBooleanAction(
68+
executeJestAction(
6969
operation = "aliasExists",
7070
index = Some(alias),
7171
retryable = true
7272
) {
7373
new GetAliases.Builder()
7474
.addAlias(alias)
7575
.build()
76-
}
76+
}(result => !result.getJsonObject.getAsJsonObject.entrySet().isEmpty)
7777

7878
/** Get aliases for a given index.
7979
* @see

es6/rest/src/main/scala/app/softnetwork/elastic/client/rest/RestHighLevelClientApi.scala

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -296,17 +296,7 @@ trait RestHighLevelClientAliasApi extends AliasApi with RestHighLevelClientHelpe
296296
request = new GetAliasesRequest().indices(index)
297297
)(
298298
executor = req => apply().indices().getAlias(req, RequestOptions.DEFAULT)
299-
)(response => {
300-
val aliases = response.getAliases.asScala.get(index)
301-
aliases match {
302-
case Some(aliasMetaDataSeq) =>
303-
val aliasNames = aliasMetaDataSeq.asScala.map(_.alias()).toSeq
304-
val jsonAliases = aliasNames.map(name => s""""$name": {}""").mkString(", ")
305-
s"""{ "aliases": { $jsonAliases } }"""
306-
case None =>
307-
s"""{ "aliases": {} }"""
308-
}
309-
})
299+
)(response => Strings.toString(response))
310300

311301
override private[client] def executeSwapAlias(
312302
oldIndex: String,
@@ -945,12 +935,12 @@ trait RestHighLevelClientBulkApi extends BulkApi with RestHighLevelClientHelpers
945935
}
946936

947937
// process successful items
948-
val items =
938+
val successfulItems =
949939
result.getItems.filterNot(_.isFailed).map { item =>
950940
Right(SuccessfulDocument(id = item.getId, index = item.getIndex))
951941
}
952942

953-
val results = failedItems ++ items
943+
val results = failedItems ++ successfulItems
954944

955945
// if no individual results but overall failure, mark all as failed
956946
if (results.isEmpty && originalBatch.nonEmpty) {

es7/rest/src/main/scala/app/softnetwork/elastic/client/rest/RestHighLevelClientApi.scala

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -301,17 +301,7 @@ trait RestHighLevelClientAliasApi extends AliasApi with RestHighLevelClientHelpe
301301
request = new GetAliasesRequest().indices(index)
302302
)(
303303
executor = req => apply().indices().getAlias(req, RequestOptions.DEFAULT)
304-
)(response => {
305-
val aliases = response.getAliases.asScala.get(index)
306-
aliases match {
307-
case Some(aliasMetaDataSeq) =>
308-
val aliasNames = aliasMetaDataSeq.asScala.map(_.alias()).toSeq
309-
val jsonAliases = aliasNames.map(name => s""""$name": {}""").mkString(", ")
310-
s"""{ "aliases": { $jsonAliases } }"""
311-
case None =>
312-
s"""{ "aliases": {} }"""
313-
}
314-
})
304+
)(response => Strings.toString(response))
315305

316306
override private[client] def executeSwapAlias(
317307
oldIndex: String,
@@ -951,12 +941,12 @@ trait RestHighLevelClientBulkApi extends BulkApi with RestHighLevelClientHelpers
951941
}
952942

953943
// process successful items
954-
val items =
944+
val successfulItems =
955945
result.getItems.filterNot(_.isFailed).map { item =>
956946
Right(SuccessfulDocument(id = item.getId, index = item.getIndex))
957947
}
958948

959-
val results = failedItems ++ items
949+
val results = failedItems ++ successfulItems
960950

961951
// if no individual results but overall failure, mark all as failed
962952
if (results.isEmpty && originalBatch.nonEmpty) {

0 commit comments

Comments
 (0)