Skip to content

Commit 13ea436

Browse files
committed
migrate to elastic4s 9.1
1 parent c569944 commit 13ea436

File tree

6 files changed

+28
-15
lines changed

6 files changed

+28
-15
lines changed

elastic/core/src/main/scala/Evolver.scala

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
package net.sc8s.elastic
22

33
import akka.Done
4+
import akka.actor.ActorSystem
45
import akka.actor.typed.scaladsl.Behaviors
56
import akka.actor.typed.scaladsl.adapter._
67
import akka.stream.scaladsl.{Sink, Source}
78
import com.sksamuel.elastic4s.ElasticDsl._
89
import com.sksamuel.elastic4s.fields.{ElasticField, KeywordField}
910
import com.sksamuel.elastic4s.requests.mappings.MappingDefinition
1011
import com.sksamuel.elastic4s.requests.task.GetTaskResponse
11-
import com.sksamuel.elastic4s.streams.ReactiveElastic._
12+
import com.sksamuel.elastic4s.akka.reactivestreams.ReactiveElastic._
1213
import com.sksamuel.elastic4s.{ElasticClient, RequestFailure, RequestSuccess}
1314
import com.typesafe.config.Config
1415
import io.circe.Codec
@@ -60,7 +61,7 @@ object Evolver extends ClusterComponent.Singleton {
6061
}
6162

6263
class Component(
63-
elasticClient: ElasticClient,
64+
elasticClient: ElasticClient[Future],
6465
elasticIndices: Set[Index],
6566
config: Config,
6667
) extends BaseComponent {
@@ -82,7 +83,7 @@ object Evolver extends ClusterComponent.Singleton {
8283
override val behavior = { ctx =>
8384
import ctx.{log, materializer, actorContext => context}
8485
import context.executionContext
85-
implicit val classicActorSystem = context.system.toClassic
86+
implicit val classicActorSystem: ActorSystem = context.system.toClassic
8687

8788
def resolveElasticIndices(indices: Seq[String]) =
8889
if (indices.nonEmpty) indices.map(index => elasticIndices.find(_.name == index).get)

elastic/core/src/main/scala/IndexSetup.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@ import akka.actor.typed.ActorSystem
44
import com.sksamuel.elastic4s.ElasticClient
55
import com.sksamuel.elastic4s.requests.common.RefreshPolicy
66

7+
import scala.concurrent.Future
8+
79
case class IndexSetup(
8-
elasticClient: ElasticClient,
10+
elasticClient: ElasticClient[Future],
911
actorSystem: ActorSystem[_],
1012
// mainly for tests
1113
indexNamePrefix: Option[String] = None,

elastic/lagom/service/src/main/scala/ElasticComponents.scala

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,15 @@ package net.sc8s.elastic.lagom
22

33
import akka.actor.ActorSystem
44
import akka.actor.typed.scaladsl.adapter._
5+
import cats.implicits.catsStdInstancesForFuture
56
import com.sksamuel.elastic4s.ElasticClient
67
import com.sksamuel.elastic4s.akka.{AkkaHttpClient, AkkaHttpClientSettings}
78
import com.softwaremill.macwire.wire
89
import com.typesafe.config.Config
910
import net.sc8s.elastic.{Evolver, Index, IndexSetup}
1011

12+
import scala.concurrent.Future
13+
1114
trait ElasticComponents {
1215
val actorSystem: ActorSystem
1316

@@ -17,7 +20,10 @@ trait ElasticComponents {
1720

1821
implicit val indexSetup: IndexSetup = IndexSetup(elasticClient, actorSystem.toTyped)
1922

20-
lazy implicit val elasticClient = ElasticClient(AkkaHttpClient(AkkaHttpClientSettings())(actorSystem))
23+
lazy implicit val elasticClient: ElasticClient[Future] = {
24+
import actorSystem.dispatcher
25+
ElasticClient(AkkaHttpClient(AkkaHttpClientSettings())(actorSystem))
26+
}
2127

2228
lazy val evolver: Evolver.Wiring = Evolver.init(wire[Evolver.Component])(actorSystem.toTyped)
2329
}

elastic/testkit/src/main/scala/ElasticIndexTesting.scala

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package net.sc8s.elastic.testkit
22

33
import akka.actor.testkit.typed.scaladsl.ScalaTestWithActorTestKit
44
import akka.actor.typed.scaladsl.adapter.TypedActorSystemOps
5-
import cats.implicits.toTraverseOps
5+
import cats.implicits.{catsStdInstancesForFuture, toTraverseOps}
66
import com.sksamuel.elastic4s.ElasticClient
77
import com.sksamuel.elastic4s.ElasticDsl._
88
import com.sksamuel.elastic4s.akka.{AkkaHttpClient, AkkaHttpClientSettings}
@@ -11,14 +11,18 @@ import net.sc8s.elastic.{Index, IndexSetup}
1111
import org.scalatest.Inspectors.forAll
1212
import org.scalatest.{BeforeAndAfterAll, BeforeAndAfterEach, EitherValues, Suite}
1313

14+
import scala.concurrent.{ExecutionContextExecutor, Future}
1415
import scala.util.Random
1516

1617
trait ElasticIndexTesting extends BeforeAndAfterEach with BeforeAndAfterAll with EitherValues {
1718
_: Suite with ScalaTestWithActorTestKit =>
1819

1920
val elasticIndices: Set[Index]
2021

21-
implicit lazy val elasticClient = ElasticClient(AkkaHttpClient(AkkaHttpClientSettings())(system.toClassic))
22+
implicit lazy val elasticClient: ElasticClient[Future] = {
23+
implicit val executionContext: ExecutionContextExecutor = system.executionContext
24+
ElasticClient(AkkaHttpClient(AkkaHttpClientSettings())(system.toClassic))
25+
}
2226

2327
implicit lazy val indexSetup: IndexSetup = IndexSetup(
2428
elasticClient,
@@ -34,9 +38,9 @@ trait ElasticIndexTesting extends BeforeAndAfterEach with BeforeAndAfterAll with
3438
// note: refresh,forceMerge didn't help
3539
val recreateIndices = false
3640

37-
override protected def beforeAll() = {
41+
override protected def beforeAll(): Unit = {
3842
if (createTemporaryIndices && !recreateIndices) {
39-
implicit val executionContext = system.executionContext
43+
implicit val executionContext: ExecutionContextExecutor = system.executionContext
4044
forAll(elasticIndices.map(index =>
4145
elasticClient.execute(
4246
createIndex(index.name)
@@ -48,9 +52,9 @@ trait ElasticIndexTesting extends BeforeAndAfterEach with BeforeAndAfterAll with
4852
super.beforeAll()
4953
}
5054

51-
override protected def beforeEach() = {
55+
override protected def beforeEach(): Unit = {
5256
if (createTemporaryIndices) {
53-
implicit val executionContext = system.executionContext
57+
implicit val executionContext: ExecutionContextExecutor = system.executionContext
5458
if (recreateIndices)
5559
forAll(
5660
elasticIndices.map(recreateIndex).toList.sequence.futureValue
@@ -67,7 +71,7 @@ trait ElasticIndexTesting extends BeforeAndAfterEach with BeforeAndAfterAll with
6771
super.beforeEach()
6872
}
6973

70-
protected override def afterAll() = {
74+
protected override def afterAll(): Unit = {
7175
if (createTemporaryIndices)
7276
elasticClient.execute(deleteIndex(elasticIndices.map(_.name)))
7377
super.afterAll()

elastic/testkit/src/test/scala/EvolverSpec.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import scala.util.chaining.scalaUtilChainingOps
3030

3131
class EvolverSpec extends ScalaTestWithActorTestKit(Evolver.serializers) with AnyWordSpecLike with Matchers with Logging with ClusterComponentTestKit {
3232

33-
implicit lazy val elasticClient: ElasticClient = ElasticClient(AkkaHttpClient(AkkaHttpClientSettings())(system.toClassic))
33+
implicit lazy val elasticClient: ElasticClient[Future] = ElasticClient(AkkaHttpClient(AkkaHttpClientSettings())(system.toClassic))
3434

3535
implicit lazy val indexSetup: IndexSetup = IndexSetup(
3636
elasticClient,

project/Dependencies.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,14 +168,14 @@ object Dependencies {
168168
}
169169

170170
object elastic4s {
171-
private val elastic4s = "9.0.0"
171+
private val elastic4s = "9.1.0"
172172
private val elasticsearch = "9.0.3"
173173

174174
val clientAkka = "nl.gn0s1s" %% "elastic4s-client-akka" % elastic4s
175175
val clientJava = "com.sksamuel.elastic4s" %% "elastic4s-client-esjava" % elastic4s
176176
val core = "nl.gn0s1s" %% "elastic4s-core" % elastic4s
177177
val elasticTestFramework = "org.elasticsearch.test" % "framework" % elasticsearch
178-
val httpStreams = "nl.gn0s1s" %% "elastic4s-http-streams" % elastic4s
178+
val httpStreams = "nl.gn0s1s" %% "elastic4s-reactivestreams-akka" % elastic4s
179179
val jsonCirce = "nl.gn0s1s" %% "elastic4s-json-circe" % elastic4s
180180
val jsonPlay = "com.sksamuel.elastic4s" %% "elastic4s-json-play" % elastic4s
181181
// does not work, use httpStreams instead

0 commit comments

Comments
 (0)