diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 3b6bb135ca..9cee3c8f55 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -45,8 +45,8 @@ object Dependencies { val Versions = Seq( scalaVersion := "2.12.8", - akkaVersion := "2.5.21", - akkaHttpVersion := "10.1.7", + akkaVersion := "2.6.4", + akkaHttpVersion := "10.1.11", jenaVersion := "3.4.0", metricsVersion := "4.0.1", sipiImage := "dhlabbasel/sipi:v2.0.1", @@ -61,7 +61,7 @@ object Dependencies { object Compile { // akka val akkaActor = Def.setting {"com.typesafe.akka" %% "akka-actor" % akkaVersion.value} - val akkaAgent = Def.setting {"com.typesafe.akka" %% "akka-agent" % akkaVersion.value} + //val akkaAgent = Def.setting {"com.typesafe.akka" %% "akka-agent" % akkaVersion.value} val akkaStream = Def.setting {"com.typesafe.akka" %% "akka-stream" % akkaVersion.value} val akkaSlf4j = Def.setting {"com.typesafe.akka" %% "akka-slf4j" % akkaVersion.value} @@ -182,7 +182,7 @@ object Dependencies { val salsahLibraryDependencies = l ++= Seq[sbt.ModuleID]( akkaActor.value, - akkaAgent.value, + //akkaAgent.value, akkaStream.value, akkaSlf4j.value, akkaHttp.value, @@ -197,7 +197,7 @@ object Dependencies { val webapiLibraryDependencies = l ++= Seq[sbt.ModuleID]( akkaActor.value, - akkaAgent.value, + //akkaAgent.value, akkaHttp.value, akkaHttpCirce, akkaHttpCors, diff --git a/salsah1/src/main/scala/org/knora/salsah/Main.scala b/salsah1/src/main/scala/org/knora/salsah/Main.scala index 09d4587b7b..ae94bb6837 100644 --- a/salsah1/src/main/scala/org/knora/salsah/Main.scala +++ b/salsah1/src/main/scala/org/knora/salsah/Main.scala @@ -29,14 +29,14 @@ import akka.http.scaladsl.model._ import akka.http.scaladsl.server.Directives._ import akka.http.scaladsl.server.Route import akka.http.scaladsl.server.directives.ContentTypeResolver.Default -import akka.stream.ActorMaterializer +import akka.stream.Materializer import scala.concurrent.Future import scala.io.Source object Main extends App { implicit val system = ActorSystem("salsah-system") - implicit val materializer = ActorMaterializer() + implicit val materializer = Materializer.matFromSystem(system) implicit val ec = system.dispatcher /** diff --git a/salsah1/src/test/scala/org.knora.salsah/browser/SalsahSpec.scala b/salsah1/src/test/scala/org.knora.salsah/browser/SalsahSpec.scala index c6a121ae6a..ef8830da75 100644 --- a/salsah1/src/test/scala/org.knora.salsah/browser/SalsahSpec.scala +++ b/salsah1/src/test/scala/org.knora.salsah/browser/SalsahSpec.scala @@ -23,7 +23,7 @@ import akka.actor.ActorSystem import akka.http.scaladsl.Http import akka.http.scaladsl.client.RequestBuilding import akka.http.scaladsl.model._ -import akka.stream.ActorMaterializer +import akka.stream.Materializer import akka.util.Timeout import com.typesafe.config.ConfigFactory import org.knora.salsah.SettingsImpl @@ -44,7 +44,7 @@ abstract class SalsahSpec extends WordSpecLike with Matchers with RequestBuildin implicit private val timeout = Timeout(180.seconds) implicit private val dispatcher = system.dispatcher implicit protected val ec: ExecutionContextExecutor = dispatcher - implicit protected val materializer = ActorMaterializer() + implicit protected val materializer = Materializer.matFromSystem(system) /** * Loads test data and populates the ontology cache. diff --git a/webapi/src/it/scala/org/knora/webapi/ITKnoraFakeSpec.scala b/webapi/src/it/scala/org/knora/webapi/ITKnoraFakeSpec.scala index fcaf4d4d18..f82a2c5b55 100644 --- a/webapi/src/it/scala/org/knora/webapi/ITKnoraFakeSpec.scala +++ b/webapi/src/it/scala/org/knora/webapi/ITKnoraFakeSpec.scala @@ -28,7 +28,7 @@ import akka.http.scaladsl.Http import akka.http.scaladsl.client.RequestBuilding import akka.http.scaladsl.model.{HttpRequest, HttpResponse, StatusCodes} import akka.http.scaladsl.unmarshalling.Unmarshal -import akka.stream.ActorMaterializer +import akka.stream.Materializer import com.typesafe.config.{Config, ConfigFactory} import org.knora.webapi.app.{APPLICATION_MANAGER_ACTOR_NAME, ApplicationActor, LiveManagers} import org.knora.webapi.util.StringFormatter @@ -59,7 +59,7 @@ class ITKnoraFakeSpec(_system: ActorSystem) extends Core with KnoraFakeCore with /* needed by the core trait */ implicit lazy val system: ActorSystem = _system implicit lazy val settings: SettingsImpl = Settings(system) - implicit val materializer: ActorMaterializer = ActorMaterializer() + implicit val materializer: Materializer = Materializer.matFromSystem(system) implicit val executionContext: ExecutionContext = system.dispatchers.lookup(KnoraDispatchers.KnoraActorDispatcher) /* Needs to be initialized before any responders */ diff --git a/webapi/src/it/scala/org/knora/webapi/ITKnoraLiveSpec.scala b/webapi/src/it/scala/org/knora/webapi/ITKnoraLiveSpec.scala index 0a772a1fd6..e09b354662 100644 --- a/webapi/src/it/scala/org/knora/webapi/ITKnoraLiveSpec.scala +++ b/webapi/src/it/scala/org/knora/webapi/ITKnoraLiveSpec.scala @@ -23,7 +23,7 @@ import akka.actor.{ActorRef, ActorSystem, Props} import akka.http.scaladsl.Http import akka.http.scaladsl.client.RequestBuilding import akka.http.scaladsl.model._ -import akka.stream.ActorMaterializer +import akka.stream.Materializer import com.typesafe.config.{Config, ConfigFactory} import com.typesafe.scalalogging.LazyLogging import org.knora.webapi.app.{APPLICATION_MANAGER_ACTOR_NAME, ApplicationActor, LiveManagers} @@ -57,7 +57,7 @@ class ITKnoraLiveSpec(_system: ActorSystem) extends Core with StartupUtils with /* needed by the core trait (represents the KnoraTestCore trait)*/ implicit lazy val system: ActorSystem = _system implicit lazy val settings: SettingsImpl = Settings(system) - implicit val materializer: ActorMaterializer = ActorMaterializer() + implicit val materializer: Materializer = Materializer.matFromSystem(system) implicit val executionContext: ExecutionContext = system.dispatchers.lookup(KnoraDispatchers.KnoraActorDispatcher) // can be overridden in individual spec diff --git a/webapi/src/main/scala/org/knora/webapi/LiveCore.scala b/webapi/src/main/scala/org/knora/webapi/LiveCore.scala index e290df08c8..bda483ce65 100644 --- a/webapi/src/main/scala/org/knora/webapi/LiveCore.scala +++ b/webapi/src/main/scala/org/knora/webapi/LiveCore.scala @@ -20,7 +20,7 @@ package org.knora.webapi import akka.actor._ -import akka.stream.ActorMaterializer +import akka.stream.Materializer import org.knora.webapi.app._ import org.knora.webapi.util.StringFormatter @@ -37,7 +37,7 @@ trait Core { implicit val settings: SettingsImpl - implicit val materializer: ActorMaterializer + implicit val materializer: Materializer implicit val executionContext: ExecutionContext @@ -62,7 +62,7 @@ trait LiveCore extends Core { /** * Provides the actor materializer (akka-http) */ - implicit val materializer: ActorMaterializer = ActorMaterializer() + implicit val materializer: Materializer = Materializer.matFromSystem(system) /** * Provides the default global execution context diff --git a/webapi/src/main/scala/org/knora/webapi/app/ApplicationActor.scala b/webapi/src/main/scala/org/knora/webapi/app/ApplicationActor.scala index c6494f511e..f36fe1cc43 100644 --- a/webapi/src/main/scala/org/knora/webapi/app/ApplicationActor.scala +++ b/webapi/src/main/scala/org/knora/webapi/app/ApplicationActor.scala @@ -5,7 +5,7 @@ import akka.actor.{Actor, ActorLogging, ActorRef, ActorSystem, OneForOneStrategy import akka.http.scaladsl.Http import akka.http.scaladsl.server.Directives._ import akka.http.scaladsl.server.Route -import akka.stream.ActorMaterializer +import akka.stream.Materializer import akka.util.Timeout import com.typesafe.scalalogging.LazyLogging import kamon.Kamon @@ -89,7 +89,7 @@ class ApplicationActor extends Actor with LazyLogging with AroundDirectives with /** * Provides the actor materializer (akka-http) */ - implicit val materializer: ActorMaterializer = ActorMaterializer() + implicit val materializer: Materializer = Materializer.matFromSystem(system) /** * Provides the default global execution context diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v2/ResourcesResponderV2.scala b/webapi/src/main/scala/org/knora/webapi/responders/v2/ResourcesResponderV2.scala index 87b8ad4d1f..13e688e152 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v2/ResourcesResponderV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v2/ResourcesResponderV2.scala @@ -24,7 +24,7 @@ import java.util.UUID import akka.http.scaladsl.util.FastFuture import akka.pattern._ -import akka.stream.ActorMaterializer +import akka.stream.Materializer import org.knora.webapi._ import org.knora.webapi.messages.admin.responder.permissionsmessages.{DefaultObjectAccessPermissionsStringForResourceClassGetADM, DefaultObjectAccessPermissionsStringResponseADM, ResourceCreateOperation} import org.knora.webapi.messages.admin.responder.projectsmessages.ProjectADM @@ -55,7 +55,7 @@ import scala.util.{Failure, Success} class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithStandoffV2(responderData) { /* actor materializer needed for http requests */ - implicit val materializer: ActorMaterializer = ActorMaterializer() + implicit val materializer: Materializer = Materializer.matFromSystem(system) /** * Represents a resource that is ready to be created and whose contents can be verified afterwards. diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v2/StandoffResponderV2.scala b/webapi/src/main/scala/org/knora/webapi/responders/v2/StandoffResponderV2.scala index d74572a449..75c2858dec 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v2/StandoffResponderV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v2/StandoffResponderV2.scala @@ -23,7 +23,7 @@ import java.io._ import java.util.UUID import akka.pattern._ -import akka.stream.ActorMaterializer +import akka.stream.Materializer import akka.util.Timeout import javax.xml.XMLConstants import javax.xml.transform.stream.StreamSource @@ -56,7 +56,7 @@ import scala.xml.{Elem, Node, NodeSeq, XML} class StandoffResponderV2(responderData: ResponderData) extends Responder(responderData) { /* actor materializer needed for http requests */ - implicit val materializer: ActorMaterializer = ActorMaterializer() + implicit val materializer: Materializer = Materializer.matFromSystem(system) /** * Receives a message of type [[StandoffResponderRequestV2]], and returns an appropriate response message. diff --git a/webapi/src/main/scala/org/knora/webapi/routing/KnoraRoute.scala b/webapi/src/main/scala/org/knora/webapi/routing/KnoraRoute.scala index e774ddc13b..75111cbfda 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/KnoraRoute.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/KnoraRoute.scala @@ -22,7 +22,7 @@ package org.knora.webapi.routing import akka.actor.{ActorRef, ActorSystem} import akka.event.LoggingAdapter import akka.http.scaladsl.server.Route -import akka.stream.ActorMaterializer +import akka.stream.Materializer import akka.util.Timeout import org.knora.webapi.util.StringFormatter import org.knora.webapi.{KnoraDispatchers, Settings, SettingsImpl} @@ -49,7 +49,7 @@ abstract class KnoraRoute(routeData: KnoraRouteData) { implicit protected val settings: SettingsImpl = Settings(system) implicit protected val timeout: Timeout = settings.defaultTimeout implicit protected val executionContext: ExecutionContext = system.dispatchers.lookup(KnoraDispatchers.KnoraActorDispatcher) - implicit protected val materializer: ActorMaterializer = ActorMaterializer() + implicit protected val materializer: Materializer = Materializer.matFromSystem(system) implicit protected val stringFormatter: StringFormatter = StringFormatter.getGeneralInstance protected val applicationStateActor: ActorRef = routeData.appActor diff --git a/webapi/src/main/scala/org/knora/webapi/routing/admin/GroupsRouteADM.scala b/webapi/src/main/scala/org/knora/webapi/routing/admin/GroupsRouteADM.scala index 8c16900957..cf1e25711e 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/admin/GroupsRouteADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/admin/GroupsRouteADM.scala @@ -27,7 +27,7 @@ import akka.http.scaladsl.model.headers.BasicHttpCredentials import akka.http.scaladsl.server.Directives._ import akka.http.scaladsl.server.{PathMatcher, Route} import akka.http.scaladsl.util.FastFuture -import akka.stream.ActorMaterializer +import akka.stream.Materializer import io.swagger.annotations._ import javax.ws.rs.Path import org.knora.webapi.messages.admin.responder.groupsmessages._ @@ -331,7 +331,7 @@ class GroupsRouteADM(routeData: KnoraRouteData) extends KnoraRoute(routeData) wi */ override def getTestData(implicit executionContext: ExecutionContext, actorSystem: ActorSystem, - materializer: ActorMaterializer): Future[Set[TestDataFileContent]] = { + materializer: Materializer): Future[Set[TestDataFileContent]] = { Future.sequence { Set( getGroupsTestResponse, diff --git a/webapi/src/main/scala/org/knora/webapi/routing/admin/ListsRouteADM.scala b/webapi/src/main/scala/org/knora/webapi/routing/admin/ListsRouteADM.scala index 14aa7f16e4..eefa4620c1 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/admin/ListsRouteADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/admin/ListsRouteADM.scala @@ -28,7 +28,7 @@ import akka.http.scaladsl.model.headers.BasicHttpCredentials import akka.http.scaladsl.server.Directives._ import akka.http.scaladsl.server.{PathMatcher, Route} import akka.http.scaladsl.util.FastFuture -import akka.stream.ActorMaterializer +import akka.stream.Materializer import io.swagger.annotations._ import javax.ws.rs.Path import org.knora.webapi._ @@ -390,7 +390,7 @@ class ListsRouteADM(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit * * @return a set of test data files to be used for testing this endpoint. */ - override def getTestData(implicit executionContext: ExecutionContext, actorSystem: ActorSystem, materializer: ActorMaterializer): Future[Set[TestDataFileContent]] = { + override def getTestData(implicit executionContext: ExecutionContext, actorSystem: ActorSystem, materializer: Materializer): Future[Set[TestDataFileContent]] = { Future.sequence { Set( getListsTestResponse, diff --git a/webapi/src/main/scala/org/knora/webapi/routing/admin/PermissionsRouteADM.scala b/webapi/src/main/scala/org/knora/webapi/routing/admin/PermissionsRouteADM.scala index cdb9ca24fc..14bd1cd85c 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/admin/PermissionsRouteADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/admin/PermissionsRouteADM.scala @@ -25,7 +25,7 @@ import akka.actor.ActorSystem import akka.http.scaladsl.client.RequestBuilding.Get import akka.http.scaladsl.server.Directives._ import akka.http.scaladsl.server.{PathMatcher, Route} -import akka.stream.ActorMaterializer +import akka.stream.Materializer import io.swagger.annotations.Api import javax.ws.rs.Path import org.knora.webapi.messages.admin.responder.permissionsmessages.{AdministrativePermissionForProjectGroupGetRequestADM, PermissionType} @@ -94,7 +94,7 @@ class PermissionsRouteADM(routeData: KnoraRouteData) extends KnoraRoute(routeDat * * @return a set of test data files to be used for testing this endpoint. */ - override def getTestData(implicit executionContext: ExecutionContext, actorSystem: ActorSystem, materializer: ActorMaterializer): Future[Set[TestDataFileContent]] = { + override def getTestData(implicit executionContext: ExecutionContext, actorSystem: ActorSystem, materializer: Materializer): Future[Set[TestDataFileContent]] = { Future.sequence { Set( getAdministrativePermissionTestResponse diff --git a/webapi/src/main/scala/org/knora/webapi/routing/admin/ProjectsRouteADM.scala b/webapi/src/main/scala/org/knora/webapi/routing/admin/ProjectsRouteADM.scala index a0ded1a7b5..93e2eb8366 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/admin/ProjectsRouteADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/admin/ProjectsRouteADM.scala @@ -33,7 +33,7 @@ import akka.http.scaladsl.server.{PathMatcher, Route} import akka.http.scaladsl.util.FastFuture import akka.pattern._ import akka.stream.scaladsl.{FileIO, Source} -import akka.stream.{ActorMaterializer, IOResult} +import akka.stream.{Materializer, IOResult} import akka.util.ByteString import io.swagger.annotations._ import javax.ws.rs.Path @@ -618,7 +618,7 @@ class ProjectsRouteADM(routeData: KnoraRouteData) extends KnoraRoute(routeData) * * @return a set of test data files to be used for testing this endpoint. */ - override def getTestData(implicit executionContext: ExecutionContext, actorSystem: ActorSystem, materializer: ActorMaterializer): Future[Set[TestDataFileContent]] = { + override def getTestData(implicit executionContext: ExecutionContext, actorSystem: ActorSystem, materializer: Materializer): Future[Set[TestDataFileContent]] = { Future.sequence { Set( getProjectsTestResponse, diff --git a/webapi/src/main/scala/org/knora/webapi/routing/admin/UsersRouteADM.scala b/webapi/src/main/scala/org/knora/webapi/routing/admin/UsersRouteADM.scala index 59f6a64126..792e97ca51 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/admin/UsersRouteADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/admin/UsersRouteADM.scala @@ -28,7 +28,7 @@ import akka.http.scaladsl.model.headers.BasicHttpCredentials import akka.http.scaladsl.server.Directives._ import akka.http.scaladsl.server.{PathMatcher, Route} import akka.http.scaladsl.util.FastFuture -import akka.stream.ActorMaterializer +import akka.stream.Materializer import io.swagger.annotations._ import javax.ws.rs.Path import org.knora.webapi.annotation.ApiMayChange @@ -715,7 +715,7 @@ class UsersRouteADM(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit * * @return a set of test data files to be used for testing this endpoint. */ - override def getTestData(implicit executionContext: ExecutionContext, actorSystem: ActorSystem, materializer: ActorMaterializer): Future[Set[TestDataFileContent]] = { + override def getTestData(implicit executionContext: ExecutionContext, actorSystem: ActorSystem, materializer: Materializer): Future[Set[TestDataFileContent]] = { Future.sequence { Set( getUsersTestResponse, diff --git a/webapi/src/main/scala/org/knora/webapi/routing/v1/ValuesRouteV1.scala b/webapi/src/main/scala/org/knora/webapi/routing/v1/ValuesRouteV1.scala index b08a24f339..0ffccba4a5 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/v1/ValuesRouteV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/v1/ValuesRouteV1.scala @@ -535,7 +535,7 @@ class ValuesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit val tmpFile = FileUtil.createTempFile(settings) val written = b.entity.dataBytes.runWith(FileIO.toPath(tmpFile.toPath)) written.map { written => - log.debug(s"written result: ${written.wasSuccessful}, ${b.filename.get}, ${tmpFile.getAbsolutePath}") + log.debug(s"written result: ${written.status}, ${b.filename.get}, ${tmpFile.getAbsolutePath}") receivedFile.success(tmpFile) (b.name, FileInfo(b.name, filename, b.entity.contentType)) } diff --git a/webapi/src/main/scala/org/knora/webapi/routing/v2/ListsRouteV2.scala b/webapi/src/main/scala/org/knora/webapi/routing/v2/ListsRouteV2.scala index da890f102c..3f3bef9e5d 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/v2/ListsRouteV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/v2/ListsRouteV2.scala @@ -25,7 +25,7 @@ import akka.actor.ActorSystem import akka.http.scaladsl.client.RequestBuilding.Get import akka.http.scaladsl.server.Directives._ import akka.http.scaladsl.server.Route -import akka.stream.ActorMaterializer +import akka.stream.Materializer import org.knora.webapi._ import org.knora.webapi.messages.v2.responder.listsmessages.{ListGetRequestV2, NodeGetRequestV2} import org.knora.webapi.routing.{Authenticator, KnoraRoute, KnoraRouteData, RouteUtilV2} @@ -122,7 +122,7 @@ class ListsRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) with override def getTestData(implicit executionContext: ExecutionContext, actorSystem: ActorSystem, - materializer: ActorMaterializer): Future[Set[TestDataFileContent]] = { + materializer: Materializer): Future[Set[TestDataFileContent]] = { for { testLists <- getListTestResponses testNode <- getNodeTestResponse diff --git a/webapi/src/main/scala/org/knora/webapi/routing/v2/OntologiesRouteV2.scala b/webapi/src/main/scala/org/knora/webapi/routing/v2/OntologiesRouteV2.scala index d2e930a0f3..b8973ab7f8 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/v2/OntologiesRouteV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/v2/OntologiesRouteV2.scala @@ -26,7 +26,7 @@ import akka.actor.ActorSystem import akka.http.scaladsl.client.RequestBuilding.Get import akka.http.scaladsl.server.Directives._ import akka.http.scaladsl.server.{PathMatcher, Route} -import akka.stream.ActorMaterializer +import akka.stream.Materializer import org.knora.webapi._ import org.knora.webapi.messages.v2.responder.ontologymessages._ import org.knora.webapi.routing.{Authenticator, KnoraRoute, KnoraRouteData, RouteUtilV2} @@ -735,7 +735,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) override def getTestData(implicit executionContext: ExecutionContext, actorSystem: ActorSystem, - materializer: ActorMaterializer): Future[Set[TestDataFileContent]] = { + materializer: Materializer): Future[Set[TestDataFileContent]] = { for { ontologyResponses: Set[TestDataFileContent] <- getOntologyTestResponses ontologyMetadataResponses: TestDataFileContent <- getOntologyMetadataTestResponse diff --git a/webapi/src/main/scala/org/knora/webapi/routing/v2/ResourcesRouteV2.scala b/webapi/src/main/scala/org/knora/webapi/routing/v2/ResourcesRouteV2.scala index 0a75b88ca8..fd65d9ac6d 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/v2/ResourcesRouteV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/v2/ResourcesRouteV2.scala @@ -28,7 +28,7 @@ import akka.http.scaladsl.client.RequestBuilding._ import akka.http.scaladsl.server.Directives._ import akka.http.scaladsl.server.{PathMatcher, Route} import akka.http.scaladsl.util.FastFuture -import akka.stream.ActorMaterializer +import akka.stream.Materializer import org.knora.webapi._ import org.knora.webapi.messages.v2.responder.resourcemessages._ import org.knora.webapi.messages.v2.responder.searchmessages.SearchResourcesByProjectAndClassRequestV2 @@ -597,7 +597,7 @@ class ResourcesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) override def getTestData(implicit executionContext: ExecutionContext, actorSystem: ActorSystem, - materializer: ActorMaterializer): Future[Set[TestDataFileContent]] = { + materializer: Materializer): Future[Set[TestDataFileContent]] = { for { getResponses <- getResourceTestResponses createRequests <- createResourceTestRequests diff --git a/webapi/src/main/scala/org/knora/webapi/routing/v2/SearchRouteV2.scala b/webapi/src/main/scala/org/knora/webapi/routing/v2/SearchRouteV2.scala index 30ac8295a8..c30a3e90f1 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/v2/SearchRouteV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/v2/SearchRouteV2.scala @@ -24,7 +24,7 @@ import akka.http.scaladsl.client.RequestBuilding._ import akka.http.scaladsl.model.HttpEntity import akka.http.scaladsl.server.Directives._ import akka.http.scaladsl.server.Route -import akka.stream.ActorMaterializer +import akka.stream.Materializer import org.knora.webapi._ import org.knora.webapi.messages.v2.responder.searchmessages._ import org.knora.webapi.responders.v2.search.SparqlQueryConstants @@ -447,7 +447,7 @@ class SearchRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit override def getTestData(implicit executionContext: ExecutionContext, actorSystem: ActorSystem, - materializer: ActorMaterializer): Future[Set[TestDataFileContent]] = { + materializer: Materializer): Future[Set[TestDataFileContent]] = { getSearchTestResponses } } \ No newline at end of file diff --git a/webapi/src/main/scala/org/knora/webapi/routing/v2/ValuesRouteV2.scala b/webapi/src/main/scala/org/knora/webapi/routing/v2/ValuesRouteV2.scala index cf966281a9..676ee09596 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/v2/ValuesRouteV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/v2/ValuesRouteV2.scala @@ -28,7 +28,7 @@ import akka.http.scaladsl.model.headers.BasicHttpCredentials import akka.http.scaladsl.server.Directives._ import akka.http.scaladsl.server.{PathMatcher, Route} import akka.http.scaladsl.util.FastFuture -import akka.stream.ActorMaterializer +import akka.stream.Materializer import org.knora.webapi._ import org.knora.webapi.messages.v2.responder.resourcemessages.ResourcesGetRequestV2 import org.knora.webapi.messages.v2.responder.valuemessages._ @@ -676,7 +676,7 @@ class ValuesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit ) } - override def getTestData(implicit executionContext: ExecutionContext, actorSystem: ActorSystem, materializer: ActorMaterializer): Future[Set[TestDataFileContent]] = { + override def getTestData(implicit executionContext: ExecutionContext, actorSystem: ActorSystem, materializer: Materializer): Future[Set[TestDataFileContent]] = { for { getResponses: Set[TestDataFileContent] <- getValueTestResponses createRequests: Set[TestDataFileContent] <- createValueTestRequests diff --git a/webapi/src/main/scala/org/knora/webapi/store/triplestore/http/GraphProtocolAccessor.scala b/webapi/src/main/scala/org/knora/webapi/store/triplestore/http/GraphProtocolAccessor.scala index b52cd29e9c..b95e3a8d01 100644 --- a/webapi/src/main/scala/org/knora/webapi/store/triplestore/http/GraphProtocolAccessor.scala +++ b/webapi/src/main/scala/org/knora/webapi/store/triplestore/http/GraphProtocolAccessor.scala @@ -27,7 +27,7 @@ import akka.http.scaladsl.model.Uri.Query import akka.http.scaladsl.model._ import akka.http.scaladsl.model.headers.BasicHttpCredentials import akka.http.scaladsl.unmarshalling.Unmarshal -import akka.stream.ActorMaterializer +import akka.stream.Materializer import com.typesafe.scalalogging.Logger import org.knora.webapi._ import org.slf4j.LoggerFactory @@ -53,7 +53,7 @@ object GraphProtocolAccessor { * @param filepath a path to the file containing turtle. * @return String */ - def put(graphName: String, filepath: String)(implicit _system: ActorSystem, materializer: ActorMaterializer): StatusCode = { + def put(graphName: String, filepath: String)(implicit _system: ActorSystem, materializer: Materializer): StatusCode = { this.execute(HTTP_PUT_METHOD, graphName, filepath) } @@ -64,7 +64,7 @@ object GraphProtocolAccessor { * @param filepath path to the file containing turtle. * @return String */ - def put_string_payload(graphName: String, filepath: String)(implicit _system: ActorSystem, materializer: ActorMaterializer): StatusCode = { + def put_string_payload(graphName: String, filepath: String)(implicit _system: ActorSystem, materializer: Materializer): StatusCode = { this.execute(HTTP_PUT_METHOD, graphName, filepath) } @@ -75,11 +75,11 @@ object GraphProtocolAccessor { * @param filepath a path to the file containing turtle. * @return String */ - def post(graphName: String, filepath: String)(implicit _system: ActorSystem, materializer: ActorMaterializer): StatusCode = { + def post(graphName: String, filepath: String)(implicit _system: ActorSystem, materializer: Materializer): StatusCode = { this.execute(HTTP_POST_METHOD, graphName, filepath) } - private def execute(method: String, graphName: String, filepath: String)(implicit _system: ActorSystem, materializer: ActorMaterializer): StatusCode = { + private def execute(method: String, graphName: String, filepath: String)(implicit _system: ActorSystem, materializer: Materializer): StatusCode = { val log = akka.event.Logging(_system, this.getClass) val settings = Settings(_system) diff --git a/webapi/src/main/scala/org/knora/webapi/store/triplestore/http/HttpTriplestoreConnector.scala b/webapi/src/main/scala/org/knora/webapi/store/triplestore/http/HttpTriplestoreConnector.scala index abab53a983..93f3fa7c4f 100644 --- a/webapi/src/main/scala/org/knora/webapi/store/triplestore/http/HttpTriplestoreConnector.scala +++ b/webapi/src/main/scala/org/knora/webapi/store/triplestore/http/HttpTriplestoreConnector.scala @@ -25,7 +25,7 @@ import java.util import akka.actor.{Actor, ActorLogging, ActorSystem, Status} import akka.event.LoggingAdapter -import akka.stream.ActorMaterializer +import akka.stream.Materializer import org.apache.commons.lang3.StringUtils import org.apache.http.auth.{AuthScope, UsernamePasswordCredentials} import org.apache.http.client.AuthCache @@ -71,7 +71,7 @@ class HttpTriplestoreConnector extends Actor with ActorLogging with Instrumentat private implicit val system: ActorSystem = context.system private val settings = Settings(system) implicit val executionContext: ExecutionContext = system.dispatchers.lookup(KnoraDispatchers.KnoraBlockingDispatcher) - private implicit val materializer: ActorMaterializer = ActorMaterializer() + private implicit val materializer: Materializer = Materializer.matFromSystem(system) override val log: LoggingAdapter = akka.event.Logging(system, this.getClass.getName) private val triplestoreType = settings.triplestoreType diff --git a/webapi/src/main/scala/org/knora/webapi/util/ClientApi.scala b/webapi/src/main/scala/org/knora/webapi/util/ClientApi.scala index fe9766ae2e..492b8c931a 100644 --- a/webapi/src/main/scala/org/knora/webapi/util/ClientApi.scala +++ b/webapi/src/main/scala/org/knora/webapi/util/ClientApi.scala @@ -22,7 +22,7 @@ package org.knora.webapi.util import akka.actor.ActorSystem import akka.http.scaladsl.Http import akka.http.scaladsl.model.HttpRequest -import akka.stream.ActorMaterializer +import akka.stream.Materializer import org.knora.webapi.ClientApiGenerationException import scala.concurrent.duration._ @@ -50,7 +50,7 @@ trait ClientApi { */ def getTestData(testDataDirectoryPath: Seq[String])(implicit executionContext: ExecutionContext, actorSystem: ActorSystem, - materializer: ActorMaterializer): Future[Set[TestDataFileContent]] = { + materializer: Materializer): Future[Set[TestDataFileContent]] = { for { endpointTestData <- Future.sequence { endpoints.map { @@ -88,7 +88,7 @@ trait ClientEndpoint { */ protected def doTestDataRequest(request: HttpRequest)(implicit executionContext: ExecutionContext, actorSystem: ActorSystem, - materializer: ActorMaterializer): Future[String] = { + materializer: Materializer): Future[String] = { for { response <- Http().singleRequest(request) responseStr <- response.entity.toStrict(10240.millis).map(_.data.decodeString("UTF-8")) @@ -106,7 +106,7 @@ trait ClientEndpoint { */ def getTestData(implicit executionContext: ExecutionContext, actorSystem: ActorSystem, - materializer: ActorMaterializer): Future[Set[TestDataFileContent]] + materializer: Materializer): Future[Set[TestDataFileContent]] } /** diff --git a/webapi/src/test/scala/org/knora/webapi/CoreSpec.scala b/webapi/src/test/scala/org/knora/webapi/CoreSpec.scala index 2d51bacdbd..2238edb647 100644 --- a/webapi/src/test/scala/org/knora/webapi/CoreSpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/CoreSpec.scala @@ -22,7 +22,7 @@ package org.knora.webapi import akka.actor.{ActorRef, ActorSystem, Props} import akka.event.LoggingAdapter import akka.pattern.ask -import akka.stream.ActorMaterializer +import akka.stream.Materializer import akka.testkit.{ImplicitSender, TestKit} import akka.util.Timeout import com.typesafe.config.{Config, ConfigFactory} @@ -71,7 +71,7 @@ abstract class CoreSpec(_system: ActorSystem) extends TestKit(_system) with Core /* needed by the core trait */ implicit lazy val settings: SettingsImpl = Settings(system) - implicit val materializer: ActorMaterializer = ActorMaterializer() + implicit val materializer: Materializer = Materializer.matFromSystem(system) implicit val executionContext: ExecutionContext = system.dispatchers.lookup(KnoraDispatchers.KnoraActorDispatcher) // can be overridden in individual spec diff --git a/webapi/src/test/scala/org/knora/webapi/E2ESimSpec.scala b/webapi/src/test/scala/org/knora/webapi/E2ESimSpec.scala index 8b1747ddec..3288eeee33 100644 --- a/webapi/src/test/scala/org/knora/webapi/E2ESimSpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/E2ESimSpec.scala @@ -24,7 +24,7 @@ import akka.event.LoggingAdapter import akka.http.scaladsl.Http import akka.http.scaladsl.client.RequestBuilding import akka.http.scaladsl.model.{ContentTypes, HttpEntity, HttpRequest, HttpResponse} -import akka.stream.ActorMaterializer +import akka.stream.Materializer import com.typesafe.config.{Config, ConfigFactory} import com.typesafe.scalalogging.LazyLogging import io.gatling.core.scenario.Simulation @@ -65,7 +65,7 @@ abstract class E2ESimSpec(_system: ActorSystem) extends Simulation with Core wit /* needed by the core trait */ implicit lazy val system: ActorSystem = _system implicit lazy val settings: SettingsImpl = Settings(system) - implicit val materializer: ActorMaterializer = ActorMaterializer() + implicit val materializer: Materializer = Materializer.matFromSystem(system) implicit val executionContext: ExecutionContext = system.dispatchers.defaultGlobalDispatcher // can be overridden in individual spec diff --git a/webapi/src/test/scala/org/knora/webapi/E2ESpec.scala b/webapi/src/test/scala/org/knora/webapi/E2ESpec.scala index 45b00ff735..316075b6e3 100644 --- a/webapi/src/test/scala/org/knora/webapi/E2ESpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/E2ESpec.scala @@ -27,7 +27,7 @@ import akka.actor.{ActorRef, ActorSystem, Props} import akka.http.scaladsl.Http import akka.http.scaladsl.client.RequestBuilding import akka.http.scaladsl.model._ -import akka.stream.ActorMaterializer +import akka.stream.Materializer import com.typesafe.config.{Config, ConfigFactory} import com.typesafe.scalalogging.LazyLogging import org.eclipse.rdf4j.model.Model @@ -69,7 +69,7 @@ class E2ESpec(_system: ActorSystem) extends Core with StartupUtils with Triplest implicit lazy val system: ActorSystem = _system implicit lazy val settings: SettingsImpl = Settings(system) - implicit val materializer: ActorMaterializer = ActorMaterializer() + implicit val materializer: Materializer = Materializer.matFromSystem(system) implicit val executionContext: ExecutionContext = system.dispatchers.lookup(KnoraDispatchers.KnoraActorDispatcher) // can be overridden in individual spec diff --git a/webapi/src/test/scala/org/knora/webapi/util/AkkaHttpUtils.scala b/webapi/src/test/scala/org/knora/webapi/util/AkkaHttpUtils.scala index e995de6a73..a1b2a4010f 100644 --- a/webapi/src/test/scala/org/knora/webapi/util/AkkaHttpUtils.scala +++ b/webapi/src/test/scala/org/knora/webapi/util/AkkaHttpUtils.scala @@ -26,7 +26,7 @@ import akka.actor.ActorSystem import akka.event.LoggingAdapter import akka.http.scaladsl.model.{HttpResponse, StatusCodes} import akka.http.scaladsl.unmarshalling.Unmarshal -import akka.stream.ActorMaterializer +import akka.stream.Materializer import akka.util.Timeout import com.github.jsonldjava.core.{JsonLdOptions, JsonLdProcessor} import com.github.jsonldjava.utils.JsonUtils @@ -52,7 +52,7 @@ object AkkaHttpUtils extends LazyLogging { import DefaultJsonProtocol._ import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport._ - implicit val materializer: ActorMaterializer = ActorMaterializer() + implicit val materializer: Materializer = Materializer.matFromSystem(system) val jsonFuture: Future[JsObject] = response match { case HttpResponse(StatusCodes.OK, _, entity, _) => @@ -73,7 +73,7 @@ object AkkaHttpUtils extends LazyLogging { */ def httpResponseToJsonLDExpanded(response: HttpResponse)(implicit ec: ExecutionContext, system: ActorSystem, log: LoggingAdapter): Map[String, Any] = { - implicit val materializer: ActorMaterializer = ActorMaterializer() + implicit val materializer: Materializer = Materializer.matFromSystem(system) val jsonStringFuture: Future[String] = Unmarshal(response.entity).to[String]