diff --git a/docs/architecture/decisions/0004-change-respondermanager-to-a-simple-case-class.md b/docs/architecture/decisions/0004-change-respondermanager-to-a-simple-case-class.md new file mode 100644 index 0000000000..56e57901c2 --- /dev/null +++ b/docs/architecture/decisions/0004-change-respondermanager-to-a-simple-case-class.md @@ -0,0 +1,19 @@ +# 4. Change ResponderManager to a simple case class + +Date: 2022-06-06 + +## Status + +Accepted + +## Context + +The `org.knora.webapi.responders.ResponderManager` was implemented as an Akka-Actor. + +## Decision + +In preparation of the move from `Akka` to `ZIO`, it was decided that the `ResponderManager` is refactored using plain `case` classes. + +## Consequences + +The actor messages and responses don't change. All calls made previously to the `ResponderManager` and the `StorageManager` are now changed to the `ApplicationActor` which will route the calls to either the `ResponderManager` or the `StorageManager` based on the message type. The `ApplicationActor` is the only actor that is allowed to make calls to either the `ResponderManager` or the `StorageManager`. All requests from routes are now routed to the `ApplicationActor`. diff --git a/docs/architecture/flows/http-request-flow.md b/docs/architecture/flows/http-request-flow.md new file mode 100644 index 0000000000..1d5a35605d --- /dev/null +++ b/docs/architecture/flows/http-request-flow.md @@ -0,0 +1,29 @@ +HTTP Request Flow + +V1 / V2 / admin: +```mermaid +sequenceDiagram + autonumber + client ->> route: send http request + route ->> authenticator: authenticate user + authenticator ->> route: user authenticated + route ->> application actor: send message + application actor ->> responder manager: forward message + responder manager ->> responder: forward message + responder ->> responder manager: return result + responder manager ->> application actor: forward result + application actor ->> route: forward result + route ->> client: send http response +``` + +V3: +```mermaid +sequenceDiagram + autonumber + client ->> route: send http request + route ->> authenticator: authenticate user + authenticator ->> route: user authenticated + route ->> handler: call handler method + handler ->> route: return result + route ->> client: send result as http response +``` diff --git a/docs/architecture/workspace.dsl b/docs/architecture/workspace.dsl index 0bae6febb9..f1f6b5afa2 100644 --- a/docs/architecture/workspace.dsl +++ b/docs/architecture/workspace.dsl @@ -17,5 +17,5 @@ workspace { } !adrs decisions - + !docs flows } diff --git a/dsp-shared/src/main/scala/dsp/errors/Errors.scala b/dsp-shared/src/main/scala/dsp/errors/Errors.scala index 202d0202e6..ba09c0d3c9 100644 --- a/dsp-shared/src/main/scala/dsp/errors/Errors.scala +++ b/dsp-shared/src/main/scala/dsp/errors/Errors.scala @@ -5,7 +5,7 @@ package dsp.errors -import akka.event.LoggingAdapter +import com.typesafe.scalalogging.Logger import org.apache.commons.lang3.SerializationException import org.apache.commons.lang3.SerializationUtils @@ -194,7 +194,7 @@ case class AuthenticationException( ) extends InternalServerException(message) object AuthenticationException { - def apply(message: String, e: Throwable, log: LoggingAdapter): AuthenticationException = + def apply(message: String, e: Throwable, log: Logger): AuthenticationException = AuthenticationException(message, Some(ExceptionUtil.logAndWrapIfNotSerializable(e, log))) } @@ -245,7 +245,7 @@ case class StandoffInternalException(message: String, cause: Option[Throwable] = extends InternalServerException(message, cause) object StandoffInternalException { - def apply(message: String, e: Throwable, log: LoggingAdapter): StandoffInternalException = + def apply(message: String, e: Throwable, log: Logger): StandoffInternalException = StandoffInternalException(message, Some(ExceptionUtil.logAndWrapIfNotSerializable(e, log))) } @@ -259,7 +259,7 @@ case class AssertionException(message: String, cause: Option[Throwable] = None) extends InternalServerException(message, cause) object AssertionException { - def apply(message: String, e: Throwable, log: LoggingAdapter): AssertionException = + def apply(message: String, e: Throwable, log: Logger): AssertionException = AssertionException(message, Some(ExceptionUtil.logAndWrapIfNotSerializable(e, log))) } @@ -282,7 +282,7 @@ case class TriplestoreConnectionException(message: String, cause: Option[Throwab extends TriplestoreException(message, cause) object TriplestoreConnectionException { - def apply(message: String, e: Throwable, log: LoggingAdapter): TriplestoreConnectionException = + def apply(message: String, e: Throwable, log: Logger): TriplestoreConnectionException = TriplestoreConnectionException(message, Some(ExceptionUtil.logAndWrapIfNotSerializable(e, log))) } @@ -296,7 +296,7 @@ case class TriplestoreTimeoutException(message: String, cause: Option[Throwable] extends TriplestoreException(message, cause) object TriplestoreTimeoutException { - def apply(message: String, e: Throwable, log: LoggingAdapter): TriplestoreTimeoutException = + def apply(message: String, e: Throwable, log: Logger): TriplestoreTimeoutException = TriplestoreTimeoutException(message, Some(ExceptionUtil.logAndWrapIfNotSerializable(e, log))) } @@ -310,7 +310,7 @@ case class TriplestoreUnsupportedFeatureException(message: String, cause: Option extends TriplestoreException(message, cause) object TriplestoreUnsupportedFeatureException { - def apply(message: String, e: Throwable, log: LoggingAdapter): TriplestoreUnsupportedFeatureException = + def apply(message: String, e: Throwable, log: Logger): TriplestoreUnsupportedFeatureException = TriplestoreUnsupportedFeatureException(message, Some(ExceptionUtil.logAndWrapIfNotSerializable(e, log))) } @@ -324,7 +324,7 @@ case class TriplestoreInternalException(message: String, cause: Option[Throwable extends TriplestoreException(message, cause) object TriplestoreInternalException { - def apply(message: String, e: Throwable, log: LoggingAdapter): TriplestoreInternalException = + def apply(message: String, e: Throwable, log: Logger): TriplestoreInternalException = TriplestoreInternalException(message, Some(ExceptionUtil.logAndWrapIfNotSerializable(e, log))) } @@ -338,7 +338,7 @@ case class TriplestoreResponseException(message: String, cause: Option[Throwable extends TriplestoreException(message, cause) object TriplestoreResponseException { - def apply(message: String, e: Throwable, log: LoggingAdapter): TriplestoreResponseException = + def apply(message: String, e: Throwable, log: Logger): TriplestoreResponseException = TriplestoreResponseException(message, Some(ExceptionUtil.logAndWrapIfNotSerializable(e, log))) } @@ -351,7 +351,7 @@ case class InconsistentRepositoryDataException(message: String, cause: Option[Th extends InternalServerException(message, cause) object InconsistentRepositoryDataException { - def apply(message: String, e: Throwable, log: LoggingAdapter): InconsistentRepositoryDataException = + def apply(message: String, e: Throwable, log: Logger): InconsistentRepositoryDataException = InconsistentRepositoryDataException(message, Some(ExceptionUtil.logAndWrapIfNotSerializable(e, log))) } @@ -368,7 +368,7 @@ case class InvalidApiJsonException(message: String, cause: Option[Throwable] = N extends InternalServerException(message, cause) object InvalidApiJsonException { - def apply(message: String, e: Throwable, log: LoggingAdapter): InvalidApiJsonException = + def apply(message: String, e: Throwable, log: Logger): InvalidApiJsonException = InvalidApiJsonException(message, Some(ExceptionUtil.logAndWrapIfNotSerializable(e, log))) } @@ -447,7 +447,7 @@ case class SipiException(message: String, cause: Option[Throwable] = None) extends InternalServerException(message, cause) object SipiException { - def apply(message: String, e: Throwable, log: LoggingAdapter): SipiException = + def apply(message: String, e: Throwable, log: Logger): SipiException = SipiException(message, Some(ExceptionUtil.logAndWrapIfNotSerializable(e, log))) def apply(message: String, e: Throwable): SipiException = @@ -533,11 +533,11 @@ object ExceptionUtil { * @param e the exception to be checked. * @return the same exception, or a [[WrapperException]]. */ - def logAndWrapIfNotSerializable(e: Throwable, log: LoggingAdapter): Throwable = + def logAndWrapIfNotSerializable(e: Throwable, log: Logger): Throwable = if (isSerializable(e)) { e } else { - log.error(e, e.toString) + log.error(e.toString) WrapperException(e) } } diff --git a/project/Dependencies.scala b/project/Dependencies.scala index ccf4bbd999..c5d29a15bb 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -180,6 +180,7 @@ object Dependencies { commonsLang3, commonsValidator, gwtServlet, + scalaLogging, zioPrelude, zioTest % Test, zioTestSbt % Test diff --git a/webapi/src/main/resources/logback.xml b/webapi/src/main/resources/logback.xml index d43c4c2aa9..ecb556fdeb 100644 --- a/webapi/src/main/resources/logback.xml +++ b/webapi/src/main/resources/logback.xml @@ -37,6 +37,7 @@ + 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 7172c11f0b..57ea233336 100644 --- a/webapi/src/main/scala/org/knora/webapi/app/ApplicationActor.scala +++ b/webapi/src/main/scala/org/knora/webapi/app/ApplicationActor.scala @@ -6,6 +6,7 @@ package org.knora.webapi.app import akka.actor.Actor +import akka.actor.ActorLogging import akka.actor.ActorRef import akka.actor.ActorSystem import akka.actor.OneForOneStrategy @@ -13,6 +14,7 @@ import akka.actor.Props import akka.actor.Stash import akka.actor.SupervisorStrategy._ import akka.actor.Timers +import akka.event.Logging import akka.http.scaladsl.Http import akka.http.scaladsl.server.Directives._ import akka.http.scaladsl.server.Route @@ -28,7 +30,7 @@ import org.knora.webapi.feature.FeatureFactoryConfig import org.knora.webapi.feature.KnoraSettingsFeatureFactoryConfig import org.knora.webapi.http.directives.DSPApiDirectives import org.knora.webapi.http.version.ServerVersion -import org.knora.webapi.messages.admin.responder.KnoraRequestADM +import org.knora.webapi.messages.ResponderRequest._ import org.knora.webapi.messages.app.appmessages._ import org.knora.webapi.messages.store.StoreRequest import org.knora.webapi.messages.store.cacheservicemessages.CacheServiceGetStatus @@ -40,8 +42,6 @@ import org.knora.webapi.messages.store.sipimessages.IIIFServiceStatusOK import org.knora.webapi.messages.store.triplestoremessages._ import org.knora.webapi.messages.util.KnoraSystemInstances import org.knora.webapi.messages.util.ResponderData -import org.knora.webapi.messages.v1.responder.KnoraRequestV1 -import org.knora.webapi.messages.v2.responder.KnoraRequestV2 import org.knora.webapi.messages.v2.responder.SuccessResponseV2 import org.knora.webapi.messages.v2.responder.ontologymessages.LoadOntologiesRequestV2 import org.knora.webapi.responders.ResponderManager @@ -57,6 +57,7 @@ import org.knora.webapi.store.StoreManager import org.knora.webapi.store.cacheservice.CacheServiceManager import org.knora.webapi.store.cacheservice.settings.CacheServiceSettings import org.knora.webapi.store.iiif.IIIFServiceManager +import org.knora.webapi.util.ActorUtil.future2Message import org.knora.webapi.util.cache.CacheUtil import redis.clients.jedis.exceptions.JedisConnectionException @@ -84,9 +85,10 @@ class ApplicationActor( with AroundDirectives with Timers { - logger.debug("entered the ApplicationManager constructor") - implicit val system: ActorSystem = context.system + val log = logger + + log.debug("entered the ApplicationManager constructor") /** * The application's configuration. @@ -119,31 +121,14 @@ class ApplicationActor( implicit protected val timeout: Timeout = knoraSettings.defaultTimeout /** - * Route data. + * Data used in responders. */ - private val routeData = KnoraRouteData( - system = system, - appActor = self - ) + val responderData: ResponderData = ResponderData(system, self, knoraSettings, cacheServiceSettings) /** - * The actor that forwards messages to responder actors to handle API requests. + * The object that forwards messages to responder instances to handle API requests. */ - lazy val responderManager: ActorRef = context.actorOf( - Props( - new ResponderManager( - appActor = self, - responderData = ResponderData( - system = context.system, - appActor = self, - knoraSettings = KnoraSettings(system), - cacheServiceSettings = new CacheServiceSettings(system.settings.config) - ) - ) with LiveActorMaker - ) - .withDispatcher(KnoraDispatchers.KnoraActorDispatcher), - name = RESPONDER_MANAGER_ACTOR_NAME - ) + val responderManager: ResponderManager = ResponderManager(responderData) /** * The actor that forwards messages to actors that deal with persistent storage. @@ -154,6 +139,14 @@ class ApplicationActor( name = StoreManagerActorName ) + /** + * Route data. + */ + private val routeData = KnoraRouteData( + system = system, + appActor = self + ) + /** * This actor acts as the supervisor for its child actors. * Here we can override the default supervisor strategy. @@ -164,13 +157,13 @@ class ApplicationActor( case _: NullPointerException => Restart case _: IllegalArgumentException => Stop case e: InconsistentRepositoryDataException => - logger.info(s"Received a 'InconsistentTriplestoreDataException', will shutdown now. Cause: {}", e.message) + log.info(s"Received a 'InconsistentTriplestoreDataException', will shutdown now. Cause: ${e.message}") Stop case e: SipiException => - logger.warn(s"Received a 'SipiException', will continue. Cause: {}", e.message) + log.warn(s"Received a 'SipiException', will continue. Cause: ${e.message}") Resume case _: JedisConnectionException => - logger.warn(s"Received a 'JedisConnectionException', will continue. Probably the Redis-Server is not running.") + log.warn(s"Received a 'JedisConnectionException', will continue. Probably the Redis-Server is not running.") Resume case _: Exception => Escalate } @@ -196,13 +189,13 @@ class ApplicationActor( def initializing(): Receive = { /* Called from main. Initiates application startup. */ case appStartMsg: AppStart => - logger.info("==> AppStart") + log.info("==> AppStart") appStart(appStartMsg.ignoreRepository, appStartMsg.requiresIIIFService, appStartMsg.retryCnt) case AppStop() => - logger.info("==> AppStop") + log.info("==> AppStop") appStop() case AppReady() => - logger.info("==> AppReady") + log.info("==> AppReady") unstashAll() // unstash any messages, so that they can be processed context.become(ready(), discardOld = true) case _ => @@ -216,7 +209,7 @@ class ApplicationActor( /* Called from the "appStart" method. Entry point for startup sequence. */ case initStartUp: InitStartUp => - logger.info("=> InitStartUp") + log.info("=> InitStartUp") if (appState == AppStates.Stopped) { ignoreRepository = initStartUp.ignoreRepository @@ -228,7 +221,7 @@ class ApplicationActor( /* Each app state change goes through here */ case SetAppState(value: AppState) => appState = value - logger.debug("appStateChanged - to state: {}", value) + log.debug("appStateChanged - to state: {}", value) value match { case AppStates.Stopped => // do nothing @@ -301,7 +294,7 @@ class ApplicationActor( self ! SetAppState(AppStates.Running) case AppStates.Running => - logger.info("=> Running") + log.info("=> Running") printBanner() case AppStates.MaintenanceMode => @@ -315,26 +308,26 @@ class ApplicationActor( } case GetAppState() => - logger.debug("ApplicationStateActor - GetAppState - value: {}", appState) + log.debug("ApplicationStateActor - GetAppState - value: {}", appState) sender() ! appState case ActorReady() => sender() ! ActorReadyAck() case SetAllowReloadOverHTTPState(value) => - logger.debug("ApplicationStateActor - SetAllowReloadOverHTTPState - value: {}", value) + log.debug("ApplicationStateActor - SetAllowReloadOverHTTPState - value: {}", value) allowReloadOverHTTPState = value case GetAllowReloadOverHTTPState() => - logger.debug("ApplicationStateActor - GetAllowReloadOverHTTPState - value: {}", allowReloadOverHTTPState) + log.debug("ApplicationStateActor - GetAllowReloadOverHTTPState - value: {}", allowReloadOverHTTPState) sender() ! (allowReloadOverHTTPState | knoraSettings.allowReloadOverHTTP) case SetPrintConfigExtendedState(value) => - logger.debug("ApplicationStateActor - SetPrintConfigExtendedState - value: {}", value) + log.debug("ApplicationStateActor - SetPrintConfigExtendedState - value: {}", value) printConfigState = value case GetPrintConfigExtendedState() => - logger.debug("ApplicationStateActor - GetPrintConfigExtendedState - value: {}", printConfigState) + log.debug("ApplicationStateActor - GetPrintConfigExtendedState - value: {}", printConfigState) sender() ! (printConfigState | knoraSettings.printExtendedConfig) /* check repository request */ @@ -347,12 +340,12 @@ class ApplicationActor( case TriplestoreStatus.ServiceAvailable => self ! SetAppState(AppStates.TriplestoreReady) case TriplestoreStatus.NotInitialized => - logger.warn(s"checkRepository - status: {}, message: {}", status, message) - logger.warn("Please initialize repository.") + log.warn(s"checkRepository - status: $status, message: $message") + log.warn("Please initialize repository.") timers.startSingleTimer("CheckRepository", CheckTriplestore(), 5.seconds) case TriplestoreStatus.ServiceUnavailable => - logger.warn(s"checkRepository - status: {}, message: {}", status, message) - logger.warn("Please start repository.") + log.warn(s"checkRepository - status: $status, message: $status") + log.warn("Please start repository.") timers.startSingleTimer("CheckRepository", CheckTriplestore(), 5.seconds) } @@ -360,7 +353,7 @@ class ApplicationActor( storeManager ! UpdateRepositoryRequest() case RepositoryUpdatedResponse(message) => - logger.info(message) + log.info(message) self ! SetAppState(AppStates.RepositoryUpToDate) /* create caches request */ @@ -376,7 +369,7 @@ class ApplicationActor( /* load ontologies request */ case LoadOntologies() => - responderManager ! LoadOntologiesRequestV2( + self ! LoadOntologiesRequestV2( featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = KnoraSystemInstances.Users.SystemUser ) @@ -392,7 +385,7 @@ class ApplicationActor( self ! SetAppState(AppStates.IIIFServiceReady) case IIIFServiceStatusNOK if withIIIFService => - logger.warn("Sipi not running. Please start it.") + log.warn("Sipi not running. Please start it.") timers.startSingleTimer("CheckIIIFService", CheckIIIFService, 5.seconds) case CheckCacheService => @@ -402,19 +395,19 @@ class ApplicationActor( self ! SetAppState(AppStates.CacheServiceReady) case CacheServiceStatusNOK => - logger.warn("Redis server not running. Please start it.") + log.warn("Redis server not running. Please start it.") timers.startSingleTimer("CheckCacheService", CheckCacheService, 5.seconds) // Forward messages to the responder manager and the store manager. - case responderMessage: KnoraRequestV1 => responderManager forward responderMessage - case responderMessage: KnoraRequestV2 => responderManager forward responderMessage - case responderMessage: KnoraRequestADM => responderManager forward responderMessage + case responderMessage: KnoraRequestV1 => future2Message(sender(), responderManager.receive(responderMessage), log) + case responderMessage: KnoraRequestV2 => future2Message(sender(), responderManager.receive(responderMessage), log) + case responderMessage: KnoraRequestADM => future2Message(sender(), responderManager.receive(responderMessage), log) case storeMessage: StoreRequest => storeManager forward storeMessage case akka.actor.Status.Failure(ex: Exception) => ex match { case MissingLastModificationDateOntologyException(_, _) => - logger.info("Application stopped because of loading ontology into the cache failed.") + log.info("Application stopped because of loading ontology into the cache failed.") appStop() case _ => throw ex } @@ -495,7 +488,7 @@ class ApplicationActor( case Failure(ex) => if (retryCnt < 5) { - logger.error( + log.error( "Failed to bind to {}:{}! - {} - retryCnt: {}", knoraSettings.internalKnoraApiHost, knoraSettings.internalKnoraApiPort, @@ -508,7 +501,7 @@ class ApplicationActor( self ! AppStart(ignoreRepository, requiresIIIFService, retryCnt + 1) } } else { - logger.error( + log.error( "Failed to bind to {}:{}! - {}", knoraSettings.internalKnoraApiHost, knoraSettings.internalKnoraApiPort, @@ -523,17 +516,17 @@ class ApplicationActor( * Stops Knora-API. */ def appStop(): Unit = { - logger.info("ApplicationActor - initiating shutdown ...") + log.info("ApplicationActor - initiating shutdown ...") context.stop(self) } override def postStop(): Unit = { super.postStop() - logger.info("ApplicationActor - ... shutdown in progress, initiating post stop cleanup...") + log.info("ApplicationActor - ... shutdown in progress, initiating post stop cleanup...") CacheUtil.removeAllCaches() - logger.info("ApplicationActor - ... Bye!") + log.info("ApplicationActor - ... Bye!") Http().shutdownAllConnectionPools() andThen { case _ => system.terminate() } } diff --git a/webapi/src/main/scala/org/knora/webapi/app/LiveCore.scala b/webapi/src/main/scala/org/knora/webapi/app/LiveCore.scala index 92d79102f9..aa7c200b96 100644 --- a/webapi/src/main/scala/org/knora/webapi/app/LiveCore.scala +++ b/webapi/src/main/scala/org/knora/webapi/app/LiveCore.scala @@ -16,6 +16,7 @@ import org.knora.webapi.settings.KnoraSettingsImpl import org.knora.webapi.settings._ import scala.concurrent.ExecutionContext +import org.knora.webapi.store.cacheservice.settings.CacheServiceSettings /** * The applications actor system. diff --git a/webapi/src/main/scala/org/knora/webapi/messages/ResponderRequest.scala b/webapi/src/main/scala/org/knora/webapi/messages/ResponderRequest.scala new file mode 100644 index 0000000000..810f7f927a --- /dev/null +++ b/webapi/src/main/scala/org/knora/webapi/messages/ResponderRequest.scala @@ -0,0 +1,26 @@ +/* + * Copyright © 2021 - 2022 Swiss National Data and Service Center for the Humanities and/or DaSCH Service Platform contributors. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.knora.webapi.messages + +trait ResponderRequest + +object ResponderRequest { + + /** + * A tagging trait for messages that can be sent to Knora API v2 responders. + */ + trait KnoraRequestV2 extends ResponderRequest + + /** + * A tagging trait for messages that can be sent to Knora API v1 responders. + */ + trait KnoraRequestV1 extends ResponderRequest + + /** + * A tagging trait for messages that can be sent to Knora Admin responders. + */ + trait KnoraRequestADM extends ResponderRequest +} diff --git a/webapi/src/main/scala/org/knora/webapi/messages/StringFormatter.scala b/webapi/src/main/scala/org/knora/webapi/messages/StringFormatter.scala index fe06b9b007..2dd1687a70 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/StringFormatter.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/StringFormatter.scala @@ -6,7 +6,7 @@ package org.knora.webapi.messages import akka.actor.ActorRef -import akka.event.LoggingAdapter +import com.typesafe.scalalogging.Logger import akka.http.scaladsl.util.FastFuture import akka.pattern._ import akka.util.Timeout @@ -2817,16 +2817,16 @@ class StringFormatter private ( * Checks whether an IRI already exists in the triplestore. * * @param iri the IRI to be checked. - * @param storeManager a reference to the store manager. + * @param appActor a reference to the application actor. * @return `true` if the IRI already exists, `false` otherwise. */ - def checkIriExists(iri: IRI, storeManager: ActorRef)(implicit + def checkIriExists(iri: IRI, appActor: ActorRef)(implicit timeout: Timeout, executionContext: ExecutionContext ): Future[Boolean] = for { askString <- Future(org.knora.webapi.messages.twirl.queries.sparql.admin.txt.checkIriExists(iri).toString) - response <- (storeManager ? SparqlAskRequest(askString)).mapTo[SparqlAskResponse] + response <- appActor.ask(SparqlAskRequest(askString)).mapTo[SparqlAskResponse] } yield response.result /** @@ -2836,7 +2836,7 @@ class StringFormatter private ( * @param iriFun a function that generates a random IRI. * @param storeManager a reference to the Knora store manager actor. */ - def makeUnusedIri(iriFun: => IRI, storeManager: ActorRef, log: LoggingAdapter)(implicit + def makeUnusedIri(iriFun: => IRI, storeManager: ActorRef, log: Logger)(implicit timeout: Timeout, executionContext: ExecutionContext ): Future[IRI] = { @@ -2850,7 +2850,7 @@ class StringFormatter private ( if (!iriExists) { FastFuture.successful(newIri) } else if (attempts > 1) { - log.warning("KnoraIdUtil.makeUnusedIri generated an IRI that already exists in the triplestore, retrying") + log.warn("KnoraIdUtil.makeUnusedIri generated an IRI that already exists in the triplestore, retrying") makeUnusedIriRec(attempts - 1) } else { throw UpdateNotPerformedException(s"Could not make an unused new IRI after $MAX_IRI_ATTEMPTS attempts") diff --git a/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/KnoraRequestADM.scala b/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/KnoraRequestADM.scala deleted file mode 100644 index 7f01eb91cf..0000000000 --- a/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/KnoraRequestADM.scala +++ /dev/null @@ -1,11 +0,0 @@ -/* - * Copyright © 2021 - 2022 Swiss National Data and Service Center for the Humanities and/or DaSCH Service Platform contributors. - * SPDX-License-Identifier: Apache-2.0 - */ - -package org.knora.webapi.messages.admin.responder - -/** - * A tagging trait for messages that can be sent to Knora Admin responders. - */ -trait KnoraRequestADM diff --git a/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/groupsmessages/GroupsMessagesADM.scala b/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/groupsmessages/GroupsMessagesADM.scala index c7acd20901..76143feb9b 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/groupsmessages/GroupsMessagesADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/groupsmessages/GroupsMessagesADM.scala @@ -9,7 +9,7 @@ import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport import org.knora.webapi.IRI import dsp.errors.BadRequestException import org.knora.webapi.feature.FeatureFactoryConfig -import org.knora.webapi.messages.admin.responder.KnoraRequestADM +import org.knora.webapi.messages.ResponderRequest.KnoraRequestADM import org.knora.webapi.messages.admin.responder.KnoraResponseADM import org.knora.webapi.messages.admin.responder.projectsmessages.ProjectADM import org.knora.webapi.messages.admin.responder.projectsmessages.ProjectsADMJsonProtocol diff --git a/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/listsmessages/ListsMessagesADM.scala b/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/listsmessages/ListsMessagesADM.scala index 8bcfe8bde5..8d945f18f0 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/listsmessages/ListsMessagesADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/listsmessages/ListsMessagesADM.scala @@ -10,7 +10,7 @@ import org.knora.webapi._ import dsp.errors.BadRequestException import org.knora.webapi.feature.FeatureFactoryConfig import org.knora.webapi.messages.StringFormatter -import org.knora.webapi.messages.admin.responder.KnoraRequestADM +import org.knora.webapi.messages.ResponderRequest.KnoraRequestADM import org.knora.webapi.messages.admin.responder.KnoraResponseADM import org.knora.webapi.messages.admin.responder.listsmessages.ListNodeCreatePayloadADM.ListChildNodeCreatePayloadADM import org.knora.webapi.messages.admin.responder.listsmessages.ListNodeCreatePayloadADM.ListRootNodeCreatePayloadADM diff --git a/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/permissionsmessages/PermissionsMessagesADM.scala b/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/permissionsmessages/PermissionsMessagesADM.scala index 2a403bfb9b..fac884df1c 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/permissionsmessages/PermissionsMessagesADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/permissionsmessages/PermissionsMessagesADM.scala @@ -12,7 +12,7 @@ import dsp.errors.ForbiddenException import org.knora.webapi.feature.FeatureFactoryConfig import org.knora.webapi.messages.OntologyConstants import org.knora.webapi.messages.StringFormatter -import org.knora.webapi.messages.admin.responder.KnoraRequestADM +import org.knora.webapi.messages.ResponderRequest.KnoraRequestADM import org.knora.webapi.messages.admin.responder.KnoraResponseADM import org.knora.webapi.messages.admin.responder.projectsmessages.ProjectsADMJsonProtocol import org.knora.webapi.messages.admin.responder.usersmessages.UserADM diff --git a/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/projectsmessages/ProjectsMessagesADM.scala b/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/projectsmessages/ProjectsMessagesADM.scala index d1088eaf2b..753936e114 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/projectsmessages/ProjectsMessagesADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/projectsmessages/ProjectsMessagesADM.scala @@ -15,7 +15,7 @@ import dsp.errors.DataConversionException import dsp.errors.OntologyConstraintException import org.knora.webapi.feature.FeatureFactoryConfig import org.knora.webapi.messages.StringFormatter -import org.knora.webapi.messages.admin.responder.KnoraRequestADM +import org.knora.webapi.messages.ResponderRequest.KnoraRequestADM import org.knora.webapi.messages.admin.responder.KnoraResponseADM import org.knora.webapi.messages.admin.responder.usersmessages.UserADM import org.knora.webapi.messages.store.triplestoremessages.StringLiteralV2 diff --git a/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/sipimessages/SipiMessagesADM.scala b/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/sipimessages/SipiMessagesADM.scala index 78aef8b082..acb462e1f7 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/sipimessages/SipiMessagesADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/sipimessages/SipiMessagesADM.scala @@ -7,7 +7,7 @@ package org.knora.webapi.messages.admin.responder.sipimessages import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport import org.knora.webapi.feature.FeatureFactoryConfig -import org.knora.webapi.messages.admin.responder.KnoraRequestADM +import org.knora.webapi.messages.ResponderRequest.KnoraRequestADM import org.knora.webapi.messages.admin.responder.KnoraResponseADM import org.knora.webapi.messages.admin.responder.projectsmessages.ProjectRestrictedViewSettingsADM import org.knora.webapi.messages.admin.responder.projectsmessages.ProjectsADMJsonProtocol diff --git a/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/storesmessages/StoresMessagesADM.scala b/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/storesmessages/StoresMessagesADM.scala index 67a2e27e53..8b406eb99e 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/storesmessages/StoresMessagesADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/storesmessages/StoresMessagesADM.scala @@ -7,7 +7,7 @@ package org.knora.webapi.messages.admin.responder.storesmessages import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport import org.knora.webapi.feature.FeatureFactoryConfig -import org.knora.webapi.messages.admin.responder.KnoraRequestADM +import org.knora.webapi.messages.ResponderRequest.KnoraRequestADM import org.knora.webapi.messages.admin.responder.KnoraResponseADM import org.knora.webapi.messages.store.triplestoremessages.RdfDataObject import org.knora.webapi.messages.store.triplestoremessages.TriplestoreJsonProtocol diff --git a/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/usersmessages/UsersMessagesADM.scala b/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/usersmessages/UsersMessagesADM.scala index 5ff38a2d50..4152520911 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/usersmessages/UsersMessagesADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/admin/responder/usersmessages/UsersMessagesADM.scala @@ -12,7 +12,7 @@ import dsp.errors.DataConversionException import org.knora.webapi.feature.FeatureFactoryConfig import org.knora.webapi.messages.OntologyConstants import org.knora.webapi.messages.StringFormatter -import org.knora.webapi.messages.admin.responder.KnoraRequestADM +import org.knora.webapi.messages.ResponderRequest.KnoraRequestADM import org.knora.webapi.messages.admin.responder.KnoraResponseADM import org.knora.webapi.messages.admin.responder.groupsmessages.GroupADM import org.knora.webapi.messages.admin.responder.groupsmessages.GroupsADMJsonProtocol diff --git a/webapi/src/main/scala/org/knora/webapi/messages/store/triplestoremessages/TriplestoreMessages.scala b/webapi/src/main/scala/org/knora/webapi/messages/store/triplestoremessages/TriplestoreMessages.scala index 293407e185..0316cffdf3 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/store/triplestoremessages/TriplestoreMessages.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/store/triplestoremessages/TriplestoreMessages.scala @@ -5,7 +5,7 @@ package org.knora.webapi.messages.store.triplestoremessages -import akka.event.LoggingAdapter +import com.typesafe.scalalogging.Logger import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport import org.apache.commons.lang3.StringUtils import org.knora.webapi._ @@ -117,13 +117,13 @@ object SparqlExtendedConstructResponse { * * @param turtleStr the Turtle document. * @param rdfFormatUtil an [[RdfFormatUtil]]. - * @param log a [[LoggingAdapter]]. + * @param log a [[Logger]]. * @return a [[SparqlExtendedConstructResponse]] representing the document. */ def parseTurtleResponse( turtleStr: String, rdfFormatUtil: RdfFormatUtil, - log: LoggingAdapter + log: Logger ): Try[SparqlExtendedConstructResponse] = { val parseTry = Try { implicit val stringFormatter: StringFormatter = StringFormatter.getGeneralInstance @@ -207,7 +207,7 @@ object SparqlExtendedConstructResponse { parseTry match { case Success(parsed) => Success(parsed) case Failure(e) => - log.error(e, s"Couldn't parse Turtle document:$logDelimiter$turtleStr$logDelimiter") + log.error(s"Couldn't parse Turtle document:$logDelimiter$turtleStr$logDelimiter, ${e.toString()}") Failure(DataConversionException("Couldn't parse Turtle document")) } } diff --git a/webapi/src/main/scala/org/knora/webapi/messages/twirl/ResourceHtmlView.scala b/webapi/src/main/scala/org/knora/webapi/messages/twirl/ResourceHtmlView.scala index b135b020a2..107889ba37 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/twirl/ResourceHtmlView.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/twirl/ResourceHtmlView.scala @@ -37,7 +37,7 @@ object ResourceHtmlView { */ private val systemUser = KnoraSystemInstances.Users.SystemUser.asUserProfileV1 - def propertiesHtmlView(response: ResourceFullResponseV1, responderManager: ActorRef): String = { + def propertiesHtmlView(response: ResourceFullResponseV1, appActor: ActorRef): String = { val properties = response.props.get.properties @@ -57,9 +57,7 @@ object ResourceHtmlView { propertyV1.values.map(literal => dateValue2String(literal.asInstanceOf[DateValueV1])) case OntologyConstants.KnoraBase.ListValue => - propertyV1.values.map(literal => - listValue2String(literal.asInstanceOf[HierarchicalListValueV1], responderManager) - ) + propertyV1.values.map(literal => listValue2String(literal.asInstanceOf[HierarchicalListValueV1], appActor)) case OntologyConstants.KnoraBase.Resource => // TODO: This could actually be a subclass of knora-base:Resource. propertyV1.values.map(literal => resourceValue2String(literal.asInstanceOf[LinkV1])) @@ -92,9 +90,9 @@ object ResourceHtmlView { date.dateval1.toString + " " + date.era1 + ", " + date.dateval2 + ", " + date.calendar.toString + " " + date.era2 } - private def listValue2String(list: HierarchicalListValueV1, responderManager: ActorRef): String = { + private def listValue2String(list: HierarchicalListValueV1, appActor: ActorRef): String = { - val resultFuture = responderManager ? NodePathGetRequestV1(list.hierarchicalListIri, systemUser) + val resultFuture = appActor.ask(NodePathGetRequestV1(list.hierarchicalListIri, systemUser)) val nodePath = Await.result(resultFuture, Duration(3, SECONDS)).asInstanceOf[NodePathGetResponseV1] nodePath.nodelist.foldLeft("") { (z, i) => diff --git a/webapi/src/main/scala/org/knora/webapi/messages/util/ConstructResponseUtilV2.scala b/webapi/src/main/scala/org/knora/webapi/messages/util/ConstructResponseUtilV2.scala index 2da45bbf37..e80dd82e41 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/util/ConstructResponseUtilV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/util/ConstructResponseUtilV2.scala @@ -36,6 +36,7 @@ import org.knora.webapi.messages.v2.responder.standoffmessages.GetStandoffRespon import org.knora.webapi.messages.v2.responder.standoffmessages.MappingXMLtoStandoff import org.knora.webapi.messages.v2.responder.standoffmessages.StandoffTagV2 import org.knora.webapi.messages.v2.responder.valuemessages._ +import org.knora.webapi.responders.ResponderManager import org.knora.webapi.settings.KnoraSettingsImpl import org.knora.webapi.util.ActorUtil @@ -928,7 +929,7 @@ object ConstructResponseUtilV2 { valueCommentOption: Option[String], mappings: Map[IRI, MappingAndXSLTransformation], queryStandoff: Boolean, - responderManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, requestingUser: UserADM )(implicit @@ -952,7 +953,7 @@ object ConstructResponseUtilV2 { for { standoff: Vector[StandoffTagV2] <- StandoffTagUtilV2.createStandoffTagsV2FromConstructResults( standoffAssertions = valueObject.standoff, - responderManager = responderManager, + appActor = appActor, requestingUser = requestingUser ) @@ -969,12 +970,17 @@ object ConstructResponseUtilV2 { // concatenated together and returned in a GetStandoffResponseV2. for { - standoffResponse <- (responderManager ? GetRemainingStandoffFromTextValueRequestV2( - resourceIri = resourceIri, - valueIri = valueObject.subjectIri, - featureFactoryConfig = featureFactoryConfig, - requestingUser = requestingUser - )).mapTo[GetStandoffResponseV2] + standoffResponse <- + appActor + .ask( + GetRemainingStandoffFromTextValueRequestV2( + resourceIri = resourceIri, + valueIri = valueObject.subjectIri, + featureFactoryConfig = featureFactoryConfig, + requestingUser = requestingUser + ) + ) + .mapTo[GetStandoffResponseV2] } yield standoff ++ standoffResponse.standoff } else { // We're not supposed to get any more standoff here, either because we have all of it already, @@ -1023,7 +1029,7 @@ object ConstructResponseUtilV2 { valueObjectValueHasString: String, valueCommentOption: Option[String], mappings: Map[IRI, MappingAndXSLTransformation], - responderManager: ActorRef, + appActor: ActorRef, requestingUser: UserADM )(implicit stringFormatter: StringFormatter, @@ -1127,7 +1133,7 @@ object ConstructResponseUtilV2 { mappings: Map[IRI, MappingAndXSLTransformation], queryStandoff: Boolean, versionDate: Option[Instant], - responderManager: ActorRef, + appActor: ActorRef, targetSchema: ApiV2Schema, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, @@ -1162,7 +1168,7 @@ object ConstructResponseUtilV2 { mappings = mappings, queryStandoff = queryStandoff, versionDate = versionDate, - responderManager = responderManager, + appActor = appActor, requestingUser = requestingUser, targetSchema = targetSchema, featureFactoryConfig = featureFactoryConfig, @@ -1198,7 +1204,7 @@ object ConstructResponseUtilV2 { mappings: Map[IRI, MappingAndXSLTransformation], queryStandoff: Boolean, versionDate: Option[Instant] = None, - responderManager: ActorRef, + appActor: ActorRef, targetSchema: ApiV2Schema, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, @@ -1227,7 +1233,7 @@ object ConstructResponseUtilV2 { valueCommentOption = valueCommentOption, mappings = mappings, queryStandoff = queryStandoff, - responderManager = responderManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, requestingUser = requestingUser ) @@ -1340,11 +1346,16 @@ object ConstructResponseUtilV2 { targetSchema match { case ApiV2Simple => for { - nodeResponse <- (responderManager ? NodeGetRequestV2( - nodeIri = listNodeIri, - featureFactoryConfig = featureFactoryConfig, - requestingUser = requestingUser - )).mapTo[NodeGetResponseV2] + nodeResponse <- + appActor + .ask( + NodeGetRequestV2( + nodeIri = listNodeIri, + featureFactoryConfig = featureFactoryConfig, + requestingUser = requestingUser + ) + ) + .mapTo[NodeGetResponseV2] } yield listNode.copy( listNodeLabel = nodeResponse.node .getLabelInPreferredLanguage(userLang = requestingUser.lang, fallbackLang = settings.fallbackLanguage) @@ -1385,7 +1396,7 @@ object ConstructResponseUtilV2 { mappings = mappings, queryStandoff = queryStandoff, versionDate = versionDate, - responderManager = responderManager, + appActor = appActor, requestingUser = requestingUser, targetSchema = targetSchema, featureFactoryConfig = featureFactoryConfig, @@ -1401,7 +1412,7 @@ object ConstructResponseUtilV2 { ), valueCommentOption = valueCommentOption, mappings = mappings, - responderManager = responderManager, + appActor = appActor, requestingUser = requestingUser ) @@ -1430,7 +1441,7 @@ object ConstructResponseUtilV2 { mappings: Map[IRI, MappingAndXSLTransformation], queryStandoff: Boolean, versionDate: Option[Instant], - responderManager: ActorRef, + appActor: ActorRef, targetSchema: ApiV2Schema, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, @@ -1493,17 +1504,18 @@ object ConstructResponseUtilV2 { } .map { valObj: ValueRdfData => for { - valueContent: ValueContentV2 <- createValueContentV2FromValueRdfData( - resourceIri = resourceIri, - valueObject = valObj, - mappings = mappings, - queryStandoff = queryStandoff, - responderManager = responderManager, - requestingUser = requestingUser, - targetSchema = targetSchema, - featureFactoryConfig = featureFactoryConfig, - settings = settings - ) + valueContent: ValueContentV2 <- + createValueContentV2FromValueRdfData( + resourceIri = resourceIri, + valueObject = valObj, + mappings = mappings, + queryStandoff = queryStandoff, + appActor = appActor, + requestingUser = requestingUser, + targetSchema = targetSchema, + featureFactoryConfig = featureFactoryConfig, + settings = settings + ) attachedToUser = valObj.requireIriObject(OntologyConstants.KnoraBase.AttachedToUser.toSmartIri) permissions = valObj.requireStringObject(OntologyConstants.KnoraBase.HasPermissions.toSmartIri) @@ -1573,11 +1585,15 @@ object ConstructResponseUtilV2 { for { projectResponse: ProjectGetResponseADM <- - (responderManager ? ProjectGetRequestADM( - identifier = ProjectIdentifierADM(maybeIri = Some(resourceAttachedToProject)), - featureFactoryConfig = featureFactoryConfig, - requestingUser = requestingUser - )).mapTo[ProjectGetResponseADM] + appActor + .ask( + ProjectGetRequestADM( + identifier = ProjectIdentifierADM(maybeIri = Some(resourceAttachedToProject)), + featureFactoryConfig = featureFactoryConfig, + requestingUser = requestingUser + ) + ) + .mapTo[ProjectGetResponseADM] valueObjects <- ActorUtil.sequenceSeqFuturesInMap(valueObjectFutures) } yield ReadResourceV2( @@ -1623,7 +1639,7 @@ object ConstructResponseUtilV2 { queryStandoff: Boolean, calculateMayHaveMoreResults: Boolean, versionDate: Option[Instant], - responderManager: ActorRef, + appActor: ActorRef, targetSchema: ApiV2Schema, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, @@ -1646,7 +1662,7 @@ object ConstructResponseUtilV2 { mappings = mappings, queryStandoff = queryStandoff, versionDate = versionDate, - responderManager = responderManager, + appActor = appActor, targetSchema = targetSchema, featureFactoryConfig = featureFactoryConfig, settings = settings, diff --git a/webapi/src/main/scala/org/knora/webapi/messages/util/FakeTriplestore.scala b/webapi/src/main/scala/org/knora/webapi/messages/util/FakeTriplestore.scala index cabd9a66dc..6decaa4d2b 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/util/FakeTriplestore.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/util/FakeTriplestore.scala @@ -5,7 +5,7 @@ package org.knora.webapi.messages.util -import akka.event.LoggingAdapter +import com.typesafe.scalalogging.Logger import org.apache.commons.io.FileUtils import org.knora.webapi.util.FileUtil @@ -64,7 +64,7 @@ object FakeTriplestore { ) } - def add(sparql: String, result: String, log: LoggingAdapter): Unit = + def add(sparql: String, result: String, log: Logger): Unit = this.synchronized { log.info("Collecting data for fake triplestore") val paddedQueryNum = f"$queryNum%04d" diff --git a/webapi/src/main/scala/org/knora/webapi/messages/util/PermissionUtilADM.scala b/webapi/src/main/scala/org/knora/webapi/messages/util/PermissionUtilADM.scala index bc274cb9d6..e769f50f27 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/util/PermissionUtilADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/util/PermissionUtilADM.scala @@ -26,6 +26,7 @@ import org.knora.webapi.messages.store.triplestoremessages.SparqlExtendedConstru import org.knora.webapi.messages.util.GroupedProps.ValueLiterals import org.knora.webapi.messages.util.GroupedProps.ValueProps import org.knora.webapi.messages.v1.responder.usermessages.UserProfileV1 +import org.knora.webapi.responders.ResponderManager import scala.concurrent.ExecutionContext import scala.concurrent.Future @@ -733,7 +734,7 @@ object PermissionUtilADM extends LazyLogging { def validatePermissions( permissionLiteral: String, featureFactoryConfig: FeatureFactoryConfig, - responderManager: ActorRef + appActor: ActorRef )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[String] = { val stringFormatter = StringFormatter.getGeneralInstance @@ -759,11 +760,15 @@ object PermissionUtilADM extends LazyLogging { ) // Check that those groups exist. - _ <- (responderManager ? MultipleGroupsGetRequestADM( - groupIris = validatedProjectSpecificGroupIris, - featureFactoryConfig = featureFactoryConfig, - requestingUser = KnoraSystemInstances.Users.SystemUser - )).mapTo[Set[GroupGetResponseADM]] + _ <- appActor + .ask( + MultipleGroupsGetRequestADM( + groupIris = validatedProjectSpecificGroupIris, + featureFactoryConfig = featureFactoryConfig, + requestingUser = KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[Set[GroupGetResponseADM]] // Reformat the permission literal. permissionADMs: Set[PermissionADM] = parsedPermissions.flatMap { case (entityPermission, groupIris) => diff --git a/webapi/src/main/scala/org/knora/webapi/messages/util/UserUtilADM.scala b/webapi/src/main/scala/org/knora/webapi/messages/util/UserUtilADM.scala index 83796e5ee2..b11a8eb029 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/util/UserUtilADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/util/UserUtilADM.scala @@ -40,7 +40,7 @@ object UserUtilADM { requestedUserIri: IRI, projectIri: IRI, featureFactoryConfig: FeatureFactoryConfig, - responderManager: ActorRef + appActor: ActorRef )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[UserADM] = { implicit val stringFormatter: StringFormatter = StringFormatter.getGeneralInstance @@ -54,12 +54,17 @@ object UserUtilADM { ) } else { for { - userResponse: UserResponseADM <- (responderManager ? UserGetRequestADM( - identifier = UserIdentifierADM(maybeIri = Some(requestedUserIri)), - userInformationTypeADM = UserInformationTypeADM.Full, - featureFactoryConfig = featureFactoryConfig, - requestingUser = KnoraSystemInstances.Users.SystemUser - )).mapTo[UserResponseADM] + userResponse: UserResponseADM <- + appActor + .ask( + UserGetRequestADM( + identifier = UserIdentifierADM(maybeIri = Some(requestedUserIri)), + userInformationTypeADM = UserInformationTypeADM.Full, + featureFactoryConfig = featureFactoryConfig, + requestingUser = KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[UserResponseADM] } yield userResponse.user } } diff --git a/webapi/src/main/scala/org/knora/webapi/messages/util/ValueUtilV1.scala b/webapi/src/main/scala/org/knora/webapi/messages/util/ValueUtilV1.scala index 3a6ca83c8c..5f7e0517b3 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/util/ValueUtilV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/util/ValueUtilV1.scala @@ -26,6 +26,7 @@ import org.knora.webapi.messages.v1.responder.resourcemessages.ResourceCreateVal import org.knora.webapi.messages.v1.responder.resourcemessages.ResourceCreateValueResponseV1 import org.knora.webapi.messages.v1.responder.valuemessages._ import org.knora.webapi.messages.v2.responder.standoffmessages._ +import org.knora.webapi.responders.ResponderManager import org.knora.webapi.settings.KnoraSettingsImpl import scala.concurrent.ExecutionContext @@ -49,7 +50,7 @@ class ValueUtilV1(private val settings: KnoraSettingsImpl) { def makeValueV1( valueProps: ValueProps, projectShortcode: String, - responderManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, userProfile: UserADM )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[ApiValueV1] = { @@ -57,31 +58,31 @@ class ValueUtilV1(private val settings: KnoraSettingsImpl) { valueTypeIri match { case OntologyConstants.KnoraBase.TextValue => - makeTextValue(valueProps, responderManager, featureFactoryConfig, userProfile) - case OntologyConstants.KnoraBase.IntValue => makeIntValue(valueProps, responderManager, userProfile) - case OntologyConstants.KnoraBase.DecimalValue => makeDecimalValue(valueProps, responderManager, userProfile) - case OntologyConstants.KnoraBase.BooleanValue => makeBooleanValue(valueProps, responderManager, userProfile) - case OntologyConstants.KnoraBase.UriValue => makeUriValue(valueProps, responderManager, userProfile) - case OntologyConstants.KnoraBase.DateValue => makeDateValue(valueProps, responderManager, userProfile) - case OntologyConstants.KnoraBase.ColorValue => makeColorValue(valueProps, responderManager, userProfile) - case OntologyConstants.KnoraBase.GeomValue => makeGeomValue(valueProps, responderManager, userProfile) - case OntologyConstants.KnoraBase.GeonameValue => makeGeonameValue(valueProps, responderManager, userProfile) - case OntologyConstants.KnoraBase.ListValue => makeListValue(valueProps, responderManager, userProfile) - case OntologyConstants.KnoraBase.IntervalValue => makeIntervalValue(valueProps, responderManager, userProfile) - case OntologyConstants.KnoraBase.TimeValue => makeTimeValue(valueProps, responderManager, userProfile) + makeTextValue(valueProps, appActor, featureFactoryConfig, userProfile) + case OntologyConstants.KnoraBase.IntValue => makeIntValue(valueProps, appActor, userProfile) + case OntologyConstants.KnoraBase.DecimalValue => makeDecimalValue(valueProps, appActor, userProfile) + case OntologyConstants.KnoraBase.BooleanValue => makeBooleanValue(valueProps, appActor, userProfile) + case OntologyConstants.KnoraBase.UriValue => makeUriValue(valueProps, appActor, userProfile) + case OntologyConstants.KnoraBase.DateValue => makeDateValue(valueProps, appActor, userProfile) + case OntologyConstants.KnoraBase.ColorValue => makeColorValue(valueProps, appActor, userProfile) + case OntologyConstants.KnoraBase.GeomValue => makeGeomValue(valueProps, appActor, userProfile) + case OntologyConstants.KnoraBase.GeonameValue => makeGeonameValue(valueProps, appActor, userProfile) + case OntologyConstants.KnoraBase.ListValue => makeListValue(valueProps, appActor, userProfile) + case OntologyConstants.KnoraBase.IntervalValue => makeIntervalValue(valueProps, appActor, userProfile) + case OntologyConstants.KnoraBase.TimeValue => makeTimeValue(valueProps, appActor, userProfile) case OntologyConstants.KnoraBase.StillImageFileValue => - makeStillImageValue(valueProps, projectShortcode, responderManager, userProfile) + makeStillImageValue(valueProps, projectShortcode, appActor, userProfile) case OntologyConstants.KnoraBase.TextFileValue => - makeTextFileValue(valueProps, projectShortcode, responderManager, userProfile) + makeTextFileValue(valueProps, projectShortcode, appActor, userProfile) case OntologyConstants.KnoraBase.AudioFileValue => - makeAudioFileValue(valueProps, projectShortcode, responderManager, userProfile) + makeAudioFileValue(valueProps, projectShortcode, appActor, userProfile) case OntologyConstants.KnoraBase.MovingImageFileValue => - makeVideoFileValue(valueProps, projectShortcode, responderManager, userProfile) + makeVideoFileValue(valueProps, projectShortcode, appActor, userProfile) case OntologyConstants.KnoraBase.DocumentFileValue => - makeDocumentFileValue(valueProps, projectShortcode, responderManager, userProfile) + makeDocumentFileValue(valueProps, projectShortcode, appActor, userProfile) case OntologyConstants.KnoraBase.ArchiveFileValue => - makeArchiveFileValue(valueProps, projectShortcode, responderManager, userProfile) - case OntologyConstants.KnoraBase.LinkValue => makeLinkValue(valueProps, responderManager, userProfile) + makeArchiveFileValue(valueProps, projectShortcode, appActor, userProfile) + case OntologyConstants.KnoraBase.LinkValue => makeLinkValue(valueProps, appActor, userProfile) } } @@ -336,18 +337,23 @@ class ValueUtilV1(private val settings: KnoraSettingsImpl) { propertyIri: IRI, valueType: IRI, propertyObjectClassConstraint: IRI, - responderManager: ActorRef, + appActor: ActorRef, userProfile: UserADM )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[Unit] = if (propertyObjectClassConstraint == valueType) { Future.successful(()) } else { for { - checkSubClassResponse <- (responderManager ? CheckSubClassRequestV1( - subClassIri = valueType, - superClassIri = propertyObjectClassConstraint, - userProfile = userProfile - )).mapTo[CheckSubClassResponseV1] + checkSubClassResponse <- + appActor + .ask( + CheckSubClassRequestV1( + subClassIri = valueType, + superClassIri = propertyObjectClassConstraint, + userProfile = userProfile + ) + ) + .mapTo[CheckSubClassResponseV1] _ = if (!checkSubClassResponse.isSubClass) { throw OntologyConstraintException( @@ -575,7 +581,7 @@ class ValueUtilV1(private val settings: KnoraSettingsImpl) { * @param valueProps a [[ValueProps]] representing the SPARQL query results to be converted. * @return an [[IntegerValueV1]]. */ - private def makeIntValue(valueProps: ValueProps, responderManager: ActorRef, userProfile: UserADM)(implicit + private def makeIntValue(valueProps: ValueProps, appActor: ActorRef, userProfile: UserADM)(implicit timeout: Timeout, executionContext: ExecutionContext ): Future[ApiValueV1] = { @@ -590,7 +596,7 @@ class ValueUtilV1(private val settings: KnoraSettingsImpl) { * @param valueProps a [[ValueProps]] representing the SPARQL query results to be converted. * @return a [[DecimalValueV1]]. */ - private def makeDecimalValue(valueProps: ValueProps, responderManager: ActorRef, userProfile: UserADM)(implicit + private def makeDecimalValue(valueProps: ValueProps, appActor: ActorRef, userProfile: UserADM)(implicit timeout: Timeout, executionContext: ExecutionContext ): Future[ApiValueV1] = { @@ -605,7 +611,7 @@ class ValueUtilV1(private val settings: KnoraSettingsImpl) { * @param valueProps a [[ValueProps]] representing the SPARQL query results to be converted. * @return a [[BooleanValueV1]]. */ - private def makeBooleanValue(valueProps: ValueProps, responderManager: ActorRef, userProfile: UserADM)(implicit + private def makeBooleanValue(valueProps: ValueProps, appActor: ActorRef, userProfile: UserADM)(implicit timeout: Timeout, executionContext: ExecutionContext ): Future[ApiValueV1] = { @@ -620,7 +626,7 @@ class ValueUtilV1(private val settings: KnoraSettingsImpl) { * @param valueProps a [[ValueProps]] representing the SPARQL query results to be converted. * @return a [[UriValueV1]]. */ - private def makeUriValue(valueProps: ValueProps, responderManager: ActorRef, userProfile: UserADM)(implicit + private def makeUriValue(valueProps: ValueProps, appActor: ActorRef, userProfile: UserADM)(implicit timeout: Timeout, executionContext: ExecutionContext ): Future[ApiValueV1] = { @@ -635,7 +641,7 @@ class ValueUtilV1(private val settings: KnoraSettingsImpl) { * @param valueProps a [[ValueProps]] representing the SPARQL query results to be converted. * @return a [[DateValueV1]]. */ - private def makeDateValue(valueProps: ValueProps, responderManager: ActorRef, userProfile: UserADM)(implicit + private def makeDateValue(valueProps: ValueProps, appActor: ActorRef, userProfile: UserADM)(implicit timeout: Timeout, executionContext: ExecutionContext ): Future[ApiValueV1] = { @@ -660,7 +666,7 @@ class ValueUtilV1(private val settings: KnoraSettingsImpl) { * @param valueProps a [[ValueProps]] representing the SPARQL query results to be converted. * @return an [[IntervalValueV1]]. */ - private def makeIntervalValue(valueProps: ValueProps, responderManager: ActorRef, userProfile: UserADM)(implicit + private def makeIntervalValue(valueProps: ValueProps, appActor: ActorRef, userProfile: UserADM)(implicit timeout: Timeout, executionContext: ExecutionContext ): Future[ApiValueV1] = { @@ -680,7 +686,7 @@ class ValueUtilV1(private val settings: KnoraSettingsImpl) { * @param valueProps a [[ValueProps]] representing the SPARQL query results to be converted. * @return a [[TimeValueV1]]. */ - private def makeTimeValue(valueProps: ValueProps, responderManager: ActorRef, userProfile: UserADM)(implicit + private def makeTimeValue(valueProps: ValueProps, appActor: ActorRef, userProfile: UserADM)(implicit timeout: Timeout, executionContext: ExecutionContext ): Future[ApiValueV1] = { @@ -711,7 +717,7 @@ class ValueUtilV1(private val settings: KnoraSettingsImpl) { utf8str: String, language: Option[String] = None, valueProps: ValueProps, - responderManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, userProfile: UserADM )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[TextValueWithStandoffV1] = { @@ -731,15 +737,19 @@ class ValueUtilV1(private val settings: KnoraSettingsImpl) { // get the mapping and the related standoff entities // v2 responder is used here directly, v1 responder would inernally use v2 responder anyway and do unnecessary back and forth conversions - mappingResponse: GetMappingResponseV2 <- (responderManager ? GetMappingRequestV2( - mappingIri = mappingIri, - featureFactoryConfig = featureFactoryConfig, - requestingUser = userProfile - )).mapTo[GetMappingResponseV2] + mappingResponse: GetMappingResponseV2 <- appActor + .ask( + GetMappingRequestV2( + mappingIri = mappingIri, + featureFactoryConfig = featureFactoryConfig, + requestingUser = userProfile + ) + ) + .mapTo[GetMappingResponseV2] standoffTags: Seq[StandoffTagV2] <- StandoffTagUtilV2.createStandoffTagsV2FromSelectResults( standoffAssertions = valueProps.standoff, - responderManager = responderManager, + appActor = appActor, requestingUser = userProfile ) @@ -780,7 +790,7 @@ class ValueUtilV1(private val settings: KnoraSettingsImpl) { */ private def makeTextValue( valueProps: ValueProps, - responderManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, userProfile: UserADM )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[ApiValueV1] = { @@ -800,7 +810,7 @@ class ValueUtilV1(private val settings: KnoraSettingsImpl) { utf8str = valueHasString, language = valueHasLanguage, valueProps = valueProps, - responderManager = responderManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, userProfile = userProfile ) @@ -818,7 +828,7 @@ class ValueUtilV1(private val settings: KnoraSettingsImpl) { * @param valueProps a [[ValueProps]] representing the SPARQL query results to be converted. * @return a [[ColorValueV1]]. */ - private def makeColorValue(valueProps: ValueProps, responderManager: ActorRef, userProfile: UserADM)(implicit + private def makeColorValue(valueProps: ValueProps, appActor: ActorRef, userProfile: UserADM)(implicit timeout: Timeout, executionContext: ExecutionContext ): Future[ApiValueV1] = { @@ -833,7 +843,7 @@ class ValueUtilV1(private val settings: KnoraSettingsImpl) { * @param valueProps a [[ValueProps]] representing the SPARQL query results to be converted. * @return a [[GeomValueV1]]. */ - private def makeGeomValue(valueProps: ValueProps, responderManager: ActorRef, userProfile: UserADM)(implicit + private def makeGeomValue(valueProps: ValueProps, appActor: ActorRef, userProfile: UserADM)(implicit timeout: Timeout, executionContext: ExecutionContext ): Future[ApiValueV1] = { @@ -848,7 +858,7 @@ class ValueUtilV1(private val settings: KnoraSettingsImpl) { * @param valueProps a [[ValueProps]] representing the SPARQL query results to be converted. * @return a [[HierarchicalListValueV1]]. */ - private def makeListValue(valueProps: ValueProps, responderManager: ActorRef, userProfile: UserADM)(implicit + private def makeListValue(valueProps: ValueProps, appActor: ActorRef, userProfile: UserADM)(implicit timeout: Timeout, executionContext: ExecutionContext ): Future[ApiValueV1] = { @@ -866,7 +876,7 @@ class ValueUtilV1(private val settings: KnoraSettingsImpl) { private def makeStillImageValue( valueProps: ValueProps, projectShortcode: String, - responderManager: ActorRef, + appActor: ActorRef, userProfile: UserADM )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[ApiValueV1] = { val predicates = valueProps.literalData @@ -892,7 +902,7 @@ class ValueUtilV1(private val settings: KnoraSettingsImpl) { private def makeTextFileValue( valueProps: ValueProps, projectShortcode: String, - responderManager: ActorRef, + appActor: ActorRef, userProfile: UserADM )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[ApiValueV1] = { val predicates = valueProps.literalData @@ -916,7 +926,7 @@ class ValueUtilV1(private val settings: KnoraSettingsImpl) { private def makeDocumentFileValue( valueProps: ValueProps, projectShortcode: String, - responderManager: ActorRef, + appActor: ActorRef, userProfile: UserADM )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[ApiValueV1] = { val predicates = valueProps.literalData @@ -943,7 +953,7 @@ class ValueUtilV1(private val settings: KnoraSettingsImpl) { private def makeArchiveFileValue( valueProps: ValueProps, projectShortcode: String, - responderManager: ActorRef, + appActor: ActorRef, userProfile: UserADM )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[ApiValueV1] = { val predicates = valueProps.literalData @@ -967,7 +977,7 @@ class ValueUtilV1(private val settings: KnoraSettingsImpl) { private def makeAudioFileValue( valueProps: ValueProps, projectShortcode: String, - responderManager: ActorRef, + appActor: ActorRef, userProfile: UserADM )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[ApiValueV1] = { val predicates = valueProps.literalData @@ -994,7 +1004,7 @@ class ValueUtilV1(private val settings: KnoraSettingsImpl) { private def makeVideoFileValue( valueProps: ValueProps, projectShortcode: String, - responderManager: ActorRef, + appActor: ActorRef, userProfile: UserADM )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[ApiValueV1] = { val predicates = valueProps.literalData @@ -1023,7 +1033,7 @@ class ValueUtilV1(private val settings: KnoraSettingsImpl) { * @param valueProps a [[ValueProps]] representing the SPARQL query results to be converted. * @return a [[LinkValueV1]]. */ - private def makeLinkValue(valueProps: ValueProps, responderManager: ActorRef, userProfile: UserADM)(implicit + private def makeLinkValue(valueProps: ValueProps, appActor: ActorRef, userProfile: UserADM)(implicit timeout: Timeout, executionContext: ExecutionContext ): Future[ApiValueV1] = { @@ -1045,7 +1055,7 @@ class ValueUtilV1(private val settings: KnoraSettingsImpl) { * @param valueProps a [[ValueProps]] representing the SPARQL query results to be converted. * @return a [[GeonameValueV1]]. */ - private def makeGeonameValue(valueProps: ValueProps, responderManager: ActorRef, userProfile: UserADM)(implicit + private def makeGeonameValue(valueProps: ValueProps, appActor: ActorRef, userProfile: UserADM)(implicit timeout: Timeout, executionContext: ExecutionContext ): Future[ApiValueV1] = { diff --git a/webapi/src/main/scala/org/knora/webapi/messages/util/search/QueryTraverser.scala b/webapi/src/main/scala/org/knora/webapi/messages/util/search/QueryTraverser.scala index 0750435a49..825a5ebbda 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/util/search/QueryTraverser.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/util/search/QueryTraverser.scala @@ -212,10 +212,10 @@ object QueryTraverser { * * @param entity an RDF entity. * @param map a map of entity IRIs to the IRIs of the ontology where they are defined. - * @param storeManager a reference to the storeManager to retrieve a [[ProjectADM]] by a shortcode. + * @param appActor a reference to the appActor to retrieve a [[ProjectADM]] by a shortcode. * @return a sequence of ontology IRIs which relate to the input RDF entity. */ - private def resolveEntity(entity: Entity, map: Map[SmartIri, SmartIri], storeManager: ActorRef): Seq[SmartIri] = + private def resolveEntity(entity: Entity, map: Map[SmartIri, SmartIri], appActor: ActorRef): Seq[SmartIri] = entity match { case IriRef(iri, _) => { val internal = iri.toOntologySchema(InternalSchema) @@ -232,7 +232,8 @@ object QueryTraverser { case _ => { // find the project with the shortcode val projectFuture = - (storeManager ? CacheServiceGetProjectADM(ProjectIdentifierADM(maybeShortcode = shortcode))) + appActor + .ask(CacheServiceGetProjectADM(ProjectIdentifierADM(maybeShortcode = shortcode))) .mapTo[Option[ProjectADM]] val projectMaybe = Await.result(projectFuture, 1.second) projectMaybe match { diff --git a/webapi/src/main/scala/org/knora/webapi/messages/util/search/gravsearch/types/GravsearchTypeInspectionRunner.scala b/webapi/src/main/scala/org/knora/webapi/messages/util/search/gravsearch/types/GravsearchTypeInspectionRunner.scala index 442ed14a37..ab9d15d719 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/util/search/gravsearch/types/GravsearchTypeInspectionRunner.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/util/search/gravsearch/types/GravsearchTypeInspectionRunner.scala @@ -15,6 +15,7 @@ import org.knora.webapi.settings.KnoraDispatchers import scala.concurrent.ExecutionContext import scala.concurrent.Future +import akka.actor.ActorRef /** * Runs Gravsearch type inspection using one or more type inspector implementations. @@ -22,7 +23,11 @@ import scala.concurrent.Future * @param responderData the Knora [[ResponderData]]. * @param inferTypes if true, use type inference. */ -class GravsearchTypeInspectionRunner(responderData: ResponderData, inferTypes: Boolean = true) { +class GravsearchTypeInspectionRunner( + appActor: ActorRef, + responderData: ResponderData, + inferTypes: Boolean = true +) { private implicit val executionContext: ExecutionContext = responderData.system.dispatchers.lookup(KnoraDispatchers.KnoraActorDispatcher) @@ -31,6 +36,7 @@ class GravsearchTypeInspectionRunner(responderData: ResponderData, inferTypes: B Some( new InferringGravsearchTypeInspector( nextInspector = None, + appActor = appActor, responderData = responderData ) ) diff --git a/webapi/src/main/scala/org/knora/webapi/messages/util/search/gravsearch/types/InferringGravsearchTypeInspector.scala b/webapi/src/main/scala/org/knora/webapi/messages/util/search/gravsearch/types/InferringGravsearchTypeInspector.scala index 6103f1761c..06bfd765f0 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/util/search/gravsearch/types/InferringGravsearchTypeInspector.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/util/search/gravsearch/types/InferringGravsearchTypeInspector.scala @@ -6,7 +6,7 @@ package org.knora.webapi.messages.util.search.gravsearch.types import akka.event.LogSource -import akka.event.LoggingAdapter +import com.typesafe.scalalogging.Logger import akka.pattern._ import org.knora.webapi._ import dsp.errors.AssertionException @@ -26,20 +26,22 @@ import org.knora.webapi.messages.v2.responder.ontologymessages.ReadPropertyInfoV import scala.annotation.tailrec import scala.concurrent.Future +import akka.actor.ActorRef /** * A Gravsearch type inspector that infers types, relying on information from the relevant ontologies. */ -class InferringGravsearchTypeInspector(nextInspector: Option[GravsearchTypeInspector], responderData: ResponderData) - extends GravsearchTypeInspector(nextInspector = nextInspector, responderData = responderData) { +class InferringGravsearchTypeInspector( + nextInspector: Option[GravsearchTypeInspector], + appActor: ActorRef, + responderData: ResponderData +) extends GravsearchTypeInspector(nextInspector = nextInspector, responderData = responderData) { import InferringGravsearchTypeInspector._ - private val responderManager = responderData.appActor - private implicit val stringFormatter: StringFormatter = StringFormatter.getGeneralInstance - private val log: LoggingAdapter = akka.event.Logging(system, this) + private val log: Logger = Logger(this.getClass()) // The maximum number of type inference iterations. private val MAX_ITERATIONS = 50 @@ -906,8 +908,10 @@ class InferringGravsearchTypeInspector(nextInspector: Option[GravsearchTypeInspe requestingUser = requestingUser ) - initialEntityInfo: EntityInfoGetResponseV2 <- (responderManager ? initialEntityInfoRequest) - .mapTo[EntityInfoGetResponseV2] + initialEntityInfo: EntityInfoGetResponseV2 <- + appActor + .ask(initialEntityInfoRequest) + .mapTo[EntityInfoGetResponseV2] // The ontology responder may return the requested information in the internal schema. Convert each entity // definition back to the input schema. @@ -958,8 +962,10 @@ class InferringGravsearchTypeInspector(nextInspector: Option[GravsearchTypeInspe requestingUser = requestingUser ) - additionalEntityInfo: EntityInfoGetResponseV2 <- (responderManager ? additionalEntityInfoRequest) - .mapTo[EntityInfoGetResponseV2] + additionalEntityInfo: EntityInfoGetResponseV2 <- + appActor + .ask(additionalEntityInfoRequest) + .mapTo[EntityInfoGetResponseV2] // Add the additional classes to the usage index. usageIndexWithAdditionalClasses = usageIndex.copy( diff --git a/webapi/src/main/scala/org/knora/webapi/messages/util/standoff/StandoffTagUtilV2.scala b/webapi/src/main/scala/org/knora/webapi/messages/util/standoff/StandoffTagUtilV2.scala index b447b6c39e..2545cf0b3b 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/util/standoff/StandoffTagUtilV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/util/standoff/StandoffTagUtilV2.scala @@ -6,7 +6,7 @@ package org.knora.webapi.messages.util.standoff import akka.actor.ActorRef -import akka.event.LoggingAdapter +import com.typesafe.scalalogging.Logger import akka.pattern.ask import akka.util.Timeout import org.knora.webapi.IRI @@ -290,7 +290,7 @@ object StandoffTagUtilV2 { xml: String, mapping: GetMappingResponseV2, acceptStandoffLinksToClientIDs: Boolean, - log: LoggingAdapter + log: Logger ): TextWithStandoffTagsV2 = { // collect all the `XMLTag` from the given mapping that require a separator @@ -1026,7 +1026,7 @@ object StandoffTagUtilV2 { */ def createStandoffTagsV2FromConstructResults( standoffAssertions: Map[IRI, Map[SmartIri, LiteralV2]], - responderManager: ActorRef, + appActor: ActorRef, requestingUser: UserADM )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[Vector[StandoffTagV2]] = { val unwrappedStandoffAssertions: Map[IRI, Map[IRI, String]] = standoffAssertions.map { @@ -1038,7 +1038,7 @@ object StandoffTagUtilV2 { createStandoffTagsV2FromSelectResults( standoffAssertions = unwrappedStandoffAssertions, - responderManager = responderManager, + appActor = appActor, requestingUser = requestingUser ) } @@ -1051,7 +1051,7 @@ object StandoffTagUtilV2 { */ def createStandoffTagsV2FromSelectResults( standoffAssertions: Map[IRI, Map[IRI, String]], - responderManager: ActorRef, + appActor: ActorRef, requestingUser: UserADM )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[Vector[StandoffTagV2]] = { implicit val stringFormatter: StringFormatter = StringFormatter.getGeneralInstance @@ -1067,11 +1067,16 @@ object StandoffTagUtilV2 { }.toSet for { - standoffEntities: StandoffEntityInfoGetResponseV2 <- (responderManager ? StandoffEntityInfoGetRequestV2( - standoffClassIris = standoffClassIris, - standoffPropertyIris = standoffPropertyIris, - requestingUser = requestingUser - )).mapTo[StandoffEntityInfoGetResponseV2] + standoffEntities: StandoffEntityInfoGetResponseV2 <- + appActor + .ask( + StandoffEntityInfoGetRequestV2( + standoffClassIris = standoffClassIris, + standoffPropertyIris = standoffPropertyIris, + requestingUser = requestingUser + ) + ) + .mapTo[StandoffEntityInfoGetResponseV2] standoffTags = standoffAssertions.map { case (standoffTagIri: IRI, standoffTagAssertions: Map[IRI, String]) => val standoffTagSmartIri: SmartIri = standoffTagIri.toSmartIri diff --git a/webapi/src/main/scala/org/knora/webapi/messages/util/standoff/XMLToStandoffUtil.scala b/webapi/src/main/scala/org/knora/webapi/messages/util/standoff/XMLToStandoffUtil.scala index 4e82ed3368..75e7ecf189 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/util/standoff/XMLToStandoffUtil.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/util/standoff/XMLToStandoffUtil.scala @@ -5,7 +5,7 @@ package org.knora.webapi.messages.util.standoff -import akka.event.LoggingAdapter +import com.typesafe.scalalogging.Logger import com.sksamuel.diffpatch.DiffMatchPatch import com.sksamuel.diffpatch.DiffMatchPatch._ import org.apache.commons.text.StringEscapeUtils @@ -392,7 +392,7 @@ class XMLToStandoffUtil( def xml2TextWithStandoff( xmlStr: String, tagsWithSeparator: Seq[XMLTagSeparatorRequired] = Seq.empty[XMLTagSeparatorRequired], - log: LoggingAdapter + log: Logger ): TextWithStandoff = { // Knora uses Unicode INFORMATION SEPARATOR TWO (U+001E) to indicate word breaks where a tag implicitly separates words. But diff --git a/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/KnoraRequestV1.scala b/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/KnoraRequestV1.scala deleted file mode 100644 index 6b1bb8bab0..0000000000 --- a/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/KnoraRequestV1.scala +++ /dev/null @@ -1,11 +0,0 @@ -/* - * Copyright © 2021 - 2022 Swiss National Data and Service Center for the Humanities and/or DaSCH Service Platform contributors. - * SPDX-License-Identifier: Apache-2.0 - */ - -package org.knora.webapi.messages.v1.responder - -/** - * A tagging trait for messages that can be sent to Knora API v1 responders. - */ -trait KnoraRequestV1 diff --git a/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/ckanmessages/CkanMessagesV1.scala b/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/ckanmessages/CkanMessagesV1.scala index 9ca1051b17..33a9b4488a 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/ckanmessages/CkanMessagesV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/ckanmessages/CkanMessagesV1.scala @@ -8,7 +8,7 @@ package org.knora.webapi.messages.v1.responder.ckanmessages import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport import org.knora.webapi.feature.FeatureFactoryConfig import org.knora.webapi.messages.admin.responder.usersmessages.UserADM -import org.knora.webapi.messages.v1.responder.KnoraRequestV1 +import org.knora.webapi.messages.ResponderRequest.KnoraRequestV1 import org.knora.webapi.messages.v1.responder.KnoraResponseV1 import spray.json._ diff --git a/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/listmessages/ListMessagesV1.scala b/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/listmessages/ListMessagesV1.scala index 4d25823e19..fced8a2f7b 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/listmessages/ListMessagesV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/listmessages/ListMessagesV1.scala @@ -7,7 +7,7 @@ package org.knora.webapi.messages.v1.responder.listmessages import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport import org.knora.webapi.IRI -import org.knora.webapi.messages.v1.responder.KnoraRequestV1 +import org.knora.webapi.messages.ResponderRequest.KnoraRequestV1 import org.knora.webapi.messages.v1.responder.KnoraResponseV1 import org.knora.webapi.messages.v1.responder.usermessages.UserProfileV1 import spray.json._ diff --git a/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/ontologymessages/OntologyMessagesV1.scala b/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/ontologymessages/OntologyMessagesV1.scala index d8b193e927..bd01bab182 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/ontologymessages/OntologyMessagesV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/ontologymessages/OntologyMessagesV1.scala @@ -13,7 +13,7 @@ import org.knora.webapi.messages.SmartIri import org.knora.webapi.messages.StringFormatter import org.knora.webapi.messages.admin.responder.usersmessages.UserADM import org.knora.webapi.messages.store.triplestoremessages.StringLiteralV2 -import org.knora.webapi.messages.v1.responder.KnoraRequestV1 +import org.knora.webapi.messages.ResponderRequest.KnoraRequestV1 import org.knora.webapi.messages.v1.responder.KnoraResponseV1 import org.knora.webapi.messages.v2.responder.ontologymessages.Cardinality.KnoraCardinalityInfo import org.knora.webapi.messages.v2.responder.ontologymessages.EntityInfoContentV2 diff --git a/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/projectmessages/ProjectMessagesV1.scala b/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/projectmessages/ProjectMessagesV1.scala index f358927128..ad8b90ac63 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/projectmessages/ProjectMessagesV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/projectmessages/ProjectMessagesV1.scala @@ -8,7 +8,7 @@ package org.knora.webapi.messages.v1.responder.projectmessages import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport import org.knora.webapi.IRI import org.knora.webapi.feature.FeatureFactoryConfig -import org.knora.webapi.messages.v1.responder.KnoraRequestV1 +import org.knora.webapi.messages.ResponderRequest.KnoraRequestV1 import org.knora.webapi.messages.v1.responder.KnoraResponseV1 import org.knora.webapi.messages.v1.responder.usermessages.UserProfileV1 import spray.json.DefaultJsonProtocol diff --git a/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/resourcemessages/ResourceMessagesV1.scala b/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/resourcemessages/ResourceMessagesV1.scala index 60b8ffe75c..24f3182b23 100755 --- a/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/resourcemessages/ResourceMessagesV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/resourcemessages/ResourceMessagesV1.scala @@ -15,7 +15,7 @@ import org.knora.webapi.feature.FeatureFactoryConfig import org.knora.webapi.messages.OntologyConstants import org.knora.webapi.messages.admin.responder.projectsmessages.ProjectADM import org.knora.webapi.messages.admin.responder.usersmessages.UserADM -import org.knora.webapi.messages.v1.responder.KnoraRequestV1 +import org.knora.webapi.messages.ResponderRequest.KnoraRequestV1 import org.knora.webapi.messages.v1.responder.KnoraResponseV1 import org.knora.webapi.messages.v1.responder.valuemessages._ import org.knora.webapi.messages.v2.responder.UpdateResultInProject diff --git a/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/searchmessages/SearchMessagesV1.scala b/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/searchmessages/SearchMessagesV1.scala index da314305f2..90eba5317b 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/searchmessages/SearchMessagesV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/searchmessages/SearchMessagesV1.scala @@ -9,7 +9,7 @@ import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport import org.knora.webapi._ import dsp.errors.BadRequestException import org.knora.webapi.messages.admin.responder.usersmessages.UserADM -import org.knora.webapi.messages.v1.responder.KnoraRequestV1 +import org.knora.webapi.messages.ResponderRequest.KnoraRequestV1 import org.knora.webapi.messages.v1.responder.KnoraResponseV1 import spray.json._ diff --git a/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/standoffmessages/StandoffMessagesV1.scala b/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/standoffmessages/StandoffMessagesV1.scala index fc65645a27..81caa6a368 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/standoffmessages/StandoffMessagesV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/standoffmessages/StandoffMessagesV1.scala @@ -9,7 +9,7 @@ import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport import org.knora.webapi.IRI import org.knora.webapi.feature.FeatureFactoryConfig import org.knora.webapi.messages.admin.responder.usersmessages.UserADM -import org.knora.webapi.messages.v1.responder.KnoraRequestV1 +import org.knora.webapi.messages.ResponderRequest.KnoraRequestV1 import org.knora.webapi.messages.v1.responder.KnoraResponseV1 import org.knora.webapi.messages.v1.responder.ontologymessages.StandoffEntityInfoGetResponseV1 import org.knora.webapi.messages.v2.responder.standoffmessages.MappingXMLtoStandoff diff --git a/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/usermessages/UserMessagesV1.scala b/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/usermessages/UserMessagesV1.scala index 211412bc47..5df27c1899 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/usermessages/UserMessagesV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/usermessages/UserMessagesV1.scala @@ -12,7 +12,7 @@ import dsp.errors.InconsistentRepositoryDataException import org.knora.webapi.feature.FeatureFactoryConfig import org.knora.webapi.messages.admin.responder.permissionsmessages.PermissionsADMJsonProtocol import org.knora.webapi.messages.admin.responder.permissionsmessages.PermissionsDataADM -import org.knora.webapi.messages.v1.responder.KnoraRequestV1 +import org.knora.webapi.messages.ResponderRequest.KnoraRequestV1 import org.knora.webapi.messages.v1.responder.KnoraResponseV1 import org.knora.webapi.messages.v1.responder.projectmessages.ProjectInfoV1 import org.knora.webapi.messages.v1.responder.projectmessages.ProjectV1JsonProtocol diff --git a/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/valuemessages/ValueMessagesV1.scala b/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/valuemessages/ValueMessagesV1.scala index 35eb040240..5bde603b7b 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/valuemessages/ValueMessagesV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/v1/responder/valuemessages/ValueMessagesV1.scala @@ -17,7 +17,7 @@ import org.knora.webapi.messages.admin.responder.usersmessages.UserADM import org.knora.webapi.messages.traits.Jsonable import org.knora.webapi.messages.util.DateUtilV1 import org.knora.webapi.messages.util.standoff.StandoffTagUtilV2 -import org.knora.webapi.messages.v1.responder.KnoraRequestV1 +import org.knora.webapi.messages.ResponderRequest.KnoraRequestV1 import org.knora.webapi.messages.v1.responder.KnoraResponseV1 import org.knora.webapi.messages.v1.responder.resourcemessages.LocationV1 import org.knora.webapi.messages.v2.responder.UpdateResultInProject diff --git a/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/KnoraRequestV2.scala b/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/KnoraRequestV2.scala index 2fb98b31ef..5267bb7318 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/KnoraRequestV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/KnoraRequestV2.scala @@ -6,7 +6,7 @@ package org.knora.webapi.messages.v2.responder import akka.actor.ActorRef -import akka.event.LoggingAdapter +import com.typesafe.scalalogging.Logger import akka.util.Timeout import org.knora.webapi.feature.FeatureFactoryConfig import org.knora.webapi.messages.admin.responder.usersmessages.UserADM @@ -20,11 +20,6 @@ import java.util.UUID import scala.concurrent.ExecutionContext import scala.concurrent.Future -/** - * A tagging trait for messages that can be sent to Knora API v2 responders. - */ -trait KnoraRequestV2 - /** * A trait for request messages that are constructed as an [[RdfModel]]. */ @@ -61,8 +56,7 @@ trait KnoraJsonLDRequestReaderV2[C] { * @param jsonLDDocument the JSON-LD input. * @param apiRequestID the UUID of the API request. * @param requestingUser the user making the request. - * @param responderManager a reference to the responder manager. - * @param storeManager a reference to the store manager. + * @param appActor a reference to the application actor. * @param featureFactoryConfig the feature factory configuration. * @param settings the application settings. * @param log a logging adapter. @@ -72,10 +66,9 @@ trait KnoraJsonLDRequestReaderV2[C] { jsonLDDocument: JsonLDDocument, apiRequestID: UUID, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[C] } diff --git a/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/listsmessages/ListsMessagesV2.scala b/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/listsmessages/ListsMessagesV2.scala index df8b962fcf..7053004f29 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/listsmessages/ListsMessagesV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/listsmessages/ListsMessagesV2.scala @@ -17,7 +17,7 @@ import org.knora.webapi.messages.store.triplestoremessages.StringLiteralV2 import org.knora.webapi.messages.util.rdf import org.knora.webapi.messages.util.rdf._ import org.knora.webapi.messages.v2.responder.KnoraJsonLDResponseV2 -import org.knora.webapi.messages.v2.responder.KnoraRequestV2 +import org.knora.webapi.messages.ResponderRequest.KnoraRequestV2 import org.knora.webapi.settings.KnoraSettingsImpl /** diff --git a/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/ontologymessages/OntologyMessagesV2.scala b/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/ontologymessages/OntologyMessagesV2.scala index 9113a6af4b..b85c6023ab 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/ontologymessages/OntologyMessagesV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/ontologymessages/OntologyMessagesV2.scala @@ -3,11 +3,10 @@ * SPDX-License-Identifier: Apache-2.0 */ -package org.knora.webapi -package messages.v2.responder.ontologymessages +package org.knora.webapi.messages.v2.responder.ontologymessages import akka.actor.ActorRef -import akka.event.LoggingAdapter +import com.typesafe.scalalogging.Logger import akka.util.Timeout import org.apache.commons.lang3.builder.HashCodeBuilder @@ -16,17 +15,24 @@ import java.util.UUID import scala.concurrent.ExecutionContext import scala.concurrent.Future -import dsp.errors._ -import feature.FeatureFactoryConfig -import messages.IriConversions._ -import messages.admin.responder.usersmessages.UserADM -import messages.store.triplestoremessages._ -import messages.util.rdf._ -import messages.v2.responder._ -import messages.v2.responder.ontologymessages.Cardinality.{KnoraCardinalityInfo, OwlCardinalityInfo} -import messages.v2.responder.standoffmessages.StandoffDataTypeClasses -import messages.{OntologyConstants, SmartIri, StringFormatter} -import settings.KnoraSettingsImpl +import org.knora.webapi._ +import dsp.errors.{ + AssertionException, + BadRequestException, + DataConversionException, + InconsistentRepositoryDataException +} +import org.knora.webapi.feature.FeatureFactoryConfig +import org.knora.webapi.messages.ResponderRequest.KnoraRequestV2 +import org.knora.webapi.messages.IriConversions._ +import org.knora.webapi.messages.admin.responder.usersmessages.UserADM +import org.knora.webapi.messages.store.triplestoremessages._ +import org.knora.webapi.messages.util.rdf._ +import org.knora.webapi.messages.v2.responder._ +import org.knora.webapi.messages.v2.responder.ontologymessages.Cardinality.{KnoraCardinalityInfo, OwlCardinalityInfo} +import org.knora.webapi.messages.v2.responder.standoffmessages.StandoffDataTypeClasses +import org.knora.webapi.messages.{OntologyConstants, SmartIri, StringFormatter} +import org.knora.webapi.settings.KnoraSettingsImpl /** * An abstract trait for messages that can be sent to `ResourcesResponderV2`. @@ -80,8 +86,7 @@ object CreateOntologyRequestV2 extends KnoraJsonLDRequestReaderV2[CreateOntology * @param jsonLDDocument the JSON-LD input. * @param apiRequestID the UUID of the API request. * @param requestingUser the user making the request. - * @param responderManager a reference to the responder manager. - * @param storeManager a reference to the store manager. + * @param appActor a reference to the application actor. * @param featureFactoryConfig the feature factory configuration. * @param settings the application settings. * @param log a logging adapter. @@ -91,11 +96,10 @@ object CreateOntologyRequestV2 extends KnoraJsonLDRequestReaderV2[CreateOntology jsonLDDocument: JsonLDDocument, apiRequestID: UUID, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[CreateOntologyRequestV2] = Future { fromJsonLDSync( @@ -399,8 +403,7 @@ object CreatePropertyRequestV2 extends KnoraJsonLDRequestReaderV2[CreateProperty * @param jsonLDDocument the JSON-LD input. * @param apiRequestID the UUID of the API request. * @param requestingUser the user making the request. - * @param responderManager a reference to the responder manager. - * @param storeManager a reference to the store manager. + * @param appActror a reference to the application actor. * @param featureFactoryConfig the feature factory configuration. * @param settings the application settings. * @param log a logging adapter. @@ -410,11 +413,10 @@ object CreatePropertyRequestV2 extends KnoraJsonLDRequestReaderV2[CreateProperty jsonLDDocument: JsonLDDocument, apiRequestID: UUID, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[CreatePropertyRequestV2] = Future { fromJsonLDSync( @@ -504,8 +506,7 @@ object CreateClassRequestV2 extends KnoraJsonLDRequestReaderV2[CreateClassReques * @param jsonLDDocument the JSON-LD input. * @param apiRequestID the UUID of the API request. * @param requestingUser the user making the request. - * @param responderManager a reference to the responder manager. - * @param storeManager a reference to the store manager. + * @param appActror a reference to the application actor. * @param featureFactoryConfig the feature factory configuration. * @param settings the application settings. * @param log a logging adapter. @@ -515,11 +516,10 @@ object CreateClassRequestV2 extends KnoraJsonLDRequestReaderV2[CreateClassReques jsonLDDocument: JsonLDDocument, apiRequestID: UUID, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[CreateClassRequestV2] = Future { fromJsonLDSync( @@ -588,8 +588,7 @@ object AddCardinalitiesToClassRequestV2 extends KnoraJsonLDRequestReaderV2[AddCa * @param jsonLDDocument the JSON-LD input. * @param apiRequestID the UUID of the API request. * @param requestingUser the user making the request. - * @param responderManager a reference to the responder manager. - * @param storeManager a reference to the store manager. + * @param appActror a reference to the application actor. * @param featureFactoryConfig the feature factory configuration. * @param settings the application settings. * @param log a logging adapter. @@ -599,11 +598,10 @@ object AddCardinalitiesToClassRequestV2 extends KnoraJsonLDRequestReaderV2[AddCa jsonLDDocument: JsonLDDocument, apiRequestID: UUID, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[AddCardinalitiesToClassRequestV2] = Future { fromJsonLDSync( @@ -683,8 +681,7 @@ object ChangeCardinalitiesRequestV2 extends KnoraJsonLDRequestReaderV2[ChangeCar * @param jsonLDDocument the JSON-LD input. * @param apiRequestID the UUID of the API request. * @param requestingUser the user making the request. - * @param responderManager a reference to the responder manager. - * @param storeManager a reference to the store manager. + * @param appActror a reference to the application actor. * @param featureFactoryConfig the feature factory configuration. * @param settings the application settings. * @param log a logging adapter. @@ -694,11 +691,10 @@ object ChangeCardinalitiesRequestV2 extends KnoraJsonLDRequestReaderV2[ChangeCar jsonLDDocument: JsonLDDocument, apiRequestID: UUID, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[ChangeCardinalitiesRequestV2] = Future { fromJsonLDSync( @@ -759,8 +755,7 @@ object CanDeleteCardinalitiesFromClassRequestV2 * @param jsonLDDocument the JSON-LD input. * @param apiRequestID the UUID of the API request. * @param requestingUser the user making the request. - * @param responderManager a reference to the responder manager. - * @param storeManager a reference to the store manager. + * @param appActror a reference to the application actor. * @param featureFactoryConfig the feature factory configuration. * @param settings the application settings. * @param log a logging adapter. @@ -770,11 +765,10 @@ object CanDeleteCardinalitiesFromClassRequestV2 jsonLDDocument: JsonLDDocument, apiRequestID: UUID, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[CanDeleteCardinalitiesFromClassRequestV2] = Future { fromJsonLDSync( @@ -834,8 +828,7 @@ object DeleteCardinalitiesFromClassRequestV2 extends KnoraJsonLDRequestReaderV2[ * @param jsonLDDocument the JSON-LD input. * @param apiRequestID the UUID of the API request. * @param requestingUser the user making the request. - * @param responderManager a reference to the responder manager. - * @param storeManager a reference to the store manager. + * @param appActror a reference to the application actor. * @param featureFactoryConfig the feature factory configuration. * @param settings the application settings. * @param log a logging adapter. @@ -845,11 +838,10 @@ object DeleteCardinalitiesFromClassRequestV2 extends KnoraJsonLDRequestReaderV2[ jsonLDDocument: JsonLDDocument, apiRequestID: UUID, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[DeleteCardinalitiesFromClassRequestV2] = Future { fromJsonLDSync( @@ -987,8 +979,7 @@ object ChangePropertyGuiElementRequest extends KnoraJsonLDRequestReaderV2[Change * @param jsonLDDocument the JSON-LD input. * @param apiRequestID the UUID of the API request. * @param requestingUser the user making the request. - * @param responderManager a reference to the responder manager. - * @param storeManager a reference to the store manager. + * @param appActror a reference to the application actor. * @param featureFactoryConfig the feature factory configuration. * @param settings the application settings. * @param log a logging adapter. @@ -998,11 +989,10 @@ object ChangePropertyGuiElementRequest extends KnoraJsonLDRequestReaderV2[Change jsonLDDocument: JsonLDDocument, apiRequestID: UUID, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[ChangePropertyGuiElementRequest] = Future { fromJsonLDSync( @@ -1095,8 +1085,7 @@ object ChangePropertyLabelsOrCommentsRequestV2 * @param jsonLDDocument the JSON-LD input. * @param apiRequestID the UUID of the API request. * @param requestingUser the user making the request. - * @param responderManager a reference to the responder manager. - * @param storeManager a reference to the store manager. + * @param appActror a reference to the application actor. * @param featureFactoryConfig the feature factory configuration. * @param settings the application settings. * @param log a logging adapter. @@ -1106,11 +1095,10 @@ object ChangePropertyLabelsOrCommentsRequestV2 jsonLDDocument: JsonLDDocument, apiRequestID: UUID, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[ChangePropertyLabelsOrCommentsRequestV2] = Future { fromJsonLDSync( @@ -1174,8 +1162,7 @@ object DeletePropertyCommentRequestV2 extends KnoraJsonLDRequestReaderV2[DeleteP * @param jsonLDDocument the JSON-LD input. * @param apiRequestID the UUID of the API request. * @param requestingUser the user making the request. - * @param responderManager a reference to the responder manager. - * @param storeManager a reference to the store manager. + * @param appActor a reference to the application actor. * @param featureFactoryConfig the feature factory configuration. * @param settings the application settings. * @param log a logging adapter. @@ -1185,11 +1172,10 @@ object DeletePropertyCommentRequestV2 extends KnoraJsonLDRequestReaderV2[DeleteP jsonLDDocument: JsonLDDocument, apiRequestID: UUID, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[DeletePropertyCommentRequestV2] = Future { fromJsonLDSync( @@ -1253,8 +1239,7 @@ object ChangeClassLabelsOrCommentsRequestV2 extends KnoraJsonLDRequestReaderV2[C * @param jsonLDDocument the JSON-LD input. * @param apiRequestID the UUID of the API request. * @param requestingUser the user making the request. - * @param responderManager a reference to the responder manager. - * @param storeManager a reference to the store manager. + * @param appActror a reference to the application actor. * @param featureFactoryConfig the feature factory configuration. * @param settings the application settings. * @param log a logging adapter. @@ -1264,11 +1249,10 @@ object ChangeClassLabelsOrCommentsRequestV2 extends KnoraJsonLDRequestReaderV2[C jsonLDDocument: JsonLDDocument, apiRequestID: UUID, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[ChangeClassLabelsOrCommentsRequestV2] = Future { fromJsonLDSync( @@ -1332,8 +1316,7 @@ object DeleteClassCommentRequestV2 extends KnoraJsonLDRequestReaderV2[DeleteClas * @param jsonLDDocument the JSON-LD input. * @param apiRequestID the UUID of the API request. * @param requestingUser the user making the request. - * @param responderManager a reference to the responder manager. - * @param storeManager a reference to the store manager. + * @param appActor a reference to the application actor. * @param featureFactoryConfig the feature factory configuration. * @param settings the application settings. * @param log a logging adapter. @@ -1343,11 +1326,10 @@ object DeleteClassCommentRequestV2 extends KnoraJsonLDRequestReaderV2[DeleteClas jsonLDDocument: JsonLDDocument, apiRequestID: UUID, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[DeleteClassCommentRequestV2] = Future { fromJsonLDSync( @@ -1392,11 +1374,10 @@ object ChangeGuiOrderRequestV2 extends KnoraJsonLDRequestReaderV2[ChangeGuiOrder jsonLDDocument: JsonLDDocument, apiRequestID: UUID, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[ChangeGuiOrderRequestV2] = Future { fromJsonLDSync( @@ -1467,8 +1448,7 @@ object ChangeOntologyMetadataRequestV2 extends KnoraJsonLDRequestReaderV2[Change * @param jsonLDDocument the JSON-LD input. * @param apiRequestID the UUID of the API request. * @param requestingUser the user making the request. - * @param responderManager a reference to the responder manager. - * @param storeManager a reference to the store manager. + * @param appActror a reference to the application actor. * @param featureFactoryConfig the feature factory configuration. * @param settings the application settings. * @param log a logging adapter. @@ -1478,11 +1458,10 @@ object ChangeOntologyMetadataRequestV2 extends KnoraJsonLDRequestReaderV2[Change jsonLDDocument: JsonLDDocument, apiRequestID: UUID, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[ChangeOntologyMetadataRequestV2] = Future { fromJsonLDSync( diff --git a/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/resourcemessages/ResourceMessagesV2.scala b/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/resourcemessages/ResourceMessagesV2.scala index 13734dee9b..6b80cef4eb 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/resourcemessages/ResourceMessagesV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/resourcemessages/ResourceMessagesV2.scala @@ -6,7 +6,7 @@ package org.knora.webapi.messages.v2.responder.resourcemessages import akka.actor.ActorRef -import akka.event.LoggingAdapter +import com.typesafe.scalalogging.Logger import akka.pattern._ import akka.util.Timeout import org.knora.webapi._ @@ -14,6 +14,7 @@ import dsp.errors._ import org.knora.webapi.feature.FeatureFactoryConfig import org.knora.webapi.messages.IriConversions._ import org.knora.webapi.messages.OntologyConstants +import org.knora.webapi.messages.ResponderRequest.KnoraRequestV2 import org.knora.webapi.messages.SmartIri import org.knora.webapi.messages.StringFormatter import org.knora.webapi.messages.admin.responder.projectsmessages.ProjectADM @@ -681,8 +682,7 @@ object CreateResourceRequestV2 extends KnoraJsonLDRequestReaderV2[CreateResource * @param jsonLDDocument the JSON-LD input. * @param apiRequestID the UUID of the API request. * @param requestingUser the user making the request. - * @param responderManager a reference to the responder manager. - * @param storeManager a reference to the store manager. + * @param appActror a reference to the application actor. * @param featureFactoryConfig the feature factory configuration. * @param settings the application settings. * @param log a logging adapter. @@ -692,11 +692,10 @@ object CreateResourceRequestV2 extends KnoraJsonLDRequestReaderV2[CreateResource jsonLDDocument: JsonLDDocument, apiRequestID: UUID, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[CreateResourceRequestV2] = { implicit val stringFormatter: StringFormatter = StringFormatter.getGeneralInstance @@ -721,11 +720,15 @@ object CreateResourceRequestV2 extends KnoraJsonLDRequestReaderV2[CreateResource ) projectInfoResponse: ProjectGetResponseADM <- - (responderManager ? ProjectGetRequestADM( - identifier = ProjectIdentifierADM(maybeIri = Some(projectIri.toString)), - featureFactoryConfig = featureFactoryConfig, - requestingUser = requestingUser - )).mapTo[ProjectGetResponseADM] + appActor + .ask( + ProjectGetRequestADM( + identifier = ProjectIdentifierADM(maybeIri = Some(projectIri.toString)), + featureFactoryConfig = featureFactoryConfig, + requestingUser = requestingUser + ) + ) + .mapTo[ProjectGetResponseADM] _ = maybeCustomResourceIri.foreach { iri => if (!iri.isKnoraResourceIri) { @@ -758,7 +761,7 @@ object CreateResourceRequestV2 extends KnoraJsonLDRequestReaderV2[CreateResource requestedUserIri = attachedToUserIri.toString, projectIri = projectIri.toString, featureFactoryConfig = featureFactoryConfig, - responderManager = responderManager + appActor = appActor ) } @@ -800,8 +803,7 @@ object CreateResourceRequestV2 extends KnoraJsonLDRequestReaderV2[CreateResource valueContent: ValueContentV2 <- ValueContentV2.fromJsonLDObject( jsonLDObject = valueJsonLDObject, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -901,8 +903,7 @@ object UpdateResourceMetadataRequestV2 extends KnoraJsonLDRequestReaderV2[Update * @param jsonLDDocument the JSON-LD input. * @param apiRequestID the UUID of the API request. * @param requestingUser the user making the request. - * @param responderManager a reference to the responder manager. - * @param storeManager a reference to the store manager. + * @param appActror a reference to the application actor. * @param featureFactoryConfig the feature factory configuration. * @param settings the application settings. * @param log a logging adapter. @@ -912,11 +913,10 @@ object UpdateResourceMetadataRequestV2 extends KnoraJsonLDRequestReaderV2[Update jsonLDDocument: JsonLDDocument, apiRequestID: UUID, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[UpdateResourceMetadataRequestV2] = Future { fromJsonLDSync( @@ -1099,8 +1099,7 @@ object DeleteOrEraseResourceRequestV2 extends KnoraJsonLDRequestReaderV2[DeleteO * @param jsonLDDocument the JSON-LD input. * @param apiRequestID the UUID of the API request. * @param requestingUser the user making the request. - * @param responderManager a reference to the responder manager. - * @param storeManager a reference to the store manager. + * @param appActror a reference to the application actor. * @param featureFactoryConfig the feature factory configuration. * @param settings the application settings. * @param log a logging adapter. @@ -1110,11 +1109,10 @@ object DeleteOrEraseResourceRequestV2 extends KnoraJsonLDRequestReaderV2[DeleteO jsonLDDocument: JsonLDDocument, apiRequestID: UUID, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[DeleteOrEraseResourceRequestV2] = Future { fromJsonLDSync( diff --git a/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/searchmessages/SearchMessagesV2.scala b/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/searchmessages/SearchMessagesV2.scala index 13eb2731f1..9ef2d9989e 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/searchmessages/SearchMessagesV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/searchmessages/SearchMessagesV2.scala @@ -9,6 +9,7 @@ import org.knora.webapi.ApiV2Schema import org.knora.webapi.IRI import org.knora.webapi.SchemaOption import org.knora.webapi.feature.FeatureFactoryConfig +import org.knora.webapi.messages.ResponderRequest.KnoraRequestV2 import org.knora.webapi.messages.OntologyConstants import org.knora.webapi.messages.SmartIri import org.knora.webapi.messages.admin.responder.usersmessages.UserADM diff --git a/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/standoffmessages/StandoffMessagesV2.scala b/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/standoffmessages/StandoffMessagesV2.scala index 7aa9ca1364..d641ba4529 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/standoffmessages/StandoffMessagesV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/standoffmessages/StandoffMessagesV2.scala @@ -6,7 +6,7 @@ package org.knora.webapi.messages.v2.responder.standoffmessages import akka.actor.ActorRef -import akka.event.LoggingAdapter +import com.typesafe.scalalogging.Logger import akka.util.Timeout import org.knora.webapi._ import dsp.errors.AssertionException @@ -20,7 +20,7 @@ import org.knora.webapi.messages.util.rdf._ import org.knora.webapi.messages.v2.responder.KnoraContentV2 import org.knora.webapi.messages.v2.responder.KnoraJsonLDRequestReaderV2 import org.knora.webapi.messages.v2.responder.KnoraJsonLDResponseV2 -import org.knora.webapi.messages.v2.responder.KnoraRequestV2 +import org.knora.webapi.messages.ResponderRequest.KnoraRequestV2 import org.knora.webapi.messages.v2.responder.ontologymessages.StandoffEntityInfoGetResponseV2 import org.knora.webapi.settings.KnoraSettingsImpl @@ -158,11 +158,10 @@ object CreateMappingRequestMetadataV2 extends KnoraJsonLDRequestReaderV2[CreateM jsonLDDocument: JsonLDDocument, apiRequestID: UUID, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[CreateMappingRequestMetadataV2] = Future { fromJsonLDSync( diff --git a/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/valuemessages/ValueMessagesV2.scala b/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/valuemessages/ValueMessagesV2.scala index 177fcc33dd..4971b78517 100644 --- a/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/valuemessages/ValueMessagesV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/messages/v2/responder/valuemessages/ValueMessagesV2.scala @@ -6,7 +6,7 @@ package org.knora.webapi.messages.v2.responder.valuemessages import akka.actor.ActorRef -import akka.event.LoggingAdapter +import com.typesafe.scalalogging.Logger import akka.http.scaladsl.util.FastFuture import akka.pattern._ import akka.util.Timeout @@ -18,6 +18,7 @@ import dsp.errors.SipiException import org.knora.webapi.feature.FeatureFactoryConfig import org.knora.webapi.messages.IriConversions._ import org.knora.webapi.messages.OntologyConstants +import org.knora.webapi.messages.ResponderRequest.KnoraRequestV2 import org.knora.webapi.messages.SmartIri import org.knora.webapi.messages.StringFormatter import org.knora.webapi.messages.admin.responder.projectsmessages.ProjectADM @@ -33,6 +34,7 @@ import org.knora.webapi.messages.util.standoff.XMLUtil import org.knora.webapi.messages.v2.responder._ import org.knora.webapi.messages.v2.responder.resourcemessages.ReadResourceV2 import org.knora.webapi.messages.v2.responder.standoffmessages._ +import org.knora.webapi.responders.ResponderManager import org.knora.webapi.settings.KnoraSettingsImpl import org.knora.webapi.util._ @@ -74,8 +76,7 @@ object CreateValueRequestV2 extends KnoraJsonLDRequestReaderV2[CreateValueReques * @param jsonLDDocument the JSON-LD input. * @param apiRequestID the UUID of the API request. * @param requestingUser the user making the request. - * @param responderManager a reference to the responder manager. - * @param storeManager a reference to the store manager. + * @param appActror a reference to the application actor. * @param featureFactoryConfig the feature factory configuration. * @param settings the application settings. * @param log a logging adapter. @@ -85,11 +86,10 @@ object CreateValueRequestV2 extends KnoraJsonLDRequestReaderV2[CreateValueReques jsonLDDocument: JsonLDDocument, apiRequestID: UUID, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[CreateValueRequestV2] = { implicit val stringFormatter: StringFormatter = StringFormatter.getGeneralInstance @@ -111,8 +111,7 @@ object CreateValueRequestV2 extends KnoraJsonLDRequestReaderV2[CreateValueReques valueContent: ValueContentV2 <- ValueContentV2.fromJsonLDObject( jsonLDObject = jsonLDObject, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -256,8 +255,7 @@ object UpdateValueRequestV2 extends KnoraJsonLDRequestReaderV2[UpdateValueReques * @param jsonLDDocument the JSON-LD input. * @param apiRequestID the UUID of the API request. * @param requestingUser the user making the request. - * @param responderManager a reference to the responder manager. - * @param storeManager a reference to the store manager. + * @param appActror a reference to the application actor. * @param featureFactoryConfig the feature factory configuration. * @param settings the application settings. * @param log a logging adapter. @@ -267,11 +265,10 @@ object UpdateValueRequestV2 extends KnoraJsonLDRequestReaderV2[UpdateValueReques jsonLDDocument: JsonLDDocument, apiRequestID: UUID, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[UpdateValueRequestV2] = { implicit val stringFormatter: StringFormatter = StringFormatter.getGeneralInstance @@ -363,15 +360,15 @@ object UpdateValueRequestV2 extends KnoraJsonLDRequestReaderV2[UpdateValueReques // No. This is a request to change the value content. for { - valueContent: ValueContentV2 <- ValueContentV2.fromJsonLDObject( - jsonLDObject = jsonLDObject, - requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, - featureFactoryConfig: FeatureFactoryConfig, - settings = settings, - log = log - ) + valueContent: ValueContentV2 <- + ValueContentV2.fromJsonLDObject( + jsonLDObject = jsonLDObject, + requestingUser = requestingUser, + appActor = appActor, + featureFactoryConfig: FeatureFactoryConfig, + settings = settings, + log = log + ) maybePermissions: Option[String] = jsonLDObject.maybeStringWithValidation( @@ -474,8 +471,7 @@ object DeleteValueRequestV2 extends KnoraJsonLDRequestReaderV2[DeleteValueReques * @param jsonLDDocument the JSON-LD input. * @param apiRequestID the UUID of the API request. * @param requestingUser the user making the request. - * @param responderManager a reference to the responder manager. - * @param storeManager a reference to the store manager. + * @param appActror a reference to the application actor. * @param featureFactoryConfig the feature factory configuration. * @param settings the application settings. * @param log a logging adapter. @@ -485,11 +481,10 @@ object DeleteValueRequestV2 extends KnoraJsonLDRequestReaderV2[DeleteValueReques jsonLDDocument: JsonLDDocument, apiRequestID: UUID, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[DeleteValueRequestV2] = Future { fromJsonLDSync( @@ -1180,8 +1175,7 @@ trait ValueContentReaderV2[C <: ValueContentV2] { * * @param jsonLDObject the JSON-LD object. * @param requestingUser the user making the request. - * @param responderManager a reference to the responder manager. - * @param storeManager a reference to the store manager. + * @param appActror a reference to the application actor. * @param featureFactoryConfig the feature factory configuration. * @param settings the application settings. * @param log a logging adapter. @@ -1190,11 +1184,10 @@ trait ValueContentReaderV2[C <: ValueContentV2] { def fromJsonLDObject( jsonLDObject: JsonLDObject, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[C] protected def getComment(jsonLDObject: JsonLDObject)(implicit stringFormatter: StringFormatter): Option[String] = @@ -1214,8 +1207,7 @@ object ValueContentV2 extends ValueContentReaderV2[ValueContentV2] { * * @param jsonLDObject the JSON-LD object. * @param requestingUser the user making the request. - * @param responderManager a reference to the responder manager. - * @param storeManager a reference to the store manager. + * @param appActror a reference to the application actor. * @param featureFactoryConfig the feature factory configuration. * @param settings the application settings. * @param log a logging adapter. @@ -1224,11 +1216,10 @@ object ValueContentV2 extends ValueContentReaderV2[ValueContentV2] { override def fromJsonLDObject( jsonLDObject: JsonLDObject, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[ValueContentV2] = { implicit val stringFormatter: StringFormatter = StringFormatter.getGeneralInstance @@ -1243,8 +1234,7 @@ object ValueContentV2 extends ValueContentReaderV2[ValueContentV2] { TextValueContentV2.fromJsonLDObject( jsonLDObject = jsonLDObject, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -1254,8 +1244,7 @@ object ValueContentV2 extends ValueContentReaderV2[ValueContentV2] { IntegerValueContentV2.fromJsonLDObject( jsonLDObject = jsonLDObject, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -1265,8 +1254,7 @@ object ValueContentV2 extends ValueContentReaderV2[ValueContentV2] { DecimalValueContentV2.fromJsonLDObject( jsonLDObject = jsonLDObject, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -1276,8 +1264,7 @@ object ValueContentV2 extends ValueContentReaderV2[ValueContentV2] { BooleanValueContentV2.fromJsonLDObject( jsonLDObject = jsonLDObject, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -1287,8 +1274,7 @@ object ValueContentV2 extends ValueContentReaderV2[ValueContentV2] { DateValueContentV2.fromJsonLDObject( jsonLDObject = jsonLDObject, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -1298,8 +1284,7 @@ object ValueContentV2 extends ValueContentReaderV2[ValueContentV2] { GeomValueContentV2.fromJsonLDObject( jsonLDObject = jsonLDObject, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -1309,8 +1294,7 @@ object ValueContentV2 extends ValueContentReaderV2[ValueContentV2] { IntervalValueContentV2.fromJsonLDObject( jsonLDObject = jsonLDObject, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -1320,8 +1304,7 @@ object ValueContentV2 extends ValueContentReaderV2[ValueContentV2] { TimeValueContentV2.fromJsonLDObject( jsonLDObject = jsonLDObject, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -1331,8 +1314,7 @@ object ValueContentV2 extends ValueContentReaderV2[ValueContentV2] { LinkValueContentV2.fromJsonLDObject( jsonLDObject = jsonLDObject, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -1342,8 +1324,7 @@ object ValueContentV2 extends ValueContentReaderV2[ValueContentV2] { HierarchicalListValueContentV2.fromJsonLDObject( jsonLDObject = jsonLDObject, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -1353,8 +1334,7 @@ object ValueContentV2 extends ValueContentReaderV2[ValueContentV2] { UriValueContentV2.fromJsonLDObject( jsonLDObject = jsonLDObject, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -1364,8 +1344,7 @@ object ValueContentV2 extends ValueContentReaderV2[ValueContentV2] { GeonameValueContentV2.fromJsonLDObject( jsonLDObject = jsonLDObject, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -1375,8 +1354,7 @@ object ValueContentV2 extends ValueContentReaderV2[ValueContentV2] { ColorValueContentV2.fromJsonLDObject( jsonLDObject = jsonLDObject, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -1386,8 +1364,7 @@ object ValueContentV2 extends ValueContentReaderV2[ValueContentV2] { StillImageFileValueContentV2.fromJsonLDObject( jsonLDObject = jsonLDObject, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -1397,8 +1374,7 @@ object ValueContentV2 extends ValueContentReaderV2[ValueContentV2] { DocumentFileValueContentV2.fromJsonLDObject( jsonLDObject = jsonLDObject, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -1408,8 +1384,7 @@ object ValueContentV2 extends ValueContentReaderV2[ValueContentV2] { TextFileValueContentV2.fromJsonLDObject( jsonLDObject = jsonLDObject, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -1419,8 +1394,7 @@ object ValueContentV2 extends ValueContentReaderV2[ValueContentV2] { AudioFileValueContentV2.fromJsonLDObject( jsonLDObject = jsonLDObject, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -1430,8 +1404,7 @@ object ValueContentV2 extends ValueContentReaderV2[ValueContentV2] { MovingImageFileValueContentV2.fromJsonLDObject( jsonLDObject = jsonLDObject, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -1441,8 +1414,7 @@ object ValueContentV2 extends ValueContentReaderV2[ValueContentV2] { ArchiveFileValueContentV2.fromJsonLDObject( jsonLDObject = jsonLDObject, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -1615,8 +1587,7 @@ object DateValueContentV2 extends ValueContentReaderV2[DateValueContentV2] { * * @param jsonLDObject the JSON-LD object. * @param requestingUser the user making the request. - * @param responderManager a reference to the responder manager. - * @param storeManager a reference to the store manager. + * @param appActror a reference to the application actor. * @param featureFactoryConfig the feature factory configuration. * @param settings the application settings. * @param log a logging adapter. @@ -1625,11 +1596,10 @@ object DateValueContentV2 extends ValueContentReaderV2[DateValueContentV2] { override def fromJsonLDObject( jsonLDObject: JsonLDObject, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[DateValueContentV2] = Future(fromJsonLDObjectSync(jsonLDObject)) @@ -2018,8 +1988,7 @@ object TextValueContentV2 extends ValueContentReaderV2[TextValueContentV2] { * * @param jsonLDObject the JSON-LD object. * @param requestingUser the user making the request. - * @param responderManager a reference to the responder manager. - * @param storeManager a reference to the store manager. + * @param appActror a reference to the application actor. * @param featureFactoryConfig the feature factory configuration. * @param settings the application settings. * @param log a logging adapter. @@ -2028,11 +1997,10 @@ object TextValueContentV2 extends ValueContentReaderV2[TextValueContentV2] { override def fromJsonLDObject( jsonLDObject: JsonLDObject, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[TextValueContentV2] = { implicit val stringFormatter: StringFormatter = StringFormatter.getGeneralInstance @@ -2058,11 +2026,16 @@ object TextValueContentV2 extends ValueContentReaderV2[TextValueContentV2] { maybeMappingFuture: Option[Future[GetMappingResponseV2]] = maybeMappingIri.map { mappingIri => for { mappingResponse: GetMappingResponseV2 <- - (responderManager ? GetMappingRequestV2( - mappingIri = mappingIri, - featureFactoryConfig = featureFactoryConfig, - requestingUser = requestingUser - )).mapTo[GetMappingResponseV2] + appActor + .ask( + GetMappingRequestV2( + mappingIri = mappingIri, + featureFactoryConfig = + featureFactoryConfig, + requestingUser = requestingUser + ) + ) + .mapTo[GetMappingResponseV2] } yield mappingResponse } @@ -2185,11 +2158,10 @@ object IntegerValueContentV2 extends ValueContentReaderV2[IntegerValueContentV2] override def fromJsonLDObject( jsonLDObject: JsonLDObject, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[IntegerValueContentV2] = Future(fromJsonLDObjectSync(jsonLDObject)) @@ -2285,11 +2257,10 @@ object DecimalValueContentV2 extends ValueContentReaderV2[DecimalValueContentV2] override def fromJsonLDObject( jsonLDObject: JsonLDObject, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[DecimalValueContentV2] = Future(fromJsonLDObjectSync(jsonLDObject)) @@ -2381,11 +2352,10 @@ object BooleanValueContentV2 extends ValueContentReaderV2[BooleanValueContentV2] override def fromJsonLDObject( jsonLDObject: JsonLDObject, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[BooleanValueContentV2] = Future(fromJsonLDObjectSync(jsonLDObject)) @@ -2479,11 +2449,10 @@ object GeomValueContentV2 extends ValueContentReaderV2[GeomValueContentV2] { override def fromJsonLDObject( jsonLDObject: JsonLDObject, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[GeomValueContentV2] = Future(fromJsonLDObjectSync(jsonLDObject)) @@ -2599,11 +2568,10 @@ object IntervalValueContentV2 extends ValueContentReaderV2[IntervalValueContentV override def fromJsonLDObject( jsonLDObject: JsonLDObject, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[IntervalValueContentV2] = Future(fromJsonLDObjectSync(jsonLDObject)) @@ -2717,11 +2685,10 @@ object TimeValueContentV2 extends ValueContentReaderV2[TimeValueContentV2] { override def fromJsonLDObject( jsonLDObject: JsonLDObject, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[TimeValueContentV2] = Future(fromJsonLDObjectSync(jsonLDObject)) @@ -2834,11 +2801,10 @@ object HierarchicalListValueContentV2 extends ValueContentReaderV2[HierarchicalL override def fromJsonLDObject( jsonLDObject: JsonLDObject, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[HierarchicalListValueContentV2] = Future(fromJsonLDObjectSync(jsonLDObject)) @@ -2938,11 +2904,10 @@ object ColorValueContentV2 extends ValueContentReaderV2[ColorValueContentV2] { override def fromJsonLDObject( jsonLDObject: JsonLDObject, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[ColorValueContentV2] = Future(fromJsonLDObjectSync(jsonLDObject)) @@ -3040,11 +3005,10 @@ object UriValueContentV2 extends ValueContentReaderV2[UriValueContentV2] { override def fromJsonLDObject( jsonLDObject: JsonLDObject, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[UriValueContentV2] = Future(fromJsonLDObjectSync(jsonLDObject)) @@ -3147,11 +3111,10 @@ object GeonameValueContentV2 extends ValueContentReaderV2[GeonameValueContentV2] override def fromJsonLDObject( jsonLDObject: JsonLDObject, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[GeonameValueContentV2] = Future(fromJsonLDObjectSync(jsonLDObject)) @@ -3196,10 +3159,9 @@ object FileValueWithSipiMetadata { def fromJsonLDObject( jsonLDObject: JsonLDObject, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[FileValueWithSipiMetadata] = { implicit val stringFormatter: StringFormatter = StringFormatter.getGeneralInstance @@ -3214,10 +3176,14 @@ object FileValueWithSipiMetadata { // Ask Sipi about the rest of the file's metadata. tempFilePath = stringFormatter.makeSipiTempFilePath(settings, internalFilename) - fileMetadataResponse: GetFileMetadataResponse <- (storeManager ? GetFileMetadataRequest( - filePath = tempFilePath, - requestingUser = requestingUser - )).mapTo[GetFileMetadataResponse] + fileMetadataResponse: GetFileMetadataResponse <- appActor + .ask( + GetFileMetadataRequest( + filePath = tempFilePath, + requestingUser = requestingUser + ) + ) + .mapTo[GetFileMetadataResponse] fileValue = FileValueV2( internalFilename = internalFilename, @@ -3340,11 +3306,10 @@ object StillImageFileValueContentV2 extends ValueContentReaderV2[StillImageFileV override def fromJsonLDObject( jsonLDObject: JsonLDObject, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[StillImageFileValueContentV2] = { implicit val stringFormatter: StringFormatter = StringFormatter.getGeneralInstance @@ -3352,8 +3317,7 @@ object StillImageFileValueContentV2 extends ValueContentReaderV2[StillImageFileV fileValueWithSipiMetadata <- FileValueWithSipiMetadata.fromJsonLDObject( jsonLDObject = jsonLDObject, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, settings = settings, log = log ) @@ -3521,11 +3485,10 @@ object DocumentFileValueContentV2 extends ValueContentReaderV2[DocumentFileValue override def fromJsonLDObject( jsonLDObject: JsonLDObject, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[DocumentFileValueContentV2] = { implicit val stringFormatter: StringFormatter = StringFormatter.getGeneralInstance @@ -3533,8 +3496,7 @@ object DocumentFileValueContentV2 extends ValueContentReaderV2[DocumentFileValue fileValueWithSipiMetadata <- FileValueWithSipiMetadata.fromJsonLDObject( jsonLDObject = jsonLDObject, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, settings = settings, log = log ) @@ -3562,11 +3524,10 @@ object ArchiveFileValueContentV2 extends ValueContentReaderV2[ArchiveFileValueCo override def fromJsonLDObject( jsonLDObject: JsonLDObject, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[ArchiveFileValueContentV2] = { implicit val stringFormatter: StringFormatter = StringFormatter.getGeneralInstance @@ -3574,8 +3535,7 @@ object ArchiveFileValueContentV2 extends ValueContentReaderV2[ArchiveFileValueCo fileValueWithSipiMetadata <- FileValueWithSipiMetadata.fromJsonLDObject( jsonLDObject = jsonLDObject, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, settings = settings, log = log ) @@ -3658,11 +3618,10 @@ object TextFileValueContentV2 extends ValueContentReaderV2[TextFileValueContentV override def fromJsonLDObject( jsonLDObject: JsonLDObject, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[TextFileValueContentV2] = { implicit val stringFormatter: StringFormatter = StringFormatter.getGeneralInstance @@ -3670,8 +3629,7 @@ object TextFileValueContentV2 extends ValueContentReaderV2[TextFileValueContentV fileValueWithSipiMetadata <- FileValueWithSipiMetadata.fromJsonLDObject( jsonLDObject = jsonLDObject, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, settings = settings, log = log ) @@ -3756,11 +3714,10 @@ object AudioFileValueContentV2 extends ValueContentReaderV2[AudioFileValueConten override def fromJsonLDObject( jsonLDObject: JsonLDObject, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[AudioFileValueContentV2] = { implicit val stringFormatter: StringFormatter = StringFormatter.getGeneralInstance @@ -3768,8 +3725,7 @@ object AudioFileValueContentV2 extends ValueContentReaderV2[AudioFileValueConten fileValueWithSipiMetadata <- FileValueWithSipiMetadata.fromJsonLDObject( jsonLDObject = jsonLDObject, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, settings = settings, log = log ) @@ -3859,11 +3815,10 @@ object MovingImageFileValueContentV2 extends ValueContentReaderV2[MovingImageFil override def fromJsonLDObject( jsonLDObject: JsonLDObject, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[MovingImageFileValueContentV2] = { implicit val stringFormatter: StringFormatter = StringFormatter.getGeneralInstance @@ -3871,8 +3826,7 @@ object MovingImageFileValueContentV2 extends ValueContentReaderV2[MovingImageFil fileValueWithSipiMetadata <- FileValueWithSipiMetadata.fromJsonLDObject( jsonLDObject = jsonLDObject, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, settings = settings, log = log ) @@ -4008,11 +3962,10 @@ object LinkValueContentV2 extends ValueContentReaderV2[LinkValueContentV2] { override def fromJsonLDObject( jsonLDObject: JsonLDObject, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - log: LoggingAdapter + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[LinkValueContentV2] = Future(fromJsonLDObjectSync(jsonLDObject)) diff --git a/webapi/src/main/scala/org/knora/webapi/responders/Responder.scala b/webapi/src/main/scala/org/knora/webapi/responders/Responder.scala index 89a628fd8d..5a0db63d3e 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/Responder.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/Responder.scala @@ -8,7 +8,7 @@ package responders import akka.actor.ActorRef import akka.actor.ActorSystem -import akka.event.LoggingAdapter +import com.typesafe.scalalogging.Logger import akka.http.scaladsl.util.FastFuture import akka.pattern._ import akka.util.Timeout @@ -77,16 +77,6 @@ abstract class Responder(responderData: ResponderData) extends LazyLogging { */ protected val appActor: ActorRef = responderData.appActor - /** - * The main application actor forwards messages to the responder manager. - */ - protected val responderManager: ActorRef = responderData.appActor - - /** - * The main application actor forwards messages to the store manager. - */ - protected val storeManager: ActorRef = responderData.appActor - /** * A string formatter. */ @@ -100,8 +90,7 @@ abstract class Responder(responderData: ResponderData) extends LazyLogging { /** * Provides logging */ - protected val log: Logger = logger - protected val loggingAdapter: LoggingAdapter = akka.event.Logging(system, this.getClass) + protected val log: Logger = logger /** * Checks whether an entity is used in the triplestore. @@ -128,7 +117,8 @@ abstract class Responder(responderData: ResponderData) extends LazyLogging { .toString() ) - isEntityUsedResponse: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(isEntityUsedSparql)) + isEntityUsedResponse: SparqlSelectResult <- appActor + .ask(SparqlSelectRequest(isEntityUsedSparql)) .mapTo[SparqlSelectResult] } yield isEntityUsedResponse.results.bindings.nonEmpty @@ -152,7 +142,8 @@ abstract class Responder(responderData: ResponderData) extends LazyLogging { .toString() ) - isClassUsedInDataResponse: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(isClassUsedInDataSparql)) + isClassUsedInDataResponse: SparqlSelectResult <- appActor + .ask(SparqlSelectRequest(isClassUsedInDataSparql)) .mapTo[SparqlSelectResult] } yield isClassUsedInDataResponse.results.bindings.nonEmpty @@ -211,7 +202,7 @@ abstract class Responder(responderData: ResponderData) extends LazyLogging { val entityIriAsString = customEntityIri.toString for { - result <- stringFormatter.checkIriExists(entityIriAsString, storeManager) + result <- stringFormatter.checkIriExists(entityIriAsString, appActor) _ = if (result) { throw DuplicateValueException(s"IRI: '$entityIriAsString' already exists, try another one.") } @@ -224,6 +215,6 @@ abstract class Responder(responderData: ResponderData) extends LazyLogging { } yield entityIriAsString - case None => stringFormatter.makeUnusedIri(iriFormatter, storeManager, loggingAdapter) + case None => stringFormatter.makeUnusedIri(iriFormatter, appActor, log) } } diff --git a/webapi/src/main/scala/org/knora/webapi/responders/ResponderManager.scala b/webapi/src/main/scala/org/knora/webapi/responders/ResponderManager.scala index 53180448b8..cb3aa4cdec 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/ResponderManager.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/ResponderManager.scala @@ -11,6 +11,7 @@ import akka.actor.ActorRef import akka.actor.ActorSystem import akka.event.LoggingReceive import org.knora.webapi.core.ActorMaker +import org.knora.webapi.messages.ResponderRequest import org.knora.webapi.messages.admin.responder.groupsmessages.GroupsResponderRequestADM import org.knora.webapi.messages.admin.responder.listsmessages.ListsResponderRequestADM import org.knora.webapi.messages.admin.responder.permissionsmessages.PermissionsResponderRequestADM @@ -38,319 +39,200 @@ import org.knora.webapi.responders.admin._ import org.knora.webapi.responders.v1._ import org.knora.webapi.responders.v2._ import org.knora.webapi.settings.KnoraDispatchers +import org.knora.webapi.settings.KnoraSettingsImpl +import org.knora.webapi.store.cacheservice.settings.CacheServiceSettings import org.knora.webapi.util.ActorUtil._ import scala.concurrent.ExecutionContext +import zio._ + /** * This actor receives messages representing client requests, and forwards them to pools of specialised actors * that it supervises. * * @param appActor the main application actor. */ -class ResponderManager(appActor: ActorRef, responderData: ResponderData) extends Actor with ActorLogging { - this: ActorMaker => - - /** - * The responder's Akka actor system. - */ - protected implicit val system: ActorSystem = context.system - - /** - * The Akka actor system's execution context for futures. - */ - protected implicit val executionContext: ExecutionContext = - system.dispatchers.lookup(KnoraDispatchers.KnoraActorDispatcher) +final case class ResponderManager( + responderData: ResponderData +) { self => // A subclass can replace the standard responders with custom responders, e.g. for testing. To do this, it must // override one or more of the protected val members below representing responder classes. To construct a default // responder, a subclass can call one of the protected methods below. /** - * Constructs the default [[CkanResponderV1]]. - */ - protected final def makeDefaultCkanResponderV1: CkanResponderV1 = new CkanResponderV1(responderData) - - /** - * Subclasses can override this member to substitute a custom implementation instead of the default Ckan responder. - */ - protected lazy val ckanResponderV1: CkanResponderV1 = makeDefaultCkanResponderV1 - - /** - * Constructs the default [[ResourcesResponderV1]]. - */ - protected final def makeDefaultResourcesResponderV1: ResourcesResponderV1 = new ResourcesResponderV1(responderData) - - /** - * Subclasses can override this member to substitute a custom implementation instead of the default resources V1 responder. - */ - protected lazy val resourcesResponderV1: ResourcesResponderV1 = makeDefaultResourcesResponderV1 - - /** - * Constructs the default [[ValuesResponderV1]]. + * Constructs the [[CkanResponderV1]]. */ - protected final def makeDefaultValuesResponderV1: ValuesResponderV1 = new ValuesResponderV1(responderData) + private val ckanResponderV1: CkanResponderV1 = new CkanResponderV1(responderData) /** - * Subclasses can override this member to substitute a custom implementation instead of the default values V1 responder. + * Constructs the [[ResourcesResponderV1]]. */ - protected lazy val valuesResponderV1: ValuesResponderV1 = makeDefaultValuesResponderV1 + private val resourcesResponderV1: ResourcesResponderV1 = new ResourcesResponderV1(responderData) /** - * Constructs the default [[StandoffResponderV1]]. + * Constructs the [[ValuesResponderV1]]. */ - protected final def makeDefaultStandoffResponderV1: StandoffResponderV1 = new StandoffResponderV1(responderData) + private val valuesResponderV1: ValuesResponderV1 = new ValuesResponderV1(responderData) /** - * Subclasses can override this member to substitute a custom implementation instead of the default standoff V1 responder. + * Constructs the [[StandoffResponderV1]]. */ - protected lazy val standoffResponderV1: StandoffResponderV1 = makeDefaultStandoffResponderV1 + private val standoffResponderV1: StandoffResponderV1 = new StandoffResponderV1(responderData) /** - * Constructs the default [[UsersResponderV1]]. + * Constructs the [[UsersResponderV1]]. */ - protected final def makeDefaultUsersResponderV1: UsersResponderV1 = new UsersResponderV1(responderData) + private val usersResponderV1: UsersResponderV1 = new UsersResponderV1(responderData) /** - * Subclasses can override this member to substitute a custom implementation instead of the default users V1 responder. + * Constructs the [[ListsResponderV1]]. */ - protected lazy val usersResponderV1: UsersResponderV1 = makeDefaultUsersResponderV1 + private val listsResponderV1: ListsResponderV1 = new ListsResponderV1(responderData) /** - * Constructs the default Akka routing actor that routes messages to [[ListsResponderV1]]. + * Constructs the [[SearchResponderV1]]. */ - protected final def makeDefaultListsResponderV1: ListsResponderV1 = new ListsResponderV1(responderData) + private val searchResponderV1: SearchResponderV1 = new SearchResponderV1(responderData) /** - * Subclasses can override this member to substitute a custom implementation instead of the default lists V1 responder. + * Constructs the [[OntologyResponderV1]]. */ - protected lazy val listsResponderV1: ListsResponderV1 = makeDefaultListsResponderV1 + private val ontologyResponderV1: OntologyResponderV1 = new OntologyResponderV1(responderData) /** - * Constructs the default Akka routing actor that routes messages to [[SearchResponderV1]]. + * Constructs the [[ProjectsResponderV1]]. */ - protected final def makeDefaultSearchResponderV1: SearchResponderV1 = new SearchResponderV1(responderData) - - /** - * Subclasses can override this member to substitute a custom implementation instead of the default search V1 responder. - */ - protected lazy val searchResponderV1: SearchResponderV1 = makeDefaultSearchResponderV1 - - /** - * Constructs the default Akka routing actor that routes messages to [[OntologyResponderV1]]. - */ - protected final def makeDefaultOntologyResponderV1: OntologyResponderV1 = new OntologyResponderV1(responderData) - - /** - * Subclasses can override this member to substitute a custom implementation instead of the default ontology V1 responder. - */ - protected lazy val ontologyResponderV1: OntologyResponderV1 = makeDefaultOntologyResponderV1 - - /** - * Constructs the default Akka routing actor that routes messages to [[ProjectsResponderV1]]. - */ - protected final def makeDefaultProjectsResponderV1: ProjectsResponderV1 = new ProjectsResponderV1(responderData) - - /** - * Subclasses can override this member to substitute a custom implementation instead of the default projects V1 responder. - */ - protected lazy val projectsResponderV1: ProjectsResponderV1 = makeDefaultProjectsResponderV1 + private val projectsResponderV1: ProjectsResponderV1 = new ProjectsResponderV1(responderData) // // V2 responders // /** - * Constructs the default [[OntologyResponderV2]]. - */ - protected final def makeDefaultOntologiesResponderV2: OntologyResponderV2 = new OntologyResponderV2(responderData) - - /** - * Subclasses can override this member to substitute a custom implementation instead of the default ontologies responder. + * Constructs the [[OntologyResponderV2]]. */ - protected val ontologiesResponderV2: OntologyResponderV2 = makeDefaultOntologiesResponderV2 + private val ontologiesResponderV2: OntologyResponderV2 = new OntologyResponderV2(responderData) /** - * Constructs the default [[SearchResponderV2]]. + * Constructs the [[SearchResponderV2]]. */ - protected final def makeDefaultSearchResponderV2: SearchResponderV2 = new SearchResponderV2(responderData) + private val searchResponderV2: SearchResponderV2 = new SearchResponderV2(responderData) /** - * Subclasses can override this member to substitute a custom implementation instead of the default search responder. + * Constructs the [[ResourcesResponderV2]]. */ - protected val searchResponderV2: SearchResponderV2 = makeDefaultSearchResponderV2 + private val resourcesResponderV2: ResourcesResponderV2 = new ResourcesResponderV2(responderData) /** - * Constructs the default [[ResourcesResponderV2]]. + * Constructs the [[ValuesResponderV2]]. */ - protected final def makeDefaultResourcesResponderV2: ResourcesResponderV2 = new ResourcesResponderV2(responderData) + private val valuesResponderV2: ValuesResponderV2 = new ValuesResponderV2(responderData) /** - * Subclasses can override this member to substitute a custom implementation instead of the default resources responder. + * Constructs the [[StandoffResponderV2]]. */ - protected val resourcesResponderV2: ResourcesResponderV2 = makeDefaultResourcesResponderV2 + private val standoffResponderV2: StandoffResponderV2 = new StandoffResponderV2(responderData) /** - * Constructs the default [[ValuesResponderV2]]. + * Constructs the [[ListsResponderV2]]. */ - protected final def makeDefaultValuesResponderV2: ValuesResponderV2 = new ValuesResponderV2(responderData) - - /** - * Subclasses can override this member to substitute a custom implementation instead of the default values responder. - */ - protected val valuesResponderV2: ValuesResponderV2 = makeDefaultValuesResponderV2 - - /** - * Constructs the default [[StandoffResponderV2]]. - */ - protected final def makeDefaultStandoffResponderV2: StandoffResponderV2 = new StandoffResponderV2(responderData) - - /** - * Subclasses can override this member to substitute a custom implementation instead of the default standoff responder. - */ - protected val standoffResponderV2: StandoffResponderV2 = makeDefaultStandoffResponderV2 - - /** - * Constructs the default [[ListsResponderV2]]. - */ - protected final def makeDefaultListsResponderV2: ListsResponderV2 = new ListsResponderV2(responderData) - - /** - * Subclasses can override this member to substitute a custom implementation instead of the default lists responder. - */ - protected val listsResponderV2: ListsResponderV2 = makeDefaultListsResponderV2 + private val listsResponderV2: ListsResponderV2 = new ListsResponderV2(responderData) // // Admin responders // /** - * Constructs the default [[GroupsResponderADM]]. + * Constructs the [[GroupsResponderADM]]. */ - protected final def makeDefaultGroupsResponderADM: GroupsResponderADM = new GroupsResponderADM(responderData) + private val groupsResponderADM: GroupsResponderADM = new GroupsResponderADM(responderData) /** - * Subclasses can override this member to substitute a custom implementation instead of the default groups responder. + * Constructs the [[ListsResponderADM]]. */ - protected val groupsResponderADM: GroupsResponderADM = makeDefaultGroupsResponderADM + private val listsResponderADM: ListsResponderADM = new ListsResponderADM(responderData) /** - * Constructs the default [[ListsResponderADM]]. + * Constructs the [[PermissionsResponderADM]]. */ - protected final def makeDefaultListsResponderADM: ListsResponderADM = new ListsResponderADM(responderData) + private val permissionsResponderADM: PermissionsResponderADM = new PermissionsResponderADM(responderData) /** - * Subclasses can override this member to substitute a custom implementation instead of the default admin lists responder. + * Constructs the [[ProjectsResponderADM]]. */ - protected val listsResponderADM: ListsResponderADM = makeDefaultListsResponderADM + private val projectsResponderADM: ProjectsResponderADM = new ProjectsResponderADM(responderData) /** - * Constructs the default [[PermissionsResponderADM]]. + * Constructs the [[StoresResponderADM]]. */ - protected final def makeDefaultPermissionsResponderADM: PermissionsResponderADM = - new PermissionsResponderADM(responderData) + private val storeResponderADM: StoresResponderADM = new StoresResponderADM(responderData) /** - * Subclasses can override this member to substitute a custom implementation instead of the default permissions responder. + * Constructs the [[UsersResponderADM]]. */ - protected val permissionsResponderADM: PermissionsResponderADM = makeDefaultPermissionsResponderADM + private val usersResponderADM: UsersResponderADM = new UsersResponderADM(responderData) /** - * Constructs the default [[ProjectsResponderADM]]. + * Constructs the [[SipiResponderADM]]. */ - protected final def makeDefaultProjectsResponderADM: ProjectsResponderADM = new ProjectsResponderADM(responderData) - - /** - * Subclasses can override this member to substitute a custom implementation instead of the default projects responder. - */ - protected val projectsResponderADM: ProjectsResponderADM = makeDefaultProjectsResponderADM - - /** - * Constructs the default [[StoresResponderADM]]. - */ - protected final def makeDefaultStoreResponderADM: StoresResponderADM = new StoresResponderADM(responderData) - - /** - * Subclasses can override this member to substitute a custom implementation instead of the default store responder. - */ - protected val storeResponderADM: StoresResponderADM = makeDefaultStoreResponderADM - - /** - * Constructs the default [[UsersResponderADM]]. - */ - protected final def makeDefaultUsersResponderADM: UsersResponderADM = new UsersResponderADM(responderData) - - /** - * Subclasses can override this member to substitute a custom implementation instead of the default users responder. - */ - protected val usersResponderADM: UsersResponderADM = makeDefaultUsersResponderADM - - /** - * Constructs the default [[SipiResponderADM]]. - */ - protected final def makeDefaultSipiResponderADM: SipiResponderADM = new SipiResponderADM(responderData) - - /** - * Subclasses can override this member to substitute it with a custom implementation instead of the default sipi responder. - */ - protected lazy val sipiRouterADM: SipiResponderADM = makeDefaultSipiResponderADM + private val sipiRouterADM: SipiResponderADM = new SipiResponderADM(responderData) /** * Each responder's receive method is called and only messages of the allowed type are supplied as the parameter. * If a serious error occurs (i.e. an error that isn't the client's fault), the future2Message method first * returns `Failure` to the sender, then throws an exception. */ - def receive: Receive = LoggingReceive { + def receive(msg: ResponderRequest) = msg match { // Knora API V1 messages case ckanResponderRequestV1: CkanResponderRequestV1 => - future2Message(sender(), ckanResponderV1 receive ckanResponderRequestV1, log) + ckanResponderV1.receive(ckanResponderRequestV1) case resourcesResponderRequestV1: ResourcesResponderRequestV1 => - future2Message(sender(), resourcesResponderV1 receive resourcesResponderRequestV1, log) + resourcesResponderV1.receive(resourcesResponderRequestV1) case valuesResponderRequestV1: ValuesResponderRequestV1 => - future2Message(sender(), valuesResponderV1 receive valuesResponderRequestV1, log) + valuesResponderV1.receive(valuesResponderRequestV1) case listsResponderRequestV1: ListsResponderRequestV1 => - future2Message(sender(), listsResponderV1 receive listsResponderRequestV1, log) + listsResponderV1.receive(listsResponderRequestV1) case searchResponderRequestV1: SearchResponderRequestV1 => - future2Message(sender(), searchResponderV1 receive searchResponderRequestV1, log) + searchResponderV1.receive(searchResponderRequestV1) case ontologyResponderRequestV1: OntologyResponderRequestV1 => - future2Message(sender(), ontologyResponderV1 receive ontologyResponderRequestV1, log) + ontologyResponderV1.receive(ontologyResponderRequestV1) case standoffResponderRequestV1: StandoffResponderRequestV1 => - future2Message(sender(), standoffResponderV1 receive standoffResponderRequestV1, log) + standoffResponderV1.receive(standoffResponderRequestV1) case usersResponderRequestV1: UsersResponderRequestV1 => - future2Message(sender(), usersResponderV1 receive usersResponderRequestV1, log) + usersResponderV1.receive(usersResponderRequestV1) case projectsResponderRequestV1: ProjectsResponderRequestV1 => - future2Message(sender(), projectsResponderV1 receive projectsResponderRequestV1, log) + projectsResponderV1.receive(projectsResponderRequestV1) // Knora API V2 messages case ontologiesResponderRequestV2: OntologiesResponderRequestV2 => - future2Message(sender(), ontologiesResponderV2 receive ontologiesResponderRequestV2, log) + ontologiesResponderV2.receive(ontologiesResponderRequestV2) case searchResponderRequestV2: SearchResponderRequestV2 => - future2Message(sender(), searchResponderV2 receive searchResponderRequestV2, log) + searchResponderV2.receive(searchResponderRequestV2) case resourcesResponderRequestV2: ResourcesResponderRequestV2 => - future2Message(sender(), resourcesResponderV2 receive resourcesResponderRequestV2, log) + resourcesResponderV2.receive(resourcesResponderRequestV2) case valuesResponderRequestV2: ValuesResponderRequestV2 => - future2Message(sender(), valuesResponderV2 receive valuesResponderRequestV2, log) + valuesResponderV2.receive(valuesResponderRequestV2) case standoffResponderRequestV2: StandoffResponderRequestV2 => - future2Message(sender(), standoffResponderV2 receive standoffResponderRequestV2, log) + standoffResponderV2.receive(standoffResponderRequestV2) case listsResponderRequestV2: ListsResponderRequestV2 => - future2Message(sender(), listsResponderV2 receive listsResponderRequestV2, log) + listsResponderV2.receive(listsResponderRequestV2) // Knora Admin message case groupsResponderRequestADM: GroupsResponderRequestADM => - future2Message(sender(), groupsResponderADM receive groupsResponderRequestADM, log) + groupsResponderADM.receive(groupsResponderRequestADM) case listsResponderRequest: ListsResponderRequestADM => - future2Message(sender(), listsResponderADM receive listsResponderRequest, log) + listsResponderADM.receive(listsResponderRequest) case permissionsResponderRequestADM: PermissionsResponderRequestADM => - future2Message(sender(), permissionsResponderADM receive permissionsResponderRequestADM, log) + permissionsResponderADM.receive(permissionsResponderRequestADM) case projectsResponderRequestADM: ProjectsResponderRequestADM => - future2Message(sender(), projectsResponderADM receive projectsResponderRequestADM, log) + projectsResponderADM.receive(projectsResponderRequestADM) case storeResponderRequestADM: StoreResponderRequestADM => - future2Message(sender(), storeResponderADM receive storeResponderRequestADM, log) + storeResponderADM.receive(storeResponderRequestADM) case usersResponderRequestADM: UsersResponderRequestADM => - future2Message(sender(), usersResponderADM receive usersResponderRequestADM, log) + usersResponderADM.receive(usersResponderRequestADM) case sipiResponderRequestADM: SipiResponderRequestADM => - future2Message(sender(), sipiRouterADM receive sipiResponderRequestADM, log) - - case other => handleUnexpectedMessage(sender(), other, log, this.getClass.getName) + sipiRouterADM.receive(sipiResponderRequestADM) } } diff --git a/webapi/src/main/scala/org/knora/webapi/responders/admin/GroupsResponderADM.scala b/webapi/src/main/scala/org/knora/webapi/responders/admin/GroupsResponderADM.scala index ebcc05574e..4847a6e0f4 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/admin/GroupsResponderADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/admin/GroupsResponderADM.scala @@ -29,6 +29,7 @@ import org.knora.webapi.responders.Responder.handleUnexpectedMessage import java.util.UUID import scala.concurrent.Future import dsp.valueobjects.Group.GroupStatus +import akka.actor.ActorRef /** * Returns information about Knora projects. @@ -97,10 +98,14 @@ class GroupsResponderADM(responderData: ResponderData) extends Responder(respond .toString() ) - groupsResponse <- (storeManager ? SparqlExtendedConstructRequest( - sparql = sparqlQuery, - featureFactoryConfig = featureFactoryConfig - )).mapTo[SparqlExtendedConstructResponse] + groupsResponse <- appActor + .ask( + SparqlExtendedConstructRequest( + sparql = sparqlQuery, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[SparqlExtendedConstructResponse] statements = groupsResponse.statements @@ -118,16 +123,20 @@ class GroupsResponderADM(responderData: ResponderData) extends Responder(respond .value for { - maybeProjectADM: Option[ProjectADM] <- (responderManager ? ProjectGetADM( - identifier = - ProjectIdentifierADM(maybeIri = - Some(projectIri) - ), - featureFactoryConfig = - featureFactoryConfig, - requestingUser = - KnoraSystemInstances.Users.SystemUser - )).mapTo[Option[ProjectADM]] + maybeProjectADM: Option[ProjectADM] <- appActor + .ask( + ProjectGetADM( + identifier = + ProjectIdentifierADM( + maybeIri = Some(projectIri) + ), + featureFactoryConfig = + featureFactoryConfig, + requestingUser = + KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[Option[ProjectADM]] projectADM: ProjectADM = maybeProjectADM match { case Some(project) => project @@ -235,10 +244,14 @@ class GroupsResponderADM(responderData: ResponderData) extends Responder(respond .toString() ) - groupResponse <- (storeManager ? SparqlExtendedConstructRequest( - sparql = sparqlQuery, - featureFactoryConfig = featureFactoryConfig - )).mapTo[SparqlExtendedConstructResponse] + groupResponse <- appActor + .ask( + SparqlExtendedConstructRequest( + sparql = sparqlQuery, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[SparqlExtendedConstructResponse] maybeGroup: Option[GroupADM] <- if (groupResponse.statements.isEmpty) { @@ -351,7 +364,7 @@ class GroupsResponderADM(responderData: ResponderData) extends Responder(respond ) //_ = log.debug(s"groupMembersByIRIGetRequestV1 - query: $sparqlQueryString") - groupMembersResponse <- (storeManager ? SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] + groupMembersResponse <- appActor.ask(SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] //_ = log.debug(s"groupMembersByIRIGetRequestV1 - result: {}", MessageUtil.toSource(groupMembersResponse)) // get project member IRI from results rows @@ -365,12 +378,17 @@ class GroupsResponderADM(responderData: ResponderData) extends Responder(respond _ = log.debug("groupMembersGetRequestADM - groupMemberIris: {}", groupMemberIris) maybeUsersFutures: Seq[Future[Option[UserADM]]] = groupMemberIris.map { userIri => - (responderManager ? UserGetADM( - UserIdentifierADM(maybeIri = Some(userIri)), - userInformationTypeADM = UserInformationTypeADM.Restricted, - featureFactoryConfig = featureFactoryConfig, - requestingUser = KnoraSystemInstances.Users.SystemUser - )).mapTo[Option[UserADM]] + appActor + .ask( + UserGetADM( + UserIdentifierADM(maybeIri = Some(userIri)), + userInformationTypeADM = + UserInformationTypeADM.Restricted, + featureFactoryConfig = featureFactoryConfig, + requestingUser = KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[Option[UserADM]] } maybeUsers: Seq[Option[UserADM]] <- Future.sequence(maybeUsersFutures) users: Seq[UserADM] = maybeUsers.flatten @@ -454,12 +472,17 @@ class GroupsResponderADM(responderData: ResponderData) extends Responder(respond throw DuplicateValueException(s"Group with the name '${createRequest.name.value}' already exists") } - maybeProjectADM: Option[ProjectADM] <- (responderManager ? ProjectGetADM( - identifier = - ProjectIdentifierADM(maybeIri = Some(createRequest.project.value)), - featureFactoryConfig = featureFactoryConfig, - requestingUser = KnoraSystemInstances.Users.SystemUser - )).mapTo[Option[ProjectADM]] + maybeProjectADM: Option[ProjectADM] <- appActor + .ask( + ProjectGetADM( + identifier = ProjectIdentifierADM(maybeIri = + Some(createRequest.project.value) + ), + featureFactoryConfig = featureFactoryConfig, + requestingUser = KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[Option[ProjectADM]] projectADM: ProjectADM = maybeProjectADM match { case Some(p) => p @@ -490,7 +513,8 @@ class GroupsResponderADM(responderData: ResponderData) extends Responder(respond ) .toString - _ <- (storeManager ? SparqlUpdateRequest(createNewGroupSparqlString)) + _ <- appActor + .ask(SparqlUpdateRequest(createNewGroupSparqlString)) .mapTo[SparqlUpdateResponse] /* Verify that the group was created and updated */ @@ -760,7 +784,7 @@ class GroupsResponderADM(responderData: ResponderData) extends Responder(respond ) //_ = log.debug(s"updateProjectV1 - query: {}",updateProjectSparqlString) - _ <- (storeManager ? SparqlUpdateRequest(updateGroupSparqlString)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(updateGroupSparqlString)).mapTo[SparqlUpdateResponse] /* Verify that the project was updated. */ maybeUpdatedGroup <- groupGetADM( @@ -815,11 +839,15 @@ class GroupsResponderADM(responderData: ResponderData) extends Responder(respond if (propsMap.nonEmpty) { for { projectIri <- projectIriFuture - maybeProject: Option[ProjectADM] <- (responderManager ? ProjectGetADM( - identifier = ProjectIdentifierADM(maybeIri = Some(projectIri)), - featureFactoryConfig = featureFactoryConfig, - requestingUser = KnoraSystemInstances.Users.SystemUser - )).mapTo[Option[ProjectADM]] + maybeProject: Option[ProjectADM] <- appActor + .ask( + ProjectGetADM( + identifier = ProjectIdentifierADM(maybeIri = Some(projectIri)), + featureFactoryConfig = featureFactoryConfig, + requestingUser = KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[Option[ProjectADM]] project: ProjectADM = maybeProject.getOrElse( throw InconsistentRepositoryDataException(s"Group $groupIri has no project attached.") @@ -890,7 +918,7 @@ class GroupsResponderADM(responderData: ResponderData) extends Responder(respond ) //_ = log.debug("groupExists - query: {}", askString) - checkGroupExistsResponse <- (storeManager ? SparqlAskRequest(askString)).mapTo[SparqlAskResponse] + checkGroupExistsResponse <- appActor.ask(SparqlAskRequest(askString)).mapTo[SparqlAskResponse] result = checkGroupExistsResponse.result } yield result @@ -911,7 +939,7 @@ class GroupsResponderADM(responderData: ResponderData) extends Responder(respond ) //_ = log.debug("groupExists - query: {}", askString) - checkUserExistsResponse <- (storeManager ? SparqlAskRequest(askString)).mapTo[SparqlAskResponse] + checkUserExistsResponse <- appActor.ask(SparqlAskRequest(askString)).mapTo[SparqlAskResponse] result = checkUserExistsResponse.result _ = log.debug("groupByNameAndProjectExists - name: {}, projectIri: {}, result: {}", name, projectIri, result) @@ -946,14 +974,18 @@ class GroupsResponderADM(responderData: ResponderData) extends Responder(respond ) seqOfFutures: Seq[Future[UserOperationResponseADM]] = members.map { user: UserADM => - (responderManager ? UserGroupMembershipRemoveRequestADM( - userIri = user.id, - groupIri = changedGroup.id, - featureFactoryConfig = featureFactoryConfig, - requestingUser = - KnoraSystemInstances.Users.SystemUser, - apiRequestID = apiRequestID - )).mapTo[UserOperationResponseADM] + appActor + .ask( + UserGroupMembershipRemoveRequestADM( + userIri = user.id, + groupIri = changedGroup.id, + featureFactoryConfig = featureFactoryConfig, + requestingUser = + KnoraSystemInstances.Users.SystemUser, + apiRequestID = apiRequestID + ) + ) + .mapTo[UserOperationResponseADM] } userOperationResults: Seq[UserOperationResponseADM] <- Future.sequence(seqOfFutures) diff --git a/webapi/src/main/scala/org/knora/webapi/responders/admin/ListsResponderADM.scala b/webapi/src/main/scala/org/knora/webapi/responders/admin/ListsResponderADM.scala index 0244094a04..4f017aa050 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/admin/ListsResponderADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/admin/ListsResponderADM.scala @@ -34,6 +34,7 @@ import scala.concurrent.Future import dsp.valueobjects.Iri._ import dsp.valueobjects.ListErrorMessages import dsp.valueobjects.List.ListName +import akka.actor.ActorRef /** * A responder that returns information about hierarchical lists. @@ -121,10 +122,14 @@ class ListsResponderADM(responderData: ResponderData) extends Responder(responde .toString() ) - listsResponse <- (storeManager ? SparqlExtendedConstructRequest( - sparql = sparqlQuery, - featureFactoryConfig = featureFactoryConfig - )).mapTo[SparqlExtendedConstructResponse] + listsResponse <- appActor + .ask( + SparqlExtendedConstructRequest( + sparql = sparqlQuery, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[SparqlExtendedConstructResponse] // _ = log.debug("listsGetAdminRequest - listsResponse: {}", listsResponse ) @@ -336,10 +341,14 @@ class ListsResponderADM(responderData: ResponderData) extends Responder(responde // _ = log.debug("listNodeInfoGetADM - sparqlQuery: {}", sparqlQuery) - listNodeResponse <- (storeManager ? SparqlExtendedConstructRequest( - sparql = sparqlQuery, - featureFactoryConfig = featureFactoryConfig - )).mapTo[SparqlExtendedConstructResponse] + listNodeResponse <- appActor + .ask( + SparqlExtendedConstructRequest( + sparql = sparqlQuery, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[SparqlExtendedConstructResponse] statements: Map[SubjectV2, Map[SmartIri, Seq[LiteralV2]]] = listNodeResponse.statements @@ -502,10 +511,14 @@ class ListsResponderADM(responderData: ResponderData) extends Responder(responde .toString() ) - listInfoResponse <- (storeManager ? SparqlExtendedConstructRequest( - sparql = sparqlQuery, - featureFactoryConfig = featureFactoryConfig - )).mapTo[SparqlExtendedConstructResponse] + listInfoResponse <- appActor + .ask( + SparqlExtendedConstructRequest( + sparql = sparqlQuery, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[SparqlExtendedConstructResponse] // _ = log.debug(s"listGetADM - statements: {}", MessageUtil.toSource(listInfoResponse.statements)) @@ -717,10 +730,14 @@ class ListsResponderADM(responderData: ResponderData) extends Responder(responde .toString() } - nodeWithChildrenResponse <- (storeManager ? SparqlExtendedConstructRequest( - sparql = nodeChildrenQuery, - featureFactoryConfig = featureFactoryConfig - )).mapTo[SparqlExtendedConstructResponse] + nodeWithChildrenResponse <- appActor + .ask( + SparqlExtendedConstructRequest( + sparql = nodeChildrenQuery, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[SparqlExtendedConstructResponse] statements: Seq[(SubjectV2, Map[SmartIri, Seq[LiteralV2]])] = nodeWithChildrenResponse.statements.toList @@ -808,7 +825,8 @@ class ListsResponderADM(responderData: ResponderData) extends Responder(responde .toString() } - nodePathResponse: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(nodePathQuery)) + nodePathResponse: SparqlSelectResult <- appActor + .ask(SparqlSelectRequest(nodePathQuery)) .mapTo[SparqlSelectResult] /* @@ -947,11 +965,15 @@ class ListsResponderADM(responderData: ResponderData) extends Responder(responde for { /* Verify that the project exists by retrieving it. We need the project information so that we can calculate the data graph and IRI for the new node. */ - maybeProject <- (responderManager ? ProjectGetADM( - identifier = ProjectIdentifierADM(maybeIri = Some(projectIri.value)), - featureFactoryConfig = featureFactoryConfig, - KnoraSystemInstances.Users.SystemUser - )).mapTo[Option[ProjectADM]] + maybeProject <- appActor + .ask( + ProjectGetADM( + identifier = ProjectIdentifierADM(maybeIri = Some(projectIri.value)), + featureFactoryConfig = featureFactoryConfig, + KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[Option[ProjectADM]] project: ProjectADM = maybeProject match { case Some(project: ProjectADM) => project @@ -1039,7 +1061,7 @@ class ListsResponderADM(responderData: ResponderData) extends Responder(responde .toString } - _ <- (storeManager ? SparqlUpdateRequest(createNewListSparqlString)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(createNewListSparqlString)).mapTo[SparqlUpdateResponse] } yield newListNodeIri } @@ -1134,7 +1156,8 @@ class ListsResponderADM(responderData: ResponderData) extends Responder(responde ) changeNodeInfoSparqlString <- getUpdateNodeInfoSparqlStatement(changeNodeRequest, featureFactoryConfig) - changeResourceResponse <- (storeManager ? SparqlUpdateRequest(changeNodeInfoSparqlString)) + changeResourceResponse <- appActor + .ask(SparqlUpdateRequest(changeNodeInfoSparqlString)) .mapTo[SparqlUpdateResponse] /* Verify that the node info was updated */ @@ -1268,7 +1291,8 @@ class ListsResponderADM(responderData: ResponderData) extends Responder(responde featureFactoryConfig = featureFactoryConfig ) - changeResourceResponse <- (storeManager ? SparqlUpdateRequest(changeNodeNameSparqlString)) + changeResourceResponse <- appActor + .ask(SparqlUpdateRequest(changeNodeNameSparqlString)) .mapTo[SparqlUpdateResponse] /* Verify that the node info was updated */ @@ -1345,7 +1369,8 @@ class ListsResponderADM(responderData: ResponderData) extends Responder(responde ), featureFactoryConfig = featureFactoryConfig ) - changeResourceResponse <- (storeManager ? SparqlUpdateRequest(changeNodeLabelsSparqlString)) + changeResourceResponse <- appActor + .ask(SparqlUpdateRequest(changeNodeLabelsSparqlString)) .mapTo[SparqlUpdateResponse] /* Verify that the node info was updated */ @@ -1424,7 +1449,7 @@ class ListsResponderADM(responderData: ResponderData) extends Responder(responde ), featureFactoryConfig = featureFactoryConfig ) - _ <- (storeManager ? SparqlUpdateRequest(changeNodeCommentsSparqlString)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(changeNodeCommentsSparqlString)).mapTo[SparqlUpdateResponse] /* Verify that the node info was updated */ maybeNodeADM <- listNodeInfoGetADM( @@ -1820,7 +1845,8 @@ class ListsResponderADM(responderData: ResponderData) extends Responder(responde .toString() ) - response: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(sparqlQuery)) + response: SparqlSelectResult <- appActor + .ask(SparqlSelectRequest(sparqlQuery)) .mapTo[SparqlSelectResult] canDelete = @@ -1875,7 +1901,8 @@ class ListsResponderADM(responderData: ResponderData) extends Responder(responde .toString() ) - _: SparqlUpdateResponse <- (storeManager ? SparqlUpdateRequest(sparqlQuery)) + _: SparqlUpdateResponse <- appActor + .ask(SparqlUpdateRequest(sparqlQuery)) .mapTo[SparqlUpdateResponse] } yield ListNodeCommentsDeleteResponseADM(iri, !isRootNode) @@ -2137,7 +2164,7 @@ class ListsResponderADM(responderData: ResponderData) extends Responder(responde ) //_ = log.debug("projectByIriExists - query: {}", askString) - askResponse <- (storeManager ? SparqlAskRequest(askString)).mapTo[SparqlAskResponse] + askResponse <- appActor.ask(SparqlAskRequest(askString)).mapTo[SparqlAskResponse] result = askResponse.result } yield result @@ -2156,7 +2183,7 @@ class ListsResponderADM(responderData: ResponderData) extends Responder(responde ) // _ = log.debug("rootNodeByIriExists - query: {}", askString) - askResponse <- (storeManager ? SparqlAskRequest(askString)).mapTo[SparqlAskResponse] + askResponse <- appActor.ask(SparqlAskRequest(askString)).mapTo[SparqlAskResponse] result = askResponse.result } yield result @@ -2174,7 +2201,7 @@ class ListsResponderADM(responderData: ResponderData) extends Responder(responde ) // _ = log.debug("rootNodeByIriExists - query: {}", askString) - askResponse <- (storeManager ? SparqlAskRequest(askString)).mapTo[SparqlAskResponse] + askResponse <- appActor.ask(SparqlAskRequest(askString)).mapTo[SparqlAskResponse] result = askResponse.result } yield result @@ -2201,7 +2228,7 @@ class ListsResponderADM(responderData: ResponderData) extends Responder(responde ) //_ = log.debug("listNodeNameIsProjectUnique - query: {}", askString) - askResponse <- (storeManager ? SparqlAskRequest(askString)).mapTo[SparqlAskResponse] + askResponse <- appActor.ask(SparqlAskRequest(askString)).mapTo[SparqlAskResponse] result = askResponse.result } yield !result @@ -2328,7 +2355,8 @@ class ListsResponderADM(responderData: ResponderData) extends Responder(responde .toString() ) - isNodeUsedResponse: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(isNodeUsedSparql)) + isNodeUsedResponse: SparqlSelectResult <- appActor + .ask(SparqlSelectRequest(isNodeUsedSparql)) .mapTo[SparqlSelectResult] _ = if (isNodeUsedResponse.results.bindings.nonEmpty) { @@ -2346,13 +2374,17 @@ class ListsResponderADM(responderData: ResponderData) extends Responder(responde protected def getDataNamedGraph(projectIri: IRI, featureFactoryConfig: FeatureFactoryConfig): Future[IRI] = for { /* Get the project information */ - maybeProject <- (responderManager ? ProjectGetADM( - ProjectIdentifierADM( - maybeIri = Some(projectIri) - ), - featureFactoryConfig = featureFactoryConfig, - KnoraSystemInstances.Users.SystemUser - )).mapTo[Option[ProjectADM]] + maybeProject <- appActor + .ask( + ProjectGetADM( + ProjectIdentifierADM( + maybeIri = Some(projectIri) + ), + featureFactoryConfig = featureFactoryConfig, + KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[Option[ProjectADM]] project: ProjectADM = maybeProject match { case Some(project: ProjectADM) => project @@ -2381,10 +2413,14 @@ class ListsResponderADM(responderData: ResponderData) extends Responder(responde .toString ) - parentNodeResponse <- (storeManager ? SparqlExtendedConstructRequest( - sparql = getParentNodeSparqlString, - featureFactoryConfig = featureFactoryConfig - )).mapTo[SparqlExtendedConstructResponse] + parentNodeResponse <- appActor + .ask( + SparqlExtendedConstructRequest( + sparql = getParentNodeSparqlString, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[SparqlExtendedConstructResponse] parentStatements = parentNodeResponse.statements.headOption.getOrElse( throw BadRequestException(s"The parent node for $nodeIri not found, report this as a bug.") @@ -2416,7 +2452,7 @@ class ListsResponderADM(responderData: ResponderData) extends Responder(responde ) // Do the update. - _ <- (storeManager ? SparqlUpdateRequest(sparqlDeleteNode)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(sparqlDeleteNode)).mapTo[SparqlUpdateResponse] // Verify that the node was deleted correctly. nodeStillExists: Boolean <- nodeByIriExists(nodeIri) @@ -2454,7 +2490,7 @@ class ListsResponderADM(responderData: ResponderData) extends Responder(responde .toString() ) - _ <- (storeManager ? SparqlUpdateRequest(sparqlUpdateNodePosition)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(sparqlUpdateNodePosition)).mapTo[SparqlUpdateResponse] /* Verify that the node info was updated */ maybeNode <- listNodeGetADM( @@ -2551,7 +2587,7 @@ class ListsResponderADM(responderData: ResponderData) extends Responder(responde .toString() ) - _ <- (storeManager ? SparqlUpdateRequest(sparqlChangeParentNode)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(sparqlChangeParentNode)).mapTo[SparqlUpdateResponse] /* verify that parents were updated */ // get old parent node with its immediate children diff --git a/webapi/src/main/scala/org/knora/webapi/responders/admin/PermissionsResponderADM.scala b/webapi/src/main/scala/org/knora/webapi/responders/admin/PermissionsResponderADM.scala index d01c87e242..1e5d2f3fcd 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/admin/PermissionsResponderADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/admin/PermissionsResponderADM.scala @@ -218,11 +218,15 @@ class PermissionsResponderADM(responderData: ResponderData) extends Responder(re val groupFutures: Seq[Future[(IRI, IRI)]] = if (groupIris.nonEmpty) { groupIris.map { groupIri => for { - maybeGroup <- (responderManager ? GroupGetADM( - groupIri = groupIri, - featureFactoryConfig = featureFactoryConfig, - requestingUser = KnoraSystemInstances.Users.SystemUser - )).mapTo[Option[GroupADM]] + maybeGroup <- appActor + .ask( + GroupGetADM( + groupIri = groupIri, + featureFactoryConfig = featureFactoryConfig, + requestingUser = KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[Option[GroupADM]] group = maybeGroup.getOrElse( throw InconsistentRepositoryDataException( @@ -494,7 +498,7 @@ class PermissionsResponderADM(responderData: ResponderData) extends Responder(re ) //_ = log.debug(s"administrativePermissionsForProjectGetRequestADM - query: $sparqlQueryString") - permissionsQueryResponse <- (storeManager ? SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] + permissionsQueryResponse <- appActor.ask(SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] //_ = log.debug(s"getProjectAdministrativePermissionsV1 - result: ${MessageUtil.toSource(permissionsQueryResponse)}") /* extract response rows */ @@ -588,7 +592,7 @@ class PermissionsResponderADM(responderData: ResponderData) extends Responder(re ) //_ = log.debug(s"administrativePermissionForProjectGroupGetADM - query: $sparqlQueryString") - permissionQueryResponse <- (storeManager ? SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] + permissionQueryResponse <- appActor.ask(SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] //_ = log.debug(s"administrativePermissionForProjectGroupGetADM - result: ${MessageUtil.toSource(permissionQueryResponse)}") permissionQueryResponseRows: Seq[VariableResultsRow] = permissionQueryResponse.results.bindings @@ -701,12 +705,16 @@ class PermissionsResponderADM(responderData: ResponderData) extends Responder(re } // get project - maybeProject: Option[ProjectADM] <- (responderManager ? ProjectGetADM( - identifier = - ProjectIdentifierADM(maybeIri = Some(createRequest.forProject)), - featureFactoryConfig = featureFactoryConfig, - requestingUser = KnoraSystemInstances.Users.SystemUser - )).mapTo[Option[ProjectADM]] + maybeProject: Option[ProjectADM] <- appActor + .ask( + ProjectGetADM( + identifier = + ProjectIdentifierADM(maybeIri = Some(createRequest.forProject)), + featureFactoryConfig = featureFactoryConfig, + requestingUser = KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[Option[ProjectADM]] // if it doesnt exist then throw an error project: ProjectADM = @@ -720,11 +728,15 @@ class PermissionsResponderADM(responderData: ResponderData) extends Responder(re Future.successful(createRequest.forGroup) } else { for { - maybeGroup <- (responderManager ? GroupGetADM( - groupIri = createRequest.forGroup, - featureFactoryConfig = featureFactoryConfig, - requestingUser = KnoraSystemInstances.Users.SystemUser - )).mapTo[Option[GroupADM]] + maybeGroup <- appActor + .ask( + GroupGetADM( + groupIri = createRequest.forGroup, + featureFactoryConfig = featureFactoryConfig, + requestingUser = KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[Option[GroupADM]] // if it does not exist then throw an error group: GroupADM = @@ -759,7 +771,8 @@ class PermissionsResponderADM(responderData: ResponderData) extends Responder(re // _ = log.debug("projectCreateRequestADM - create query: {}", createNewProjectSparqlString) - _ <- (storeManager ? SparqlUpdateRequest(createAdministrativePermissionSparqlString)) + _ <- appActor + .ask(SparqlUpdateRequest(createAdministrativePermissionSparqlString)) .mapTo[SparqlUpdateResponse] // try to retrieve the newly created permission @@ -817,7 +830,7 @@ class PermissionsResponderADM(responderData: ResponderData) extends Responder(re ) //_ = log.debug(s"objectAccessPermissionsForResourceGetV1 - query: $sparqlQueryString") - permissionQueryResponse <- (storeManager ? SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] + permissionQueryResponse <- appActor.ask(SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] //_ = log.debug(s"objectAccessPermissionsForResourceGetV1 - result: ${MessageUtil.toSource(permissionQueryResponse)}") permissionQueryResponseRows: Seq[VariableResultsRow] = permissionQueryResponse.results.bindings @@ -875,7 +888,7 @@ class PermissionsResponderADM(responderData: ResponderData) extends Responder(re ) //_ = log.debug(s"objectAccessPermissionsForValueGetV1 - query: $sparqlQueryString") - permissionQueryResponse <- (storeManager ? SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] + permissionQueryResponse <- appActor.ask(SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] //_ = log.debug(s"objectAccessPermissionsForValueGetV1 - result: ${MessageUtil.toSource(permissionQueryResponse)}") permissionQueryResponseRows: Seq[VariableResultsRow] = permissionQueryResponse.results.bindings @@ -928,7 +941,7 @@ class PermissionsResponderADM(responderData: ResponderData) extends Responder(re ) //_ = log.debug(s"defaultObjectAccessPermissionsForProjectGetRequestADM - query: $sparqlQueryString") - permissionsQueryResponse <- (storeManager ? SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] + permissionsQueryResponse <- appActor.ask(SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] //_ = log.debug(s"defaultObjectAccessPermissionsForProjectGetRequestADM - result: ${MessageUtil.toSource(permissionsQueryResponse)}") /* extract response rows */ @@ -1054,7 +1067,7 @@ class PermissionsResponderADM(responderData: ResponderData) extends Responder(re // _ = logger.debug(s"defaultObjectAccessPermissionGetADM - query: $sparqlQueryString") - permissionQueryResponse <- (storeManager ? SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] + permissionQueryResponse <- appActor.ask(SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] // _ = log.debug(s"defaultObjectAccessPermissionGetADM - result: ${MessageUtil.toSource(permissionQueryResponse)}") permissionQueryResponseRows: Seq[VariableResultsRow] = permissionQueryResponse.results.bindings @@ -1632,12 +1645,16 @@ class PermissionsResponderADM(responderData: ResponderData) extends Responder(re } // get project - maybeProject: Option[ProjectADM] <- (responderManager ? ProjectGetADM( - identifier = - ProjectIdentifierADM(maybeIri = Some(createRequest.forProject)), - featureFactoryConfig = featureFactoryConfig, - requestingUser = KnoraSystemInstances.Users.SystemUser - )).mapTo[Option[ProjectADM]] + maybeProject: Option[ProjectADM] <- appActor + .ask( + ProjectGetADM( + identifier = + ProjectIdentifierADM(maybeIri = Some(createRequest.forProject)), + featureFactoryConfig = featureFactoryConfig, + requestingUser = KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[Option[ProjectADM]] // if it doesnt exist then throw an error project: ProjectADM = @@ -1656,11 +1673,15 @@ class PermissionsResponderADM(responderData: ResponderData) extends Responder(re if (createRequest.forGroup.exists(!OntologyConstants.KnoraAdmin.BuiltInGroups.contains(_))) { // Yes. Check if it is a known group. for { - maybeGroup <- (responderManager ? GroupGetADM( - groupIri = createRequest.forGroup.get, - featureFactoryConfig = featureFactoryConfig, - requestingUser = KnoraSystemInstances.Users.SystemUser - )).mapTo[Option[GroupADM]] + maybeGroup <- appActor + .ask( + GroupGetADM( + groupIri = createRequest.forGroup.get, + featureFactoryConfig = featureFactoryConfig, + requestingUser = KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[Option[GroupADM]] group: GroupADM = maybeGroup.getOrElse( @@ -1693,7 +1714,8 @@ class PermissionsResponderADM(responderData: ResponderData) extends Responder(re ) .toString - _ <- (storeManager ? SparqlUpdateRequest(createNewDefaultObjectAccessPermissionSparqlString)) + _ <- appActor + .ask(SparqlUpdateRequest(createNewDefaultObjectAccessPermissionSparqlString)) .mapTo[SparqlUpdateResponse] // try to retrieve the newly created permission @@ -1749,10 +1771,14 @@ class PermissionsResponderADM(responderData: ResponderData) extends Responder(re .toString() ) - permissionsQueryResponse <- (storeManager ? SparqlConstructRequest( - sparql = sparqlQueryString, - featureFactoryConfig = featureFactoryConfig - )).mapTo[SparqlConstructResponse] + permissionsQueryResponse <- appActor + .ask( + SparqlConstructRequest( + sparql = sparqlQueryString, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[SparqlConstructResponse] /* extract response statements */ permissionsQueryResponseStatements: Map[IRI, Seq[(IRI, String)]] = permissionsQueryResponse.statements @@ -2228,7 +2254,7 @@ class PermissionsResponderADM(responderData: ResponderData) extends Responder(re ) .toString() ) - permissionQueryResponse <- (storeManager ? SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] + permissionQueryResponse <- appActor.ask(SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] /* extract response rows */ permissionQueryResponseRows: Seq[VariableResultsRow] = permissionQueryResponse.results.bindings @@ -2338,7 +2364,7 @@ class PermissionsResponderADM(responderData: ResponderData) extends Responder(re .toString() ) - _ <- (storeManager ? SparqlUpdateRequest(sparqlChangePermission)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(sparqlChangePermission)).mapTo[SparqlUpdateResponse] } yield () /** @@ -2359,13 +2385,13 @@ class PermissionsResponderADM(responderData: ResponderData) extends Responder(re ) // Do the update. - _ <- (storeManager ? SparqlUpdateRequest(sparqlDeletePermission)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(sparqlDeletePermission)).mapTo[SparqlUpdateResponse] // Verify that the permission was deleted correctly. askString <- Future( org.knora.webapi.messages.twirl.queries.sparql.admin.txt.checkIriExists(permissionIri).toString ) - askResponse <- (storeManager ? SparqlAskRequest(askString)).mapTo[SparqlAskResponse] + askResponse <- appActor.ask(SparqlAskRequest(askString)).mapTo[SparqlAskResponse] permissionStillExists: Boolean = askResponse.result _ = if (permissionStillExists) { @@ -2392,7 +2418,8 @@ class PermissionsResponderADM(responderData: ResponderData) extends Responder(re .toString() ) - isPermissionUsedResponse: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(isPermissionUsedSparql)) + isPermissionUsedResponse: SparqlSelectResult <- appActor + .ask(SparqlSelectRequest(isPermissionUsedSparql)) .mapTo[SparqlSelectResult] _ = if (isPermissionUsedResponse.results.bindings.nonEmpty) { @@ -2409,7 +2436,7 @@ class PermissionsResponderADM(responderData: ResponderData) extends Responder(re ) .toString() ) - response <- (storeManager ? SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] + response <- appActor.ask(SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] rows: Seq[VariableResultsRow] = response.results.bindings projectIri = if (rows.size == 0) { diff --git a/webapi/src/main/scala/org/knora/webapi/responders/admin/ProjectsResponderADM.scala b/webapi/src/main/scala/org/knora/webapi/responders/admin/ProjectsResponderADM.scala index 2c84e2716f..4e5168f9cb 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/admin/ProjectsResponderADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/admin/ProjectsResponderADM.scala @@ -122,10 +122,14 @@ class ProjectsResponderADM(responderData: ResponderData) extends Responder(respo ) // _ = log.debug(s"getProjectsResponseV1 - query: $sparqlQueryString") - projectsResponse <- (storeManager ? SparqlExtendedConstructRequest( - sparql = sparqlQueryString, - featureFactoryConfig = featureFactoryConfig - )).mapTo[SparqlExtendedConstructResponse] + projectsResponse <- appActor + .ask( + SparqlExtendedConstructRequest( + sparql = sparqlQueryString, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[SparqlExtendedConstructResponse] // _ = log.debug(s"projectsGetADM - projectsResponse: $projectsResponse") statements: List[(SubjectV2, Map[SmartIri, Seq[LiteralV2]])] = projectsResponse.statements.toList @@ -158,10 +162,14 @@ class ProjectsResponderADM(responderData: ResponderData) extends Responder(respo */ private def getOntologiesForProjects(projectIris: Set[IRI], requestingUser: UserADM): Future[Map[IRI, Seq[IRI]]] = for { - ontologyMetadataResponse: ReadOntologyMetadataV2 <- (responderManager ? OntologyMetadataGetByProjectRequestV2( - projectIris = projectIris.map(_.toSmartIri), - requestingUser = requestingUser - )).mapTo[ReadOntologyMetadataV2] + ontologyMetadataResponse: ReadOntologyMetadataV2 <- appActor + .ask( + OntologyMetadataGetByProjectRequestV2( + projectIris = projectIris.map(_.toSmartIri), + requestingUser = requestingUser + ) + ) + .mapTo[ReadOntologyMetadataV2] } yield ontologyMetadataResponse.ontologies.map { ontology => val ontologyIri: IRI = ontology.ontologyIri.toString val projectIri: IRI = ontology.projectIri @@ -248,7 +256,7 @@ class ProjectsResponderADM(responderData: ResponderData) extends Responder(respo log.debug("getSingleProjectADM - could not retrieve project: {}", identifier.value) } - _ = storeManager ? CacheServiceFlushDB(KnoraSystemInstances.Users.SystemUser) + _ = appActor.ask(CacheServiceFlushDB(KnoraSystemInstances.Users.SystemUser)) } yield maybeProjectADM } @@ -332,10 +340,14 @@ class ProjectsResponderADM(responderData: ResponderData) extends Responder(respo ) //_ = log.debug(s"projectMembersGetRequestADM - query: $sparqlQueryString") - projectMembersResponse <- (storeManager ? SparqlExtendedConstructRequest( - sparql = sparqlQueryString, - featureFactoryConfig = featureFactoryConfig - )).mapTo[SparqlExtendedConstructResponse] + projectMembersResponse <- appActor + .ask( + SparqlExtendedConstructRequest( + sparql = sparqlQueryString, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[SparqlExtendedConstructResponse] statements = projectMembersResponse.statements.toList @@ -350,12 +362,17 @@ class ProjectsResponderADM(responderData: ResponderData) extends Responder(respo } maybeUserFutures: Seq[Future[Option[UserADM]]] = userIris.map { userIri => - (responderManager ? UserGetADM( - identifier = UserIdentifierADM(maybeIri = Some(userIri)), - userInformationTypeADM = UserInformationTypeADM.Restricted, - featureFactoryConfig = featureFactoryConfig, - requestingUser = KnoraSystemInstances.Users.SystemUser - )).mapTo[Option[UserADM]] + appActor + .ask( + UserGetADM( + identifier = UserIdentifierADM(maybeIri = Some(userIri)), + userInformationTypeADM = + UserInformationTypeADM.Restricted, + featureFactoryConfig = featureFactoryConfig, + requestingUser = KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[Option[UserADM]] } maybeUsers: Seq[Option[UserADM]] <- Future.sequence(maybeUserFutures) users: Seq[UserADM] = maybeUsers.flatten @@ -407,10 +424,14 @@ class ProjectsResponderADM(responderData: ResponderData) extends Responder(respo ) //_ = log.debug(s"projectAdminMembersByIRIGetRequestV1 - query: $sparqlQueryString") - projectAdminMembersResponse <- (storeManager ? SparqlExtendedConstructRequest( - sparql = sparqlQueryString, - featureFactoryConfig = featureFactoryConfig - )).mapTo[SparqlExtendedConstructResponse] + projectAdminMembersResponse <- appActor + .ask( + SparqlExtendedConstructRequest( + sparql = sparqlQueryString, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[SparqlExtendedConstructResponse] //_ = log.debug(s"projectAdminMembersByIRIGetRequestV1 - result: ${MessageUtil.toSource(projectMembersResponse)}") statements = projectAdminMembersResponse.statements.toList @@ -424,12 +445,17 @@ class ProjectsResponderADM(responderData: ResponderData) extends Responder(respo } maybeUserFutures: Seq[Future[Option[UserADM]]] = userIris.map { userIri => - (responderManager ? UserGetADM( - identifier = UserIdentifierADM(maybeIri = Some(userIri)), - userInformationTypeADM = UserInformationTypeADM.Restricted, - featureFactoryConfig = featureFactoryConfig, - requestingUser = KnoraSystemInstances.Users.SystemUser - )).mapTo[Option[UserADM]] + appActor + .ask( + UserGetADM( + identifier = UserIdentifierADM(maybeIri = Some(userIri)), + userInformationTypeADM = + UserInformationTypeADM.Restricted, + featureFactoryConfig = featureFactoryConfig, + requestingUser = KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[Option[UserADM]] } maybeUsers: Seq[Option[UserADM]] <- Future.sequence(maybeUserFutures) users: Seq[UserADM] = maybeUsers.flatten @@ -616,15 +642,17 @@ class ProjectsResponderADM(responderData: ResponderData) extends Responder(respo projectSpecificNamedGraphTrigFileWriteFutures: Seq[Future[FileWrittenResponse]] = projectSpecificNamedGraphTrigFiles.map { trigFile => for { - fileWrittenResponse: FileWrittenResponse <- ( - storeManager ? - NamedGraphFileRequest( - graphIri = trigFile.graphIri, - outputFile = trigFile.dataFile, - outputFormat = TriG, - featureFactoryConfig = featureFactoryConfig - ) - ).mapTo[FileWrittenResponse] + fileWrittenResponse: FileWrittenResponse <- + appActor + .ask( + NamedGraphFileRequest( + graphIri = trigFile.graphIri, + outputFile = trigFile.dataFile, + outputFormat = TriG, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[FileWrittenResponse] } yield fileWrittenResponse } @@ -640,13 +668,17 @@ class ProjectsResponderADM(responderData: ResponderData) extends Responder(respo ) .toString() - _: FileWrittenResponse <- (storeManager ? SparqlConstructFileRequest( - sparql = adminDataSparql, - graphIri = adminDataNamedGraphTrigFile.graphIri, - outputFile = adminDataNamedGraphTrigFile.dataFile, - outputFormat = TriG, - featureFactoryConfig = featureFactoryConfig - )).mapTo[FileWrittenResponse] + _: FileWrittenResponse <- appActor + .ask( + SparqlConstructFileRequest( + sparql = adminDataSparql, + graphIri = adminDataNamedGraphTrigFile.graphIri, + outputFile = adminDataNamedGraphTrigFile.dataFile, + outputFormat = TriG, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[FileWrittenResponse] // Download the project's permission data. @@ -658,13 +690,17 @@ class ProjectsResponderADM(responderData: ResponderData) extends Responder(respo ) .toString() - _: FileWrittenResponse <- (storeManager ? SparqlConstructFileRequest( - sparql = permissionDataSparql, - graphIri = permissionDataNamedGraphTrigFile.graphIri, - outputFile = permissionDataNamedGraphTrigFile.dataFile, - outputFormat = TriG, - featureFactoryConfig = featureFactoryConfig - )).mapTo[FileWrittenResponse] + _: FileWrittenResponse <- appActor + .ask( + SparqlConstructFileRequest( + sparql = permissionDataSparql, + graphIri = permissionDataNamedGraphTrigFile.graphIri, + outputFile = permissionDataNamedGraphTrigFile.dataFile, + outputFormat = TriG, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[FileWrittenResponse] // Stream the combined results into the output file. @@ -701,10 +737,14 @@ class ProjectsResponderADM(responderData: ResponderData) extends Responder(respo .toString() ) - projectResponse <- (storeManager ? SparqlExtendedConstructRequest( - sparql = sparqlQuery, - featureFactoryConfig = featureFactoryConfig - )).mapTo[SparqlExtendedConstructResponse] + projectResponse <- appActor + .ask( + SparqlExtendedConstructRequest( + sparql = sparqlQuery, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[SparqlExtendedConstructResponse] restrictedViewSettings = if (projectResponse.statements.nonEmpty) { @@ -879,7 +919,7 @@ class ProjectsResponderADM(responderData: ResponderData) extends Responder(respo throw NotFoundException(s"Project '$projectIri' not found. Aborting update request.") } // we are changing the project, so lets get rid of the cached copy - _ = storeManager ? CacheServiceFlushDB(KnoraSystemInstances.Users.SystemUser) + _ = appActor.ask(CacheServiceFlushDB(KnoraSystemInstances.Users.SystemUser)) /* Update project */ updateProjectSparqlString <- Future( @@ -900,7 +940,8 @@ class ProjectsResponderADM(responderData: ResponderData) extends Responder(respo // _ = log.debug(s"updateProjectADM - update query: {}", updateProjectSparqlString) - _ <- (storeManager ? SparqlUpdateRequest(updateProjectSparqlString)) + _ <- appActor + .ask(SparqlUpdateRequest(updateProjectSparqlString)) .mapTo[SparqlUpdateResponse] /* Verify that the project was updated. */ @@ -1011,61 +1052,77 @@ class ProjectsResponderADM(responderData: ResponderData) extends Responder(respo def createPermissionsForAdminsAndMembersOfNewProject(projectIri: IRI, projectShortCode: String): Future[Unit] = for { // Give the admins of the new project rights for any operation in project level, and rights to create resources. - _ <- (responderManager ? AdministrativePermissionCreateRequestADM( - createRequest = CreateAdministrativePermissionAPIRequestADM( - forProject = projectIri, - forGroup = OntologyConstants.KnoraAdmin.ProjectAdmin, - hasPermissions = - Set(PermissionADM.ProjectAdminAllPermission, PermissionADM.ProjectResourceCreateAllPermission) - ).prepareHasPermissions, - featureFactoryConfig = featureFactoryConfig, - requestingUser = requestingUser, - apiRequestID = UUID.randomUUID() - )).mapTo[AdministrativePermissionCreateResponseADM] + _ <- appActor + .ask( + AdministrativePermissionCreateRequestADM( + createRequest = CreateAdministrativePermissionAPIRequestADM( + forProject = projectIri, + forGroup = OntologyConstants.KnoraAdmin.ProjectAdmin, + hasPermissions = + Set(PermissionADM.ProjectAdminAllPermission, PermissionADM.ProjectResourceCreateAllPermission) + ).prepareHasPermissions, + featureFactoryConfig = featureFactoryConfig, + requestingUser = requestingUser, + apiRequestID = UUID.randomUUID() + ) + ) + .mapTo[AdministrativePermissionCreateResponseADM] // Give the members of the new project rights to create resources. - _ <- (responderManager ? AdministrativePermissionCreateRequestADM( - createRequest = CreateAdministrativePermissionAPIRequestADM( - forProject = projectIri, - forGroup = OntologyConstants.KnoraAdmin.ProjectMember, - hasPermissions = Set(PermissionADM.ProjectResourceCreateAllPermission) - ).prepareHasPermissions, - featureFactoryConfig = featureFactoryConfig, - requestingUser = requestingUser, - apiRequestID = UUID.randomUUID() - )).mapTo[AdministrativePermissionCreateResponseADM] + _ <- appActor + .ask( + AdministrativePermissionCreateRequestADM( + createRequest = CreateAdministrativePermissionAPIRequestADM( + forProject = projectIri, + forGroup = OntologyConstants.KnoraAdmin.ProjectMember, + hasPermissions = Set(PermissionADM.ProjectResourceCreateAllPermission) + ).prepareHasPermissions, + featureFactoryConfig = featureFactoryConfig, + requestingUser = requestingUser, + apiRequestID = UUID.randomUUID() + ) + ) + .mapTo[AdministrativePermissionCreateResponseADM] // Give the admins of the new project rights to change rights, modify, delete, view, // and restricted view of all resources and values that belong to the project. - _ <- (responderManager ? DefaultObjectAccessPermissionCreateRequestADM( - createRequest = CreateDefaultObjectAccessPermissionAPIRequestADM( - forProject = projectIri, - forGroup = Some(OntologyConstants.KnoraAdmin.ProjectAdmin), - hasPermissions = Set( - PermissionADM.changeRightsPermission(OntologyConstants.KnoraAdmin.ProjectAdmin), - PermissionADM.modifyPermission(OntologyConstants.KnoraAdmin.ProjectMember) + _ <- appActor + .ask( + DefaultObjectAccessPermissionCreateRequestADM( + createRequest = CreateDefaultObjectAccessPermissionAPIRequestADM( + forProject = projectIri, + forGroup = Some(OntologyConstants.KnoraAdmin.ProjectAdmin), + hasPermissions = Set( + PermissionADM.changeRightsPermission(OntologyConstants.KnoraAdmin.ProjectAdmin), + PermissionADM.modifyPermission(OntologyConstants.KnoraAdmin.ProjectMember) + ) + ).prepareHasPermissions, + featureFactoryConfig = featureFactoryConfig, + requestingUser = requestingUser, + apiRequestID = UUID.randomUUID() ) - ).prepareHasPermissions, - featureFactoryConfig = featureFactoryConfig, - requestingUser = requestingUser, - apiRequestID = UUID.randomUUID() - )).mapTo[DefaultObjectAccessPermissionCreateResponseADM] + ) + .mapTo[DefaultObjectAccessPermissionCreateResponseADM] // Give the members of the new project rights to modify, view, and restricted view of all resources and values // that belong to the project. - _ <- (responderManager ? DefaultObjectAccessPermissionCreateRequestADM( - createRequest = CreateDefaultObjectAccessPermissionAPIRequestADM( - forProject = projectIri, - forGroup = Some(OntologyConstants.KnoraAdmin.ProjectMember), - hasPermissions = Set( - PermissionADM.changeRightsPermission(OntologyConstants.KnoraAdmin.ProjectAdmin), - PermissionADM.modifyPermission(OntologyConstants.KnoraAdmin.ProjectMember) + _ <- appActor + .ask( + DefaultObjectAccessPermissionCreateRequestADM( + createRequest = CreateDefaultObjectAccessPermissionAPIRequestADM( + forProject = projectIri, + forGroup = Some(OntologyConstants.KnoraAdmin.ProjectMember), + hasPermissions = Set( + PermissionADM.changeRightsPermission(OntologyConstants.KnoraAdmin.ProjectAdmin), + PermissionADM.modifyPermission(OntologyConstants.KnoraAdmin.ProjectMember) + ) + ).prepareHasPermissions, + featureFactoryConfig = featureFactoryConfig, + requestingUser = requestingUser, + apiRequestID = UUID.randomUUID() ) - ).prepareHasPermissions, - featureFactoryConfig = featureFactoryConfig, - requestingUser = requestingUser, - apiRequestID = UUID.randomUUID() - )).mapTo[DefaultObjectAccessPermissionCreateResponseADM] + ) + .mapTo[DefaultObjectAccessPermissionCreateResponseADM] } yield () def projectCreateTask( @@ -1133,7 +1190,8 @@ class ProjectsResponderADM(responderData: ResponderData) extends Responder(respo ) .toString - _ <- (storeManager ? SparqlUpdateRequest(createNewProjectSparqlString)) + _ <- appActor + .ask(SparqlUpdateRequest(createNewProjectSparqlString)) .mapTo[SparqlUpdateResponse] // try to retrieve newly created project (will also add to cache) @@ -1228,10 +1286,14 @@ class ProjectsResponderADM(responderData: ResponderData) extends Responder(respo .toString() ) - projectResponse <- (storeManager ? SparqlExtendedConstructRequest( - sparql = sparqlQuery, - featureFactoryConfig = featureFactoryConfig - )).mapTo[SparqlExtendedConstructResponse] + projectResponse <- appActor + .ask( + SparqlExtendedConstructRequest( + sparql = sparqlQuery, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[SparqlExtendedConstructResponse] projectIris = projectResponse.statements.keySet.map(_.toString) @@ -1363,7 +1425,7 @@ class ProjectsResponderADM(responderData: ResponderData) extends Responder(respo ) //_ = log.debug("projectExists - query: {}", askString) - checkProjectExistsResponse <- (storeManager ? SparqlAskRequest(askString)).mapTo[SparqlAskResponse] + checkProjectExistsResponse <- appActor.ask(SparqlAskRequest(askString)).mapTo[SparqlAskResponse] result = checkProjectExistsResponse.result } yield result @@ -1383,7 +1445,7 @@ class ProjectsResponderADM(responderData: ResponderData) extends Responder(respo ) //_ = log.debug("projectExists - query: {}", askString) - checkProjectExistsResponse <- (storeManager ? SparqlAskRequest(askString)).mapTo[SparqlAskResponse] + checkProjectExistsResponse <- appActor.ask(SparqlAskRequest(askString)).mapTo[SparqlAskResponse] result = checkProjectExistsResponse.result } yield result @@ -1403,7 +1465,7 @@ class ProjectsResponderADM(responderData: ResponderData) extends Responder(respo ) //_ = log.debug("projectExists - query: {}", askString) - checkProjectExistsResponse <- (storeManager ? SparqlAskRequest(askString)).mapTo[SparqlAskResponse] + checkProjectExistsResponse <- appActor.ask(SparqlAskRequest(askString)).mapTo[SparqlAskResponse] result = checkProjectExistsResponse.result } yield result @@ -1412,7 +1474,7 @@ class ProjectsResponderADM(responderData: ResponderData) extends Responder(respo * Tries to retrieve a [[ProjectADM]] from the cache. */ private def getProjectFromCache(identifier: ProjectIdentifierADM): Future[Option[ProjectADM]] = { - val result = (storeManager ? CacheServiceGetProjectADM(identifier)).mapTo[Option[ProjectADM]] + val result = appActor.ask(CacheServiceGetProjectADM(identifier)).mapTo[Option[ProjectADM]] result.map { case Some(project) => log.debug("getProjectFromCache - cache hit for: {}", identifier) @@ -1430,7 +1492,7 @@ class ProjectsResponderADM(responderData: ResponderData) extends Responder(respo * @return true if writing was successful. */ private def writeProjectADMToCache(project: ProjectADM): Future[Unit] = { - val result = (storeManager ? CacheServicePutProjectADM(project)).mapTo[Unit] + val result = appActor.ask(CacheServicePutProjectADM(project)).mapTo[Unit] result.map { res => log.debug("writeProjectADMToCache - result: {}", result) res diff --git a/webapi/src/main/scala/org/knora/webapi/responders/admin/SipiResponderADM.scala b/webapi/src/main/scala/org/knora/webapi/responders/admin/SipiResponderADM.scala index 81edbc333e..673ff7998e 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/admin/SipiResponderADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/admin/SipiResponderADM.scala @@ -69,10 +69,14 @@ class SipiResponderADM(responderData: ResponderData) extends Responder(responder .toString() ) - queryResponse: SparqlExtendedConstructResponse <- (storeManager ? SparqlExtendedConstructRequest( - sparql = sparqlQuery, - featureFactoryConfig = request.featureFactoryConfig - )).mapTo[SparqlExtendedConstructResponse] + queryResponse: SparqlExtendedConstructResponse <- appActor + .ask( + SparqlExtendedConstructRequest( + sparql = sparqlQuery, + featureFactoryConfig = request.featureFactoryConfig + ) + ) + .mapTo[SparqlExtendedConstructResponse] _ = if (queryResponse.statements.isEmpty) throw NotFoundException(s"No file value was found for filename ${request.filename}") @@ -114,14 +118,16 @@ class SipiResponderADM(responderData: ResponderData) extends Responder(responder response <- permissionCode match { case 1 => for { - maybeRVSettings <- ( - responderManager ? ProjectRestrictedViewSettingsGetADM( - identifier = - ProjectIdentifierADM(maybeShortcode = Some(request.projectID)), - featureFactoryConfig = request.featureFactoryConfig, - requestingUser = KnoraSystemInstances.Users.SystemUser + maybeRVSettings <- appActor + .ask( + ProjectRestrictedViewSettingsGetADM( + identifier = + ProjectIdentifierADM(maybeShortcode = Some(request.projectID)), + featureFactoryConfig = request.featureFactoryConfig, + requestingUser = KnoraSystemInstances.Users.SystemUser + ) ) - ).mapTo[Option[ProjectRestrictedViewSettingsADM]] + .mapTo[Option[ProjectRestrictedViewSettingsADM]] } yield SipiFileInfoGetResponseADM(permissionCode = permissionCode, maybeRVSettings) case _ => diff --git a/webapi/src/main/scala/org/knora/webapi/responders/admin/StoresResponderADM.scala b/webapi/src/main/scala/org/knora/webapi/responders/admin/StoresResponderADM.scala index 6bd0c260bf..8200224f4c 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/admin/StoresResponderADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/admin/StoresResponderADM.scala @@ -71,17 +71,22 @@ class StoresResponderADM(responderData: ResponderData) extends Responder(respond ) } - resetResponse <- (storeManager ? ResetRepositoryContent(rdfDataObjects, prependDefaults)) + resetResponse <- appActor + .ask(ResetRepositoryContent(rdfDataObjects, prependDefaults)) .mapTo[ResetRepositoryContentACK] _ = log.debug(s"resetTriplestoreContent - triplestore reset done - {}", resetResponse.toString) - loadOntologiesResponse <- (responderManager ? LoadOntologiesRequestV2( - featureFactoryConfig = featureFactoryConfig, - requestingUser = systemUser - )).mapTo[SuccessResponseV2] + loadOntologiesResponse <- appActor + .ask( + LoadOntologiesRequestV2( + featureFactoryConfig = featureFactoryConfig, + requestingUser = systemUser + ) + ) + .mapTo[SuccessResponseV2] _ = log.debug(s"resetTriplestoreContent - load ontology done - {}", loadOntologiesResponse.toString) - _ <- (storeManager ? CacheServiceFlushDB(systemUser)) + _ <- appActor.ask(CacheServiceFlushDB(systemUser)) _ = log.debug(s"resetTriplestoreContent - flushing Redis store done.") result = ResetTriplestoreContentResponseADM(message = "success") diff --git a/webapi/src/main/scala/org/knora/webapi/responders/admin/UsersResponderADM.scala b/webapi/src/main/scala/org/knora/webapi/responders/admin/UsersResponderADM.scala index 1ce2c6f670..587837e20b 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/admin/UsersResponderADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/admin/UsersResponderADM.scala @@ -179,10 +179,14 @@ class UsersResponderADM(responderData: ResponderData) extends Responder(responde .toString() ) - usersResponse <- (storeManager ? SparqlExtendedConstructRequest( - sparql = sparqlQueryString, - featureFactoryConfig = featureFactoryConfig - )).mapTo[SparqlExtendedConstructResponse] + usersResponse <- appActor + .ask( + SparqlExtendedConstructRequest( + sparql = sparqlQueryString, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[SparqlExtendedConstructResponse] statements = usersResponse.statements.toList @@ -912,7 +916,7 @@ class UsersResponderADM(responderData: ResponderData) extends Responder(responde .toString() ) - userDataQueryResponse <- (storeManager ? SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] + userDataQueryResponse <- appActor.ask(SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] groupedUserData: Map[String, Seq[String]] = userDataQueryResponse.results.bindings.groupBy(_.rowMap("p")).map { case (predicate, rows) => predicate -> rows.map(_.rowMap("o")) @@ -925,12 +929,18 @@ class UsersResponderADM(responderData: ResponderData) extends Responder(responde } maybeProjectFutures: Seq[Future[Option[ProjectADM]]] = projectIris.map { projectIri => - (responderManager ? ProjectGetADM( - identifier = - ProjectIdentifierADM(maybeIri = Some(projectIri)), - featureFactoryConfig = featureFactoryConfig, - requestingUser = KnoraSystemInstances.Users.SystemUser - )).mapTo[Option[ProjectADM]] + appActor + .ask( + ProjectGetADM( + identifier = ProjectIdentifierADM(maybeIri = + Some(projectIri) + ), + featureFactoryConfig = featureFactoryConfig, + requestingUser = + KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[Option[ProjectADM]] } maybeProjects: Seq[Option[ProjectADM]] <- Future.sequence(maybeProjectFutures) projects: Seq[ProjectADM] = maybeProjects.flatten @@ -1246,11 +1256,15 @@ class UsersResponderADM(responderData: ResponderData) extends Responder(responde _ = if (!groupExists) throw NotFoundException(s"The group $groupIri does not exist.") // get group's info. we need the project IRI. - maybeGroupADM <- (responderManager ? GroupGetADM( - groupIri = groupIri, - featureFactoryConfig = featureFactoryConfig, - requestingUser = KnoraSystemInstances.Users.SystemUser - )).mapTo[Option[GroupADM]] + maybeGroupADM <- appActor + .ask( + GroupGetADM( + groupIri = groupIri, + featureFactoryConfig = featureFactoryConfig, + requestingUser = KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[Option[GroupADM]] projectIri = maybeGroupADM .getOrElse(throw InconsistentRepositoryDataException(s"Group $groupIri does not exist")) @@ -1325,11 +1339,15 @@ class UsersResponderADM(responderData: ResponderData) extends Responder(responde _ = if (!projectExists) throw NotFoundException(s"The group $groupIri does not exist.") // get group's info. we need the project IRI. - maybeGroupADM <- (responderManager ? GroupGetADM( - groupIri = groupIri, - featureFactoryConfig = featureFactoryConfig, - requestingUser = KnoraSystemInstances.Users.SystemUser - )).mapTo[Option[GroupADM]] + maybeGroupADM <- appActor + .ask( + GroupGetADM( + groupIri = groupIri, + featureFactoryConfig = featureFactoryConfig, + requestingUser = KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[Option[GroupADM]] projectIri = maybeGroupADM .getOrElse(throw InconsistentRepositoryDataException(s"Group $groupIri does not exist")) @@ -1508,7 +1526,7 @@ class UsersResponderADM(responderData: ResponderData) extends Responder(responde _ <- invalidateCachedUserADM(maybeCurrentUser) // write the updated user to the triplestore - _ <- (storeManager ? SparqlUpdateRequest(updateUserSparqlString)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(updateUserSparqlString)).mapTo[SparqlUpdateResponse] /* Verify that the user was updated */ maybeUpdatedUserADM <- getSingleUserADM( @@ -1649,7 +1667,7 @@ class UsersResponderADM(responderData: ResponderData) extends Responder(responde .toString ) - updateResult <- (storeManager ? SparqlUpdateRequest(updateUserSparqlString)).mapTo[SparqlUpdateResponse] + updateResult <- appActor.ask(SparqlUpdateRequest(updateUserSparqlString)).mapTo[SparqlUpdateResponse] /* Verify that the password was updated. */ maybeUpdatedUserADM <- getSingleUserADM( @@ -1766,7 +1784,8 @@ class UsersResponderADM(responderData: ResponderData) extends Responder(responde _ = log.debug(s"createNewUser: $createNewUserSparqlString") - createNewUserResponse <- (storeManager ? SparqlUpdateRequest(createNewUserSparqlString)) + createNewUserResponse <- appActor + .ask(SparqlUpdateRequest(createNewUserSparqlString)) .mapTo[SparqlUpdateResponse] // try to retrieve newly created user (will also add to cache) @@ -1859,10 +1878,14 @@ class UsersResponderADM(responderData: ResponderData) extends Responder(responde .toString() ) - userQueryResponse <- (storeManager ? SparqlExtendedConstructRequest( - sparql = sparqlQueryString, - featureFactoryConfig = featureFactoryConfig - )).mapTo[SparqlExtendedConstructResponse] + userQueryResponse <- appActor + .ask( + SparqlExtendedConstructRequest( + sparql = sparqlQueryString, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[SparqlExtendedConstructResponse] maybeUserADM: Option[UserADM] <- if (userQueryResponse.statements.nonEmpty) { @@ -1926,21 +1949,30 @@ class UsersResponderADM(responderData: ResponderData) extends Responder(responde for { /* get the user's permission profile from the permissions responder */ - permissionData <- (responderManager ? PermissionDataGetADM( - projectIris = projectIris, - groupIris = groupIris, - isInProjectAdminGroups = isInProjectAdminGroups, - isInSystemAdminGroup = isInSystemAdminGroup, - featureFactoryConfig = featureFactoryConfig, - requestingUser = KnoraSystemInstances.Users.SystemUser - )).mapTo[PermissionsDataADM] + permissionData <- appActor + .ask( + PermissionDataGetADM( + projectIris = projectIris, + groupIris = groupIris, + isInProjectAdminGroups = isInProjectAdminGroups, + isInSystemAdminGroup = isInSystemAdminGroup, + featureFactoryConfig = featureFactoryConfig, + requestingUser = KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[PermissionsDataADM] maybeGroupFutures: Seq[Future[Option[GroupADM]]] = groupIris.map { groupIri => - (responderManager ? GroupGetADM( - groupIri = groupIri, - featureFactoryConfig = featureFactoryConfig, - requestingUser = KnoraSystemInstances.Users.SystemUser - )).mapTo[Option[GroupADM]] + appActor + .ask( + GroupGetADM( + groupIri = groupIri, + featureFactoryConfig = featureFactoryConfig, + requestingUser = + KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[Option[GroupADM]] } maybeGroups: Seq[Option[GroupADM]] <- Future.sequence(maybeGroupFutures) groups: Seq[GroupADM] = maybeGroups.flatten @@ -1948,12 +1980,18 @@ class UsersResponderADM(responderData: ResponderData) extends Responder(responde // _ = log.debug("statements2UserADM - groups: {}", MessageUtil.toSource(groups)) maybeProjectFutures: Seq[Future[Option[ProjectADM]]] = projectIris.map { projectIri => - (responderManager ? ProjectGetADM( - ProjectIdentifierADM(maybeIri = Some(projectIri)), - featureFactoryConfig = featureFactoryConfig, - requestingUser = - KnoraSystemInstances.Users.SystemUser - )).mapTo[Option[ProjectADM]] + appActor + .ask( + ProjectGetADM( + ProjectIdentifierADM(maybeIri = + Some(projectIri) + ), + featureFactoryConfig = featureFactoryConfig, + requestingUser = + KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[Option[ProjectADM]] } maybeProjects: Seq[Option[ProjectADM]] <- Future.sequence(maybeProjectFutures) projects: Seq[ProjectADM] = maybeProjects.flatten @@ -2041,7 +2079,7 @@ class UsersResponderADM(responderData: ResponderData) extends Responder(responde askString <- Future(org.knora.webapi.messages.twirl.queries.sparql.admin.txt.checkUserExists(userIri = userIri).toString) // _ = log.debug("userExists - query: {}", askString) - checkUserExistsResponse <- (storeManager ? SparqlAskRequest(askString)).mapTo[SparqlAskResponse] + checkUserExistsResponse <- appActor.ask(SparqlAskRequest(askString)).mapTo[SparqlAskResponse] } yield checkUserExistsResponse.result /** @@ -2073,7 +2111,7 @@ class UsersResponderADM(responderData: ResponderData) extends Responder(responde ) // _ = log.debug("userExists - query: {}", askString) - checkUserExistsResponse <- (storeManager ? SparqlAskRequest(askString)).mapTo[SparqlAskResponse] + checkUserExistsResponse <- appActor.ask(SparqlAskRequest(askString)).mapTo[SparqlAskResponse] } yield checkUserExistsResponse.result } @@ -2106,7 +2144,7 @@ class UsersResponderADM(responderData: ResponderData) extends Responder(responde ) // _ = log.debug("userExists - query: {}", askString) - checkUserExistsResponse <- (storeManager ? SparqlAskRequest(askString)).mapTo[SparqlAskResponse] + checkUserExistsResponse <- appActor.ask(SparqlAskRequest(askString)).mapTo[SparqlAskResponse] } yield checkUserExistsResponse.result } @@ -2128,7 +2166,7 @@ class UsersResponderADM(responderData: ResponderData) extends Responder(responde ) // _ = log.debug("projectExists - query: {}", askString) - checkUserExistsResponse <- (storeManager ? SparqlAskRequest(askString)).mapTo[SparqlAskResponse] + checkUserExistsResponse <- appActor.ask(SparqlAskRequest(askString)).mapTo[SparqlAskResponse] result = checkUserExistsResponse.result } yield result @@ -2147,7 +2185,7 @@ class UsersResponderADM(responderData: ResponderData) extends Responder(responde ) // _ = log.debug("groupExists - query: {}", askString) - checkUserExistsResponse <- (storeManager ? SparqlAskRequest(askString)).mapTo[SparqlAskResponse] + checkUserExistsResponse <- appActor.ask(SparqlAskRequest(askString)).mapTo[SparqlAskResponse] result = checkUserExistsResponse.result } yield result @@ -2157,7 +2195,7 @@ class UsersResponderADM(responderData: ResponderData) extends Responder(responde */ private def getUserFromCache(identifier: UserIdentifierADM): Future[Option[UserADM]] = tracedFuture("admin-user-get-user-from-cache") { - val result = (storeManager ? CacheServiceGetUserADM(identifier)).mapTo[Option[UserADM]] + val result = appActor.ask(CacheServiceGetUserADM(identifier)).mapTo[Option[UserADM]] result.map { case Some(user) => log.debug("getUserFromCache - cache hit for: {}", identifier) @@ -2176,7 +2214,7 @@ class UsersResponderADM(responderData: ResponderData) extends Responder(responde * @throws ApplicationCacheException when there is a problem with writing the user's profile to cache. */ private def writeUserADMToCache(user: UserADM): Future[Unit] = for { - _ <- (storeManager ? CacheServicePutUserADM(user)) + _ <- appActor.ask(CacheServicePutUserADM(user)) _ <- Future(log.debug(s"writeUserADMToCache done - user: ${user.id}")) } yield () @@ -2188,7 +2226,7 @@ class UsersResponderADM(responderData: ResponderData) extends Responder(responde val keys: Set[String] = Seq(maybeUser.map(_.id), maybeUser.map(_.email), maybeUser.map(_.username)).flatten.toSet // only send to Redis if keys are not empty if (keys.nonEmpty) { - val result = (storeManager ? CacheServiceRemoveValues(keys)) + val result = appActor.ask(CacheServiceRemoveValues(keys)) result.map { res => log.debug("invalidateCachedUserADM - result: {}", res) } diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v1/CkanResponderV1.scala b/webapi/src/main/scala/org/knora/webapi/responders/v1/CkanResponderV1.scala index 2262cda1bb..5b4f06e1f6 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v1/CkanResponderV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v1/CkanResponderV1.scala @@ -213,7 +213,7 @@ class CkanResponderV1(responderData: ResponderData) extends Responder(responderD .ckanDokubib(projectIri, limit) .toString() ) - response <- (storeManager ? SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] + response <- appActor.ask(SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] responseRows: Seq[VariableResultsRow] = response.results.bindings bilder: Seq[String] = responseRows.groupBy(_.rowMap("bild")).keys.toVector @@ -333,7 +333,7 @@ class CkanResponderV1(responderData: ResponderData) extends Responder(responderD .ckanIncunabula(projectIri, limit) .toString() ) - response <- (storeManager ? SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] + response <- appActor.ask(SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] responseRows: Seq[VariableResultsRow] = response.results.bindings booksWithPages: Map[String, Seq[String]] = @@ -374,11 +374,15 @@ class CkanResponderV1(responderData: ResponderData) extends Responder(responderD for { pName <- projectNames - projectInfoResponseFuture = (responderManager ? ProjectInfoByShortnameGetRequestV1( - shortname = pName, - featureFactoryConfig = featureFactoryConfig, - userProfileV1 = Some(userProfile.asUserProfileV1) - )).mapTo[ProjectInfoResponseV1] + projectInfoResponseFuture = appActor + .ask( + ProjectInfoByShortnameGetRequestV1( + shortname = pName, + featureFactoryConfig = featureFactoryConfig, + userProfileV1 = Some(userProfile.asUserProfileV1) + ) + ) + .mapTo[ProjectInfoResponseV1] result = projectInfoResponseFuture.map(_.project_info) map { pInfo => (pName, pInfo) @@ -410,7 +414,7 @@ class CkanResponderV1(responderData: ResponderData) extends Responder(responderD ) .toString() ) - resourcesResponse <- (storeManager ? SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] + resourcesResponse <- appActor.ask(SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] resourcesResponseRows: Seq[VariableResultsRow] = resourcesResponse.results.bindings resIri = resourcesResponseRows.groupBy(_.rowMap("s")).keys.toVector result = limit match { @@ -458,11 +462,16 @@ class CkanResponderV1(responderData: ResponderData) extends Responder(responderD userProfile: UserADM ): Future[(String, Option[ResourceInfoV1], Option[PropsV1])] = { - val resourceFullResponseFuture = (responderManager ? ResourceFullGetRequestV1( - iri = iri, - featureFactoryConfig = featureFactoryConfig, - userADM = userProfile - )).mapTo[ResourceFullResponseV1] + val resourceFullResponseFuture = + appActor + .ask( + ResourceFullGetRequestV1( + iri = iri, + featureFactoryConfig = featureFactoryConfig, + userADM = userProfile + ) + ) + .mapTo[ResourceFullResponseV1] resourceFullResponseFuture map { case ResourceFullResponseV1(resInfo, _, props, _, _) => (iri, resInfo, props) @@ -513,12 +522,10 @@ class CkanResponderV1(responderData: ResponderData) extends Responder(responderD propertyV1.values.map(literal => dateValue2String(literal.asInstanceOf[DateValueV1])) case OntologyConstants.KnoraBase.ListValue => - propertyV1.values.map(literal => - listValue2String(literal.asInstanceOf[HierarchicalListValueV1], responderManager) - ) + propertyV1.values.map(literal => listValue2String(literal.asInstanceOf[HierarchicalListValueV1], appActor)) case OntologyConstants.KnoraBase.Resource => // TODO: this could actually be a subclass of knora-base:Resource. - propertyV1.values.map(literal => resourceValue2String(literal.asInstanceOf[LinkV1], responderManager)) + propertyV1.values.map(literal => resourceValue2String(literal.asInstanceOf[LinkV1], appActor)) case _ => Vector() } @@ -545,9 +552,9 @@ class CkanResponderV1(responderData: ResponderData) extends Responder(responderD date.dateval1.toString + " " + date.era1 + ", " + date.dateval2 + ", " + date.calendar.toString + " " + date.era2 } - private def listValue2String(list: HierarchicalListValueV1, responderManager: ActorRef): String = { + private def listValue2String(list: HierarchicalListValueV1, appActor: ActorRef): String = { - val resultFuture = responderManager ? NodePathGetRequestV1(list.hierarchicalListIri, systemUser) + val resultFuture = appActor.ask(NodePathGetRequestV1(list.hierarchicalListIri, systemUser)) val nodePath = Await.result(resultFuture, Duration(3, SECONDS)).asInstanceOf[NodePathGetResponseV1] val labels = nodePath.nodelist map { case element => @@ -557,7 +564,7 @@ class CkanResponderV1(responderData: ResponderData) extends Responder(responderD labels.mkString(" / ") } - private def resourceValue2String(resource: LinkV1, responderManager: ActorRef): String = + private def resourceValue2String(resource: LinkV1, appActor: ActorRef): String = resource.valueLabel.get } diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v1/ListsResponderV1.scala b/webapi/src/main/scala/org/knora/webapi/responders/v1/ListsResponderV1.scala index 583c91bf7c..7607a7bcd2 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v1/ListsResponderV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v1/ListsResponderV1.scala @@ -150,7 +150,7 @@ class ListsResponderV1(responderData: ResponderData) extends Responder(responder ) .toString() } - listQueryResponse: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(listQuery)).mapTo[SparqlSelectResult] + listQueryResponse: SparqlSelectResult <- appActor.ask(SparqlSelectRequest(listQuery)).mapTo[SparqlSelectResult] // Group the results to map each node to the SPARQL query results representing its children. groupedByNodeIri: Map[IRI, Seq[VariableResultsRow]] = @@ -232,7 +232,8 @@ class ListsResponderV1(responderData: ResponderData) extends Responder(responder ) .toString() } - nodePathResponse: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(nodePathQuery)) + nodePathResponse: SparqlSelectResult <- appActor + .ask(SparqlSelectRequest(nodePathQuery)) .mapTo[SparqlSelectResult] /* diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v1/OntologyResponderV1.scala b/webapi/src/main/scala/org/knora/webapi/responders/v1/OntologyResponderV1.scala index 836c8a166a..cdf913346f 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v1/OntologyResponderV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v1/OntologyResponderV1.scala @@ -79,10 +79,14 @@ class OntologyResponderV1(responderData: ResponderData) extends Responder(respon ): Future[LoadOntologiesResponse] = for { // forward the request to the v2 ontologies responder - _: SuccessResponseV2 <- (responderManager ? LoadOntologiesRequestV2( - featureFactoryConfig = featureFactoryConfig, - requestingUser = userProfile - )).mapTo[SuccessResponseV2] + _: SuccessResponseV2 <- appActor + .ask( + LoadOntologiesRequestV2( + featureFactoryConfig = featureFactoryConfig, + requestingUser = userProfile + ) + ) + .mapTo[SuccessResponseV2] } yield LoadOntologiesResponse() /** @@ -99,11 +103,15 @@ class OntologyResponderV1(responderData: ResponderData) extends Responder(respon userProfile: UserADM ): Future[EntityInfoGetResponseV1] = for { - response: EntityInfoGetResponseV2 <- (responderManager ? EntityInfoGetRequestV2( - resourceClassIris.map(_.toSmartIri), - propertyIris.map(_.toSmartIri), - userProfile - )).mapTo[EntityInfoGetResponseV2] + response: EntityInfoGetResponseV2 <- appActor + .ask( + EntityInfoGetRequestV2( + resourceClassIris.map(_.toSmartIri), + propertyIris.map(_.toSmartIri), + userProfile + ) + ) + .mapTo[EntityInfoGetResponseV2] } yield EntityInfoGetResponseV1( resourceClassInfoMap = ConvertOntologyClassV2ToV1.classInfoMapV2ToV1(response.classInfoMap), propertyInfoMap = ConvertOntologyClassV2ToV1.propertyInfoMapV2ToV1(response.propertyInfoMap) @@ -123,11 +131,15 @@ class OntologyResponderV1(responderData: ResponderData) extends Responder(respon userProfile: UserADM ): Future[StandoffEntityInfoGetResponseV1] = for { - response: StandoffEntityInfoGetResponseV2 <- (responderManager ? StandoffEntityInfoGetRequestV2( - standoffClassIris.map(_.toSmartIri), - standoffPropertyIris.map(_.toSmartIri), - userProfile - )).mapTo[StandoffEntityInfoGetResponseV2] + response: StandoffEntityInfoGetResponseV2 <- appActor + .ask( + StandoffEntityInfoGetRequestV2( + standoffClassIris.map(_.toSmartIri), + standoffPropertyIris.map(_.toSmartIri), + userProfile + ) + ) + .mapTo[StandoffEntityInfoGetResponseV2] } yield StandoffEntityInfoGetResponseV1( standoffClassInfoMap = ConvertOntologyClassV2ToV1.classInfoMapV2ToV1(response.standoffClassInfoMap), @@ -144,9 +156,13 @@ class OntologyResponderV1(responderData: ResponderData) extends Responder(respon userProfile: UserADM ): Future[StandoffClassesWithDataTypeGetResponseV1] = for { - response: StandoffClassesWithDataTypeGetResponseV2 <- (responderManager ? StandoffClassesWithDataTypeGetRequestV2( - userProfile - )).mapTo[StandoffClassesWithDataTypeGetResponseV2] + response: StandoffClassesWithDataTypeGetResponseV2 <- appActor + .ask( + StandoffClassesWithDataTypeGetRequestV2( + userProfile + ) + ) + .mapTo[StandoffClassesWithDataTypeGetResponseV2] } yield StandoffClassesWithDataTypeGetResponseV1( standoffClassInfoMap = ConvertOntologyClassV2ToV1.classInfoMapV2ToV1(response.standoffClassInfoMap) ) @@ -159,9 +175,13 @@ class OntologyResponderV1(responderData: ResponderData) extends Responder(respon */ private def getAllStandoffPropertyEntities(userProfile: UserADM): Future[StandoffAllPropertiesGetResponseV1] = for { - response: StandoffAllPropertyEntitiesGetResponseV2 <- (responderManager ? StandoffAllPropertyEntitiesGetRequestV2( - userProfile - )).mapTo[StandoffAllPropertyEntitiesGetResponseV2] + response: StandoffAllPropertyEntitiesGetResponseV2 <- appActor + .ask( + StandoffAllPropertyEntitiesGetRequestV2( + userProfile + ) + ) + .mapTo[StandoffAllPropertyEntitiesGetResponseV2] } yield StandoffAllPropertiesGetResponseV1( standoffAllPropertiesInfoMap = ConvertOntologyClassV2ToV1.propertyInfoMapV2ToV1(response.standoffAllPropertiesEntityInfoMap) @@ -344,11 +364,15 @@ class OntologyResponderV1(responderData: ResponderData) extends Responder(respon */ private def checkSubClass(checkSubClassRequest: CheckSubClassRequestV1): Future[CheckSubClassResponseV1] = for { - response: CheckSubClassResponseV2 <- (responderManager ? CheckSubClassRequestV2( - subClassIri = checkSubClassRequest.subClassIri.toSmartIri, - superClassIri = checkSubClassRequest.superClassIri.toSmartIri, - checkSubClassRequest.userProfile - )).mapTo[CheckSubClassResponseV2] + response: CheckSubClassResponseV2 <- appActor + .ask( + CheckSubClassRequestV2( + subClassIri = checkSubClassRequest.subClassIri.toSmartIri, + superClassIri = checkSubClassRequest.superClassIri.toSmartIri, + checkSubClassRequest.userProfile + ) + ) + .mapTo[CheckSubClassResponseV2] } yield CheckSubClassResponseV1(response.isSubClass) @@ -360,10 +384,14 @@ class OntologyResponderV1(responderData: ResponderData) extends Responder(respon */ private def getSubClasses(getSubClassesRequest: SubClassesGetRequestV1): Future[SubClassesGetResponseV1] = for { - response: SubClassesGetResponseV2 <- (responderManager ? SubClassesGetRequestV2( - getSubClassesRequest.resourceClassIri.toSmartIri, - getSubClassesRequest.userADM - )).mapTo[SubClassesGetResponseV2] + response: SubClassesGetResponseV2 <- appActor + .ask( + SubClassesGetRequestV2( + getSubClassesRequest.resourceClassIri.toSmartIri, + getSubClassesRequest.userADM + ) + ) + .mapTo[SubClassesGetResponseV2] subClasses = response.subClasses.map { subClassInfoV2 => SubClassInfoV1( @@ -388,15 +416,23 @@ class OntologyResponderV1(responderData: ResponderData) extends Responder(respon userProfile: UserADM ): Future[NamedGraphsResponseV1] = for { - projectsResponse <- (responderManager ? ProjectsGetRequestADM( - featureFactoryConfig = featureFactoryConfig, - requestingUser = userProfile - )).mapTo[ProjectsGetResponseADM] - - readOntologyMetadataV2 <- (responderManager ? OntologyMetadataGetByProjectRequestV2( - projectIris = projectIris.map(_.toSmartIri), - requestingUser = userProfile - )).mapTo[ReadOntologyMetadataV2] + projectsResponse <- appActor + .ask( + ProjectsGetRequestADM( + featureFactoryConfig = featureFactoryConfig, + requestingUser = userProfile + ) + ) + .mapTo[ProjectsGetResponseADM] + + readOntologyMetadataV2 <- appActor + .ask( + OntologyMetadataGetByProjectRequestV2( + projectIris = projectIris.map(_.toSmartIri), + requestingUser = userProfile + ) + ) + .mapTo[ReadOntologyMetadataV2] projectsMap: Map[IRI, ProjectADM] = projectsResponse.projects.map { project => project.id -> project @@ -449,10 +485,14 @@ class OntologyResponderV1(responderData: ResponderData) extends Responder(respon */ def getNamedGraphEntityInfoV1ForNamedGraph(namedGraphIri: IRI, userProfile: UserADM): Future[NamedGraphEntityInfoV1] = for { - response: OntologyKnoraEntitiesIriInfoV2 <- (responderManager ? OntologyKnoraEntityIrisGetRequestV2( - namedGraphIri.toSmartIri, - userProfile - )).mapTo[OntologyKnoraEntitiesIriInfoV2] + response: OntologyKnoraEntitiesIriInfoV2 <- appActor + .ask( + OntologyKnoraEntityIrisGetRequestV2( + namedGraphIri.toSmartIri, + userProfile + ) + ) + .mapTo[OntologyKnoraEntitiesIriInfoV2] classIrisForV1 = response.classIris.map(_.toString) -- OntologyConstants.KnoraBase.AbstractResourceClasses propertyIrisForV1 = response.propertyIris.map(_.toString) - OntologyConstants.KnoraBase.ResourceProperty diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v1/ProjectsResponderV1.scala b/webapi/src/main/scala/org/knora/webapi/responders/v1/ProjectsResponderV1.scala index 358f9a749f..966f575bc9 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v1/ProjectsResponderV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v1/ProjectsResponderV1.scala @@ -104,7 +104,7 @@ class ProjectsResponderV1(responderData: ResponderData) extends Responder(respon ) //_ = log.debug(s"getProjectsResponseV1 - query: $sparqlQueryString") - projectsResponse <- (storeManager ? SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] + projectsResponse <- appActor.ask(SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] //_ = log.debug(s"getProjectsResponseV1 - result: $projectsResponse") projectsResponseRows: Seq[VariableResultsRow] = projectsResponse.results.bindings @@ -197,11 +197,16 @@ class ProjectsResponderV1(responderData: ResponderData) extends Responder(respon case Some(profile) => profile.userData.user_id match { case Some(user_iri) => - (responderManager ? UserGetRequestADM( - identifier = UserIdentifierADM(maybeIri = Some(user_iri)), - featureFactoryConfig = featureFactoryConfig, - requestingUser = KnoraSystemInstances.Users.SystemUser - )).mapTo[UserResponseADM].map(_.user) + appActor + .ask( + UserGetRequestADM( + identifier = UserIdentifierADM(maybeIri = Some(user_iri)), + featureFactoryConfig = featureFactoryConfig, + requestingUser = KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[UserResponseADM] + .map(_.user) case None => FastFuture.successful(KnoraSystemInstances.Users.AnonymousUser) } @@ -211,11 +216,15 @@ class ProjectsResponderV1(responderData: ResponderData) extends Responder(respon // Get the ontologies per project. - namedGraphsResponse <- (responderManager ? NamedGraphsGetRequestV1( - projectIris = projectIris, - featureFactoryConfig = featureFactoryConfig, - userADM = userADM - )).mapTo[NamedGraphsResponseV1] + namedGraphsResponse <- appActor + .ask( + NamedGraphsGetRequestV1( + projectIris = projectIris, + featureFactoryConfig = featureFactoryConfig, + userADM = userADM + ) + ) + .mapTo[NamedGraphsResponseV1] } yield namedGraphsResponse.vocabularies.map { namedGraph: NamedGraphV1 => namedGraph.project_id -> namedGraph.id @@ -278,7 +287,7 @@ class ProjectsResponderV1(responderData: ResponderData) extends Responder(respon .toString() ) - projectResponse <- (storeManager ? SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] + projectResponse <- appActor.ask(SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] ontologiesForProjects: Map[IRI, Seq[IRI]] <- getOntologiesForProjects( projectIris = Set(projectIri), @@ -331,7 +340,7 @@ class ProjectsResponderV1(responderData: ResponderData) extends Responder(respon ) //_ = log.debug(s"getProjectInfoByShortnameGetRequest - query: $sparqlQueryString") - projectResponse <- (storeManager ? SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] + projectResponse <- appActor.ask(SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] //_ = log.debug(s"getProjectInfoByShortnameGetRequest - result: $projectResponse") // get project IRI from results rows @@ -454,7 +463,7 @@ class ProjectsResponderV1(responderData: ResponderData) extends Responder(respon ) //_ = log.debug("projectExists - query: {}", askString) - checkProjectExistsResponse <- (storeManager ? SparqlAskRequest(askString)).mapTo[SparqlAskResponse] + checkProjectExistsResponse <- appActor.ask(SparqlAskRequest(askString)).mapTo[SparqlAskResponse] result = checkProjectExistsResponse.result } yield result @@ -474,7 +483,7 @@ class ProjectsResponderV1(responderData: ResponderData) extends Responder(respon ) //_ = log.debug("projectExists - query: {}", askString) - checkProjectExistsResponse <- (storeManager ? SparqlAskRequest(askString)).mapTo[SparqlAskResponse] + checkProjectExistsResponse <- appActor.ask(SparqlAskRequest(askString)).mapTo[SparqlAskResponse] result = checkProjectExistsResponse.result } yield result @@ -494,7 +503,7 @@ class ProjectsResponderV1(responderData: ResponderData) extends Responder(respon ) //_ = log.debug("projectExists - query: {}", askString) - checkProjectExistsResponse <- (storeManager ? SparqlAskRequest(askString)).mapTo[SparqlAskResponse] + checkProjectExistsResponse <- appActor.ask(SparqlAskRequest(askString)).mapTo[SparqlAskResponse] result = checkProjectExistsResponse.result } yield result diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v1/ResourcesResponderV1.scala b/webapi/src/main/scala/org/knora/webapi/responders/v1/ResourcesResponderV1.scala index ccfaf66d7f..6f82646952 100755 --- a/webapi/src/main/scala/org/knora/webapi/responders/v1/ResourcesResponderV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v1/ResourcesResponderV1.scala @@ -226,7 +226,7 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo // _ = println(sparql) - response: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(sparql)).mapTo[SparqlSelectResult] + response: SparqlSelectResult <- appActor.ask(SparqlSelectRequest(sparql)).mapTo[SparqlSelectResult] rows = response.results.bindings // Did we get any results? @@ -363,7 +363,7 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo // _ = println(sparql) - response: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(sparql)).mapTo[SparqlSelectResult] + response: SparqlSelectResult <- appActor.ask(SparqlSelectRequest(sparql)).mapTo[SparqlSelectResult] rows = response.results.bindings _ = if (rows.isEmpty) { @@ -426,7 +426,8 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo propertyIris = propertyIris, userProfile = graphDataGetRequest.userADM ) - entityInfoResponse: EntityInfoGetResponseV1 <- (responderManager ? entityInfoRequest) + entityInfoResponse: EntityInfoGetResponseV1 <- appActor + .ask(entityInfoRequest) .mapTo[EntityInfoGetResponseV1] // Convert each node to a GraphNodeV1 for the API response message. @@ -550,7 +551,7 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo ) .toString() ) - response <- (storeManager ? SparqlSelectRequest(incomingRefsSparql)).mapTo[SparqlSelectResult] + response <- appActor.ask(SparqlSelectRequest(incomingRefsSparql)).mapTo[SparqlSelectResult] } yield Some(response) } else { Future(None) @@ -672,8 +673,7 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo valueProps = linkValueProps, projectShortcode = resInfoWithoutQueryingOntology.project_shortcode, - responderManager = - responderManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, userProfile = userProfile @@ -754,13 +754,17 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo incomingTypes: Set[IRI] = incomingRefsWithoutQueryingOntology.map(_.resinfo.restype_id).toSet // Ask the ontology responder for information about the ontology entities that we need information about. - entityInfoResponse: EntityInfoGetResponseV1 <- (responderManager ? EntityInfoGetRequestV1( - resourceClassIris = - incomingTypes ++ linkedResourceTypes + resInfoWithoutQueryingOntology.restype_id, - propertyIris = - groupedPropsByType.groupedOrdinaryValueProperties.groupedProperties.keySet ++ groupedPropsByType.groupedLinkProperties.groupedProperties.keySet, - userProfile = userProfile - )).mapTo[EntityInfoGetResponseV1] + entityInfoResponse: EntityInfoGetResponseV1 <- appActor + .ask( + EntityInfoGetRequestV1( + resourceClassIris = + incomingTypes ++ linkedResourceTypes + resInfoWithoutQueryingOntology.restype_id, + propertyIris = + groupedPropsByType.groupedOrdinaryValueProperties.groupedProperties.keySet ++ groupedPropsByType.groupedLinkProperties.groupedProperties.keySet, + userProfile = userProfile + ) + ) + .mapTo[EntityInfoGetResponseV1] // Add ontology-based information to the resource info. resourceTypeIri = resInfoWithoutQueryingOntology.restype_id @@ -851,10 +855,14 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo propsAndCardinalities.keySet -- (groupedPropsByType.groupedOrdinaryValueProperties.groupedProperties.keySet ++ groupedPropsByType.groupedLinkProperties.groupedProperties.keySet) // Get information from the ontology about the properties that have no data for this resource. - emptyPropsInfoResponse: EntityInfoGetResponseV1 <- (responderManager ? EntityInfoGetRequestV1( - propertyIris = emptyPropsIris, - userProfile = userProfile - )).mapTo[EntityInfoGetResponseV1] + emptyPropsInfoResponse: EntityInfoGetResponseV1 <- appActor + .ask( + EntityInfoGetRequestV1( + propertyIris = emptyPropsIris, + userProfile = userProfile + ) + ) + .mapTo[EntityInfoGetResponseV1] // Create a PropertyV1 for each of those properties. emptyProps: Set[PropertyV1] = emptyPropsIris.map { propertyIri => @@ -1115,7 +1123,8 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo resourceIri = resourceIri ) .toString() - isPartOfResponse: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(isPartOfSparqlQuery)) + isPartOfResponse: SparqlSelectResult <- appActor + .ask(SparqlSelectRequest(isPartOfSparqlQuery)) .mapTo[SparqlSelectResult] (containingResourceIriOption: Option[IRI], containingResInfoV1Option: Option[ResourceInfoV1]) <- @@ -1168,7 +1177,8 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo // _ = println(contextSparqlQuery) - contextQueryResponse: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(contextSparqlQuery)) + contextQueryResponse: SparqlSelectResult <- appActor + .ask(SparqlSelectRequest(contextSparqlQuery)) .mapTo[SparqlSelectResult] rows: Seq[VariableResultsRow] = contextQueryResponse.results.bindings @@ -1240,7 +1250,8 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo ) .toString() ) - regionQueryResponse: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(regionSparqlQuery)) + regionQueryResponse: SparqlSelectResult <- appActor + .ask(SparqlSelectRequest(regionSparqlQuery)) .mapTo[SparqlSelectResult] regionRows = regionQueryResponse.results.bindings @@ -1292,11 +1303,15 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo // get the icon for this region's resource class entityInfoResponse: EntityInfoGetResponseV1 <- - (responderManager ? EntityInfoGetRequestV1( - resourceClassIris = - Set(resClass), - userProfile = userProfile - )).mapTo[EntityInfoGetResponseV1] + appActor + .ask( + EntityInfoGetRequestV1( + resourceClassIris = + Set(resClass), + userProfile = userProfile + ) + ) + .mapTo[EntityInfoGetResponseV1] regionInfo: ClassInfoV1 = entityInfoResponse @@ -1447,7 +1462,7 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo // _ = println(searchResourcesSparql) - searchResponse <- (storeManager ? SparqlSelectRequest(searchResourcesSparql)).mapTo[SparqlSelectResult] + searchResponse <- appActor.ask(SparqlSelectRequest(searchResourcesSparql)).mapTo[SparqlSelectResult] resultFutures: Seq[Future[ResourceSearchResultRowV1]] = searchResponse.results.bindings.map { row: VariableResultsRow => @@ -1467,10 +1482,14 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo ) for { - resourceClassInfoResponse <- (responderManager ? EntityInfoGetRequestV1( - resourceClassIris = Set(resourceClass), - userProfile = userProfile - )).mapTo[EntityInfoGetResponseV1] + resourceClassInfoResponse <- appActor + .ask( + EntityInfoGetRequestV1( + resourceClassIris = Set(resourceClass), + userProfile = userProfile + ) + ) + .mapTo[EntityInfoGetResponseV1] cardinalities: Map[IRI, KnoraCardinalityInfo] = resourceClassInfoResponse .resourceClassInfoMap(resourceClass) @@ -1585,13 +1604,15 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo } // Get information about the project in which the resources will be created. - projectInfoResponse <- { - responderManager ? ProjectGetRequestADM( - identifier = ProjectIdentifierADM(maybeIri = Some(projectIri)), - featureFactoryConfig = featureFactoryConfig, - requestingUser = requestingUser - ) - }.mapTo[ProjectGetResponseADM] + projectInfoResponse <- appActor + .ask( + ProjectGetRequestADM( + identifier = ProjectIdentifierADM(maybeIri = Some(projectIri)), + featureFactoryConfig = featureFactoryConfig, + requestingUser = requestingUser + ) + ) + .mapTo[ProjectGetResponseADM] projectADM = projectInfoResponse.project @@ -1645,10 +1666,14 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo // Ensure that none of the resource classes is from a non-shared ontology in another project. resourceClassOntologyIris: Set[SmartIri] = resourceClasses.map(_.toSmartIri.getOntologyFromEntity) - readOntologyMetadataV2: ReadOntologyMetadataV2 <- (responderManager ? OntologyMetadataGetByIriRequestV2( - resourceClassOntologyIris, - requestingUser - )).mapTo[ReadOntologyMetadataV2] + readOntologyMetadataV2: ReadOntologyMetadataV2 <- appActor + .ask( + OntologyMetadataGetByIriRequestV2( + resourceClassOntologyIris, + requestingUser + ) + ) + .mapTo[ReadOntologyMetadataV2] _ = for (ontologyMetadata <- readOntologyMetadataV2.ontologies) { val ontologyProjectIri: IRI = ontologyMetadata.projectIri @@ -1666,22 +1691,30 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo } } - resourceClassesEntityInfoResponse: EntityInfoGetResponseV1 <- (responderManager ? EntityInfoGetRequestV1( - resourceClassIris = resourceClasses, - propertyIris = Set.empty[IRI], - userProfile = requestingUser - )).mapTo[EntityInfoGetResponseV1] + resourceClassesEntityInfoResponse: EntityInfoGetResponseV1 <- appActor + .ask( + EntityInfoGetRequestV1( + resourceClassIris = resourceClasses, + propertyIris = Set.empty[IRI], + userProfile = requestingUser + ) + ) + .mapTo[EntityInfoGetResponseV1] allPropertyIris: Set[IRI] = resourceClassesEntityInfoResponse.resourceClassInfoMap.flatMap { case (_, resourceEntityInfo) => resourceEntityInfo.knoraResourceCardinalities.keySet }.toSet - propertyEntityInfoResponse: EntityInfoGetResponseV1 <- (responderManager ? EntityInfoGetRequestV1( - resourceClassIris = Set.empty[IRI], - propertyIris = allPropertyIris, - userProfile = requestingUser - )).mapTo[EntityInfoGetResponseV1] + propertyEntityInfoResponse: EntityInfoGetResponseV1 <- appActor + .ask( + EntityInfoGetRequestV1( + resourceClassIris = Set.empty[IRI], + propertyIris = allPropertyIris, + userProfile = requestingUser + ) + ) + .mapTo[EntityInfoGetResponseV1] propertyEntityInfoMapsPerResource: Map[IRI, Map[IRI, PropertyInfoV1]] = resourceClassesEntityInfoResponse.resourceClassInfoMap.map { case (resourceClassIri, resourceEntityInfo) => @@ -1698,14 +1731,17 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo defaultResourceClassAccessPermissionsFutures: Vector[Future[(IRI, String)]] = resourceClasses.toVector.map { resourceClassIri => for { - defaultObjectAccessPermissions <- { - responderManager ? DefaultObjectAccessPermissionsStringForResourceClassGetADM( - projectIri = projectIri, - resourceClassIri = resourceClassIri, - targetUser = requestingUser, - requestingUser = KnoraSystemInstances.Users.SystemUser - ) - }.mapTo[DefaultObjectAccessPermissionsStringResponseADM] + defaultObjectAccessPermissions <- + appActor + .ask( + DefaultObjectAccessPermissionsStringForResourceClassGetADM( + projectIri = projectIri, + resourceClassIri = resourceClassIri, + targetUser = requestingUser, + requestingUser = KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[DefaultObjectAccessPermissionsStringResponseADM] } yield (resourceClassIri, defaultObjectAccessPermissions.permissionLiteral) } @@ -1724,15 +1760,17 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo propertyEntityInfoMapsPerResource.map { case (resourceClassIri, propertyInfoMap) => val propertyPermissionFutures = propertyInfoMap.keys.map { propertyIri => for { - defaultObjectAccessPermissions <- { - responderManager ? DefaultObjectAccessPermissionsStringForPropertyGetADM( - projectIri = projectIri, - resourceClassIri = resourceClassIri, - propertyIri = propertyIri, - targetUser = requestingUser, - requestingUser = KnoraSystemInstances.Users.SystemUser - ) - }.mapTo[DefaultObjectAccessPermissionsStringResponseADM] + defaultObjectAccessPermissions <- appActor + .ask( + DefaultObjectAccessPermissionsStringForPropertyGetADM( + projectIri = projectIri, + resourceClassIri = resourceClassIri, + propertyIri = propertyIri, + targetUser = requestingUser, + requestingUser = KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[DefaultObjectAccessPermissionsStringResponseADM] } yield (propertyIri, defaultObjectAccessPermissions.permissionLiteral) } @@ -1860,7 +1898,8 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo ) // Do the update. - createResourceResponse <- (storeManager ? SparqlUpdateRequest(createMultipleResourcesSparql)) + createResourceResponse <- appActor + .ask(SparqlUpdateRequest(createMultipleResourcesSparql)) .mapTo[SparqlUpdateResponse] // We don't query the newly created resources to verify that they and their values were actually created, @@ -1903,8 +1942,7 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo updateFuture = updateFuture, valueContent = valueContent, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, log = log ) } @@ -1990,7 +2028,8 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo for { subClassResponse <- - (responderManager ? checkSubClassRequest) + appActor + .ask(checkSubClassRequest) .mapTo[CheckSubClassResponseV1] _ = if (!subClassResponse.isSubClass) { @@ -2028,7 +2067,7 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo propertyObjectClassConstraint = propertyObjectClassConstraint, valueType = otherValue.valueTypeIri, - responderManager = responderManager, + appActor = appActor, userProfile = userProfile ) } @@ -2140,7 +2179,8 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo ) generateSparqlForValuesResponse: GenerateSparqlToCreateMultipleValuesResponseV1 <- - (responderManager ? generateSparqlForValuesRequest) + appActor + .ask(generateSparqlForValuesRequest) .mapTo[GenerateSparqlToCreateMultipleValuesResponseV1] } yield generateSparqlForValuesResponse @@ -2200,7 +2240,7 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo .toString() ) - createdResourceResponse <- (storeManager ? SparqlSelectRequest(createdResourcesSparql)).mapTo[SparqlSelectResult] + createdResourceResponse <- appActor.ask(SparqlSelectRequest(createdResourcesSparql)).mapTo[SparqlSelectResult] _ = if (createdResourceResponse.results.bindings.isEmpty) { log.error( @@ -2220,7 +2260,8 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo ) verifyMultipleValueCreationResponse: VerifyMultipleValueCreationResponseV1 <- - (responderManager ? verifyCreateValuesRequest) + appActor + .ask(verifyCreateValuesRequest) .mapTo[VerifyMultipleValueCreationResponseV1] // Convert CreateValueResponseV1 objects to ResourceCreateValueResponseV1 objects. @@ -2280,48 +2321,61 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo val updateFuture = for { // Get ontology information about the resource class and its properties. - resourceClassEntityInfoResponse: EntityInfoGetResponseV1 <- (responderManager ? EntityInfoGetRequestV1( - resourceClassIris = Set(resourceClassIri), - propertyIris = Set.empty[IRI], - userProfile = requestingUser - )).mapTo[EntityInfoGetResponseV1] + resourceClassEntityInfoResponse: EntityInfoGetResponseV1 <- appActor + .ask( + EntityInfoGetRequestV1( + resourceClassIris = Set(resourceClassIri), + propertyIris = Set.empty[IRI], + userProfile = requestingUser + ) + ) + .mapTo[EntityInfoGetResponseV1] resourceClassInfo = resourceClassEntityInfoResponse.resourceClassInfoMap(resourceClassIri) propertyEntityInfoResponse: EntityInfoGetResponseV1 <- - (responderManager ? EntityInfoGetRequestV1( - resourceClassIris = Set.empty[IRI], - propertyIris = resourceClassInfo.knoraResourceCardinalities.keySet, - userProfile = requestingUser - )).mapTo[EntityInfoGetResponseV1] + appActor + .ask( + EntityInfoGetRequestV1( + resourceClassIris = Set.empty[IRI], + propertyIris = resourceClassInfo.knoraResourceCardinalities.keySet, + userProfile = requestingUser + ) + ) + .mapTo[EntityInfoGetResponseV1] propertyInfoMap = propertyEntityInfoResponse.propertyInfoMap // Get the default object access permissions of the resource class and its properties. - defaultResourceClassAccessPermissionsResponse: DefaultObjectAccessPermissionsStringResponseADM <- { - responderManager ? DefaultObjectAccessPermissionsStringForResourceClassGetADM( - projectIri = projectADM.id, - resourceClassIri = resourceClassIri, - targetUser = requestingUser, - requestingUser = KnoraSystemInstances.Users.SystemUser - ) - }.mapTo[DefaultObjectAccessPermissionsStringResponseADM] + defaultResourceClassAccessPermissionsResponse: DefaultObjectAccessPermissionsStringResponseADM <- + appActor + .ask( + DefaultObjectAccessPermissionsStringForResourceClassGetADM( + projectIri = projectADM.id, + resourceClassIri = resourceClassIri, + targetUser = requestingUser, + requestingUser = KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[DefaultObjectAccessPermissionsStringResponseADM] defaultResourceClassAccessPermissions = defaultResourceClassAccessPermissionsResponse.permissionLiteral defaultPropertyAccessPermissionsFutures: Iterable[Future[(IRI, String)]] = propertyEntityInfoResponse.propertyInfoMap.keys.map { propertyIri => for { - defaultObjectAccessPermissions <- { - responderManager ? DefaultObjectAccessPermissionsStringForPropertyGetADM( - projectIri = projectADM.id, - resourceClassIri = resourceClassIri, - propertyIri = propertyIri, - targetUser = requestingUser, - requestingUser = KnoraSystemInstances.Users.SystemUser - ) - }.mapTo[DefaultObjectAccessPermissionsStringResponseADM] + defaultObjectAccessPermissions <- appActor + .ask( + DefaultObjectAccessPermissionsStringForPropertyGetADM( + projectIri = projectADM.id, + resourceClassIri = resourceClassIri, + propertyIri = propertyIri, + targetUser = requestingUser, + requestingUser = KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[DefaultObjectAccessPermissionsStringResponseADM] } yield (propertyIri, defaultObjectAccessPermissions.permissionLiteral) } @@ -2380,7 +2434,8 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo ) // Do the update. - createResourceResponse <- (storeManager ? SparqlUpdateRequest(createNewResourceSparql)) + createResourceResponse <- appActor + .ask(SparqlUpdateRequest(createNewResourceSparql)) .mapTo[SparqlUpdateResponse] apiResponse <- verifyResourceCreated( @@ -2441,13 +2496,15 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo } // Get project info - projectResponse <- { - responderManager ? ProjectGetRequestADM( - identifier = ProjectIdentifierADM(maybeIri = Some(projectIri)), - featureFactoryConfig = featureFactoryConfig, - requestingUser = userProfile - ) - }.mapTo[ProjectGetResponseADM] + projectResponse <- appActor + .ask( + ProjectGetRequestADM( + identifier = ProjectIdentifierADM(maybeIri = Some(projectIri)), + featureFactoryConfig = featureFactoryConfig, + requestingUser = userProfile + ) + ) + .mapTo[ProjectGetResponseADM] // Ensure that the project isn't the system project or the shared ontologies project. @@ -2463,10 +2520,14 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo // Ensure that the resource class isn't from a non-shared ontology in another project. resourceClassOntologyIri: SmartIri = resourceClassIri.toSmartIri.getOntologyFromEntity - readOntologyMetadataV2: ReadOntologyMetadataV2 <- (responderManager ? OntologyMetadataGetByIriRequestV2( - Set(resourceClassOntologyIri), - userProfile - )).mapTo[ReadOntologyMetadataV2] + readOntologyMetadataV2: ReadOntologyMetadataV2 <- appActor + .ask( + OntologyMetadataGetByIriRequestV2( + Set(resourceClassOntologyIri), + userProfile + ) + ) + .mapTo[ReadOntologyMetadataV2] ontologyMetadata: OntologyMetadataV2 = readOntologyMetadataV2.ontologies.headOption .getOrElse(throw BadRequestException(s"Ontology $resourceClassOntologyIri not found")) @@ -2547,13 +2608,15 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo ) } - projectInfoResponse <- { - responderManager ? ProjectInfoByIRIGetRequestV1( - iri = resourceInfo.project_id, - featureFactoryConfig = resourceDeleteRequest.featureFactoryConfig, - userProfileV1 = None - ) - }.mapTo[ProjectInfoResponseV1] + projectInfoResponse <- appActor + .ask( + ProjectInfoByIRIGetRequestV1( + iri = resourceInfo.project_id, + featureFactoryConfig = resourceDeleteRequest.featureFactoryConfig, + userProfileV1 = None + ) + ) + .mapTo[ProjectInfoResponseV1] // Make a timestamp to indicate when the resource was marked as deleted. currentTime: String = Instant.now.toString @@ -2571,7 +2634,7 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo .toString() // Do the update. - sparqlUpdateResponse <- (storeManager ? SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] + sparqlUpdateResponse <- appActor.ask(SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] // Check whether the update succeeded. sparqlQuery = org.knora.webapi.messages.twirl.queries.sparql.v1.txt @@ -2579,7 +2642,7 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo resourceIri = resourceDeleteRequest.resourceIri ) .toString() - sparqlSelectResponse <- (storeManager ? SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] + sparqlSelectResponse <- appActor.ask(SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] rows = sparqlSelectResponse.results.bindings _ = if ( @@ -2654,7 +2717,7 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo userProfile = userProfile ) - subClassResponse <- (responderManager ? checkSubClassRequest).mapTo[CheckSubClassResponseV1] + subClassResponse <- appActor.ask(checkSubClassRequest).mapTo[CheckSubClassResponseV1] } yield ResourceCheckClassResponseV1(isInClass = subClassResponse.isSubClass) @@ -2697,13 +2760,15 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo ) } - projectInfoResponse <- { - responderManager ? ProjectInfoByIRIGetRequestV1( - iri = resourceInfo.project_id, - featureFactoryConfig = featureFactoryConfig, - userProfileV1 = None - ) - }.mapTo[ProjectInfoResponseV1] + projectInfoResponse <- appActor + .ask( + ProjectInfoByIRIGetRequestV1( + iri = resourceInfo.project_id, + featureFactoryConfig = featureFactoryConfig, + userProfileV1 = None + ) + ) + .mapTo[ProjectInfoResponseV1] // get the named graph the resource is contained in by the resource's project namedGraph = StringFormatter.getGeneralInstance.projectDataNamedGraphV1(projectInfoResponse.project_info) @@ -2724,7 +2789,7 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo //_ = print(sparqlUpdate) // Do the update. - sparqlUpdateResponse <- (storeManager ? SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] + sparqlUpdateResponse <- appActor.ask(SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] // Check whether the update succeeded. sparqlQuery = org.knora.webapi.messages.twirl.queries.sparql.v1.txt @@ -2734,7 +2799,7 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo ) .toString() - sparqlSelectResponse <- (storeManager ? SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] + sparqlSelectResponse <- appActor.ask(SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] rows = sparqlSelectResponse.results.bindings // we expect exactly one row to be returned if the label was updated correctly in the data. @@ -2794,7 +2859,7 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo ) .toString() ) - resInfoResponse <- (storeManager ? SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] + resInfoResponse <- appActor.ask(SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] resInfoResponseRows = resInfoResponse.results.bindings resInfo: (Option[Int], ResourceInfoV1) <- makeResourceInfoV1( @@ -2829,7 +2894,8 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo .toString() ) - resclassQueryResponse: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(resclassSparqlQuery)) + resclassQueryResponse: SparqlSelectResult <- appActor + .ask(SparqlSelectRequest(resclassSparqlQuery)) .mapTo[SparqlSelectResult] resclass = resclassQueryResponse.results.bindings.headOption .getOrElse(throw InconsistentRepositoryDataException(s"No resource class given for $resourceIri")) @@ -2881,11 +2947,14 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo val resourceEntityIris: Set[IRI] = Set(resourceTypeIri) for { - entityInfoResponse <- (responderManager ? EntityInfoGetRequestV1( - resourceClassIris = resourceEntityIris, - propertyIris = propertyEntityIris, - userProfile = userProfile - )) + entityInfoResponse <- appActor + .ask( + EntityInfoGetRequestV1( + resourceClassIris = resourceEntityIris, + propertyIris = propertyEntityIris, + userProfile = userProfile + ) + ) .mapTo[EntityInfoGetResponseV1] resourceEntityInfoMap: Map[IRI, ClassInfoV1] = entityInfoResponse.resourceClassInfoMap propertyInfoMap: Map[IRI, PropertyInfoV1] = entityInfoResponse.propertyInfoMap @@ -3016,7 +3085,7 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo valueV1 <- valueUtilV1.makeValueV1( valueProps = fileValueProps, projectShortcode = projectShortcode, - responderManager = responderManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, userProfile = userProfile ) @@ -3078,10 +3147,13 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo val resTypeIri = groupedByPredicate(OntologyConstants.Rdf.Type).head("obj") for { - entityInfoResponse <- (responderManager ? EntityInfoGetRequestV1( - resourceClassIris = Set(resTypeIri), - userProfile = userProfile - )) + entityInfoResponse <- appActor + .ask( + EntityInfoGetRequestV1( + resourceClassIris = Set(resTypeIri), + userProfile = userProfile + ) + ) .mapTo[EntityInfoGetResponseV1] entityInfo = entityInfoResponse.resourceClassInfoMap(resTypeIri) label = entityInfo.getPredicateObject( @@ -3140,7 +3212,7 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo .toString() ) // _ = println(sparqlQuery) - resPropsResponse <- (storeManager ? SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] + resPropsResponse <- appActor.ask(SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] // Partition the property result rows into rows with value properties and rows with link properties. (rowsWithLinks: Seq[VariableResultsRow], rowsWithValues: Seq[VariableResultsRow]) = @@ -3282,7 +3354,7 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo valueV1 <- valueUtilV1.makeValueV1( valueProps = valueProps, projectShortcode = projectShortcode, - responderManager = responderManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, userProfile = userProfile ) @@ -3435,7 +3507,7 @@ class ResourcesResponderV1(responderData: ResponderData) extends Responder(respo apiValueV1ForLinkValue <- valueUtilV1.makeValueV1( valueProps = linkValueProps, projectShortcode = projectShortcode, - responderManager = responderManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, userProfile = userProfile ) diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v1/SearchResponderV1.scala b/webapi/src/main/scala/org/knora/webapi/responders/v1/SearchResponderV1.scala index 89dda68c3d..2d60e6fd8a 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v1/SearchResponderV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v1/SearchResponderV1.scala @@ -174,7 +174,7 @@ class SearchResponderV1(responderData: ResponderData) extends Responder(responde // _ = println("================" + pagingSparql) - searchResponse: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(searchSparql)).mapTo[SparqlSelectResult] + searchResponse: SparqlSelectResult <- appActor.ask(SparqlSelectRequest(searchSparql)).mapTo[SparqlSelectResult] // Get the IRIs of all the properties mentioned in the search results. propertyIris: Set[IRI] = searchResponse.results.bindings.flatMap(_.rowMap.get("resourceProperty")).toSet @@ -190,7 +190,7 @@ class SearchResponderV1(responderData: ResponderData) extends Responder(responde userProfile = searchGetRequest.userProfile ) - entityInfoResponse <- (responderManager ? entityInfoRequest).mapTo[EntityInfoGetResponseV1] + entityInfoResponse <- appActor.ask(entityInfoRequest).mapTo[EntityInfoGetResponseV1] // Group the search results by resource IRI. groupedByResourceIri: Map[IRI, Seq[VariableResultsRow]] = searchResponse.results.bindings @@ -354,10 +354,14 @@ class SearchResponderV1(responderData: ResponderData) extends Responder(responde for { // get information about all the properties involved - propertyInfo: EntityInfoGetResponseV1 <- (responderManager ? EntityInfoGetRequestV1( - propertyIris = searchGetRequest.propertyIri.toSet, - userProfile = searchGetRequest.userProfile - )).mapTo[EntityInfoGetResponseV1] + propertyInfo: EntityInfoGetResponseV1 <- appActor + .ask( + EntityInfoGetRequestV1( + propertyIris = searchGetRequest.propertyIri.toSet, + userProfile = searchGetRequest.userProfile + ) + ) + .mapTo[EntityInfoGetResponseV1] /* * handle parallel lists here: propertyIri, comparisonOperator, SearchValue @@ -582,7 +586,7 @@ class SearchResponderV1(responderData: ResponderData) extends Responder(responde // _ = println(searchSparql) - searchResponse: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(searchSparql)).mapTo[SparqlSelectResult] + searchResponse: SparqlSelectResult <- appActor.ask(SparqlSelectRequest(searchSparql)).mapTo[SparqlSelectResult] // Collect all the resource class IRIs mentioned in the search results. resourceClassIris: Set[IRI] = searchResponse.results.bindings.map(_.rowMap("resourceClass")).toSet @@ -594,7 +598,7 @@ class SearchResponderV1(responderData: ResponderData) extends Responder(responde userProfile = searchGetRequest.userProfile ) - entityInfoResponse <- (responderManager ? entityInfoRequest).mapTo[EntityInfoGetResponseV1] + entityInfoResponse <- appActor.ask(entityInfoRequest).mapTo[EntityInfoGetResponseV1] // Group the search results by resource IRI. groupedByResourceIri: Map[IRI, Seq[VariableResultsRow]] = searchResponse.results.bindings diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v1/StandoffResponderV1.scala b/webapi/src/main/scala/org/knora/webapi/responders/v1/StandoffResponderV1.scala index ac52bec9fd..103142b5d2 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v1/StandoffResponderV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v1/StandoffResponderV1.scala @@ -59,11 +59,15 @@ class StandoffResponderV1(responderData: ResponderData) extends Responder(respon ): Future[GetXSLTransformationResponseV1] = { val xslTransformationFuture = for { - xsltTransformation <- (responderManager ? GetXSLTransformationRequestV2( - xsltTextRepresentationIri = xslTransformationIri, - featureFactoryConfig = featureFactoryConfig, - requestingUser = userProfile - )).mapTo[GetXSLTransformationResponseV2] + xsltTransformation <- appActor + .ask( + GetXSLTransformationRequestV2( + xsltTextRepresentationIri = xslTransformationIri, + featureFactoryConfig = featureFactoryConfig, + requestingUser = userProfile + ) + ) + .mapTo[GetXSLTransformationResponseV2] } yield GetXSLTransformationResponseV1( xslt = xsltTransformation.xslt ) @@ -109,7 +113,7 @@ class StandoffResponderV1(responderData: ResponderData) extends Responder(respon ) for { - mappingResponse <- (responderManager ? createMappingRequest).mapTo[CreateMappingResponseV2] + mappingResponse <- appActor.ask(createMappingRequest).mapTo[CreateMappingResponseV2] } yield CreateMappingResponseV1( mappingResponse.mappingIri ) @@ -135,11 +139,15 @@ class StandoffResponderV1(responderData: ResponderData) extends Responder(respon userProfile: UserADM ): Future[GetMappingResponseV1] = for { - mappingResponse: GetMappingResponseV2 <- (responderManager ? GetMappingRequestV2( - mappingIri = mappingIri, - featureFactoryConfig = featureFactoryConfig, - requestingUser = userProfile - )).mapTo[GetMappingResponseV2] + mappingResponse: GetMappingResponseV2 <- appActor + .ask( + GetMappingRequestV2( + mappingIri = mappingIri, + featureFactoryConfig = featureFactoryConfig, + requestingUser = userProfile + ) + ) + .mapTo[GetMappingResponseV2] } yield GetMappingResponseV1( mappingIri = mappingResponse.mappingIri, mapping = mappingResponse.mapping, diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v1/UsersResponderV1.scala b/webapi/src/main/scala/org/knora/webapi/responders/v1/UsersResponderV1.scala index c7b9bcbc08..810d3f5ffc 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v1/UsersResponderV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v1/UsersResponderV1.scala @@ -85,7 +85,7 @@ class UsersResponderV1(responderData: ResponderData) extends Responder(responder .toString() ) - usersResponse <- (storeManager ? SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] + usersResponse <- appActor.ask(SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] usersResponseRows: Seq[VariableResultsRow] = usersResponse.results.bindings @@ -144,7 +144,7 @@ class UsersResponderV1(responderData: ResponderData) extends Responder(responder // _ = log.debug("userDataByIRIGetV1 - sparqlQueryString: {}", sparqlQueryString) - userDataQueryResponse <- (storeManager ? SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] + userDataQueryResponse <- appActor.ask(SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] maybeUserDataV1 <- userDataQueryResponse2UserDataV1(userDataQueryResponse, short) @@ -185,7 +185,7 @@ class UsersResponderV1(responderData: ResponderData) extends Responder(responder // _ = log.debug(s"userProfileByIRIGetV1 - sparqlQueryString: {}", sparqlQueryString) - userDataQueryResponse <- (storeManager ? SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] + userDataQueryResponse <- appActor.ask(SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] maybeUserProfileV1 <- userDataQueryResponse2UserProfileV1( userDataQueryResponse = userDataQueryResponse, @@ -267,7 +267,7 @@ class UsersResponderV1(responderData: ResponderData) extends Responder(responder ) //_ = log.debug(s"userProfileByEmailGetV1 - sparqlQueryString: $sparqlQueryString") - userDataQueryResponse <- (storeManager ? SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] + userDataQueryResponse <- appActor.ask(SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] //_ = log.debug(MessageUtil.toSource(userDataQueryResponse)) maybeUserProfileV1 <- userDataQueryResponse2UserProfileV1( @@ -339,7 +339,7 @@ class UsersResponderV1(responderData: ResponderData) extends Responder(responder //_ = log.debug("userDataByIRIGetV1 - sparqlQueryString: {}", sparqlQueryString) - userDataQueryResponse <- (storeManager ? SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] + userDataQueryResponse <- appActor.ask(SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] groupedUserData: Map[String, Seq[String]] = userDataQueryResponse.results.bindings.groupBy(_.rowMap("p")).map { case (predicate, rows) => predicate -> rows.map(_.rowMap("o")) @@ -379,7 +379,7 @@ class UsersResponderV1(responderData: ResponderData) extends Responder(responder //_ = log.debug("userDataByIRIGetV1 - sparqlQueryString: {}", sparqlQueryString) - userDataQueryResponse <- (storeManager ? SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] + userDataQueryResponse <- appActor.ask(SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] groupedUserData: Map[String, Seq[String]] = userDataQueryResponse.results.bindings.groupBy(_.rowMap("p")).map { case (predicate, rows) => predicate -> rows.map(_.rowMap("o")) @@ -418,7 +418,7 @@ class UsersResponderV1(responderData: ResponderData) extends Responder(responder //_ = log.debug("userDataByIRIGetV1 - sparqlQueryString: {}", sparqlQueryString) - userDataQueryResponse <- (storeManager ? SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] + userDataQueryResponse <- appActor.ask(SparqlSelectRequest(sparqlQueryString)).mapTo[SparqlSelectResult] groupedUserData: Map[String, Seq[String]] = userDataQueryResponse.results.bindings.groupBy(_.rowMap("p")).map { case (predicate, rows) => predicate -> rows.map(_.rowMap("o")) @@ -542,21 +542,30 @@ class UsersResponderV1(responderData: ResponderData) extends Responder(responder for { /* get the user's permission profile from the permissions responder */ - permissionData <- (responderManager ? PermissionDataGetADM( - projectIris = projectIris, - groupIris = groupIris, - isInProjectAdminGroups = isInProjectAdminGroups, - isInSystemAdminGroup = isInSystemAdminGroup, - featureFactoryConfig = featureFactoryConfig, - requestingUser = KnoraSystemInstances.Users.SystemUser - )).mapTo[PermissionsDataADM] + permissionData <- appActor + .ask( + PermissionDataGetADM( + projectIris = projectIris, + groupIris = groupIris, + isInProjectAdminGroups = isInProjectAdminGroups, + isInSystemAdminGroup = isInSystemAdminGroup, + featureFactoryConfig = featureFactoryConfig, + requestingUser = KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[PermissionsDataADM] maybeProjectInfoFutures: Seq[Future[Option[ProjectInfoV1]]] = projectIris.map { projectIri => - (responderManager ? ProjectInfoByIRIGetV1( - iri = projectIri, - featureFactoryConfig = featureFactoryConfig, - userProfileV1 = None - )).mapTo[Option[ProjectInfoV1]] + appActor + .ask( + ProjectInfoByIRIGetV1( + iri = projectIri, + featureFactoryConfig = + featureFactoryConfig, + userProfileV1 = None + ) + ) + .mapTo[Option[ProjectInfoV1]] } maybeProjectInfos: Seq[Option[ProjectInfoV1]] <- Future.sequence(maybeProjectInfoFutures) @@ -593,7 +602,7 @@ class UsersResponderV1(responderData: ResponderData) extends Responder(responder ) // _ = log.debug("userExists - query: {}", askString) - checkUserExistsResponse <- (storeManager ? SparqlAskRequest(askString)).mapTo[SparqlAskResponse] + checkUserExistsResponse <- appActor.ask(SparqlAskRequest(askString)).mapTo[SparqlAskResponse] result = checkUserExistsResponse.result } yield result @@ -613,7 +622,7 @@ class UsersResponderV1(responderData: ResponderData) extends Responder(responder ) // _ = log.debug("projectExists - query: {}", askString) - checkUserExistsResponse <- (storeManager ? SparqlAskRequest(askString)).mapTo[SparqlAskResponse] + checkUserExistsResponse <- appActor.ask(SparqlAskRequest(askString)).mapTo[SparqlAskResponse] result = checkUserExistsResponse.result } yield result @@ -632,7 +641,7 @@ class UsersResponderV1(responderData: ResponderData) extends Responder(responder ) // _ = log.debug("groupExists - query: {}", askString) - checkUserExistsResponse <- (storeManager ? SparqlAskRequest(askString)).mapTo[SparqlAskResponse] + checkUserExistsResponse <- appActor.ask(SparqlAskRequest(askString)).mapTo[SparqlAskResponse] result = checkUserExistsResponse.result } yield result diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v1/ValuesResponderV1.scala b/webapi/src/main/scala/org/knora/webapi/responders/v1/ValuesResponderV1.scala index c7400eb4e2..8699426433 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v1/ValuesResponderV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v1/ValuesResponderV1.scala @@ -106,11 +106,15 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde response <- maybeValueQueryResult match { case Some(valueQueryResult) => for { - maybeValueCreatorProfile <- (responderManager ? UserProfileByIRIGetV1( - userIri = valueQueryResult.creatorIri, - userProfileType = UserProfileTypeV1.RESTRICTED, - featureFactoryConfig = featureFactoryConfig - )).mapTo[Option[UserProfileV1]] + maybeValueCreatorProfile <- appActor + .ask( + UserProfileByIRIGetV1( + userIri = valueQueryResult.creatorIri, + userProfileType = UserProfileTypeV1.RESTRICTED, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[Option[UserProfileV1]] valueCreatorProfile = maybeValueCreatorProfile match { case Some(up) => up @@ -152,10 +156,14 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde def makeTaskFuture(userIri: IRI): Future[CreateValueResponseV1] = for { // Check that the submitted value has the correct type for the property. - entityInfoResponse: EntityInfoGetResponseV1 <- (responderManager ? EntityInfoGetRequestV1( - propertyIris = Set(createValueRequest.propertyIri), - userProfile = createValueRequest.userProfile - )).mapTo[EntityInfoGetResponseV1] + entityInfoResponse: EntityInfoGetResponseV1 <- appActor + .ask( + EntityInfoGetRequestV1( + propertyIris = Set(createValueRequest.propertyIri), + userProfile = createValueRequest.userProfile + ) + ) + .mapTo[EntityInfoGetResponseV1] propertyInfo = entityInfoResponse.propertyInfoMap(createValueRequest.propertyIri) propertyObjectClassConstraint = propertyInfo @@ -179,12 +187,16 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde // Check that the user has permission to modify the resource. (We do this as late as possible because it's // slower than the other checks, and there's no point in doing it if the other checks fail.) - resourceFullResponse <- (responderManager ? ResourceFullGetRequestV1( - iri = createValueRequest.resourceIri, - featureFactoryConfig = createValueRequest.featureFactoryConfig, - userADM = createValueRequest.userProfile, - getIncoming = false - )).mapTo[ResourceFullResponseV1] + resourceFullResponse <- appActor + .ask( + ResourceFullGetRequestV1( + iri = createValueRequest.resourceIri, + featureFactoryConfig = createValueRequest.featureFactoryConfig, + userADM = createValueRequest.userProfile, + getIncoming = false + ) + ) + .mapTo[ResourceFullResponseV1] resourcePermissionCode: Option[Int] = resourceFullResponse.resdata.flatMap(resdata => resdata.rights) @@ -248,25 +260,29 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde ) .restype_id - defaultObjectAccessPermissions <- { - responderManager ? DefaultObjectAccessPermissionsStringForPropertyGetADM( - projectIri = projectIri, - resourceClassIri = resourceClassIri, - propertyIri = createValueRequest.propertyIri, - targetUser = createValueRequest.userProfile, - requestingUser = KnoraSystemInstances.Users.SystemUser - ) - }.mapTo[DefaultObjectAccessPermissionsStringResponseADM] + defaultObjectAccessPermissions <- appActor + .ask( + DefaultObjectAccessPermissionsStringForPropertyGetADM( + projectIri = projectIri, + resourceClassIri = resourceClassIri, + propertyIri = createValueRequest.propertyIri, + targetUser = createValueRequest.userProfile, + requestingUser = KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[DefaultObjectAccessPermissionsStringResponseADM] _ = log.debug(s"createValueV1 - defaultObjectAccessPermissions: $defaultObjectAccessPermissions") // Get project info - maybeProjectInfo <- { - responderManager ? ProjectInfoByIRIGetV1( - iri = projectIri, - featureFactoryConfig = createValueRequest.featureFactoryConfig, - userProfileV1 = Some(createValueRequest.userProfile.asUserProfileV1) - ) - }.mapTo[Option[ProjectInfoV1]] + maybeProjectInfo <- appActor + .ask( + ProjectInfoByIRIGetV1( + iri = projectIri, + featureFactoryConfig = createValueRequest.featureFactoryConfig, + userProfileV1 = Some(createValueRequest.userProfile.asUserProfileV1) + ) + ) + .mapTo[Option[ProjectInfoV1]] projectInfo = maybeProjectInfo match { case Some(pi) => pi @@ -763,7 +779,8 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde ) .toString() //_ = print(getFileValuesSparql) - getFileValuesResponse: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(getFileValuesSparql)) + getFileValuesResponse: SparqlSelectResult <- appActor + .ask(SparqlSelectRequest(getFileValuesSparql)) .mapTo[SparqlSelectResult] // _ <- Future(println(getFileValuesResponse)) @@ -814,27 +831,34 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde updateFuture = triplestoreUpdateFuture, valueContent = fileValueContent, requestingUser = changeFileValueRequest.userProfile, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, log = log ) } for { - resourceInfoResponse <- (responderManager ? ResourceInfoGetRequestV1( - iri = changeFileValueRequest.resourceIri, - featureFactoryConfig = changeFileValueRequest.featureFactoryConfig, - userProfile = changeFileValueRequest.userProfile - )).mapTo[ResourceInfoResponseV1] + resourceInfoResponse <- appActor + .ask( + ResourceInfoGetRequestV1( + iri = changeFileValueRequest.resourceIri, + featureFactoryConfig = changeFileValueRequest.featureFactoryConfig, + userProfile = changeFileValueRequest.userProfile + ) + ) + .mapTo[ResourceInfoResponseV1] // Get project info - projectResponse <- { - responderManager ? ProjectGetRequestADM( - identifier = ProjectIdentifierADM(maybeIri = Some(resourceInfoResponse.resource_info.get.project_id)), - featureFactoryConfig = changeFileValueRequest.featureFactoryConfig, - requestingUser = changeFileValueRequest.userProfile - ) - }.mapTo[ProjectGetResponseADM] + projectResponse <- appActor + .ask( + ProjectGetRequestADM( + identifier = ProjectIdentifierADM(maybeIri = + Some(resourceInfoResponse.resource_info.get.project_id) + ), + featureFactoryConfig = changeFileValueRequest.featureFactoryConfig, + requestingUser = changeFileValueRequest.userProfile + ) + ) + .mapTo[ProjectGetResponseADM] // Do the preparations of a file value change while already holding an update lock on the resource. // This is necessary because in `makeTaskFuture` the current file value Iris for the given resource IRI have to been retrieved. @@ -929,10 +953,14 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde // Check that the submitted value has the correct type for the property. - entityInfoResponse <- (responderManager ? EntityInfoGetRequestV1( - propertyIris = Set(propertyIri), - userProfile = changeValueRequest.userProfile - )).mapTo[EntityInfoGetResponseV1] + entityInfoResponse <- appActor + .ask( + EntityInfoGetRequestV1( + propertyIris = Set(propertyIri), + userProfile = changeValueRequest.userProfile + ) + ) + .mapTo[EntityInfoGetResponseV1] propertyInfo = entityInfoResponse.propertyInfoMap(propertyIri) propertyObjectClassConstraint = propertyInfo @@ -967,12 +995,16 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde // Get details of the resource. (We do this as late as possible because it's slower than the other checks, // and there's no point in doing it if the other checks fail.) - resourceFullResponse <- (responderManager ? ResourceFullGetRequestV1( - iri = findResourceWithValueResult.resourceIri, - featureFactoryConfig = changeValueRequest.featureFactoryConfig, - userADM = changeValueRequest.userProfile, - getIncoming = false - )).mapTo[ResourceFullResponseV1] + resourceFullResponse <- appActor + .ask( + ResourceFullGetRequestV1( + iri = findResourceWithValueResult.resourceIri, + featureFactoryConfig = changeValueRequest.featureFactoryConfig, + userADM = changeValueRequest.userProfile, + getIncoming = false + ) + ) + .mapTo[ResourceFullResponseV1] _ = changeValueRequest.value match { case _: FileValueV1 => () // It is a file value, do not check for duplicates. @@ -1015,25 +1047,29 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde log.debug( s"changeValueV1 - DefaultObjectAccessPermissionsStringForPropertyGetV1 - projectIri ${findResourceWithValueResult.projectIri}, propertyIri: ${findResourceWithValueResult.propertyIri}, permissions: ${changeValueRequest.userProfile.permissions} " ) - defaultObjectAccessPermissions <- { - responderManager ? DefaultObjectAccessPermissionsStringForPropertyGetADM( - projectIri = findResourceWithValueResult.projectIri, - resourceClassIri = resourceClassIri, - propertyIri = findResourceWithValueResult.propertyIri, - targetUser = changeValueRequest.userProfile, - requestingUser = KnoraSystemInstances.Users.SystemUser - ) - }.mapTo[DefaultObjectAccessPermissionsStringResponseADM] + defaultObjectAccessPermissions <- appActor + .ask( + DefaultObjectAccessPermissionsStringForPropertyGetADM( + projectIri = findResourceWithValueResult.projectIri, + resourceClassIri = resourceClassIri, + propertyIri = findResourceWithValueResult.propertyIri, + targetUser = changeValueRequest.userProfile, + requestingUser = KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[DefaultObjectAccessPermissionsStringResponseADM] _ = log.debug(s"changeValueV1 - defaultObjectAccessPermissions: $defaultObjectAccessPermissions") // Get project info - maybeProjectInfo <- { - responderManager ? ProjectInfoByIRIGetV1( - iri = resourceFullResponse.resinfo.get.project_id, - featureFactoryConfig = changeValueRequest.featureFactoryConfig, - userProfileV1 = Some(changeValueRequest.userProfile.asUserProfileV1) - ) - }.mapTo[Option[ProjectInfoV1]] + maybeProjectInfo <- appActor + .ask( + ProjectInfoByIRIGetV1( + iri = resourceFullResponse.resinfo.get.project_id, + featureFactoryConfig = changeValueRequest.featureFactoryConfig, + userProfileV1 = Some(changeValueRequest.userProfile.asUserProfileV1) + ) + ) + .mapTo[Option[ProjectInfoV1]] projectInfo = maybeProjectInfo match { case Some(pi) => pi @@ -1181,13 +1217,15 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde newValueIri = stringFormatter.makeRandomValueIri(findResourceWithValueResult.resourceIri) // Get project info - maybeProjectInfo <- { - responderManager ? ProjectInfoByIRIGetV1( - findResourceWithValueResult.projectIri, - featureFactoryConfig = changeCommentRequest.featureFactoryConfig, - None - ) - }.mapTo[Option[ProjectInfoV1]] + maybeProjectInfo <- appActor + .ask( + ProjectInfoByIRIGetV1( + findResourceWithValueResult.projectIri, + featureFactoryConfig = changeCommentRequest.featureFactoryConfig, + None + ) + ) + .mapTo[Option[ProjectInfoV1]] projectInfo = maybeProjectInfo match { case Some(pi) => pi @@ -1212,7 +1250,7 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde .toString() // Do the update. - sparqlUpdateResponse <- (storeManager ? SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] + sparqlUpdateResponse <- appActor.ask(SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] // To find out whether the update succeeded, look for the new value in the triplestore. verifyUpdateResult <- verifyOrdinaryValueUpdate( @@ -1328,13 +1366,16 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde for { // Get project info - maybeProjectInfo <- { - responderManager ? ProjectInfoByIRIGetV1( - iri = findResourceWithValueResult.projectIri, - featureFactoryConfig = deleteValueRequest.featureFactoryConfig, - userProfileV1 = None - ) - }.mapTo[Option[ProjectInfoV1]] + maybeProjectInfo <- + appActor + .ask( + ProjectInfoByIRIGetV1( + iri = findResourceWithValueResult.projectIri, + featureFactoryConfig = deleteValueRequest.featureFactoryConfig, + userProfileV1 = None + ) + ) + .mapTo[Option[ProjectInfoV1]] projectInfo = maybeProjectInfo match { case Some(pi) => pi @@ -1403,13 +1444,16 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde linkUpdates <- linkUpdatesFuture // Get project info - maybeProjectInfo <- { - responderManager ? ProjectInfoByIRIGetV1( - iri = findResourceWithValueResult.projectIri, - featureFactoryConfig = deleteValueRequest.featureFactoryConfig, - userProfileV1 = None - ) - }.mapTo[Option[ProjectInfoV1]] + maybeProjectInfo <- + appActor + .ask( + ProjectInfoByIRIGetV1( + iri = findResourceWithValueResult.projectIri, + featureFactoryConfig = deleteValueRequest.featureFactoryConfig, + userProfileV1 = None + ) + ) + .mapTo[Option[ProjectInfoV1]] projectInfo = maybeProjectInfo match { case Some(pi) => pi @@ -1440,7 +1484,7 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde } // Do the update. - sparqlUpdateResponse <- (storeManager ? SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] + sparqlUpdateResponse <- appActor.ask(SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] // Check whether the update succeeded. sparqlQuery = org.knora.webapi.messages.twirl.queries.sparql.v1.txt @@ -1448,7 +1492,7 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde valueIri = deletedValueIri ) .toString() - sparqlSelectResponse <- (storeManager ? SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] + sparqlSelectResponse <- appActor.ask(SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] rows = sparqlSelectResponse.results.bindings _ = if ( @@ -1533,7 +1577,7 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde ) .toString() } - selectResponse: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] + selectResponse: SparqlSelectResult <- appActor.ask(SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] rows = selectResponse.results.bindings _ = if (rows.isEmpty) { @@ -1644,11 +1688,15 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde linkValueResponse <- maybeValueQueryResult match { case Some(valueQueryResult) => for { - maybeValueCreatorProfile <- (responderManager ? UserProfileByIRIGetV1( - userIri = valueQueryResult.creatorIri, - userProfileType = UserProfileTypeV1.RESTRICTED, - featureFactoryConfig = featureFactoryConfig - )).mapTo[Option[UserProfileV1]] + maybeValueCreatorProfile <- appActor + .ask( + UserProfileByIRIGetV1( + userIri = valueQueryResult.creatorIri, + userProfileType = UserProfileTypeV1.RESTRICTED, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[Option[UserProfileV1]] valueCreatorProfile = maybeValueCreatorProfile match { case Some(up) => up @@ -1773,7 +1821,7 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde .toString() ) - response <- (storeManager ? SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] + response <- appActor.ask(SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] rows: Seq[VariableResultsRow] = response.results.bindings maybeValueQueryResult <- sparqlQueryResults2ValueQueryResult( @@ -1814,7 +1862,7 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde .toString() ) - response <- (storeManager ? SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] + response <- appActor.ask(SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] rows = response.results.bindings _ = if (rows.isEmpty) { @@ -1879,7 +1927,7 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde .toString() } - response <- (storeManager ? SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] + response <- appActor.ask(SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] rows: Seq[VariableResultsRow] = response.results.bindings maybeLinkValueQueryResult <- sparqlQueryResults2LinkValueQueryResult( @@ -1924,7 +1972,7 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde .toString() } - response <- (storeManager ? SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] + response <- appActor.ask(SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] rows: Seq[VariableResultsRow] = response.results.bindings maybeLinkValueQueryResult <- sparqlQueryResults2LinkValueQueryResult( @@ -1975,7 +2023,7 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde value <- valueUtilV1.makeValueV1( valueProps = valueProps, projectShortcode = projectShortcode, - responderManager = responderManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, userProfile = userProfile ) @@ -2096,7 +2144,7 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde linkValueMaybe <- valueUtilV1.makeValueV1( valueProps = valueProps, projectShortcode = projectShortcode, - responderManager = responderManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, userProfile = userProfile ) @@ -2266,7 +2314,8 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde .toString() } - updateVerificationResponse: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(sparqlQuery)) + updateVerificationResponse: SparqlSelectResult <- appActor + .ask(SparqlSelectRequest(sparqlQuery)) .mapTo[SparqlSelectResult] rows = updateVerificationResponse.results.bindings @@ -2364,7 +2413,7 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde ) .toString() ) - findResourceResponse <- (storeManager ? SparqlSelectRequest(findResourceSparqlQuery)).mapTo[SparqlSelectResult] + findResourceResponse <- appActor.ask(SparqlSelectRequest(findResourceSparqlQuery)).mapTo[SparqlSelectResult] _ = if (findResourceResponse.results.bindings.isEmpty) { throw NotFoundException(s"No resource found containing value $valueIri") @@ -2492,7 +2541,7 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde */ // Do the update. - sparqlUpdateResponse <- (storeManager ? SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] + sparqlUpdateResponse <- appActor.ask(SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] } yield UnverifiedValueV1( newValueIri = sparqlTemplateLinkUpdate.newLinkValueIri, value = linkUpdateV1 @@ -2580,7 +2629,7 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde */ // Do the update. - sparqlUpdateResponse <- (storeManager ? SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] + sparqlUpdateResponse <- appActor.ask(SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] } yield UnverifiedValueV1( newValueIri = newValueIri, value = value @@ -2640,13 +2689,15 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde ) // Get project info - maybeProjectInfo <- { - responderManager ? ProjectInfoByIRIGetV1( - iri = projectIri, - featureFactoryConfig = featureFactoryConfig, - userProfileV1 = None - ) - }.mapTo[Option[ProjectInfoV1]] + maybeProjectInfo <- appActor + .ask( + ProjectInfoByIRIGetV1( + iri = projectIri, + featureFactoryConfig = featureFactoryConfig, + userProfileV1 = None + ) + ) + .mapTo[Option[ProjectInfoV1]] projectInfo = maybeProjectInfo match { case Some(pi) => pi @@ -2677,7 +2728,7 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde */ // Do the update. - sparqlUpdateResponse <- (storeManager ? SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] + sparqlUpdateResponse <- appActor.ask(SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] // To find out whether the update succeeded, check that the new link is in the triplestore. linkValueQueryResult <- verifyLinkUpdate( @@ -2809,13 +2860,15 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde } // Get project info - maybeProjectInfo <- { - responderManager ? ProjectInfoByIRIGetV1( - iri = projectIri, - featureFactoryConfig = featureFactoryConfig, - userProfileV1 = None - ) - }.mapTo[Option[ProjectInfoV1]] + maybeProjectInfo <- appActor + .ask( + ProjectInfoByIRIGetV1( + iri = projectIri, + featureFactoryConfig = featureFactoryConfig, + userProfileV1 = None + ) + ) + .mapTo[Option[ProjectInfoV1]] projectInfo = maybeProjectInfo match { case Some(pi) => pi @@ -2852,7 +2905,7 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde */ // Do the update. - sparqlUpdateResponse <- (storeManager ? SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] + sparqlUpdateResponse <- appActor.ask(SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] // To find out whether the update succeeded, look for the new value in the triplestore. verifyUpdateResult <- verifyOrdinaryValueUpdate( @@ -3096,12 +3149,16 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde } else { val targetIriCheckFutures: Set[Future[Unit]] = targetIris.map { targetIri => for { - checkTargetClassResponse <- (responderManager ? ResourceCheckClassRequestV1( - resourceIri = targetIri, - owlClass = OntologyConstants.KnoraBase.Resource, - featureFactoryConfig = featureFactoryConfig, - userProfile = userProfile - )).mapTo[ResourceCheckClassResponseV1] + checkTargetClassResponse <- appActor + .ask( + ResourceCheckClassRequestV1( + resourceIri = targetIri, + owlClass = OntologyConstants.KnoraBase.Resource, + featureFactoryConfig = featureFactoryConfig, + userProfile = userProfile + ) + ) + .mapTo[ResourceCheckClassResponseV1] _ = if (!checkTargetClassResponse.isInClass) @@ -3139,12 +3196,16 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde case linkUpdate: LinkUpdateV1 => // We're creating a link. Ask the resources responder to check the OWL class of the target resource. for { - checkTargetClassResponse <- (responderManager ? ResourceCheckClassRequestV1( - resourceIri = linkUpdate.targetResourceIri, - owlClass = propertyObjectClassConstraint, - featureFactoryConfig = featureFactoryConfig, - userProfile = userProfile - )).mapTo[ResourceCheckClassResponseV1] + checkTargetClassResponse <- appActor + .ask( + ResourceCheckClassRequestV1( + resourceIri = linkUpdate.targetResourceIri, + owlClass = propertyObjectClassConstraint, + featureFactoryConfig = featureFactoryConfig, + userProfile = userProfile + ) + ) + .mapTo[ResourceCheckClassResponseV1] _ = if (!checkTargetClassResponse.isInClass) { throw OntologyConstraintException( @@ -3159,7 +3220,7 @@ class ValuesResponderV1(responderData: ResponderData) extends Responder(responde propertyIri = propertyIri, propertyObjectClassConstraint = propertyObjectClassConstraint, valueType = otherValue.valueTypeIri, - responderManager = responderManager, + appActor = appActor, userProfile = userProfile ) } diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v2/ListsResponderV2.scala b/webapi/src/main/scala/org/knora/webapi/responders/v2/ListsResponderV2.scala index 467ebcdbbf..be41ab9f71 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v2/ListsResponderV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v2/ListsResponderV2.scala @@ -49,11 +49,15 @@ class ListsResponderV2(responderData: ResponderData) extends Responder(responder requestingUser: UserADM ): Future[ListGetResponseV2] = for { - listResponseADM: ListGetResponseADM <- (responderManager ? ListGetRequestADM( - iri = listIri, - featureFactoryConfig = featureFactoryConfig, - requestingUser = requestingUser - )).mapTo[ListGetResponseADM] + listResponseADM: ListGetResponseADM <- appActor + .ask( + ListGetRequestADM( + iri = listIri, + featureFactoryConfig = featureFactoryConfig, + requestingUser = requestingUser + ) + ) + .mapTo[ListGetResponseADM] } yield ListGetResponseV2(list = listResponseADM.list, requestingUser.lang, settings.fallbackLanguage) @@ -71,11 +75,15 @@ class ListsResponderV2(responderData: ResponderData) extends Responder(responder requestingUser: UserADM ): Future[NodeGetResponseV2] = for { - nodeResponse: ChildNodeInfoGetResponseADM <- (responderManager ? ListNodeInfoGetRequestADM( - iri = nodeIri, - featureFactoryConfig = featureFactoryConfig, - requestingUser = requestingUser - )).mapTo[ChildNodeInfoGetResponseADM] + nodeResponse: ChildNodeInfoGetResponseADM <- appActor + .ask( + ListNodeInfoGetRequestADM( + iri = nodeIri, + featureFactoryConfig = featureFactoryConfig, + requestingUser = requestingUser + ) + ) + .mapTo[ChildNodeInfoGetResponseADM] } yield NodeGetResponseV2(node = nodeResponse.nodeinfo, requestingUser.lang, settings.fallbackLanguage) } diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v2/OntologyResponderV2.scala b/webapi/src/main/scala/org/knora/webapi/responders/v2/OntologyResponderV2.scala index f48eba91a3..af961d3ea6 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v2/OntologyResponderV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v2/OntologyResponderV2.scala @@ -69,7 +69,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon */ def receive(msg: OntologiesResponderRequestV2) = msg match { case LoadOntologiesRequestV2(featureFactoryConfig, requestingUser) => - Cache.loadOntologies(settings, storeManager, featureFactoryConfig, requestingUser) + Cache.loadOntologies(settings, appActor, featureFactoryConfig, requestingUser) case EntityInfoGetRequestV2(classIris, propertyIris, requestingUser) => getEntityInfoResponseV2(classIris, propertyIris, requestingUser) case StandoffEntityInfoGetRequestV2(standoffClassIris, standoffPropertyIris, requestingUser) => @@ -511,7 +511,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon // Make sure the ontology doesn't already exist. existingOntologyMetadata: Option[OntologyMetadataV2] <- OntologyHelpers.loadOntologyMetadata( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, featureFactoryConfig = createOntologyRequest.featureFactoryConfig @@ -559,7 +559,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon ) .toString - _ <- (storeManager ? SparqlUpdateRequest(createOntologySparql)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(createOntologySparql)).mapTo[SparqlUpdateResponse] // Check that the update was successful. To do this, we have to undo the SPARQL-escaping of the input. @@ -573,7 +573,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon maybeLoadedOntologyMetadata: Option[OntologyMetadataV2] <- OntologyHelpers.loadOntologyMetadata( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, featureFactoryConfig = createOntologyRequest.featureFactoryConfig @@ -614,11 +614,16 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon } // Get project info for the shortcode. - projectInfo: ProjectGetResponseADM <- (responderManager ? ProjectGetRequestADM( - identifier = ProjectIdentifierADM(maybeIri = Some(projectIri.toString)), - featureFactoryConfig = createOntologyRequest.featureFactoryConfig, - requestingUser = requestingUser - )).mapTo[ProjectGetResponseADM] + projectInfo: ProjectGetResponseADM <- appActor + .ask( + ProjectGetRequestADM( + identifier = + ProjectIdentifierADM(maybeIri = Some(projectIri.toString)), + featureFactoryConfig = createOntologyRequest.featureFactoryConfig, + requestingUser = requestingUser + ) + ) + .mapTo[ProjectGetResponseADM] // Check that the ontology name is valid. validOntologyName = @@ -665,7 +670,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon // Check that the ontology exists and has not been updated by another user since the client last read its metadata. _ <- OntologyHelpers.checkOntologyLastModificationDateBeforeUpdate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = changeOntologyMetadataRequest.lastModificationDate, featureFactoryConfig = changeOntologyMetadataRequest.featureFactoryConfig @@ -693,7 +698,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon ) .toString() - _ <- (storeManager ? SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] // Check that the update was successful. To do this, we have to undo the SPARQL-escaping of the input. @@ -728,7 +733,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon maybeLoadedOntologyMetadata: Option[OntologyMetadataV2] <- OntologyHelpers.loadOntologyMetadata( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, featureFactoryConfig = changeOntologyMetadataRequest.featureFactoryConfig ) @@ -782,7 +787,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon // Check that the ontology exists and has not been updated by another user since the client last read its metadata. _ <- OntologyHelpers.checkOntologyLastModificationDateBeforeUpdate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = deleteOntologyCommentRequestV2.lastModificationDate, featureFactoryConfig = deleteOntologyCommentRequestV2.featureFactoryConfig @@ -810,7 +815,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon ) .toString() - _ <- (storeManager ? SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] // Check that the update was successful. @@ -825,7 +830,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon maybeLoadedOntologyMetadata: Option[OntologyMetadataV2] <- OntologyHelpers.loadOntologyMetadata( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, featureFactoryConfig = deleteOntologyCommentRequestV2.featureFactoryConfig ) @@ -876,7 +881,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon // Check that the ontology exists and has not been updated by another user since the client last read it. _ <- OntologyHelpers.checkOntologyLastModificationDateBeforeUpdate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = createClassRequest.lastModificationDate, featureFactoryConfig = createClassRequest.featureFactoryConfig @@ -1005,13 +1010,13 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon ) .toString() - _ <- (storeManager ? SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] // Check that the ontology's last modification date was updated. _ <- OntologyHelpers.checkOntologyLastModificationDateAfterUpdate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = currentTime, featureFactoryConfig = createClassRequest.featureFactoryConfig @@ -1021,7 +1026,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon loadedClassDef <- OntologyHelpers.loadClassDefinition( settings, - storeManager, + appActor, classIri = internalClassIri, featureFactoryConfig = createClassRequest.featureFactoryConfig ) @@ -1096,7 +1101,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon // Check that the ontology exists and has not been updated by another user since the client last read it. _ <- OntologyHelpers.checkOntologyLastModificationDateBeforeUpdate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = changeGuiOrderRequest.lastModificationDate, featureFactoryConfig = changeGuiOrderRequest.featureFactoryConfig @@ -1185,13 +1190,13 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon ) .toString() - _ <- (storeManager ? SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] // Check that the ontology's last modification date was updated. _ <- OntologyHelpers.checkOntologyLastModificationDateAfterUpdate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = currentTime, featureFactoryConfig = changeGuiOrderRequest.featureFactoryConfig @@ -1201,7 +1206,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon loadedClassDef: ClassInfoContentV2 <- OntologyHelpers.loadClassDefinition( settings, - storeManager, + appActor, classIri = internalClassIri, featureFactoryConfig = changeGuiOrderRequest.featureFactoryConfig ) @@ -1281,7 +1286,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon // Check that the ontology exists and has not been updated by another user since the client last read it. _ <- OntologyHelpers.checkOntologyLastModificationDateBeforeUpdate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = addCardinalitiesRequest.lastModificationDate, featureFactoryConfig = addCardinalitiesRequest.featureFactoryConfig @@ -1427,13 +1432,13 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon ) .toString() - _ <- (storeManager ? SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] // Check that the ontology's last modification date was updated. _ <- OntologyHelpers.checkOntologyLastModificationDateAfterUpdate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = currentTime, featureFactoryConfig = addCardinalitiesRequest.featureFactoryConfig @@ -1443,7 +1448,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon loadedClassDef <- OntologyHelpers.loadClassDefinition( settings, - storeManager, + appActor, classIri = internalClassIri, featureFactoryConfig = addCardinalitiesRequest.featureFactoryConfig ) @@ -1558,7 +1563,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon // Check that the ontology exists and has not been updated by another user since the client last read it. _ <- OntologyHelpers.checkOntologyLastModificationDateBeforeUpdate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = changeCardinalitiesRequest.lastModificationDate, featureFactoryConfig = changeCardinalitiesRequest.featureFactoryConfig @@ -1678,13 +1683,13 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon ) .toString() - _ <- (storeManager ? SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] // Check that the ontology's last modification date was updated. _ <- OntologyHelpers.checkOntologyLastModificationDateAfterUpdate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = currentTime, featureFactoryConfig = changeCardinalitiesRequest.featureFactoryConfig @@ -1694,7 +1699,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon loadedClassDef <- OntologyHelpers.loadClassDefinition( settings, - storeManager, + appActor, classIri = internalClassIri, featureFactoryConfig = changeCardinalitiesRequest.featureFactoryConfig ) @@ -1786,7 +1791,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon task = () => Cardinalities.canDeleteCardinalitiesFromClass( settings, - storeManager, + appActor, deleteCardinalitiesFromClassRequest = canDeleteCardinalitiesFromClassRequest, internalClassIri = internalClassIri, internalOntologyIri = internalOntologyIri @@ -1826,7 +1831,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon task = () => Cardinalities.deleteCardinalitiesFromClass( settings, - storeManager, + appActor, deleteCardinalitiesFromClassRequest = deleteCardinalitiesFromClassRequest, internalClassIri = internalClassIri, internalOntologyIri = internalOntologyIri @@ -1877,7 +1882,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon // Check that the ontology exists and has not been updated by another user since the client last read it. _ <- OntologyHelpers.checkOntologyLastModificationDateBeforeUpdate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = deleteClassRequest.lastModificationDate, featureFactoryConfig = deleteClassRequest.featureFactoryConfig @@ -1914,13 +1919,13 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon ) .toString() - _ <- (storeManager ? SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] // Check that the ontology's last modification date was updated. _ <- OntologyHelpers.checkOntologyLastModificationDateAfterUpdate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = currentTime, featureFactoryConfig = deleteClassRequest.featureFactoryConfig @@ -2019,7 +2024,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon // Check that the ontology exists and has not been updated by another user since the client last read it. _ <- OntologyHelpers.checkOntologyLastModificationDateBeforeUpdate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = deletePropertyRequest.lastModificationDate, featureFactoryConfig = deletePropertyRequest.featureFactoryConfig @@ -2084,13 +2089,13 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon ) .toString() - _ <- (storeManager ? SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] // Check that the ontology's last modification date was updated. _ <- OntologyHelpers.checkOntologyLastModificationDateAfterUpdate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = currentTime, featureFactoryConfig = deletePropertyRequest.featureFactoryConfig @@ -2161,7 +2166,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon userCanUpdateOntology <- OntologyHelpers.canUserUpdateOntology(internalOntologyIri, canDeleteOntologyRequest.requestingUser) - subjectsUsingOntology <- OntologyHelpers.getSubjectsUsingOntology(settings, storeManager, ontology) + subjectsUsingOntology <- OntologyHelpers.getSubjectsUsingOntology(settings, appActor, ontology) } yield CanDoResponseV2(userCanUpdateOntology && subjectsUsingOntology.isEmpty) } @@ -2179,7 +2184,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon // Check that the ontology exists and has not been updated by another user since the client last read it. _ <- OntologyHelpers.checkOntologyLastModificationDateBeforeUpdate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = deleteOntologyRequest.lastModificationDate, featureFactoryConfig = deleteOntologyRequest.featureFactoryConfig @@ -2188,7 +2193,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon // Check that none of the entities in the ontology are used in data or in other ontologies. ontology = cacheData.ontologies(internalOntologyIri) - subjectsUsingOntology: Set[IRI] <- OntologyHelpers.getSubjectsUsingOntology(settings, storeManager, ontology) + subjectsUsingOntology: Set[IRI] <- OntologyHelpers.getSubjectsUsingOntology(settings, appActor, ontology) _ = if (subjectsUsingOntology.nonEmpty) { val sortedSubjects: Seq[IRI] = subjectsUsingOntology.map(s => "<" + s + ">").toVector.sorted @@ -2207,13 +2212,13 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon ) .toString() - _ <- (storeManager ? SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] // Check that the ontology has been deleted. maybeOntologyMetadata <- OntologyHelpers.loadOntologyMetadata( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, featureFactoryConfig = deleteOntologyRequest.featureFactoryConfig ) @@ -2259,7 +2264,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon // Check that the ontology exists and has not been updated by another user since the client last read it. _ <- OntologyHelpers.checkOntologyLastModificationDateBeforeUpdate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = createPropertyRequest.lastModificationDate, featureFactoryConfig = createPropertyRequest.featureFactoryConfig @@ -2482,13 +2487,13 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon ) .toString() - _ <- (storeManager ? SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] // Check that the ontology's last modification date was updated. _ <- OntologyHelpers.checkOntologyLastModificationDateAfterUpdate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = currentTime, featureFactoryConfig = createPropertyRequest.featureFactoryConfig @@ -2499,7 +2504,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon loadedPropertyDef <- OntologyHelpers.loadPropertyDefinition( settings, - storeManager, + appActor, propertyIri = internalPropertyIri, featureFactoryConfig = createPropertyRequest.featureFactoryConfig ) @@ -2516,7 +2521,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon maybeLinkValuePropertyDef.map { linkValuePropertyDef => OntologyHelpers.loadPropertyDefinition( settings, - storeManager, + appActor, propertyIri = linkValuePropertyDef.propertyIri, featureFactoryConfig = createPropertyRequest.featureFactoryConfig ) @@ -2630,7 +2635,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon // Check that the ontology exists and has not been updated by another user since the client last read it. _ <- OntologyHelpers.checkOntologyLastModificationDateBeforeUpdate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = changePropertyGuiElementRequest.lastModificationDate, featureFactoryConfig = changePropertyGuiElementRequest.featureFactoryConfig @@ -2672,13 +2677,13 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon ) .toString() - _ <- (storeManager ? SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] // Check that the ontology's last modification date was updated. _ <- OntologyHelpers.checkOntologyLastModificationDateAfterUpdate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = currentTime, featureFactoryConfig = changePropertyGuiElementRequest.featureFactoryConfig @@ -2689,7 +2694,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon loadedPropertyDef <- OntologyHelpers.loadPropertyDefinition( settings, - storeManager, + appActor, propertyIri = internalPropertyIri, featureFactoryConfig = changePropertyGuiElementRequest.featureFactoryConfig ) @@ -2733,7 +2738,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon maybeCurrentLinkValueReadPropertyInfo.map { linkValueReadPropertyInfo => OntologyHelpers.loadPropertyDefinition( settings, - storeManager, + appActor, propertyIri = linkValueReadPropertyInfo.entityInfoContent.propertyIri, featureFactoryConfig = changePropertyGuiElementRequest.featureFactoryConfig ) @@ -2854,7 +2859,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon // Check that the ontology exists and has not been updated by another user since the client last read it. _ <- OntologyHelpers.checkOntologyLastModificationDateBeforeUpdate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = changePropertyLabelsOrCommentsRequest.lastModificationDate, featureFactoryConfig = changePropertyLabelsOrCommentsRequest.featureFactoryConfig @@ -2896,13 +2901,13 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon ) .toString() - _ <- (storeManager ? SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] // Check that the ontology's last modification date was updated. _ <- OntologyHelpers.checkOntologyLastModificationDateAfterUpdate( settings = settings, - storeManager = storeManager, + appActor = appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = currentTime, featureFactoryConfig = changePropertyLabelsOrCommentsRequest.featureFactoryConfig @@ -2913,7 +2918,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon loadedPropertyDef <- OntologyHelpers.loadPropertyDefinition( settings, - storeManager, + appActor, propertyIri = internalPropertyIri, featureFactoryConfig = changePropertyLabelsOrCommentsRequest.featureFactoryConfig ) @@ -2940,7 +2945,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon maybeCurrentLinkValueReadPropertyInfo.map { linkValueReadPropertyInfo => OntologyHelpers.loadPropertyDefinition( settings, - storeManager, + appActor, propertyIri = linkValueReadPropertyInfo.entityInfoContent.propertyIri, featureFactoryConfig = changePropertyLabelsOrCommentsRequest.featureFactoryConfig ) @@ -3057,7 +3062,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon // Check that the ontology exists and has not been updated by another user since the client last read it. _ <- OntologyHelpers.checkOntologyLastModificationDateBeforeUpdate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = changeClassLabelsOrCommentsRequest.lastModificationDate, featureFactoryConfig = changeClassLabelsOrCommentsRequest.featureFactoryConfig @@ -3079,13 +3084,13 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon ) .toString() - _ <- (storeManager ? SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] // Check that the ontology's last modification date was updated. _ <- OntologyHelpers.checkOntologyLastModificationDateAfterUpdate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = currentTime, featureFactoryConfig = changeClassLabelsOrCommentsRequest.featureFactoryConfig @@ -3096,7 +3101,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon loadedClassDef: ClassInfoContentV2 <- OntologyHelpers.loadClassDefinition( settings, - storeManager, + appActor, classIri = internalClassIri, featureFactoryConfig = changeClassLabelsOrCommentsRequest.featureFactoryConfig @@ -3192,7 +3197,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon // Check that the ontology exists and has not been updated by another user since the client last read its metadata. _ <- OntologyHelpers.checkOntologyLastModificationDateBeforeUpdate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = deletePropertyCommentRequest.lastModificationDate, featureFactoryConfig = deletePropertyCommentRequest.featureFactoryConfig @@ -3235,12 +3240,12 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon ) .toString() - _ <- (storeManager ? SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] // Check that the ontology's last modification date was updated. _ <- OntologyHelpers.checkOntologyLastModificationDateAfterUpdate( settings = settings, - storeManager = storeManager, + appActor = appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = currentTime, featureFactoryConfig = deletePropertyCommentRequest.featureFactoryConfig @@ -3249,7 +3254,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon // Check that the update was successful. loadedPropertyDef: PropertyInfoContentV2 <- OntologyHelpers.loadPropertyDefinition( settings, - storeManager, + appActor, propertyIri = internalPropertyIri, featureFactoryConfig = deletePropertyCommentRequest.featureFactoryConfig @@ -3272,7 +3277,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon maybeLinkValueOfPropertyToUpdate.map { linkValueReadPropertyInfo: ReadPropertyInfoV2 => OntologyHelpers.loadPropertyDefinition( settings, - storeManager, + appActor, propertyIri = linkValueReadPropertyInfo.entityInfoContent.propertyIri, featureFactoryConfig = deletePropertyCommentRequest.featureFactoryConfig ) @@ -3415,7 +3420,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon // Check that the ontology exists and has not been updated by another user since the client last read its metadata. _ <- OntologyHelpers.checkOntologyLastModificationDateBeforeUpdate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = deleteClassCommentRequest.lastModificationDate, featureFactoryConfig = deleteClassCommentRequest.featureFactoryConfig @@ -3434,12 +3439,12 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon ) .toString() - _ <- (storeManager ? SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] // Check that the ontology's last modification date was updated. _ <- OntologyHelpers.checkOntologyLastModificationDateAfterUpdate( settings = settings, - storeManager = storeManager, + appActor = appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = currentTime, featureFactoryConfig = deleteClassCommentRequest.featureFactoryConfig @@ -3448,7 +3453,7 @@ class OntologyResponderV2(responderData: ResponderData) extends Responder(respon // Check that the update was successful. loadedClassDef: ClassInfoContentV2 <- OntologyHelpers.loadClassDefinition( settings, - storeManager, + appActor, classIri = internalClassIri, featureFactoryConfig = deleteClassCommentRequest.featureFactoryConfig ) diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v2/ResourceUtilV2.scala b/webapi/src/main/scala/org/knora/webapi/responders/v2/ResourceUtilV2.scala index 360138adc1..dcaa4ba528 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v2/ResourceUtilV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v2/ResourceUtilV2.scala @@ -29,7 +29,6 @@ import org.knora.webapi.messages.v2.responder.resourcemessages.ReadResourceV2 import org.knora.webapi.messages.v2.responder.valuemessages.FileValueContentV2 import org.knora.webapi.messages.v2.responder.valuemessages.ReadValueV2 import org.knora.webapi.messages.v2.responder.valuemessages.ValueContentV2 - import scala.concurrent.ExecutionContext import scala.concurrent.Future import scala.util.Failure @@ -116,18 +115,21 @@ object ResourceUtilV2 { resourceClassIri: SmartIri, propertyIri: SmartIri, requestingUser: UserADM, - responderManager: ActorRef + appActor: ActorRef )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[String] = for { - defaultObjectAccessPermissionsResponse: DefaultObjectAccessPermissionsStringResponseADM <- { - responderManager ? DefaultObjectAccessPermissionsStringForPropertyGetADM( - projectIri = projectIri, - resourceClassIri = resourceClassIri.toString, - propertyIri = propertyIri.toString, - targetUser = requestingUser, - requestingUser = KnoraSystemInstances.Users.SystemUser - ) - }.mapTo[DefaultObjectAccessPermissionsStringResponseADM] + defaultObjectAccessPermissionsResponse: DefaultObjectAccessPermissionsStringResponseADM <- + appActor + .ask( + DefaultObjectAccessPermissionsStringForPropertyGetADM( + projectIri = projectIri, + resourceClassIri = resourceClassIri.toString, + propertyIri = propertyIri.toString, + targetUser = requestingUser, + requestingUser = KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[DefaultObjectAccessPermissionsStringResponseADM] } yield defaultObjectAccessPermissionsResponse.permissionLiteral /** @@ -135,7 +137,7 @@ object ResourceUtilV2 { * * @param listNodeIri the IRI of the list node. */ - def checkListNodeExists(listNodeIri: IRI, storeManager: ActorRef)(implicit + def checkListNodeExists(listNodeIri: IRI, appActor: ActorRef)(implicit timeout: Timeout, executionContext: ExecutionContext ): Future[Unit] = @@ -146,7 +148,7 @@ object ResourceUtilV2 { .toString ) - checkListNodeExistsResponse <- (storeManager ? SparqlAskRequest(askString)).mapTo[SparqlAskResponse] + checkListNodeExistsResponse <- appActor.ask(SparqlAskRequest(askString)).mapTo[SparqlAskResponse] _ = if (!checkListNodeExistsResponse.result) { throw NotFoundException(s"<$listNodeIri> does not exist or is not a ListNode") @@ -167,8 +169,7 @@ object ResourceUtilV2 { updateFuture: Future[T], valueContent: ValueContentV2, requestingUser: UserADM, - responderManager: ActorRef, - storeManager: ActorRef, + appActor: ActorRef, log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[T] = // Was this a file value update? @@ -185,7 +186,7 @@ object ResourceUtilV2 { ) // If Sipi succeeds, return the future we were given. Otherwise, return a failed future. - (storeManager ? sipiRequest).mapTo[SuccessResponseV2].flatMap(_ => updateFuture) + appActor.ask(sipiRequest).mapTo[SuccessResponseV2].flatMap(_ => updateFuture) case Failure(_) => // The file value update failed. Ask Sipi to delete the temporary file. @@ -194,7 +195,7 @@ object ResourceUtilV2 { requestingUser = requestingUser ) - val sipiResponseFuture: Future[SuccessResponseV2] = (storeManager ? sipiRequest).mapTo[SuccessResponseV2] + val sipiResponseFuture: Future[SuccessResponseV2] = appActor.ask(sipiRequest).mapTo[SuccessResponseV2] // Did Sipi successfully delete the temporary file? sipiResponseFuture.transformWith { 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 053397ee72..73d73172b5 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 @@ -169,7 +169,7 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt def makeTaskFuture(resourceIri: IRI): Future[ReadResourcesSequenceV2] = { for { //check if resourceIri already exists holding a lock on the IRI - result <- stringFormatter.checkIriExists(resourceIri, storeManager) + result <- stringFormatter.checkIriExists(resourceIri, appActor) _ = if (result) { throw DuplicateValueException(s"Resource IRI: '${resourceIri}' already exists.") @@ -203,20 +203,28 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt // resources that are link targets. resourceClassEntityInfoResponse: EntityInfoGetResponseV2 <- - (responderManager ? EntityInfoGetRequestV2( - classIris = linkTargetClasses.values.toSet + internalCreateResource.resourceClassIri, - requestingUser = createResourceRequestV2.requestingUser - )).mapTo[EntityInfoGetResponseV2] + appActor + .ask( + EntityInfoGetRequestV2( + classIris = linkTargetClasses.values.toSet + internalCreateResource.resourceClassIri, + requestingUser = createResourceRequestV2.requestingUser + ) + ) + .mapTo[EntityInfoGetResponseV2] resourceClassInfo: ReadClassInfoV2 = resourceClassEntityInfoResponse.classInfoMap( internalCreateResource.resourceClassIri ) propertyEntityInfoResponse: EntityInfoGetResponseV2 <- - (responderManager ? EntityInfoGetRequestV2( - propertyIris = resourceClassInfo.knoraResourceProperties, - requestingUser = createResourceRequestV2.requestingUser - )).mapTo[EntityInfoGetResponseV2] + appActor + .ask( + EntityInfoGetRequestV2( + propertyIris = resourceClassInfo.knoraResourceProperties, + requestingUser = createResourceRequestV2.requestingUser + ) + ) + .mapTo[EntityInfoGetResponseV2] allEntityInfo = EntityInfoGetResponseV2( classInfoMap = resourceClassEntityInfoResponse.classInfoMap, @@ -282,7 +290,7 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt .toString() // Do the update. - _ <- (storeManager ? SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] // Verify that the resource was created correctly. previewOfCreatedResource: ReadResourcesSequenceV2 <- verifyResource( @@ -320,10 +328,14 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt // Ensure that the resource class isn't from a non-shared ontology in another project. resourceClassOntologyIri: SmartIri = createResourceRequestV2.createResource.resourceClassIri.getOntologyFromEntity - readOntologyMetadataV2: ReadOntologyMetadataV2 <- (responderManager ? OntologyMetadataGetByIriRequestV2( - Set(resourceClassOntologyIri), - createResourceRequestV2.requestingUser - )).mapTo[ReadOntologyMetadataV2] + readOntologyMetadataV2: ReadOntologyMetadataV2 <- appActor + .ask( + OntologyMetadataGetByIriRequestV2( + Set(resourceClassOntologyIri), + createResourceRequestV2.requestingUser + ) + ) + .mapTo[ReadOntologyMetadataV2] ontologyMetadata: OntologyMetadataV2 = readOntologyMetadataV2.ontologies.headOption .getOrElse(throw BadRequestException(s"Ontology $resourceClassOntologyIri not found")) @@ -473,7 +485,7 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt .toString() // Do the update. - _ <- (storeManager ? SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] // Verify that the resource was updated correctly. @@ -524,7 +536,8 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt _ <- updateResourceMetadataRequestV2.maybeLabel match { case Some(_) => for { - _ <- (storeManager ? SearchIndexUpdateRequest(Some(updateResourceMetadataRequestV2.resourceIri))) + _ <- appActor + .ask(SearchIndexUpdateRequest(Some(updateResourceMetadataRequestV2.resourceIri))) .mapTo[SparqlUpdateResponse] } yield () @@ -631,7 +644,7 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt .toString() // Do the update. - _ <- (storeManager ? SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] // Verify that the resource was deleted correctly. @@ -641,7 +654,7 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt ) .toString() - sparqlSelectResponse <- (storeManager ? SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] + sparqlSelectResponse <- appActor.ask(SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] rows = sparqlSelectResponse.results.bindings @@ -745,11 +758,11 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt // _ = println(sparqlUpdate) // Do the update. - _ <- (storeManager ? SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] // Verify that the resource was erased correctly. - resourceStillExists: Boolean <- stringFormatter.checkIriExists(resourceSmartIri.toString, storeManager) + resourceStillExists: Boolean <- stringFormatter.checkIriExists(resourceSmartIri.toString, appActor) _ = if (resourceStillExists) { throw UpdateNotPerformedException( @@ -885,7 +898,7 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt permissionLiteral = permissionStr, featureFactoryConfig = featureFactoryConfig, - responderManager = responderManager + appActor = appActor ) // Is the requesting user a system admin, or an admin of this project? @@ -929,13 +942,16 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt // Ask the values responder for SPARQL for generating the values. sparqlForValuesResponse: GenerateSparqlToCreateMultipleValuesResponseV2 <- - (responderManager ? - GenerateSparqlToCreateMultipleValuesRequestV2( - resourceIri = resourceIri, - values = valuesWithValidatedPermissions, - creationDate = creationDate, - requestingUser = requestingUser - )).mapTo[GenerateSparqlToCreateMultipleValuesResponseV2] + appActor + .ask( + GenerateSparqlToCreateMultipleValuesRequestV2( + resourceIri = resourceIri, + values = valuesWithValidatedPermissions, + creationDate = creationDate, + requestingUser = requestingUser + ) + ) + .mapTo[GenerateSparqlToCreateMultipleValuesResponseV2] } yield ResourceReadyToCreate( sparqlTemplateResourceToCreate = SparqlTemplateResourceToCreate( resourceIri = resourceIri, @@ -1182,7 +1198,7 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt Future .sequence( listNodesThatShouldExist - .map(listNodeIri => ResourceUtilV2.checkListNodeExists(listNodeIri, storeManager)) + .map(listNodeIri => ResourceUtilV2.checkListNodeExists(listNodeIri, appActor)) .toSeq ) .map(_ => ()) @@ -1222,7 +1238,7 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt validatedCustomPermissions <- PermissionUtilADM.validatePermissions( permissionLiteral = permissionStr, featureFactoryConfig = featureFactoryConfig, - responderManager = responderManager + appActor = appActor ) // Is the requesting user a system admin, or an admin of this project? @@ -1298,9 +1314,11 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt requestingUser = KnoraSystemInstances.Users.SystemUser ) - resourceClassIri -> (responderManager ? requestMessage) - .mapTo[DefaultObjectAccessPermissionsStringResponseADM] - .map(_.permissionLiteral) + resourceClassIri -> + appActor + .ask(requestMessage) + .mapTo[DefaultObjectAccessPermissionsStringResponseADM] + .map(_.permissionLiteral) }.toMap ActorUtil.sequenceFuturesInMap(permissionsFutures) @@ -1327,7 +1345,7 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt resourceClassIri = resourceClassIri, propertyIri = propertyIri, requestingUser = requestingUser, - responderManager = responderManager + appActor = appActor ) }.toMap @@ -1466,8 +1484,7 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt updateFuture = updateFuture, valueContent = valueContent, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, log = log ) } @@ -1532,10 +1549,14 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt .toString() ) - resourceRequestResponse: SparqlExtendedConstructResponse <- (storeManager ? SparqlExtendedConstructRequest( - sparql = resourceRequestSparql, - featureFactoryConfig = featureFactoryConfig - )).mapTo[SparqlExtendedConstructResponse] + resourceRequestResponse: SparqlExtendedConstructResponse <- appActor + .ask( + SparqlExtendedConstructRequest( + sparql = resourceRequestSparql, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[SparqlExtendedConstructResponse] // separate resources and values mainResourcesAndValueRdfData: ConstructResponseUtilV2.MainResourcesAndValueRdfData = @@ -1621,7 +1642,7 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt queryStandoff = queryStandoff, versionDate = versionDate, calculateMayHaveMoreResults = false, - responderManager = responderManager, + appActor = appActor, targetSchema = targetSchema, settings = settings, featureFactoryConfig = featureFactoryConfig, @@ -1716,7 +1737,7 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt queryStandoff = false, versionDate = None, calculateMayHaveMoreResults = false, - responderManager = responderManager, + appActor = appActor, targetSchema = targetSchema, settings = settings, featureFactoryConfig = featureFactoryConfig, @@ -1820,11 +1841,15 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt for { gravsearchTemplateUrl <- recoveredGravsearchUrlFuture - response: SipiGetTextFileResponse <- (storeManager ? SipiGetTextFileRequest( - fileUrl = gravsearchTemplateUrl, - requestingUser = KnoraSystemInstances.Users.SystemUser, - senderName = this.getClass.getName - )).mapTo[SipiGetTextFileResponse] + response: SipiGetTextFileResponse <- appActor + .ask( + SipiGetTextFileRequest( + fileUrl = gravsearchTemplateUrl, + requestingUser = KnoraSystemInstances.Users.SystemUser, + senderName = this.getClass.getName + ) + ) + .mapTo[SipiGetTextFileResponse] gravsearchTemplate: String = response.content } yield gravsearchTemplate @@ -1952,13 +1977,18 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt constructQuery: ConstructQuery = GravsearchParser.parseQuery(gravsearchQuery) // do a request to the SearchResponder - gravSearchResponse: ReadResourcesSequenceV2 <- (responderManager ? GravsearchRequestV2( - constructQuery = constructQuery, - targetSchema = ApiV2Complex, - schemaOptions = SchemaOptions.ForStandoffWithTextValues, - featureFactoryConfig = featureFactoryConfig, - requestingUser = requestingUser - )).mapTo[ReadResourcesSequenceV2] + gravSearchResponse: ReadResourcesSequenceV2 <- appActor + .ask( + GravsearchRequestV2( + constructQuery = constructQuery, + targetSchema = ApiV2Complex, + schemaOptions = + SchemaOptions.ForStandoffWithTextValues, + featureFactoryConfig = featureFactoryConfig, + requestingUser = requestingUser + ) + ) + .mapTo[ReadResourcesSequenceV2] } yield gravSearchResponse.toResource(resourceIri) } else { @@ -2005,7 +2035,8 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt val xslTransformationFuture = for { xslTransformation: GetXSLTransformationResponseV2 <- - (responderManager ? teiHeaderXsltRequest) + appActor + .ask(teiHeaderXsltRequest) .mapTo[GetXSLTransformationResponseV2] } yield Some(xslTransformation.xslt) @@ -2033,11 +2064,15 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt } // get mapping to convert standoff markup to TEI/XML - teiMapping: GetMappingResponseV2 <- (responderManager ? GetMappingRequestV2( - mappingIri = mappingToBeApplied, - featureFactoryConfig = featureFactoryConfig, - requestingUser = requestingUser - )).mapTo[GetMappingResponseV2] + teiMapping: GetMappingResponseV2 <- appActor + .ask( + GetMappingRequestV2( + mappingIri = mappingToBeApplied, + featureFactoryConfig = featureFactoryConfig, + requestingUser = requestingUser + ) + ) + .mapTo[GetMappingResponseV2] // get XSLT from mapping for the TEI body bodyXslt: String <- teiMapping.mappingIri match { @@ -2064,7 +2099,8 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt val xslTransformationFuture = for { xslTransformation: GetXSLTransformationResponseV2 <- - (responderManager ? teiBodyXsltRequest) + appActor + .ask(teiBodyXsltRequest) .mapTo[GetXSLTransformationResponseV2] } yield xslTransformation.xslt @@ -2194,7 +2230,7 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt // _ = println(sparql) - response: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(sparql)).mapTo[SparqlSelectResult] + response: SparqlSelectResult <- appActor.ask(SparqlSelectRequest(sparql)).mapTo[SparqlSelectResult] rows: Seq[VariableResultsRow] = response.results.bindings // Did we get any results? @@ -2335,7 +2371,7 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt // _ = println(sparql) - response: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(sparql)).mapTo[SparqlSelectResult] + response: SparqlSelectResult <- appActor.ask(SparqlSelectRequest(sparql)).mapTo[SparqlSelectResult] rows: Seq[VariableResultsRow] = response.results.bindings _ = if (rows.isEmpty) { @@ -2458,7 +2494,8 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt ) .toString() - valueHistoryResponse: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(historyRequestSparql)) + valueHistoryResponse: SparqlSelectResult <- appActor + .ask(SparqlSelectRequest(historyRequestSparql)) .mapTo[SparqlSelectResult] valueHistoryEntries: Seq[ResourceHistoryEntry] = @@ -2520,13 +2557,17 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt // Run the query. parsedGravsearchQuery <- FastFuture.successful(GravsearchParser.parseQuery(gravsearchQueryForIncomingLinks)) - searchResponse <- (responderManager ? GravsearchRequestV2( - constructQuery = parsedGravsearchQuery, - targetSchema = ApiV2Complex, - schemaOptions = SchemaOptions.ForStandoffSeparateFromTextValues, - featureFactoryConfig = request.featureFactoryConfig, - requestingUser = request.requestingUser - )).mapTo[ReadResourcesSequenceV2] + searchResponse <- appActor + .ask( + GravsearchRequestV2( + constructQuery = parsedGravsearchQuery, + targetSchema = ApiV2Complex, + schemaOptions = SchemaOptions.ForStandoffSeparateFromTextValues, + featureFactoryConfig = request.featureFactoryConfig, + requestingUser = request.requestingUser + ) + ) + .mapTo[ReadResourcesSequenceV2] resource: ReadResourceV2 = searchResponse.toResource(request.resourceIri) @@ -2688,15 +2729,19 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt ): Future[ResourceAndValueVersionHistoryResponseV2] = for { // Get the project; checks if a project with given IRI exists. - projectInfoResponse: ProjectGetResponseADM <- (responderManager ? ProjectGetRequestADM( - identifier = ProjectIdentifierADM(maybeIri = - Some(projectResourceHistoryEventsGetRequest.projectIri) - ), - featureFactoryConfig = - projectResourceHistoryEventsGetRequest.featureFactoryConfig, - requestingUser = - projectResourceHistoryEventsGetRequest.requestingUser - )).mapTo[ProjectGetResponseADM] + projectInfoResponse: ProjectGetResponseADM <- appActor + .ask( + ProjectGetRequestADM( + identifier = ProjectIdentifierADM(maybeIri = + Some(projectResourceHistoryEventsGetRequest.projectIri) + ), + featureFactoryConfig = + projectResourceHistoryEventsGetRequest.featureFactoryConfig, + requestingUser = + projectResourceHistoryEventsGetRequest.requestingUser + ) + ) + .mapTo[ProjectGetResponseADM] // Do a SELECT prequery to get the IRIs of the resources that belong to the project. prequery = org.knora.webapi.messages.twirl.queries.sparql.v2.txt @@ -2705,7 +2750,7 @@ class ResourcesResponderV2(responderData: ResponderData) extends ResponderWithSt ) .toString - sparqlSelectResponse <- (storeManager ? SparqlSelectRequest(prequery)).mapTo[SparqlSelectResult] + sparqlSelectResponse <- appActor.ask(SparqlSelectRequest(prequery)).mapTo[SparqlSelectResult] mainResourceIris: Seq[IRI] = sparqlSelectResponse.results.bindings.map(_.rowMap("resource")) // For each resource IRI return history events historyOfResourcesAsSeqOfFutures: Seq[Future[Seq[ResourceAndValueHistoryEvent]]] = diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v2/ResponderWithStandoffV2.scala b/webapi/src/main/scala/org/knora/webapi/responders/v2/ResponderWithStandoffV2.scala index 96c96ced8a..5e5f787046 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v2/ResponderWithStandoffV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v2/ResponderWithStandoffV2.scala @@ -51,11 +51,15 @@ abstract class ResponderWithStandoffV2(responderData: ResponderData) extends Res // get all the mappings val mappingResponsesFuture: Vector[Future[GetMappingResponseV2]] = mappingIris.map { mappingIri: IRI => for { - mappingResponse: GetMappingResponseV2 <- (responderManager ? GetMappingRequestV2( - mappingIri = mappingIri, - featureFactoryConfig = featureFactoryConfig, - requestingUser = requestingUser - )).mapTo[GetMappingResponseV2] + mappingResponse: GetMappingResponseV2 <- appActor + .ask( + GetMappingRequestV2( + mappingIri = mappingIri, + featureFactoryConfig = featureFactoryConfig, + requestingUser = requestingUser + ) + ) + .mapTo[GetMappingResponseV2] } yield mappingResponse }.toVector @@ -71,11 +75,15 @@ abstract class ResponderWithStandoffV2(responderData: ResponderData) extends Res if (mapping.mapping.defaultXSLTransformation.nonEmpty) { val xslTransformationFuture = for { xslTransformation: GetXSLTransformationResponseV2 <- - (responderManager ? GetXSLTransformationRequestV2( - mapping.mapping.defaultXSLTransformation.get, - featureFactoryConfig = featureFactoryConfig, - requestingUser = requestingUser - )).mapTo[GetXSLTransformationResponseV2] + appActor + .ask( + GetXSLTransformationRequestV2( + mapping.mapping.defaultXSLTransformation.get, + featureFactoryConfig = featureFactoryConfig, + requestingUser = requestingUser + ) + ) + .mapTo[GetXSLTransformationResponseV2] } yield Some(xslTransformation.xslt) xslTransformationFuture.recover { diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v2/SearchResponderV2.scala b/webapi/src/main/scala/org/knora/webapi/responders/v2/SearchResponderV2.scala index 00d6d70c3c..5cec2cd421 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v2/SearchResponderV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v2/SearchResponderV2.scala @@ -52,7 +52,7 @@ import scala.util.Try class SearchResponderV2(responderData: ResponderData) extends ResponderWithStandoffV2(responderData) { // A Gravsearch type inspection runner. - private val gravsearchTypeInspectionRunner = new GravsearchTypeInspectionRunner(responderData) + private val gravsearchTypeInspectionRunner = new GravsearchTypeInspectionRunner(appActor, responderData) /** * Receives a message of type [[SearchResponderRequestV2]], and returns an appropriate response message. @@ -198,7 +198,7 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand .toString() ) - countResponse: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(countSparql)).mapTo[SparqlSelectResult] + countResponse: SparqlSelectResult <- appActor.ask(SparqlSelectRequest(countSparql)).mapTo[SparqlSelectResult] // query response should contain one result with one row with the name "count" _ = if (countResponse.results.bindings.length != 1) { @@ -262,7 +262,8 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand .toString() ) - prequeryResponseNotMerged: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(searchSparql)) + prequeryResponseNotMerged: SparqlSelectResult <- appActor + .ask(SparqlSelectRequest(searchSparql)) .mapTo[SparqlSelectResult] mainResourceVar = QueryVariable("resource") @@ -318,10 +319,14 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand for { searchResponse: SparqlExtendedConstructResponse <- - (storeManager ? SparqlExtendedConstructRequest( - sparql = triplestoreSpecificQuery.toSparql, - featureFactoryConfig = featureFactoryConfig - )).mapTo[SparqlExtendedConstructResponse] + appActor + .ask( + SparqlExtendedConstructRequest( + sparql = triplestoreSpecificQuery.toSparql, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[SparqlExtendedConstructResponse] // separate resources and value objects queryResultsSep: ConstructResponseUtilV2.MainResourcesAndValueRdfData = @@ -367,7 +372,7 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand queryStandoff = queryStandoff, calculateMayHaveMoreResults = true, versionDate = None, - responderManager = responderManager, + appActor = appActor, settings = settings, targetSchema = targetSchema, featureFactoryConfig = featureFactoryConfig, @@ -446,7 +451,7 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand ontologiesForInferenceMaybe <- QueryTraverser.getOntologiesRelevantForInference( inputQuery.whereClause, - storeManager + appActor ) triplestoreSpecificCountQuery = @@ -457,7 +462,8 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand ) countResponse: SparqlSelectResult <- - (storeManager ? SparqlSelectRequest(triplestoreSpecificCountQuery.toSparql)) + appActor + .ask(SparqlSelectRequest(triplestoreSpecificCountQuery.toSparql)) .mapTo[SparqlSelectResult] // query response should contain one result with one row with the name "count" @@ -527,7 +533,7 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand ontologiesForInferenceMaybe <- QueryTraverser.getOntologiesRelevantForInference( inputQuery.whereClause, - storeManager + appActor ) nonTriplestoreSpecificPrequery: SelectQuery = QueryTraverser.transformConstructToSelect( @@ -557,7 +563,7 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand _ = log.debug(triplestoreSpecificPrequerySparql) start = System.currentTimeMillis() - tryPrequeryResponseNotMerged = Try(storeManager ? SparqlSelectRequest(triplestoreSpecificPrequerySparql)) + tryPrequeryResponseNotMerged = Try(appActor.ask(SparqlSelectRequest(triplestoreSpecificPrequerySparql))) prequeryResponseNotMerged <- (tryPrequeryResponseNotMerged match { case Failure(exception) => { @@ -665,10 +671,14 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand for { mainQueryResponse: SparqlExtendedConstructResponse <- - (storeManager ? SparqlExtendedConstructRequest( - sparql = triplestoreSpecificMainQuerySparql, - featureFactoryConfig = featureFactoryConfig - )).mapTo[SparqlExtendedConstructResponse] + appActor + .ask( + SparqlExtendedConstructRequest( + sparql = triplestoreSpecificMainQuerySparql, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[SparqlExtendedConstructResponse] // Filter out values that the user doesn't have permission to see. queryResultsFilteredForPermissions: ConstructResponseUtilV2.MainResourcesAndValueRdfData = @@ -729,7 +739,7 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand queryStandoff = queryStandoff, versionDate = None, calculateMayHaveMoreResults = true, - responderManager = responderManager, + appActor = appActor, settings = settings, targetSchema = targetSchema, featureFactoryConfig = featureFactoryConfig, @@ -754,13 +764,16 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand for { // Get information about the resource class, and about the ORDER BY property if specified. - entityInfoResponse: EntityInfoGetResponseV2 <- { - responderManager ? EntityInfoGetRequestV2( - classIris = Set(internalClassIri), - propertyIris = maybeInternalOrderByPropertyIri.toSet, - requestingUser = resourcesInProjectGetRequestV2.requestingUser - ) - }.mapTo[EntityInfoGetResponseV2] + entityInfoResponse: EntityInfoGetResponseV2 <- + appActor + .ask( + EntityInfoGetRequestV2( + classIris = Set(internalClassIri), + propertyIris = maybeInternalOrderByPropertyIri.toSet, + requestingUser = resourcesInProjectGetRequestV2.requestingUser + ) + ) + .mapTo[EntityInfoGetResponseV2] classDef: ReadClassInfoV2 = entityInfoResponse.classInfoMap(internalClassIri) @@ -842,7 +855,7 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand ) .toString - sparqlSelectResponse <- (storeManager ? SparqlSelectRequest(prequery)).mapTo[SparqlSelectResult] + sparqlSelectResponse <- appActor.ask(SparqlSelectRequest(prequery)).mapTo[SparqlSelectResult] mainResourceIris: Seq[IRI] = sparqlSelectResponse.results.bindings.map(_.rowMap("resource")) // Find out whether to query standoff along with text values. This boolean value will be passed to @@ -885,10 +898,14 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand ) resourceRequestResponse: SparqlExtendedConstructResponse <- - (storeManager ? SparqlExtendedConstructRequest( - sparql = resourceRequestSparql, - featureFactoryConfig = resourcesInProjectGetRequestV2.featureFactoryConfig - )).mapTo[SparqlExtendedConstructResponse] + appActor + .ask( + SparqlExtendedConstructRequest( + sparql = resourceRequestSparql, + featureFactoryConfig = resourcesInProjectGetRequestV2.featureFactoryConfig + ) + ) + .mapTo[SparqlExtendedConstructResponse] // separate resources and values mainResourcesAndValueRdfData: ConstructResponseUtilV2.MainResourcesAndValueRdfData = @@ -920,7 +937,7 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand queryStandoff = maybeStandoffMinStartIndex.nonEmpty, versionDate = None, calculateMayHaveMoreResults = true, - responderManager = responderManager, + appActor = appActor, targetSchema = resourcesInProjectGetRequestV2.targetSchema, settings = settings, featureFactoryConfig = resourcesInProjectGetRequestV2.featureFactoryConfig, @@ -967,7 +984,7 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand .toString() ) - countResponse: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(countSparql)).mapTo[SparqlSelectResult] + countResponse: SparqlSelectResult <- appActor.ask(SparqlSelectRequest(countSparql)).mapTo[SparqlSelectResult] // query response should contain one result with one row with the name "count" _ = if (countResponse.results.bindings.length != 1) { @@ -1024,10 +1041,14 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand ) searchResourceByLabelResponse: SparqlExtendedConstructResponse <- - (storeManager ? SparqlExtendedConstructRequest( - sparql = searchResourceByLabelSparql, - featureFactoryConfig = featureFactoryConfig - )).mapTo[SparqlExtendedConstructResponse] + appActor + .ask( + SparqlExtendedConstructRequest( + sparql = searchResourceByLabelSparql, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[SparqlExtendedConstructResponse] // collect the IRIs of main resources returned mainResourceIris: Set[IRI] = @@ -1067,7 +1088,7 @@ class SearchResponderV2(responderData: ResponderData) extends ResponderWithStand queryStandoff = false, versionDate = None, calculateMayHaveMoreResults = true, - responderManager = responderManager, + appActor = appActor, targetSchema = targetSchema, settings = settings, featureFactoryConfig = featureFactoryConfig, 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 53822edf40..13a2707fb4 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 @@ -125,10 +125,14 @@ class StandoffResponderV2(responderData: ResponderData) extends Responder(respon // standoffPageStartTime = System.currentTimeMillis() resourceRequestResponse: SparqlExtendedConstructResponse <- - (storeManager ? SparqlExtendedConstructRequest( - sparql = resourceRequestSparql, - featureFactoryConfig = getStandoffRequestV2.featureFactoryConfig - )).mapTo[SparqlExtendedConstructResponse] + appActor + .ask( + SparqlExtendedConstructRequest( + sparql = resourceRequestSparql, + featureFactoryConfig = getStandoffRequestV2.featureFactoryConfig + ) + ) + .mapTo[SparqlExtendedConstructResponse] // standoffPageEndTime = System.currentTimeMillis() @@ -151,7 +155,7 @@ class StandoffResponderV2(responderData: ResponderData) extends Responder(respon queryStandoff = false, calculateMayHaveMoreResults = false, versionDate = None, - responderManager = responderManager, + appActor = appActor, targetSchema = getStandoffRequestV2.targetSchema, settings = settings, featureFactoryConfig = @@ -211,12 +215,17 @@ class StandoffResponderV2(responderData: ResponderData) extends Responder(respon val xsltUrlFuture = for { - textRepresentationResponseV2: ReadResourcesSequenceV2 <- (responderManager ? ResourcesGetRequestV2( - resourceIris = Vector(xslTransformationIri), - targetSchema = ApiV2Complex, - featureFactoryConfig = featureFactoryConfig, - requestingUser = requestingUser - )).mapTo[ReadResourcesSequenceV2] + textRepresentationResponseV2: ReadResourcesSequenceV2 <- + appActor + .ask( + ResourcesGetRequestV2( + resourceIris = Vector(xslTransformationIri), + targetSchema = ApiV2Complex, + featureFactoryConfig = featureFactoryConfig, + requestingUser = requestingUser + ) + ) + .mapTo[ReadResourcesSequenceV2] resource = textRepresentationResponseV2.toResource(xslTransformationIri) @@ -277,11 +286,15 @@ class StandoffResponderV2(responderData: ResponderData) extends Responder(respon Future(xsltMaybe.get) } else { for { - response: SipiGetTextFileResponse <- (storeManager ? SipiGetTextFileRequest( - fileUrl = xsltFileUrl, - requestingUser = KnoraSystemInstances.Users.SystemUser, - senderName = this.getClass.getName - )).mapTo[SipiGetTextFileResponse] + response: SipiGetTextFileResponse <- appActor + .ask( + SipiGetTextFileRequest( + fileUrl = xsltFileUrl, + requestingUser = KnoraSystemInstances.Users.SystemUser, + senderName = this.getClass.getName + ) + ) + .mapTo[SipiGetTextFileResponse] _ = CacheUtil.put(cacheName = xsltCacheName, key = xsltFileUrl, value = response.content) } yield response.content } @@ -581,10 +594,14 @@ class StandoffResponderV2(responderData: ResponderData) extends Responder(respon ) .toString() - existingMappingResponse: SparqlConstructResponse <- (storeManager ? SparqlConstructRequest( - sparql = getExistingMappingSparql, - featureFactoryConfig = featureFactoryConfig - )).mapTo[SparqlConstructResponse] + existingMappingResponse: SparqlConstructResponse <- appActor + .ask( + SparqlConstructRequest( + sparql = getExistingMappingSparql, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[SparqlConstructResponse] _ = if (existingMappingResponse.statements.nonEmpty) { throw BadRequestException(s"mapping IRI $mappingIri already exists") @@ -601,14 +618,19 @@ class StandoffResponderV2(responderData: ResponderData) extends Responder(respon .toString() // Do the update. - createResourceResponse: SparqlUpdateResponse <- (storeManager ? SparqlUpdateRequest(createNewMappingSparql)) + createResourceResponse: SparqlUpdateResponse <- appActor + .ask(SparqlUpdateRequest(createNewMappingSparql)) .mapTo[SparqlUpdateResponse] // check if the mapping has been created - newMappingResponse <- (storeManager ? SparqlConstructRequest( - sparql = getExistingMappingSparql, - featureFactoryConfig = featureFactoryConfig - )).mapTo[SparqlConstructResponse] + newMappingResponse <- appActor + .ask( + SparqlConstructRequest( + sparql = getExistingMappingSparql, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[SparqlConstructResponse] _ = if (newMappingResponse.statements.isEmpty) { log.error( @@ -657,11 +679,16 @@ class StandoffResponderV2(responderData: ResponderData) extends Responder(respon } // check if the given project IRI represents an actual project - projectInfoMaybe: Option[ProjectADM] <- (responderManager ? ProjectGetADM( - identifier = ProjectIdentifierADM(maybeIri = Some(projectIri.toString)), - featureFactoryConfig = featureFactoryConfig, - requestingUser = requestingUser - )).mapTo[Option[ProjectADM]] + projectInfoMaybe: Option[ProjectADM] <- + appActor + .ask( + ProjectGetADM( + identifier = ProjectIdentifierADM(maybeIri = Some(projectIri.toString)), + featureFactoryConfig = featureFactoryConfig, + requestingUser = requestingUser + ) + ) + .mapTo[Option[ProjectADM]] // TODO: make sure that has sufficient permissions to create a mapping in the given project @@ -919,10 +946,14 @@ class StandoffResponderV2(responderData: ResponderData) extends Responder(respon for { - mappingResponse: SparqlConstructResponse <- (storeManager ? SparqlConstructRequest( - sparql = getMappingSparql, - featureFactoryConfig = featureFactoryConfig - )).mapTo[SparqlConstructResponse] + mappingResponse: SparqlConstructResponse <- appActor + .ask( + SparqlConstructRequest( + sparql = getMappingSparql, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[SparqlConstructResponse] // if the result is empty, the mapping does not exist _ = if (mappingResponse.statements.isEmpty) { @@ -1068,10 +1099,14 @@ class StandoffResponderV2(responderData: ResponderData) extends Responder(respon // request information about standoff classes that should be created standoffClassEntities: StandoffEntityInfoGetResponseV2 <- - (responderManager ? StandoffEntityInfoGetRequestV2( - standoffClassIris = standoffTagIrisFromMapping.map(_.toSmartIri), - requestingUser = requestingUser - )).mapTo[StandoffEntityInfoGetResponseV2] + appActor + .ask( + StandoffEntityInfoGetRequestV2( + standoffClassIris = standoffTagIrisFromMapping.map(_.toSmartIri), + requestingUser = requestingUser + ) + ) + .mapTo[StandoffEntityInfoGetResponseV2] // check that the ontology responder returned the information for all the standoff classes it was asked for // if the ontology responder does not return a standoff class it was asked for, then this standoff class does not exist @@ -1093,10 +1128,14 @@ class StandoffResponderV2(responderData: ResponderData) extends Responder(respon // request information about the standoff properties standoffPropertyEntities: StandoffEntityInfoGetResponseV2 <- - (responderManager ? StandoffEntityInfoGetRequestV2( - standoffPropertyIris = standoffPropertyIrisFromOntologyResponder, - requestingUser = requestingUser - )).mapTo[StandoffEntityInfoGetResponseV2] + appActor + .ask( + StandoffEntityInfoGetRequestV2( + standoffPropertyIris = standoffPropertyIrisFromOntologyResponder, + requestingUser = requestingUser + ) + ) + .mapTo[StandoffEntityInfoGetResponseV2] // check that the ontology responder returned the information for all the standoff properties it was asked for // if the ontology responder does not return a standoff property it was asked for, then this standoff property does not exist diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v2/ValuesResponderV2.scala b/webapi/src/main/scala/org/knora/webapi/responders/v2/ValuesResponderV2.scala index aae168e8d0..3707ea28fe 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v2/ValuesResponderV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v2/ValuesResponderV2.scala @@ -90,7 +90,8 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde ) propertyInfoResponseForSubmittedProperty: ReadOntologyV2 <- - (responderManager ? propertyInfoRequestForSubmittedProperty) + appActor + .ask(propertyInfoRequestForSubmittedProperty) .mapTo[ReadOntologyV2] propertyInfoForSubmittedProperty: ReadPropertyInfoV2 = propertyInfoResponseForSubmittedProperty.properties( submittedInternalPropertyIri @@ -168,7 +169,7 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde requestingUser = createValueRequest.requestingUser ) - classInfoResponse: ReadOntologyV2 <- (responderManager ? classInfoRequest).mapTo[ReadOntologyV2] + classInfoResponse: ReadOntologyV2 <- appActor.ask(classInfoRequest).mapTo[ReadOntologyV2] // Check that the resource class has a cardinality for the submitted property. @@ -195,7 +196,7 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde _ <- submittedInternalValueContent match { case listValue: HierarchicalListValueContentV2 => - ResourceUtilV2.checkListNodeExists(listValue.valueHasListNode, storeManager) + ResourceUtilV2.checkListNodeExists(listValue.valueHasListNode, appActor) case _ => FastFuture.successful(()) } @@ -257,7 +258,7 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde resourceClassIri = resourceInfo.resourceClassIri, propertyIri = submittedInternalPropertyIri, requestingUser = createValueRequest.requestingUser, - responderManager = responderManager + appActor = appActor ) // Did the user submit permissions for the new value? @@ -269,7 +270,7 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde permissionLiteral = permissions, featureFactoryConfig = createValueRequest.featureFactoryConfig, - responderManager = responderManager + appActor = appActor ) // Is the requesting user a system admin, or an admin of this project? @@ -368,8 +369,7 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde updateFuture = triplestoreUpdateFuture, valueContent = createValueRequest.createValue.valueContent, requestingUser = createValueRequest.requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, log = log ) } @@ -524,7 +524,7 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde */ // Do the update. - _ <- (storeManager ? SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] } yield UnverifiedValueV2( newValueIri = newValueIri, newValueUUID = newValueUUID, @@ -598,7 +598,7 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde */ // Do the update. - _ <- (storeManager ? SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] } yield UnverifiedValueV2( newValueIri = sparqlTemplateLinkUpdate.newLinkValueIri, newValueUUID = newValueUUID, @@ -911,7 +911,8 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde ) propertyInfoResponseForSubmittedProperty: ReadOntologyV2 <- - (responderManager ? propertyInfoRequestForSubmittedProperty) + appActor + .ask(propertyInfoRequestForSubmittedProperty) .mapTo[ReadOntologyV2] propertyInfoForSubmittedProperty: ReadPropertyInfoV2 = propertyInfoResponseForSubmittedProperty.properties( submittedInternalPropertyIri @@ -1019,7 +1020,7 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde newValuePermissionLiteral: String <- PermissionUtilADM.validatePermissions( permissionLiteral = updateValuePermissionsV2.permissions, featureFactoryConfig = updateValueRequest.featureFactoryConfig, - responderManager = responderManager + appActor = appActor ) // Check that the user has ChangeRightsPermission on the value, and that the new permissions are @@ -1070,7 +1071,7 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde ) .toString() - _ <- (storeManager ? SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] // Check that the value was written correctly to the triplestore. @@ -1130,7 +1131,7 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde PermissionUtilADM.validatePermissions( permissionLiteral = permissions, featureFactoryConfig = updateValueRequest.featureFactoryConfig, - responderManager = responderManager + appActor = appActor ) case None => @@ -1185,7 +1186,7 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde _ <- submittedInternalValueContent match { case listValue: HierarchicalListValueContentV2 => - ResourceUtilV2.checkListNodeExists(listValue.valueHasListNode, storeManager) + ResourceUtilV2.checkListNodeExists(listValue.valueHasListNode, appActor) case _ => FastFuture.successful(()) } @@ -1307,8 +1308,7 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde updateFuture = triplestoreUpdateFuture, valueContent = updateValueContentV2.valueContent, requestingUser = updateValueRequest.requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, log = log ) @@ -1457,7 +1457,7 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde */ // Do the update. - _ <- (storeManager ? SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] } yield UnverifiedValueV2( newValueIri = newValueIri, @@ -1550,7 +1550,7 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde _ = println("==============================================") */ - _ <- (storeManager ? SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] } yield UnverifiedValueV2( newValueIri = sparqlTemplateLinkUpdateForNewLink.newLinkValueIri, newValueUUID = newLinkValueUUID, @@ -1586,7 +1586,7 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde ) .toString() - _ <- (storeManager ? SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] } yield UnverifiedValueV2( newValueIri = sparqlTemplateLinkUpdate.newLinkValueIri, newValueUUID = currentLinkValue.valueHasUUID, @@ -1618,7 +1618,8 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde ) propertyInfoResponseForSubmittedProperty: ReadOntologyV2 <- - (responderManager ? propertyInfoRequestForSubmittedProperty) + appActor + .ask(propertyInfoRequestForSubmittedProperty) .mapTo[ReadOntologyV2] propertyInfoForSubmittedProperty: ReadPropertyInfoV2 = propertyInfoResponseForSubmittedProperty.properties( submittedInternalPropertyIri @@ -1710,7 +1711,7 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde requestingUser = deleteValueRequest.requestingUser ) - classInfoResponse: ReadOntologyV2 <- (responderManager ? classInfoRequest).mapTo[ReadOntologyV2] + classInfoResponse: ReadOntologyV2 <- appActor.ask(classInfoRequest).mapTo[ReadOntologyV2] classInfo: ReadClassInfoV2 = classInfoResponse.classes(resourceInfo.resourceClassIri) cardinalityInfo: Cardinality.KnoraCardinalityInfo = classInfo.allCardinalities.getOrElse( submittedInternalPropertyIri, @@ -1761,7 +1762,7 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde ) .toString() - sparqlSelectResponse <- (storeManager ? SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] + sparqlSelectResponse <- appActor.ask(SparqlSelectRequest(sparqlQuery)).mapTo[SparqlSelectResult] rows = sparqlSelectResponse.results.bindings _ = if ( @@ -1899,7 +1900,7 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde ) .toString() - _ <- (storeManager ? SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] } yield sparqlTemplateLinkUpdate.newLinkValueIri } @@ -1967,7 +1968,7 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde ) .toString() - _ <- (storeManager ? SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(sparqlUpdate)).mapTo[SparqlUpdateResponse] } yield currentValue.valueIri } @@ -2012,7 +2013,8 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde requestingUser = requestingUser ) - linkPropertyInfoResponse: ReadOntologyV2 <- (responderManager ? propertyInfoRequestForLinkProperty) + linkPropertyInfoResponse: ReadOntologyV2 <- appActor + .ask(propertyInfoRequestForLinkProperty) .mapTo[ReadOntologyV2] } yield linkPropertyInfoResponse.properties(internalLinkPropertyIri) } else if (propertyInfoForSubmittedProperty.isLinkProp) { @@ -2052,7 +2054,7 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde // If any of the resources are not found, or the user doesn't have permission to see them, this will throw an exception. - _ <- (responderManager ? resourcePreviewRequest).mapTo[ReadResourcesSequenceV2] + _ <- appActor.ask(resourcePreviewRequest).mapTo[ReadResourcesSequenceV2] } yield () } @@ -2111,13 +2113,17 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde // Run the query. parsedGravsearchQuery <- FastFuture.successful(GravsearchParser.parseQuery(gravsearchQuery)) - searchResponse <- (responderManager ? GravsearchRequestV2( - constructQuery = parsedGravsearchQuery, - targetSchema = ApiV2Complex, - schemaOptions = SchemaOptions.ForStandoffWithTextValues, - featureFactoryConfig = featureFactoryConfig, - requestingUser = requestingUser - )).mapTo[ReadResourcesSequenceV2] + searchResponse <- appActor + .ask( + GravsearchRequestV2( + constructQuery = parsedGravsearchQuery, + targetSchema = ApiV2Complex, + schemaOptions = SchemaOptions.ForStandoffWithTextValues, + featureFactoryConfig = featureFactoryConfig, + requestingUser = requestingUser + ) + ) + .mapTo[ReadResourcesSequenceV2] } yield searchResponse.toResource(resourceIri) /** @@ -2150,7 +2156,7 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde ) } - resourcesResponse <- (responderManager ? resourcesRequest).mapTo[ReadResourcesSequenceV2] + resourcesResponse <- appActor.ask(resourcesRequest).mapTo[ReadResourcesSequenceV2] resource = resourcesResponse.toResource(resourceIri) propertyValues = resource.values.getOrElse(propertyIri, throw UpdateNotPerformedException()) @@ -2215,7 +2221,7 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde ) ) - resourcePreviewResponse <- (responderManager ? resourcePreviewRequest).mapTo[ReadResourcesSequenceV2] + resourcePreviewResponse <- appActor.ask(resourcePreviewRequest).mapTo[ReadResourcesSequenceV2] // If we get a resource, we know the user has permission to view it. resource: ReadResourceV2 = resourcePreviewResponse.toResource(linkValueContent.referredResourceIri) @@ -2228,7 +2234,7 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde requestingUser = requestingUser ) - subClassResponse <- (responderManager ? subClassRequest).mapTo[CheckSubClassResponseV2] + subClassResponse <- appActor.ask(subClassRequest).mapTo[CheckSubClassResponseV2] // If it isn't, throw an exception. _ = if (!subClassResponse.isSubClass) { @@ -2267,7 +2273,7 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde ) ) - subClassResponse <- (responderManager ? subClassRequest).mapTo[CheckSubClassResponseV2] + subClassResponse <- appActor.ask(subClassRequest).mapTo[CheckSubClassResponseV2] // If it isn't, throw an exception. _ = if (!subClassResponse.isSubClass) { @@ -2604,7 +2610,7 @@ class ValuesResponderV2(responderData: ResponderData) extends Responder(responde * @return the new value IRI. */ private def makeUnusedValueIri(resourceIri: IRI): Future[IRI] = - stringFormatter.makeUnusedIri(stringFormatter.makeRandomValueIri(resourceIri), storeManager, loggingAdapter) + stringFormatter.makeUnusedIri(stringFormatter.makeRandomValueIri(resourceIri), appActor, logger) /** * Make a new value UUID considering optional custom value UUID and custom value IRI. diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v2/ontology/Cache.scala b/webapi/src/main/scala/org/knora/webapi/responders/v2/ontology/Cache.scala index 0d412413cb..66fb8578e2 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v2/ontology/Cache.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v2/ontology/Cache.scala @@ -108,7 +108,7 @@ object Cache extends LazyLogging { */ def loadOntologies( settings: KnoraSettingsImpl, - storeManager: ActorRef, + appActor: ActorRef, featureFactoryConfig: FeatureFactoryConfig, requestingUser: UserADM )(implicit ec: ExecutionContext, stringFormat: StringFormatter, timeout: Timeout): Future[SuccessResponseV2] = { @@ -127,7 +127,8 @@ object Cache extends LazyLogging { .getAllOntologyMetadata() .toString() ) - allOntologyMetadataResponse: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(allOntologyMetadataSparql)) + allOntologyMetadataResponse: SparqlSelectResult <- appActor + .ask(SparqlSelectRequest(allOntologyMetadataSparql)) .mapTo[SparqlSelectResult] allOntologyMetadata: Map[SmartIri, OntologyMetadataV2] = OntologyHelpers.buildOntologyMetadata( allOntologyMetadataResponse @@ -183,15 +184,20 @@ object Cache extends LazyLogging { ) .toString - (storeManager ? SparqlExtendedConstructRequest( - sparql = ontologyGraphConstructQuery, - featureFactoryConfig = featureFactoryConfig - )).mapTo[SparqlExtendedConstructResponse].map { response => - OntologyGraph( - ontologyIri = ontologyIri, - constructResponse = response + appActor + .ask( + SparqlExtendedConstructRequest( + sparql = ontologyGraphConstructQuery, + featureFactoryConfig = featureFactoryConfig + ) ) - } + .mapTo[SparqlExtendedConstructResponse] + .map { response => + OntologyGraph( + ontologyIri = ontologyIri, + constructResponse = response + ) + } } ontologyGraphs: Iterable[OntologyGraph] <- Future.sequence(ontologyGraphResponseFutures) diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v2/ontology/Cardinalities.scala b/webapi/src/main/scala/org/knora/webapi/responders/v2/ontology/Cardinalities.scala index 98b0e4ebe1..df24742530 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v2/ontology/Cardinalities.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v2/ontology/Cardinalities.scala @@ -47,7 +47,7 @@ object Cardinalities { */ def canDeleteCardinalitiesFromClass( settings: KnoraSettingsImpl, - storeManager: ActorRef, + appActor: ActorRef, deleteCardinalitiesFromClassRequest: CanDeleteCardinalitiesFromClassRequestV2, internalClassIri: SmartIri, internalOntologyIri: SmartIri @@ -61,7 +61,7 @@ object Cardinalities { // Check that the ontology exists and has not been updated by another user since the client last read it. _ <- OntologyHelpers.checkOntologyLastModificationDateBeforeUpdate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = deleteCardinalitiesFromClassRequest.lastModificationDate, featureFactoryConfig = deleteCardinalitiesFromClassRequest.featureFactoryConfig @@ -127,7 +127,7 @@ object Cardinalities { submittedPropertyToDelete: SmartIri = cardinalitiesToDelete.head._1 propertyIsUsed: Boolean <- isPropertyUsedInResources( settings, - storeManager, + appActor, internalClassIri, submittedPropertyToDelete ) @@ -207,7 +207,7 @@ object Cardinalities { */ def deleteCardinalitiesFromClass( settings: KnoraSettingsImpl, - storeManager: ActorRef, + appActor: ActorRef, deleteCardinalitiesFromClassRequest: DeleteCardinalitiesFromClassRequestV2, internalClassIri: SmartIri, internalOntologyIri: SmartIri @@ -221,7 +221,7 @@ object Cardinalities { // Check that the ontology exists and has not been updated by another user since the client last read it. _ <- OntologyHelpers.checkOntologyLastModificationDateBeforeUpdate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = deleteCardinalitiesFromClassRequest.lastModificationDate, featureFactoryConfig = deleteCardinalitiesFromClassRequest.featureFactoryConfig @@ -288,7 +288,7 @@ object Cardinalities { submittedPropertyToDelete: SmartIri = cardinalitiesToDelete.head._1 propertyIsUsed: Boolean <- isPropertyUsedInResources( settings, - storeManager, + appActor, internalClassIri, submittedPropertyToDelete ) @@ -398,13 +398,13 @@ object Cardinalities { ) .toString() - _ <- (storeManager ? SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] + _ <- appActor.ask(SparqlUpdateRequest(updateSparql)).mapTo[SparqlUpdateResponse] // Check that the ontology's last modification date was updated. _ <- OntologyHelpers.checkOntologyLastModificationDateAfterUpdate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = currentTime, featureFactoryConfig = deleteCardinalitiesFromClassRequest.featureFactoryConfig @@ -414,7 +414,7 @@ object Cardinalities { loadedClassDef <- OntologyHelpers.loadClassDefinition( settings, - storeManager, + appActor, classIri = internalClassIri, featureFactoryConfig = deleteCardinalitiesFromClassRequest.featureFactoryConfig ) @@ -459,7 +459,7 @@ object Cardinalities { */ def isPropertyUsedInResources( settings: KnoraSettingsImpl, - storeManager: ActorRef, + appActor: ActorRef, internalClassIri: SmartIri, internalPropertyIri: SmartIri )(implicit ec: ExecutionContext, timeout: Timeout): Future[Boolean] = @@ -475,7 +475,7 @@ object Cardinalities { .toString() ) response: SparqlAskResponse <- - (storeManager ? SparqlAskRequest(request)).mapTo[SparqlAskResponse] + appActor.ask(SparqlAskRequest(request)).mapTo[SparqlAskResponse] } yield response.result /** diff --git a/webapi/src/main/scala/org/knora/webapi/responders/v2/ontology/OntologyHelpers.scala b/webapi/src/main/scala/org/knora/webapi/responders/v2/ontology/OntologyHelpers.scala index 92aebe3f34..8acdc32c0d 100644 --- a/webapi/src/main/scala/org/knora/webapi/responders/v2/ontology/OntologyHelpers.scala +++ b/webapi/src/main/scala/org/knora/webapi/responders/v2/ontology/OntologyHelpers.scala @@ -124,7 +124,7 @@ object OntologyHelpers { */ def loadOntologyMetadata( settings: KnoraSettingsImpl, - storeManager: ActorRef, + appActor: ActorRef, internalOntologyIri: SmartIri, featureFactoryConfig: FeatureFactoryConfig )(implicit @@ -145,10 +145,14 @@ object OntologyHelpers { ) .toString() - getOntologyInfoResponse <- (storeManager ? SparqlConstructRequest( - sparql = getOntologyInfoSparql, - featureFactoryConfig = featureFactoryConfig - )).mapTo[SparqlConstructResponse] + getOntologyInfoResponse <- appActor + .ask( + SparqlConstructRequest( + sparql = getOntologyInfoSparql, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[SparqlConstructResponse] metadata: Option[OntologyMetadataV2] = if (getOntologyInfoResponse.statements.isEmpty) { @@ -1074,7 +1078,7 @@ object OntologyHelpers { * @param ontology the ontology. * @return the set of subjects that refer to the ontology or its entities. */ - def getSubjectsUsingOntology(settings: KnoraSettingsImpl, storeManager: ActorRef, ontology: ReadOntologyV2)(implicit + def getSubjectsUsingOntology(settings: KnoraSettingsImpl, appActor: ActorRef, ontology: ReadOntologyV2)(implicit ec: ExecutionContext, timeout: Timeout ): Future[Set[IRI]] = @@ -1089,7 +1093,8 @@ object OntologyHelpers { .toString() ) - isOntologyUsedResponse: SparqlSelectResult <- (storeManager ? SparqlSelectRequest(isOntologyUsedSparql)) + isOntologyUsedResponse: SparqlSelectResult <- appActor + .ask(SparqlSelectRequest(isOntologyUsedSparql)) .mapTo[SparqlSelectResult] subjects = isOntologyUsedResponse.results.bindings.map { row => @@ -1128,7 +1133,7 @@ object OntologyHelpers { */ def loadPropertyDefinition( settings: KnoraSettingsImpl, - storeManager: ActorRef, + appActor: ActorRef, propertyIri: SmartIri, featureFactoryConfig: FeatureFactoryConfig )(implicit ex: ExecutionContext, stringFormatter: StringFormatter, timeout: Timeout): Future[PropertyInfoContentV2] = @@ -1141,10 +1146,14 @@ object OntologyHelpers { .toString() ) - constructResponse <- (storeManager ? SparqlExtendedConstructRequest( - sparql = sparql, - featureFactoryConfig = featureFactoryConfig - )).mapTo[SparqlExtendedConstructResponse] + constructResponse <- appActor + .ask( + SparqlExtendedConstructRequest( + sparql = sparql, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[SparqlExtendedConstructResponse] } yield constructResponseToPropertyDefinition( propertyIri = propertyIri, constructResponse = constructResponse @@ -1571,7 +1580,7 @@ object OntologyHelpers { */ def loadClassDefinition( settings: KnoraSettingsImpl, - storeManager: ActorRef, + appActor: ActorRef, classIri: SmartIri, featureFactoryConfig: FeatureFactoryConfig )(implicit ex: ExecutionContext, stringFormatter: StringFormatter, timeout: Timeout): Future[ClassInfoContentV2] = @@ -1584,10 +1593,14 @@ object OntologyHelpers { .toString() ) - constructResponse <- (storeManager ? SparqlExtendedConstructRequest( - sparql = sparql, - featureFactoryConfig = featureFactoryConfig - )).mapTo[SparqlExtendedConstructResponse] + constructResponse <- appActor + .ask( + SparqlExtendedConstructRequest( + sparql = sparql, + featureFactoryConfig = featureFactoryConfig + ) + ) + .mapTo[SparqlExtendedConstructResponse] } yield constructResponseToClassDefinition( classIri = classIri, constructResponse = constructResponse @@ -1751,7 +1764,7 @@ object OntologyHelpers { * an error message fitting for the "before update" case. * * @param settings the application settings. - * @param storeManager the store manager actor ref. + * @param appActor the store manager actor ref. * @param internalOntologyIri the internal IRI of the ontology. * @param expectedLastModificationDate the last modification date that should now be attached to the ontology. * @param featureFactoryConfig the feature factory configuration. @@ -1759,14 +1772,14 @@ object OntologyHelpers { */ def checkOntologyLastModificationDateBeforeUpdate( settings: KnoraSettingsImpl, - storeManager: ActorRef, + appActor: ActorRef, internalOntologyIri: SmartIri, expectedLastModificationDate: Instant, featureFactoryConfig: FeatureFactoryConfig )(implicit ec: ExecutionContext, stringFormatter: StringFormatter, timeout: Timeout): Future[Unit] = checkOntologyLastModificationDate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = expectedLastModificationDate, featureFactoryConfig = featureFactoryConfig, @@ -1780,7 +1793,7 @@ object OntologyHelpers { * an error message fitting for the "after update" case. * * @param settings the application settings. - * @param storeManager the store manager actor ref. + * @param appActor the store manager actor ref. * @param internalOntologyIri the internal IRI of the ontology. * @param expectedLastModificationDate the last modification date that should now be attached to the ontology. * @param featureFactoryConfig the feature factory configuration. @@ -1788,14 +1801,14 @@ object OntologyHelpers { */ def checkOntologyLastModificationDateAfterUpdate( settings: KnoraSettingsImpl, - storeManager: ActorRef, + appActor: ActorRef, internalOntologyIri: SmartIri, expectedLastModificationDate: Instant, featureFactoryConfig: FeatureFactoryConfig )(implicit ec: ExecutionContext, stringFormatter: StringFormatter, timeout: Timeout): Future[Unit] = checkOntologyLastModificationDate( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, expectedLastModificationDate = expectedLastModificationDate, featureFactoryConfig = featureFactoryConfig, @@ -1808,7 +1821,7 @@ object OntologyHelpers { * Checks that the last modification date of an ontology is the same as the one we expect it to be. * * @param settings the application settings. - * @param storeManager the store manager actor ref. + * @param appActor the store manager actor ref. * @param internalOntologyIri the internal IRI of the ontology. * @param expectedLastModificationDate the last modification date that the ontology is expected to have. * @param featureFactoryConfig the feature factory configuration. @@ -1817,7 +1830,7 @@ object OntologyHelpers { */ private def checkOntologyLastModificationDate( settings: KnoraSettingsImpl, - storeManager: ActorRef, + appActor: ActorRef, internalOntologyIri: SmartIri, expectedLastModificationDate: Instant, featureFactoryConfig: FeatureFactoryConfig, @@ -1826,7 +1839,7 @@ object OntologyHelpers { for { existingOntologyMetadata: Option[OntologyMetadataV2] <- loadOntologyMetadata( settings, - storeManager, + appActor, internalOntologyIri = internalOntologyIri, featureFactoryConfig = featureFactoryConfig ) diff --git a/webapi/src/main/scala/org/knora/webapi/routing/Authenticator.scala b/webapi/src/main/scala/org/knora/webapi/routing/Authenticator.scala index 1f3613fbaa..af48638e84 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/Authenticator.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/Authenticator.scala @@ -76,7 +76,7 @@ trait Authenticator extends InstrumentationSupport { */ def doLoginV1(requestContext: RequestContext, featureFactoryConfig: FeatureFactoryConfig)(implicit system: ActorSystem, - responderManager: ActorRef, + appActor: ActorRef, executionContext: ExecutionContext ): Future[HttpResponse] = { @@ -136,7 +136,7 @@ trait Authenticator extends InstrumentationSupport { */ def doLoginV2(credentials: KnoraPasswordCredentialsV2, featureFactoryConfig: FeatureFactoryConfig)(implicit system: ActorSystem, - responderManager: ActorRef, + appActor: ActorRef, executionContext: ExecutionContext ): Future[HttpResponse] = { @@ -250,7 +250,7 @@ trait Authenticator extends InstrumentationSupport { */ def doAuthenticateV1(requestContext: RequestContext, featureFactoryConfig: FeatureFactoryConfig)(implicit system: ActorSystem, - responderManager: ActorRef, + appActor: ActorRef, executionContext: ExecutionContext ): Future[HttpResponse] = { @@ -288,7 +288,7 @@ trait Authenticator extends InstrumentationSupport { */ def doAuthenticateV2(requestContext: RequestContext, featureFactoryConfig: FeatureFactoryConfig)(implicit system: ActorSystem, - responderManager: ActorRef, + appActor: ActorRef, executionContext: ExecutionContext ): Future[HttpResponse] = { @@ -415,7 +415,7 @@ trait Authenticator extends InstrumentationSupport { @deprecated("Please use: getUserADM()", "Knora v1.7.0") def getUserProfileV1(requestContext: RequestContext, featureFactoryConfig: FeatureFactoryConfig)(implicit system: ActorSystem, - responderManager: ActorRef, + appActor: ActorRef, executionContext: ExecutionContext ): Future[UserProfileV1] = { @@ -461,7 +461,7 @@ trait Authenticator extends InstrumentationSupport { */ def getUserADM(requestContext: RequestContext, featureFactoryConfig: FeatureFactoryConfig)(implicit system: ActorSystem, - responderManager: ActorRef, + appActor: ActorRef, executionContext: ExecutionContext ): Future[UserADM] = { @@ -531,7 +531,11 @@ object Authenticator extends InstrumentationSupport { def authenticateCredentialsV2( credentials: Option[KnoraCredentialsV2], featureFactoryConfig: FeatureFactoryConfig - )(implicit system: ActorSystem, responderManager: ActorRef, executionContext: ExecutionContext): Future[Boolean] = + )(implicit + system: ActorSystem, + appActor: ActorRef, + executionContext: ExecutionContext + ): Future[Boolean] = for { settings <- FastFuture.successful(KnoraSettings(system)) @@ -760,7 +764,11 @@ object Authenticator extends InstrumentationSupport { private def getUserADMThroughCredentialsV2( credentials: Option[KnoraCredentialsV2], featureFactoryConfig: FeatureFactoryConfig - )(implicit system: ActorSystem, responderManager: ActorRef, executionContext: ExecutionContext): Future[UserADM] = { + )(implicit + system: ActorSystem, + appActor: ActorRef, + executionContext: ExecutionContext + ): Future[UserADM] = { val settings = KnoraSettings(system) @@ -835,17 +843,22 @@ object Authenticator extends InstrumentationSupport { */ private def getUserByIdentifier(identifier: UserIdentifierADM, featureFactoryConfig: FeatureFactoryConfig)(implicit system: ActorSystem, - responderManager: ActorRef, + appActor: ActorRef, timeout: Timeout, executionContext: ExecutionContext ): Future[UserADM] = tracedFuture("authenticator-get-user-by-identifier") { for { - maybeUserADM <- (responderManager ? UserGetADM( - identifier = identifier, - userInformationTypeADM = UserInformationTypeADM.Full, - featureFactoryConfig = featureFactoryConfig, - requestingUser = KnoraSystemInstances.Users.SystemUser - )).mapTo[Option[UserADM]] + maybeUserADM <- + appActor + .ask( + UserGetADM( + identifier = identifier, + userInformationTypeADM = UserInformationTypeADM.Full, + featureFactoryConfig = featureFactoryConfig, + requestingUser = KnoraSystemInstances.Users.SystemUser + ) + ) + .mapTo[Option[UserADM]] user = maybeUserADM match { case Some(u) => u diff --git a/webapi/src/main/scala/org/knora/webapi/routing/HealthRoute.scala b/webapi/src/main/scala/org/knora/webapi/routing/HealthRoute.scala index 66c829227b..2dd768af92 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/HealthRoute.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/HealthRoute.scala @@ -34,7 +34,7 @@ trait HealthCheck { protected def healthCheck(): Future[HttpResponse] = for { - state: AppState <- (applicationActor ? GetAppState()).mapTo[AppState] + state: AppState <- appActor.ask(GetAppState()).mapTo[AppState] result: HealthCheckResult = state match { case AppStates.Stopped => unhealthy("Stopped. Please retry later.") 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 40fa4d9e08..26971d46d1 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/KnoraRoute.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/KnoraRoute.scala @@ -7,7 +7,7 @@ package org.knora.webapi.routing import akka.actor.ActorRef import akka.actor.ActorSystem -import akka.event.LoggingAdapter +import com.typesafe.scalalogging.Logger import akka.http.scaladsl.server.RequestContext import akka.http.scaladsl.server.Route import akka.http.scaladsl.server.RouteResult @@ -19,6 +19,7 @@ import dsp.errors.BadRequestException import org.knora.webapi.feature.FeatureFactoryConfig import org.knora.webapi.feature.KnoraSettingsFeatureFactoryConfig import org.knora.webapi.feature.RequestContextFeatureFactoryConfig + import org.knora.webapi.messages.StringFormatter import org.knora.webapi.messages.admin.responder.projectsmessages.ProjectADM import org.knora.webapi.messages.admin.responder.projectsmessages.ProjectGetRequestADM @@ -56,11 +57,9 @@ abstract class KnoraRouteFactory(routeData: KnoraRouteData) { implicit protected val materializer: Materializer = Materializer.matFromSystem(system) implicit protected val stringFormatter: StringFormatter = StringFormatter.getGeneralInstance - protected val applicationActor: ActorRef = routeData.appActor - implicit protected val responderManager: ActorRef = routeData.appActor - protected val storeManager: ActorRef = routeData.appActor - protected val log: LoggingAdapter = akka.event.Logging(system, this.getClass) - protected val baseApiUrl: String = settings.internalKnoraApiBaseUrl + implicit protected val appActor: ActorRef = routeData.appActor + protected val log: Logger = Logger(this.getClass) + protected val baseApiUrl: String = settings.internalKnoraApiBaseUrl /** * Constructs a route. This can be done: @@ -142,11 +141,15 @@ abstract class KnoraRoute(routeData: KnoraRouteData) extends KnoraRouteFactory(r for { projectInfoResponse: ProjectGetResponseADM <- - (responderManager ? ProjectGetRequestADM( - identifier = ProjectIdentifierADM(maybeIri = Some(checkedProjectIri)), - featureFactoryConfig = featureFactoryConfig, - requestingUser = requestingUser - )).mapTo[ProjectGetResponseADM] + appActor + .ask( + ProjectGetRequestADM( + identifier = ProjectIdentifierADM(maybeIri = Some(checkedProjectIri)), + featureFactoryConfig = featureFactoryConfig, + requestingUser = requestingUser + ) + ) + .mapTo[ProjectGetResponseADM] } yield projectInfoResponse.project } diff --git a/webapi/src/main/scala/org/knora/webapi/routing/RejectingRoute.scala b/webapi/src/main/scala/org/knora/webapi/routing/RejectingRoute.scala index 11e4621082..2168eee8c4 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/RejectingRoute.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/RejectingRoute.scala @@ -31,7 +31,7 @@ trait AppStateAccess { protected def getAppState: Future[AppState] = for { - state <- (applicationActor ? GetAppState()).mapTo[AppState] + state <- appActor.ask(GetAppState()).mapTo[AppState] } yield state diff --git a/webapi/src/main/scala/org/knora/webapi/routing/RouteUtilADM.scala b/webapi/src/main/scala/org/knora/webapi/routing/RouteUtilADM.scala index e603bd6dd1..c3033599e6 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/RouteUtilADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/RouteUtilADM.scala @@ -6,7 +6,7 @@ package org.knora.webapi.routing import akka.actor.ActorRef -import akka.event.LoggingAdapter +import com.typesafe.scalalogging.Logger import akka.http.scaladsl.model._ import akka.http.scaladsl.server.RequestContext import akka.http.scaladsl.server.RouteResult @@ -14,7 +14,7 @@ import akka.pattern._ import akka.util.Timeout import dsp.errors.UnexpectedMessageException import org.knora.webapi.feature.FeatureFactoryConfig -import org.knora.webapi.messages.admin.responder.KnoraRequestADM +import org.knora.webapi.messages.ResponderRequest.KnoraRequestADM import org.knora.webapi.messages.admin.responder.KnoraResponseADM import org.knora.webapi.settings.KnoraSettingsImpl @@ -33,7 +33,7 @@ object RouteUtilADM { * @param requestContext the akka-http [[RequestContext]]. * @param featureFactoryConfig the per-request feature factory configuration. * @param settings the application's settings. - * @param responderManager a reference to the responder manager. + * @param appActor a reference to the application actor. * @param log a logging adapter. * @param timeout a timeout for `ask` messages. * @param executionContext an execution context for futures. @@ -44,8 +44,8 @@ object RouteUtilADM { requestContext: RequestContext, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - responderManager: ActorRef, - log: LoggingAdapter + appActor: ActorRef, + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[RouteResult] = { val httpResponse: Future[HttpResponse] = for { @@ -58,7 +58,7 @@ object RouteUtilADM { } // Make sure the responder sent a reply of type KnoraResponseV2. - knoraResponse <- (responderManager ? requestMessage).map { + knoraResponse <- (appActor.ask(requestMessage)).map { case replyMessage: KnoraResponseADM => replyMessage case other => diff --git a/webapi/src/main/scala/org/knora/webapi/routing/RouteUtilV1.scala b/webapi/src/main/scala/org/knora/webapi/routing/RouteUtilV1.scala index cf9ed8a73e..48613098eb 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/RouteUtilV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/RouteUtilV1.scala @@ -6,7 +6,7 @@ package org.knora.webapi.routing import akka.actor.ActorRef -import akka.event.LoggingAdapter +import com.typesafe.scalalogging.Logger import akka.http.scaladsl.model._ import akka.http.scaladsl.server.RequestContext import akka.http.scaladsl.server.RouteResult @@ -22,7 +22,7 @@ import org.knora.webapi.messages.admin.responder.usersmessages.UserADM import org.knora.webapi.messages.store.sipimessages.GetFileMetadataResponse import org.knora.webapi.messages.util.standoff.StandoffTagUtilV2 import org.knora.webapi.messages.util.standoff.StandoffTagUtilV2.TextWithStandoffTagsV2 -import org.knora.webapi.messages.v1.responder.KnoraRequestV1 +import org.knora.webapi.messages.ResponderRequest.KnoraRequestV1 import org.knora.webapi.messages.v1.responder.KnoraResponseV1 import org.knora.webapi.messages.v1.responder.valuemessages.ArchiveFileValueV1 import org.knora.webapi.messages.v1.responder.valuemessages.AudioFileValueV1 @@ -33,6 +33,7 @@ import org.knora.webapi.messages.v1.responder.valuemessages.StillImageFileValueV import org.knora.webapi.messages.v1.responder.valuemessages.TextFileValueV1 import org.knora.webapi.messages.v2.responder.standoffmessages.GetMappingRequestV2 import org.knora.webapi.messages.v2.responder.standoffmessages.GetMappingResponseV2 +import org.knora.webapi.responders.ResponderManager import org.knora.webapi.settings.KnoraSettingsImpl import spray.json.JsNumber import spray.json.JsObject @@ -62,8 +63,8 @@ object RouteUtilV1 { requestMessage: KnoraRequestV1, requestContext: RequestContext, settings: KnoraSettingsImpl, - responderManager: ActorRef, - log: LoggingAdapter + appActor: ActorRef, + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[RouteResult] = { // Optionally log the request message. TODO: move this to the testing framework. if (settings.dumpMessages) { @@ -72,7 +73,7 @@ object RouteUtilV1 { val httpResponse: Future[HttpResponse] = for { // Make sure the responder sent a reply of type KnoraResponseV1. - knoraResponse <- (responderManager ? requestMessage).map { + knoraResponse <- (appActor.ask(requestMessage)).map { case replyMessage: KnoraResponseV1 => replyMessage case other => @@ -121,8 +122,8 @@ object RouteUtilV1 { requestMessageF: Future[RequestMessageT], requestContext: RequestContext, settings: KnoraSettingsImpl, - responderManager: ActorRef, - log: LoggingAdapter + appActor: ActorRef, + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[RouteResult] = for { requestMessage <- requestMessageF @@ -130,7 +131,7 @@ object RouteUtilV1 { requestMessage = requestMessage, requestContext = requestContext, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } yield routeResult @@ -154,8 +155,8 @@ object RouteUtilV1 { viewHandler: (ReplyMessageT, ActorRef) => String, requestContext: RequestContext, settings: KnoraSettingsImpl, - responderManager: ActorRef, - log: LoggingAdapter + appActor: ActorRef, + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[RouteResult] = { val httpResponse: Future[HttpResponse] = for { @@ -168,7 +169,7 @@ object RouteUtilV1 { } // Make sure the responder sent a reply of type ReplyMessageT. - knoraResponse <- (responderManager ? requestMessage).map { + knoraResponse <- (appActor.ask(requestMessage)).map { case replyMessage: ReplyMessageT => replyMessage case other => @@ -187,7 +188,7 @@ object RouteUtilV1 { status = StatusCodes.OK, entity = HttpEntity( ContentTypes.`text/html(UTF-8)`, - viewHandler(knoraResponse, responderManager) + viewHandler(knoraResponse, appActor) ) ) @@ -218,17 +219,22 @@ object RouteUtilV1 { userProfile: UserADM, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - responderManager: ActorRef, - log: LoggingAdapter + appActor: ActorRef, + log: Logger )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[TextWithStandoffTagsV2] = for { // get the mapping directly from v2 responder directly (to avoid useless back and forth conversions between v2 and v1 message formats) - mappingResponse: GetMappingResponseV2 <- (responderManager ? GetMappingRequestV2( - mappingIri = mappingIri, - featureFactoryConfig = featureFactoryConfig, - requestingUser = userProfile - )).mapTo[GetMappingResponseV2] + mappingResponse: GetMappingResponseV2 <- + appActor + .ask( + GetMappingRequestV2( + mappingIri = mappingIri, + featureFactoryConfig = featureFactoryConfig, + requestingUser = userProfile + ) + ) + .mapTo[GetMappingResponseV2] textWithStandoffTagV1 = StandoffTagUtilV2.convertXMLtoStandoffTagV2( xml = xml, diff --git a/webapi/src/main/scala/org/knora/webapi/routing/RouteUtilV2.scala b/webapi/src/main/scala/org/knora/webapi/routing/RouteUtilV2.scala index 030fbdd0e8..1f59537423 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/RouteUtilV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/RouteUtilV2.scala @@ -6,7 +6,7 @@ package org.knora.webapi.routing import akka.actor.ActorRef -import akka.event.LoggingAdapter +import com.typesafe.scalalogging.Logger import akka.http.scaladsl.model._ import akka.http.scaladsl.server.RequestContext import akka.http.scaladsl.server.RouteResult @@ -23,9 +23,10 @@ import org.knora.webapi.messages.util.rdf.JsonLDDocument import org.knora.webapi.messages.util.rdf.RdfFeatureFactory import org.knora.webapi.messages.util.rdf.RdfFormat import org.knora.webapi.messages.util.rdf.RdfModel -import org.knora.webapi.messages.v2.responder.KnoraRequestV2 +import org.knora.webapi.messages.ResponderRequest.KnoraRequestV2 import org.knora.webapi.messages.v2.responder.KnoraResponseV2 import org.knora.webapi.messages.v2.responder.resourcemessages.ResourceTEIGetResponseV2 +import org.knora.webapi.responders.ResponderManager import org.knora.webapi.settings.KnoraSettingsImpl import scala.concurrent.ExecutionContext @@ -217,8 +218,8 @@ object RouteUtilV2 { requestContext: RequestContext, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - responderManager: ActorRef, - log: LoggingAdapter, + appActor: ActorRef, + log: Logger, targetSchema: OntologySchema, schemaOptions: Set[SchemaOption] )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[RouteResult] = { @@ -229,7 +230,7 @@ object RouteUtilV2 { val httpResponse: Future[HttpResponse] = for { // Make sure the responder sent a reply of type KnoraResponseV2. - knoraResponse <- (responderManager ? requestMessage).map { + knoraResponse <- (appActor.ask(requestMessage)).map { case replyMessage: KnoraResponseV2 => replyMessage case other => @@ -294,8 +295,8 @@ object RouteUtilV2 { requestContext: RequestContext, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - responderManager: ActorRef, - log: LoggingAdapter, + appActor: ActorRef, + log: Logger, targetSchema: ApiV2Schema )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[RouteResult] = { @@ -305,7 +306,7 @@ object RouteUtilV2 { requestMessage <- requestMessageF - teiResponse <- (responderManager ? requestMessage).map { + teiResponse <- (appActor.ask(requestMessage)).map { case replyMessage: ResourceTEIGetResponseV2 => replyMessage case other => @@ -349,8 +350,8 @@ object RouteUtilV2 { requestContext: RequestContext, featureFactoryConfig: FeatureFactoryConfig, settings: KnoraSettingsImpl, - responderManager: ActorRef, - log: LoggingAdapter, + appActor: ActorRef, + log: Logger, targetSchema: OntologySchema, schemaOptions: Set[SchemaOption] )(implicit timeout: Timeout, executionContext: ExecutionContext): Future[RouteResult] = @@ -361,7 +362,7 @@ object RouteUtilV2 { requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = targetSchema, schemaOptions = schemaOptions 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 480435710a..496298fbfd 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 @@ -69,7 +69,7 @@ class GroupsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -99,7 +99,7 @@ class GroupsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -130,7 +130,7 @@ class GroupsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -167,7 +167,7 @@ class GroupsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -218,7 +218,7 @@ class GroupsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -264,7 +264,7 @@ class GroupsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -297,7 +297,7 @@ class GroupsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } 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 ea00955026..81e6f0aedc 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 @@ -104,7 +104,7 @@ class ProjectsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -167,7 +167,7 @@ class ProjectsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -192,7 +192,7 @@ class ProjectsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -221,7 +221,7 @@ class ProjectsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -252,7 +252,7 @@ class ProjectsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -285,7 +285,7 @@ class ProjectsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -318,7 +318,7 @@ class ProjectsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -354,7 +354,7 @@ class ProjectsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -389,7 +389,7 @@ class ProjectsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -421,7 +421,7 @@ class ProjectsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -455,7 +455,7 @@ class ProjectsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -489,7 +489,7 @@ class ProjectsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -521,7 +521,7 @@ class ProjectsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -555,7 +555,7 @@ class ProjectsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -589,7 +589,7 @@ class ProjectsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -619,7 +619,7 @@ class ProjectsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -650,7 +650,7 @@ class ProjectsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -679,7 +679,7 @@ class ProjectsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -731,7 +731,7 @@ class ProjectsRouteADM(routeData: KnoraRouteData) requestingUser = requestingUser ) - responseMessage <- (responderManager ? requestMessage).mapTo[ProjectDataGetResponseADM] + responseMessage <- (appActor.ask(requestMessage)).mapTo[ProjectDataGetResponseADM] // Stream the output file back to the client, then delete the file. diff --git a/webapi/src/main/scala/org/knora/webapi/routing/admin/SipiRouteADM.scala b/webapi/src/main/scala/org/knora/webapi/routing/admin/SipiRouteADM.scala index ffbf9a7a0a..350f8590ed 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/admin/SipiRouteADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/admin/SipiRouteADM.scala @@ -55,7 +55,7 @@ class SipiRouteADM(routeData: KnoraRouteData) extends KnoraRoute(routeData) with requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } diff --git a/webapi/src/main/scala/org/knora/webapi/routing/admin/StoreRouteADM.scala b/webapi/src/main/scala/org/knora/webapi/routing/admin/StoreRouteADM.scala index cf8b6de799..58dc7d104c 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/admin/StoreRouteADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/admin/StoreRouteADM.scala @@ -63,7 +63,7 @@ class StoreRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log )(timeout = 479999.milliseconds, executionContext = executionContext) } 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 10997c9aee..f45a9175d3 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 @@ -87,7 +87,7 @@ class UsersRouteADM(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -158,7 +158,7 @@ class UsersRouteADM(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -188,7 +188,7 @@ class UsersRouteADM(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -217,7 +217,7 @@ class UsersRouteADM(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -246,7 +246,7 @@ class UsersRouteADM(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -309,7 +309,7 @@ class UsersRouteADM(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -364,7 +364,7 @@ class UsersRouteADM(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -415,7 +415,7 @@ class UsersRouteADM(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -463,7 +463,7 @@ class UsersRouteADM(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -513,7 +513,7 @@ class UsersRouteADM(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -548,7 +548,7 @@ class UsersRouteADM(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -598,7 +598,7 @@ class UsersRouteADM(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -648,7 +648,7 @@ class UsersRouteADM(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -683,7 +683,7 @@ class UsersRouteADM(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -733,7 +733,7 @@ class UsersRouteADM(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -783,7 +783,7 @@ class UsersRouteADM(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -817,7 +817,7 @@ class UsersRouteADM(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -864,7 +864,7 @@ class UsersRouteADM(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -911,7 +911,7 @@ class UsersRouteADM(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } diff --git a/webapi/src/main/scala/org/knora/webapi/routing/admin/lists/DeleteListItemsRouteADM.scala b/webapi/src/main/scala/org/knora/webapi/routing/admin/lists/DeleteListItemsRouteADM.scala index 364f659e8c..b238bb3c2c 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/admin/lists/DeleteListItemsRouteADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/admin/lists/DeleteListItemsRouteADM.scala @@ -64,7 +64,7 @@ class DeleteListItemsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -92,7 +92,7 @@ class DeleteListItemsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -120,7 +120,7 @@ class DeleteListItemsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } diff --git a/webapi/src/main/scala/org/knora/webapi/routing/admin/lists/OldListsRouteADMFeature.scala b/webapi/src/main/scala/org/knora/webapi/routing/admin/lists/OldListsRouteADMFeature.scala index f957e8f06b..220290cb50 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/admin/lists/OldListsRouteADMFeature.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/admin/lists/OldListsRouteADMFeature.scala @@ -93,7 +93,7 @@ class OldListsRouteADMFeature(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -131,7 +131,7 @@ class OldListsRouteADMFeature(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -158,7 +158,7 @@ class OldListsRouteADMFeature(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -187,7 +187,7 @@ class OldListsRouteADMFeature(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -254,7 +254,7 @@ class OldListsRouteADMFeature(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -334,7 +334,7 @@ class OldListsRouteADMFeature(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -414,7 +414,7 @@ class OldListsRouteADMFeature(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } diff --git a/webapi/src/main/scala/org/knora/webapi/routing/admin/lists/UpdateListItemsRouteADM.scala b/webapi/src/main/scala/org/knora/webapi/routing/admin/lists/UpdateListItemsRouteADM.scala index 4cf08041d2..0a438e90ff 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/admin/lists/UpdateListItemsRouteADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/admin/lists/UpdateListItemsRouteADM.scala @@ -97,7 +97,7 @@ class UpdateListItemsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -155,7 +155,7 @@ class UpdateListItemsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -213,7 +213,7 @@ class UpdateListItemsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -268,7 +268,7 @@ class UpdateListItemsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } diff --git a/webapi/src/main/scala/org/knora/webapi/routing/admin/permissions/CreatePermissionRouteADM.scala b/webapi/src/main/scala/org/knora/webapi/routing/admin/permissions/CreatePermissionRouteADM.scala index b7e6d649b7..ab86dcf78f 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/admin/permissions/CreatePermissionRouteADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/admin/permissions/CreatePermissionRouteADM.scala @@ -65,7 +65,7 @@ class CreatePermissionRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -97,7 +97,7 @@ class CreatePermissionRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } diff --git a/webapi/src/main/scala/org/knora/webapi/routing/admin/permissions/DeletePermissionRouteADM.scala b/webapi/src/main/scala/org/knora/webapi/routing/admin/permissions/DeletePermissionRouteADM.scala index c8371d3e54..4d6b0dd1cd 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/admin/permissions/DeletePermissionRouteADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/admin/permissions/DeletePermissionRouteADM.scala @@ -60,7 +60,7 @@ class DeletePermissionRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } diff --git a/webapi/src/main/scala/org/knora/webapi/routing/admin/permissions/GetPermissionsRouteADM.scala b/webapi/src/main/scala/org/knora/webapi/routing/admin/permissions/GetPermissionsRouteADM.scala index ec1b80b841..f1d4f7a9b7 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/admin/permissions/GetPermissionsRouteADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/admin/permissions/GetPermissionsRouteADM.scala @@ -56,7 +56,7 @@ class GetPermissionsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -81,7 +81,7 @@ class GetPermissionsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -106,7 +106,7 @@ class GetPermissionsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -132,7 +132,7 @@ class GetPermissionsRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } diff --git a/webapi/src/main/scala/org/knora/webapi/routing/admin/permissions/UpdatePermissionRouteADM.scala b/webapi/src/main/scala/org/knora/webapi/routing/admin/permissions/UpdatePermissionRouteADM.scala index 1d4d4643dc..a10186926a 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/admin/permissions/UpdatePermissionRouteADM.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/admin/permissions/UpdatePermissionRouteADM.scala @@ -69,7 +69,7 @@ class UpdatePermissionRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -103,7 +103,7 @@ class UpdatePermissionRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -137,7 +137,7 @@ class UpdatePermissionRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -171,7 +171,7 @@ class UpdatePermissionRouteADM(routeData: KnoraRouteData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } diff --git a/webapi/src/main/scala/org/knora/webapi/routing/v1/CkanRouteV1.scala b/webapi/src/main/scala/org/knora/webapi/routing/v1/CkanRouteV1.scala index c28a9a8b39..8358688b3a 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/v1/CkanRouteV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/v1/CkanRouteV1.scala @@ -46,7 +46,7 @@ class CkanRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) with requestMessage, requestContext, settings, - responderManager, + appActor, log ) } diff --git a/webapi/src/main/scala/org/knora/webapi/routing/v1/ListsRouteV1.scala b/webapi/src/main/scala/org/knora/webapi/routing/v1/ListsRouteV1.scala index 8c8855005b..3f926b5fd7 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/v1/ListsRouteV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/v1/ListsRouteV1.scala @@ -51,7 +51,7 @@ class ListsRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) with requestMessageFuture, requestContext, settings, - responderManager, + appActor, log ) } @@ -79,7 +79,7 @@ class ListsRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) with requestMessageFuture, requestContext, settings, - responderManager, + appActor, log ) } diff --git a/webapi/src/main/scala/org/knora/webapi/routing/v1/ProjectsRouteV1.scala b/webapi/src/main/scala/org/knora/webapi/routing/v1/ProjectsRouteV1.scala index 3478dc3e3c..1d9bf80555 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/v1/ProjectsRouteV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/v1/ProjectsRouteV1.scala @@ -42,7 +42,7 @@ class ProjectsRouteV1(routeData: KnoraRouteData) requestMessage, requestContext, settings, - responderManager, + appActor, log ) } @@ -81,7 +81,7 @@ class ProjectsRouteV1(routeData: KnoraRouteData) requestMessage, requestContext, settings, - responderManager, + appActor, log ) } diff --git a/webapi/src/main/scala/org/knora/webapi/routing/v1/ResourceTypesRouteV1.scala b/webapi/src/main/scala/org/knora/webapi/routing/v1/ResourceTypesRouteV1.scala index 00d8b23fb9..b3bbdcf4ed 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/v1/ResourceTypesRouteV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/v1/ResourceTypesRouteV1.scala @@ -45,7 +45,7 @@ class ResourceTypesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeDa requestMessage, requestContext, settings, - responderManager, + appActor, log ) } @@ -84,7 +84,7 @@ class ResourceTypesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeDa requestMessage, requestContext, settings, - responderManager, + appActor, log ) @@ -144,7 +144,7 @@ class ResourceTypesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeDa requestMessage, requestContext, settings, - responderManager, + appActor, log ) @@ -165,7 +165,7 @@ class ResourceTypesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeDa requestMessage, requestContext, settings, - responderManager, + appActor, log ) @@ -186,7 +186,7 @@ class ResourceTypesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeDa requestMessage, requestContext, settings, - responderManager, + appActor, log ) } @@ -209,7 +209,7 @@ class ResourceTypesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeDa requestMessage, requestContext, settings, - responderManager, + appActor, log ) } diff --git a/webapi/src/main/scala/org/knora/webapi/routing/v1/ResourcesRouteV1.scala b/webapi/src/main/scala/org/knora/webapi/routing/v1/ResourcesRouteV1.scala index ea6464954f..5bd9003036 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/v1/ResourcesRouteV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/v1/ResourcesRouteV1.scala @@ -180,7 +180,7 @@ class ResourcesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) userProfile = userProfile, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) @@ -320,11 +320,15 @@ class ResourcesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) for { projectShortcode: String <- for { projectResponse: ProjectGetResponseADM <- - (responderManager ? ProjectGetRequestADM( - ProjectIdentifierADM(maybeIri = Some(projectIri)), - featureFactoryConfig = featureFactoryConfig, - requestingUser = userADM - )).mapTo[ProjectGetResponseADM] + appActor + .ask( + ProjectGetRequestADM( + ProjectIdentifierADM(maybeIri = Some(projectIri)), + featureFactoryConfig = featureFactoryConfig, + requestingUser = userADM + ) + ) + .mapTo[ProjectGetResponseADM] } yield projectResponse.project.shortcode file: Option[FileValueV1] <- apiRequest.file match { @@ -334,10 +338,14 @@ class ResourcesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) for { fileMetadataResponse: GetFileMetadataResponse <- - (storeManager ? GetFileMetadataRequest( - filePath = tempFilePath, - requestingUser = userADM - )).mapTo[GetFileMetadataResponse] + appActor + .ask( + GetFileMetadataRequest( + filePath = tempFilePath, + requestingUser = userADM + ) + ) + .mapTo[GetFileMetadataResponse] } yield Some( RouteUtilV1.makeFileValue( filename = filename, @@ -394,10 +402,14 @@ class ResourcesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) val tempFilePath = stringFormatter.makeSipiTempFilePath(settings, filename) for { - fileMetadataResponse: GetFileMetadataResponse <- (storeManager ? GetFileMetadataRequest( - filePath = tempFilePath, - requestingUser = userProfile - )).mapTo[GetFileMetadataResponse] + fileMetadataResponse: GetFileMetadataResponse <- appActor + .ask( + GetFileMetadataRequest( + filePath = tempFilePath, + requestingUser = userProfile + ) + ) + .mapTo[GetFileMetadataResponse] } yield Some( RouteUtilV1.makeFileValue( filename = filename, @@ -443,11 +455,15 @@ class ResourcesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) for { projectShortcode: String <- for { projectResponse: ProjectGetResponseADM <- - (responderManager ? ProjectGetRequestADM( - identifier = ProjectIdentifierADM(maybeIri = Some(projectId)), - featureFactoryConfig = featureFactoryConfig, - requestingUser = userProfile - )).mapTo[ProjectGetResponseADM] + appActor + .ask( + ProjectGetRequestADM( + identifier = ProjectIdentifierADM(maybeIri = Some(projectId)), + featureFactoryConfig = featureFactoryConfig, + requestingUser = userProfile + ) + ) + .mapTo[ProjectGetResponseADM] } yield projectResponse.project.shortcode resourcesToCreate: Seq[Future[OneOfMultipleResourceCreateRequestV1]] = @@ -526,17 +542,26 @@ class ResourcesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) for { // Get a NamedGraphEntityInfoV1 listing the IRIs of the classes and properties defined in the initial ontology. - initialNamedGraphInfo: NamedGraphEntityInfoV1 <- (responderManager ? NamedGraphEntityInfoRequestV1( - initialOntologyIri, - userProfile - )).mapTo[NamedGraphEntityInfoV1] + initialNamedGraphInfo: NamedGraphEntityInfoV1 <- appActor + .ask( + NamedGraphEntityInfoRequestV1( + initialOntologyIri, + userProfile + ) + ) + .mapTo[NamedGraphEntityInfoV1] // Get details about those classes and properties. - entityInfoResponse: EntityInfoGetResponseV1 <- (responderManager ? EntityInfoGetRequestV1( - resourceClassIris = initialNamedGraphInfo.resourceClasses, - propertyIris = initialNamedGraphInfo.propertyIris, - userProfile = userProfile - )).mapTo[EntityInfoGetResponseV1] + entityInfoResponse: EntityInfoGetResponseV1 <- + appActor + .ask( + EntityInfoGetRequestV1( + resourceClassIris = initialNamedGraphInfo.resourceClasses, + propertyIris = initialNamedGraphInfo.propertyIris, + userProfile = userProfile + ) + ) + .mapTo[EntityInfoGetResponseV1] // Look at the base classes of all the resource classes in the initial ontology. Make a set of // the ontologies containing the definitions of those classes, not including including the initial ontology itself @@ -614,10 +639,14 @@ class ResourcesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) for { // Get a NamedGraphEntityInfoV1 for the knora-base ontology. - knoraBaseGraphEntityInfo <- (responderManager ? NamedGraphEntityInfoRequestV1( - OntologyConstants.KnoraBase.KnoraBaseOntologyIri, - userProfile - )).mapTo[NamedGraphEntityInfoV1] + knoraBaseGraphEntityInfo <- appActor + .ask( + NamedGraphEntityInfoRequestV1( + OntologyConstants.KnoraBase.KnoraBaseOntologyIri, + userProfile + ) + ) + .mapTo[NamedGraphEntityInfoV1] // Recursively get NamedGraphEntityInfoV1 instances for the main ontology to be used in the XML import, // as well as any other project-specific ontologies it depends on. @@ -685,11 +714,15 @@ class ResourcesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) entityInfoResponseFutures: immutable.Iterable[Future[(IRI, EntityInfoGetResponseV1)]] = namedGraphInfos.map { case (ontologyIri: IRI, namedGraphInfo: NamedGraphEntityInfoV1) => for { - entityInfoResponse: EntityInfoGetResponseV1 <- (responderManager ? EntityInfoGetRequestV1( - resourceClassIris = namedGraphInfo.resourceClasses, - propertyIris = namedGraphInfo.propertyIris, - userProfile = userProfile - )).mapTo[EntityInfoGetResponseV1] + entityInfoResponse: EntityInfoGetResponseV1 <- appActor + .ask( + EntityInfoGetRequestV1( + resourceClassIris = namedGraphInfo.resourceClasses, + propertyIris = namedGraphInfo.propertyIris, + userProfile = userProfile + ) + ) + .mapTo[EntityInfoGetResponseV1] } yield ontologyIri -> entityInfoResponse } @@ -1251,7 +1284,7 @@ class ResourcesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestMessageF = requestMessage, requestContext = requestContext, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } ~ post { @@ -1275,7 +1308,7 @@ class ResourcesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestMessageF = requestMessageFuture, requestContext = requestContext, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -1302,7 +1335,7 @@ class ResourcesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestMessageF = requestMessage, requestContext = requestContext, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -1319,7 +1352,7 @@ class ResourcesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestMessageF = requestMessage, requestContext = requestContext, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -1353,7 +1386,7 @@ class ResourcesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) viewHandler = ResourceHtmlView.propertiesHtmlView, requestContext = requestContext, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -1374,7 +1407,7 @@ class ResourcesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestMessageF = requestMessage, requestContext = requestContext, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) @@ -1407,7 +1440,7 @@ class ResourcesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestMessageF = requestMessage, requestContext = requestContext, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -1430,7 +1463,7 @@ class ResourcesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestMessageF = requestMessage, requestContext = requestContext, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -1450,7 +1483,7 @@ class ResourcesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestMessage = msg, requestContext = requestContext, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) } @@ -1515,7 +1548,7 @@ class ResourcesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestMessageF = requestMessage, requestContext = requestContext, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log )(timeout = settings.triplestoreUpdateTimeout, executionContext = executionContext) } diff --git a/webapi/src/main/scala/org/knora/webapi/routing/v1/SearchRouteV1.scala b/webapi/src/main/scala/org/knora/webapi/routing/v1/SearchRouteV1.scala index 20837308f0..8451b94c06 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/v1/SearchRouteV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/v1/SearchRouteV1.scala @@ -258,7 +258,7 @@ class SearchRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestMessage, requestContext, settings, - responderManager, + appActor, log ) } @@ -278,7 +278,7 @@ class SearchRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestMessage, requestContext, settings, - responderManager, + appActor, log ) } diff --git a/webapi/src/main/scala/org/knora/webapi/routing/v1/StandoffRouteV1.scala b/webapi/src/main/scala/org/knora/webapi/routing/v1/StandoffRouteV1.scala index 966ce4e7b0..22215009f5 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/v1/StandoffRouteV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/v1/StandoffRouteV1.scala @@ -44,17 +44,17 @@ class StandoffRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) w val allPartsFuture: Future[Map[Name, String]] = formdata.parts .mapAsync[(Name, String)](1) { case b: BodyPart if b.name == JSON_PART => - //loggingAdapter.debug(s"inside allPartsFuture - processing $JSON_PART") + //Logger.debug(s"inside allPartsFuture - processing $JSON_PART") b.toStrict(2.seconds).map { strict => - //loggingAdapter.debug(strict.entity.data.utf8String) + //Logger.debug(strict.entity.data.utf8String) (b.name, strict.entity.data.utf8String) } case b: BodyPart if b.name == XML_PART => - //loggingAdapter.debug(s"inside allPartsFuture - processing $XML_PART") + //Logger.debug(s"inside allPartsFuture - processing $XML_PART") b.toStrict(2.seconds).map { strict => - //loggingAdapter.debug(strict.entity.data.utf8String) + //Logger.debug(strict.entity.data.utf8String) (b.name, strict.entity.data.utf8String) } @@ -119,7 +119,7 @@ class StandoffRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) w requestMessageFuture, requestContext, settings, - responderManager, + appActor, log ) } diff --git a/webapi/src/main/scala/org/knora/webapi/routing/v1/UsersRouteV1.scala b/webapi/src/main/scala/org/knora/webapi/routing/v1/UsersRouteV1.scala index 9e20d75eb4..f5d75e6413 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/v1/UsersRouteV1.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/v1/UsersRouteV1.scala @@ -46,7 +46,7 @@ class UsersRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) with requestMessage, requestContext, settings, - responderManager, + appActor, log ) } @@ -90,7 +90,7 @@ class UsersRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) with requestMessage, requestContext, settings, - responderManager, + appActor, log ) } @@ -119,7 +119,7 @@ class UsersRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) with requestMessage, requestContext, settings, - responderManager, + appActor, log ) } @@ -147,7 +147,7 @@ class UsersRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) with requestMessage, requestContext, settings, - responderManager, + appActor, log ) } @@ -175,7 +175,7 @@ class UsersRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) with requestMessage, requestContext, settings, - responderManager, + appActor, log ) } 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 c297724d68..11f65d4fe1 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 @@ -160,7 +160,7 @@ class ValuesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit userProfile = userADM, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) @@ -385,7 +385,7 @@ class ValuesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit userProfile = userADM, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log ) @@ -603,10 +603,14 @@ class ValuesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit val tempFilePath = stringFormatter.makeSipiTempFilePath(settings, apiRequest.file) for { - fileMetadataResponse: GetFileMetadataResponse <- (storeManager ? GetFileMetadataRequest( - filePath = tempFilePath, - requestingUser = userADM - )).mapTo[GetFileMetadataResponse] + fileMetadataResponse: GetFileMetadataResponse <- appActor + .ask( + GetFileMetadataRequest( + filePath = tempFilePath, + requestingUser = userADM + ) + ) + .mapTo[GetFileMetadataResponse] } yield ChangeFileValueRequestV1( resourceIri = resourceIri, file = RouteUtilV1.makeFileValue( @@ -634,7 +638,7 @@ class ValuesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestMessage, requestContext, settings, - responderManager, + appActor, log ) } @@ -653,7 +657,7 @@ class ValuesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestMessageFuture, requestContext, settings, - responderManager, + appActor, log ) } @@ -671,7 +675,7 @@ class ValuesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestMessage, requestContext, settings, - responderManager, + appActor, log ) } ~ put { @@ -705,7 +709,7 @@ class ValuesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestMessageFuture, requestContext, settings, - responderManager, + appActor, log ) } @@ -723,7 +727,7 @@ class ValuesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestMessage, requestContext, settings, - responderManager, + appActor, log ) } @@ -740,7 +744,7 @@ class ValuesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestMessage, requestContext, settings, - responderManager, + appActor, log ) } @@ -758,7 +762,7 @@ class ValuesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestMessage, requestContext, settings, - responderManager, + appActor, log ) } @@ -775,11 +779,15 @@ class ValuesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit throw BadRequestException(s"Invalid resource IRI: $resIriStr") ) - resourceInfoResponse <- (responderManager ? ResourceInfoGetRequestV1( - iri = resourceIri, - featureFactoryConfig = featureFactoryConfig, - userProfile = userADM - )).mapTo[ResourceInfoResponseV1] + resourceInfoResponse <- appActor + .ask( + ResourceInfoGetRequestV1( + iri = resourceIri, + featureFactoryConfig = featureFactoryConfig, + userProfile = userADM + ) + ) + .mapTo[ResourceInfoResponseV1] projectShortcode = resourceInfoResponse.resource_info .getOrElse(throw NotFoundException(s"Resource not found: $resourceIri")) @@ -797,7 +805,7 @@ class ValuesRouteV1(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestMessage, requestContext, settings, - responderManager, + appActor, log ) } 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 bce2372b9f..985c94fb80 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 @@ -56,7 +56,7 @@ class ListsRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) with requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -89,7 +89,7 @@ class ListsRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) with requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) 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 9d7e35f8ca..547e249628 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 @@ -121,7 +121,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = targetSchema, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -149,7 +149,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -174,8 +174,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) jsonLDDocument = requestDoc, apiRequestID = UUID.randomUUID, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -187,7 +186,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -220,7 +219,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -265,7 +264,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = targetSchema, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -290,8 +289,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) jsonLDDocument = requestDoc, apiRequestID = UUID.randomUUID, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -303,7 +301,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -331,8 +329,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) jsonLDDocument = requestDoc, apiRequestID = UUID.randomUUID, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -344,7 +341,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -392,7 +389,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -418,8 +415,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) jsonLDDocument = requestDoc, apiRequestID = UUID.randomUUID, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -431,7 +427,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -467,7 +463,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -494,8 +490,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) jsonLDDocument = requestDoc, apiRequestID = UUID.randomUUID, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -507,7 +502,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -535,8 +530,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) jsonLDDocument = requestDoc, apiRequestID = UUID.randomUUID, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -548,7 +542,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -577,8 +571,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) jsonLDDocument = requestDoc, apiRequestID = UUID.randomUUID, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -590,7 +583,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -618,8 +611,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) jsonLDDocument = requestDoc, apiRequestID = UUID.randomUUID, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -631,7 +623,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -699,7 +691,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = targetSchema, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -733,7 +725,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -783,7 +775,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -828,7 +820,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -854,8 +846,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) jsonLDDocument = requestDoc, apiRequestID = UUID.randomUUID, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -867,7 +858,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -896,8 +887,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) jsonLDDocument = requestDoc, apiRequestID = UUID.randomUUID, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, @@ -910,7 +900,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -958,7 +948,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -985,8 +975,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) jsonLDDocument = requestDoc, apiRequestID = UUID.randomUUID, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -998,7 +987,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -1066,7 +1055,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = targetSchema, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -1100,7 +1089,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -1150,7 +1139,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -1175,8 +1164,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) jsonLDDocument = requestDoc, apiRequestID = UUID.randomUUID, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -1188,7 +1176,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -1224,7 +1212,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -1272,7 +1260,7 @@ class OntologiesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) 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 bd71dc9a84..58c1f3ac58 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 @@ -92,7 +92,7 @@ class ResourcesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -116,8 +116,7 @@ class ResourcesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestDoc, apiRequestID = UUID.randomUUID, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -129,7 +128,7 @@ class ResourcesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -155,8 +154,7 @@ class ResourcesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestDoc, apiRequestID = UUID.randomUUID, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -168,7 +166,7 @@ class ResourcesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -239,7 +237,7 @@ class ResourcesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = schemaOptions @@ -286,7 +284,7 @@ class ResourcesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -313,7 +311,7 @@ class ResourcesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -340,7 +338,7 @@ class ResourcesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -395,7 +393,7 @@ class ResourcesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = targetSchema, schemaOptions = schemaOptions @@ -432,7 +430,7 @@ class ResourcesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = RouteUtilV2.getOntologySchema(requestContext), schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -477,7 +475,7 @@ class ResourcesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = RouteUtilV2.getOntologySchema(requestContext) ) @@ -536,7 +534,7 @@ class ResourcesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = RouteUtilV2.getOntologySchema(requestContext), schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -559,8 +557,7 @@ class ResourcesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestDoc, apiRequestID = UUID.randomUUID, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -572,7 +569,7 @@ class ResourcesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -598,8 +595,7 @@ class ResourcesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestDoc, apiRequestID = UUID.randomUUID, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -611,7 +607,7 @@ class ResourcesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) 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 516d9b79b0..6ed77c477d 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 @@ -201,7 +201,7 @@ class SearchRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = RouteUtilV2.getOntologySchema(requestContext), schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -269,7 +269,7 @@ class SearchRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = targetSchema, schemaOptions = schemaOptions @@ -299,7 +299,7 @@ class SearchRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = RouteUtilV2.getOntologySchema(requestContext), schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -329,7 +329,7 @@ class SearchRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = RouteUtilV2.getOntologySchema(requestContext), schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -365,7 +365,7 @@ class SearchRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = targetSchema, schemaOptions = schemaOptions @@ -399,7 +399,7 @@ class SearchRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = targetSchema, schemaOptions = schemaOptions @@ -449,7 +449,7 @@ class SearchRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = RouteUtilV2.getOntologySchema(requestContext), schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -503,7 +503,7 @@ class SearchRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = RouteUtilV2.getOntologySchema(requestContext), schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) diff --git a/webapi/src/main/scala/org/knora/webapi/routing/v2/StandoffRouteV2.scala b/webapi/src/main/scala/org/knora/webapi/routing/v2/StandoffRouteV2.scala index 9747b75ad7..cf516a9540 100644 --- a/webapi/src/main/scala/org/knora/webapi/routing/v2/StandoffRouteV2.scala +++ b/webapi/src/main/scala/org/knora/webapi/routing/v2/StandoffRouteV2.scala @@ -80,7 +80,7 @@ class StandoffRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) w requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = schemaOptions @@ -99,17 +99,17 @@ class StandoffRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) w val allPartsFuture: Future[Map[Name, String]] = formData.parts .mapAsync[(Name, String)](1) { case b: BodyPart if b.name == JSON_PART => - //loggingAdapter.debug(s"inside allPartsFuture - processing $JSON_PART") + //Logger.debug(s"inside allPartsFuture - processing $JSON_PART") b.toStrict(2.seconds).map { strict => - //loggingAdapter.debug(strict.entity.data.utf8String) + //Logger.debug(strict.entity.data.utf8String) (b.name, strict.entity.data.utf8String) } case b: BodyPart if b.name == XML_PART => - //loggingAdapter.debug(s"inside allPartsFuture - processing $XML_PART") + //Logger.debug(s"inside allPartsFuture - processing $XML_PART") b.toStrict(2.seconds).map { strict => - //loggingAdapter.debug(strict.entity.data.utf8String) + //Logger.debug(strict.entity.data.utf8String) (b.name, strict.entity.data.utf8String) } @@ -142,8 +142,7 @@ class StandoffRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) w jsonLDDocument = jsonldDoc, apiRequestID = apiRequestID, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -169,7 +168,7 @@ class StandoffRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) w requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) 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 d0107dead1..fb52f076f5 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 @@ -99,7 +99,7 @@ class ValuesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = targetSchema, schemaOptions = schemaOptions @@ -122,8 +122,7 @@ class ValuesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestDoc, apiRequestID = UUID.randomUUID, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -135,7 +134,7 @@ class ValuesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -160,8 +159,7 @@ class ValuesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestDoc, apiRequestID = UUID.randomUUID, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -173,7 +171,7 @@ class ValuesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) @@ -198,8 +196,7 @@ class ValuesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestDoc, apiRequestID = UUID.randomUUID, requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, + appActor = appActor, featureFactoryConfig = featureFactoryConfig, settings = settings, log = log @@ -211,7 +208,7 @@ class ValuesRouteV2(routeData: KnoraRouteData) extends KnoraRoute(routeData) wit requestContext = requestContext, featureFactoryConfig = featureFactoryConfig, settings = settings, - responderManager = responderManager, + appActor = appActor, log = log, targetSchema = ApiV2Complex, schemaOptions = RouteUtilV2.getSchemaOptions(requestContext) diff --git a/webapi/src/main/scala/org/knora/webapi/settings/KnoraSettings.scala b/webapi/src/main/scala/org/knora/webapi/settings/KnoraSettings.scala index 6c059f489e..89fb7344d7 100644 --- a/webapi/src/main/scala/org/knora/webapi/settings/KnoraSettings.scala +++ b/webapi/src/main/scala/org/knora/webapi/settings/KnoraSettings.scala @@ -11,7 +11,7 @@ import akka.actor.ExtendedActorSystem import akka.actor.Extension import akka.actor.ExtensionId import akka.actor.ExtensionIdProvider -import akka.event.LoggingAdapter +import com.typesafe.scalalogging.Logger import com.typesafe.config.Config import com.typesafe.config.ConfigObject import com.typesafe.config.ConfigValue @@ -32,7 +32,7 @@ import scala.util.Try /** * Reads application settings that come from `application.conf`. */ -class KnoraSettingsImpl(config: Config, log: LoggingAdapter) extends Extension { +class KnoraSettingsImpl(config: Config, log: Logger) extends Extension { import KnoraSettings._ @@ -313,7 +313,7 @@ class KnoraSettingsImpl(config: Config, log: LoggingAdapter) extends Extension { val definedExpirationDate: Instant = Instant.parse(featureConfig.getString(expirationDateKey)) if (Instant.ofEpochMilli(System.currentTimeMillis).isAfter(definedExpirationDate)) { - log.warning(s"Feature toggle $featureName has expired") + log.warn(s"Feature toggle $featureName has expired") } Some(definedExpirationDate) @@ -354,7 +354,7 @@ object KnoraSettings extends ExtensionId[KnoraSettingsImpl] with ExtensionIdProv override def lookup: KnoraSettings.type = KnoraSettings override def createExtension(system: ExtendedActorSystem) = - new KnoraSettingsImpl(system.settings.config, akka.event.Logging(system, this.getClass)) + new KnoraSettingsImpl(system.settings.config, Logger(this.getClass)) /** * Java API: retrieve the Settings extension for the given system. diff --git a/webapi/src/main/scala/org/knora/webapi/store/StoreManager.scala b/webapi/src/main/scala/org/knora/webapi/store/StoreManager.scala index bdf6fa6511..1da5b95a43 100644 --- a/webapi/src/main/scala/org/knora/webapi/store/StoreManager.scala +++ b/webapi/src/main/scala/org/knora/webapi/store/StoreManager.scala @@ -26,6 +26,7 @@ import org.knora.webapi.store.triplestore.TriplestoreManager import org.knora.webapi.util.ActorUtil import scala.concurrent.ExecutionContext +import com.typesafe.scalalogging.LazyLogging /** * This actor receives messages for different stores, and forwards them to the corresponding store manager. @@ -41,7 +42,7 @@ class StoreManager( iiifsm: IIIFServiceManager, appConfig: AppConfig ) extends Actor - with ActorLogging { + with LazyLogging { this: ActorMaker => /** @@ -80,8 +81,8 @@ class StoreManager( ) def receive: Receive = LoggingReceive { - case req: CacheServiceRequest => ActorUtil.zio2Message(sender(), cacheServiceManager.receive(req), log, appConfig) - case req: IIIFRequest => ActorUtil.zio2Message(sender(), iiifsm.receive(req), log, appConfig) + case req: CacheServiceRequest => ActorUtil.zio2Message(sender(), cacheServiceManager.receive(req), appConfig) + case req: IIIFRequest => ActorUtil.zio2Message(sender(), iiifsm.receive(req), appConfig) case req: TriplestoreRequest => triplestoreManager forward req case other => sender() ! Status.Failure(UnexpectedMessageException(s"StoreManager received an unexpected message: $other")) diff --git a/webapi/src/main/scala/org/knora/webapi/store/triplestore/TriplestoreManager.scala b/webapi/src/main/scala/org/knora/webapi/store/triplestore/TriplestoreManager.scala index c46418f897..34414ff2cc 100644 --- a/webapi/src/main/scala/org/knora/webapi/store/triplestore/TriplestoreManager.scala +++ b/webapi/src/main/scala/org/knora/webapi/store/triplestore/TriplestoreManager.scala @@ -6,7 +6,6 @@ package org.knora.webapi.store.triplestore import akka.actor.Actor -import akka.actor.ActorLogging import akka.actor.ActorRef import akka.actor.Props import akka.event.LoggingReceive @@ -21,6 +20,7 @@ import org.knora.webapi.store.triplestore.upgrade.RepositoryUpdater import org.knora.webapi.util.ActorUtil._ import scala.concurrent.ExecutionContext +import com.typesafe.scalalogging.LazyLogging /** * This actor receives messages representing SPARQL requests, and forwards them to instances of one of the configured @@ -35,7 +35,7 @@ class TriplestoreManager( settings: KnoraSettingsImpl, defaultFeatureFactoryConfig: FeatureFactoryConfig ) extends Actor - with ActorLogging { + with LazyLogging { this: ActorMaker => protected implicit val executionContext: ExecutionContext = @@ -48,17 +48,17 @@ class TriplestoreManager( if (settings.useFakeTriplestore) { FakeTriplestore.load() - log.info("Loaded fake triplestore") + logger.info("Loaded fake triplestore") } else { - log.debug(s"Using triplestore: ${settings.triplestoreType}") + logger.debug(s"Using triplestore: ${settings.triplestoreType}") } if (settings.prepareFakeTriplestore) { FakeTriplestore.clear() - log.info("About to prepare fake triplestore") + logger.info("About to prepare fake triplestore") } - log.debug(settings.triplestoreType) + logger.debug(settings.triplestoreType) // A RepositoryUpdater for processing requests to update the repository. private val repositoryUpdater: RepositoryUpdater = new RepositoryUpdater( @@ -69,18 +69,18 @@ class TriplestoreManager( ) override def preStart(): Unit = { - log.debug("TriplestoreManagerActor: start with preStart") + logger.debug("TriplestoreManagerActor: start with preStart") storeActorRef = makeActor( FromConfig.props(Props[HttpTriplestoreConnector]()).withDispatcher(KnoraDispatchers.KnoraActorDispatcher), name = HttpTriplestoreActorName ) - log.debug("TriplestoreManagerActor: finished with preStart") + logger.debug("TriplestoreManagerActor: finished with preStart") } def receive: Receive = LoggingReceive { - case UpdateRepositoryRequest() => future2Message(sender(), repositoryUpdater.maybeUpdateRepository, log) + case UpdateRepositoryRequest() => future2Message(sender(), repositoryUpdater.maybeUpdateRepository, logger) case other => storeActorRef.forward(other) } } 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 cc83ca7770..1b6daf5ce7 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 @@ -9,7 +9,7 @@ import akka.actor.Actor import akka.actor.ActorLogging import akka.actor.ActorSystem import akka.actor.Status -import akka.event.LoggingAdapter +import com.typesafe.scalalogging.Logger import org.apache.commons.lang3.StringUtils import org.apache.http.Consts import org.apache.http.HttpEntity @@ -71,7 +71,7 @@ import scala.util.Try * Submits SPARQL queries and updates to a triplestore over HTTP. Supports different triplestores, which can be configured in * `application.conf`. */ -class HttpTriplestoreConnector extends Actor with ActorLogging with InstrumentationSupport { +class HttpTriplestoreConnector extends Actor with InstrumentationSupport { // MIME type constants. private val mimeTypeApplicationJson = "application/json" @@ -83,7 +83,7 @@ class HttpTriplestoreConnector extends Actor with ActorLogging with Instrumentat private implicit val system: ActorSystem = context.system private val settings = KnoraSettings(system) implicit val executionContext: ExecutionContext = system.dispatchers.lookup(KnoraDispatchers.KnoraBlockingDispatcher) - override val log: LoggingAdapter = akka.event.Logging(system, this.getClass.getName) + val log: Logger = Logger(this.getClass) private val targetHost: HttpHost = new HttpHost(settings.triplestoreHost, settings.triplestorePort, "http") @@ -237,7 +237,7 @@ class HttpTriplestoreConnector extends Actor with ActorLogging with Instrumentat case Success(parsed) => Success(parsed) case Failure(e) => if (resultStr.contains("## Query cancelled due to timeout during execution")) { - log.error(e, "Triplestore timed out while sending a response, after sending statuscode 200.") + log.error(s"Triplestore timed out while sending a response, after sending statuscode 200. ${e.toString()}") Failure( TriplestoreTimeoutException( "Triplestore timed out while sending a response, after sending statuscode 200.", @@ -247,8 +247,7 @@ class HttpTriplestoreConnector extends Actor with ActorLogging with Instrumentat ) } else { log.error( - e, - s"Couldn't parse response from triplestore:$logDelimiter$resultStr${logDelimiter}in response to SPARQL query:$logDelimiter$sparql" + s"Couldn't parse response from triplestore:$logDelimiter$resultStr${logDelimiter}in response to SPARQL query:$logDelimiter$sparql. ${e.toString}" ) Failure(TriplestoreResponseException("Couldn't parse Turtle from triplestore", e, log)) } @@ -316,7 +315,7 @@ class HttpTriplestoreConnector extends Actor with ActorLogging with Instrumentat case Success(parsed) => Success(parsed) case Failure(e) => if (turtleStr.contains("## Query cancelled due to timeout during execution")) { - log.error(e, "Triplestore timed out while sending a response, after sending statuscode 200.") + log.error(s"Triplestore timed out while sending a response, after sending statuscode 200. ${e.toString()}") Failure( TriplestoreTimeoutException( "Triplestore timed out while sending a response, after sending statuscode 200.", @@ -326,8 +325,7 @@ class HttpTriplestoreConnector extends Actor with ActorLogging with Instrumentat ) } else { log.error( - e, - s"Couldn't parse response from triplestore:$logDelimiter$turtleStr${logDelimiter}in response to SPARQL query:$logDelimiter$sparql" + s"Couldn't parse response from triplestore:$logDelimiter$turtleStr${logDelimiter}in response to SPARQL query:$logDelimiter$sparql. ${e.toString}" ) Failure(TriplestoreResponseException("Couldn't parse Turtle from triplestore", e, log)) } @@ -982,7 +980,7 @@ class HttpTriplestoreConnector extends Actor with ActorLogging with Instrumentat case socketTimeoutException: java.net.SocketTimeoutException => val message = "The triplestore took too long to process a request. This can happen because the triplestore needed too much time to search through the data that is currently in the triplestore. Query optimisation may help." - log.error(socketTimeoutException, message) + log.error(message + socketTimeoutException.toString()) throw TriplestoreTimeoutException(message = message, e = socketTimeoutException, log = log) case timeout: TriplestoreTimeoutException => throw timeout @@ -991,7 +989,7 @@ class HttpTriplestoreConnector extends Actor with ActorLogging with Instrumentat case e: Exception => val message = "Failed to connect to triplestore" - log.error(e, message) + log.error(message + e.toString()) throw TriplestoreConnectionException(message = message, e = e, log = log) } } diff --git a/webapi/src/main/scala/org/knora/webapi/util/ActorUtil.scala b/webapi/src/main/scala/org/knora/webapi/util/ActorUtil.scala index 21b7b5d190..83aab64966 100644 --- a/webapi/src/main/scala/org/knora/webapi/util/ActorUtil.scala +++ b/webapi/src/main/scala/org/knora/webapi/util/ActorUtil.scala @@ -6,7 +6,7 @@ package org.knora.webapi.util import akka.actor.ActorRef -import akka.event.LoggingAdapter +import com.typesafe.scalalogging.Logger import akka.http.scaladsl.util.FastFuture import akka.util.Timeout import org.knora.webapi.config.AppConfig @@ -22,6 +22,7 @@ import scala.reflect.ClassTag import scala.util.Failure import scala.util.Success import scala.util.Try +import com.typesafe.scalalogging.Logger object ActorUtil { @@ -43,7 +44,7 @@ object ActorUtil { * * Since this is the "edge" of the ZIO world for now, we need to log all errors that ZIO has potentially accumulated */ - def zio2Message[A](sender: ActorRef, zioTask: zio.Task[A], log: LoggingAdapter, appConfig: AppConfig): Unit = + def zio2Message[A](sender: ActorRef, zioTask: zio.Task[A], appConfig: AppConfig): Unit = runtime .unsafeRunTask( zioTask.foldCauseZIO(cause => handleCause(cause, sender), success => ZIO.succeed(sender ! success)) @@ -113,9 +114,9 @@ object ActorUtil { * * @param sender the actor that made the request in the `ask` pattern. * @param future a [[Future]] that will provide the result of the sender's request. - * @param log a [[LoggingAdapter]] for logging non-serializable exceptions. + * @param log a [[Logger]] for logging non-serializable exceptions. */ - def future2Message[ReplyT](sender: ActorRef, future: Future[ReplyT], log: LoggingAdapter)(implicit + def future2Message[ReplyT](sender: ActorRef, future: Future[ReplyT], log: Logger)(implicit executionContext: ExecutionContext ): Unit = future.onComplete { tryObj: Try[ReplyT] => @@ -131,9 +132,9 @@ object ActorUtil { * * @param sender the actor that made the request in the `ask` pattern. * @param tryObj a [[Try]] that will provide the result of the sender's request. - * @param log a [[LoggingAdapter]] for logging non-serializable exceptions. + * @param log a [[Logger]] for logging non-serializable exceptions. */ - def try2Message[ReplyT](sender: ActorRef, tryObj: Try[ReplyT], log: LoggingAdapter)(implicit + def try2Message[ReplyT](sender: ActorRef, tryObj: Try[ReplyT], log: Logger)(implicit executionContext: ExecutionContext ): Unit = tryObj match { @@ -166,9 +167,9 @@ object ActorUtil { * * @param sender the actor that made the request in the `ask` pattern. * @param message the message that was received. - * @param log a [[LoggingAdapter]]. + * @param log a [[Logger]]. */ - def handleUnexpectedMessage(sender: ActorRef, message: Any, log: LoggingAdapter, who: String)(implicit + def handleUnexpectedMessage(sender: ActorRef, message: Any, log: Logger, who: String)(implicit executionContext: ExecutionContext ): Unit = { val unexpectedMessageException = UnexpectedMessageException( diff --git a/webapi/src/test/resources/logback-test.xml b/webapi/src/test/resources/logback-test.xml index f0b810d34d..256b4dd49a 100644 --- a/webapi/src/test/resources/logback-test.xml +++ b/webapi/src/test/resources/logback-test.xml @@ -39,6 +39,10 @@ + + + + @@ -50,7 +54,6 @@ - diff --git a/webapi/src/test/scala/org/knora/webapi/AsyncCoreSpec.scala b/webapi/src/test/scala/org/knora/webapi/AsyncCoreSpec.scala index f8417237d1..f9cf4037c5 100644 --- a/webapi/src/test/scala/org/knora/webapi/AsyncCoreSpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/AsyncCoreSpec.scala @@ -8,7 +8,7 @@ package org.knora.webapi import akka.actor.ActorRef import akka.actor.ActorSystem import akka.actor.Props -import akka.event.LoggingAdapter +import com.typesafe.scalalogging.Logger import akka.pattern.ask import akka.stream.Materializer import akka.testkit.ImplicitSender @@ -63,6 +63,7 @@ import scala.language.postfixOps import scala.util.Failure import scala.util.Success import scala.util.Try +import akka.testkit.TestActorRef abstract class AsyncCoreSpec(_system: ActorSystem) extends TestKit(_system) @@ -113,7 +114,7 @@ abstract class AsyncCoreSpec(_system: ActorSystem) StringFormatter.initForTest() RdfFeatureFactory.init(settings) - val log: LoggingAdapter = akka.event.Logging(system, this.getClass) + val log: Logger = Logger(this.getClass) // The ZIO runtime used to run functional effects val runtime = Runtime.unsafeFromLayer(Logging.fromInfo) @@ -153,17 +154,13 @@ abstract class AsyncCoreSpec(_system: ActorSystem) ) ) - // start the Application Actor + // start the Application Actor. lazy val appActor: ActorRef = system.actorOf( Props(new ApplicationActor(cacheServiceManager, iiifServiceManager, appConfig)), name = APPLICATION_MANAGER_ACTOR_NAME ) - // The main application actor forwards messages to the responder manager and the store manager. - val responderManager: ActorRef = appActor - val storeManager: ActorRef = appActor - val responderData: ResponderData = ResponderData( system = system, appActor = appActor, diff --git a/webapi/src/test/scala/org/knora/webapi/CoreSpec.scala b/webapi/src/test/scala/org/knora/webapi/CoreSpec.scala index c4e7c9f791..f17dc87c8c 100644 --- a/webapi/src/test/scala/org/knora/webapi/CoreSpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/CoreSpec.scala @@ -8,7 +8,7 @@ package org.knora.webapi import akka.actor.ActorRef import akka.actor.ActorSystem import akka.actor.Props -import akka.event.LoggingAdapter +import com.typesafe.scalalogging.Logger import akka.pattern.ask import akka.stream.Materializer import akka.testkit.ImplicitSender @@ -55,6 +55,7 @@ import messages.v2.responder.ontologymessages.LoadOntologiesRequestV2 import settings.{KnoraDispatchers, KnoraSettings, KnoraSettingsImpl, _} import store.cacheservice.settings.CacheServiceSettings import util.StartupUtils +import akka.testkit.TestActorRef object CoreSpec { @@ -126,7 +127,7 @@ abstract class CoreSpec(_system: ActorSystem) StringFormatter.initForTest() RdfFeatureFactory.init(settings) - val log: LoggingAdapter = akka.event.Logging(system, this.getClass) + val log: Logger = Logger(this.getClass) // The ZIO runtime used to run functional effects val runtime = Runtime.unsafeFromLayer(Logging.fromInfo) @@ -166,17 +167,13 @@ abstract class CoreSpec(_system: ActorSystem) ) ) - // start the Application Actor + // start the Application Actor. lazy val appActor: ActorRef = system.actorOf( Props(new ApplicationActor(cacheServiceManager, iiifServiceManager, appConfig)), name = APPLICATION_MANAGER_ACTOR_NAME ) - // The main application actor forwards messages to the responder manager and the store manager. - val responderManager: ActorRef = appActor - val storeManager: ActorRef = appActor - val responderData: ResponderData = ResponderData( system = system, appActor = appActor, @@ -190,11 +187,11 @@ abstract class CoreSpec(_system: ActorSystem) ) final override def beforeAll(): Unit = { - // set allow reload over http - appActor ! SetAllowReloadOverHTTPState(true) - // Start Knora, without reading data from the repository - appActor ! AppStart(ignoreRepository = true, requiresIIIFService = false) + appActor.tell(AppStart(ignoreRepository = true, requiresIIIFService = false), akka.actor.ActorRef.noSender) + + // set allow reload over http + appActor.tell(SetAllowReloadOverHTTPState(true), akka.actor.ActorRef.noSender) // waits until knora is up and running applicationStateRunning() diff --git a/webapi/src/test/scala/org/knora/webapi/E2ESpec.scala b/webapi/src/test/scala/org/knora/webapi/E2ESpec.scala index 6bd6823698..9a4555246a 100644 --- a/webapi/src/test/scala/org/knora/webapi/E2ESpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/E2ESpec.scala @@ -8,7 +8,7 @@ package org.knora.webapi import akka.actor.ActorRef import akka.actor.ActorSystem import akka.actor.Props -import akka.event.LoggingAdapter +import com.typesafe.scalalogging.Logger import akka.http.scaladsl.client.RequestBuilding import akka.http.scaladsl.model._ import akka.stream.Materializer @@ -66,6 +66,7 @@ import scala.concurrent.Future import scala.concurrent.duration.FiniteDuration import app.ApplicationActor +import akka.testkit.TestActorRef object E2ESpec { val defaultConfig: Config = ConfigFactory.load() @@ -113,7 +114,7 @@ class E2ESpec(_system: ActorSystem) StringFormatter.initForTest() RdfFeatureFactory.init(settings) - val log: LoggingAdapter = akka.event.Logging(system, this.getClass) + val log: Logger = Logger(this.getClass) // The ZIO runtime used to run functional effects val runtime = Runtime.unsafeFromLayer(Logging.fromInfo) @@ -153,13 +154,18 @@ class E2ESpec(_system: ActorSystem) ) ) - // start the Application Actor + // start the Application Actor. lazy val appActor: ActorRef = system.actorOf( Props(new ApplicationActor(cacheServiceManager, iiifServiceManager, appConfig)), name = APPLICATION_MANAGER_ACTOR_NAME ) + val routeData: KnoraRouteData = KnoraRouteData( + system = system, + appActor = appActor + ) + protected val baseApiUrl: String = appConfig.knoraApi.internalKnoraApiBaseUrl protected val defaultFeatureFactoryConfig: FeatureFactoryConfig = new TestFeatureFactoryConfig( @@ -315,8 +321,4 @@ class E2ESpec(_system: ActorSystem) } } - val routeData: KnoraRouteData = KnoraRouteData( - system = system, - appActor = appActor - ) } diff --git a/webapi/src/test/scala/org/knora/webapi/ExampleCoreSpec.scala b/webapi/src/test/scala/org/knora/webapi/ExampleCoreSpec.scala new file mode 100644 index 0000000000..184486a80f --- /dev/null +++ b/webapi/src/test/scala/org/knora/webapi/ExampleCoreSpec.scala @@ -0,0 +1,35 @@ +/* + * Copyright © 2021 - 2022 Swiss National Data and Service Center for the Humanities and/or DaSCH Service Platform contributors. + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.knora.webapi + +import akka.testkit.ImplicitSender +import com.typesafe.config.ConfigFactory +import com.typesafe.config.Config +import org.knora.webapi.messages.app.appmessages.ActorReady +import org.knora.webapi.messages.app.appmessages.ActorReadyAck +import scala.concurrent.duration._ + +object ExampleCoreSpec { + + val config: Config = ConfigFactory.parseString(""" + akka.loglevel = "DEBUG" + akka.stdout-loglevel = "DEBUG" + """.stripMargin) +} + +class ExampleCoreSpec extends CoreSpec(ExampleCoreSpec.config) with ImplicitSender { + + private val timeout = 5.seconds + + "The ExampleCoreSpec " when { + "testing something" should { + "return true" in { + appActor ! ActorReady() + val response = expectMsgType[ActorReadyAck](timeout) + } + } + } +} diff --git a/webapi/src/test/scala/org/knora/webapi/ITKnoraLiveSpec.scala b/webapi/src/test/scala/org/knora/webapi/ITKnoraLiveSpec.scala index 6e5e64ed79..00f3bc30a6 100644 --- a/webapi/src/test/scala/org/knora/webapi/ITKnoraLiveSpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/ITKnoraLiveSpec.scala @@ -8,7 +8,7 @@ package org.knora.webapi import akka.actor.ActorRef import akka.actor.ActorSystem import akka.actor.Props -import akka.event.LoggingAdapter +import com.typesafe.scalalogging.Logger import akka.http.scaladsl.client.RequestBuilding import akka.http.scaladsl.model._ import akka.stream.Materializer @@ -102,7 +102,7 @@ class ITKnoraLiveSpec(_system: ActorSystem) StringFormatter.initForTest() RdfFeatureFactory.init(settings) - val log: LoggingAdapter = akka.event.Logging(system, this.getClass) + val log: Logger = Logger(this.getClass) // The ZIO runtime used to run functional effects val runtime = Runtime.unsafeFromLayer(Logging.fromInfo) diff --git a/webapi/src/test/scala/org/knora/webapi/R2RSpec.scala b/webapi/src/test/scala/org/knora/webapi/R2RSpec.scala index 6528385217..e23d3742f9 100644 --- a/webapi/src/test/scala/org/knora/webapi/R2RSpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/R2RSpec.scala @@ -8,7 +8,7 @@ package org.knora.webapi import akka.actor.ActorRef import akka.actor.ActorSystem import akka.actor.Props -import akka.event.LoggingAdapter +import com.typesafe.scalalogging.Logger import akka.http.scaladsl.model.HttpResponse import akka.http.scaladsl.server.ExceptionHandler import akka.http.scaladsl.testkit.ScalatestRouteTest @@ -61,6 +61,7 @@ import scala.concurrent.Await import scala.concurrent.ExecutionContext import scala.concurrent.Future import scala.concurrent.duration._ +import akka.testkit.TestActorRef /** * R(oute)2R(esponder) Spec base class. Please, for any new E2E tests, use E2ESpec. @@ -142,17 +143,13 @@ class R2RSpec ) ) - // start the Application Actor + // start the Application Actor. lazy val appActor: ActorRef = system.actorOf( Props(new ApplicationActor(cacheServiceManager, iiifServiceManager, appConfig)), name = APPLICATION_MANAGER_ACTOR_NAME ) - // The main application actor forwards messages to the responder manager and the store manager. - val responderManager: ActorRef = appActor - val storeManager: ActorRef = appActor - val routeData: KnoraRouteData = KnoraRouteData( system = system, appActor = appActor @@ -160,7 +157,7 @@ class R2RSpec lazy val rdfDataObjects = List.empty[RdfDataObject] - val log: LoggingAdapter = akka.event.Logging(system, this.getClass) + val log: Logger = Logger(this.getClass) override def beforeAll(): Unit = { // set allow reload over http diff --git a/webapi/src/test/scala/org/knora/webapi/e2e/v1/ResourcesV1R2RSpec.scala b/webapi/src/test/scala/org/knora/webapi/e2e/v1/ResourcesV1R2RSpec.scala index 549598b5fb..9583d6dbec 100644 --- a/webapi/src/test/scala/org/knora/webapi/e2e/v1/ResourcesV1R2RSpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/e2e/v1/ResourcesV1R2RSpec.scala @@ -608,7 +608,7 @@ class ResourcesV1R2RSpec extends R2RSpec { val sparqlQuery = getDirectLinksSPARQL(firstThingIri.get) - Await.result(storeManager ? SparqlSelectRequest(sparqlQuery), 30.seconds) match { + Await.result(appActor ? SparqlSelectRequest(sparqlQuery), 30.seconds) match { case response: SparqlSelectResult => val ref: Boolean = response.results.bindings.exists { row: VariableResultsRow => @@ -625,7 +625,7 @@ class ResourcesV1R2RSpec extends R2RSpec { val sparqlQuery = getRefCountsSPARQL(firstThingIri.get) - Await.result(storeManager ? SparqlSelectRequest(sparqlQuery), 30.seconds) match { + Await.result(appActor ? SparqlSelectRequest(sparqlQuery), 30.seconds) match { case response: SparqlSelectResult => val refCnt: Boolean = response.results.bindings.exists { row: VariableResultsRow => @@ -882,7 +882,7 @@ class ResourcesV1R2RSpec extends R2RSpec { val sparqlQuery = getDirectLinksSPARQL(thirdThingIri.get) - Await.result(storeManager ? SparqlSelectRequest(sparqlQuery), 30.seconds) match { + Await.result(appActor ? SparqlSelectRequest(sparqlQuery), 30.seconds) match { case response: SparqlSelectResult => val ref1: Boolean = response.results.bindings.exists { row: VariableResultsRow => @@ -905,7 +905,7 @@ class ResourcesV1R2RSpec extends R2RSpec { val sparqlQuery = getRefCountsSPARQL(thirdThingIri.get) - Await.result(storeManager ? SparqlSelectRequest(sparqlQuery), 30.seconds) match { + Await.result(appActor ? SparqlSelectRequest(sparqlQuery), 30.seconds) match { case response: SparqlSelectResult => val refCnt1: Boolean = response.results.bindings.exists { row: VariableResultsRow => diff --git a/webapi/src/test/scala/org/knora/webapi/messages/util/ConstructResponseUtilV2Spec.scala b/webapi/src/test/scala/org/knora/webapi/messages/util/ConstructResponseUtilV2Spec.scala index dbb519ac73..d0c8a5585a 100644 --- a/webapi/src/test/scala/org/knora/webapi/messages/util/ConstructResponseUtilV2Spec.scala +++ b/webapi/src/test/scala/org/knora/webapi/messages/util/ConstructResponseUtilV2Spec.scala @@ -57,7 +57,7 @@ class ConstructResponseUtilV2Spec extends CoreSpec() with ImplicitSender { queryStandoff = false, versionDate = None, calculateMayHaveMoreResults = false, - responderManager = responderManager, + appActor = appActor, targetSchema = ApiV2Complex, settings = settings, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -92,7 +92,7 @@ class ConstructResponseUtilV2Spec extends CoreSpec() with ImplicitSender { queryStandoff = false, versionDate = None, calculateMayHaveMoreResults = false, - responderManager = responderManager, + appActor = appActor, targetSchema = ApiV2Complex, settings = settings, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -128,7 +128,7 @@ class ConstructResponseUtilV2Spec extends CoreSpec() with ImplicitSender { queryStandoff = false, versionDate = None, calculateMayHaveMoreResults = false, - responderManager = responderManager, + appActor = appActor, targetSchema = ApiV2Complex, settings = settings, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -164,7 +164,7 @@ class ConstructResponseUtilV2Spec extends CoreSpec() with ImplicitSender { queryStandoff = false, versionDate = None, calculateMayHaveMoreResults = false, - responderManager = responderManager, + appActor = appActor, targetSchema = ApiV2Complex, settings = settings, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -200,7 +200,7 @@ class ConstructResponseUtilV2Spec extends CoreSpec() with ImplicitSender { queryStandoff = false, versionDate = None, calculateMayHaveMoreResults = false, - responderManager = responderManager, + appActor = appActor, targetSchema = ApiV2Complex, settings = settings, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -236,7 +236,7 @@ class ConstructResponseUtilV2Spec extends CoreSpec() with ImplicitSender { queryStandoff = false, versionDate = None, calculateMayHaveMoreResults = false, - responderManager = responderManager, + appActor = appActor, targetSchema = ApiV2Complex, settings = settings, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -302,7 +302,7 @@ class ConstructResponseUtilV2Spec extends CoreSpec() with ImplicitSender { queryStandoff = false, versionDate = None, calculateMayHaveMoreResults = false, - responderManager = responderManager, + appActor = appActor, targetSchema = ApiV2Complex, settings = settings, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -369,7 +369,7 @@ class ConstructResponseUtilV2Spec extends CoreSpec() with ImplicitSender { queryStandoff = false, versionDate = None, calculateMayHaveMoreResults = false, - responderManager = responderManager, + appActor = appActor, targetSchema = ApiV2Complex, settings = settings, featureFactoryConfig = defaultFeatureFactoryConfig, diff --git a/webapi/src/test/scala/org/knora/webapi/messages/util/search/gravsearch/prequery/NonTriplestoreSpecificGravsearchToCountPrequeryTransformerSpec.scala b/webapi/src/test/scala/org/knora/webapi/messages/util/search/gravsearch/prequery/NonTriplestoreSpecificGravsearchToCountPrequeryTransformerSpec.scala index 6e7982f641..8bdb5313b5 100644 --- a/webapi/src/test/scala/org/knora/webapi/messages/util/search/gravsearch/prequery/NonTriplestoreSpecificGravsearchToCountPrequeryTransformerSpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/messages/util/search/gravsearch/prequery/NonTriplestoreSpecificGravsearchToCountPrequeryTransformerSpec.scala @@ -21,6 +21,7 @@ import scala.collection.mutable.ArrayBuffer import scala.concurrent.Await import scala.concurrent.ExecutionContext import scala.concurrent.duration._ +import akka.actor.ActorRef private object CountQueryHandler { @@ -30,13 +31,15 @@ private object CountQueryHandler { def transformQuery( query: String, + appActor: ActorRef, responderData: ResponderData, featureFactoryConfig: FeatureFactoryConfig )(implicit executionContext: ExecutionContext): SelectQuery = { val constructQuery = GravsearchParser.parseQuery(query) - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = true) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = true) val typeInspectionResultFuture = typeInspectionRunner.inspectTypes(constructQuery.whereClause, anythingUser) @@ -340,6 +343,7 @@ class NonTriplestoreSpecificGravsearchToCountPrequeryTransformerSpec extends Cor val transformedQuery = CountQueryHandler.transformQuery( inputQueryWithDecimalOptionalSortCriterionAndFilter, + appActor, responderData, defaultFeatureFactoryConfig ) @@ -353,6 +357,7 @@ class NonTriplestoreSpecificGravsearchToCountPrequeryTransformerSpec extends Cor val transformedQuery = CountQueryHandler.transformQuery( inputQueryWithDecimalOptionalSortCriterionAndFilterComplex, + appActor, responderData, defaultFeatureFactoryConfig ) diff --git a/webapi/src/test/scala/org/knora/webapi/messages/util/search/gravsearch/prequery/NonTriplestoreSpecificGravsearchToPrequeryTransformerSpec.scala b/webapi/src/test/scala/org/knora/webapi/messages/util/search/gravsearch/prequery/NonTriplestoreSpecificGravsearchToPrequeryTransformerSpec.scala index aa6577a5a0..8033f55342 100644 --- a/webapi/src/test/scala/org/knora/webapi/messages/util/search/gravsearch/prequery/NonTriplestoreSpecificGravsearchToPrequeryTransformerSpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/messages/util/search/gravsearch/prequery/NonTriplestoreSpecificGravsearchToPrequeryTransformerSpec.scala @@ -21,6 +21,7 @@ import scala.collection.mutable.ArrayBuffer import scala.concurrent.Await import scala.concurrent.duration._ import scala.concurrent.ExecutionContext +import akka.actor.ActorRef private object QueryHandler { @@ -30,6 +31,7 @@ private object QueryHandler { def transformQuery( query: String, + appActor: ActorRef, responderData: ResponderData, settings: KnoraSettingsImpl, featureFactoryConfig: FeatureFactoryConfig @@ -37,7 +39,8 @@ private object QueryHandler { val constructQuery = GravsearchParser.parseQuery(query) - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = true) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = true) val typeInspectionResultFuture = typeInspectionRunner.inspectTypes(constructQuery.whereClause, anythingUser) @@ -3201,7 +3204,13 @@ class NonTriplestoreSpecificGravsearchToPrequeryTransformerSpec extends CoreSpec "transform an input query with an optional property criterion without removing the rdf:type statement" in { val transformedQuery = - QueryHandler.transformQuery(queryWithOptional, responderData, settings, defaultFeatureFactoryConfig) + QueryHandler.transformQuery( + queryWithOptional, + appActor, + responderData, + settings, + defaultFeatureFactoryConfig + ) assert(transformedQuery === TransformedQueryWithOptional) } @@ -3210,6 +3219,7 @@ class NonTriplestoreSpecificGravsearchToPrequeryTransformerSpec extends CoreSpec val transformedQuery = QueryHandler.transformQuery( inputQueryWithDateNonOptionalSortCriterion, + appActor, responderData, settings, defaultFeatureFactoryConfig @@ -3224,6 +3234,7 @@ class NonTriplestoreSpecificGravsearchToPrequeryTransformerSpec extends CoreSpec val transformedQuery = QueryHandler.transformQuery( inputQueryWithDateNonOptionalSortCriterionComplex, + appActor, responderData, settings, defaultFeatureFactoryConfig @@ -3238,6 +3249,7 @@ class NonTriplestoreSpecificGravsearchToPrequeryTransformerSpec extends CoreSpec val transformedQuery = QueryHandler.transformQuery( inputQueryWithDateNonOptionalSortCriterionAndFilter, + appActor, responderData, settings, defaultFeatureFactoryConfig @@ -3252,6 +3264,7 @@ class NonTriplestoreSpecificGravsearchToPrequeryTransformerSpec extends CoreSpec val transformedQuery = QueryHandler.transformQuery( inputQueryWithDateNonOptionalSortCriterionAndFilterComplex, + appActor, responderData, settings, defaultFeatureFactoryConfig @@ -3266,6 +3279,7 @@ class NonTriplestoreSpecificGravsearchToPrequeryTransformerSpec extends CoreSpec val transformedQuery = QueryHandler.transformQuery( inputQueryWithDateOptionalSortCriterion, + appActor, responderData, settings, defaultFeatureFactoryConfig @@ -3280,6 +3294,7 @@ class NonTriplestoreSpecificGravsearchToPrequeryTransformerSpec extends CoreSpec val transformedQuery = QueryHandler.transformQuery( inputQueryWithDateOptionalSortCriterionComplex, + appActor, responderData, settings, defaultFeatureFactoryConfig @@ -3294,6 +3309,7 @@ class NonTriplestoreSpecificGravsearchToPrequeryTransformerSpec extends CoreSpec val transformedQuery = QueryHandler.transformQuery( inputQueryWithDateOptionalSortCriterionAndFilter, + appActor, responderData, settings, defaultFeatureFactoryConfig @@ -3308,6 +3324,7 @@ class NonTriplestoreSpecificGravsearchToPrequeryTransformerSpec extends CoreSpec val transformedQuery = QueryHandler.transformQuery( inputQueryWithDateOptionalSortCriterionAndFilterComplex, + appActor, responderData, settings, defaultFeatureFactoryConfig @@ -3322,6 +3339,7 @@ class NonTriplestoreSpecificGravsearchToPrequeryTransformerSpec extends CoreSpec val transformedQuery = QueryHandler.transformQuery( inputQueryWithDecimalOptionalSortCriterion, + appActor, responderData, settings, defaultFeatureFactoryConfig @@ -3335,6 +3353,7 @@ class NonTriplestoreSpecificGravsearchToPrequeryTransformerSpec extends CoreSpec val transformedQuery = QueryHandler.transformQuery( inputQueryWithDecimalOptionalSortCriterionComplex, + appActor, responderData, settings, defaultFeatureFactoryConfig @@ -3348,6 +3367,7 @@ class NonTriplestoreSpecificGravsearchToPrequeryTransformerSpec extends CoreSpec val transformedQuery = QueryHandler.transformQuery( inputQueryWithDecimalOptionalSortCriterionAndFilter, + appActor, responderData, settings, defaultFeatureFactoryConfig @@ -3361,6 +3381,7 @@ class NonTriplestoreSpecificGravsearchToPrequeryTransformerSpec extends CoreSpec val transformedQuery = QueryHandler.transformQuery( inputQueryWithDecimalOptionalSortCriterionAndFilterComplex, + appActor, responderData, settings, defaultFeatureFactoryConfig @@ -3374,6 +3395,7 @@ class NonTriplestoreSpecificGravsearchToPrequeryTransformerSpec extends CoreSpec val transformedQuery = QueryHandler.transformQuery( InputQueryWithRdfsLabelAndLiteralInSimpleSchema, + appActor, responderData, settings, defaultFeatureFactoryConfig @@ -3386,6 +3408,7 @@ class NonTriplestoreSpecificGravsearchToPrequeryTransformerSpec extends CoreSpec val transformedQuery = QueryHandler.transformQuery( InputQueryWithRdfsLabelAndLiteralInComplexSchema, + appActor, responderData, settings, defaultFeatureFactoryConfig @@ -3398,6 +3421,7 @@ class NonTriplestoreSpecificGravsearchToPrequeryTransformerSpec extends CoreSpec val transformedQuery = QueryHandler.transformQuery( InputQueryWithRdfsLabelAndVariableInSimpleSchema, + appActor, responderData, settings, defaultFeatureFactoryConfig @@ -3410,6 +3434,7 @@ class NonTriplestoreSpecificGravsearchToPrequeryTransformerSpec extends CoreSpec val transformedQuery = QueryHandler.transformQuery( InputQueryWithRdfsLabelAndVariableInComplexSchema, + appActor, responderData, settings, defaultFeatureFactoryConfig @@ -3422,6 +3447,7 @@ class NonTriplestoreSpecificGravsearchToPrequeryTransformerSpec extends CoreSpec val transformedQuery = QueryHandler.transformQuery( InputQueryWithRdfsLabelAndRegexInSimpleSchema, + appActor, responderData, settings, defaultFeatureFactoryConfig @@ -3434,6 +3460,7 @@ class NonTriplestoreSpecificGravsearchToPrequeryTransformerSpec extends CoreSpec val transformedQuery = QueryHandler.transformQuery( InputQueryWithRdfsLabelAndRegexInComplexSchema, + appActor, responderData, settings, defaultFeatureFactoryConfig @@ -3444,7 +3471,13 @@ class NonTriplestoreSpecificGravsearchToPrequeryTransformerSpec extends CoreSpec "transform an input query with UNION scopes in the simple schema" in { val transformedQuery = - QueryHandler.transformQuery(InputQueryWithUnionScopes, responderData, settings, defaultFeatureFactoryConfig) + QueryHandler.transformQuery( + InputQueryWithUnionScopes, + appActor, + responderData, + settings, + defaultFeatureFactoryConfig + ) assert(transformedQuery === TransformedQueryWithUnionScopes) } @@ -3453,6 +3486,7 @@ class NonTriplestoreSpecificGravsearchToPrequeryTransformerSpec extends CoreSpec val transformedQuery = QueryHandler.transformQuery( queryWithStandoffTagHasStartAncestor, + appActor, responderData, settings, defaultFeatureFactoryConfig @@ -3463,42 +3497,78 @@ class NonTriplestoreSpecificGravsearchToPrequeryTransformerSpec extends CoreSpec "reorder query patterns in where clause" in { val transformedQuery = - QueryHandler.transformQuery(queryToReorder, responderData, settings, defaultFeatureFactoryConfig) + QueryHandler.transformQuery( + queryToReorder, + appActor, + responderData, + settings, + defaultFeatureFactoryConfig + ) assert(transformedQuery === transformedQueryToReorder) } "reorder query patterns in where clause with union" in { val transformedQuery = - QueryHandler.transformQuery(queryToReorderWithUnion, responderData, settings, defaultFeatureFactoryConfig) + QueryHandler.transformQuery( + queryToReorderWithUnion, + appActor, + responderData, + settings, + defaultFeatureFactoryConfig + ) assert(transformedQuery === transformedQueryToReorderWithUnion) } "reorder query patterns in where clause with optional" in { val transformedQuery = - QueryHandler.transformQuery(queryWithOptional, responderData, settings, defaultFeatureFactoryConfig) + QueryHandler.transformQuery( + queryWithOptional, + appActor, + responderData, + settings, + defaultFeatureFactoryConfig + ) assert(transformedQuery === TransformedQueryWithOptional) } "reorder query patterns with minus scope" in { val transformedQuery = - QueryHandler.transformQuery(queryToReorderWithMinus, responderData, settings, defaultFeatureFactoryConfig) + QueryHandler.transformQuery( + queryToReorderWithMinus, + appActor, + responderData, + settings, + defaultFeatureFactoryConfig + ) assert(transformedQuery == transformedQueryToReorderWithMinus) } "reorder a query with a cycle" in { val transformedQuery = - QueryHandler.transformQuery(queryToReorderWithCycle, responderData, settings, defaultFeatureFactoryConfig) + QueryHandler.transformQuery( + queryToReorderWithCycle, + appActor, + responderData, + settings, + defaultFeatureFactoryConfig + ) assert(transformedQuery == transformedQueryToReorderWithCycle) } "not remove rdf:type knora-api:Resource if it's needed" in { val transformedQuery = - QueryHandler.transformQuery(queryWithKnoraApiResource, responderData, settings, defaultFeatureFactoryConfig) + QueryHandler.transformQuery( + queryWithKnoraApiResource, + appActor, + responderData, + settings, + defaultFeatureFactoryConfig + ) assert( transformedQuery.whereClause.patterns.contains( diff --git a/webapi/src/test/scala/org/knora/webapi/messages/util/search/gravsearch/types/GravsearchTypeInspectorSpec.scala b/webapi/src/test/scala/org/knora/webapi/messages/util/search/gravsearch/types/GravsearchTypeInspectorSpec.scala index 5b9befd3e3..c6212a456a 100644 --- a/webapi/src/test/scala/org/knora/webapi/messages/util/search/gravsearch/types/GravsearchTypeInspectorSpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/messages/util/search/gravsearch/types/GravsearchTypeInspectorSpec.scala @@ -1341,8 +1341,9 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { "The annotation-reading type inspector" should { "get type information from a simple query" in { - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = false) - val parsedQuery = GravsearchParser.parseQuery(QueryWithExplicitTypeAnnotations) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = false) + val parsedQuery = GravsearchParser.parseQuery(QueryWithExplicitTypeAnnotations) val resultFuture: Future[GravsearchTypeInspectionResult] = typeInspectionRunner.inspectTypes(parsedQuery.whereClause, requestingUser = anythingAdminUser) val result = Await.result(resultFuture, timeout) @@ -1419,7 +1420,7 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { "refine the inspected types for each typeableEntity" in { val typeInspectionRunner = - new InferringGravsearchTypeInspector(nextInspector = None, responderData = responderData) + new InferringGravsearchTypeInspector(nextInspector = None, appActor, responderData = responderData) val parsedQuery = GravsearchParser.parseQuery(QueryRdfTypeRule) val (_, entityInfo) = Await.result( typeInspectionRunner.getUsageIndexAndEntityInfos(parsedQuery.whereClause, requestingUser = anythingAdminUser), @@ -1471,7 +1472,7 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { "sanitize inconsistent resource types that only have knora-base:Resource as base class in common" in { val typeInspectionRunner = - new InferringGravsearchTypeInspector(nextInspector = None, responderData = responderData) + new InferringGravsearchTypeInspector(nextInspector = None, appActor, responderData = responderData) val parsedQuery = GravsearchParser.parseQuery(QueryRdfTypeRule) val (usageIndex, entityInfo) = Await.result( typeInspectionRunner.getUsageIndexAndEntityInfos(parsedQuery.whereClause, requestingUser = anythingAdminUser), @@ -1549,7 +1550,7 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { "sanitize inconsistent resource types that have common base classes other than knora-base:Resource" in { val typeInspectionRunner = - new InferringGravsearchTypeInspector(nextInspector = None, responderData = responderData) + new InferringGravsearchTypeInspector(nextInspector = None, appActor, responderData = responderData) val parsedQuery = GravsearchParser.parseQuery(QueryWithInconsistentTypes3) val (usageIndex, entityInfo) = Await.result( typeInspectionRunner.getUsageIndexAndEntityInfos(parsedQuery.whereClause, requestingUser = anythingAdminUser), @@ -1610,8 +1611,9 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { } "sanitize inconsistent types resulted from a union" in { - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = true) - val parsedQuery = GravsearchParser.parseQuery(QueryWithInconsistentTypes3) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = true) + val parsedQuery = GravsearchParser.parseQuery(QueryWithInconsistentTypes3) val resultFuture: Future[GravsearchTypeInspectionResult] = typeInspectionRunner.inspectTypes(parsedQuery.whereClause, requestingUser = anythingAdminUser) val result = Await.result(resultFuture, timeout) @@ -1669,8 +1671,9 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { |} """.stripMargin - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = true) - val parsedQuery = GravsearchParser.parseQuery(queryWithOptional) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = true) + val parsedQuery = GravsearchParser.parseQuery(queryWithOptional) val resultFuture: Future[GravsearchTypeInspectionResult] = typeInspectionRunner.inspectTypes(parsedQuery.whereClause, requestingUser = anythingAdminUser) val result = Await.result(resultFuture, timeout) @@ -1730,8 +1733,9 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { } "infer the most specific type from redundant ones given in a query" in { - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = true) - val parsedQuery = GravsearchParser.parseQuery(QueryWithRedundantTypes) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = true) + val parsedQuery = GravsearchParser.parseQuery(QueryWithRedundantTypes) val resultFuture: Future[GravsearchTypeInspectionResult] = typeInspectionRunner.inspectTypes(parsedQuery.whereClause, requestingUser = anythingAdminUser) val result = Await.result(resultFuture, timeout) @@ -1740,8 +1744,9 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { } "infer that an entity is a knora-api:Resource if there is an rdf:type statement about it and the specified type is a Knora resource class" in { - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = true) - val parsedQuery = GravsearchParser.parseQuery(QueryRdfTypeRule) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = true) + val parsedQuery = GravsearchParser.parseQuery(QueryRdfTypeRule) val resultFuture: Future[GravsearchTypeInspectionResult] = typeInspectionRunner.inspectTypes(parsedQuery.whereClause, requestingUser = anythingAdminUser) val result = Await.result(resultFuture, timeout) @@ -1754,8 +1759,9 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { } "infer a property's knora-api:objectType if the property's IRI is used as a predicate" in { - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = true) - val parsedQuery = GravsearchParser.parseQuery(QueryKnoraObjectTypeFromPropertyIriRule) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = true) + val parsedQuery = GravsearchParser.parseQuery(QueryKnoraObjectTypeFromPropertyIriRule) val resultFuture: Future[GravsearchTypeInspectionResult] = typeInspectionRunner.inspectTypes(parsedQuery.whereClause, requestingUser = anythingAdminUser) val result = Await.result(resultFuture, timeout) @@ -1763,8 +1769,9 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { } "infer an entity's type if the entity is used as the object of a statement and the predicate's knora-api:objectType is known" in { - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = true) - val parsedQuery = GravsearchParser.parseQuery(QueryTypeOfObjectFromPropertyRule) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = true) + val parsedQuery = GravsearchParser.parseQuery(QueryTypeOfObjectFromPropertyRule) val resultFuture: Future[GravsearchTypeInspectionResult] = typeInspectionRunner.inspectTypes(parsedQuery.whereClause, requestingUser = anythingAdminUser) val result = Await.result(resultFuture, timeout) @@ -1772,8 +1779,9 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { } "infer the knora-api:objectType of a property variable if it's used with an object whose type is known" in { - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = true) - val parsedQuery = GravsearchParser.parseQuery(QueryKnoraObjectTypeFromObjectRule) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = true) + val parsedQuery = GravsearchParser.parseQuery(QueryKnoraObjectTypeFromObjectRule) val resultFuture: Future[GravsearchTypeInspectionResult] = typeInspectionRunner.inspectTypes(parsedQuery.whereClause, requestingUser = anythingAdminUser) val result = Await.result(resultFuture, timeout) @@ -1781,8 +1789,9 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { } "infer an entity's type if the entity is used as the subject of a statement, the predicate is an IRI, and the predicate's knora-api:subjectType is known" in { - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = true) - val parsedQuery = GravsearchParser.parseQuery(QueryTypeOfSubjectFromPropertyRule) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = true) + val parsedQuery = GravsearchParser.parseQuery(QueryTypeOfSubjectFromPropertyRule) val resultFuture: Future[GravsearchTypeInspectionResult] = typeInspectionRunner.inspectTypes(parsedQuery.whereClause, requestingUser = anythingAdminUser) val result = Await.result(resultFuture, timeout) @@ -1790,8 +1799,9 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { } "infer the knora-api:objectType of a property variable if it's compared to a known property IRI in a FILTER" in { - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = true) - val parsedQuery = GravsearchParser.parseQuery(QueryPropertyVarTypeFromFilterRule) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = true) + val parsedQuery = GravsearchParser.parseQuery(QueryPropertyVarTypeFromFilterRule) val resultFuture: Future[GravsearchTypeInspectionResult] = typeInspectionRunner.inspectTypes(parsedQuery.whereClause, requestingUser = anythingAdminUser) val result = Await.result(resultFuture, timeout) @@ -1799,8 +1809,9 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { } "infer the type of a non-property variable if it's compared to an XSD literal in a FILTER" in { - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = true) - val parsedQuery = GravsearchParser.parseQuery(QueryNonPropertyVarTypeFromFilterRule) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = true) + val parsedQuery = GravsearchParser.parseQuery(QueryNonPropertyVarTypeFromFilterRule) val resultFuture: Future[GravsearchTypeInspectionResult] = typeInspectionRunner.inspectTypes(parsedQuery.whereClause, requestingUser = anythingAdminUser) val result = Await.result(resultFuture, timeout) @@ -1808,8 +1819,9 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { } "infer the type of a non-property variable used as the argument of a function in a FILTER" in { - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = true) - val parsedQuery = GravsearchParser.parseQuery(QueryVarTypeFromFunction) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = true) + val parsedQuery = GravsearchParser.parseQuery(QueryVarTypeFromFunction) val resultFuture: Future[GravsearchTypeInspectionResult] = typeInspectionRunner.inspectTypes(parsedQuery.whereClause, requestingUser = anythingAdminUser) val result = Await.result(resultFuture, timeout) @@ -1817,8 +1829,9 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { } "infer the type of a non-property IRI used as the argument of a function in a FILTER" in { - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = true) - val parsedQuery = GravsearchParser.parseQuery(QueryIriTypeFromFunction) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = true) + val parsedQuery = GravsearchParser.parseQuery(QueryIriTypeFromFunction) val resultFuture: Future[GravsearchTypeInspectionResult] = typeInspectionRunner.inspectTypes(parsedQuery.whereClause, requestingUser = anythingAdminUser) val result = Await.result(resultFuture, timeout) @@ -1826,8 +1839,9 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { } "infer the types in a query that requires 6 iterations" in { - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = true) - val parsedQuery = GravsearchParser.parseQuery(PathologicalQuery) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = true) + val parsedQuery = GravsearchParser.parseQuery(PathologicalQuery) val resultFuture: Future[GravsearchTypeInspectionResult] = typeInspectionRunner.inspectTypes(parsedQuery.whereClause, requestingUser = anythingAdminUser) val result = Await.result(resultFuture, timeout) @@ -1835,8 +1849,9 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { } "know the object type of rdfs:label" in { - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = true) - val parsedQuery = GravsearchParser.parseQuery(QueryWithRdfsLabelAndLiteral) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = true) + val parsedQuery = GravsearchParser.parseQuery(QueryWithRdfsLabelAndLiteral) val resultFuture: Future[GravsearchTypeInspectionResult] = typeInspectionRunner.inspectTypes(parsedQuery.whereClause, requestingUser = anythingAdminUser) val result = Await.result(resultFuture, timeout) @@ -1844,8 +1859,9 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { } "infer the type of a variable used as the object of rdfs:label" in { - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = true) - val parsedQuery = GravsearchParser.parseQuery(QueryWithRdfsLabelAndVariable) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = true) + val parsedQuery = GravsearchParser.parseQuery(QueryWithRdfsLabelAndVariable) val resultFuture: Future[GravsearchTypeInspectionResult] = typeInspectionRunner.inspectTypes(parsedQuery.whereClause, requestingUser = anythingAdminUser) val result = Await.result(resultFuture, timeout) @@ -1853,8 +1869,9 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { } "infer the type of a variable when it is compared with another variable in a FILTER (in the simple schema)" in { - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = true) - val parsedQuery = GravsearchParser.parseQuery(QueryComparingResourcesInSimpleSchema) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = true) + val parsedQuery = GravsearchParser.parseQuery(QueryComparingResourcesInSimpleSchema) val resultFuture: Future[GravsearchTypeInspectionResult] = typeInspectionRunner.inspectTypes(parsedQuery.whereClause, requestingUser = anythingAdminUser) val result = Await.result(resultFuture, timeout) @@ -1862,8 +1879,9 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { } "infer the type of a variable when it is compared with another variable in a FILTER (in the complex schema)" in { - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = true) - val parsedQuery = GravsearchParser.parseQuery(QueryComparingResourcesInComplexSchema) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = true) + val parsedQuery = GravsearchParser.parseQuery(QueryComparingResourcesInComplexSchema) val resultFuture: Future[GravsearchTypeInspectionResult] = typeInspectionRunner.inspectTypes(parsedQuery.whereClause, requestingUser = anythingAdminUser) val result = Await.result(resultFuture, timeout) @@ -1871,8 +1889,9 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { } "infer the type of a resource IRI when it is compared with a variable in a FILTER (in the simple schema)" in { - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = true) - val parsedQuery = GravsearchParser.parseQuery(QueryComparingResourceIriInSimpleSchema) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = true) + val parsedQuery = GravsearchParser.parseQuery(QueryComparingResourceIriInSimpleSchema) val resultFuture: Future[GravsearchTypeInspectionResult] = typeInspectionRunner.inspectTypes(parsedQuery.whereClause, requestingUser = anythingAdminUser) val result = Await.result(resultFuture, timeout) @@ -1880,8 +1899,9 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { } "infer the type of a resource IRI when it is compared with a variable in a FILTER (in the complex schema)" in { - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = true) - val parsedQuery = GravsearchParser.parseQuery(QueryComparingResourceIriInComplexSchema) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = true) + val parsedQuery = GravsearchParser.parseQuery(QueryComparingResourceIriInComplexSchema) val resultFuture: Future[GravsearchTypeInspectionResult] = typeInspectionRunner.inspectTypes(parsedQuery.whereClause, requestingUser = anythingAdminUser) val result = Await.result(resultFuture, timeout) @@ -1889,8 +1909,9 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { } "infer knora-api:Resource as the subject type of a subproperty of knora-api:hasLinkTo" in { - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = true) - val parsedQuery = GravsearchParser.parseQuery(QueryWithFilterComparison) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = true) + val parsedQuery = GravsearchParser.parseQuery(QueryWithFilterComparison) val resultFuture: Future[GravsearchTypeInspectionResult] = typeInspectionRunner.inspectTypes(parsedQuery.whereClause, requestingUser = anythingAdminUser) val result = Await.result(resultFuture, timeout) @@ -1898,8 +1919,9 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { } "reject a query with a non-Knora property whose type cannot be inferred" in { - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = true) - val parsedQuery = GravsearchParser.parseQuery(QueryNonKnoraTypeWithoutAnnotation) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = true) + val parsedQuery = GravsearchParser.parseQuery(QueryNonKnoraTypeWithoutAnnotation) val resultFuture: Future[GravsearchTypeInspectionResult] = typeInspectionRunner.inspectTypes(parsedQuery.whereClause, requestingUser = anythingAdminUser) assertThrows[GravsearchException] { @@ -1908,8 +1930,9 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { } "accept a query with a non-Knora property whose type can be inferred" in { - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = true) - val parsedQuery = GravsearchParser.parseQuery(QueryNonKnoraTypeWithAnnotation) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = true) + val parsedQuery = GravsearchParser.parseQuery(QueryNonKnoraTypeWithAnnotation) val resultFuture: Future[GravsearchTypeInspectionResult] = typeInspectionRunner.inspectTypes(parsedQuery.whereClause, requestingUser = anythingAdminUser) val result = Await.result(resultFuture, timeout) @@ -1917,8 +1940,9 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { } "ignore Gravsearch options" in { - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = true) - val parsedQuery = GravsearchParser.parseQuery(QueryWithGravsearchOptions) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = true) + val parsedQuery = GravsearchParser.parseQuery(QueryWithGravsearchOptions) val resultFuture: Future[GravsearchTypeInspectionResult] = typeInspectionRunner.inspectTypes(parsedQuery.whereClause, requestingUser = anythingAdminUser) val result = Await.result(resultFuture, timeout) @@ -1926,8 +1950,9 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { } "reject a query with inconsistent types inferred from statements" in { - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = true) - val parsedQuery = GravsearchParser.parseQuery(QueryWithInconsistentTypes1) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = true) + val parsedQuery = GravsearchParser.parseQuery(QueryWithInconsistentTypes1) val resultFuture: Future[GravsearchTypeInspectionResult] = typeInspectionRunner.inspectTypes(parsedQuery.whereClause, requestingUser = anythingAdminUser) assertThrows[GravsearchException] { @@ -1936,8 +1961,9 @@ class GravsearchTypeInspectorSpec extends CoreSpec() with ImplicitSender { } "reject a query with inconsistent types inferred from a FILTER" in { - val typeInspectionRunner = new GravsearchTypeInspectionRunner(responderData = responderData, inferTypes = true) - val parsedQuery = GravsearchParser.parseQuery(QueryWithInconsistentTypes2) + val typeInspectionRunner = + new GravsearchTypeInspectionRunner(appActor, responderData = responderData, inferTypes = true) + val parsedQuery = GravsearchParser.parseQuery(QueryWithInconsistentTypes2) val resultFuture: Future[GravsearchTypeInspectionResult] = typeInspectionRunner.inspectTypes(parsedQuery.whereClause, requestingUser = anythingAdminUser) assertThrows[GravsearchException] { diff --git a/webapi/src/test/scala/org/knora/webapi/messages/util/standoff/StandoffTagUtilV2Spec.scala b/webapi/src/test/scala/org/knora/webapi/messages/util/standoff/StandoffTagUtilV2Spec.scala index 6cdd42c224..a4a000a0c6 100644 --- a/webapi/src/test/scala/org/knora/webapi/messages/util/standoff/StandoffTagUtilV2Spec.scala +++ b/webapi/src/test/scala/org/knora/webapi/messages/util/standoff/StandoffTagUtilV2Spec.scala @@ -322,12 +322,12 @@ class StandoffTagUtilV2Spec extends CoreSpec { val anythingUserProfile = SharedTestDataADM.anythingUser2 val standoffTagsV1: Vector[StandoffTagV2] = Await.result( - StandoffTagUtilV2.createStandoffTagsV2FromSelectResults(sparqlResultsV1, responderManager, anythingUserProfile), + StandoffTagUtilV2.createStandoffTagsV2FromSelectResults(sparqlResultsV1, appActor, anythingUserProfile), 10.seconds ) val standoffTagsV2: Vector[StandoffTagV2] = Await.result( - StandoffTagUtilV2.createStandoffTagsV2FromSelectResults(sparqlResultsV2, responderManager, anythingUserProfile), + StandoffTagUtilV2.createStandoffTagsV2FromSelectResults(sparqlResultsV2, appActor, anythingUserProfile), 10.seconds ) diff --git a/webapi/src/test/scala/org/knora/webapi/messages/v2/responder/ontologymessages/ChangePropertyGuiElementRequestV2Spec.scala b/webapi/src/test/scala/org/knora/webapi/messages/v2/responder/ontologymessages/ChangePropertyGuiElementRequestV2Spec.scala index e42a9747c5..b82e36e658 100644 --- a/webapi/src/test/scala/org/knora/webapi/messages/v2/responder/ontologymessages/ChangePropertyGuiElementRequestV2Spec.scala +++ b/webapi/src/test/scala/org/knora/webapi/messages/v2/responder/ontologymessages/ChangePropertyGuiElementRequestV2Spec.scala @@ -61,17 +61,17 @@ class ChangePropertyGuiElementRequestV2Spec extends AsyncCoreSpec { val requestMessageFuture: Future[ChangePropertyGuiElementRequest] = for { - requestMessage: ChangePropertyGuiElementRequest <- ChangePropertyGuiElementRequest - .fromJsonLD( - jsonLDDocument = requestDoc, - apiRequestID = UUID.randomUUID, - requestingUser = requestingUser, - responderManager = responderManager, - storeManager = storeManager, - featureFactoryConfig = featureFactoryConfig, - settings = settings, - log = log - ) + requestMessage: ChangePropertyGuiElementRequest <- + ChangePropertyGuiElementRequest + .fromJsonLD( + jsonLDDocument = requestDoc, + apiRequestID = UUID.randomUUID, + requestingUser = requestingUser, + appActor = appActor, + featureFactoryConfig = featureFactoryConfig, + settings = settings, + log = log + ) } yield requestMessage requestMessageFuture map { changePropertyGuiElementRequestMessage => diff --git a/webapi/src/test/scala/org/knora/webapi/other/v1/DrawingsGodsV1Spec.scala b/webapi/src/test/scala/org/knora/webapi/other/v1/DrawingsGodsV1Spec.scala index bead876957..fa6a196795 100644 --- a/webapi/src/test/scala/org/knora/webapi/other/v1/DrawingsGodsV1Spec.scala +++ b/webapi/src/test/scala/org/knora/webapi/other/v1/DrawingsGodsV1Spec.scala @@ -74,7 +74,7 @@ class DrawingsGodsV1Spec extends CoreSpec(DrawingsGodsV1Spec.config) with Triple val ddd2 = new MutableUserADM "retrieve the drawings gods user's profile" in { - responderManager ! UserGetADM( + appActor ! UserGetADM( identifier = UserIdentifierADM(maybeIri = Some(rootUserIri)), userInformationTypeADM = UserInformationTypeADM.Full, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -83,7 +83,7 @@ class DrawingsGodsV1Spec extends CoreSpec(DrawingsGodsV1Spec.config) with Triple rootUser.set(expectMsgType[Option[UserADM]](timeout).get) - responderManager ! UserGetADM( + appActor ! UserGetADM( identifier = UserIdentifierADM(maybeIri = Some(ddd1UserIri)), userInformationTypeADM = UserInformationTypeADM.Full, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -92,7 +92,7 @@ class DrawingsGodsV1Spec extends CoreSpec(DrawingsGodsV1Spec.config) with Triple ddd1.set(expectMsgType[Option[UserADM]](timeout).get) - responderManager ! UserGetADM( + appActor ! UserGetADM( UserIdentifierADM(maybeIri = Some(ddd2UserIri)), userInformationTypeADM = UserInformationTypeADM.Full, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -104,7 +104,7 @@ class DrawingsGodsV1Spec extends CoreSpec(DrawingsGodsV1Spec.config) with Triple "return correct drawings-gods:QualityData resource permissions string for drawings-gods-test-ddd2 user" in { val qualityDataResourceClass = s"$drawingsGodsOntologyIri#QualityData" - responderManager ! DefaultObjectAccessPermissionsStringForResourceClassGetADM( + appActor ! DefaultObjectAccessPermissionsStringForResourceClassGetADM( drawingsGodsProjectIri, qualityDataResourceClass, targetUser = ddd2.get, @@ -119,7 +119,7 @@ class DrawingsGodsV1Spec extends CoreSpec(DrawingsGodsV1Spec.config) with Triple "return correct drawings-gods:Person resource class permissions string for drawings-gods-test-ddd1 user" in { val personResourceClass = s"$drawingsGodsOntologyIri#Person" - responderManager ! DefaultObjectAccessPermissionsStringForResourceClassGetADM( + appActor ! DefaultObjectAccessPermissionsStringForResourceClassGetADM( drawingsGodsProjectIri, personResourceClass, targetUser = ddd1.get, @@ -135,7 +135,7 @@ class DrawingsGodsV1Spec extends CoreSpec(DrawingsGodsV1Spec.config) with Triple "return correct drawings-gods:hasLastname property permissions string for drawings-gods-test-ddd1 user" in { val personResourceClass = s"$drawingsGodsOntologyIri#Person" val hasLastnameProperty = s"$drawingsGodsOntologyIri#hasLastname" - responderManager ! DefaultObjectAccessPermissionsStringForPropertyGetADM( + appActor ! DefaultObjectAccessPermissionsStringForPropertyGetADM( drawingsGodsProjectIri, personResourceClass, hasLastnameProperty, @@ -152,7 +152,7 @@ class DrawingsGodsV1Spec extends CoreSpec(DrawingsGodsV1Spec.config) with Triple "return correct drawings-gods:DrawingPublic / knora-base:hasStillImageFileValue combination permissions string for drawings-gods-test-ddd1 user" in { val drawingPublicResourceClass = s"$drawingsGodsOntologyIri#DrawingPublic" val hasStillImageFileValue = OntologyConstants.KnoraBase.HasStillImageFileValue - responderManager ! DefaultObjectAccessPermissionsStringForPropertyGetADM( + appActor ! DefaultObjectAccessPermissionsStringForPropertyGetADM( drawingsGodsProjectIri, drawingPublicResourceClass, hasStillImageFileValue, @@ -169,7 +169,7 @@ class DrawingsGodsV1Spec extends CoreSpec(DrawingsGodsV1Spec.config) with Triple "return correct drawings-gods:DrawingPrivate / knora-base:hasStillImageFileValue combination permissions string for drawings-gods-test-ddd1 user" in { val drawingPrivateResourceClass = s"$drawingsGodsOntologyIri#DrawingPrivate" val hasStillImageFileValue = OntologyConstants.KnoraBase.HasStillImageFileValue - responderManager ! DefaultObjectAccessPermissionsStringForPropertyGetADM( + appActor ! DefaultObjectAccessPermissionsStringForPropertyGetADM( drawingsGodsProjectIri, drawingPrivateResourceClass, hasStillImageFileValue, @@ -198,7 +198,7 @@ class DrawingsGodsV1Spec extends CoreSpec(DrawingsGodsV1Spec.config) with Triple s"$drawingsGodsOntologyIri#hasDrawingChildTotal" -> Vector(CreateValueV1WithComment(IntegerValueV1(99))) ) - responderManager ! ResourceCreateRequestV1( + appActor ! ResourceCreateRequestV1( resourceTypeIri = s"$drawingsGodsOntologyIri#Person", label = "Test-Person", projectIri = drawingsGodsProjectIri, @@ -212,7 +212,7 @@ class DrawingsGodsV1Spec extends CoreSpec(DrawingsGodsV1Spec.config) with Triple val createResponse = expectMsgType[ResourceCreateResponseV1](timeout) val resourceIri = createResponse.res_id - responderManager ! ResourceFullGetRequestV1( + appActor ! ResourceFullGetRequestV1( iri = resourceIri, featureFactoryConfig = defaultFeatureFactoryConfig, userADM = ddd1.get @@ -245,7 +245,7 @@ class DrawingsGodsV1Spec extends CoreSpec(DrawingsGodsV1Spec.config) with Triple s"$drawingsGodsOntologyIri#hasDrawingChildTotal" -> Vector(CreateValueV1WithComment(IntegerValueV1(99))) ) - responderManager ! ResourceCreateRequestV1( + appActor ! ResourceCreateRequestV1( resourceTypeIri = s"$drawingsGodsOntologyIri#Person", label = "Test-Person", projectIri = drawingsGodsProjectIri, diff --git a/webapi/src/test/scala/org/knora/webapi/responders/admin/GroupsResponderADMSpec.scala b/webapi/src/test/scala/org/knora/webapi/responders/admin/GroupsResponderADMSpec.scala index 8dc6c7adbb..fa2803e8b2 100644 --- a/webapi/src/test/scala/org/knora/webapi/responders/admin/GroupsResponderADMSpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/responders/admin/GroupsResponderADMSpec.scala @@ -49,7 +49,7 @@ class GroupsResponderADMSpec extends CoreSpec(GroupsResponderADMSpec.config) wit "The GroupsResponder " when { "asked about all groups" should { "return a list" in { - responderManager ! GroupsGetRequestADM( + appActor ! GroupsGetRequestADM( featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser ) @@ -62,7 +62,7 @@ class GroupsResponderADMSpec extends CoreSpec(GroupsResponderADMSpec.config) wit "asked about a group identified by 'iri' " should { "return group info if the group is known " in { - responderManager ! GroupGetRequestADM( + appActor ! GroupGetRequestADM( groupIri = imagesReviewerGroup.id, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = rootUser @@ -72,7 +72,7 @@ class GroupsResponderADMSpec extends CoreSpec(GroupsResponderADMSpec.config) wit } "return 'NotFoundException' when the group is unknown " in { - responderManager ! GroupGetRequestADM( + appActor ! GroupGetRequestADM( groupIri = "http://rdfh.ch/groups/notexisting", featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = rootUser @@ -88,7 +88,7 @@ class GroupsResponderADMSpec extends CoreSpec(GroupsResponderADMSpec.config) wit val newGroupIri = new MutableTestIri "CREATE the group and return the group's info if the supplied group name is unique" in { - responderManager ! GroupCreateRequestADM( + appActor ! GroupCreateRequestADM( createRequest = GroupCreatePayloadADM( id = None, name = GroupName.make("NewGroup").fold(e => throw e.head, v => v), @@ -127,7 +127,7 @@ class GroupsResponderADMSpec extends CoreSpec(GroupsResponderADMSpec.config) wit } "return a 'DuplicateValueException' if the supplied group name is not unique" in { - responderManager ! GroupCreateRequestADM( + appActor ! GroupCreateRequestADM( createRequest = GroupCreatePayloadADM( id = Some( GroupIri.make(imagesReviewerGroup.id).fold(e => throw e.head, v => v) @@ -151,7 +151,7 @@ class GroupsResponderADMSpec extends CoreSpec(GroupsResponderADMSpec.config) wit } "UPDATE a group" in { - responderManager ! GroupChangeRequestADM( + appActor ! GroupChangeRequestADM( groupIri = newGroupIri.get, changeGroupRequest = GroupUpdatePayloadADM( Some(GroupName.make("UpdatedGroupName").fold(e => throw e.head, v => v)), @@ -181,7 +181,7 @@ class GroupsResponderADMSpec extends CoreSpec(GroupsResponderADMSpec.config) wit } "return 'NotFound' if a not-existing group IRI is submitted during update" in { - responderManager ! GroupChangeRequestADM( + appActor ! GroupChangeRequestADM( groupIri = "http://rdfh.ch/groups/notexisting", GroupUpdatePayloadADM( Some(GroupName.make("UpdatedGroupName").fold(e => throw e.head, v => v)), @@ -202,7 +202,7 @@ class GroupsResponderADMSpec extends CoreSpec(GroupsResponderADMSpec.config) wit } "return 'BadRequest' if the new group name already exists inside the project" in { - responderManager ! GroupChangeRequestADM( + appActor ! GroupChangeRequestADM( groupIri = newGroupIri.get, changeGroupRequest = GroupUpdatePayloadADM( Some(GroupName.make("Image reviewer").fold(e => throw e.head, v => v)), @@ -229,7 +229,7 @@ class GroupsResponderADMSpec extends CoreSpec(GroupsResponderADMSpec.config) wit "used to query members" should { "return all members of a group identified by IRI" in { - responderManager ! GroupMembersGetRequestADM( + appActor ! GroupMembersGetRequestADM( groupIri = SharedTestDataADM.imagesReviewerGroup.id, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser @@ -244,7 +244,7 @@ class GroupsResponderADMSpec extends CoreSpec(GroupsResponderADMSpec.config) wit } "remove all members when group is deactivated" in { - responderManager ! GroupMembersGetRequestADM( + appActor ! GroupMembersGetRequestADM( groupIri = SharedTestDataADM.imagesReviewerGroup.id, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser @@ -253,7 +253,7 @@ class GroupsResponderADMSpec extends CoreSpec(GroupsResponderADMSpec.config) wit val membersBeforeStatusChange: GroupMembersGetResponseADM = expectMsgType[GroupMembersGetResponseADM](timeout) membersBeforeStatusChange.members.size shouldBe 2 - responderManager ! GroupChangeStatusRequestADM( + appActor ! GroupChangeStatusRequestADM( groupIri = SharedTestDataADM.imagesReviewerGroup.id, changeGroupRequest = ChangeGroupApiRequestADM(status = Some(false)), featureFactoryConfig = defaultFeatureFactoryConfig, @@ -265,7 +265,7 @@ class GroupsResponderADMSpec extends CoreSpec(GroupsResponderADMSpec.config) wit statusChangeResponse.group.status shouldBe false - responderManager ! GroupMembersGetRequestADM( + appActor ! GroupMembersGetRequestADM( groupIri = SharedTestDataADM.imagesReviewerGroup.id, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser @@ -275,7 +275,7 @@ class GroupsResponderADMSpec extends CoreSpec(GroupsResponderADMSpec.config) wit } "return 'NotFound' when the group IRI is unknown" in { - responderManager ! GroupMembersGetRequestADM( + appActor ! GroupMembersGetRequestADM( groupIri = "http://rdfh.ch/groups/notexisting", featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser diff --git a/webapi/src/test/scala/org/knora/webapi/responders/admin/ListsResponderADMSpec.scala b/webapi/src/test/scala/org/knora/webapi/responders/admin/ListsResponderADMSpec.scala index 7aec9cbe18..3dbfb32698 100644 --- a/webapi/src/test/scala/org/knora/webapi/responders/admin/ListsResponderADMSpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/responders/admin/ListsResponderADMSpec.scala @@ -65,7 +65,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "The Lists Responder" when { "used to query information about lists" should { "return all lists" in { - responderManager ! ListsGetRequestADM( + appActor ! ListsGetRequestADM( featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.imagesUser01 ) @@ -76,7 +76,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with } "return all lists belonging to the images project" in { - responderManager ! ListsGetRequestADM( + appActor ! ListsGetRequestADM( projectIri = Some(IMAGES_PROJECT_IRI), featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.imagesUser01 @@ -90,7 +90,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with } "return all lists belonging to the anything project" in { - responderManager ! ListsGetRequestADM( + appActor ! ListsGetRequestADM( projectIri = Some(ANYTHING_PROJECT_IRI), featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.imagesUser01 @@ -104,7 +104,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with } "return basic list information (anything list)" in { - responderManager ! ListNodeInfoGetRequestADM( + appActor ! ListNodeInfoGetRequestADM( iri = "http://rdfh.ch/lists/0001/treeList", featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.anythingUser1 @@ -118,7 +118,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with } "return basic list information (anything other list)" in { - responderManager ! ListNodeInfoGetRequestADM( + appActor ! ListNodeInfoGetRequestADM( iri = "http://rdfh.ch/lists/0001/otherTreeList", featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.anythingUser1 @@ -132,7 +132,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with } "return basic node information (images list - sommer)" in { - responderManager ! ListNodeInfoGetRequestADM( + appActor ! ListNodeInfoGetRequestADM( iri = "http://rdfh.ch/lists/00FF/526f26ed04", featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.imagesUser01 @@ -146,7 +146,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with } "return a full list response" in { - responderManager ! ListGetRequestADM( + appActor ! ListGetRequestADM( iri = "http://rdfh.ch/lists/0001/treeList", featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.anythingUser1 @@ -168,7 +168,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "used to modify lists" should { "create a list" in { - responderManager ! ListRootNodeCreateRequestADM( + appActor ! ListRootNodeCreateRequestADM( createRootNode = ListRootNodeCreatePayloadADM( projectIri = ProjectIri.make(IMAGES_PROJECT_IRI).fold(e => throw e.head, v => v), name = Some(ListName.make("neuelistename").fold(e => throw e.head, v => v)), @@ -209,7 +209,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with val labelWithSpecialCharacter = "Neue \\\"Liste\\\"" val commentWithSpecialCharacter = "Neue \\\"Kommentar\\\"" val nameWithSpecialCharacter = "a new \\\"name\\\"" - responderManager ! ListRootNodeCreateRequestADM( + appActor ! ListRootNodeCreateRequestADM( createRootNode = ListRootNodeCreatePayloadADM( projectIri = ProjectIri.make(IMAGES_PROJECT_IRI).fold(e => throw e.head, v => v), name = Some(ListName.make(nameWithSpecialCharacter).fold(e => throw e.head, v => v)), @@ -279,7 +279,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with requestingUser = SharedTestDataADM.imagesUser01, apiRequestID = UUID.randomUUID ) - responderManager ! changeNodeInfoRequest + appActor ! changeNodeInfoRequest val received: RootNodeInfoGetResponseADM = expectMsgType[RootNodeInfoGetResponseADM](timeout) @@ -308,7 +308,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "not update basic list information if name is duplicate" in { val name = Some(ListName.make("sommer").fold(e => throw e.head, v => v)) val projectIRI = ProjectIri.make(IMAGES_PROJECT_IRI).fold(e => throw e.head, v => v) - responderManager ! NodeInfoChangeRequestADM( + appActor ! NodeInfoChangeRequestADM( listIri = newListIri.get, changeNodeRequest = ListNodeChangePayloadADM( listIri = ListIri.make(newListIri.get).fold(e => throw e.head, v => v), @@ -329,7 +329,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with } "add child to list - to the root node" in { - responderManager ! ListChildNodeCreateRequestADM( + appActor ! ListChildNodeCreateRequestADM( createChildNodeRequest = ListChildNodeCreatePayloadADM( parentNodeIri = ListIri.make(newListIri.get).fold(e => throw e.head, v => v), projectIri = ProjectIri.make(IMAGES_PROJECT_IRI).fold(e => throw e.head, v => v), @@ -383,7 +383,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with } "add second child to list in first position - to the root node" in { - responderManager ! ListChildNodeCreateRequestADM( + appActor ! ListChildNodeCreateRequestADM( createChildNodeRequest = ListChildNodeCreatePayloadADM( parentNodeIri = ListIri.make(newListIri.get).fold(e => throw e.head, v => v), projectIri = ProjectIri.make(IMAGES_PROJECT_IRI).fold(e => throw e.head, v => v), @@ -438,7 +438,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with } "add child to second child node" in { - responderManager ! ListChildNodeCreateRequestADM( + appActor ! ListChildNodeCreateRequestADM( createChildNodeRequest = ListChildNodeCreatePayloadADM( parentNodeIri = ListIri.make(secondChildIri.get).fold(e => throw e.head, v => v), projectIri = ProjectIri.make(IMAGES_PROJECT_IRI).fold(e => throw e.head, v => v), @@ -493,7 +493,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "not create a node if given new position is out of range" in { val givenPosition = Some(Position.make(20).fold(e => throw e.head, v => v)) - responderManager ! ListChildNodeCreateRequestADM( + appActor ! ListChildNodeCreateRequestADM( createChildNodeRequest = ListChildNodeCreatePayloadADM( parentNodeIri = ListIri.make(newListIri.get).fold(e => throw e.head, v => v), projectIri = ProjectIri.make(IMAGES_PROJECT_IRI).fold(e => throw e.head, v => v), @@ -525,7 +525,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "used to reposition nodes" should { "not reposition a node if new position is the same as old one" in { val nodeIri = "http://rdfh.ch/lists/0001/notUsedList014" - responderManager ! NodePositionChangeRequestADM( + appActor ! NodePositionChangeRequestADM( nodeIri = nodeIri, changeNodePositionRequest = ChangeNodePositionApiRequestADM( position = 3, @@ -540,7 +540,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "not reposition a node if new position is out of range" in { val nodeIri = "http://rdfh.ch/lists/0001/notUsedList014" - responderManager ! NodePositionChangeRequestADM( + appActor ! NodePositionChangeRequestADM( nodeIri = nodeIri, changeNodePositionRequest = ChangeNodePositionApiRequestADM( position = 30, @@ -555,7 +555,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "not reposition a node to another parent node if new position is out of range" in { val nodeIri = "http://rdfh.ch/lists/0001/notUsedList014" - responderManager ! NodePositionChangeRequestADM( + appActor ! NodePositionChangeRequestADM( nodeIri = nodeIri, changeNodePositionRequest = ChangeNodePositionApiRequestADM( position = 30, @@ -571,7 +571,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "reposition node List014 from position 3 to 1 (shift to right)" in { val nodeIri = "http://rdfh.ch/lists/0001/notUsedList014" val parentIri = "http://rdfh.ch/lists/0001/notUsedList01" - responderManager ! NodePositionChangeRequestADM( + appActor ! NodePositionChangeRequestADM( nodeIri = nodeIri, changeNodePositionRequest = ChangeNodePositionApiRequestADM( position = 1, @@ -604,7 +604,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "reposition node List011 from position 0 to end (shift to left)" in { val nodeIri = "http://rdfh.ch/lists/0001/notUsedList011" val parentIri = "http://rdfh.ch/lists/0001/notUsedList01" - responderManager ! NodePositionChangeRequestADM( + appActor ! NodePositionChangeRequestADM( nodeIri = nodeIri, changeNodePositionRequest = ChangeNodePositionApiRequestADM( position = -1, @@ -638,7 +638,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with val nodeIri = "http://rdfh.ch/lists/0001/notUsedList013" val newParentIri = "http://rdfh.ch/lists/0001/notUsedList" val oldParentIri = "http://rdfh.ch/lists/0001/notUsedList01" - responderManager ! NodePositionChangeRequestADM( + appActor ! NodePositionChangeRequestADM( nodeIri = nodeIri, changeNodePositionRequest = ChangeNodePositionApiRequestADM( position = 2, @@ -667,7 +667,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with isShifted should be(true) /* check old parent node */ - responderManager ! ListGetRequestADM( + appActor ! ListGetRequestADM( iri = oldParentIri, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.anythingAdminUser @@ -689,7 +689,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with val nodeIri = "http://rdfh.ch/lists/0001/notUsedList015" val newParentIri = "http://rdfh.ch/lists/0001/notUsedList" val oldParentIri = "http://rdfh.ch/lists/0001/notUsedList01" - responderManager ! NodePositionChangeRequestADM( + appActor ! NodePositionChangeRequestADM( nodeIri = nodeIri, changeNodePositionRequest = ChangeNodePositionApiRequestADM( position = -1, @@ -718,7 +718,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with isShifted should be(true) /* check old parent node */ - responderManager ! ListGetRequestADM( + appActor ! ListGetRequestADM( iri = oldParentIri, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.anythingAdminUser @@ -734,7 +734,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "put List015 back in end of its original parent node" in { val nodeIri = "http://rdfh.ch/lists/0001/notUsedList015" val newParentIri = "http://rdfh.ch/lists/0001/notUsedList01" - responderManager ! NodePositionChangeRequestADM( + appActor ! NodePositionChangeRequestADM( nodeIri = nodeIri, changeNodePositionRequest = ChangeNodePositionApiRequestADM( position = -1, @@ -759,7 +759,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "put List013 back in position 2 of its original parent node" in { val nodeIri = "http://rdfh.ch/lists/0001/notUsedList013" val newParentIri = "http://rdfh.ch/lists/0001/notUsedList01" - responderManager ! NodePositionChangeRequestADM( + appActor ! NodePositionChangeRequestADM( nodeIri = nodeIri, changeNodePositionRequest = ChangeNodePositionApiRequestADM( position = 2, @@ -784,7 +784,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "put List011 back in its original place" in { val nodeIri = "http://rdfh.ch/lists/0001/notUsedList011" val parentIri = "http://rdfh.ch/lists/0001/notUsedList01" - responderManager ! NodePositionChangeRequestADM( + appActor ! NodePositionChangeRequestADM( nodeIri = nodeIri, changeNodePositionRequest = ChangeNodePositionApiRequestADM( position = 0, @@ -804,7 +804,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "put List014 back in its original position" in { val nodeIri = "http://rdfh.ch/lists/0001/notUsedList014" val parentIri = "http://rdfh.ch/lists/0001/notUsedList01" - responderManager ! NodePositionChangeRequestADM( + appActor ! NodePositionChangeRequestADM( nodeIri = nodeIri, changeNodePositionRequest = ChangeNodePositionApiRequestADM( position = 3, @@ -824,7 +824,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "reposition node in a position equal to length of new parents children" in { val nodeIri = "http://rdfh.ch/lists/0001/notUsedList03" val parentIri = "http://rdfh.ch/lists/0001/notUsedList01" - responderManager ! NodePositionChangeRequestADM( + appActor ! NodePositionChangeRequestADM( nodeIri = nodeIri, changeNodePositionRequest = ChangeNodePositionApiRequestADM( position = 5, @@ -844,7 +844,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "reposition List014 in position 0 of its sibling which does not have a child" in { val nodeIri = "http://rdfh.ch/lists/0001/notUsedList014" val parentIri = "http://rdfh.ch/lists/0001/notUsedList015" - responderManager ! NodePositionChangeRequestADM( + appActor ! NodePositionChangeRequestADM( nodeIri = nodeIri, changeNodePositionRequest = ChangeNodePositionApiRequestADM( position = 0, @@ -865,7 +865,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "used to delete list items" should { "not delete a node that is in use" in { val nodeInUseIri = "http://rdfh.ch/lists/0001/treeList01" - responderManager ! ListItemDeleteRequestADM( + appActor ! ListItemDeleteRequestADM( nodeIri = nodeInUseIri, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.anythingAdminUser, @@ -877,7 +877,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "not delete a node that has a child which is used (node itself not in use, but its child is)" in { val nodeIri = "http://rdfh.ch/lists/0001/treeList03" - responderManager ! ListItemDeleteRequestADM( + appActor ! ListItemDeleteRequestADM( nodeIri = nodeIri, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.anythingAdminUser, @@ -892,7 +892,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "not delete a node used as object of salsah-gui:guiAttribute (i.e. 'hlist=') but not as object of knora-base:valueHasListNode" in { val nodeInUseInOntologyIri = "http://rdfh.ch/lists/0001/treeList" - responderManager ! ListItemDeleteRequestADM( + appActor ! ListItemDeleteRequestADM( nodeIri = nodeInUseInOntologyIri, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.anythingAdminUser, @@ -906,7 +906,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "delete a middle child node that is not in use" in { val nodeIri = "http://rdfh.ch/lists/0001/notUsedList012" - responderManager ! ListItemDeleteRequestADM( + appActor ! ListItemDeleteRequestADM( nodeIri = nodeIri, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.anythingAdminUser, @@ -927,7 +927,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "delete a child node that is not in use" in { val nodeIri = "http://rdfh.ch/lists/0001/notUsedList02" - responderManager ! ListItemDeleteRequestADM( + appActor ! ListItemDeleteRequestADM( nodeIri = nodeIri, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.anythingAdminUser, @@ -944,7 +944,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "delete a list (i.e. root node) that is not in use in ontology" in { val listIri = "http://rdfh.ch/lists/0001/notUsedList" - responderManager ! ListItemDeleteRequestADM( + appActor ! ListItemDeleteRequestADM( nodeIri = listIri, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.anythingAdminUser, @@ -959,7 +959,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "used to query if list can be deleted" should { "return FALSE for a node that is in use" in { val nodeInUseIri = "http://rdfh.ch/lists/0001/treeList01" - responderManager ! CanDeleteListRequestADM( + appActor ! CanDeleteListRequestADM( iri = nodeInUseIri, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.anythingAdminUser @@ -971,7 +971,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "return FALSE for a node that is unused but has a child which is used" in { val nodeIri = "http://rdfh.ch/lists/0001/treeList03" - responderManager ! CanDeleteListRequestADM( + appActor ! CanDeleteListRequestADM( iri = nodeIri, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.anythingAdminUser @@ -983,7 +983,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "return FALSE for a node used as object of salsah-gui:guiAttribute (i.e. 'hlist=') but not as object of knora-base:valueHasListNode" in { val nodeInUseInOntologyIri = "http://rdfh.ch/lists/0001/treeList" - responderManager ! CanDeleteListRequestADM( + appActor ! CanDeleteListRequestADM( iri = nodeInUseInOntologyIri, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.anythingAdminUser @@ -995,7 +995,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "return TRUE for a middle child node that is not in use" in { val nodeIri = "http://rdfh.ch/lists/0001/notUsedList012" - responderManager ! CanDeleteListRequestADM( + appActor ! CanDeleteListRequestADM( iri = nodeIri, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.anythingAdminUser @@ -1007,7 +1007,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "retrun TRUE for a child node that is not in use" in { val nodeIri = "http://rdfh.ch/lists/0001/notUsedList02" - responderManager ! CanDeleteListRequestADM( + appActor ! CanDeleteListRequestADM( iri = nodeIri, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.anythingAdminUser @@ -1019,7 +1019,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "delete a list (i.e. root node) that is not in use in ontology" in { val listIri = "http://rdfh.ch/lists/0001/notUsedList" - responderManager ! CanDeleteListRequestADM( + appActor ! CanDeleteListRequestADM( iri = listIri, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.anythingAdminUser @@ -1033,7 +1033,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "used to delete list node comments" should { "do not delete a comment of root list node" in { val nodeIri = "http://rdfh.ch/lists/0001/testList" - responderManager ! ListNodeCommentsDeleteRequestADM( + appActor ! ListNodeCommentsDeleteRequestADM( iri = nodeIri, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.anythingAdminUser @@ -1045,7 +1045,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "delete all comments of child node that contains just one comment" in { val nodeIri = "http://rdfh.ch/lists/0001/testList01" - responderManager ! ListNodeCommentsDeleteRequestADM( + appActor ! ListNodeCommentsDeleteRequestADM( iri = nodeIri, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.anythingAdminUser @@ -1058,7 +1058,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "delete all comments of child node that contains more than one comment" in { val nodeIri = "http://rdfh.ch/lists/0001/testList02" - responderManager ! ListNodeCommentsDeleteRequestADM( + appActor ! ListNodeCommentsDeleteRequestADM( iri = nodeIri, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.anythingAdminUser @@ -1071,7 +1071,7 @@ class ListsResponderADMSpec extends CoreSpec(ListsResponderADMSpec.config) with "if reqested list does not have comments, inform there is no comments to delete" in { val nodeIri = "http://rdfh.ch/lists/0001/testList03" - responderManager ! ListNodeCommentsDeleteRequestADM( + appActor ! ListNodeCommentsDeleteRequestADM( iri = nodeIri, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.anythingAdminUser diff --git a/webapi/src/test/scala/org/knora/webapi/responders/admin/PermissionsResponderADMSpec.scala b/webapi/src/test/scala/org/knora/webapi/responders/admin/PermissionsResponderADMSpec.scala index 51a85eb30a..d19a78576b 100644 --- a/webapi/src/test/scala/org/knora/webapi/responders/admin/PermissionsResponderADMSpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/responders/admin/PermissionsResponderADMSpec.scala @@ -77,7 +77,7 @@ class PermissionsResponderADMSpec "ask about the permission profile" should { "return the permissions profile (root user)" in { - responderManager ! PermissionDataGetADM( + appActor ! PermissionDataGetADM( projectIris = SharedTestDataV1.rootUser.projects_info.keys.toSeq, groupIris = SharedTestDataV1.rootUser.groups, isInProjectAdminGroups = Seq.empty[IRI], @@ -89,7 +89,7 @@ class PermissionsResponderADMSpec } "return the permissions profile (multi group user)" in { - responderManager ! PermissionDataGetADM( + appActor ! PermissionDataGetADM( projectIris = SharedTestDataV1.multiuserUser.projects_info.keys.toSeq, groupIris = SharedTestDataV1.multiuserUser.groups, isInProjectAdminGroups = Seq(SharedTestDataADM.INCUNABULA_PROJECT_IRI, SharedTestDataADM.IMAGES_PROJECT_IRI), @@ -101,7 +101,7 @@ class PermissionsResponderADMSpec } "return the permissions profile (incunabula project admin user)" in { - responderManager ! PermissionDataGetADM( + appActor ! PermissionDataGetADM( projectIris = SharedTestDataV1.incunabulaProjectAdminUser.projects_info.keys.toSeq, groupIris = SharedTestDataV1.incunabulaProjectAdminUser.groups, isInProjectAdminGroups = Seq(SharedTestDataADM.INCUNABULA_PROJECT_IRI), @@ -113,7 +113,7 @@ class PermissionsResponderADMSpec } "return the permissions profile (incunabula creator user)" in { - responderManager ! PermissionDataGetADM( + appActor ! PermissionDataGetADM( projectIris = SharedTestDataV1.incunabulaProjectAdminUser.projects_info.keys.toSeq, groupIris = SharedTestDataV1.incunabulaCreatorUser.groups, isInProjectAdminGroups = Seq.empty[IRI], @@ -125,7 +125,7 @@ class PermissionsResponderADMSpec } "return the permissions profile (incunabula normal project member user)" in { - responderManager ! PermissionDataGetADM( + appActor ! PermissionDataGetADM( projectIris = SharedTestDataV1.incunabulaProjectAdminUser.projects_info.keys.toSeq, groupIris = SharedTestDataV1.incunabulaMemberUser.groups, isInProjectAdminGroups = Seq.empty[IRI], @@ -137,7 +137,7 @@ class PermissionsResponderADMSpec } "return the permissions profile (images user 01)" in { - responderManager ! PermissionDataGetADM( + appActor ! PermissionDataGetADM( projectIris = SharedTestDataV1.imagesUser01.projects_info.keys.toSeq, groupIris = SharedTestDataV1.imagesUser01.groups, isInProjectAdminGroups = Seq(SharedTestDataADM.IMAGES_PROJECT_IRI), @@ -149,7 +149,7 @@ class PermissionsResponderADMSpec } "return the permissions profile (images-reviewer-user)" in { - responderManager ! PermissionDataGetADM( + appActor ! PermissionDataGetADM( projectIris = SharedTestDataV1.imagesReviewerUser.projects_info.keys.toSeq, groupIris = SharedTestDataV1.imagesReviewerUser.groups, isInProjectAdminGroups = Seq.empty[IRI], @@ -161,7 +161,7 @@ class PermissionsResponderADMSpec } "return the permissions profile (anything user 01)" in { - responderManager ! PermissionDataGetADM( + appActor ! PermissionDataGetADM( projectIris = SharedTestDataV1.anythingUser1.projects_info.keys.toSeq, groupIris = SharedTestDataV1.anythingUser1.groups, isInProjectAdminGroups = Seq.empty[IRI], @@ -186,7 +186,7 @@ class PermissionsResponderADMSpec "ask about administrative permissions " should { "return all AdministrativePermissions for project " in { - responderManager ! AdministrativePermissionsForProjectGetRequestADM( + appActor ! AdministrativePermissionsForProjectGetRequestADM( projectIri = SharedTestDataADM.IMAGES_PROJECT_IRI, requestingUser = rootUser, apiRequestID = UUID.randomUUID() @@ -199,7 +199,7 @@ class PermissionsResponderADMSpec } "return AdministrativePermission for project and group" in { - responderManager ! AdministrativePermissionForProjectGroupGetRequestADM( + appActor ! AdministrativePermissionForProjectGroupGetRequestADM( projectIri = SharedTestDataADM.IMAGES_PROJECT_IRI, groupIri = OntologyConstants.KnoraAdmin.ProjectMember, requestingUser = rootUser @@ -208,7 +208,7 @@ class PermissionsResponderADMSpec } "return AdministrativePermission for IRI " in { - responderManager ! AdministrativePermissionForIriGetRequestADM( + appActor ! AdministrativePermissionForIriGetRequestADM( administrativePermissionIri = perm002_a1.iri, requestingUser = rootUser, apiRequestID = UUID.randomUUID() @@ -217,7 +217,7 @@ class PermissionsResponderADMSpec } "throw ForbiddenException for AdministrativePermissionForIriGetRequestADM if requesting user is not system or project admin " in { val permissionIri = perm002_a1.iri - responderManager ! AdministrativePermissionForIriGetRequestADM( + appActor ! AdministrativePermissionForIriGetRequestADM( administrativePermissionIri = permissionIri, requestingUser = SharedTestDataADM.imagesUser02, apiRequestID = UUID.randomUUID() @@ -234,7 +234,7 @@ class PermissionsResponderADMSpec "asked to create an administrative permission" should { "fail and return a 'DuplicateValueException' when permission for project and group combination already exists" in { - responderManager ! AdministrativePermissionCreateRequestADM( + appActor ! AdministrativePermissionCreateRequestADM( createRequest = CreateAdministrativePermissionAPIRequestADM( forProject = SharedTestDataADM.IMAGES_PROJECT_IRI, forGroup = OntologyConstants.KnoraAdmin.ProjectMember, @@ -258,7 +258,7 @@ class PermissionsResponderADMSpec "create and return an administrative permission with a custom IRI" in { val customIri = "http://rdfh.ch/permissions/0001/24RD7QcoTKqEJKrDBE885Q" - responderManager ! AdministrativePermissionCreateRequestADM( + appActor ! AdministrativePermissionCreateRequestADM( createRequest = CreateAdministrativePermissionAPIRequestADM( id = Some(customIri), forProject = SharedTestDataADM.ANYTHING_PROJECT_IRI, @@ -292,7 +292,7 @@ class PermissionsResponderADMSpec permissionCode = None ) ) - responderManager ! AdministrativePermissionCreateRequestADM( + appActor ! AdministrativePermissionCreateRequestADM( createRequest = CreateAdministrativePermissionAPIRequestADM( id = Some(customIri), forProject = SharedTestDataADM.ANYTHING_PROJECT_IRI, @@ -314,7 +314,7 @@ class PermissionsResponderADMSpec "ask to query about object access permissions " should { "return object access permissions for a resource" in { - responderManager ! ObjectAccessPermissionsForResourceGetADM( + appActor ! ObjectAccessPermissionsForResourceGetADM( resourceIri = perm003_o1.iri, requestingUser = rootUser ) @@ -323,7 +323,7 @@ class PermissionsResponderADMSpec "return 'ForbiddenException' if the user requesting ObjectAccessPermissionsForResourceGetADM is not ProjectAdmin" in { - responderManager ! ObjectAccessPermissionsForResourceGetADM( + appActor ! ObjectAccessPermissionsForResourceGetADM( resourceIri = perm003_o1.iri, requestingUser = SharedTestDataADM.incunabulaMemberUser ) @@ -333,7 +333,7 @@ class PermissionsResponderADMSpec } "return object access permissions for a value" in { - responderManager ! ObjectAccessPermissionsForValueGetADM( + appActor ! ObjectAccessPermissionsForValueGetADM( valueIri = perm003_o2.iri, requestingUser = rootUser ) @@ -342,7 +342,7 @@ class PermissionsResponderADMSpec "return 'ForbiddenException' if the user requesting ObjectAccessPermissionsForValueGetADM is not ProjectAdmin" in { - responderManager ! ObjectAccessPermissionsForValueGetADM( + appActor ! ObjectAccessPermissionsForValueGetADM( valueIri = perm003_o2.iri, requestingUser = SharedTestDataADM.incunabulaMemberUser ) @@ -355,7 +355,7 @@ class PermissionsResponderADMSpec "ask to query about default object access permissions " should { "return all DefaultObjectAccessPermissions for project" in { - responderManager ! DefaultObjectAccessPermissionsForProjectGetRequestADM( + appActor ! DefaultObjectAccessPermissionsForProjectGetRequestADM( projectIri = SharedTestDataADM.IMAGES_PROJECT_IRI, requestingUser = rootUser, apiRequestID = UUID.randomUUID() @@ -369,7 +369,7 @@ class PermissionsResponderADMSpec } "return DefaultObjectAccessPermission for IRI" in { - responderManager ! DefaultObjectAccessPermissionForIriGetRequestADM( + appActor ! DefaultObjectAccessPermissionForIriGetRequestADM( defaultObjectAccessPermissionIri = perm002_d1.iri, requestingUser = rootUser, apiRequestID = UUID.randomUUID() @@ -383,7 +383,7 @@ class PermissionsResponderADMSpec "return 'ForbiddenException' if the user requesting DefaultObjectAccessPermissionForIriGetRequestADM is not System or project Admin" in { val permissionIri = perm002_d1.iri - responderManager ! DefaultObjectAccessPermissionForIriGetRequestADM( + appActor ! DefaultObjectAccessPermissionForIriGetRequestADM( defaultObjectAccessPermissionIri = permissionIri, requestingUser = SharedTestDataADM.imagesUser02, apiRequestID = UUID.randomUUID() @@ -399,7 +399,7 @@ class PermissionsResponderADMSpec } "return DefaultObjectAccessPermission for project and group" in { - responderManager ! DefaultObjectAccessPermissionGetRequestADM( + appActor ! DefaultObjectAccessPermissionGetRequestADM( projectIri = SharedTestDataADM.INCUNABULA_PROJECT_IRI, groupIri = Some(OntologyConstants.KnoraAdmin.ProjectMember), resourceClassIri = None, @@ -414,7 +414,7 @@ class PermissionsResponderADMSpec } "return DefaultObjectAccessPermission for project and resource class ('incunabula:Page')" in { - responderManager ! DefaultObjectAccessPermissionGetRequestADM( + appActor ! DefaultObjectAccessPermissionGetRequestADM( projectIri = SharedTestDataADM.INCUNABULA_PROJECT_IRI, groupIri = None, resourceClassIri = Some(SharedOntologyTestDataADM.INCUNABULA_BOOK_RESOURCE_CLASS), @@ -429,7 +429,7 @@ class PermissionsResponderADMSpec } "return DefaultObjectAccessPermission for project and property ('knora-base:hasStillImageFileValue') (system property)" in { - responderManager ! DefaultObjectAccessPermissionGetRequestADM( + appActor ! DefaultObjectAccessPermissionGetRequestADM( projectIri = SharedTestDataADM.INCUNABULA_PROJECT_IRI, groupIri = None, resourceClassIri = None, @@ -444,7 +444,7 @@ class PermissionsResponderADMSpec } "cache DefaultObjectAccessPermission" in { - responderManager ! DefaultObjectAccessPermissionGetRequestADM( + appActor ! DefaultObjectAccessPermissionGetRequestADM( projectIri = SharedTestDataADM.INCUNABULA_PROJECT_IRI, groupIri = None, resourceClassIri = None, @@ -467,7 +467,7 @@ class PermissionsResponderADMSpec "ask to create a default object access permission" should { "create a DefaultObjectAccessPermission for project and group" in { - responderManager ! DefaultObjectAccessPermissionCreateRequestADM( + appActor ! DefaultObjectAccessPermissionCreateRequestADM( createRequest = CreateDefaultObjectAccessPermissionAPIRequestADM( forProject = SharedTestDataADM.ANYTHING_PROJECT_IRI, forGroup = Some(SharedTestDataADM.thingSearcherGroup.id), @@ -489,7 +489,7 @@ class PermissionsResponderADMSpec "create a DefaultObjectAccessPermission for project and group with custom IRI" in { val customIri = "http://rdfh.ch/permissions/0001/4PnSvolsTEa86KJ2EG76SQ" - responderManager ! DefaultObjectAccessPermissionCreateRequestADM( + appActor ! DefaultObjectAccessPermissionCreateRequestADM( createRequest = CreateDefaultObjectAccessPermissionAPIRequestADM( id = Some(customIri), forProject = SharedTestDataADM.ANYTHING_PROJECT_IRI, @@ -512,7 +512,7 @@ class PermissionsResponderADMSpec } "create a DefaultObjectAccessPermission for project and resource class" in { - responderManager ! DefaultObjectAccessPermissionCreateRequestADM( + appActor ! DefaultObjectAccessPermissionCreateRequestADM( createRequest = CreateDefaultObjectAccessPermissionAPIRequestADM( forProject = SharedTestDataADM.IMAGES_PROJECT_IRI, forResourceClass = Some(SharedOntologyTestDataADM.IMAGES_BILD_RESOURCE_CLASS), @@ -537,7 +537,7 @@ class PermissionsResponderADMSpec } "create a DefaultObjectAccessPermission for project and property" in { - responderManager ! DefaultObjectAccessPermissionCreateRequestADM( + appActor ! DefaultObjectAccessPermissionCreateRequestADM( createRequest = CreateDefaultObjectAccessPermissionAPIRequestADM( forProject = SharedTestDataADM.IMAGES_PROJECT_IRI, forProperty = Some(SharedOntologyTestDataADM.IMAGES_TITEL_PROPERTY), @@ -560,7 +560,7 @@ class PermissionsResponderADMSpec } "fail and return a 'DuplicateValueException' when a doap permission for project and group combination already exists" in { - responderManager ! DefaultObjectAccessPermissionCreateRequestADM( + appActor ! DefaultObjectAccessPermissionCreateRequestADM( createRequest = CreateDefaultObjectAccessPermissionAPIRequestADM( forProject = SharedTestDataV1.INCUNABULA_PROJECT_IRI, forGroup = Some(OntologyConstants.KnoraAdmin.ProjectMember), @@ -584,7 +584,7 @@ class PermissionsResponderADMSpec } "fail and return a 'DuplicateValueException' when a doap permission for project and resourceClass combination already exists" in { - responderManager ! DefaultObjectAccessPermissionCreateRequestADM( + appActor ! DefaultObjectAccessPermissionCreateRequestADM( createRequest = CreateDefaultObjectAccessPermissionAPIRequestADM( forProject = SharedTestDataV1.INCUNABULA_PROJECT_IRI, forResourceClass = Some(SharedOntologyTestDataADM.INCUNABULA_BOOK_RESOURCE_CLASS), @@ -611,7 +611,7 @@ class PermissionsResponderADMSpec } "fail and return a 'DuplicateValueException' when a doap permission for project and property combination already exists" in { - responderManager ! DefaultObjectAccessPermissionCreateRequestADM( + appActor ! DefaultObjectAccessPermissionCreateRequestADM( createRequest = CreateDefaultObjectAccessPermissionAPIRequestADM( forProject = SharedTestDataV1.INCUNABULA_PROJECT_IRI, forProperty = Some(SharedOntologyTestDataADM.INCUNABULA_PartOf_Property), @@ -637,7 +637,7 @@ class PermissionsResponderADMSpec } "fail and return a 'DuplicateValueException' when a doap permission for project, resource class, and property combination already exists" in { - responderManager ! DefaultObjectAccessPermissionCreateRequestADM( + appActor ! DefaultObjectAccessPermissionCreateRequestADM( createRequest = CreateDefaultObjectAccessPermissionAPIRequestADM( forProject = SharedTestDataV1.INCUNABULA_PROJECT_IRI, forResourceClass = Some(SharedOntologyTestDataADM.INCUNABULA_PAGE_RESOURCE_CLASS), @@ -673,7 +673,7 @@ class PermissionsResponderADMSpec permissionCode = Some(1) ) ) - responderManager ! DefaultObjectAccessPermissionCreateRequestADM( + appActor ! DefaultObjectAccessPermissionCreateRequestADM( createRequest = CreateDefaultObjectAccessPermissionAPIRequestADM( forProject = SharedTestDataADM.IMAGES_PROJECT_IRI, forGroup = Some(OntologyConstants.KnoraAdmin.UnknownUser), @@ -708,7 +708,7 @@ class PermissionsResponderADMSpec permissionCode = Some(7) ) ) - responderManager ! DefaultObjectAccessPermissionCreateRequestADM( + appActor ! DefaultObjectAccessPermissionCreateRequestADM( createRequest = CreateDefaultObjectAccessPermissionAPIRequestADM( forProject = SharedTestDataADM.IMAGES_PROJECT_IRI, forGroup = Some(OntologyConstants.KnoraAdmin.ProjectAdmin), @@ -729,7 +729,7 @@ class PermissionsResponderADMSpec // "ask to get all permissions" should { // // "return all permissions for 'image' project " in { -// responderManager ! PermissionsForProjectGetRequestADM( +// appActor ! PermissionsForProjectGetRequestADM( // projectIri = SharedTestDataADM.IMAGES_PROJECT_IRI, // featureFactoryConfig = defaultFeatureFactoryConfig, // requestingUser = rootUser, @@ -740,7 +740,7 @@ class PermissionsResponderADMSpec // } // // "return all permissions for 'incunabula' project " in { -// responderManager ! PermissionsForProjectGetRequestADM( +// appActor ! PermissionsForProjectGetRequestADM( // projectIri = SharedTestDataADM.INCUNABULA_PROJECT_IRI, // featureFactoryConfig = defaultFeatureFactoryConfig, // requestingUser = rootUser, @@ -762,7 +762,7 @@ class PermissionsResponderADMSpec // "ask for default object access permissions 'string'" should { // // "return the default object access permissions 'string' for the 'knora-base:LinkObj' resource class (system resource class)" in { -// responderManager ! DefaultObjectAccessPermissionsStringForResourceClassGetADM( +// appActor ! DefaultObjectAccessPermissionsStringForResourceClassGetADM( // projectIri = SharedTestDataADM.INCUNABULA_PROJECT_IRI, // resourceClassIri = OntologyConstants.KnoraBase.LinkObj, // targetUser = SharedTestDataADM.incunabulaProjectAdminUser, @@ -774,7 +774,7 @@ class PermissionsResponderADMSpec // } // // "return the default object access permissions 'string' for the 'knora-base:hasStillImageFileValue' property (system property)" in { -// responderManager ! DefaultObjectAccessPermissionsStringForPropertyGetADM( +// appActor ! DefaultObjectAccessPermissionsStringForPropertyGetADM( // projectIri = SharedTestDataADM.INCUNABULA_PROJECT_IRI, // resourceClassIri = OntologyConstants.KnoraBase.StillImageRepresentation, // propertyIri = OntologyConstants.KnoraBase.HasStillImageFileValue, @@ -787,7 +787,7 @@ class PermissionsResponderADMSpec // } // // "return the default object access permissions 'string' for the 'incunabula:book' resource class (project resource class)" in { -// responderManager ! DefaultObjectAccessPermissionsStringForResourceClassGetADM( +// appActor ! DefaultObjectAccessPermissionsStringForResourceClassGetADM( // projectIri = SharedTestDataADM.INCUNABULA_PROJECT_IRI, // resourceClassIri = SharedOntologyTestDataADM.INCUNABULA_BOOK_RESOURCE_CLASS, // targetUser = SharedTestDataADM.incunabulaProjectAdminUser, @@ -799,7 +799,7 @@ class PermissionsResponderADMSpec // } // // "return the default object access permissions 'string' for the 'incunabula:page' resource class (project resource class)" in { -// responderManager ! DefaultObjectAccessPermissionsStringForResourceClassGetADM( +// appActor ! DefaultObjectAccessPermissionsStringForResourceClassGetADM( // projectIri = SharedTestDataADM.INCUNABULA_PROJECT_IRI, // resourceClassIri = SharedOntologyTestDataADM.INCUNABULA_PAGE_RESOURCE_CLASS, // targetUser = SharedTestDataADM.incunabulaProjectAdminUser, @@ -811,7 +811,7 @@ class PermissionsResponderADMSpec // } // // "return the default object access permissions 'string' for the 'images:jahreszeit' property" in { -// responderManager ! DefaultObjectAccessPermissionsStringForPropertyGetADM( +// appActor ! DefaultObjectAccessPermissionsStringForPropertyGetADM( // projectIri = SharedTestDataADM.IMAGES_PROJECT_IRI, // resourceClassIri = s"${SharedOntologyTestDataADM.IMAGES_ONTOLOGY_IRI}#bild", // propertyIri = s"${SharedOntologyTestDataADM.IMAGES_ONTOLOGY_IRI}#jahreszeit", @@ -824,7 +824,7 @@ class PermissionsResponderADMSpec // } // // "return the default object access permissions 'string' for the 'anything:hasInterval' property" in { -// responderManager ! DefaultObjectAccessPermissionsStringForPropertyGetADM( +// appActor ! DefaultObjectAccessPermissionsStringForPropertyGetADM( // projectIri = SharedTestDataADM.ANYTHING_PROJECT_IRI, // resourceClassIri = "http://www.knora.org/ontology/0001/anything#Thing", // propertyIri = "http://www.knora.org/ontology/0001/anything#hasInterval", @@ -837,7 +837,7 @@ class PermissionsResponderADMSpec // } // // "return the default object access permissions 'string' for the 'anything:Thing' class" in { -// responderManager ! DefaultObjectAccessPermissionsStringForResourceClassGetADM( +// appActor ! DefaultObjectAccessPermissionsStringForResourceClassGetADM( // projectIri = SharedTestDataADM.ANYTHING_PROJECT_IRI, // resourceClassIri = "http://www.knora.org/ontology/0001/anything#Thing", // targetUser = SharedTestDataADM.anythingUser2, @@ -849,7 +849,7 @@ class PermissionsResponderADMSpec // } // // "return the default object access permissions 'string' for the 'anything:Thing' class and 'anything:hasText' property" in { -// responderManager ! DefaultObjectAccessPermissionsStringForPropertyGetADM( +// appActor ! DefaultObjectAccessPermissionsStringForPropertyGetADM( // projectIri = SharedTestDataADM.ANYTHING_PROJECT_IRI, // resourceClassIri = "http://www.knora.org/ontology/0001/anything#Thing", // propertyIri = "http://www.knora.org/ontology/0001/anything#hasText", @@ -860,7 +860,7 @@ class PermissionsResponderADMSpec // } // // "return the default object access permissions 'string' for the 'images:Bild' class and 'anything:hasText' property" in { -// responderManager ! DefaultObjectAccessPermissionsStringForPropertyGetADM( +// appActor ! DefaultObjectAccessPermissionsStringForPropertyGetADM( // projectIri = SharedTestDataADM.ANYTHING_PROJECT_IRI, // resourceClassIri = s"${SharedOntologyTestDataADM.IMAGES_ONTOLOGY_IRI}#bild", // propertyIri = "http://www.knora.org/ontology/0001/anything#hasText", @@ -873,7 +873,7 @@ class PermissionsResponderADMSpec // } // // "return the default object access permissions 'string' for the 'anything:Thing' resource class for the root user (system admin and not member of project)" in { -// responderManager ! DefaultObjectAccessPermissionsStringForResourceClassGetADM( +// appActor ! DefaultObjectAccessPermissionsStringForResourceClassGetADM( // projectIri = SharedTestDataADM.ANYTHING_PROJECT_IRI, // resourceClassIri = "http://www.knora.org/ontology/0001/anything#Thing", // targetUser = SharedTestDataADM.rootUser, @@ -905,7 +905,7 @@ class PermissionsResponderADMSpec // "ask to get the permission by IRI" should { // "not return the permission if requesting user does not have permission to see it" in { // val permissionIri = perm002_a1.iri -// responderManager ! PermissionByIriGetRequestADM( +// appActor ! PermissionByIriGetRequestADM( // permissionIri = perm002_a1.iri, // requestingUser = SharedTestDataADM.imagesUser02 // ) @@ -915,7 +915,7 @@ class PermissionsResponderADMSpec // } // // "return an administrative permission" in { -// responderManager ! PermissionByIriGetRequestADM( +// appActor ! PermissionByIriGetRequestADM( // permissionIri = perm002_a1.iri, // requestingUser = rootUser // ) @@ -923,7 +923,7 @@ class PermissionsResponderADMSpec // } // // "return a default object access permission" in { -// responderManager ! PermissionByIriGetRequestADM( +// appActor ! PermissionByIriGetRequestADM( // permissionIri = perm002_d1.iri, // requestingUser = rootUser // ) @@ -935,7 +935,7 @@ class PermissionsResponderADMSpec // "update group of an administrative permission" in { // val permissionIri = "http://rdfh.ch/permissions/00FF/a2" // val newGroupIri = "http://rdfh.ch/groups/00FF/images-reviewer" -// responderManager ! PermissionChangeGroupRequestADM( +// appActor ! PermissionChangeGroupRequestADM( // permissionIri = permissionIri, // changePermissionGroupRequest = ChangePermissionGroupApiRequestADM( // forGroup = newGroupIri @@ -952,7 +952,7 @@ class PermissionsResponderADMSpec // "throw ForbiddenException for PermissionChangeGroupRequestADM if requesting user is not system or project Admin" in { // val permissionIri = "http://rdfh.ch/permissions/00FF/a2" // val newGroupIri = "http://rdfh.ch/groups/00FF/images-reviewer" -// responderManager ! PermissionChangeGroupRequestADM( +// appActor ! PermissionChangeGroupRequestADM( // permissionIri = permissionIri, // changePermissionGroupRequest = ChangePermissionGroupApiRequestADM( // forGroup = newGroupIri @@ -968,7 +968,7 @@ class PermissionsResponderADMSpec // "update group of a default object access permission" in { // val permissionIri = "http://rdfh.ch/permissions/00FF/d1" // val newGroupIri = "http://rdfh.ch/groups/00FF/images-reviewer" -// responderManager ! PermissionChangeGroupRequestADM( +// appActor ! PermissionChangeGroupRequestADM( // permissionIri = permissionIri, // changePermissionGroupRequest = ChangePermissionGroupApiRequestADM( // forGroup = newGroupIri @@ -986,7 +986,7 @@ class PermissionsResponderADMSpec // "update group of a default object access permission, resource class must be deleted" in { // val permissionIri = "http://rdfh.ch/permissions/0803/003-d2" // val newGroupIri = "http://www.knora.org/ontology/knora-admin#ProjectMember" -// responderManager ! PermissionChangeGroupRequestADM( +// appActor ! PermissionChangeGroupRequestADM( // permissionIri = permissionIri, // changePermissionGroupRequest = ChangePermissionGroupApiRequestADM( // forGroup = newGroupIri @@ -1005,7 +1005,7 @@ class PermissionsResponderADMSpec // "update group of a default object access permission, property must be deleted" in { // val permissionIri = "http://rdfh.ch/permissions/0000/001-d3" // val newGroupIri = "http://www.knora.org/ontology/knora-admin#ProjectMember" -// responderManager ! PermissionChangeGroupRequestADM( +// appActor ! PermissionChangeGroupRequestADM( // permissionIri = permissionIri, // changePermissionGroupRequest = ChangePermissionGroupApiRequestADM( // forGroup = newGroupIri @@ -1027,7 +1027,7 @@ class PermissionsResponderADMSpec // val permissionIri = "http://rdfh.ch/permissions/00FF/a2" // val hasPermissions = Set(PermissionADM.ProjectResourceCreateAllPermission) // -// responderManager ! PermissionChangeHasPermissionsRequestADM( +// appActor ! PermissionChangeHasPermissionsRequestADM( // permissionIri = permissionIri, // changePermissionHasPermissionsRequest = ChangePermissionHasPermissionsApiRequestADM( // hasPermissions = hasPermissions @@ -1044,7 +1044,7 @@ class PermissionsResponderADMSpec // val permissionIri = "http://rdfh.ch/permissions/00FF/a2" // val hasPermissions = Set(PermissionADM.ProjectResourceCreateAllPermission) // -// responderManager ! PermissionChangeHasPermissionsRequestADM( +// appActor ! PermissionChangeHasPermissionsRequestADM( // permissionIri = permissionIri, // changePermissionHasPermissionsRequest = ChangePermissionHasPermissionsApiRequestADM( // hasPermissions = hasPermissions @@ -1068,7 +1068,7 @@ class PermissionsResponderADMSpec permissionCode = Some(1) ) ) - responderManager ! PermissionChangeHasPermissionsRequestADM( + appActor ! PermissionChangeHasPermissionsRequestADM( permissionIri = permissionIri, changePermissionHasPermissionsRequest = ChangePermissionHasPermissionsApiRequestADM( hasPermissions = hasPermissions @@ -1091,7 +1091,7 @@ class PermissionsResponderADMSpec PermissionADM.modifyPermission(OntologyConstants.KnoraAdmin.ProjectMember) ) - responderManager ! PermissionChangeHasPermissionsRequestADM( + appActor ! PermissionChangeHasPermissionsRequestADM( permissionIri = permissionIri, changePermissionHasPermissionsRequest = ChangePermissionHasPermissionsApiRequestADM( hasPermissions = hasPermissions @@ -1125,7 +1125,7 @@ class PermissionsResponderADMSpec ) ) - responderManager ! PermissionChangeHasPermissionsRequestADM( + appActor ! PermissionChangeHasPermissionsRequestADM( permissionIri = permissionIri, changePermissionHasPermissionsRequest = ChangePermissionHasPermissionsApiRequestADM( hasPermissions = hasPermissions @@ -1158,7 +1158,7 @@ class PermissionsResponderADMSpec ) ) - responderManager ! PermissionChangeHasPermissionsRequestADM( + appActor ! PermissionChangeHasPermissionsRequestADM( permissionIri = permissionIri, changePermissionHasPermissionsRequest = ChangePermissionHasPermissionsApiRequestADM( hasPermissions = hasPermissions @@ -1185,7 +1185,7 @@ class PermissionsResponderADMSpec ) ) - responderManager ! PermissionChangeHasPermissionsRequestADM( + appActor ! PermissionChangeHasPermissionsRequestADM( permissionIri = permissionIri, changePermissionHasPermissionsRequest = ChangePermissionHasPermissionsApiRequestADM( hasPermissions = hasPermissions @@ -1210,7 +1210,7 @@ class PermissionsResponderADMSpec ) ) - responderManager ! PermissionChangeHasPermissionsRequestADM( + appActor ! PermissionChangeHasPermissionsRequestADM( permissionIri = permissionIri, changePermissionHasPermissionsRequest = ChangePermissionHasPermissionsApiRequestADM( hasPermissions = hasPermissions @@ -1240,7 +1240,7 @@ class PermissionsResponderADMSpec ) ) - responderManager ! PermissionChangeHasPermissionsRequestADM( + appActor ! PermissionChangeHasPermissionsRequestADM( permissionIri = permissionIri, changePermissionHasPermissionsRequest = ChangePermissionHasPermissionsApiRequestADM( hasPermissions = hasPermissions @@ -1269,7 +1269,7 @@ class PermissionsResponderADMSpec ) ) - responderManager ! PermissionChangeHasPermissionsRequestADM( + appActor ! PermissionChangeHasPermissionsRequestADM( permissionIri = permissionIri, changePermissionHasPermissionsRequest = ChangePermissionHasPermissionsApiRequestADM( hasPermissions = hasPermissions @@ -1292,7 +1292,7 @@ class PermissionsResponderADMSpec val permissionIri = "http://rdfh.ch/permissions/0803/003-d2" val resourceClassIri = SharedOntologyTestDataADM.INCUNABULA_PAGE_RESOURCE_CLASS - responderManager ! PermissionChangeResourceClassRequestADM( + appActor ! PermissionChangeResourceClassRequestADM( permissionIri = permissionIri, changePermissionResourceClassRequest = ChangePermissionResourceClassApiRequestADM( forResourceClass = resourceClassIri @@ -1312,7 +1312,7 @@ class PermissionsResponderADMSpec val permissionIri = "http://rdfh.ch/permissions/0803/003-d2" val resourceClassIri = SharedOntologyTestDataADM.INCUNABULA_PAGE_RESOURCE_CLASS - responderManager ! PermissionChangeResourceClassRequestADM( + appActor ! PermissionChangeResourceClassRequestADM( permissionIri = permissionIri, changePermissionResourceClassRequest = ChangePermissionResourceClassApiRequestADM( forResourceClass = resourceClassIri @@ -1331,7 +1331,7 @@ class PermissionsResponderADMSpec val permissionIri = "http://rdfh.ch/permissions/0803/003-d1" val resourceClassIri = SharedOntologyTestDataADM.INCUNABULA_BOOK_RESOURCE_CLASS - responderManager ! PermissionChangeResourceClassRequestADM( + appActor ! PermissionChangeResourceClassRequestADM( permissionIri = permissionIri, changePermissionResourceClassRequest = ChangePermissionResourceClassApiRequestADM( forResourceClass = resourceClassIri @@ -1351,7 +1351,7 @@ class PermissionsResponderADMSpec val permissionIri = "http://rdfh.ch/permissions/0803/003-a2" val resourceClassIri = SharedOntologyTestDataADM.INCUNABULA_BOOK_RESOURCE_CLASS - responderManager ! PermissionChangeResourceClassRequestADM( + appActor ! PermissionChangeResourceClassRequestADM( permissionIri = permissionIri, changePermissionResourceClassRequest = ChangePermissionResourceClassApiRequestADM( forResourceClass = resourceClassIri @@ -1374,7 +1374,7 @@ class PermissionsResponderADMSpec val permissionIri = "http://rdfh.ch/permissions/0803/003-a2" val propertyIri = SharedOntologyTestDataADM.IMAGES_TITEL_PROPERTY - responderManager ! PermissionChangePropertyRequestADM( + appActor ! PermissionChangePropertyRequestADM( permissionIri = permissionIri, changePermissionPropertyRequest = ChangePermissionPropertyApiRequestADM( forProperty = propertyIri @@ -1395,7 +1395,7 @@ class PermissionsResponderADMSpec val permissionIri = "http://rdfh.ch/permissions/0000/001-d3" val propertyIri = OntologyConstants.KnoraBase.TextFileValue - responderManager ! PermissionChangePropertyRequestADM( + appActor ! PermissionChangePropertyRequestADM( permissionIri = permissionIri, changePermissionPropertyRequest = ChangePermissionPropertyApiRequestADM( forProperty = propertyIri @@ -1415,7 +1415,7 @@ class PermissionsResponderADMSpec val permissionIri = "http://rdfh.ch/permissions/0000/001-d3" val propertyIri = OntologyConstants.KnoraBase.TextFileValue - responderManager ! PermissionChangePropertyRequestADM( + appActor ! PermissionChangePropertyRequestADM( permissionIri = permissionIri, changePermissionPropertyRequest = ChangePermissionPropertyApiRequestADM( forProperty = propertyIri @@ -1434,7 +1434,7 @@ class PermissionsResponderADMSpec val permissionIri = "http://rdfh.ch/permissions/00FF/d1" val propertyIri = SharedOntologyTestDataADM.IMAGES_TITEL_PROPERTY - responderManager ! PermissionChangePropertyRequestADM( + appActor ! PermissionChangePropertyRequestADM( permissionIri = permissionIri, changePermissionPropertyRequest = ChangePermissionPropertyApiRequestADM( forProperty = propertyIri @@ -1454,7 +1454,7 @@ class PermissionsResponderADMSpec "ask to delete a permission" should { "throw BadRequestException if given IRI is not a permission IRI" in { val permissionIri = "http://rdfh.ch/permissions/00FF/d1kjhfkj" - responderManager ! PermissionDeleteRequestADM( + appActor ! PermissionDeleteRequestADM( permissionIri = permissionIri, requestingUser = rootUser, apiRequestID = UUID.randomUUID() @@ -1464,7 +1464,7 @@ class PermissionsResponderADMSpec "throw ForbiddenException if user requesting PermissionDeleteResponseADM is not a system or project admin" in { val permissionIri = "http://rdfh.ch/permissions/00FF/d1" - responderManager ! PermissionDeleteRequestADM( + appActor ! PermissionDeleteRequestADM( permissionIri = permissionIri, requestingUser = SharedTestDataADM.imagesUser02, apiRequestID = UUID.randomUUID() @@ -1480,7 +1480,7 @@ class PermissionsResponderADMSpec "erase a permission with given IRI" in { val permissionIri = "http://rdfh.ch/permissions/00FF/d1" - responderManager ! PermissionDeleteRequestADM( + appActor ! PermissionDeleteRequestADM( permissionIri = permissionIri, requestingUser = rootUser, apiRequestID = UUID.randomUUID() diff --git a/webapi/src/test/scala/org/knora/webapi/responders/admin/ProjectsResponderADMSpec.scala b/webapi/src/test/scala/org/knora/webapi/responders/admin/ProjectsResponderADMSpec.scala index 2a789ccdd8..8af904ecb1 100644 --- a/webapi/src/test/scala/org/knora/webapi/responders/admin/ProjectsResponderADMSpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/responders/admin/ProjectsResponderADMSpec.scala @@ -53,7 +53,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) "The ProjectsResponderADM" when { "used to query for project information" should { "return information for every project" in { - responderManager ! ProjectsGetRequestADM( + appActor ! ProjectsGetRequestADM( featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = rootUser ) @@ -65,7 +65,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) "return information about a project identified by IRI" in { /* Incunabula project */ - responderManager ! ProjectGetRequestADM( + appActor ! ProjectGetRequestADM( identifier = ProjectIdentifierADM(maybeIri = Some(SharedTestDataADM.incunabulaProject.id)), featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser @@ -73,7 +73,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) expectMsg(ProjectGetResponseADM(SharedTestDataADM.incunabulaProject)) /* Images project */ - responderManager ! ProjectGetRequestADM( + appActor ! ProjectGetRequestADM( identifier = ProjectIdentifierADM(maybeIri = Some(SharedTestDataADM.imagesProject.id)), featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser @@ -81,7 +81,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) expectMsg(ProjectGetResponseADM(SharedTestDataADM.imagesProject)) /* 'SystemProject' */ - responderManager ! ProjectGetRequestADM( + appActor ! ProjectGetRequestADM( identifier = ProjectIdentifierADM(maybeIri = Some(SharedTestDataADM.systemProject.id)), featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser @@ -91,7 +91,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "return information about a project identified by shortname" in { - responderManager ! ProjectGetRequestADM( + appActor ! ProjectGetRequestADM( identifier = ProjectIdentifierADM(maybeShortname = Some(SharedTestDataADM.incunabulaProject.shortname)), featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser @@ -100,7 +100,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "return 'NotFoundException' when the project IRI is unknown" in { - responderManager ! ProjectGetRequestADM( + appActor ! ProjectGetRequestADM( identifier = ProjectIdentifierADM(maybeIri = Some("http://rdfh.ch/projects/notexisting")), featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser @@ -110,7 +110,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "return 'NotFoundException' when the project shortname is unknown " in { - responderManager ! ProjectGetRequestADM( + appActor ! ProjectGetRequestADM( identifier = ProjectIdentifierADM(maybeShortname = Some("wrongshortname")), featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser @@ -119,7 +119,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "return 'NotFoundException' when the project shortcode is unknown " in { - responderManager ! ProjectGetRequestADM( + appActor ! ProjectGetRequestADM( identifier = ProjectIdentifierADM(maybeShortcode = Some("9999")), featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser @@ -132,7 +132,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) val expectedResult = ProjectRestrictedViewSettingsADM(size = Some("!512,512"), watermark = Some("path_to_image")) "return restricted view settings using project IRI" in { - responderManager ! ProjectRestrictedViewSettingsGetADM( + appActor ! ProjectRestrictedViewSettingsGetADM( identifier = ProjectIdentifierADM(maybeIri = Some(SharedTestDataADM.imagesProject.id)), featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser @@ -141,7 +141,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "return restricted view settings using project SHORTNAME" in { - responderManager ! ProjectRestrictedViewSettingsGetADM( + appActor ! ProjectRestrictedViewSettingsGetADM( identifier = ProjectIdentifierADM(maybeShortname = Some(SharedTestDataADM.imagesProject.shortname)), featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser @@ -150,7 +150,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "return restricted view settings using project SHORTCODE" in { - responderManager ! ProjectRestrictedViewSettingsGetADM( + appActor ! ProjectRestrictedViewSettingsGetADM( identifier = ProjectIdentifierADM(maybeShortcode = Some(SharedTestDataADM.imagesProject.shortcode)), featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser @@ -159,7 +159,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "return 'NotFoundException' when the project IRI is unknown" in { - responderManager ! ProjectRestrictedViewSettingsGetRequestADM( + appActor ! ProjectRestrictedViewSettingsGetRequestADM( identifier = ProjectIdentifierADM(maybeIri = Some("http://rdfh.ch/projects/notexisting")), featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser @@ -168,7 +168,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "return 'NotFoundException' when the project SHORTCODE is unknown" in { - responderManager ! ProjectRestrictedViewSettingsGetRequestADM( + appActor ! ProjectRestrictedViewSettingsGetRequestADM( identifier = ProjectIdentifierADM(maybeShortcode = Some("9999")), featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser @@ -177,7 +177,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "return 'NotFoundException' when the project SHORTNAME is unknown" in { - responderManager ! ProjectRestrictedViewSettingsGetRequestADM( + appActor ! ProjectRestrictedViewSettingsGetRequestADM( identifier = ProjectIdentifierADM(maybeShortname = Some("wrongshortname")), featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser @@ -192,7 +192,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) "CREATE a project and return the project info if the supplied shortname is unique" in { val shortCode = "111c" - responderManager ! ProjectCreateRequestADM( + appActor ! ProjectCreateRequestADM( createRequest = ProjectCreatePayloadADM( shortname = Shortname.make("newproject").fold(error => throw error.head, value => value), shortcode = Shortcode.make(shortCode).fold(error => throw error.head, value => value), // lower case @@ -221,7 +221,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) newProjectIri.set(received.project.id) // Check Administrative Permissions - responderManager ! AdministrativePermissionsForProjectGetRequestADM( + appActor ! AdministrativePermissionsForProjectGetRequestADM( projectIri = received.project.id, requestingUser = rootUser, apiRequestID = UUID.randomUUID() @@ -246,7 +246,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) hasAPForProjectMember.size shouldBe 1 // Check Default Object Access permissions - responderManager ! DefaultObjectAccessPermissionsForProjectGetRequestADM( + appActor ! DefaultObjectAccessPermissionsForProjectGetRequestADM( projectIri = received.project.id, requestingUser = rootUser, apiRequestID = UUID.randomUUID() @@ -286,7 +286,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "CREATE a project and return the project info if the supplied shortname and shortcode is unique" in { - responderManager ! ProjectCreateRequestADM( + appActor ! ProjectCreateRequestADM( createRequest = ProjectCreatePayloadADM( shortname = Shortname.make("newproject2").fold(error => throw error.head, value => value), shortcode = Shortcode.make("1112").fold(error => throw error.head, value => value), // lower case @@ -319,7 +319,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) val longnameWithSpecialCharacter = "New \\\"Longname\\\"" val descriptionWithSpecialCharacter = "project \\\"description\\\"" val keywordWithSpecialCharacter = "new \\\"keyword\\\"" - responderManager ! ProjectCreateRequestADM( + appActor ! ProjectCreateRequestADM( createRequest = ProjectCreatePayloadADM( shortname = Shortname.make("project_with_character").fold(error => throw error.head, value => value), shortcode = Shortcode.make("1312").fold(error => throw error.head, value => value), // lower case @@ -353,7 +353,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "return a 'DuplicateValueException' during creation if the supplied project shortname is not unique" in { - responderManager ! ProjectCreateRequestADM( + appActor ! ProjectCreateRequestADM( createRequest = ProjectCreatePayloadADM( shortname = Shortname.make("newproject").fold(error => throw error.head, value => value), shortcode = Shortcode.make("111C").fold(error => throw error.head, value => value), // lower case @@ -374,7 +374,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "return a 'DuplicateValueException' during creation if the supplied project shortname is unique but the shortcode is not" in { - responderManager ! ProjectCreateRequestADM( + appActor ! ProjectCreateRequestADM( createRequest = ProjectCreatePayloadADM( shortname = Shortname.make("newproject3").fold(error => throw error.head, value => value), shortcode = Shortcode.make("111C").fold(error => throw error.head, value => value), // lower case @@ -395,7 +395,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "UPDATE a project" in { - responderManager ! ProjectChangeRequestADM( + appActor ! ProjectChangeRequestADM( projectIri = newProjectIri.get, changeProjectRequest = ChangeProjectApiRequestADM( shortname = None, @@ -436,7 +436,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "return 'NotFound' if a not existing project IRI is submitted during update" in { - responderManager ! ProjectChangeRequestADM( + appActor ! ProjectChangeRequestADM( projectIri = "http://rdfh.ch/projects/notexisting", changeProjectRequest = ChangeProjectApiRequestADM(longname = Some("new long name")).validateAndEscape, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -497,7 +497,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) "used to query members" should { "return all members of a project identified by IRI" in { - responderManager ! ProjectMembersGetRequestADM( + appActor ! ProjectMembersGetRequestADM( ProjectIdentifierADM(maybeIri = Some(SharedTestDataADM.imagesProject.id)), featureFactoryConfig = defaultFeatureFactoryConfig, SharedTestDataADM.rootUser @@ -516,7 +516,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "return all members of a project identified by shortname" in { - responderManager ! ProjectMembersGetRequestADM( + appActor ! ProjectMembersGetRequestADM( ProjectIdentifierADM(maybeShortname = Some(SharedTestDataADM.imagesProject.shortname)), featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser @@ -535,7 +535,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "return all members of a project identified by shortcode" in { - responderManager ! ProjectMembersGetRequestADM( + appActor ! ProjectMembersGetRequestADM( ProjectIdentifierADM(maybeShortcode = Some(SharedTestDataADM.imagesProject.shortcode)), featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser @@ -554,7 +554,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "return 'NotFound' when the project IRI is unknown (project membership)" in { - responderManager ! ProjectMembersGetRequestADM( + appActor ! ProjectMembersGetRequestADM( ProjectIdentifierADM(maybeIri = Some("http://rdfh.ch/projects/notexisting")), featureFactoryConfig = defaultFeatureFactoryConfig, SharedTestDataADM.rootUser @@ -563,7 +563,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "return 'NotFound' when the project shortname is unknown (project membership)" in { - responderManager ! ProjectMembersGetRequestADM( + appActor ! ProjectMembersGetRequestADM( ProjectIdentifierADM(maybeShortname = Some("wrongshortname")), featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser @@ -572,7 +572,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "return 'NotFound' when the project shortcode is unknown (project membership)" in { - responderManager ! ProjectMembersGetRequestADM( + appActor ! ProjectMembersGetRequestADM( ProjectIdentifierADM(maybeShortcode = Some("9999")), featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser @@ -581,7 +581,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "return all project admin members of a project identified by IRI" in { - responderManager ! ProjectAdminMembersGetRequestADM( + appActor ! ProjectAdminMembersGetRequestADM( ProjectIdentifierADM(maybeIri = Some(SharedTestDataADM.imagesProject.id)), featureFactoryConfig = defaultFeatureFactoryConfig, SharedTestDataADM.rootUser @@ -598,7 +598,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "return all project admin members of a project identified by shortname" in { - responderManager ! ProjectAdminMembersGetRequestADM( + appActor ! ProjectAdminMembersGetRequestADM( ProjectIdentifierADM(maybeShortname = Some(SharedTestDataADM.imagesProject.shortname)), featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser @@ -615,7 +615,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "return all project admin members of a project identified by shortcode" in { - responderManager ! ProjectAdminMembersGetRequestADM( + appActor ! ProjectAdminMembersGetRequestADM( ProjectIdentifierADM(maybeShortcode = Some(SharedTestDataADM.imagesProject.shortcode)), featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser @@ -632,7 +632,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "return 'NotFound' when the project IRI is unknown (project admin membership)" in { - responderManager ! ProjectAdminMembersGetRequestADM( + appActor ! ProjectAdminMembersGetRequestADM( ProjectIdentifierADM(maybeIri = Some("http://rdfh.ch/projects/notexisting")), featureFactoryConfig = defaultFeatureFactoryConfig, SharedTestDataADM.rootUser @@ -641,7 +641,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "return 'NotFound' when the project shortname is unknown (project admin membership)" in { - responderManager ! ProjectAdminMembersGetRequestADM( + appActor ! ProjectAdminMembersGetRequestADM( ProjectIdentifierADM(maybeShortname = Some("wrongshortname")), featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser @@ -650,7 +650,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "return 'NotFound' when the project shortcode is unknown (project admin membership)" in { - responderManager ! ProjectAdminMembersGetRequestADM( + appActor ! ProjectAdminMembersGetRequestADM( ProjectIdentifierADM(maybeShortcode = Some("9999")), featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser @@ -662,7 +662,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) "used to query keywords" should { "return all unique keywords for all projects" in { - responderManager ! ProjectsKeywordsGetRequestADM( + appActor ! ProjectsKeywordsGetRequestADM( featureFactoryConfig = defaultFeatureFactoryConfig, SharedTestDataADM.rootUser ) @@ -671,7 +671,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "return all keywords for a single project" in { - responderManager ! ProjectKeywordsGetRequestADM( + appActor ! ProjectKeywordsGetRequestADM( projectIri = SharedTestDataADM.incunabulaProject.id, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser @@ -681,7 +681,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "return empty list for a project without keywords" in { - responderManager ! ProjectKeywordsGetRequestADM( + appActor ! ProjectKeywordsGetRequestADM( projectIri = SharedTestDataADM.dokubibProject.id, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser @@ -691,7 +691,7 @@ class ProjectsResponderADMSpec extends CoreSpec(ProjectsResponderADMSpec.config) } "return 'NotFound' when the project IRI is unknown" in { - responderManager ! ProjectKeywordsGetRequestADM( + appActor ! ProjectKeywordsGetRequestADM( projectIri = "http://rdfh.ch/projects/notexisting", featureFactoryConfig = defaultFeatureFactoryConfig, SharedTestDataADM.rootUser diff --git a/webapi/src/test/scala/org/knora/webapi/responders/admin/SipiResponderADMSpec.scala b/webapi/src/test/scala/org/knora/webapi/responders/admin/SipiResponderADMSpec.scala index 05966dddc5..b4c46e9e18 100644 --- a/webapi/src/test/scala/org/knora/webapi/responders/admin/SipiResponderADMSpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/responders/admin/SipiResponderADMSpec.scala @@ -38,7 +38,7 @@ class SipiResponderADMSpec extends CoreSpec(SipiResponderADMSpec.config) with Im "The Sipi responder" should { "return details of a full quality file value" in { // http://localhost:3333/v1/files/http%3A%2F%2Frdfh.ch%2F8a0b1e75%2Freps%2F7e4ba672 - responderManager ! SipiFileInfoGetRequestADM( + appActor ! SipiFileInfoGetRequestADM( projectID = "0803", filename = "incunabula_0000003328.jp2", featureFactoryConfig = defaultFeatureFactoryConfig, @@ -50,7 +50,7 @@ class SipiResponderADMSpec extends CoreSpec(SipiResponderADMSpec.config) with Im "return details of a restricted view file value" in { // http://localhost:3333/v1/files/http%3A%2F%2Frdfh.ch%2F8a0b1e75%2Freps%2F7e4ba672 - responderManager ! SipiFileInfoGetRequestADM( + appActor ! SipiFileInfoGetRequestADM( projectID = "0803", filename = "incunabula_0000003328.jp2", featureFactoryConfig = defaultFeatureFactoryConfig, diff --git a/webapi/src/test/scala/org/knora/webapi/responders/admin/UsersResponderADMSpec.scala b/webapi/src/test/scala/org/knora/webapi/responders/admin/UsersResponderADMSpec.scala index 1bbbcb8d12..ac7355b223 100644 --- a/webapi/src/test/scala/org/knora/webapi/responders/admin/UsersResponderADMSpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/responders/admin/UsersResponderADMSpec.scala @@ -58,7 +58,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with "The UsersResponder " when { "asked about all users" should { "return a list if asked by SystemAdmin" in { - responderManager ! UsersGetRequestADM( + appActor ! UsersGetRequestADM( featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = rootUser ) @@ -68,7 +68,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with } "return a list if asked by ProjectAdmin" in { - responderManager ! UsersGetRequestADM( + appActor ! UsersGetRequestADM( featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = anythingAdminUser ) @@ -78,7 +78,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with } "return 'ForbiddenException' if asked by normal user'" in { - responderManager ! UsersGetRequestADM( + appActor ! UsersGetRequestADM( featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = normalUser ) @@ -86,7 +86,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with } "not return the system and anonymous users" in { - responderManager ! UsersGetRequestADM( + appActor ! UsersGetRequestADM( featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = rootUser ) @@ -100,7 +100,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with "asked about an user identified by 'iri' " should { "return a profile if the user (root user) is known" in { - responderManager ! UserGetADM( + appActor ! UserGetADM( identifier = UserIdentifierADM(maybeIri = Some(rootUser.id)), userInformationTypeADM = UserInformationTypeADM.Full, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -110,7 +110,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with } "return a profile if the user (incunabula user) is known" in { - responderManager ! UserGetADM( + appActor ! UserGetADM( identifier = UserIdentifierADM(maybeIri = Some(incunabulaUser.id)), userInformationTypeADM = UserInformationTypeADM.Full, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -120,7 +120,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with } "return 'NotFoundException' when the user is unknown" in { - responderManager ! UserGetRequestADM( + appActor ! UserGetRequestADM( identifier = UserIdentifierADM(maybeIri = Some("http://rdfh.ch/users/notexisting")), userInformationTypeADM = UserInformationTypeADM.Full, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -130,7 +130,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with } "return 'None' when the user is unknown" in { - responderManager ! UserGetADM( + appActor ! UserGetADM( identifier = UserIdentifierADM(maybeIri = Some("http://rdfh.ch/users/notexisting")), userInformationTypeADM = UserInformationTypeADM.Full, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -142,7 +142,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with "asked about an user identified by 'email'" should { "return a profile if the user (root user) is known" in { - responderManager ! UserGetADM( + appActor ! UserGetADM( identifier = UserIdentifierADM(maybeEmail = Some(rootUser.email)), userInformationTypeADM = UserInformationTypeADM.Full, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -152,7 +152,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with } "return a profile if the user (incunabula user) is known" in { - responderManager ! UserGetADM( + appActor ! UserGetADM( identifier = UserIdentifierADM(maybeEmail = Some(incunabulaUser.email)), userInformationTypeADM = UserInformationTypeADM.Full, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -162,7 +162,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with } "return 'NotFoundException' when the user is unknown" in { - responderManager ! UserGetRequestADM( + appActor ! UserGetRequestADM( identifier = UserIdentifierADM(maybeEmail = Some("userwrong@example.com")), userInformationTypeADM = UserInformationTypeADM.Full, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -172,7 +172,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with } "return 'None' when the user is unknown" in { - responderManager ! UserGetADM( + appActor ! UserGetADM( identifier = UserIdentifierADM(maybeEmail = Some("userwrong@example.com")), userInformationTypeADM = UserInformationTypeADM.Full, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -184,7 +184,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with "asked about an user identified by 'username'" should { "return a profile if the user (root user) is known" in { - responderManager ! UserGetADM( + appActor ! UserGetADM( identifier = UserIdentifierADM(maybeUsername = Some(rootUser.username)), userInformationTypeADM = UserInformationTypeADM.Full, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -194,7 +194,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with } "return a profile if the user (incunabula user) is known" in { - responderManager ! UserGetADM( + appActor ! UserGetADM( identifier = UserIdentifierADM(maybeUsername = Some(incunabulaUser.username)), userInformationTypeADM = UserInformationTypeADM.Full, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -204,7 +204,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with } "return 'NotFoundException' when the user is unknown" in { - responderManager ! UserGetRequestADM( + appActor ! UserGetRequestADM( identifier = UserIdentifierADM(maybeUsername = Some("userwrong")), userInformationTypeADM = UserInformationTypeADM.Full, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -214,7 +214,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with } "return 'None' when the user is unknown" in { - responderManager ! UserGetADM( + appActor ! UserGetADM( identifier = UserIdentifierADM(maybeUsername = Some("userwrong")), userInformationTypeADM = UserInformationTypeADM.Full, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -226,7 +226,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with "asked to create a new user" should { "CREATE the user and return it's profile if the supplied email is unique " in { - responderManager ! UserCreateRequestADM( + appActor ! UserCreateRequestADM( userCreatePayloadADM = UserCreatePayloadADM( username = Username.make("donald.duck").fold(e => throw e.head, v => v), email = Email.make("donald.duck@example.com").fold(e => throw e.head, v => v), @@ -251,7 +251,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with } "return a 'DuplicateValueException' if the supplied 'username' is not unique" in { - responderManager ! UserCreateRequestADM( + appActor ! UserCreateRequestADM( userCreatePayloadADM = UserCreatePayloadADM( username = Username.make("root").fold(e => throw e.head, v => v), email = Email.make("root2@example.com").fold(e => throw e.head, v => v), @@ -270,7 +270,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with } "return a 'DuplicateValueException' if the supplied 'email' is not unique" in { - responderManager ! UserCreateRequestADM( + appActor ! UserCreateRequestADM( userCreatePayloadADM = UserCreatePayloadADM( username = Username.make("root2").fold(e => throw e.head, v => v), email = Email.make("root@example.com").fold(e => throw e.head, v => v), @@ -292,7 +292,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with "asked to update a user" should { "UPDATE the user's basic information" in { /* User information is updated by the user */ - responderManager ! UserChangeBasicInformationRequestADM( + appActor ! UserChangeBasicInformationRequestADM( userIri = SharedTestDataADM.normalUser.id, userUpdateBasicInformationPayload = UserUpdateBasicInformationPayloadADM( givenName = Some(GivenName.make("Donald").fold(e => throw e.head, v => v)) @@ -306,7 +306,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with response1.user.givenName should equal("Donald") /* User information is updated by a system admin */ - responderManager ! UserChangeBasicInformationRequestADM( + appActor ! UserChangeBasicInformationRequestADM( userIri = SharedTestDataADM.normalUser.id, userUpdateBasicInformationPayload = UserUpdateBasicInformationPayloadADM( familyName = Some(FamilyName.make("Duck").fold(e => throw e.head, v => v)) @@ -320,7 +320,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with response2.user.familyName should equal("Duck") /* User information is updated by a system admin */ - responderManager ! UserChangeBasicInformationRequestADM( + appActor ! UserChangeBasicInformationRequestADM( userIri = SharedTestDataADM.normalUser.id, userUpdateBasicInformationPayload = UserUpdateBasicInformationPayloadADM( givenName = Some(GivenName.make(SharedTestDataADM.normalUser.givenName).fold(e => throw e.head, v => v)), @@ -339,7 +339,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with "return a 'DuplicateValueException' if the supplied 'username' is not unique" in { val duplicateUsername = Some(Username.make(SharedTestDataADM.anythingUser1.username).fold(e => throw e.head, v => v)) - responderManager ! UserChangeBasicInformationRequestADM( + appActor ! UserChangeBasicInformationRequestADM( userIri = SharedTestDataADM.normalUser.id, userUpdateBasicInformationPayload = UserUpdateBasicInformationPayloadADM( username = duplicateUsername @@ -359,7 +359,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with "return a 'DuplicateValueException' if the supplied 'email' is not unique" in { val duplicateEmail = Some(Email.make(SharedTestDataADM.anythingUser1.email).fold(e => throw e.head, v => v)) - responderManager ! UserChangeBasicInformationRequestADM( + appActor ! UserChangeBasicInformationRequestADM( userIri = SharedTestDataADM.normalUser.id, userUpdateBasicInformationPayload = UserUpdateBasicInformationPayloadADM( email = duplicateEmail @@ -378,7 +378,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with "UPDATE the user's password (by himself)" in { val requesterPassword = Password.make("test").fold(e => throw e.head, v => v) val newPassword = Password.make("test123456").fold(e => throw e.head, v => v) - responderManager ! UserChangePasswordRequestADM( + appActor ! UserChangePasswordRequestADM( userIri = SharedTestDataADM.normalUser.id, userUpdatePasswordPayload = UserUpdatePasswordPayloadADM( requesterPassword = requesterPassword, @@ -396,7 +396,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with credentials = Some(KnoraPasswordCredentialsV2(UserIdentifierADM(maybeEmail = Some(normalUser.email)), "test123456")), featureFactoryConfig = defaultFeatureFactoryConfig - )(system, responderManager, executionContext) + )(system, appActor, executionContext) resF map { res => assert(res) @@ -407,7 +407,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with val requesterPassword = Password.make("test").fold(e => throw e.head, v => v) val newPassword = Password.make("test654321").fold(e => throw e.head, v => v) - responderManager ! UserChangePasswordRequestADM( + appActor ! UserChangePasswordRequestADM( userIri = SharedTestDataADM.normalUser.id, userUpdatePasswordPayload = UserUpdatePasswordPayloadADM( requesterPassword = requesterPassword, @@ -425,7 +425,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with credentials = Some(KnoraPasswordCredentialsV2(UserIdentifierADM(maybeEmail = Some(normalUser.email)), "test654321")), featureFactoryConfig = defaultFeatureFactoryConfig - )(system, responderManager, executionContext) + )(system, appActor, executionContext) resF map { res => assert(res) @@ -433,7 +433,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with } "UPDATE the user's status, (deleting) making him inactive " in { - responderManager ! UserChangeStatusRequestADM( + appActor ! UserChangeStatusRequestADM( userIri = SharedTestDataADM.normalUser.id, status = UserStatus.make(false).fold(error => throw error.head, value => value), featureFactoryConfig = defaultFeatureFactoryConfig, @@ -444,7 +444,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with val response1 = expectMsgType[UserOperationResponseADM](timeout) response1.user.status should equal(false) - responderManager ! UserChangeStatusRequestADM( + appActor ! UserChangeStatusRequestADM( userIri = SharedTestDataADM.normalUser.id, status = UserStatus.make(true).fold(error => throw error.head, value => value), featureFactoryConfig = defaultFeatureFactoryConfig, @@ -457,7 +457,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with } "UPDATE the user's system admin membership" in { - responderManager ! UserChangeSystemAdminMembershipStatusRequestADM( + appActor ! UserChangeSystemAdminMembershipStatusRequestADM( userIri = SharedTestDataADM.normalUser.id, systemAdmin = SystemAdmin.make(true).fold(e => throw e.head, v => v), featureFactoryConfig = defaultFeatureFactoryConfig, @@ -468,7 +468,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with val response1 = expectMsgType[UserOperationResponseADM](timeout) response1.user.isSystemAdmin should equal(true) - responderManager ! UserChangeSystemAdminMembershipStatusRequestADM( + appActor ! UserChangeSystemAdminMembershipStatusRequestADM( userIri = SharedTestDataADM.normalUser.id, systemAdmin = SystemAdmin.make(false).fold(e => throw e.head, v => v), featureFactoryConfig = defaultFeatureFactoryConfig, @@ -482,7 +482,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with "return a 'ForbiddenException' if the user requesting update is not the user itself or system admin" in { /* User information is updated by other normal user */ - responderManager ! UserChangeBasicInformationRequestADM( + appActor ! UserChangeBasicInformationRequestADM( userIri = SharedTestDataADM.superUser.id, userUpdateBasicInformationPayload = UserUpdateBasicInformationPayloadADM( email = None, @@ -502,7 +502,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with ) /* Password is updated by other normal user */ - responderManager ! UserChangePasswordRequestADM( + appActor ! UserChangePasswordRequestADM( userIri = SharedTestDataADM.superUser.id, userUpdatePasswordPayload = UserUpdatePasswordPayloadADM( requesterPassword = Password.make("test").fold(e => throw e.head, v => v), @@ -520,7 +520,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with ) /* Status is updated by other normal user */ - responderManager ! UserChangeStatusRequestADM( + appActor ! UserChangeStatusRequestADM( userIri = SharedTestDataADM.superUser.id, status = UserStatus.make(false).fold(error => throw error.head, value => value), featureFactoryConfig = defaultFeatureFactoryConfig, @@ -533,7 +533,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with ) /* System admin group membership */ - responderManager ! UserChangeSystemAdminMembershipStatusRequestADM( + appActor ! UserChangeSystemAdminMembershipStatusRequestADM( userIri = SharedTestDataADM.normalUser.id, systemAdmin = SystemAdmin.make(true).fold(e => throw e.head, v => v), featureFactoryConfig = defaultFeatureFactoryConfig, @@ -547,7 +547,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with } "return 'BadRequest' if system user is requested to change" in { - responderManager ! UserChangeStatusRequestADM( + appActor ! UserChangeStatusRequestADM( userIri = KnoraSystemInstances.Users.SystemUser.id, status = UserStatus.make(false).fold(error => throw error.head, value => value), featureFactoryConfig = defaultFeatureFactoryConfig, @@ -559,7 +559,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with } "return 'BadRequest' if anonymous user is requested to change" in { - responderManager ! UserChangeStatusRequestADM( + appActor ! UserChangeStatusRequestADM( userIri = KnoraSystemInstances.Users.AnonymousUser.id, status = UserStatus.make(false).fold(error => throw error.head, value => value), featureFactoryConfig = defaultFeatureFactoryConfig, @@ -575,12 +575,12 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with "ADD user to project" in { // get current project memberships - responderManager ! UserProjectMembershipsGetRequestADM(normalUser.id, defaultFeatureFactoryConfig, rootUser) + appActor ! UserProjectMembershipsGetRequestADM(normalUser.id, defaultFeatureFactoryConfig, rootUser) val membershipsBeforeUpdate = expectMsgType[UserProjectMembershipsGetResponseADM](timeout) membershipsBeforeUpdate.projects should equal(Seq()) // add user to images project (00FF) - responderManager ! UserProjectMembershipAddRequestADM( + appActor ! UserProjectMembershipAddRequestADM( normalUser.id, imagesProject.id, defaultFeatureFactoryConfig, @@ -589,11 +589,11 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with ) val membershipUpdateResponse = expectMsgType[UserOperationResponseADM](timeout) - responderManager ! UserProjectMembershipsGetRequestADM(normalUser.id, defaultFeatureFactoryConfig, rootUser) + appActor ! UserProjectMembershipsGetRequestADM(normalUser.id, defaultFeatureFactoryConfig, rootUser) val membershipsAfterUpdate = expectMsgType[UserProjectMembershipsGetResponseADM](timeout) membershipsAfterUpdate.projects should equal(Seq(imagesProject)) - responderManager ! ProjectMembersGetRequestADM( + appActor ! ProjectMembersGetRequestADM( ProjectIdentifierADM(maybeIri = Some(imagesProject.id)), featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = KnoraSystemInstances.Users.SystemUser @@ -604,11 +604,11 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with } "DELETE user from project" in { - responderManager ! UserProjectMembershipsGetRequestADM(normalUser.id, defaultFeatureFactoryConfig, rootUser) + appActor ! UserProjectMembershipsGetRequestADM(normalUser.id, defaultFeatureFactoryConfig, rootUser) val membershipsBeforeUpdate = expectMsgType[UserProjectMembershipsGetResponseADM](timeout) membershipsBeforeUpdate.projects should equal(Seq(imagesProject)) - responderManager ! UserProjectMembershipRemoveRequestADM( + appActor ! UserProjectMembershipRemoveRequestADM( normalUser.id, imagesProject.id, defaultFeatureFactoryConfig, @@ -617,11 +617,11 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with ) expectMsgType[UserOperationResponseADM](timeout) - responderManager ! UserProjectMembershipsGetRequestADM(normalUser.id, defaultFeatureFactoryConfig, rootUser) + appActor ! UserProjectMembershipsGetRequestADM(normalUser.id, defaultFeatureFactoryConfig, rootUser) val membershipsAfterUpdate = expectMsgType[UserProjectMembershipsGetResponseADM](timeout) membershipsAfterUpdate.projects should equal(Seq()) - responderManager ! ProjectMembersGetRequestADM( + appActor ! ProjectMembersGetRequestADM( ProjectIdentifierADM(maybeIri = Some(imagesProject.id)), featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = rootUser @@ -633,7 +633,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with "return a 'ForbiddenException' if the user requesting update is not the project or system admin" in { /* User is added to a project by a normal user */ - responderManager ! UserProjectMembershipAddRequestADM( + appActor ! UserProjectMembershipAddRequestADM( normalUser.id, imagesProject.id, defaultFeatureFactoryConfig, @@ -648,7 +648,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with ) /* User is removed from a project by a normal user */ - responderManager ! UserProjectMembershipRemoveRequestADM( + appActor ! UserProjectMembershipRemoveRequestADM( normalUser.id, imagesProject.id, defaultFeatureFactoryConfig, @@ -667,7 +667,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with "asked to update the user's project admin group membership" should { "ADD user to project admin group" in { - responderManager ! UserProjectAdminMembershipsGetRequestADM( + appActor ! UserProjectAdminMembershipsGetRequestADM( normalUser.id, defaultFeatureFactoryConfig, rootUser, @@ -676,7 +676,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with val membershipsBeforeUpdate = expectMsgType[UserProjectAdminMembershipsGetResponseADM](timeout) membershipsBeforeUpdate.projects should equal(Seq()) - responderManager ! UserProjectAdminMembershipAddRequestADM( + appActor ! UserProjectAdminMembershipAddRequestADM( normalUser.id, imagesProject.id, defaultFeatureFactoryConfig, @@ -685,7 +685,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with ) expectMsgType[UserOperationResponseADM](timeout) - responderManager ! UserProjectAdminMembershipsGetRequestADM( + appActor ! UserProjectAdminMembershipsGetRequestADM( normalUser.id, defaultFeatureFactoryConfig, rootUser, @@ -694,7 +694,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with val membershipsAfterUpdate = expectMsgType[UserProjectAdminMembershipsGetResponseADM](timeout) membershipsAfterUpdate.projects should equal(Seq(imagesProject)) - responderManager ! ProjectAdminMembersGetRequestADM( + appActor ! ProjectAdminMembersGetRequestADM( ProjectIdentifierADM(maybeIri = Some(imagesProject.id)), featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = rootUser @@ -705,7 +705,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with } "DELETE user from project admin group" in { - responderManager ! UserProjectAdminMembershipsGetRequestADM( + appActor ! UserProjectAdminMembershipsGetRequestADM( normalUser.id, defaultFeatureFactoryConfig, rootUser, @@ -714,7 +714,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with val membershipsBeforeUpdate = expectMsgType[UserProjectAdminMembershipsGetResponseADM](timeout) membershipsBeforeUpdate.projects should equal(Seq(imagesProject)) - responderManager ! UserProjectAdminMembershipRemoveRequestADM( + appActor ! UserProjectAdminMembershipRemoveRequestADM( normalUser.id, imagesProject.id, defaultFeatureFactoryConfig, @@ -723,7 +723,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with ) expectMsgType[UserOperationResponseADM](timeout) - responderManager ! UserProjectAdminMembershipsGetRequestADM( + appActor ! UserProjectAdminMembershipsGetRequestADM( normalUser.id, defaultFeatureFactoryConfig, rootUser, @@ -732,7 +732,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with val membershipsAfterUpdate = expectMsgType[UserProjectAdminMembershipsGetResponseADM](timeout) membershipsAfterUpdate.projects should equal(Seq()) - responderManager ! ProjectAdminMembersGetRequestADM( + appActor ! ProjectAdminMembersGetRequestADM( ProjectIdentifierADM(maybeIri = Some(imagesProject.id)), featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = rootUser @@ -744,7 +744,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with "return a 'ForbiddenException' if the user requesting update is not the project or system admin" in { /* User is added to a project by a normal user */ - responderManager ! UserProjectAdminMembershipAddRequestADM( + appActor ! UserProjectAdminMembershipAddRequestADM( normalUser.id, imagesProject.id, defaultFeatureFactoryConfig, @@ -761,7 +761,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with ) /* User is removed from a project by a normal user */ - responderManager ! UserProjectAdminMembershipRemoveRequestADM( + appActor ! UserProjectAdminMembershipRemoveRequestADM( normalUser.id, imagesProject.id, defaultFeatureFactoryConfig, @@ -782,11 +782,11 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with "asked to update the user's group membership" should { "ADD user to group" in { - responderManager ! UserGroupMembershipsGetRequestADM(normalUser.id, defaultFeatureFactoryConfig, rootUser) + appActor ! UserGroupMembershipsGetRequestADM(normalUser.id, defaultFeatureFactoryConfig, rootUser) val membershipsBeforeUpdate = expectMsgType[UserGroupMembershipsGetResponseADM](timeout) membershipsBeforeUpdate.groups should equal(Seq()) - responderManager ! UserGroupMembershipAddRequestADM( + appActor ! UserGroupMembershipAddRequestADM( normalUser.id, imagesReviewerGroup.id, defaultFeatureFactoryConfig, @@ -795,11 +795,11 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with ) expectMsgType[UserOperationResponseADM](timeout) - responderManager ! UserGroupMembershipsGetRequestADM(normalUser.id, defaultFeatureFactoryConfig, rootUser) + appActor ! UserGroupMembershipsGetRequestADM(normalUser.id, defaultFeatureFactoryConfig, rootUser) val membershipsAfterUpdate = expectMsgType[UserGroupMembershipsGetResponseADM](timeout) membershipsAfterUpdate.groups.map(_.id) should equal(Seq(imagesReviewerGroup.id)) - responderManager ! GroupMembersGetRequestADM( + appActor ! GroupMembersGetRequestADM( groupIri = imagesReviewerGroup.id, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = rootUser @@ -810,11 +810,11 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with } "DELETE user from group" in { - responderManager ! UserGroupMembershipsGetRequestADM(normalUser.id, defaultFeatureFactoryConfig, rootUser) + appActor ! UserGroupMembershipsGetRequestADM(normalUser.id, defaultFeatureFactoryConfig, rootUser) val membershipsBeforeUpdate = expectMsgType[UserGroupMembershipsGetResponseADM](timeout) membershipsBeforeUpdate.groups.map(_.id) should equal(Seq(imagesReviewerGroup.id)) - responderManager ! UserGroupMembershipRemoveRequestADM( + appActor ! UserGroupMembershipRemoveRequestADM( normalUser.id, imagesReviewerGroup.id, defaultFeatureFactoryConfig, @@ -823,11 +823,11 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with ) expectMsgType[UserOperationResponseADM](timeout) - responderManager ! UserGroupMembershipsGetRequestADM(normalUser.id, defaultFeatureFactoryConfig, rootUser) + appActor ! UserGroupMembershipsGetRequestADM(normalUser.id, defaultFeatureFactoryConfig, rootUser) val membershipsAfterUpdate = expectMsgType[UserGroupMembershipsGetResponseADM](timeout) membershipsAfterUpdate.groups should equal(Seq()) - responderManager ! GroupMembersGetRequestADM( + appActor ! GroupMembersGetRequestADM( groupIri = imagesReviewerGroup.id, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = rootUser @@ -839,7 +839,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with "return a 'ForbiddenException' if the user requesting update is not the project or system admin" in { /* User is added to a project by a normal user */ - responderManager ! UserGroupMembershipAddRequestADM( + appActor ! UserGroupMembershipAddRequestADM( normalUser.id, imagesReviewerGroup.id, defaultFeatureFactoryConfig, @@ -854,7 +854,7 @@ class UsersResponderADMSpec extends CoreSpec(UsersResponderADMSpec.config) with ) /* User is removed from a project by a normal user */ - responderManager ! UserGroupMembershipRemoveRequestADM( + appActor ! UserGroupMembershipRemoveRequestADM( normalUser.id, imagesReviewerGroup.id, defaultFeatureFactoryConfig, diff --git a/webapi/src/test/scala/org/knora/webapi/responders/v1/ListsResponderV1Spec.scala b/webapi/src/test/scala/org/knora/webapi/responders/v1/ListsResponderV1Spec.scala index 1ea827c6da..573d6c37db 100644 --- a/webapi/src/test/scala/org/knora/webapi/responders/v1/ListsResponderV1Spec.scala +++ b/webapi/src/test/scala/org/knora/webapi/responders/v1/ListsResponderV1Spec.scala @@ -3122,7 +3122,7 @@ class ListsResponderV1Spec extends CoreSpec(ListsResponderV1Spec.config) with Im "return all the toplevel and child nodes of \"Hierarchisches Stichwortverzeichnis / Signatur der Bilder\" when we do a query for the hlist 'http://rdfh.ch/lists/00FF/73d0ec0302' (root node) in the images-demo-data" in { // http://localhost:3333/v1/hlists/http%3A%2F%2Frdfh.ch%2Flists%2F73d0ec0302 - responderManager ! HListGetRequestV1( + appActor ! HListGetRequestV1( userProfile = userProfileV1, iri = "http://rdfh.ch/lists/00FF/73d0ec0302" ) @@ -3132,7 +3132,7 @@ class ListsResponderV1Spec extends CoreSpec(ListsResponderV1Spec.config) with Im "return all nodes of the flat (one level only) list (selection) \"Art des Bildes oder Photographie\"" in { // http://localhost:3333/v1/selections/http%3A%2F%2Frdfh.ch%2Flists%2F6cce4ce5 - responderManager ! SelectionGetRequestV1( + appActor ! SelectionGetRequestV1( userProfile = userProfileV1, iri = "http://rdfh.ch/lists/00FF/6cce4ce5" ) @@ -3142,7 +3142,7 @@ class ListsResponderV1Spec extends CoreSpec(ListsResponderV1Spec.config) with Im "return the two seasons winter and summer (flat season list consisting of two items)" in { // http://localhost:3333/v1/hlists/http%3A%2F%2Frdfh.ch%2Flists%2Fd19af9ab - responderManager ! HListGetRequestV1( + appActor ! HListGetRequestV1( userProfile = userProfileV1, iri = "http://rdfh.ch/lists/00FF/d19af9ab" ) @@ -3152,7 +3152,7 @@ class ListsResponderV1Spec extends CoreSpec(ListsResponderV1Spec.config) with Im "return the path to the node 'Heidi Film'" in { // http://localhost:3333/v1/hlists/http%3A%2F%2Frdfh.ch%2Flists%2Fc7f07a3fc1?reqtype=node - responderManager ! NodePathGetRequestV1( + appActor ! NodePathGetRequestV1( userProfile = userProfileV1, iri = "http://rdfh.ch/lists/00FF/c7f07a3fc1" ) diff --git a/webapi/src/test/scala/org/knora/webapi/responders/v1/OntologyResponderV1Spec.scala b/webapi/src/test/scala/org/knora/webapi/responders/v1/OntologyResponderV1Spec.scala index 75b8f209ff..20498a0c25 100644 --- a/webapi/src/test/scala/org/knora/webapi/responders/v1/OntologyResponderV1Spec.scala +++ b/webapi/src/test/scala/org/knora/webapi/responders/v1/OntologyResponderV1Spec.scala @@ -997,7 +997,7 @@ class OntologyResponderV1Spec extends CoreSpec() with ImplicitSender { "The ontology responder" should { "return the ontology information for a incunabula:page" in { // http://localhost:3333/v1/resourcetypes/http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23page - responderManager ! ResourceTypeGetRequestV1( + appActor ! ResourceTypeGetRequestV1( userProfile = OntologyResponderV1Spec.userProfileWithGerman, resourceTypeIri = "http://www.knora.org/ontology/0803/incunabula#page" ) @@ -1009,7 +1009,7 @@ class OntologyResponderV1Spec extends CoreSpec() with ImplicitSender { "return the ontology information for a incunabula:book" in { // http://localhost:3333/v1/resourcetypes/http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23book - responderManager ! ResourceTypeGetRequestV1( + appActor ! ResourceTypeGetRequestV1( userProfile = OntologyResponderV1Spec.userProfileWithGerman, resourceTypeIri = "http://www.knora.org/ontology/0803/incunabula#book" ) @@ -1021,7 +1021,7 @@ class OntologyResponderV1Spec extends CoreSpec() with ImplicitSender { "return the ontology information for a knora-base:Region" in { // http://localhost:3333/v1/resourcetypes/http%3A%2F%2Fwww.knora.org%2Fontology%2Fknora-base%23Region - responderManager ! ResourceTypeGetRequestV1( + appActor ! ResourceTypeGetRequestV1( userProfile = OntologyResponderV1Spec.userProfileWithGerman, resourceTypeIri = "http://www.knora.org/ontology/knora-base#Region" ) @@ -1033,7 +1033,7 @@ class OntologyResponderV1Spec extends CoreSpec() with ImplicitSender { "return the ontology information for a knora-base:LinkObj" in { // http://localhost:3333/v1/resourcetypes/http%3A%2F%2Fwww.knora.org%2Fontology%2Fknora-base%23LinkObj - responderManager ! ResourceTypeGetRequestV1( + appActor ! ResourceTypeGetRequestV1( userProfile = OntologyResponderV1Spec.userProfileWithGerman, resourceTypeIri = "http://www.knora.org/ontology/knora-base#LinkObj" ) @@ -1046,7 +1046,7 @@ class OntologyResponderV1Spec extends CoreSpec() with ImplicitSender { "return an appropriate error message if a resource class is not found" in { // http://localhost:3333/v1/resourcetypes/http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23image - responderManager ! ResourceTypeGetRequestV1( + appActor ! ResourceTypeGetRequestV1( userProfile = OntologyResponderV1Spec.userProfileWithGerman, resourceTypeIri = "http://www.knora.org/ontology/0803/incunabula#image" ) @@ -1057,7 +1057,7 @@ class OntologyResponderV1Spec extends CoreSpec() with ImplicitSender { } "return labels in the user's preferred language" in { - responderManager ! EntityInfoGetRequestV1( + appActor ! EntityInfoGetRequestV1( propertyIris = Set("http://www.knora.org/ontology/0803/incunabula#title"), userProfile = OntologyResponderV1Spec.userProfileWithGerman // irrelevant ) @@ -1076,7 +1076,7 @@ class OntologyResponderV1Spec extends CoreSpec() with ImplicitSender { } "get all the vocabularies" in { - responderManager ! NamedGraphsGetRequestV1( + appActor ! NamedGraphsGetRequestV1( featureFactoryConfig = defaultFeatureFactoryConfig, userADM = OntologyResponderV1Spec.userProfileWithEnglish ) @@ -1088,7 +1088,7 @@ class OntologyResponderV1Spec extends CoreSpec() with ImplicitSender { } "get all the resource classes with their property types for incunabula named graph" in { - responderManager ! ResourceTypesForNamedGraphGetRequestV1( + appActor ! ResourceTypesForNamedGraphGetRequestV1( namedGraph = Some("http://www.knora.org/ontology/0803/incunabula"), featureFactoryConfig = defaultFeatureFactoryConfig, userADM = OntologyResponderV1Spec.userProfileWithEnglish @@ -1101,7 +1101,7 @@ class OntologyResponderV1Spec extends CoreSpec() with ImplicitSender { } "get all the properties for the named graph incunabula" in { - responderManager ! PropertyTypesForNamedGraphGetRequestV1( + appActor ! PropertyTypesForNamedGraphGetRequestV1( namedGraph = Some("http://www.knora.org/ontology/0803/incunabula"), featureFactoryConfig = defaultFeatureFactoryConfig, userADM = OntologyResponderV1Spec.userProfileWithEnglish @@ -1113,7 +1113,7 @@ class OntologyResponderV1Spec extends CoreSpec() with ImplicitSender { } "get all the properties for all vocabularies" in { - responderManager ! PropertyTypesForNamedGraphGetRequestV1( + appActor ! PropertyTypesForNamedGraphGetRequestV1( namedGraph = None, featureFactoryConfig = defaultFeatureFactoryConfig, userADM = OntologyResponderV1Spec.userProfileWithEnglish diff --git a/webapi/src/test/scala/org/knora/webapi/responders/v1/ProjectsResponderV1Spec.scala b/webapi/src/test/scala/org/knora/webapi/responders/v1/ProjectsResponderV1Spec.scala index d8b1846db4..302bcadf69 100644 --- a/webapi/src/test/scala/org/knora/webapi/responders/v1/ProjectsResponderV1Spec.scala +++ b/webapi/src/test/scala/org/knora/webapi/responders/v1/ProjectsResponderV1Spec.scala @@ -43,7 +43,7 @@ class ProjectsResponderV1Spec extends CoreSpec(ProjectsResponderV1Spec.config) w "return information for every project" in { - responderManager ! ProjectsGetRequestV1( + appActor ! ProjectsGetRequestV1( featureFactoryConfig = defaultFeatureFactoryConfig, userProfile = Some(rootUserProfileV1) ) @@ -56,7 +56,7 @@ class ProjectsResponderV1Spec extends CoreSpec(ProjectsResponderV1Spec.config) w "return information about a project identified by IRI" in { /* Incunabula project */ - responderManager ! ProjectInfoByIRIGetRequestV1( + appActor ! ProjectInfoByIRIGetRequestV1( iri = SharedTestDataV1.incunabulaProjectInfo.id, featureFactoryConfig = defaultFeatureFactoryConfig, userProfileV1 = Some(SharedTestDataV1.rootUser) @@ -64,7 +64,7 @@ class ProjectsResponderV1Spec extends CoreSpec(ProjectsResponderV1Spec.config) w expectMsg(ProjectInfoResponseV1(SharedTestDataV1.incunabulaProjectInfo)) /* Images project */ - responderManager ! ProjectInfoByIRIGetRequestV1( + appActor ! ProjectInfoByIRIGetRequestV1( iri = SharedTestDataV1.imagesProjectInfo.id, featureFactoryConfig = defaultFeatureFactoryConfig, userProfileV1 = Some(SharedTestDataV1.rootUser) @@ -72,7 +72,7 @@ class ProjectsResponderV1Spec extends CoreSpec(ProjectsResponderV1Spec.config) w expectMsg(ProjectInfoResponseV1(SharedTestDataV1.imagesProjectInfo)) /* 'SystemProject' */ - responderManager ! ProjectInfoByIRIGetRequestV1( + appActor ! ProjectInfoByIRIGetRequestV1( iri = SharedTestDataV1.systemProjectInfo.id, featureFactoryConfig = defaultFeatureFactoryConfig, userProfileV1 = Some(SharedTestDataV1.rootUser) @@ -82,7 +82,7 @@ class ProjectsResponderV1Spec extends CoreSpec(ProjectsResponderV1Spec.config) w } "return information about a project identified by shortname" in { - responderManager ! ProjectInfoByShortnameGetRequestV1( + appActor ! ProjectInfoByShortnameGetRequestV1( SharedTestDataV1.incunabulaProjectInfo.shortname, featureFactoryConfig = defaultFeatureFactoryConfig, Some(rootUserProfileV1) @@ -92,7 +92,7 @@ class ProjectsResponderV1Spec extends CoreSpec(ProjectsResponderV1Spec.config) w "return 'NotFoundException' when the project IRI is unknown" in { - responderManager ! ProjectInfoByIRIGetRequestV1( + appActor ! ProjectInfoByIRIGetRequestV1( iri = "http://rdfh.ch/projects/notexisting", featureFactoryConfig = defaultFeatureFactoryConfig, userProfileV1 = Some(rootUserProfileV1) @@ -102,7 +102,7 @@ class ProjectsResponderV1Spec extends CoreSpec(ProjectsResponderV1Spec.config) w } "return 'NotFoundException' when the project shortname unknown " in { - responderManager ! ProjectInfoByShortnameGetRequestV1( + appActor ! ProjectInfoByShortnameGetRequestV1( shortname = "projectwrong", featureFactoryConfig = defaultFeatureFactoryConfig, userProfileV1 = Some(rootUserProfileV1) diff --git a/webapi/src/test/scala/org/knora/webapi/responders/v1/ResourcesResponderV1Spec.scala b/webapi/src/test/scala/org/knora/webapi/responders/v1/ResourcesResponderV1Spec.scala index 988034f164..fa6c36d094 100644 --- a/webapi/src/test/scala/org/knora/webapi/responders/v1/ResourcesResponderV1Spec.scala +++ b/webapi/src/test/scala/org/knora/webapi/responders/v1/ResourcesResponderV1Spec.scala @@ -800,7 +800,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) ) .toString() - storeManager ! SparqlSelectRequest(lastModSparqlQuery) + appActor ! SparqlSelectRequest(lastModSparqlQuery) expectMsgPF(timeout) { case response: SparqlSelectResult => val rows = response.results.bindings @@ -898,7 +898,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) PermissionADM.restrictedViewPermission("http://www.knora.org/ontology/knora-admin#UnknownUser") ) - responderManager ! ObjectAccessPermissionsForResourceGetADM( + appActor ! ObjectAccessPermissionsForResourceGetADM( resourceIri = newBookResourceIri.get, requestingUser = KnoraSystemInstances.Users.SystemUser ) @@ -914,7 +914,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) "The resources responder" should { "return a full description of the book 'Zeitglöcklein des Lebens und Leidens Christi' in the Incunabula test data" in { // http://0.0.0.0:3333/v1/resources/http%3A%2F%2Frdfh.ch%2F0803%2Fc5058f3a - responderManager ! ResourceFullGetRequestV1( + appActor ! ResourceFullGetRequestV1( iri = "http://rdfh.ch/0803/c5058f3a", featureFactoryConfig = defaultFeatureFactoryConfig, userADM = SharedTestDataADM.incunabulaMemberUser @@ -930,7 +930,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) "return a full description of the first page of the book 'Zeitglöcklein des Lebens und Leidens Christi' in the Incunabula test data" in { // http://0.0.0.0:3333/v1/resources/http%3A%2F%2Frdfh.ch%2F0803%2F8a0b1e75 - responderManager ! ResourceFullGetRequestV1( + appActor ! ResourceFullGetRequestV1( iri = "http://rdfh.ch/0803/8a0b1e75", featureFactoryConfig = defaultFeatureFactoryConfig, userADM = SharedTestDataADM.incunabulaMemberUser @@ -946,7 +946,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) "return the context (describing 402 pages) of the book 'Zeitglöcklein des Lebens und Leidens Christi' in the Incunabula test data" in { // http://0.0.0.0:3333/v1/resources/http%3A%2F%2Frdfh.ch%2F0803%2Fc5058f3a?reqtype=context&resinfo=true - responderManager ! ResourceContextGetRequestV1( + appActor ! ResourceContextGetRequestV1( iri = "http://rdfh.ch/0803/c5058f3a", resinfo = true, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -960,7 +960,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) "return the context of a page of the book 'Zeitglöcklein des Lebens und Leidens Christi' in the Incunabula test data" in { // http://0.0.0.0:3333/v1/resources/http%3A%2F%2Frdfh.ch%2F0803%2F8a0b1e75?reqtype=context&resinfo=true - responderManager ! ResourceContextGetRequestV1( + appActor ! ResourceContextGetRequestV1( iri = "http://rdfh.ch/0803/8a0b1e75", resinfo = true, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -977,7 +977,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) "return 1 resource containing 'Reise in' in its label with three of its values" in { // http://0.0.0.0:3333/v1/resources?searchstr=Reise+in&numprops=3&limit=11&restype_id=-1 - responderManager ! ResourceSearchGetRequestV1( + appActor ! ResourceSearchGetRequestV1( searchString = "Reise in", numberOfProps = 3, limitOfResults = 11, @@ -992,7 +992,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) "return 1 resource containing 'Reise ins Heilige Lan' in its label with three of its values" in { // http://0.0.0.0:3333/v1/resources?searchstr=Reise+ins+Heilige+Lan&numprops=3&limit=11&restype_id=-1 - responderManager ! ResourceSearchGetRequestV1( + appActor ! ResourceSearchGetRequestV1( searchString = "Reise ins Heilige Lan", numberOfProps = 3, limitOfResults = 11, @@ -1007,7 +1007,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) "return 1 resource of type incunabula:book containing 'Reis' in its label with its label (first property)" in { // http://0.0.0.0:3333/v1/resources?searchstr=Reis&numprops=1&limit=11&restype_id=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23book - responderManager ! ResourceSearchGetRequestV1( + appActor ! ResourceSearchGetRequestV1( searchString = "Reis", numberOfProps = 1, limitOfResults = 11, @@ -1028,7 +1028,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) // has no guiOrder (normally, the guiOrder is defined in project specific ontologies) which used to cause problems in the SPARQL query. // Now, the guiOrder was made optional in the SPARQL query, and this test ensures that the query works as expected. - responderManager ! ResourceSearchGetRequestV1( + appActor ! ResourceSearchGetRequestV1( searchString = "Narrenschiff", numberOfProps = 4, limitOfResults = 100, @@ -1044,7 +1044,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) "return 3 resources containing 'Narrenschiff' in their label of type incunabula:book" in { //http://0.0.0.0:3333/v1/resources?searchstr=Narrenschiff&numprops=3&limit=100&restype_id=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23book - responderManager ! ResourceSearchGetRequestV1( + appActor ! ResourceSearchGetRequestV1( searchString = "Narrenschiff", numberOfProps = 3, limitOfResults = 100, @@ -1060,7 +1060,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) "return 19 resources containing 'a1r' in their label of type incunabula:page" in { //http://0.0.0.0:3333/v1/resources?searchstr=a1r&numprops=3&limit=100&restype_id=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23page - responderManager ! ResourceSearchGetRequestV1( + appActor ! ResourceSearchGetRequestV1( searchString = "a1r", numberOfProps = 3, limitOfResults = 100, @@ -1076,7 +1076,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) "return 19 resources containing 'a1r' in their label of type knora-base:Representation" in { //http://0.0.0.0:3333/v1/resources?searchstr=a1r&numprops=3&limit=100&restype_id=http%3A%2F%2Fwww.knora.org%2Fontology%2Fknora-base%23Representation - responderManager ! ResourceSearchGetRequestV1( + appActor ! ResourceSearchGetRequestV1( searchString = "a1r", numberOfProps = 3, limitOfResults = 100, @@ -1108,7 +1108,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) apiRequestID = UUID.randomUUID ) - responderManager ! resourceCreateRequest + appActor ! resourceCreateRequest expectMsgPF(timeout) { case msg: akka.actor.Status.Failure => msg.cause.isInstanceOf[OntologyConstraintException] should ===(true) @@ -1149,7 +1149,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) apiRequestID = UUID.randomUUID ) - responderManager ! resourceCreateRequest + appActor ! resourceCreateRequest expectMsgPF(timeout) { case msg: akka.actor.Status.Failure => msg.cause.isInstanceOf[OntologyConstraintException] should ===(true) @@ -1198,7 +1198,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) "http://www.knora.org/ontology/0803/incunabula#publoc" -> Vector(CreateValueV1WithComment(publoc)) ) - responderManager ! ResourceCreateRequestV1( + appActor ! ResourceCreateRequestV1( resourceTypeIri = "http://www.knora.org/ontology/0803/incunabula#book", label = "Book with reference to nonexistent resource", projectIri = "http://rdfh.ch/projects/0803", @@ -1282,7 +1282,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) "http://www.knora.org/ontology/0803/incunabula#publoc" -> Vector(publoc) ) - responderManager ! ResourceCreateRequestV1( + appActor ! ResourceCreateRequestV1( resourceTypeIri = INCUNABULA_BOOK_RESOURCE_CLASS, label = "Test-Book", projectIri = SharedTestDataADM.INCUNABULA_PROJECT_IRI, @@ -1304,7 +1304,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) checkPermissionsOnResource(newBookResourceIri.get) // See if we can query the resource. - responderManager ! ResourceFullGetRequestV1( + appActor ! ResourceFullGetRequestV1( iri = newBookResourceIri.get, featureFactoryConfig = defaultFeatureFactoryConfig, userADM = SharedTestDataADM.incunabulaProjectAdminUser @@ -1355,7 +1355,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) OntologyConstants.KnoraBase.HasStillImageFileValue -> Vector(fileValue) ) - responderManager ! ResourceCreateRequestV1( + appActor ! ResourceCreateRequestV1( resourceTypeIri = INCUNABULA_PAGE_RESOURCE_CLASS, label = "Test-Page", projectIri = SharedTestDataADM.INCUNABULA_PROJECT_IRI, @@ -1387,7 +1387,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) userProfile = SharedTestDataADM.incunabulaProjectAdminUser ) - responderManager ! pageGetContext + appActor ! pageGetContext expectMsgPF(timeout) { case response: ResourceContextResponseV1 => compareNewPageContextResponse(received = response) @@ -1405,12 +1405,12 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) apiRequestID = UUID.randomUUID ) - responderManager ! resourceDeleteRequest + appActor ! resourceDeleteRequest expectMsg(timeout, ResourceDeleteResponseV1(id = newPageResourceIri.get)) // Check that the resource is marked as deleted. - responderManager ! ResourceInfoGetRequestV1( + appActor ! ResourceInfoGetRequestV1( iri = newPageResourceIri.get, featureFactoryConfig = defaultFeatureFactoryConfig, userProfile = SharedTestDataADM.incunabulaProjectAdminUser @@ -1433,7 +1433,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) userProfile = SharedTestDataADM.incunabulaProjectAdminUser ) - responderManager ! propertiesGetRequest + appActor ! propertiesGetRequest expectMsgPF(timeout) { case response: PropertiesGetResponseV1 => comparePropertiesGetResponse(received = response, expected = propertiesGetResponseV1Region) @@ -1449,7 +1449,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) userProfile = SharedTestDataADM.incunabulaProjectAdminUser ) - responderManager ! resourceContextPage + appActor ! resourceContextPage expectMsgPF(timeout) { case response: ResourceContextResponseV1 => comparePageContextRegionResponse(received = response) @@ -1459,7 +1459,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) "show incoming standoff links if the user has view permission on both resources, but show other incoming links only if the user also has view permission on the link" in { // The link's owner, anythingUser1, should see the hasOtherThing link as well as the hasStandoffLinkTo link. - responderManager ! ResourceFullGetRequestV1( + appActor ! ResourceFullGetRequestV1( iri = "http://rdfh.ch/0001/project-thing-2", featureFactoryConfig = defaultFeatureFactoryConfig, userADM = SharedTestDataADM.anythingUser1 @@ -1473,7 +1473,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) // But another user should see only the hasStandoffLinkTo link. - responderManager ! ResourceFullGetRequestV1( + appActor ! ResourceFullGetRequestV1( iri = "http://rdfh.ch/0001/project-thing-2", featureFactoryConfig = defaultFeatureFactoryConfig, userADM = SharedTestDataADM.anythingUser2 @@ -1488,7 +1488,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) "show outgoing standoff links if the user has view permission on both resources, but show other outgoing links only if the user also has view permission on the link" in { // The link's owner, anythingUser1, should see the hasOtherThing link as well as the hasStandoffLinkTo link. - responderManager ! ResourceFullGetRequestV1( + appActor ! ResourceFullGetRequestV1( iri = "http://rdfh.ch/0001/project-thing-1", featureFactoryConfig = defaultFeatureFactoryConfig, userADM = SharedTestDataADM.anythingUser1 @@ -1507,7 +1507,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) // But another user should see only the hasStandoffLinkTo link. - responderManager ! ResourceFullGetRequestV1( + appActor ! ResourceFullGetRequestV1( iri = "http://rdfh.ch/0001/project-thing-1", featureFactoryConfig = defaultFeatureFactoryConfig, userADM = SharedTestDataADM.anythingUser2 @@ -1527,7 +1527,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) "show a contained resource in a context request only if the user has permission to see the containing resource, the contained resource, and the link value" in { // The owner of the resources and the link should see two contained resources. - responderManager ! ResourceContextGetRequestV1( + appActor ! ResourceContextGetRequestV1( iri = "http://rdfh.ch/0001/containing-thing", resinfo = true, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -1547,7 +1547,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) // Another user in the project, who doesn't have permission to see the second link, should see only one contained resource. - responderManager ! ResourceContextGetRequestV1( + appActor ! ResourceContextGetRequestV1( iri = "http://rdfh.ch/0001/containing-thing", resinfo = true, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -1560,7 +1560,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) // A user who's not in the project shouldn't see any contained resources. - responderManager ! ResourceContextGetRequestV1( + appActor ! ResourceContextGetRequestV1( iri = "http://rdfh.ch/0001/containing-thing", resinfo = true, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -1573,7 +1573,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) } "not create an instance of knora-base:Resource" in { - responderManager ! ResourceCreateRequestV1( + appActor ! ResourceCreateRequestV1( resourceTypeIri = "http://www.knora.org/ontology/knora-base#Resource", label = "Test Resource", projectIri = "http://rdfh.ch/projects/0803", @@ -1590,7 +1590,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) } "not create an instance of anything:Thing in the incunabula project" in { - responderManager ! ResourceCreateRequestV1( + appActor ! ResourceCreateRequestV1( resourceTypeIri = "http://www.knora.org/ontology/0001/anything#Thing", label = "Test Resource", projectIri = "http://rdfh.ch/projects/0803", @@ -1607,7 +1607,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) } "not create a resource in the default shared ontologies project" in { - responderManager ! ResourceCreateRequestV1( + appActor ! ResourceCreateRequestV1( resourceTypeIri = "http://www.knora.org/ontology/shared/example-box#Box", label = "Test Resource", projectIri = OntologyConstants.KnoraAdmin.DefaultSharedOntologiesProject, @@ -1626,7 +1626,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) "change a resource's label" in { val myNewLabel = "my new beautiful label" - responderManager ! ChangeResourceLabelRequestV1( + appActor ! ChangeResourceLabelRequestV1( resourceIri = "http://rdfh.ch/0803/c5058f3a", label = myNewLabel, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -1647,7 +1647,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) ) ) - responderManager ! ResourceCreateRequestV1( + appActor ! ResourceCreateRequestV1( resourceTypeIri = "http://www.knora.org/ontology/0001/anything#BlueThing", label = "Test Thing", projectIri = "http://rdfh.ch/projects/0001", @@ -1664,7 +1664,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) } "return a graph of resources reachable via links from/to a given resource" in { - responderManager ! GraphDataGetRequestV1( + appActor ! GraphDataGetRequestV1( resourceIri = "http://rdfh.ch/0001/start", depth = 6, userADM = SharedTestDataADM.anythingUser1 @@ -1679,7 +1679,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) } "return a graph of resources reachable via links from/to a given resource, filtering the results according to the user's permissions" in { - responderManager ! GraphDataGetRequestV1( + appActor ! GraphDataGetRequestV1( resourceIri = "http://rdfh.ch/0001/start", depth = 6, userADM = SharedTestDataADM.incunabulaProjectAdminUser @@ -1694,7 +1694,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) } "return a graph containing a standoff link" in { - responderManager ! GraphDataGetRequestV1( + appActor ! GraphDataGetRequestV1( resourceIri = "http://rdfh.ch/0001/a-thing", depth = 4, userADM = SharedTestDataADM.anythingUser1 @@ -1706,7 +1706,7 @@ class ResourcesResponderV1Spec extends CoreSpec(ResourcesResponderV1Spec.config) } "return a graph containing just one node" in { - responderManager ! GraphDataGetRequestV1( + appActor ! GraphDataGetRequestV1( resourceIri = "http://rdfh.ch/0001/another-thing", depth = 4, userADM = SharedTestDataADM.anythingUser1 diff --git a/webapi/src/test/scala/org/knora/webapi/responders/v1/SearchResponderV1Spec.scala b/webapi/src/test/scala/org/knora/webapi/responders/v1/SearchResponderV1Spec.scala index 679d54d825..c4f733cd0e 100644 --- a/webapi/src/test/scala/org/knora/webapi/responders/v1/SearchResponderV1Spec.scala +++ b/webapi/src/test/scala/org/knora/webapi/responders/v1/SearchResponderV1Spec.scala @@ -288,7 +288,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { "The search responder" should { "return 3 results when we do a simple search for the word 'Zeitglöcklein' in the Incunabula test data" in { // http://0.0.0.0:3333/v1/search/Zeitglöcklein?searchtype=fulltext - responderManager ! FulltextSearchGetRequestV1( + appActor ! FulltextSearchGetRequestV1( searchValue = "Zeitglöcklein", userProfile = incunabulaUser, startAt = 0, @@ -302,7 +302,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { "return 2 results when we do a simple search for the words 'Zeitglöcklein' and 'Lebens' in the Incunabula test data" in { // http://0.0.0.0:3333/v1/search/Zeitglöcklein%20Lebens?searchtype=fulltext - responderManager ! FulltextSearchGetRequestV1( + appActor ! FulltextSearchGetRequestV1( searchValue = "Zeitglöcklein AND Lebens", userProfile = incunabulaUser, startAt = 0, @@ -316,7 +316,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { "return 0 results when we do a simple search for the words 'Zeitglöcklein' for the type incunabula:page in the Incunabula test data" in { // http://0.0.0.0:3333/v1/search/Zeitglöcklein%20Lebens?searchtype=fulltext&filter_by_restype=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23page - responderManager ! FulltextSearchGetRequestV1( + appActor ! FulltextSearchGetRequestV1( searchValue = "Zeitglöcklein AND Lebens", userProfile = incunabulaUser, startAt = 0, @@ -335,7 +335,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { // the one for the text value. Both appear to be correct: we are using SAMPLE, so each triplestore is returning a different random result. // Try to find another approach so that they return the same result. Also, GraphDB returns the wrong label (again, because it seems to be // selecting a random one). Instead of getting labels from the search query, the search responder can ask the ontology responder for them. - responderManager ! FulltextSearchGetRequestV1( + appActor ! FulltextSearchGetRequestV1( searchValue = "Orationes", userProfile = incunabulaUser, startAt = 0, @@ -349,7 +349,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { "return 2 results when we do a simple search for the words 'Berthold and Bruder' in the Incunabula test data" in { // http://0.0.0.0:3333/v1/search/Berthold%20Bruder?searchtype=fulltext - responderManager ! FulltextSearchGetRequestV1( + appActor ! FulltextSearchGetRequestV1( searchValue = "Berthold AND Bruder", userProfile = incunabulaUser, startAt = 0, @@ -361,7 +361,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { "return 2 books with the title 'Zeitglöcklein des Lebens und Leidens Christi' when we search for book titles containing the string 'Zeitglöcklein' (using a regular expression) in the Incunabula test data" in { // http://0.0.0.0:3333/v1/search/?searchtype=extended&filter_by_restype=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23book&property_id=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23title&compop=LIKE&searchval=Zeitglöcklein - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = incunabulaUser, searchValue = Vector("Zeitglöcklein"), compareProps = Vector(SearchComparisonOperatorV1.LIKE), @@ -376,7 +376,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { "return 2 books with the title 'Zeitglöcklein des Lebens und Leidens Christi' when we search for book titles containing the word 'Zeitglöcklein' (using the full-text search index) in the Incunabula test data" in { // http://0.0.0.0:3333/v1/search/?searchtype=extended&filter_by_restype=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23book&property_id=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23title&compop=MATCH&searchval=Zeitglöcklein - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = incunabulaUser, searchValue = Vector("Zeitglöcklein"), compareProps = Vector(SearchComparisonOperatorV1.MATCH), @@ -391,7 +391,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { "return 1 book with the title 'Zeitglöcklein des Lebens und Leidens Christi' that was published in 1490 (Julian Calendar) when we search for book titles containing the word 'Zeitglöcklein' (using the full-text search index) in the Incunabula test data" in { // http://0.0.0.0:3333/v1/search/?searchtype=extended&filter_by_restype=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23book&property_id=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23title&compop=MATCH&searchval=Zeitglöcklein&property_id=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23pubdate&compop=EQ&searchval=JULIAN:1490 - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = incunabulaUser, searchValue = Vector("Zeitglöcklein", "JULIAN:1490"), compareProps = Vector(SearchComparisonOperatorV1.MATCH, SearchComparisonOperatorV1.EQ), @@ -411,7 +411,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { "return 2 books with the title 'Zeitglöcklein des Lebens und Leidens Christi' when we search for book titles containing the word 'Lebens' but not containing the word 'walfart' (using MATCH BOOLEAN) in the Incunabula test data" in { // http://0.0.0.0:3333/v1/search/?searchtype=extended&property_id=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23title&compop=MATCH_BOOLEAN&searchval=%2BLebens+-walfart&show_nrows=25&start_at=0&filter_by_restype=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23book - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = incunabulaUser, searchValue = Vector("+Lebens -walfart"), compareProps = Vector(SearchComparisonOperatorV1.MATCH_BOOLEAN), @@ -435,7 +435,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { "return 18 books when we search for book titles that do not include the string 'Zeitglöcklein' (using a regular expression) in the Incunabula test data" in { // http://0.0.0.0:3333/v1/search/?searchtype=extended&filter_by_restype=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23book&property_id=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23title&compop=!LIKE&searchval=Zeitgl%C3%B6cklein - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = incunabulaUser, searchValue = Vector("Zeitglöcklein"), compareProps = Vector(SearchComparisonOperatorV1.NOT_LIKE), @@ -452,7 +452,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { "return 2 books with the title 'Zeitglöcklein des Lebens und Leidens Christi' when we search for exactly that book title in the Incunabula test data" in { // http://0.0.0.0:3333/v1/search/?searchtype=extended&filter_by_restype=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23book&property_id=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23title&compop=EQ&searchval=Zeitgl%C3%B6cklein%20des%20Lebens%20und%20Leidens%20Christi - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = incunabulaUser, searchValue = Vector("Zeitglöcklein des Lebens und Leidens Christi"), compareProps = Vector(SearchComparisonOperatorV1.EQ), @@ -467,7 +467,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { "return 18 books when we search for all books that have a title that is not exactly 'Zeitglöcklein des Lebens und Leidens Christi' (although they may have another title that is) in the Incunabula test data" in { // http://0.0.0.0:3333/v1/search/?searchtype=extended&filter_by_restype=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23book&property_id=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23title&compop=!EQ&searchval=Zeitgl%C3%B6cklein%20des%20Lebens%20und%20Leidens%20Christi - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = incunabulaUser, searchValue = Vector("Zeitglöcklein des Lebens und Leidens Christi"), compareProps = Vector(SearchComparisonOperatorV1.NOT_EQ), @@ -484,7 +484,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { "return 19 books when we search for all books in the Incunabula test data" in { // http://0.0.0.0:3333/v1/search/?searchtype=extended&show_nrows=25&start_at=0&filter_by_restype=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23book - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = incunabulaUser, searchValue = Vector(), compareProps = Vector(), @@ -501,7 +501,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { "return 19 books when we search for all books that have a title in the Incunabula test data" in { // http://0.0.0.0:3333/v1/search/?searchtype=extended&filter_by_restype=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23book&property_id=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23title&compop=EXISTS&searchval - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = incunabulaUser, searchValue = Vector(""), compareProps = Vector(SearchComparisonOperatorV1.EXISTS), @@ -518,7 +518,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { "return 19 pages when we search for all pages that have a sequence number of 1 in the Incunabula test data" in { // http://0.0.0.0:3333/v1/search/?searchtype=extended&filter_by_restype=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23page&property_id=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23seqnum&compop=EQ&searchval=1 - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = incunabulaUser, searchValue = Vector("1"), compareProps = Vector(SearchComparisonOperatorV1.EQ), @@ -535,7 +535,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { "return 79 pages when we search for all pages that have an incunabula:seqnum greater than 450 in the Incunabula test data" in { // http://0.0.0.0:3333/v1/search/?searchtype=extended&filter_by_restype=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23page&property_id=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23seqnum&compop=GT&searchval=450 - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = incunabulaUser, searchValue = Vector("450"), compareProps = Vector(SearchComparisonOperatorV1.GT), @@ -551,7 +551,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { } "return 79 pages when we search for all representations that have an incunabula:seqnum greater than 450 in the Incunabula test data" in { - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = incunabulaUser, searchValue = Vector("450"), compareProps = Vector(SearchComparisonOperatorV1.GT), @@ -568,7 +568,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { "return 2 books when we search for all books that were published in January 1495 (Julian date) in the Incunabula test data" in { // http://0.0.0.0:3333/v1/search/?searchtype=extended&filter_by_restype=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23page&property_id=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23seqnum&compop=EQ&searchval=1 - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = incunabulaUser, searchValue = Vector("JULIAN:1495-01"), compareProps = Vector(SearchComparisonOperatorV1.EQ), @@ -585,7 +585,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { "return 7 books when we search for all books whose publication date is greater than or equal to January 1495 (Julian date) in the Incunabula test data" in { // http://0.0.0.0:3333/v1/search/?searchtype=extended&filter_by_restype=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23book&property_id=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23pubdate&compop=GT_EQ&searchval=JULIAN:1495-01 - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = incunabulaUser, searchValue = Vector("JULIAN:1495-01"), compareProps = Vector(SearchComparisonOperatorV1.GT_EQ), @@ -602,7 +602,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { "return 15 books when we search for all books whose publication date is less than or equal to December 1495 (Julian date) in the Incunabula test data" in { // http://0.0.0.0:3333/v1/search/?searchtype=extended&filter_by_restype=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23book&property_id=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23pubdate&compop=LT_EQ&searchval=JULIAN:1495-12 - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = incunabulaUser, searchValue = Vector("JULIAN:1495-12"), compareProps = Vector(SearchComparisonOperatorV1.LT_EQ), @@ -619,7 +619,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { "return all the pages that are part of Zeitglöcklein des Lebens" in { // http://0.0.0.0:3333/v1/search/?searchtype=extended&filter_by_restype=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23page&property_id=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23partOf&compop=EQ&searchval=http%3A%2F%2Frdfh.ch%2Fc5058f3a - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = incunabulaUser, searchValue = Vector("http://rdfh.ch/0803/c5058f3a"), compareProps = Vector(SearchComparisonOperatorV1.EQ), @@ -636,7 +636,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { "return all the pages that have a sequence number of 1 and are part of some book" in { // http://0.0.0.0:3333/v1/search/?searchtype=extended&filter_by_restype=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23page&property_id=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23seqnum&compop=EQ&searchval=1&property_id=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23partOf&compop=EXISTS&searchval= - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = incunabulaUser, searchValue = Vector("1", ""), compareProps = Vector(SearchComparisonOperatorV1.EQ, SearchComparisonOperatorV1.EXISTS), @@ -655,7 +655,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { } "return all the representations that have a sequence number of 1 and are part of some book (using knora-base:isPartOf)" in { - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = incunabulaUser, searchValue = Vector("1", ""), compareProps = Vector(SearchComparisonOperatorV1.EQ, SearchComparisonOperatorV1.EXISTS), @@ -675,7 +675,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { "return all the pages that are part of Zeitglöcklein des Lebens and have a seqnum" in { // http://0.0.0.0:3333/v1/search/?searchtype=extended&filter_by_restype=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23page&property_id=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23partOf&compop=EQ&searchval=http%3A%2F%2Frdfh.ch%2Fc5058f3a&property_id=http%3A%2F%2Fwww.knora.org%2Fontology%2Fincunabula%23seqnum&compop=EXISTS&searchval= - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = incunabulaUser, searchValue = Vector("http://rdfh.ch/0803/c5058f3a", ""), compareProps = Vector(SearchComparisonOperatorV1.EQ, SearchComparisonOperatorV1.EXISTS), @@ -695,7 +695,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { } "return all the representations that are part of Zeitglöcklein des Lebens and have a seqnum (using base properties from knora-base)" in { - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = incunabulaUser, searchValue = Vector("http://rdfh.ch/0803/c5058f3a", ""), compareProps = Vector(SearchComparisonOperatorV1.EQ, SearchComparisonOperatorV1.EXISTS), @@ -715,7 +715,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { } "return all the pages that are part of Zeitglöcklein des Lebens, have a seqnum less than or equal to 200, and have a page number that is not 'a1r, Titelblatt'" in { - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = incunabulaUser, searchValue = Vector("http://rdfh.ch/0803/c5058f3a", "200", "a1r, Titelblatt"), compareProps = @@ -738,7 +738,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { "return all the images from the images-demo project whose title belong to the category 'Sport'" in { // http://0.0.0.0:3333/v1/search/?searchtype=extended&property_id%5B%5D=http%3A%2F%2Fwww.knora.org%2Fontology%2Fimages%23titel&compop%5B%5D=EQ&searchval%5B%5D=http%3A%2F%2Frdfh.ch%2Flists%2F71a1543cce&show_nrows=25&start_at=0&filter_by_restype=http%3A%2F%2Fwww.knora.org%2Fontology%2Fimages%23bild - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = incunabulaUser, searchValue = Vector("http://rdfh.ch/lists/00FF/71a1543cce"), // list node SPORT compareProps = Vector(SearchComparisonOperatorV1.EQ), @@ -756,7 +756,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { "return all the images from the images-demo project whose title belong to the category 'Spazieren'" in { // http://0.0.0.0:3333/v1/search/?searchtype=extended&property_id%5B%5D=http%3A%2F%2Fwww.knora.org%2Fontology%2Fimages%23titel&compop%5B%5D=EQ&searchval%5B%5D=http%3A%2F%2Frdfh.ch%2Flists%2F38c73482e3&show_nrows=25&start_at=0&filter_by_restype=http%3A%2F%2Fwww.knora.org%2Fontology%2Fimages%23bild - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = incunabulaUser, searchValue = Vector("http://rdfh.ch/lists/00FF/38c73482e3"), // list node SPAZIEREN compareProps = Vector(SearchComparisonOperatorV1.EQ), @@ -774,7 +774,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { "return all the images from the images-demo project whose title belong to the category 'Alpinismus'" in { // http://0.0.0.0:3333/v1/search/?searchtype=extended&property_id%5B%5D=http%3A%2F%2Fwww.knora.org%2Fontology%2Fimages%23titel&compop%5B%5D=EQ&searchval%5B%5D=http%3A%2F%2Frdfh.ch%2Flists%2F3bc59463e2&show_nrows=25&start_at=0&filter_by_restype=http%3A%2F%2Fwww.knora.org%2Fontology%2Fimages%23bild - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = incunabulaUser, searchValue = Vector("http://rdfh.ch/lists/00FF/3bc59463e2"), // list node ALPINISMUS compareProps = Vector(SearchComparisonOperatorV1.EQ), @@ -794,7 +794,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { // When the owner of the resource and its values, anythingUser1, searches for something that matches the resource's label // as well as both values, the search result should include the resource and show that both values matched. - responderManager ! FulltextSearchGetRequestV1( + appActor ! FulltextSearchGetRequestV1( searchValue = "die AND Dinge", filterByRestype = Some("http://www.knora.org/ontology/0001/anything#Thing"), userProfile = anythingUser1, @@ -808,7 +808,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { // Another user in the same project, anythingUser2, should get the resource as a search result, but should not see the values. - responderManager ! FulltextSearchGetRequestV1( + appActor ! FulltextSearchGetRequestV1( searchValue = "die AND Dinge", filterByRestype = Some("http://www.knora.org/ontology/0001/anything#Thing"), userProfile = anythingUser2, @@ -822,7 +822,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { // User anythingUser2 should also get the resource as a search result by searching for something that matches the resource's label, but not the values. - responderManager ! FulltextSearchGetRequestV1( + appActor ! FulltextSearchGetRequestV1( searchValue = "für AND jemanden", filterByRestype = Some("http://www.knora.org/ontology/0001/anything#Thing"), userProfile = anythingUser2, @@ -837,7 +837,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { // If user anythingUser1 searches for something that matches one of the values, but doesn't match the resource's label, the result should include the // value that matched, but not the value that didn't match. - responderManager ! FulltextSearchGetRequestV1( + appActor ! FulltextSearchGetRequestV1( searchValue = "alles AND für AND mich", filterByRestype = Some("http://www.knora.org/ontology/0001/anything#Thing"), userProfile = anythingUser1, @@ -851,7 +851,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { // If user anythingUser2 searches for something that matches one of the values, but doesn't match the resource's label, no results should be returned. - responderManager ! FulltextSearchGetRequestV1( + appActor ! FulltextSearchGetRequestV1( searchValue = "alles AND für AND mich", filterByRestype = Some("http://www.knora.org/ontology/0001/anything#Thing"), userProfile = anythingUser2, @@ -865,7 +865,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { // A user in another project shouldn't get any results for any of those queries. - responderManager ! FulltextSearchGetRequestV1( + appActor ! FulltextSearchGetRequestV1( searchValue = "die AND Dinge", filterByRestype = Some("http://www.knora.org/ontology/0001/anything#Thing"), userProfile = incunabulaUser, @@ -877,7 +877,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { response.subjects.size should ===(0) } - responderManager ! FulltextSearchGetRequestV1( + appActor ! FulltextSearchGetRequestV1( searchValue = "für AND jemanden", filterByRestype = Some("http://www.knora.org/ontology/0001/anything#Thing"), userProfile = incunabulaUser, @@ -889,7 +889,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { response.subjects.size should ===(0) } - responderManager ! FulltextSearchGetRequestV1( + appActor ! FulltextSearchGetRequestV1( searchValue = "alles AND für AND mich", filterByRestype = Some("http://www.knora.org/ontology/0001/anything#Thing"), userProfile = incunabulaUser, @@ -903,7 +903,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { } "should not show resources that the user doesn't have permission to see in an extended search" in { - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = incunabulaUser, searchValue = Vector("http://rdfh.ch/project-thing-2"), compareProps = Vector(SearchComparisonOperatorV1.EQ), @@ -917,7 +917,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { response.subjects.size should ===(0) } - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = incunabulaUser, searchValue = Vector("http://rdfh.ch/project-thing-2"), compareProps = Vector(SearchComparisonOperatorV1.EQ), @@ -935,7 +935,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { "should show standoff links if the user has view permission on both resources, but show other links only if the user also has view permission on the link" in { // The link's owner, anythingUser1, should see the hasOtherThing link as well as the hasStandoffLinkTo link. - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = anythingUser1, searchValue = Vector("http://rdfh.ch/0001/project-thing-2"), compareProps = Vector(SearchComparisonOperatorV1.EQ), @@ -949,7 +949,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { response.subjects should ===(hasOtherThingResultsForUser1) } - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = anythingUser1, searchValue = Vector("http://rdfh.ch/0001/project-thing-2"), compareProps = Vector(SearchComparisonOperatorV1.EQ), @@ -965,7 +965,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { // But another user in the Anything project should see only the hasStandoffLinkTo link. - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = anythingUser2, searchValue = Vector("http://rdfh.ch/0001/project-thing-2"), compareProps = Vector(SearchComparisonOperatorV1.EQ), @@ -979,7 +979,7 @@ class SearchResponderV1Spec extends CoreSpec() with ImplicitSender { response.subjects.size should ===(0) } - responderManager ! ExtendedSearchGetRequestV1( + appActor ! ExtendedSearchGetRequestV1( userProfile = anythingUser2, searchValue = Vector("http://rdfh.ch/0001/project-thing-2"), compareProps = Vector(SearchComparisonOperatorV1.EQ), diff --git a/webapi/src/test/scala/org/knora/webapi/responders/v1/UsersResponderV1Spec.scala b/webapi/src/test/scala/org/knora/webapi/responders/v1/UsersResponderV1Spec.scala index 1c0a20c348..dd45daf87c 100644 --- a/webapi/src/test/scala/org/knora/webapi/responders/v1/UsersResponderV1Spec.scala +++ b/webapi/src/test/scala/org/knora/webapi/responders/v1/UsersResponderV1Spec.scala @@ -52,7 +52,7 @@ class UsersResponderV1Spec extends CoreSpec(UsersResponderV1Spec.config) with Im "asked about all users" should { "return a list" in { - responderManager ! UsersGetRequestV1(rootUser) + appActor ! UsersGetRequestV1(rootUser) val response = expectMsgType[UsersGetResponseV1](timeout) // println(response.users) response.users.nonEmpty should be(true) @@ -63,7 +63,7 @@ class UsersResponderV1Spec extends CoreSpec(UsersResponderV1Spec.config) with Im "asked about an user identified by 'iri' " should { "return a profile if the user (root user) is known" in { - responderManager ! UserProfileByIRIGetV1( + appActor ! UserProfileByIRIGetV1( userIri = rootUserIri, UserProfileTypeV1.FULL, featureFactoryConfig = defaultFeatureFactoryConfig @@ -74,7 +74,7 @@ class UsersResponderV1Spec extends CoreSpec(UsersResponderV1Spec.config) with Im } "return a profile if the user (incunabula user) is known" in { - responderManager ! UserProfileByIRIGetV1( + appActor ! UserProfileByIRIGetV1( incunabulaUserIri, UserProfileTypeV1.FULL, featureFactoryConfig = defaultFeatureFactoryConfig @@ -83,7 +83,7 @@ class UsersResponderV1Spec extends CoreSpec(UsersResponderV1Spec.config) with Im } "return 'NotFoundException' when the user is unknown " in { - responderManager ! UserProfileByIRIGetRequestV1( + appActor ! UserProfileByIRIGetRequestV1( userIri = "http://rdfh.ch/users/notexisting", userProfileType = UserProfileTypeV1.RESTRICTED, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -93,7 +93,7 @@ class UsersResponderV1Spec extends CoreSpec(UsersResponderV1Spec.config) with Im } "return 'None' when the user is unknown " in { - responderManager ! UserProfileByIRIGetV1( + appActor ! UserProfileByIRIGetV1( userIri = "http://rdfh.ch/users/notexisting", userProfileType = UserProfileTypeV1.RESTRICTED, featureFactoryConfig = defaultFeatureFactoryConfig @@ -105,7 +105,7 @@ class UsersResponderV1Spec extends CoreSpec(UsersResponderV1Spec.config) with Im "asked about an user identified by 'email'" should { "return a profile if the user (root user) is known" in { - responderManager ! UserProfileByEmailGetV1( + appActor ! UserProfileByEmailGetV1( email = rootUserEmail, userProfileType = UserProfileTypeV1.RESTRICTED, featureFactoryConfig = defaultFeatureFactoryConfig @@ -114,7 +114,7 @@ class UsersResponderV1Spec extends CoreSpec(UsersResponderV1Spec.config) with Im } "return a profile if the user (incunabula user) is known" in { - responderManager ! UserProfileByEmailGetV1( + appActor ! UserProfileByEmailGetV1( email = incunabulaUserEmail, userProfileType = UserProfileTypeV1.RESTRICTED, featureFactoryConfig = defaultFeatureFactoryConfig @@ -123,7 +123,7 @@ class UsersResponderV1Spec extends CoreSpec(UsersResponderV1Spec.config) with Im } "return 'NotFoundException' when the user is unknown" in { - responderManager ! UserProfileByEmailGetRequestV1( + appActor ! UserProfileByEmailGetRequestV1( email = "userwrong@example.com", userProfileType = UserProfileTypeV1.RESTRICTED, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -133,7 +133,7 @@ class UsersResponderV1Spec extends CoreSpec(UsersResponderV1Spec.config) with Im } "return 'None' when the user is unknown" in { - responderManager ! UserProfileByEmailGetV1( + appActor ! UserProfileByEmailGetV1( email = "userwrong@example.com", userProfileType = UserProfileTypeV1.RESTRICTED, featureFactoryConfig = defaultFeatureFactoryConfig diff --git a/webapi/src/test/scala/org/knora/webapi/responders/v1/ValuesResponderV1Spec.scala b/webapi/src/test/scala/org/knora/webapi/responders/v1/ValuesResponderV1Spec.scala index 33f14e79ac..356454dac0 100644 --- a/webapi/src/test/scala/org/knora/webapi/responders/v1/ValuesResponderV1Spec.scala +++ b/webapi/src/test/scala/org/knora/webapi/responders/v1/ValuesResponderV1Spec.scala @@ -267,7 +267,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with ) .toString() - storeManager ! SparqlSelectRequest(lastModSparqlQuery) + appActor ! SparqlSelectRequest(lastModSparqlQuery) expectMsgPF(timeout) { case response: SparqlSelectResult => val rows = response.results.bindings @@ -298,7 +298,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with val utf8str = "Comment 1a" - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( resourceIri = zeitglöckleinIri, propertyIri = "http://www.knora.org/ontology/0803/incunabula#book_comment", value = TextValueSimpleV1(utf8str = utf8str), @@ -320,7 +320,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with val utf8str = "Comment 1a" - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( resourceIri = zeitglöckleinIri, propertyIri = "http://www.knora.org/ontology/0803/incunabula#book_comment", value = TextValueSimpleV1(utf8str = utf8str), @@ -336,7 +336,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with } "query a text value without Standoff" in { - responderManager ! ValueGetRequestV1( + appActor ! ValueGetRequestV1( valueIri = commentIri.get, featureFactoryConfig = defaultFeatureFactoryConfig, userProfile = incunabulaUser @@ -348,7 +348,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with } "query a text value containing Standoff" in { - responderManager ! ValueGetRequestV1( + appActor ! ValueGetRequestV1( valueIri = "http://rdfh.ch/0803/e41ab5695c/values/d3398239089e04", featureFactoryConfig = defaultFeatureFactoryConfig, userProfile = incunabulaUser @@ -360,7 +360,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with } "query a standoff link as an ordinary value" in { - responderManager ! ValueGetRequestV1( + appActor ! ValueGetRequestV1( valueIri = "http://rdfh.ch/0001/a-thing-with-text-values/values/0", featureFactoryConfig = defaultFeatureFactoryConfig, userProfile = anythingUser @@ -372,7 +372,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with } "query a LinkValue" in { - responderManager ! LinkValueGetRequestV1( + appActor ! LinkValueGetRequestV1( subjectIri = "http://rdfh.ch/0803/8a0b1e75", predicateIri = "http://www.knora.org/ontology/0803/incunabula#partOf", objectIri = zeitglöckleinIri, @@ -401,7 +401,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with val oldIri = commentIri.get - responderManager ! ChangeValueRequestV1( + appActor ! ChangeValueRequestV1( valueIri = commentIri.get, value = TextValueSimpleV1(utf8str = utf8str), featureFactoryConfig = defaultFeatureFactoryConfig, @@ -439,7 +439,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with |} """.stripMargin - storeManager ! SparqlSelectRequest(sparqlQuery) + appActor ! SparqlSelectRequest(sparqlQuery) expectMsgPF(timeout) { case sparqlSelectResponse: SparqlSelectResult => assert(sparqlSelectResponse.results.bindings.head.rowMap.keySet == Set("value")) @@ -449,7 +449,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with "not add a new version of a value that's exactly the same as the current version" in { val utf8str = "Comment 1b" - responderManager ! ChangeValueRequestV1( + appActor ! ChangeValueRequestV1( valueIri = commentIri.get, value = TextValueSimpleV1(utf8str = utf8str), featureFactoryConfig = defaultFeatureFactoryConfig, @@ -465,7 +465,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with "not create a new value that would duplicate an existing value" in { val utf8str = "Comment 1b" - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( resourceIri = zeitglöckleinIri, propertyIri = "http://www.knora.org/ontology/0803/incunabula#book_comment", value = TextValueSimpleV1(utf8str = utf8str), @@ -482,7 +482,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with "not add a new version of a value that would duplicate an existing value" in { val utf8str = "GW 4168" - responderManager ! ChangeValueRequestV1( + appActor ! ChangeValueRequestV1( valueIri = "http://rdfh.ch/0803/c5058f3a/values/184e99ca01", value = TextValueSimpleV1(utf8str = utf8str), featureFactoryConfig = defaultFeatureFactoryConfig, @@ -496,7 +496,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with } "insert valueHasOrder correctly for each value" in { - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( resourceIri = zeitglöckleinIri, propertyIri = "http://www.knora.org/ontology/0803/incunabula#book_comment", value = TextValueSimpleV1("Comment 2"), @@ -509,7 +509,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with () } - responderManager ! ResourceFullGetRequestV1( + appActor ! ResourceFullGetRequestV1( iri = zeitglöckleinIri, featureFactoryConfig = defaultFeatureFactoryConfig, userADM = incunabulaUser @@ -521,7 +521,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with } "return the version history of a value" in { - responderManager ! ValueVersionHistoryGetRequestV1( + appActor ! ValueVersionHistoryGetRequestV1( resourceIri = zeitglöckleinIri, propertyIri = "http://www.knora.org/ontology/0803/incunabula#book_comment", currentValueIri = commentIri.get, @@ -536,7 +536,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with "mark a value as deleted" in { val lastModBeforeUpdate = getLastModificationDate(zeitglöckleinIri) - responderManager ! DeleteValueRequestV1( + appActor ! DeleteValueRequestV1( valueIri = commentIri.get, featureFactoryConfig = defaultFeatureFactoryConfig, userProfile = incunabulaUser, @@ -547,7 +547,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with commentIri.set(msg.id) } - responderManager ! ValueGetRequestV1( + appActor ! ValueGetRequestV1( valueIri = commentIri.get, featureFactoryConfig = defaultFeatureFactoryConfig, userProfile = incunabulaUser @@ -563,7 +563,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with } "not add a new value to a nonexistent resource" in { - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( resourceIri = "http://rdfh.ch/0803/nonexistent", propertyIri = "http://www.knora.org/ontology/0803/incunabula#book_comment", value = TextValueSimpleV1("Comment 1"), @@ -578,7 +578,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with } "not add a new value to a deleted resource" in { - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( resourceIri = "http://rdfh.ch/0803/9935159f67", propertyIri = "http://www.knora.org/ontology/0803/incunabula#book_comment", value = TextValueSimpleV1("Comment 1"), @@ -593,7 +593,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with } "not add a new version of a deleted value" in { - responderManager ! ChangeValueRequestV1( + appActor ! ChangeValueRequestV1( valueIri = commentIri.get, value = TextValueSimpleV1("Comment 1c"), featureFactoryConfig = defaultFeatureFactoryConfig, @@ -607,7 +607,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with } "not add a new value to a resource that the user doesn't have permission to modify" in { - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( resourceIri = "http://rdfh.ch/0803/e41ab5695c", propertyIri = "http://www.knora.org/ontology/0803/incunabula#book_comment", value = TextValueSimpleV1("Comment 1"), @@ -622,7 +622,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with } "not add a new value of the wrong type" in { - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( resourceIri = "http://rdfh.ch/0803/21abac2162", propertyIri = "http://www.knora.org/ontology/0803/incunabula#pubdate", value = TextValueSimpleV1("this is not a date"), @@ -637,7 +637,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with } "not add a new version to a value that the user doesn't have permission to modify" in { - responderManager ! ChangeValueRequestV1( + appActor ! ChangeValueRequestV1( valueIri = "http://rdfh.ch/0803/c5058f3a/values/c3295339", value = TextValueSimpleV1("Zeitglöcklein des Lebens und Leidens Christi modified"), featureFactoryConfig = defaultFeatureFactoryConfig, @@ -651,7 +651,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with } "not add a new version of a value of the wrong type" in { - responderManager ! ChangeValueRequestV1( + appActor ! ChangeValueRequestV1( valueIri = "http://rdfh.ch/0803/c5058f3a/values/cfd09f1e01", value = TextValueSimpleV1("this is not a date"), featureFactoryConfig = defaultFeatureFactoryConfig, @@ -666,7 +666,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with "not add a new value that would violate a cardinality restriction" in { // The cardinality of incunabula:partOf in incunabula:page is 1, and page http://rdfh.ch/0803/4f11adaf is already part of a book. - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( resourceIri = "http://rdfh.ch/0803/4f11adaf", propertyIri = "http://www.knora.org/ontology/0803/incunabula#partOf", value = LinkUpdateV1(targetResourceIri = "http://rdfh.ch/0803/e41ab5695c"), @@ -680,7 +680,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with } // The cardinality of incunabula:seqnum in incunabula:page is 0-1, and page http://rdfh.ch/0803/4f11adaf already has a seqnum. - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( resourceIri = "http://rdfh.ch/0803/4f11adaf", propertyIri = "http://www.knora.org/ontology/0803/incunabula#seqnum", value = IntegerValueV1(1), @@ -698,7 +698,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with val color = "#000000" - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( resourceIri = miscResourceIri, propertyIri = "http://www.knora.org/ontology/0803/incunabula#miscHasColor", value = ColorValueV1(color), @@ -717,7 +717,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with val color = "#FFFFFF" - responderManager ! ChangeValueRequestV1( + appActor ! ChangeValueRequestV1( value = ColorValueV1(color), featureFactoryConfig = defaultFeatureFactoryConfig, userProfile = incunabulaUser, @@ -736,7 +736,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with val geom = "{\"status\":\"active\",\"lineColor\":\"#ff3333\",\"lineWidth\":2,\"points\":[{\"x\":0.5516074450084602,\"y\":0.4444444444444444},{\"x\":0.2791878172588832,\"y\":0.5}],\"type\":\"rectangle\",\"original_index\":0}" - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( resourceIri = miscResourceIri, propertyIri = "http://www.knora.org/ontology/0803/incunabula#miscHasGeometry", value = GeomValueV1(geom), @@ -757,7 +757,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with val geom = "{\"status\":\"active\",\"lineColor\":\"#ff4433\",\"lineWidth\":1,\"points\":[{\"x\":0.5516074450084602,\"y\":0.4444444444444444},{\"x\":0.2791878172588832,\"y\":0.5}],\"type\":\"rectangle\",\"original_index\":0}" - responderManager ! ChangeValueRequestV1( + appActor ! ChangeValueRequestV1( value = GeomValueV1(geom), valueIri = currentGeomValueIri.get, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -775,7 +775,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with val utf8str = "Comment 1aa" - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( resourceIri = zeitglöckleinIri, propertyIri = "http://www.knora.org/ontology/0803/incunabula#book_comment", value = TextValueWithStandoffV1( @@ -798,7 +798,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with val utf8str = "Comment 1aa" - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( resourceIri = zeitglöckleinIri, propertyIri = "http://www.knora.org/ontology/0803/incunabula#book_comment", value = TextValueWithStandoffV1( @@ -822,7 +822,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with val utf8str = "Comment 1bb" - responderManager ! ChangeValueRequestV1( + appActor ! ChangeValueRequestV1( valueIri = commentIri.get, value = TextValueWithStandoffV1( utf8str = utf8str, @@ -844,7 +844,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with val utf8str = "Comment 1bb" - responderManager ! ChangeValueRequestV1( + appActor ! ChangeValueRequestV1( valueIri = commentIri.get, value = TextValueWithStandoffV1( utf8str = utf8str, @@ -888,7 +888,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with mapping = dummyMapping ) - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( resourceIri = "http://rdfh.ch/0803/21abac2162", propertyIri = "http://www.knora.org/ontology/0803/incunabula#book_comment", value = textValueWithResourceRef, @@ -902,7 +902,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with checkTextValue(received = newValue, expected = textValueWithResourceRef) } - responderManager ! LinkValueGetRequestV1( + appActor ! LinkValueGetRequestV1( subjectIri = "http://rdfh.ch/0803/21abac2162", predicateIri = OntologyConstants.KnoraBase.HasStandoffLinkTo, objectIri = zeitglöckleinIri, @@ -934,7 +934,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with ) .toString() - storeManager ! SparqlSelectRequest(sparqlQuery) + appActor ! SparqlSelectRequest(sparqlQuery) // The new LinkValue should have no previous version, and there should be a direct link between the resources. @@ -988,7 +988,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with mappingIri = "http://rdfh.ch/standoff/mappings/StandardMapping" ) - responderManager ! ChangeValueRequestV1( + appActor ! ChangeValueRequestV1( valueIri = firstValueIriWithResourceRef.get, value = textValueWithResourceRef, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -1001,7 +1001,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with checkTextValue(received = newValue, expected = textValueWithResourceRef) } - responderManager ! LinkValueGetRequestV1( + appActor ! LinkValueGetRequestV1( subjectIri = "http://rdfh.ch/0803/21abac2162", predicateIri = OntologyConstants.KnoraBase.HasStandoffLinkTo, objectIri = zeitglöckleinIri, @@ -1033,7 +1033,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with ) .toString() - storeManager ! SparqlSelectRequest(sparqlQuery) + appActor ! SparqlSelectRequest(sparqlQuery) // There should be no new version of the LinkValue, and the direct link should still be there. @@ -1070,7 +1070,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with mappingIri = "http://rdfh.ch/standoff/mappings/StandardMapping" ) - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( resourceIri = "http://rdfh.ch/0803/21abac2162", propertyIri = "http://www.knora.org/ontology/0803/incunabula#book_comment", value = textValueWithResourceRef, @@ -1084,7 +1084,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with checkTextValue(received = newValue, expected = textValueWithResourceRef) } - responderManager ! LinkValueGetRequestV1( + appActor ! LinkValueGetRequestV1( subjectIri = "http://rdfh.ch/0803/21abac2162", predicateIri = OntologyConstants.KnoraBase.HasStandoffLinkTo, objectIri = zeitglöckleinIri, @@ -1116,7 +1116,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with ) .toString() - storeManager ! SparqlSelectRequest(sparqlQuery) + appActor ! SparqlSelectRequest(sparqlQuery) // It should have a previousValue pointing to the previous version, and the direct link should // still be there. @@ -1132,7 +1132,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with "add a new version of a text value with the Standoff resource reference removed, and make a new version of the LinkValue" in { val textValue = TextValueSimpleV1(utf8str = "No resource reference here") - responderManager ! ChangeValueRequestV1( + appActor ! ChangeValueRequestV1( valueIri = firstValueIriWithResourceRef.get, value = textValue, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -1145,7 +1145,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with checkTextValue(received = textValue, expected = newValue) } - responderManager ! LinkValueGetRequestV1( + appActor ! LinkValueGetRequestV1( subjectIri = "http://rdfh.ch/0803/21abac2162", predicateIri = OntologyConstants.KnoraBase.HasStandoffLinkTo, objectIri = zeitglöckleinIri, @@ -1176,7 +1176,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with ) .toString() - storeManager ! SparqlSelectRequest(sparqlQuery) + appActor ! SparqlSelectRequest(sparqlQuery) // The LinkValue should point to its previous version, and the direct link should still be there. @@ -1190,7 +1190,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with // The LinkValue should have 3 versions in its version history. - responderManager ! ValueVersionHistoryGetRequestV1( + appActor ! ValueVersionHistoryGetRequestV1( resourceIri = "http://rdfh.ch/0803/21abac2162", propertyIri = OntologyConstants.KnoraBase.HasStandoffLinkToValue, currentValueIri = standoffLinkValueIri.get, @@ -1205,7 +1205,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with "delete a hasStandoffLinkTo direct link when the reference count of the corresponding LinkValue reaches 0" in { val textValue = TextValueSimpleV1(utf8str = "No resource reference here either") - responderManager ! ChangeValueRequestV1( + appActor ! ChangeValueRequestV1( valueIri = secondValueIriWithResourceRef.get, value = textValue, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -1220,7 +1220,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with // The new version of the LinkValue should be marked as deleted. - responderManager ! LinkValueGetRequestV1( + appActor ! LinkValueGetRequestV1( subjectIri = "http://rdfh.ch/0803/21abac2162", predicateIri = OntologyConstants.KnoraBase.HasStandoffLinkTo, objectIri = zeitglöckleinIri, @@ -1241,7 +1241,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with ) .toString() - storeManager ! SparqlSelectRequest(sparqlQuery) + appActor ! SparqlSelectRequest(sparqlQuery) // The LinkValue should point to its previous version. There should be no direct link. @@ -1283,7 +1283,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with mappingIri = "http://rdfh.ch/standoff/mappings/StandardMapping" ) - responderManager ! ChangeValueRequestV1( + appActor ! ChangeValueRequestV1( valueIri = firstValueIriWithResourceRef.get, value = textValueWithResourceRef, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -1296,7 +1296,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with checkTextValue(received = newValue, expected = textValueWithResourceRef) } - responderManager ! LinkValueGetRequestV1( + appActor ! LinkValueGetRequestV1( subjectIri = "http://rdfh.ch/0803/21abac2162", predicateIri = OntologyConstants.KnoraBase.HasStandoffLinkTo, objectIri = zeitglöckleinIri, @@ -1328,7 +1328,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with ) .toString() - storeManager ! SparqlSelectRequest(sparqlQuery) + appActor ! SparqlSelectRequest(sparqlQuery) expectMsgPF(timeout) { case response: SparqlSelectResult => val rows = response.results.bindings @@ -1342,7 +1342,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with val seqnum = 4 - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( resourceIri = "http://rdfh.ch/0803/8a0b1e75", propertyIri = "http://www.knora.org/ontology/0803/incunabula#seqnum", value = IntegerValueV1(seqnum), @@ -1361,7 +1361,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with val seqnum = 8 - responderManager ! ChangeValueRequestV1( + appActor ! ChangeValueRequestV1( value = IntegerValueV1(seqnum), featureFactoryConfig = defaultFeatureFactoryConfig, userProfile = incunabulaUser, @@ -1378,7 +1378,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with val timeStamp = Instant.parse("2019-08-28T15:13:10.968318Z") - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( resourceIri = "http://rdfh.ch/0001/a-thing", propertyIri = "http://www.knora.org/ontology/0001/anything#hasTimeStamp", value = TimeValueV1(timeStamp), @@ -1397,7 +1397,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with val timeStamp = Instant.parse("2019-08-28T15:55:22.213394Z") - responderManager ! ChangeValueRequestV1( + appActor ! ChangeValueRequestV1( value = TimeValueV1(timeStamp), featureFactoryConfig = defaultFeatureFactoryConfig, userProfile = anythingUser, @@ -1414,7 +1414,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with // great resource to verify that expected conversion result from and to JDC is correct: // https://www.fourmilab.ch/documents/calendar/ - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( resourceIri = "http://rdfh.ch/0803/21abac2162", propertyIri = "http://www.knora.org/ontology/0803/incunabula#pubdate", value = JulianDayNumberValueV1( @@ -1437,7 +1437,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with "change an existing date (pubdate of a book)" in { - responderManager ! ChangeValueRequestV1( + appActor ! ChangeValueRequestV1( value = JulianDayNumberValueV1( dateval1 = 2265854, dateval2 = 2265854, @@ -1473,7 +1473,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with apiRequestID = UUID.randomUUID ) - responderManager ! createValueRequest + appActor ! createValueRequest expectMsgPF(timeout) { case CreateValueResponseV1(linkV1: LinkV1, _, newLinkValueIri: IRI, _) => linkObjLinkValueIri.set(newLinkValueIri) @@ -1491,7 +1491,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with ) .toString() - storeManager ! SparqlSelectRequest(sparqlQuery) + appActor ! SparqlSelectRequest(sparqlQuery) expectMsgPF(timeout) { case response: SparqlSelectResult => val rows = response.results.bindings @@ -1517,7 +1517,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with apiRequestID = UUID.randomUUID ) - responderManager ! createValueRequest + appActor ! createValueRequest expectMsgPF(timeout) { case msg: akka.actor.Status.Failure => msg.cause.isInstanceOf[DuplicateValueException] should ===(true) @@ -1525,7 +1525,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with } "not create a link that points to a resource of the wrong class" in { - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( resourceIri = miscResourceIri, propertyIri = "http://www.knora.org/ontology/0803/incunabula#miscHasBook", // can only point to an incunabula:book @@ -1557,7 +1557,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with apiRequestID = UUID.randomUUID ) - responderManager ! changeValueRequest + appActor ! changeValueRequest expectMsgPF(timeout) { case ChangeValueResponseV1(linkValue: LinkV1, _, newLinkValueIri: IRI, _) => linkObjLinkValueIri.set(newLinkValueIri) @@ -1575,7 +1575,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with ) .toString() - storeManager ! SparqlSelectRequest(oldLinkValueSparqlQuery) + appActor ! SparqlSelectRequest(oldLinkValueSparqlQuery) expectMsgPF(timeout) { case response: SparqlSelectResult => val rows = response.results.bindings @@ -1598,7 +1598,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with ) .toString() - storeManager ! SparqlSelectRequest(newLinkValueSparqlQuery) + appActor ! SparqlSelectRequest(newLinkValueSparqlQuery) expectMsgPF(timeout) { case response: SparqlSelectResult => val rows = response.results.bindings @@ -1620,7 +1620,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with val comment = "This link is no longer needed" - responderManager ! DeleteValueRequestV1( + appActor ! DeleteValueRequestV1( valueIri = linkObjLinkValueIri.get, deleteComment = Some(comment), featureFactoryConfig = defaultFeatureFactoryConfig, @@ -1641,7 +1641,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with ) .toString() - storeManager ! SparqlSelectRequest(deletedLinkValueSparqlQuery) + appActor ! SparqlSelectRequest(deletedLinkValueSparqlQuery) expectMsgPF(timeout) { case response: SparqlSelectResult => val rows = response.results.bindings @@ -1682,7 +1682,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with apiRequestID = UUID.randomUUID ) - responderManager ! changeValueRequest + appActor ! changeValueRequest expectMsgPF(timeout) { case ChangeValueResponseV1(linkValue: LinkV1, _, newLinkValueIri: IRI, _) => // save valueIri for next test @@ -1709,7 +1709,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with apiRequestID = UUID.randomUUID ) - responderManager ! changeValueRequest + appActor ! changeValueRequest expectMsgPF(timeout) { case msg: akka.actor.Status.Failure => msg.cause.isInstanceOf[DuplicateValueException] should ===(true) @@ -1721,7 +1721,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with val comment = "This is a comment" val metaComment = "This is a metacomment" - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( resourceIri = zeitglöckleinIri, propertyIri = "http://www.knora.org/ontology/0803/incunabula#book_comment", value = TextValueSimpleV1(utf8str = comment), @@ -1750,7 +1750,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with apiRequestID = UUID.randomUUID ) - responderManager ! changeCommentRequest + appActor ! changeCommentRequest expectMsgPF(timeout) { case msg: ChangeValueResponseV1 => msg.value should ===(TextValueSimpleV1(utf8str = "Berthold, der Bruder")) @@ -1782,7 +1782,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with userProfile = incunabulaUser ) - responderManager ! fileChangeRequest + appActor ! fileChangeRequest expectMsgPF(timeout) { case msg: ChangeFileValueResponseV1 => checkImageFileValueChange(msg, fileChangeRequest) @@ -1794,7 +1794,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with val winter = "http://rdfh.ch/lists/00FF/eda2792605" - responderManager ! ChangeValueRequestV1( + appActor ! ChangeValueRequestV1( value = HierarchicalListValueV1(winter), featureFactoryConfig = defaultFeatureFactoryConfig, userProfile = imagesUser, @@ -1812,7 +1812,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with val summer = "http://rdfh.ch/lists/00FF/526f26ed04" - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( value = HierarchicalListValueV1(summer), featureFactoryConfig = defaultFeatureFactoryConfig, userProfile = imagesUser, @@ -1830,7 +1830,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with "add a decimal value to an anything:Thing" in { val decimalValue = DecimalValueV1(BigDecimal("5.6")) - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( value = decimalValue, featureFactoryConfig = defaultFeatureFactoryConfig, userProfile = anythingUser, @@ -1850,7 +1850,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with timeval2 = BigDecimal("1000000000000000.0000000000000002") ) - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( value = intervalValue, featureFactoryConfig = defaultFeatureFactoryConfig, userProfile = anythingUser, @@ -1867,7 +1867,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with "add a color value to an anything:Thing" in { val colorValue = ColorValueV1("#4169E1") - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( value = colorValue, featureFactoryConfig = defaultFeatureFactoryConfig, userProfile = anythingUser, @@ -1921,7 +1921,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with "add a boolean value to an anything:Thing" in { val booleanValue = BooleanValueV1(true) - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( value = booleanValue, featureFactoryConfig = defaultFeatureFactoryConfig, userProfile = anythingUser, @@ -1938,7 +1938,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with "add a URI value to an anything:Thing" in { val uriValue = UriValueV1("http://dhlab.unibas.ch") - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( value = uriValue, featureFactoryConfig = defaultFeatureFactoryConfig, userProfile = anythingUser, @@ -1960,7 +1960,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with // Check that the link value has an initial reference count of 2. - responderManager ! LinkValueGetRequestV1( + appActor ! LinkValueGetRequestV1( subjectIri = thingWithTextValues, predicateIri = OntologyConstants.KnoraBase.HasStandoffLinkTo, objectIri = aThingIri, @@ -1989,7 +1989,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with ) .toString() - storeManager ! SparqlSelectRequest(initialLinkValueSparqlQuery) + appActor ! SparqlSelectRequest(initialLinkValueSparqlQuery) // It should have no previousValue, and the direct link should exist. @@ -2002,7 +2002,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with // Now delete the first text value. - responderManager ! DeleteValueRequestV1( + appActor ! DeleteValueRequestV1( valueIri = firstTextValue, featureFactoryConfig = defaultFeatureFactoryConfig, userProfile = anythingUser, @@ -2013,7 +2013,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with msg.id } - responderManager ! ValueGetRequestV1( + appActor ! ValueGetRequestV1( valueIri = deletedFirstTextValue, featureFactoryConfig = defaultFeatureFactoryConfig, userProfile = anythingUser @@ -2029,7 +2029,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with // The link value should now have a reference count of 1. - responderManager ! LinkValueGetRequestV1( + appActor ! LinkValueGetRequestV1( subjectIri = thingWithTextValues, predicateIri = OntologyConstants.KnoraBase.HasStandoffLinkTo, objectIri = aThingIri, @@ -2060,7 +2060,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with ) .toString() - storeManager ! SparqlSelectRequest(decrementedLinkValueSparqlQuery) + appActor ! SparqlSelectRequest(decrementedLinkValueSparqlQuery) expectMsgPF(timeout) { case response: SparqlSelectResult => val rows = response.results.bindings @@ -2071,7 +2071,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with // Now delete the second text value. - responderManager ! DeleteValueRequestV1( + appActor ! DeleteValueRequestV1( valueIri = secondTextValue, featureFactoryConfig = defaultFeatureFactoryConfig, userProfile = anythingUser, @@ -2082,7 +2082,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with msg.id } - responderManager ! ValueGetRequestV1( + appActor ! ValueGetRequestV1( valueIri = deletedSecondTextValue, featureFactoryConfig = defaultFeatureFactoryConfig, userProfile = anythingUser @@ -2098,7 +2098,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with // The new version of the LinkValue should be marked as deleted. - responderManager ! LinkValueGetRequestV1( + appActor ! LinkValueGetRequestV1( subjectIri = thingWithTextValues, predicateIri = OntologyConstants.KnoraBase.HasStandoffLinkTo, objectIri = aThingIri, @@ -2121,7 +2121,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with ) .toString() - storeManager ! SparqlSelectRequest(deletedLinkValueSparqlQuery) + appActor ! SparqlSelectRequest(deletedLinkValueSparqlQuery) expectMsgPF(timeout) { case response: SparqlSelectResult => standoffLinkValueIri.unset() @@ -2163,7 +2163,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with mappingIri = "http://rdfh.ch/standoff/mappings/StandardMapping" ) - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( resourceIri = zeitglöckleinIri, propertyIri = "http://www.knora.org/ontology/0803/incunabula#book_comment", value = textValueWithResourceRef, @@ -2179,7 +2179,7 @@ class ValuesResponderV1Spec extends CoreSpec(ValuesResponderV1Spec.config) with "add a new text value with language" in { - responderManager ! CreateValueRequestV1( + appActor ! CreateValueRequestV1( value = TextValueSimpleV1(utf8str = "Hello World!", language = Some("en")), featureFactoryConfig = defaultFeatureFactoryConfig, userProfile = anythingUser, diff --git a/webapi/src/test/scala/org/knora/webapi/responders/v2/ListsResponderV2Spec.scala b/webapi/src/test/scala/org/knora/webapi/responders/v2/ListsResponderV2Spec.scala index d6b5f8d469..0a8a7e76f8 100644 --- a/webapi/src/test/scala/org/knora/webapi/responders/v2/ListsResponderV2Spec.scala +++ b/webapi/src/test/scala/org/knora/webapi/responders/v2/ListsResponderV2Spec.scala @@ -42,7 +42,7 @@ class ListsResponderV2Spec extends CoreSpec() with ImplicitSender { "The lists responder v2" should { "return a list" in { - responderManager ! ListGetRequestV2( + appActor ! ListGetRequestV2( listIri = "http://rdfh.ch/lists/0001/treeList", featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = userProfile @@ -54,7 +54,7 @@ class ListsResponderV2Spec extends CoreSpec() with ImplicitSender { } "return a node" in { - responderManager ! NodeGetRequestV2( + appActor ! NodeGetRequestV2( nodeIri = "http://rdfh.ch/lists/0001/treeList11", featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = userProfile diff --git a/webapi/src/test/scala/org/knora/webapi/responders/v2/OntologyResponderV2Spec.scala b/webapi/src/test/scala/org/knora/webapi/responders/v2/OntologyResponderV2Spec.scala index bd608f4c0e..8262f1092b 100644 --- a/webapi/src/test/scala/org/knora/webapi/responders/v2/OntologyResponderV2Spec.scala +++ b/webapi/src/test/scala/org/knora/webapi/responders/v2/OntologyResponderV2Spec.scala @@ -100,10 +100,10 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { val anythingHasStandoffLinkToValue: IRI = "http://api.knora.org/ontology/knora-api/v2#hasStandoffLinkToValue" private def loadInvalidTestData(rdfDataObjs: List[RdfDataObject]): Unit = { - storeManager ! ResetRepositoryContent(rdfDataObjs) + appActor ! ResetRepositoryContent(rdfDataObjs) expectMsg(5 minutes, ResetRepositoryContentACK()) - responderManager ! LoadOntologiesRequestV2( + appActor ! LoadOntologiesRequestV2( featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = KnoraSystemInstances.Users.SystemUser ) @@ -114,7 +114,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "The ontology responder v2" should { "not allow a user to create an ontology if they are not a sysadmin or an admin in the ontology's project" in { - responderManager ! CreateOntologyRequestV2( + appActor ! CreateOntologyRequestV2( ontologyName = "foo", projectIri = imagesProjectIri, label = "The foo ontology", @@ -130,7 +130,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { } "create an empty ontology called 'foo' with a project code" in { - responderManager ! CreateOntologyRequestV2( + appActor ! CreateOntologyRequestV2( ontologyName = "foo", projectIri = imagesProjectIri, label = "The foo ontology", @@ -152,7 +152,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "change the label in the metadata of 'foo'" in { val newLabel = "The modified foo ontology" - responderManager ! ChangeOntologyMetadataRequestV2( + appActor ! ChangeOntologyMetadataRequestV2( ontologyIri = fooIri.get.toSmartIri.toOntologySchema(ApiV2Complex), label = Some(newLabel), lastModificationDate = fooLastModDate, @@ -176,7 +176,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "add a comment to the metadata of 'foo' ontology" in { val aComment = "a comment" - responderManager ! ChangeOntologyMetadataRequestV2( + appActor ! ChangeOntologyMetadataRequestV2( ontologyIri = fooIri.get.toSmartIri.toOntologySchema(ApiV2Complex), comment = Some(aComment), lastModificationDate = fooLastModDate, @@ -201,7 +201,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { val aLabel = "a changed label" val aComment = "a changed comment" - responderManager ! ChangeOntologyMetadataRequestV2( + appActor ! ChangeOntologyMetadataRequestV2( ontologyIri = fooIri.get.toSmartIri.toOntologySchema(ApiV2Complex), label = Some(aLabel), comment = Some(aComment), @@ -227,7 +227,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "change the label of 'foo' again" in { val newLabel = "a label changed again" - responderManager ! ChangeOntologyMetadataRequestV2( + appActor ! ChangeOntologyMetadataRequestV2( ontologyIri = fooIri.get.toSmartIri.toOntologySchema(ApiV2Complex), label = Some(newLabel), lastModificationDate = fooLastModDate, @@ -250,7 +250,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { } "delete the comment from 'foo'" in { - responderManager ! DeleteOntologyCommentRequestV2( + appActor ! DeleteOntologyCommentRequestV2( ontologyIri = fooIri.get.toSmartIri.toOntologySchema(ApiV2Complex), lastModificationDate = fooLastModDate, apiRequestID = UUID.randomUUID, @@ -272,7 +272,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { } "not create an ontology if the given name matches NCName pattern but is not URL safe" in { - responderManager ! CreateOntologyRequestV2( + appActor ! CreateOntologyRequestV2( ontologyName = "bär", projectIri = imagesProjectIri, label = "The bär ontology", @@ -288,7 +288,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { } "create an empty ontology called 'bar' with a comment" in { - responderManager ! CreateOntologyRequestV2( + appActor ! CreateOntologyRequestV2( ontologyName = "bar", projectIri = imagesProjectIri, label = "The bar ontology", @@ -314,7 +314,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "change the existing comment in the metadata of 'bar' ontology" in { val newComment = "a new comment" - responderManager ! ChangeOntologyMetadataRequestV2( + appActor ! ChangeOntologyMetadataRequestV2( ontologyIri = barIri.get.toSmartIri.toOntologySchema(ApiV2Complex), comment = Some(newComment), lastModificationDate = barLastModDate, @@ -336,7 +336,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { } "not create 'foo' again" in { - responderManager ! CreateOntologyRequestV2( + appActor ! CreateOntologyRequestV2( ontologyName = "foo", projectIri = imagesProjectIri, label = "The foo ontology", @@ -352,7 +352,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { } "not delete an ontology that doesn't exist" in { - responderManager ! DeleteOntologyRequestV2( + appActor ! DeleteOntologyRequestV2( ontologyIri = "http://0.0.0.0:3333/ontology/1234/nonexistent/v2".toSmartIri, lastModificationDate = fooLastModDate, apiRequestID = UUID.randomUUID, @@ -367,7 +367,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { } "not allow a user to delete an ontology if they are not a sysadmin or an admin in the ontology's project" in { - responderManager ! DeleteOntologyRequestV2( + appActor ! DeleteOntologyRequestV2( ontologyIri = fooIri.get.toSmartIri.toOntologySchema(ApiV2Complex), lastModificationDate = fooLastModDate, apiRequestID = UUID.randomUUID, @@ -382,7 +382,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { } "delete the 'foo' ontology" in { - responderManager ! DeleteOntologyRequestV2( + appActor ! DeleteOntologyRequestV2( ontologyIri = fooIri.get.toSmartIri.toOntologySchema(ApiV2Complex), lastModificationDate = fooLastModDate, apiRequestID = UUID.randomUUID, @@ -394,7 +394,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { // Request the metadata of all ontologies to check that 'foo' isn't listed. - responderManager ! OntologyMetadataGetByProjectRequestV2( + appActor ! OntologyMetadataGetByProjectRequestV2( requestingUser = imagesUser ) @@ -403,14 +403,14 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { // Reload the ontologies from the triplestore and check again. - responderManager ! LoadOntologiesRequestV2( + appActor ! LoadOntologiesRequestV2( featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = KnoraSystemInstances.Users.SystemUser ) expectMsgType[SuccessResponseV2](10.seconds) - responderManager ! OntologyMetadataGetByProjectRequestV2( + appActor ! OntologyMetadataGetByProjectRequestV2( requestingUser = imagesUser ) @@ -419,7 +419,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { } "not delete the 'anything' ontology, because it is used in data and in the 'something' ontology" in { - responderManager ! OntologyMetadataGetByProjectRequestV2( + appActor ! OntologyMetadataGetByProjectRequestV2( projectIris = Set(anythingProjectIri), requestingUser = anythingAdminUser ) @@ -434,7 +434,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { .lastModificationDate .get - responderManager ! DeleteOntologyRequestV2( + appActor ! DeleteOntologyRequestV2( ontologyIri = AnythingOntologyIri, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -460,7 +460,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { } "not create an ontology called 'rdfs'" in { - responderManager ! CreateOntologyRequestV2( + appActor ! CreateOntologyRequestV2( ontologyName = "rdfs", projectIri = imagesProjectIri, label = "The rdfs ontology", @@ -477,7 +477,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { } "not create an ontology called '0000'" in { - responderManager ! CreateOntologyRequestV2( + appActor ! CreateOntologyRequestV2( ontologyName = "0000", projectIri = imagesProjectIri, label = "The 0000 ontology", @@ -494,7 +494,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { } "not create an ontology called '-foo'" in { - responderManager ! CreateOntologyRequestV2( + appActor ! CreateOntologyRequestV2( ontologyName = "-foo", projectIri = imagesProjectIri, label = "The -foo ontology", @@ -511,7 +511,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { } "not create an ontology called 'v3'" in { - responderManager ! CreateOntologyRequestV2( + appActor ! CreateOntologyRequestV2( ontologyName = "v3", projectIri = imagesProjectIri, label = "The v3 ontology", @@ -528,7 +528,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { } "not create an ontology called 'ontology'" in { - responderManager ! CreateOntologyRequestV2( + appActor ! CreateOntologyRequestV2( ontologyName = "ontology", projectIri = imagesProjectIri, label = "The ontology ontology", @@ -545,7 +545,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { } "not create an ontology called 'knora'" in { - responderManager ! CreateOntologyRequestV2( + appActor ! CreateOntologyRequestV2( ontologyName = "knora", projectIri = imagesProjectIri, label = "The wrong knora ontology", @@ -562,7 +562,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { } "not create an ontology called 'simple'" in { - responderManager ! CreateOntologyRequestV2( + appActor ! CreateOntologyRequestV2( ontologyName = "simple", projectIri = imagesProjectIri, label = "The simple ontology", @@ -579,7 +579,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { } "not create an ontology called 'shared'" in { - responderManager ! CreateOntologyRequestV2( + appActor ! CreateOntologyRequestV2( ontologyName = "shared", projectIri = imagesProjectIri, label = "The invalid shared ontology", @@ -596,7 +596,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { } "not create a shared ontology in the wrong project" in { - responderManager ! CreateOntologyRequestV2( + appActor ! CreateOntologyRequestV2( ontologyName = "misplaced", projectIri = imagesProjectIri, isShared = true, @@ -613,7 +613,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { } "not create a non-shared ontology in the shared ontologies project" in { - responderManager ! CreateOntologyRequestV2( + appActor ! CreateOntologyRequestV2( ontologyName = "misplaced", projectIri = OntologyConstants.KnoraAdmin.DefaultSharedOntologiesProject.toSmartIri, label = "The invalid non-shared ontology", @@ -629,7 +629,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { } "create a shared ontology" in { - responderManager ! CreateOntologyRequestV2( + appActor ! CreateOntologyRequestV2( ontologyName = "chair", projectIri = OntologyConstants.KnoraAdmin.DefaultSharedOntologiesProject.toSmartIri, isShared = true, @@ -651,7 +651,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "not allow a user to create a property if they are not a sysadmin or an admin in the ontology's project" in { - responderManager ! OntologyMetadataGetByProjectRequestV2( + appActor ! OntologyMetadataGetByProjectRequestV2( projectIris = Set(anythingProjectIri), requestingUser = anythingNonAdminUser ) @@ -703,7 +703,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -719,7 +719,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "create a property anything:hasName as a subproperty of knora-api:hasValue and schema:name" in { - responderManager ! OntologyMetadataGetByProjectRequestV2( + appActor ! OntologyMetadataGetByProjectRequestV2( projectIris = Set(anythingProjectIri), requestingUser = anythingAdminUser ) @@ -771,7 +771,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -793,14 +793,14 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { // Reload the ontology cache and see if we get the same result. - responderManager ! LoadOntologiesRequestV2( + appActor ! LoadOntologiesRequestV2( featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = KnoraSystemInstances.Users.SystemUser ) expectMsgType[SuccessResponseV2](10.seconds) - responderManager ! PropertiesGetRequestV2( + appActor ! PropertiesGetRequestV2( propertyIris = Set(propertyIri), allLanguages = true, requestingUser = anythingAdminUser @@ -816,7 +816,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "create a link property in the 'anything' ontology, and automatically create the corresponding link value property" in { - responderManager ! OntologyMetadataGetByProjectRequestV2( + appActor ! OntologyMetadataGetByProjectRequestV2( projectIris = Set(anythingProjectIri), requestingUser = anythingAdminUser ) @@ -865,7 +865,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -891,7 +891,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { val linkValuePropIri = propertyIri.fromLinkPropToLinkValueProp - responderManager ! PropertiesGetRequestV2( + appActor ! PropertiesGetRequestV2( propertyIris = Set(linkValuePropIri), allLanguages = true, requestingUser = anythingAdminUser @@ -908,14 +908,14 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { // Reload the ontology cache and see if we get the same result. - responderManager ! LoadOntologiesRequestV2( + appActor ! LoadOntologiesRequestV2( featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = KnoraSystemInstances.Users.SystemUser ) expectMsgType[SuccessResponseV2](10.seconds) - responderManager ! PropertiesGetRequestV2( + appActor ! PropertiesGetRequestV2( propertyIris = Set(propertyIri), allLanguages = true, requestingUser = anythingAdminUser @@ -930,7 +930,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { readPropertyInfo.entityInfoContent should ===(propertyInfoContent) } - responderManager ! PropertiesGetRequestV2( + appActor ! PropertiesGetRequestV2( propertyIris = Set(linkValuePropIri), allLanguages = true, requestingUser = anythingAdminUser @@ -949,7 +949,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "create a subproperty of an existing custom link property and add it to a resource class, check if the correct link and link value properties were added to the class" in { - responderManager ! OntologyMetadataGetByProjectRequestV2( + appActor ! OntologyMetadataGetByProjectRequestV2( projectIris = Set(anythingProjectIri), requestingUser = anythingAdminUser ) @@ -989,7 +989,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = comicBookClassInfoContent, lastModificationDate = freetestLastModDate, apiRequestID = UUID.randomUUID, @@ -1032,7 +1032,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = comicAuthorClassInfoContent, lastModificationDate = freetestLastModDate, apiRequestID = UUID.randomUUID, @@ -1086,7 +1086,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = comicAuthorPropertyInfoContent, lastModificationDate = freetestLastModDate, apiRequestID = UUID.randomUUID, @@ -1112,7 +1112,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { // Add new subproperty freetest:hasComicBookAuthor to class freetest:ComicBook - responderManager ! AddCardinalitiesToClassRequestV2( + appActor ! AddCardinalitiesToClassRequestV2( classInfoContent = ClassInfoContentV2( predicates = Map( "http://www.w3.org/1999/02/22-rdf-syntax-ns#type".toSmartIri -> PredicateInfoV2( @@ -1199,7 +1199,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -1249,7 +1249,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -1299,7 +1299,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -1349,7 +1349,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -1399,7 +1399,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -1452,7 +1452,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -1502,7 +1502,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -1556,7 +1556,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -1606,7 +1606,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -1656,7 +1656,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -1706,7 +1706,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -1756,7 +1756,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -1806,7 +1806,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -1856,7 +1856,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -1906,7 +1906,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -1956,7 +1956,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -2006,7 +2006,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -2057,7 +2057,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -2116,7 +2116,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -2174,7 +2174,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -2198,7 +2198,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { StringLiteralV2("hat Namen", Some("de")) ) - responderManager ! ChangePropertyLabelsOrCommentsRequestV2( + appActor ! ChangePropertyLabelsOrCommentsRequestV2( propertyIri = propertyIri, predicateToUpdate = OntologyConstants.Rdfs.Label.toSmartIri, newObjects = newObjects, @@ -2224,7 +2224,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { StringLiteralV2("hat Namen", Some("de")) ) - responderManager ! ChangePropertyLabelsOrCommentsRequestV2( + appActor ! ChangePropertyLabelsOrCommentsRequestV2( propertyIri = propertyIri, predicateToUpdate = OntologyConstants.Rdfs.Label.toSmartIri, newObjects = newObjects, @@ -2260,7 +2260,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { StringLiteralV2("hat Namen", Some("de")) ) - responderManager ! ChangePropertyLabelsOrCommentsRequestV2( + appActor ! ChangePropertyLabelsOrCommentsRequestV2( propertyIri = propertyIri, predicateToUpdate = OntologyConstants.Rdfs.Label.toSmartIri, newObjects = newObjects, @@ -2300,7 +2300,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { StringLiteralV2("Der Name eines Dinges", Some("de")) ) - responderManager ! ChangePropertyLabelsOrCommentsRequestV2( + appActor ! ChangePropertyLabelsOrCommentsRequestV2( propertyIri = propertyIri, predicateToUpdate = OntologyConstants.Rdfs.Comment.toSmartIri, newObjects = newObjects, @@ -2334,7 +2334,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { StringLiteralV2(stringFormatter.fromSparqlEncodedString(text), lang) } - responderManager ! ChangePropertyLabelsOrCommentsRequestV2( + appActor ! ChangePropertyLabelsOrCommentsRequestV2( propertyIri = propertyIri, predicateToUpdate = OntologyConstants.Rdfs.Comment.toSmartIri, newObjects = newObjects, @@ -2378,7 +2378,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { StringLiteralV2(stringFormatter.fromSparqlEncodedString(text), lang) } - responderManager ! ChangePropertyLabelsOrCommentsRequestV2( + appActor ! ChangePropertyLabelsOrCommentsRequestV2( propertyIri = propertyIri, predicateToUpdate = OntologyConstants.Rdfs.Comment.toSmartIri, newObjects = newObjects, @@ -2407,7 +2407,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "delete the comment of a property that has a comment" in { val propertyIri: SmartIri = FreeTestOntologyIri.makeEntityIri("hasPropertyWithComment") - responderManager ! DeletePropertyCommentRequestV2( + appActor ! DeletePropertyCommentRequestV2( propertyIri = propertyIri, lastModificationDate = freetestLastModDate, apiRequestID = UUID.randomUUID, @@ -2433,7 +2433,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "not update the ontology when trying to delete a comment of a property that has no comment" in { val propertyIri: SmartIri = FreeTestOntologyIri.makeEntityIri("hasPropertyWithoutComment") - responderManager ! DeletePropertyCommentRequestV2( + appActor ! DeletePropertyCommentRequestV2( propertyIri = propertyIri, lastModificationDate = freetestLastModDate, apiRequestID = UUID.randomUUID, @@ -2460,7 +2460,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "delete the comment of a class that has a comment" in { val classIri: SmartIri = FreeTestOntologyIri.makeEntityIri("BookWithComment") - responderManager ! DeleteClassCommentRequestV2( + appActor ! DeleteClassCommentRequestV2( classIri = classIri, lastModificationDate = freetestLastModDate, apiRequestID = UUID.randomUUID, @@ -2486,7 +2486,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "not update the ontology when trying to delete a comment of a class that has no comment" in { val classIri: SmartIri = FreeTestOntologyIri.makeEntityIri("BookWithoutComment") - responderManager ! DeleteClassCommentRequestV2( + appActor ! DeleteClassCommentRequestV2( classIri = classIri, lastModificationDate = freetestLastModDate, apiRequestID = UUID.randomUUID, @@ -2516,7 +2516,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { val linkValueIri: SmartIri = linkPropertyIri.fromLinkPropToLinkValueProp // delete the comment of the link property - responderManager ! DeletePropertyCommentRequestV2( + appActor ! DeletePropertyCommentRequestV2( propertyIri = linkPropertyIri, lastModificationDate = freetestLastModDate, apiRequestID = UUID.randomUUID, @@ -2542,7 +2542,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { } // check that the comment of the link value property was deleted as well - responderManager ! PropertiesGetRequestV2( + appActor ! PropertiesGetRequestV2( propertyIris = Set(linkValueIri), allLanguages = true, requestingUser = anythingAdminUser @@ -2589,7 +2589,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -2633,7 +2633,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -2674,7 +2674,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -2714,7 +2714,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -2767,7 +2767,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = partThingClassInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -2808,7 +2808,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = wholeThingClassInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -2867,7 +2867,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = partOfPropertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -2900,7 +2900,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { requestingUser = anythingAdminUser ) - responderManager ! partOfValuePropGetRequest + appActor ! partOfValuePropGetRequest expectMsgPF(timeout) { case msg: ReadOntologyV2 => val externalOntology = msg.toOntologySchema(ApiV2Complex) @@ -2921,7 +2921,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "change the metadata of the 'anything' ontology" in { val newLabel = "The modified anything ontology" - responderManager ! ChangeOntologyMetadataRequestV2( + appActor ! ChangeOntologyMetadataRequestV2( ontologyIri = AnythingOntologyIri, label = Some(newLabel), lastModificationDate = anythingLastModDate, @@ -2945,7 +2945,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "delete the class anything:CardinalityThing" in { val classIri = AnythingOntologyIri.makeEntityIri("CardinalityThing") - responderManager ! DeleteClassRequestV2( + appActor ! DeleteClassRequestV2( classIri = classIri, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -2994,7 +2994,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -3081,7 +3081,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -3163,7 +3163,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CanDeleteCardinalitiesFromClassRequestV2( + appActor ! CanDeleteCardinalitiesFromClassRequestV2( classInfoContent = classInfoContentWithCardinalityToDeleteDontAllow, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -3202,7 +3202,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -3284,7 +3284,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CanDeleteCardinalitiesFromClassRequestV2( + appActor ! CanDeleteCardinalitiesFromClassRequestV2( classInfoContent = classInfoContentWithCardinalityToDeleteAllow, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -3326,7 +3326,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -3364,7 +3364,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { StringLiteralV2("rien", Some("fr")) ) - responderManager ! ChangeClassLabelsOrCommentsRequestV2( + appActor ! ChangeClassLabelsOrCommentsRequestV2( classIri = classIri, predicateToUpdate = OntologyConstants.Rdfs.Label.toSmartIri, newObjects = newObjects, @@ -3388,7 +3388,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { StringLiteralV2("rien", Some("fr")) ) - responderManager ! ChangeClassLabelsOrCommentsRequestV2( + appActor ! ChangeClassLabelsOrCommentsRequestV2( classIri = classIri, predicateToUpdate = OntologyConstants.Rdfs.Label.toSmartIri, newObjects = newObjects, @@ -3423,7 +3423,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { StringLiteralV2("rien", Some("fr")) ) - responderManager ! ChangeClassLabelsOrCommentsRequestV2( + appActor ! ChangeClassLabelsOrCommentsRequestV2( classIri = classIri, predicateToUpdate = OntologyConstants.Rdfs.Label.toSmartIri, newObjects = newObjects, @@ -3459,7 +3459,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { StringLiteralV2("ne représente rien", Some("fr")) ) - responderManager ! ChangeClassLabelsOrCommentsRequestV2( + appActor ! ChangeClassLabelsOrCommentsRequestV2( classIri = classIri, predicateToUpdate = OntologyConstants.Rdfs.Comment.toSmartIri, newObjects = newObjects, @@ -3488,7 +3488,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { StringLiteralV2(stringFormatter.fromSparqlEncodedString(text), lang) } - responderManager ! ChangeClassLabelsOrCommentsRequestV2( + appActor ! ChangeClassLabelsOrCommentsRequestV2( classIri = classIri, predicateToUpdate = OntologyConstants.Rdfs.Comment.toSmartIri, newObjects = newObjects, @@ -3528,7 +3528,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { StringLiteralV2(stringFormatter.fromSparqlEncodedString(text), lang) } - responderManager ! ChangeClassLabelsOrCommentsRequestV2( + appActor ! ChangeClassLabelsOrCommentsRequestV2( classIri = classIri, predicateToUpdate = OntologyConstants.Rdfs.Comment.toSmartIri, newObjects = newObjects, @@ -3582,7 +3582,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -3623,7 +3623,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -3664,7 +3664,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -3705,7 +3705,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -3748,7 +3748,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -3791,7 +3791,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -3834,7 +3834,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -3889,7 +3889,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -3907,7 +3907,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { val hasInterestingThingValue = AnythingOntologyIri.makeEntityIri("hasInterestingThingValue") - responderManager ! DeletePropertyRequestV2( + appActor ! DeletePropertyRequestV2( propertyIri = hasInterestingThingValue, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -3926,7 +3926,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { val linkPropIri = AnythingOntologyIri.makeEntityIri("hasInterestingThing") - responderManager ! DeletePropertyRequestV2( + appActor ! DeletePropertyRequestV2( propertyIri = linkPropIri, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -3960,14 +3960,14 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { requestingUser = anythingAdminUser ) - responderManager ! linkPropGetRequest + appActor ! linkPropGetRequest expectMsgPF(timeout) { case msg: akka.actor.Status.Failure => if (printErrorMessages) println(msg.cause.getMessage) msg.cause.isInstanceOf[NotFoundException] should ===(true) } - responderManager ! linkValuePropGetRequest + appActor ! linkValuePropGetRequest expectMsgPF(timeout) { case msg: akka.actor.Status.Failure => if (printErrorMessages) println(msg.cause.getMessage) @@ -3976,21 +3976,21 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { // Reload the ontology cache and see if we get the same result. - responderManager ! LoadOntologiesRequestV2( + appActor ! LoadOntologiesRequestV2( featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = KnoraSystemInstances.Users.SystemUser ) expectMsgType[SuccessResponseV2](10.seconds) - responderManager ! linkPropGetRequest + appActor ! linkPropGetRequest expectMsgPF(timeout) { case msg: akka.actor.Status.Failure => if (printErrorMessages) println(msg.cause.getMessage) msg.cause.isInstanceOf[NotFoundException] should ===(true) } - responderManager ! linkValuePropGetRequest + appActor ! linkValuePropGetRequest expectMsgPF(timeout) { case msg: akka.actor.Status.Failure => if (printErrorMessages) println(msg.cause.getMessage) @@ -4040,7 +4040,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -4066,7 +4066,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "change the salsah-gui:guiElement and salsah-gui:guiAttribute of anything:hasNothingness" in { val propertyIri = AnythingOntologyIri.makeEntityIri("hasNothingness") - responderManager ! ChangePropertyGuiElementRequest( + appActor ! ChangePropertyGuiElementRequest( propertyIri = propertyIri, newGuiElement = Some("http://www.knora.org/ontology/salsah-gui#SimpleText".toSmartIri), newGuiAttributes = Set("size=80"), @@ -4125,7 +4125,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "delete the salsah-gui:guiElement and salsah-gui:guiAttribute of anything:hasNothingness" in { val propertyIri = AnythingOntologyIri.makeEntityIri("hasNothingness") - responderManager ! ChangePropertyGuiElementRequest( + appActor ! ChangePropertyGuiElementRequest( propertyIri = propertyIri, newGuiElement = None, newGuiAttributes = Set.empty, @@ -4190,7 +4190,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -4231,7 +4231,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -4268,7 +4268,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -4308,7 +4308,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! AddCardinalitiesToClassRequestV2( + appActor ! AddCardinalitiesToClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -4328,7 +4328,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { anythingLastModDate = newAnythingLastModDate } - responderManager ! DeleteCardinalitiesFromClassRequestV2( + appActor ! DeleteCardinalitiesFromClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -4350,7 +4350,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "not allow a user to delete a class if they are not a sysadmin or an admin in the ontology's project" in { val classIri = AnythingOntologyIri.makeEntityIri("Void") - responderManager ! DeleteClassRequestV2( + appActor ! DeleteClassRequestV2( classIri = classIri, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -4366,7 +4366,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "delete the class anything:Void" in { val classIri = AnythingOntologyIri.makeEntityIri("Void") - responderManager ! DeleteClassRequestV2( + appActor ! DeleteClassRequestV2( classIri = classIri, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -4406,7 +4406,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! AddCardinalitiesToClassRequestV2( + appActor ! AddCardinalitiesToClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -4456,7 +4456,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -4488,7 +4488,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! AddCardinalitiesToClassRequestV2( + appActor ! AddCardinalitiesToClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -4553,7 +4553,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! AddCardinalitiesToClassRequestV2( + appActor ! AddCardinalitiesToClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -4586,7 +4586,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! AddCardinalitiesToClassRequestV2( + appActor ! AddCardinalitiesToClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -4650,7 +4650,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! AddCardinalitiesToClassRequestV2( + appActor ! AddCardinalitiesToClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -4681,7 +4681,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! AddCardinalitiesToClassRequestV2( + appActor ! AddCardinalitiesToClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -4739,7 +4739,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -4782,7 +4782,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! AddCardinalitiesToClassRequestV2( + appActor ! AddCardinalitiesToClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -4855,7 +4855,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! ChangeCardinalitiesRequestV2( + appActor ! ChangeCardinalitiesRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -4897,7 +4897,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! ChangeGuiOrderRequestV2( + appActor ! ChangeGuiOrderRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -4959,7 +4959,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! ChangeCardinalitiesRequestV2( + appActor ! ChangeCardinalitiesRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -4998,7 +4998,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "not delete the class anything:Nothing, because the property anything:hasEmptiness refers to it" in { val classIri = AnythingOntologyIri.makeEntityIri("Nothing") - responderManager ! DeleteClassRequestV2( + appActor ! DeleteClassRequestV2( classIri = classIri, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -5015,7 +5015,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "delete the property anything:hasNothingness" in { val hasNothingness = AnythingOntologyIri.makeEntityIri("hasNothingness") - responderManager ! DeletePropertyRequestV2( + appActor ! DeletePropertyRequestV2( propertyIri = hasNothingness, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -5037,7 +5037,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "not delete the property anything:hasEmptiness, because the class anything:Nothing refers to it" in { val hasNothingness = AnythingOntologyIri.makeEntityIri("hasEmptiness") - responderManager ! DeletePropertyRequestV2( + appActor ! DeletePropertyRequestV2( propertyIri = hasNothingness, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -5066,7 +5066,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! ChangeCardinalitiesRequestV2( + appActor ! ChangeCardinalitiesRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -5094,7 +5094,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! ChangeCardinalitiesRequestV2( + appActor ! ChangeCardinalitiesRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -5126,7 +5126,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "not delete the property anything:hasEmptiness with the wrong knora-api:lastModificationDate" in { val hasEmptiness = AnythingOntologyIri.makeEntityIri("hasEmptiness") - responderManager ! DeletePropertyRequestV2( + appActor ! DeletePropertyRequestV2( propertyIri = hasEmptiness, lastModificationDate = anythingLastModDate.minusSeconds(60), apiRequestID = UUID.randomUUID, @@ -5143,7 +5143,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "not allow a user to delete a property if they are not a sysadmin or an admin in the ontology's project" in { val hasEmptiness = AnythingOntologyIri.makeEntityIri("hasEmptiness") - responderManager ! DeletePropertyRequestV2( + appActor ! DeletePropertyRequestV2( propertyIri = hasEmptiness, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -5160,7 +5160,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "delete the properties anything:hasOtherNothing and anything:hasEmptiness" in { val hasOtherNothing = AnythingOntologyIri.makeEntityIri("hasOtherNothing") - responderManager ! DeletePropertyRequestV2( + appActor ! DeletePropertyRequestV2( propertyIri = hasOtherNothing, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -5180,7 +5180,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { val hasEmptiness = AnythingOntologyIri.makeEntityIri("hasEmptiness") - responderManager ! DeletePropertyRequestV2( + appActor ! DeletePropertyRequestV2( propertyIri = hasEmptiness, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -5202,7 +5202,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "delete the class anything:Nothing" in { val classIri = AnythingOntologyIri.makeEntityIri("Nothing") - responderManager ! DeleteClassRequestV2( + appActor ! DeleteClassRequestV2( classIri = classIri, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -5244,7 +5244,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -5283,7 +5283,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -5329,7 +5329,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -5379,7 +5379,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -5425,7 +5425,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -5462,7 +5462,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -5488,7 +5488,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "delete the class anything:AnyBox1" in { val classIri = AnythingOntologyIri.makeEntityIri("AnyBox1") - responderManager ! DeleteClassRequestV2( + appActor ! DeleteClassRequestV2( classIri = classIri, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -5532,7 +5532,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -5558,7 +5558,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "delete the class anything:AnyBox2" in { val classIri = AnythingOntologyIri.makeEntityIri("AnyBox2") - responderManager ! DeleteClassRequestV2( + appActor ! DeleteClassRequestV2( classIri = classIri, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -5604,7 +5604,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -5630,7 +5630,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "delete the property anything:hasAnyName" in { val propertyIri = AnythingOntologyIri.makeEntityIri("hasAnyName") - responderManager ! DeletePropertyRequestV2( + appActor ! DeletePropertyRequestV2( propertyIri = propertyIri, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -5680,7 +5680,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -5706,7 +5706,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "delete the property anything:BoxHasBoolean" in { val propertyIri = AnythingOntologyIri.makeEntityIri("BoxHasBoolean") - responderManager ! DeletePropertyRequestV2( + appActor ! DeletePropertyRequestV2( propertyIri = propertyIri, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -5752,7 +5752,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -5778,7 +5778,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "delete the property anything:hasBox" in { val propertyIri = AnythingOntologyIri.makeEntityIri("hasBox") - responderManager ! DeletePropertyRequestV2( + appActor ! DeletePropertyRequestV2( propertyIri = propertyIri, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -5800,7 +5800,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { "create a class with several cardinalities, then remove one of the cardinalities" in { // Create a class with no cardinalities. - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = ClassInfoContentV2( predicates = Map( "http://www.w3.org/2000/01/rdf-schema#label".toSmartIri -> PredicateInfoV2( @@ -5845,7 +5845,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { // Create a text property. - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = PropertyInfoContentV2( propertyIri = (anythingOntology + "testTextProp").toSmartIri, predicates = Map( @@ -5899,7 +5899,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { // Create an integer property. - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = PropertyInfoContentV2( propertyIri = (anythingOntology + "testIntProp").toSmartIri, predicates = Map( @@ -5953,7 +5953,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { // Create a link property. - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = PropertyInfoContentV2( propertyIri = (anythingOntology + "testLinkProp").toSmartIri, predicates = Map( @@ -6006,7 +6006,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { // Add cardinalities to the class. - responderManager ! AddCardinalitiesToClassRequestV2( + appActor ! AddCardinalitiesToClassRequestV2( classInfoContent = ClassInfoContentV2( predicates = Map( "http://www.w3.org/1999/02/22-rdf-syntax-ns#type".toSmartIri -> PredicateInfoV2( @@ -6043,7 +6043,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { // Remove the link value cardinality from the class. - responderManager ! ChangeCardinalitiesRequestV2( + appActor ! ChangeCardinalitiesRequestV2( classInfoContent = ClassInfoContentV2( predicates = Map( "http://www.w3.org/1999/02/22-rdf-syntax-ns#type".toSmartIri -> PredicateInfoV2( @@ -6077,7 +6077,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { // Check that the correct blank nodes were stored for the cardinalities. - storeManager ! SparqlSelectRequest( + appActor ! SparqlSelectRequest( """PREFIX rdfs: |PREFIX owl: | @@ -6103,7 +6103,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { // Create a class with no cardinalities. - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = ClassInfoContentV2( predicates = Map( "http://www.w3.org/2000/01/rdf-schema#label".toSmartIri -> PredicateInfoV2( @@ -6148,7 +6148,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { // Create a text property. - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = PropertyInfoContentV2( propertyIri = "http://0.0.0.0:3333/ontology/0001/freetest/v2#hasBlueTestTextProp".toSmartIri, predicates = Map( @@ -6204,7 +6204,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { // Create an integer property. - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = PropertyInfoContentV2( propertyIri = "http://0.0.0.0:3333/ontology/0001/freetest/v2#hasBlueTestIntProp".toSmartIri, predicates = Map( @@ -6260,7 +6260,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { // Add cardinalities to the class. - responderManager ! AddCardinalitiesToClassRequestV2( + appActor ! AddCardinalitiesToClassRequestV2( classInfoContent = ClassInfoContentV2( predicates = Map( "http://www.w3.org/1999/02/22-rdf-syntax-ns#type".toSmartIri -> PredicateInfoV2( @@ -6317,7 +6317,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { projectADM = SharedTestDataADM.anythingProject ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = anythingAdminUser, @@ -6328,7 +6328,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { // Successfully check if the cardinality can be deleted - responderManager ! CanDeleteCardinalitiesFromClassRequestV2( + appActor ! CanDeleteCardinalitiesFromClassRequestV2( classInfoContent = ClassInfoContentV2( predicates = Map( "http://www.w3.org/1999/02/22-rdf-syntax-ns#type".toSmartIri -> PredicateInfoV2( @@ -6356,7 +6356,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { // Successfully remove the (unused) text value cardinality from the class. - responderManager ! DeleteCardinalitiesFromClassRequestV2( + appActor ! DeleteCardinalitiesFromClassRequestV2( classInfoContent = ClassInfoContentV2( predicates = Map( "http://www.w3.org/1999/02/22-rdf-syntax-ns#type".toSmartIri -> PredicateInfoV2( @@ -6387,7 +6387,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { // Check that the correct blank nodes were stored for the cardinalities. - storeManager ! SparqlSelectRequest( + appActor ! SparqlSelectRequest( """PREFIX rdfs: |PREFIX owl: | @@ -6437,7 +6437,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreateClassRequestV2( + appActor ! CreateClassRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -6467,7 +6467,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { val classIri: SmartIri = AnythingOntologyIri.makeEntityIri("FoafPerson") // create the property anything:hasFoafName - responderManager ! OntologyMetadataGetByProjectRequestV2( + appActor ! OntologyMetadataGetByProjectRequestV2( projectIris = Set(anythingProjectIri), requestingUser = anythingAdminUser ) @@ -6519,7 +6519,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CreatePropertyRequestV2( + appActor ! CreatePropertyRequestV2( propertyInfoContent = propertyInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -6566,7 +6566,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! AddCardinalitiesToClassRequestV2( + appActor ! AddCardinalitiesToClassRequestV2( classInfoContent = classWithNewCardinalityInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -6633,7 +6633,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! CanDeleteCardinalitiesFromClassRequestV2( + appActor ! CanDeleteCardinalitiesFromClassRequestV2( classInfoContent = classInfoContentWithCardinalityToDeleteAllow, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -6657,7 +6657,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! ChangeCardinalitiesRequestV2( + appActor ! ChangeCardinalitiesRequestV2( classInfoContent = classChangeInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -6706,7 +6706,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { ontologySchema = ApiV2Complex ) - responderManager ! ChangeGuiOrderRequestV2( + appActor ! ChangeGuiOrderRequestV2( classInfoContent = classInfoContent, lastModificationDate = anythingLastModDate, apiRequestID = UUID.randomUUID, @@ -6731,7 +6731,7 @@ class OntologyResponderV2Spec extends CoreSpec() with ImplicitSender { anythingLastModDate = newAnythingLastModDate } - responderManager ! ClassesGetRequestV2( + appActor ! ClassesGetRequestV2( classIris = Set(AnythingOntologyIri.makeEntityIri("ThingWithSeqnum")), allLanguages = false, requestingUser = anythingAdminUser diff --git a/webapi/src/test/scala/org/knora/webapi/responders/v2/ResourcesResponderV2Spec.scala b/webapi/src/test/scala/org/knora/webapi/responders/v2/ResourcesResponderV2Spec.scala index 0ab85747f7..db30b32b86 100644 --- a/webapi/src/test/scala/org/knora/webapi/responders/v2/ResourcesResponderV2Spec.scala +++ b/webapi/src/test/scala/org/knora/webapi/responders/v2/ResourcesResponderV2Spec.scala @@ -481,7 +481,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { ) private def getResource(resourceIri: IRI, requestingUser: UserADM): ReadResourceV2 = { - responderManager ! ResourcesGetRequestV2( + appActor ! ResourcesGetRequestV2( resourceIris = Seq(resourceIri), targetSchema = ApiV2Complex, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -534,7 +534,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { ) .toString() - storeManager ! SparqlSelectRequest(sparqlQuery) + appActor ! SparqlSelectRequest(sparqlQuery) expectMsgPF(timeout) { case sparqlSelectResponse: SparqlSelectResult => sparqlSelectResponse.results.bindings.map { row => @@ -550,7 +550,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { ) .toString() - storeManager ! SparqlSelectRequest(sparqlQuery) + appActor ! SparqlSelectRequest(sparqlQuery) expectMsgPF(timeout) { case sparqlSelectResponse: SparqlSelectResult => val savedDeleteDateStr = sparqlSelectResponse.getFirstRow.rowMap("deleteDate") @@ -566,7 +566,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { private val timeout = 30.seconds "Load test data" in { - responderManager ! GetMappingRequestV2( + appActor ! GetMappingRequestV2( mappingIri = "http://rdfh.ch/standoff/mappings/StandardMapping", featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = KnoraSystemInstances.Users.SystemUser @@ -580,7 +580,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { "The resources responder v2" should { "return a full description of the book 'Zeitglöcklein des Lebens und Leidens Christi' in the Incunabula test data" in { - responderManager ! ResourcesGetRequestV2( + appActor ! ResourcesGetRequestV2( resourceIris = Seq("http://rdfh.ch/0803/c5058f3a"), versionDate = None, targetSchema = ApiV2Complex, @@ -599,7 +599,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { "return a preview descriptions of the book 'Zeitglöcklein des Lebens und Leidens Christi' in the Incunabula test data" in { - responderManager ! ResourcesPreviewGetRequestV2( + appActor ! ResourcesPreviewGetRequestV2( resourceIris = Seq("http://rdfh.ch/0803/c5058f3a"), targetSchema = ApiV2Complex, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -617,7 +617,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { "return a full description of the book 'Reise ins Heilige Land' in the Incunabula test data" in { - responderManager ! ResourcesGetRequestV2( + appActor ! ResourcesGetRequestV2( resourceIris = Seq("http://rdfh.ch/0803/2a6221216701"), versionDate = None, targetSchema = ApiV2Complex, @@ -636,7 +636,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { "return two full descriptions of the book 'Zeitglöcklein des Lebens und Leidens Christi' and the book 'Reise ins Heilige Land' in the Incunabula test data" in { - responderManager ! ResourcesGetRequestV2( + appActor ! ResourcesGetRequestV2( resourceIris = Seq("http://rdfh.ch/0803/c5058f3a", "http://rdfh.ch/0803/2a6221216701"), versionDate = None, targetSchema = ApiV2Complex, @@ -655,7 +655,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { "return two preview descriptions of the book 'Zeitglöcklein des Lebens und Leidens Christi' and the book 'Reise ins Heilige Land' in the Incunabula test data" in { - responderManager ! ResourcesPreviewGetRequestV2( + appActor ! ResourcesPreviewGetRequestV2( resourceIris = Seq("http://rdfh.ch/0803/c5058f3a", "http://rdfh.ch/0803/2a6221216701"), targetSchema = ApiV2Complex, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -673,7 +673,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { "return two full descriptions of the 'Reise ins Heilige Land' and the book 'Zeitglöcklein des Lebens und Leidens Christi' in the Incunabula test data (inversed order)" in { - responderManager ! ResourcesGetRequestV2( + appActor ! ResourcesGetRequestV2( resourceIris = Seq("http://rdfh.ch/0803/2a6221216701", "http://rdfh.ch/0803/c5058f3a"), versionDate = None, targetSchema = ApiV2Complex, @@ -693,7 +693,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { "return two full descriptions of the book 'Zeitglöcklein des Lebens und Leidens Christi' and the book 'Reise ins Heilige Land' in the Incunabula test data providing redundant resource Iris" in { - responderManager ! ResourcesGetRequestV2( + appActor ! ResourcesGetRequestV2( resourceIris = Seq("http://rdfh.ch/0803/c5058f3a", "http://rdfh.ch/0803/c5058f3a", "http://rdfh.ch/0803/2a6221216701"), versionDate = None, @@ -714,7 +714,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { "return a resource of type thing with text as TEI/XML" in { - responderManager ! ResourceTEIGetRequestV2( + appActor ! ResourceTEIGetRequestV2( resourceIri = "http://rdfh.ch/0001/thing_with_richtext_with_markup", textProperty = "http://www.knora.org/ontology/0001/anything#hasRichtext".toSmartIri, mappingIri = None, @@ -739,7 +739,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { "return a resource of type Something with text with standoff as TEI/XML" in { - responderManager ! ResourceTEIGetRequestV2( + appActor ! ResourceTEIGetRequestV2( resourceIri = "http://rdfh.ch/0001/qN1igiDRSAemBBktbRHn6g", textProperty = "http://www.knora.org/ontology/0001/anything#hasRichtext".toSmartIri, mappingIri = None, @@ -766,7 +766,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { val resourceIri = "http://rdfh.ch/0001/thing-with-history" val versionDate = Instant.parse("2019-02-12T08:05:10Z") - responderManager ! ResourcesGetRequestV2( + appActor ! ResourcesGetRequestV2( resourceIris = Seq(resourceIri), versionDate = Some(versionDate), targetSchema = ApiV2Complex, @@ -786,7 +786,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { "return the complete version history of a resource" in { val resourceIri = "http://rdfh.ch/0001/thing-with-history" - responderManager ! ResourceVersionHistoryGetRequestV2( + appActor ! ResourceVersionHistoryGetRequestV2( resourceIri = resourceIri, startDate = None, endDate = None, @@ -804,7 +804,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { val startDate = Instant.parse("2019-02-08T15:05:11Z") val endDate = Instant.parse("2019-02-13T09:05:10Z") - responderManager ! ResourceVersionHistoryGetRequestV2( + appActor ! ResourceVersionHistoryGetRequestV2( resourceIri = resourceIri, startDate = Some(startDate), endDate = Some(endDate), @@ -818,7 +818,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { } "get the latest version of a value, given its UUID" in { - responderManager ! ResourcesGetRequestV2( + appActor ! ResourcesGetRequestV2( resourceIris = Seq("http://rdfh.ch/0001/thing-with-history"), valueUuid = Some(stringFormatter.decodeUuid("pLlW4ODASumZfZFbJdpw1g")), targetSchema = ApiV2Complex, @@ -835,7 +835,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { } "get a past version of a value, given its UUID and a timestamp" in { - responderManager ! ResourcesGetRequestV2( + appActor ! ResourcesGetRequestV2( resourceIris = Seq("http://rdfh.ch/0001/thing-with-history"), valueUuid = Some(stringFormatter.decodeUuid("pLlW4ODASumZfZFbJdpw1g")), versionDate = Some(Instant.parse("2019-02-12T09:05:10Z")), @@ -853,7 +853,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { } "return a graph of resources reachable via links from/to a given resource" in { - responderManager ! GraphDataGetRequestV2( + appActor ! GraphDataGetRequestV2( resourceIri = "http://rdfh.ch/0001/start", depth = 6, inbound = true, @@ -871,7 +871,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { } "return a graph of resources reachable via links from/to a given resource, filtering the results according to the user's permissions" in { - responderManager ! GraphDataGetRequestV2( + appActor ! GraphDataGetRequestV2( resourceIri = "http://rdfh.ch/0001/start", depth = 6, inbound = true, @@ -889,7 +889,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { } "return a graph containing a standoff link" in { - responderManager ! GraphDataGetRequestV2( + appActor ! GraphDataGetRequestV2( resourceIri = "http://rdfh.ch/0001/a-thing", depth = 4, inbound = true, @@ -904,7 +904,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { } "return a graph containing just one node" in { - responderManager ! GraphDataGetRequestV2( + appActor ! GraphDataGetRequestV2( resourceIri = "http://rdfh.ch/0001/another-thing", depth = 4, inbound = true, @@ -931,7 +931,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { projectADM = SharedTestDataADM.anythingProject ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = anythingUserProfile, @@ -981,7 +981,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { permissions = Some("CR knora-admin:Creator|V http://rdfh.ch/groups/0001/thing-searcher") ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = anythingUserProfile, @@ -1141,7 +1141,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { projectADM = SharedTestDataADM.anythingProject ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = anythingUserProfile, @@ -1179,7 +1179,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { ) .toMessage(resourceIri = Some(resourceIri)) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = anythingUserProfile, @@ -1214,7 +1214,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { ) .toMessage(resourceIri = Some(resourceIri)) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = anythingUserProfile, @@ -1252,7 +1252,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { internalMimeType = Some("application/zip") ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = anythingUserProfile, @@ -1286,7 +1286,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { projectADM = SharedTestDataADM.incunabulaProject ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = incunabulaUserProfile, @@ -1334,7 +1334,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { projectADM = SharedTestDataADM.incunabulaProject ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = incunabulaUserProfile, @@ -1376,7 +1376,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { projectADM = SharedTestDataADM.incunabulaProject ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = incunabulaUserProfile, @@ -1422,7 +1422,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { projectADM = SharedTestDataADM.incunabulaProject ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = incunabulaUserProfile, @@ -1456,7 +1456,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { projectADM = SharedTestDataADM.incunabulaProject ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = anythingUserProfile, @@ -1490,7 +1490,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { projectADM = SharedTestDataADM.anythingProject ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = anythingUserProfile, @@ -1563,7 +1563,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { projectADM = SharedTestDataADM.anythingProject ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = anythingUserProfile, @@ -1597,7 +1597,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { projectADM = SharedTestDataADM.anythingProject ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = anythingUserProfile, @@ -1631,7 +1631,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { projectADM = SharedTestDataADM.anythingProject ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = anythingUserProfile, @@ -1665,7 +1665,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { projectADM = SharedTestDataADM.anythingProject ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = anythingUserProfile, @@ -1689,7 +1689,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { permissions = Some("M knora-admin:Creator,V knora-admin:KnownUser") ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = anythingUserProfile, @@ -1725,7 +1725,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { projectADM = SharedTestDataADM.anythingProject ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = anythingUserProfile, @@ -1748,7 +1748,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { projectADM = SharedTestDataADM.incunabulaProject ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = incunabulaUserProfile, @@ -1770,7 +1770,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { apiRequestID = UUID.randomUUID ) - responderManager ! updateRequest + appActor ! updateRequest expectMsgPF(timeout) { case msg: akka.actor.Status.Failure => msg.cause.isInstanceOf[ForbiddenException] should ===(true) @@ -1787,7 +1787,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { apiRequestID = UUID.randomUUID ) - responderManager ! updateRequest + appActor ! updateRequest expectMsgPF(timeout) { case msg: akka.actor.Status.Failure => msg.cause.isInstanceOf[BadRequestException] should ===(true) @@ -1809,7 +1809,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { apiRequestID = UUID.randomUUID ) - responderManager ! updateRequest + appActor ! updateRequest expectMsgType[UpdateResourceMetadataResponseV2](timeout) @@ -1836,7 +1836,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { apiRequestID = UUID.randomUUID ) - responderManager ! updateRequest + appActor ! updateRequest expectMsgPF(timeout) { case msg: akka.actor.Status.Failure => msg.cause.isInstanceOf[EditConflictException] should ===(true) @@ -1854,7 +1854,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { apiRequestID = UUID.randomUUID ) - responderManager ! updateRequest + appActor ! updateRequest expectMsgPF(timeout) { case msg: akka.actor.Status.Failure => msg.cause.isInstanceOf[EditConflictException] should ===(true) @@ -1874,7 +1874,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { apiRequestID = UUID.randomUUID ) - responderManager ! updateRequest + appActor ! updateRequest expectMsgType[UpdateResourceMetadataResponseV2](timeout) @@ -1898,7 +1898,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { apiRequestID = UUID.randomUUID ) - responderManager ! updateRequest + appActor ! updateRequest expectMsgPF(timeout) { case msg: akka.actor.Status.Failure => msg.cause.isInstanceOf[BadRequestException] should ===(true) @@ -1918,7 +1918,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { apiRequestID = UUID.randomUUID ) - responderManager ! updateRequest + appActor ! updateRequest expectMsgType[UpdateResourceMetadataResponseV2](timeout) @@ -1944,7 +1944,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { apiRequestID = UUID.randomUUID ) - responderManager ! deleteRequest + appActor ! deleteRequest expectMsgPF(timeout) { case msg: akka.actor.Status.Failure => msg.cause.isInstanceOf[BadRequestException] should ===(true) @@ -1962,11 +1962,11 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { apiRequestID = UUID.randomUUID ) - responderManager ! deleteRequest + appActor ! deleteRequest expectMsgType[SuccessResponseV2](timeout) - responderManager ! ResourcesGetRequestV2( + appActor ! ResourcesGetRequestV2( resourceIris = Seq(aThingIri), targetSchema = ApiV2Complex, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -1998,11 +1998,11 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { apiRequestID = UUID.randomUUID ) - responderManager ! deleteRequest + appActor ! deleteRequest expectMsgType[SuccessResponseV2](timeout) - responderManager ! ResourcesGetRequestV2( + appActor ! ResourcesGetRequestV2( resourceIris = Seq(resourceIri), targetSchema = ApiV2Complex, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -2031,7 +2031,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { permissions = Some("CR knora-admin:Creator") ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.imagesReviewerUser, @@ -2055,7 +2055,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { permissions = Some("CR knora-admin:Creator") ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser, @@ -2077,7 +2077,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { permissions = Some("CR knora-admin:Creator") ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.imagesUser01, @@ -2111,7 +2111,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { projectADM = SharedTestDataADM.imagesProject ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.imagesReviewerUser, @@ -2147,7 +2147,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { projectADM = SharedTestDataADM.imagesProject ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.rootUser, @@ -2181,7 +2181,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { projectADM = SharedTestDataADM.imagesProject ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.imagesUser01, @@ -2222,7 +2222,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { projectADM = SharedTestDataADM.anythingProject ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = anythingUserProfile, @@ -2240,7 +2240,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { // Update the value. - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = resourceClassIri, @@ -2295,7 +2295,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { apiRequestID = UUID.randomUUID ) - responderManager ! eraseRequest + appActor ! eraseRequest expectMsgPF(timeout) { case msg: akka.actor.Status.Failure => // println(msg.cause) @@ -2329,7 +2329,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { projectADM = SharedTestDataADM.anythingProject ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = anythingUserProfile, @@ -2353,7 +2353,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { apiRequestID = UUID.randomUUID ) - responderManager ! eraseRequest + appActor ! eraseRequest expectMsgPF(timeout) { case msg: akka.actor.Status.Failure => // println(msg.cause) @@ -2362,7 +2362,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { // Delete the link. - responderManager ! DeleteValueRequestV2( + appActor ! DeleteValueRequestV2( resourceIri = resourceWithLinkIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, propertyIri = linkValuePropertyIri, @@ -2389,7 +2389,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { apiRequestID = UUID.randomUUID ) - responderManager ! eraseRequest + appActor ! eraseRequest expectMsgType[SuccessResponseV2](timeout) // Check that all parts of the resource were erased. @@ -2408,7 +2408,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { ) .toString() - storeManager ! SparqlAskRequest(sparqlQuery) + appActor ! SparqlAskRequest(sparqlQuery) expectMsgPF(timeout) { case entityExistsResponse: SparqlAskResponse => entityExistsResponse.result should be(false) @@ -2424,7 +2424,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { ) .toString() - storeManager ! SparqlSelectRequest(isEntityUsedSparql) + appActor ! SparqlSelectRequest(isEntityUsedSparql) expectMsgPF(timeout) { case entityUsedResponse: SparqlSelectResult => assert(entityUsedResponse.results.bindings.isEmpty, s"Link value was not erased") @@ -2446,7 +2446,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { projectADM = SharedTestDataADM.anythingProject ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = anythingUserProfile, @@ -2509,7 +2509,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { projectADM = SharedTestDataADM.anythingProject ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = anythingUserProfile, @@ -2536,7 +2536,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { "return full history of a-thing-picture resource" in { val resourceIri = "http://rdfh.ch/0001/a-thing-picture" - responderManager ! ResourceHistoryEventsGetRequestV2( + appActor ! ResourceHistoryEventsGetRequestV2( resourceIri = resourceIri, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = anythingUserProfile @@ -2559,7 +2559,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { "return full history of a resource as events" in { val resourceIri = "http://rdfh.ch/0001/thing-with-history" - responderManager ! ResourceHistoryEventsGetRequestV2( + appActor ! ResourceHistoryEventsGetRequestV2( resourceIri = resourceIri, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = anythingUserProfile @@ -2574,7 +2574,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { val resourceIri = "http://rdfh.ch/0001/thing-with-history" // Update the value permission. - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValuePermissionsV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -2590,7 +2590,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { val updateValuePermissionResponse = expectMsgType[UpdateValueResponseV2](timeout) - responderManager ! ResourceHistoryEventsGetRequestV2( + appActor ! ResourceHistoryEventsGetRequestV2( resourceIri = resourceIri, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = anythingUserProfile @@ -2613,7 +2613,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { val testValue = "a test value" // create new value. - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -2632,7 +2632,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { expectMsgType[CreateValueResponseV2](timeout) - responderManager ! ResourceHistoryEventsGetRequestV2( + appActor ! ResourceHistoryEventsGetRequestV2( resourceIri = resourceIri, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = anythingUserProfile @@ -2663,7 +2663,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { val deleteComment = "delete value test" // delete the new value. - responderManager ! DeleteValueRequestV2( + appActor ! DeleteValueRequestV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, propertyIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#hasText".toSmartIri, @@ -2676,7 +2676,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { ) expectMsgType[SuccessResponseV2](timeout) - responderManager ! ResourceHistoryEventsGetRequestV2( + appActor ! ResourceHistoryEventsGetRequestV2( resourceIri = resourceIri, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = anythingUserProfile @@ -2697,7 +2697,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { "return full history of a deleted resource" in { val resourceIri = "http://rdfh.ch/0001/PHbbrEsVR32q5D_ioKt6pA" - responderManager ! ResourceHistoryEventsGetRequestV2( + appActor ! ResourceHistoryEventsGetRequestV2( resourceIri = resourceIri, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = anythingUserProfile @@ -2716,7 +2716,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { "update resource's metadata to test update resource metadata event" in { val resourceIri = "http://rdfh.ch/0001/thing_with_BCE_date2" - responderManager ! UpdateResourceMetadataRequestV2( + appActor ! UpdateResourceMetadataRequestV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, maybeLabel = Some("a new label"), @@ -2727,7 +2727,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { expectMsgType[UpdateResourceMetadataResponseV2](timeout) - responderManager ! ResourceHistoryEventsGetRequestV2( + appActor ! ResourceHistoryEventsGetRequestV2( resourceIri = resourceIri, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = anythingUserProfile @@ -2743,7 +2743,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { "not return resources of a project which does not exist" in { - responderManager ! ProjectResourcesWithHistoryGetRequestV2( + appActor ! ProjectResourcesWithHistoryGetRequestV2( projectIri = "http://rdfh.ch/projects/1111", featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.anythingAdminUser @@ -2754,7 +2754,7 @@ class ResourcesResponderV2Spec extends CoreSpec() with ImplicitSender { } "return seq of full history events for each resource of a project" in { - responderManager ! ProjectResourcesWithHistoryGetRequestV2( + appActor ! ProjectResourcesWithHistoryGetRequestV2( projectIri = "http://rdfh.ch/projects/0001", featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.anythingAdminUser diff --git a/webapi/src/test/scala/org/knora/webapi/responders/v2/SearchResponderV2Spec.scala b/webapi/src/test/scala/org/knora/webapi/responders/v2/SearchResponderV2Spec.scala index 3e310b697a..b4605b2f22 100644 --- a/webapi/src/test/scala/org/knora/webapi/responders/v2/SearchResponderV2Spec.scala +++ b/webapi/src/test/scala/org/knora/webapi/responders/v2/SearchResponderV2Spec.scala @@ -44,7 +44,7 @@ class SearchResponderV2Spec extends CoreSpec() with ImplicitSender { "perform a fulltext search for 'Narr'" in { - responderManager ! FulltextSearchRequestV2( + appActor ! FulltextSearchRequestV2( searchValue = "Narr", offset = 0, limitToProject = None, @@ -67,7 +67,7 @@ class SearchResponderV2Spec extends CoreSpec() with ImplicitSender { "perform a fulltext search for 'Dinge'" in { - responderManager ! FulltextSearchRequestV2( + appActor ! FulltextSearchRequestV2( searchValue = "Dinge", offset = 0, limitToProject = None, @@ -91,7 +91,7 @@ class SearchResponderV2Spec extends CoreSpec() with ImplicitSender { "return files attached to full-text search results" in { - responderManager ! FulltextSearchRequestV2( + appActor ! FulltextSearchRequestV2( searchValue = "p7v", offset = 0, limitToProject = None, @@ -120,7 +120,7 @@ class SearchResponderV2Spec extends CoreSpec() with ImplicitSender { "perform an extended search for books that have the title 'Zeitglöcklein des Lebens'" in { - responderManager ! GravsearchRequestV2( + appActor ! GravsearchRequestV2( constructQuery = searchResponderV2SpecFullData.constructQueryForBooksWithTitleZeitgloecklein, targetSchema = ApiV2Complex, schemaOptions = SchemaOptions.ForStandoffWithTextValues, @@ -140,7 +140,7 @@ class SearchResponderV2Spec extends CoreSpec() with ImplicitSender { "perform an extended search for books that do not have the title 'Zeitglöcklein des Lebens'" in { - responderManager ! GravsearchRequestV2( + appActor ! GravsearchRequestV2( constructQuery = searchResponderV2SpecFullData.constructQueryForBooksWithoutTitleZeitgloecklein, targetSchema = ApiV2Complex, schemaOptions = SchemaOptions.ForStandoffWithTextValues, @@ -158,7 +158,7 @@ class SearchResponderV2Spec extends CoreSpec() with ImplicitSender { "perform a search by label for incunabula:book that contain 'Narrenschiff'" in { - responderManager ! SearchResourceByLabelRequestV2( + appActor ! SearchResourceByLabelRequestV2( searchValue = "Narrenschiff", offset = 0, limitToProject = None, @@ -176,7 +176,7 @@ class SearchResponderV2Spec extends CoreSpec() with ImplicitSender { "perform a search by label for incunabula:book that contain 'Das Narrenschiff'" in { - responderManager ! SearchResourceByLabelRequestV2( + appActor ! SearchResourceByLabelRequestV2( searchValue = "Das Narrenschiff", offset = 0, limitToProject = None, @@ -194,7 +194,7 @@ class SearchResponderV2Spec extends CoreSpec() with ImplicitSender { "perform a count search query by label for incunabula:book that contain 'Narrenschiff'" in { - responderManager ! SearchResourceByLabelCountRequestV2( + appActor ! SearchResourceByLabelCountRequestV2( searchValue = "Narrenschiff", limitToProject = None, limitToResourceClass = Some("http://www.knora.org/ontology/0803/incunabula#book".toSmartIri), // internal Iri! @@ -210,7 +210,7 @@ class SearchResponderV2Spec extends CoreSpec() with ImplicitSender { "perform a a count search query by label for incunabula:book that contain 'Das Narrenschiff'" in { - responderManager ! SearchResourceByLabelCountRequestV2( + appActor ! SearchResourceByLabelCountRequestV2( searchValue = "Das Narrenschiff", limitToProject = None, limitToResourceClass = Some("http://www.knora.org/ontology/0803/incunabula#book".toSmartIri), // internal Iri! @@ -225,7 +225,7 @@ class SearchResponderV2Spec extends CoreSpec() with ImplicitSender { } "search by project and resource class" in { - responderManager ! SearchResourcesByProjectAndClassRequestV2( + appActor ! SearchResourcesByProjectAndClassRequestV2( projectIri = SharedTestDataADM.incunabulaProject.id.toSmartIri, resourceClass = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book".toSmartIri, orderByProperty = Some("http://0.0.0.0:3333/ontology/0803/incunabula/v2#title".toSmartIri), @@ -243,7 +243,7 @@ class SearchResponderV2Spec extends CoreSpec() with ImplicitSender { "search for list label" in { - responderManager ! FulltextSearchRequestV2( + appActor ! FulltextSearchRequestV2( searchValue = "non fiction", offset = 0, limitToProject = None, @@ -266,7 +266,7 @@ class SearchResponderV2Spec extends CoreSpec() with ImplicitSender { "search for list label and find sub-nodes" in { - responderManager ! FulltextSearchRequestV2( + appActor ! FulltextSearchRequestV2( searchValue = "novel", offset = 0, limitToProject = None, @@ -291,7 +291,7 @@ class SearchResponderV2Spec extends CoreSpec() with ImplicitSender { val query = searchResponderV2SpecFullData.constructQueryForIncunabulaCompundObject - responderManager ! GravsearchRequestV2( + appActor ! GravsearchRequestV2( constructQuery = query, targetSchema = ApiV2Complex, schemaOptions = SchemaOptions.ForStandoffWithTextValues, diff --git a/webapi/src/test/scala/org/knora/webapi/responders/v2/StandoffResponderV2Spec.scala b/webapi/src/test/scala/org/knora/webapi/responders/v2/StandoffResponderV2Spec.scala index f7d662ae97..aa5a865800 100644 --- a/webapi/src/test/scala/org/knora/webapi/responders/v2/StandoffResponderV2Spec.scala +++ b/webapi/src/test/scala/org/knora/webapi/responders/v2/StandoffResponderV2Spec.scala @@ -38,7 +38,7 @@ class StandoffResponderV2Spec extends CoreSpec() with ImplicitSender { .toString() implicit val timeout: Timeout = Duration(10, SECONDS) - val resF: Future[SparqlConstructResponse] = (storeManager ? SparqlConstructRequest( + val resF: Future[SparqlConstructResponse] = (appActor ? SparqlConstructRequest( sparql = getMappingSparql, featureFactoryConfig = defaultFeatureFactoryConfig )).mapTo[SparqlConstructResponse] @@ -104,7 +104,7 @@ class StandoffResponderV2Spec extends CoreSpec() with ImplicitSender { featureFactoryConfig = defaultFeatureFactoryConfig, user = SharedTestDataADM.rootUser ) - responderManager ! message + appActor ! message val response = expectMsgPF(timeout) { case res: CreateMappingResponseV2 => res case _ => throw AssertionException("Could not create a mapping") diff --git a/webapi/src/test/scala/org/knora/webapi/responders/v2/ValuesResponderV2Spec.scala b/webapi/src/test/scala/org/knora/webapi/responders/v2/ValuesResponderV2Spec.scala index 550029a7a2..bf02220462 100644 --- a/webapi/src/test/scala/org/knora/webapi/responders/v2/ValuesResponderV2Spec.scala +++ b/webapi/src/test/scala/org/knora/webapi/responders/v2/ValuesResponderV2Spec.scala @@ -194,7 +194,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val parsedGravsearchQuery = GravsearchParser.parseQuery(gravsearchQuery) - responderManager ! GravsearchRequestV2( + appActor ! GravsearchRequestV2( constructQuery = parsedGravsearchQuery, targetSchema = ApiV2Complex, schemaOptions = SchemaOptions.ForStandoffWithTextValues, @@ -238,7 +238,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { requestingUser: UserADM, isLinkValue: Boolean = false ): Unit = { - responderManager ! ResourcesGetRequestV2( + appActor ! ResourcesGetRequestV2( resourceIris = Seq(resourceIri), targetSchema = ApiV2Complex, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -341,7 +341,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { } private def getResourceLastModificationDate(resourceIri: IRI, requestingUser: UserADM): Option[Instant] = { - responderManager ! ResourcesPreviewGetRequestV2( + appActor ! ResourcesPreviewGetRequestV2( resourceIris = Seq(resourceIri), targetSchema = ApiV2Complex, featureFactoryConfig = defaultFeatureFactoryConfig, @@ -364,7 +364,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { |} """.stripMargin - storeManager ! SparqlSelectRequest(sparqlQuery) + appActor ! SparqlSelectRequest(sparqlQuery) expectMsgPF(timeout) { case response: SparqlSelectResult => val rows = response.results.bindings @@ -389,7 +389,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { |} """.stripMargin - storeManager ! SparqlSelectRequest(sparqlQuery) + appActor ! SparqlSelectRequest(sparqlQuery) expectMsgPF(timeout) { case response: SparqlSelectResult => val rows = response.results.bindings @@ -405,7 +405,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { } "Load test data" in { - responderManager ! GetMappingRequestV2( + appActor ! GetMappingRequestV2( mappingIri = "http://rdfh.ch/standoff/mappings/StandardMapping", featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = KnoraSystemInstances.Users.SystemUser @@ -425,7 +425,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val intValue = 4 val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(resourceIri, anythingUser1) - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -468,7 +468,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#hasInteger".toSmartIri val intValue = 4 - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -508,7 +508,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val intValue = 5 - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -559,7 +559,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#hasInteger".toSmartIri val intValue = 5 - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -601,7 +601,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val intValue = 5 - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -654,7 +654,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val intValue = 5 val comment = "Added a comment" - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -697,7 +697,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val intValue = 5 - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -753,7 +753,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(resourceIri, anythingUser1) val comment = "Initial comment" - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -802,7 +802,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val permissions = "CR knora-admin:Creator|V http://rdfh.ch/groups/0001/thing-searcher" val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(resourceIri, anythingUser1) - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -850,7 +850,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val intValue = 1024 val permissions = "M knora-admin:Creator,V knora-admin:KnownUser" - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -878,7 +878,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val intValue = 1024 val permissions = "M knora-admin:Creator|V http://rdfh.ch/groups/0001/nonexistent-group" - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -909,7 +909,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val valueCreationDate = Instant.now val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(resourceIri, anythingUser1) - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -957,7 +957,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val intValue = 989 val valueCreationDate = Instant.parse("2019-11-29T10:00:00Z") - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -989,7 +989,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val intValue = 988 val valueCreationDate = Instant.now - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -1040,7 +1040,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val intValue = 1000 val newValueVersionIri: IRI = stringFormatter.makeRandomValueIri(resourceIri) - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -1086,7 +1086,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#hasInteger".toSmartIri val intValue = 5 - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -1111,7 +1111,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book_comment".toSmartIri val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(zeitglöckleinIri, incunabulaUser) - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = zeitglöckleinIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book".toSmartIri, @@ -1151,7 +1151,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val valueHasString = "Comment 1a" val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book_comment".toSmartIri - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = zeitglöckleinIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book".toSmartIri, @@ -1177,7 +1177,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book_comment".toSmartIri val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(zeitglöckleinIri, incunabulaUser) - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = zeitglöckleinIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book".toSmartIri, @@ -1223,7 +1223,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book_comment".toSmartIri val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(zeitglöckleinIri, incunabulaUser) - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = zeitglöckleinIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book".toSmartIri, @@ -1272,7 +1272,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book_comment".toSmartIri - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = zeitglöckleinIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book".toSmartIri, @@ -1303,7 +1303,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val valueHasDecimal = BigDecimal("4.3") val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(resourceIri, anythingUser1) - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -1344,7 +1344,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#hasDecimal".toSmartIri val valueHasDecimal = BigDecimal("4.3") - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -1372,7 +1372,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val valueHasTimeStamp = Instant.parse("2019-08-28T15:59:12.725007Z") val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(resourceIri, anythingUser1) - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -1424,7 +1424,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { valueHasEndPrecision = DatePrecisionYear ) - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -1476,7 +1476,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { valueHasEndPrecision = DatePrecisionYear ) - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -1501,7 +1501,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val valueHasBoolean = true val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(resourceIri, anythingUser1) - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -1546,7 +1546,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { """{"status":"active","lineColor":"#ff3333","lineWidth":2,"points":[{"x":0.08098591549295775,"y":0.16741071428571427},{"x":0.7394366197183099,"y":0.7299107142857143}],"type":"rectangle","original_index":0}""" val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(resourceIri, anythingUser1) - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -1588,7 +1588,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val valueHasGeometry = """{"status":"active","lineColor":"#ff3333","lineWidth":2,"points":[{"x":0.08098591549295775,"y":0.16741071428571427},{"x":0.7394366197183099,"y":0.7299107142857143}],"type":"rectangle","original_index":0}""" - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -1617,7 +1617,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val valueHasIntervalEnd = BigDecimal("3") val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(resourceIri, anythingUser1) - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -1663,7 +1663,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val valueHasIntervalStart = BigDecimal("1.2") val valueHasIntervalEnd = BigDecimal("3") - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -1692,7 +1692,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val valueHasListNode = "http://rdfh.ch/lists/0001/treeList03" val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(resourceIri, anythingUser1) - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -1735,7 +1735,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#hasListItem".toSmartIri val valueHasListNode = "http://rdfh.ch/lists/0001/treeList03" - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -1760,7 +1760,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#hasListItem".toSmartIri val valueHasListNode = "http://rdfh.ch/lists/0001/nonexistent" - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -1788,7 +1788,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val valueHasColor = "#ff3333" val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(resourceIri, anythingUser1) - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -1831,7 +1831,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#hasColor".toSmartIri val valueHasColor = "#ff3333" - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -1859,7 +1859,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val valueHasUri = "https://www.knora.org" val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(resourceIri, anythingUser1) - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -1902,7 +1902,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#hasUri".toSmartIri val valueHasUri = "https://www.knora.org" - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -1930,7 +1930,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val valueHasGeonameCode = "2661604" val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(resourceIri, anythingUser1) - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -1973,7 +1973,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#hasGeoname".toSmartIri val valueHasGeonameCode = "2661604" - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -2014,7 +2014,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { apiRequestID = UUID.randomUUID ) - responderManager ! createValueRequest + appActor ! createValueRequest expectMsgPF(timeout) { case createValueResponse: CreateValueResponseV2 => linkValueIri.set(createValueResponse.valueIri) @@ -2058,7 +2058,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { apiRequestID = UUID.randomUUID ) - responderManager ! createValueRequest + appActor ! createValueRequest expectMsgPF(timeout) { case msg: akka.actor.Status.Failure => assert(msg.cause.isInstanceOf[DuplicateValueException]) @@ -2084,7 +2084,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { apiRequestID = UUID.randomUUID ) - responderManager ! createValueRequest + appActor ! createValueRequest expectMsgPF(timeout) { case msg: akka.actor.Status.Failure => assert(msg.cause.isInstanceOf[BadRequestException]) @@ -2092,7 +2092,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { } "not create a standoff link directly" in { - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = zeitglöckleinIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book".toSmartIri, @@ -2117,7 +2117,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#hasInteger".toSmartIri val intValue = 6 - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -2142,7 +2142,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val valueHasString = "Comment 2" val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book_comment".toSmartIri - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book".toSmartIri, @@ -2167,7 +2167,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#hasInteger".toSmartIri val intValue = 2048 - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book".toSmartIri, @@ -2191,7 +2191,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val resourceIri: IRI = "http://rdfh.ch/0803/21abac2162" val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#pubdate".toSmartIri - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book".toSmartIri, @@ -2216,7 +2216,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { // The cardinality of incunabula:partOf in incunabula:page is 1, and page http://rdfh.ch/0803/4f11adaf is already part of a book. - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#page".toSmartIri, @@ -2237,7 +2237,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { // The cardinality of incunabula:seqnum in incunabula:page is 0-1, and page http://rdfh.ch/0803/4f11adaf already has a seqnum. - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = "http://rdfh.ch/0803/4f11adaf", resourceClassIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#page".toSmartIri, @@ -2281,7 +2281,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { ) ) - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book".toSmartIri, @@ -2378,7 +2378,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { ) ) - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book".toSmartIri, @@ -2457,7 +2457,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#hasInteger".toSmartIri val intValue = 3 - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -2483,7 +2483,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#hasInteger".toSmartIri val intValue = 9 - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -2511,7 +2511,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(resourceIri, anythingUser1) val intValue = 6 - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -2558,7 +2558,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val permissions = "CR knora-admin:Creator" val intValue = 10 - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -2586,7 +2586,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val permissions = "M knora-admin:Creator,V knora-admin:KnownUser" val intValue = 7 - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -2614,7 +2614,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val permissions = "M knora-admin:Creator|V http://rdfh.ch/groups/0001/nonexistent-group" val intValue = 8 - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -2652,7 +2652,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { checkLastModDateChanged = false ) - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValuePermissionsV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -2690,7 +2690,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#hasInteger".toSmartIri val permissions = "CR knora-admin:Creator" - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValuePermissionsV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -2714,7 +2714,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#hasInteger".toSmartIri val permissions = "M knora-admin:Creator,V knora-admin:KnownUser" - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValuePermissionsV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -2738,7 +2738,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#hasInteger".toSmartIri val permissions = "M knora-admin:Creator|V http://rdfh.ch/groups/0001/nonexistent-group" - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValuePermissionsV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -2762,7 +2762,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#hasInteger".toSmartIri val intValue = 1 - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -2788,7 +2788,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book_comment".toSmartIri val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(zeitglöckleinIri, incunabulaUser) - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = zeitglöckleinIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book".toSmartIri, @@ -2831,7 +2831,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book_comment".toSmartIri val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(zeitglöckleinIri, incunabulaUser) - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = zeitglöckleinIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book".toSmartIri, @@ -2904,7 +2904,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val valueHasString = "this is a text value that has a comment" val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book_comment".toSmartIri - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = zeitglöckleinIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book".toSmartIri, @@ -2931,7 +2931,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book_comment".toSmartIri val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(zeitglöckleinIri, incunabulaUser) - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = zeitglöckleinIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book".toSmartIri, @@ -2980,7 +2980,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book_comment".toSmartIri - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = zeitglöckleinIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book".toSmartIri, @@ -3010,7 +3010,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book_comment".toSmartIri val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(zeitglöckleinIri, incunabulaUser) - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = zeitglöckleinIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book".toSmartIri, @@ -3060,7 +3060,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book_comment".toSmartIri - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = zeitglöckleinIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book".toSmartIri, @@ -3088,7 +3088,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val valueHasString = "This updated comment has no standoff" val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book_comment".toSmartIri - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = zeitglöckleinIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book".toSmartIri, @@ -3115,7 +3115,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val valueHasDecimal = BigDecimal("3.1415926") val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(resourceIri, anythingUser1) - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -3157,7 +3157,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#hasDecimal".toSmartIri val valueHasDecimal = BigDecimal("3.1415926") - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -3184,7 +3184,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val valueHasTimeStamp = Instant.parse("2019-08-28T16:01:46.952237Z") val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(resourceIri, anythingUser1) - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -3226,7 +3226,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#hasTimeStamp".toSmartIri val valueHasTimeStamp = Instant.parse("2019-08-28T16:01:46.952237Z") - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -3261,7 +3261,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { valueHasEndPrecision = DatePrecisionYear ) - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -3314,7 +3314,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { valueHasEndPrecision = DatePrecisionYear ) - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -3338,7 +3338,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val valueHasBoolean = false val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(resourceIri, anythingUser1) - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -3380,7 +3380,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#hasBoolean".toSmartIri val valueHasBoolean = false - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -3408,7 +3408,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { """{"status":"active","lineColor":"#ff3334","lineWidth":2,"points":[{"x":0.08098591549295775,"y":0.16741071428571427},{"x":0.7394366197183099,"y":0.7299107142857143}],"type":"rectangle","original_index":0}""" val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(resourceIri, anythingUser1) - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -3451,7 +3451,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val valueHasGeometry = """{"status":"active","lineColor":"#ff3334","lineWidth":2,"points":[{"x":0.08098591549295775,"y":0.16741071428571427},{"x":0.7394366197183099,"y":0.7299107142857143}],"type":"rectangle","original_index":0}""" - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -3479,7 +3479,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val valueHasIntervalEnd = BigDecimal("3.45") val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(resourceIri, anythingUser1) - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -3526,7 +3526,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val valueHasIntervalStart = BigDecimal("1.23") val valueHasIntervalEnd = BigDecimal("3.45") - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -3554,7 +3554,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val valueHasListNode = "http://rdfh.ch/lists/0001/treeList02" val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(resourceIri, anythingUser1) - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -3598,7 +3598,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#hasListItem".toSmartIri val valueHasListNode = "http://rdfh.ch/lists/0001/treeList02" - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -3624,7 +3624,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#hasListItem".toSmartIri val valueHasListNode = "http://rdfh.ch/lists/0001/nonexistent" - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -3651,7 +3651,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val valueHasColor = "#ff3334" val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(resourceIri, anythingUser1) - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -3695,7 +3695,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#hasColor".toSmartIri val valueHasColor = "#ff3334" - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -3722,7 +3722,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val valueHasUri = "https://en.wikipedia.org" val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(resourceIri, anythingUser1) - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -3766,7 +3766,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#hasUri".toSmartIri val valueHasUri = "https://en.wikipedia.org" - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -3793,7 +3793,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val valueHasGeonameCode = "2988507" val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(resourceIri, anythingUser1) - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -3837,7 +3837,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#hasGeoname".toSmartIri val valueHasGeonameCode = "2988507" - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, @@ -3880,7 +3880,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { apiRequestID = UUID.randomUUID ) - responderManager ! updateValueRequest + appActor ! updateValueRequest expectMsgPF(timeout) { case updateValueResponse: UpdateValueResponseV2 => linkValueIri.set(updateValueResponse.valueIri) @@ -3928,7 +3928,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { apiRequestID = UUID.randomUUID ) - responderManager ! updateValueRequest + appActor ! updateValueRequest expectMsgPF(timeout) { case msg: akka.actor.Status.Failure => assert(msg.cause.isInstanceOf[DuplicateValueException]) @@ -3959,7 +3959,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { apiRequestID = UUID.randomUUID ) - responderManager ! updateValueRequest + appActor ! updateValueRequest expectMsgPF(timeout) { case updateValueResponse: UpdateValueResponseV2 => linkValueIri.set(updateValueResponse.valueIri) @@ -4009,7 +4009,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { apiRequestID = UUID.randomUUID ) - responderManager ! updateValueRequest + appActor ! updateValueRequest expectMsgPF(timeout) { case msg: akka.actor.Status.Failure => assert(msg.cause.isInstanceOf[DuplicateValueException]) @@ -4040,7 +4040,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { apiRequestID = UUID.randomUUID ) - responderManager ! updateValueRequest + appActor ! updateValueRequest expectMsgPF(timeout) { case updateValueResponse: UpdateValueResponseV2 => linkValueIri.set(updateValueResponse.valueIri) @@ -4091,7 +4091,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { apiRequestID = UUID.randomUUID ) - responderManager ! createValueRequest + appActor ! createValueRequest expectMsgPF(timeout) { case createValueResponse: CreateValueResponseV2 => linkValueIri.set(createValueResponse.valueIri) @@ -4117,7 +4117,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { } "not update a standoff link directly" in { - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = zeitglöckleinIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book".toSmartIri, @@ -4162,7 +4162,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { requestingUser = anythingUser1 ) - responderManager ! updateValueRequest + appActor ! updateValueRequest expectMsgPF(timeout) { case msg: akka.actor.Status.Failure => assert(msg.cause.isInstanceOf[DuplicateValueException]) @@ -4209,7 +4209,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { originalMimeType = originalMimeType, originalFilename = originalFilename ) - responderManager ! changeFileMessage + appActor ! changeFileMessage expectMsgPF(timeout) { case updateValueResponse: UpdateValueResponseV2 => stillImageFileValueIri.set(updateValueResponse.valueIri) @@ -4260,7 +4260,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { ) // Knora will reject this request. - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = thingPictureClassIri.toSmartIri, @@ -4295,7 +4295,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { ) // Knora will accept this request, but the mock Sipi responder will say it failed to move the file to permanent storage. - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = resourceIri, resourceClassIri = thingPictureClassIri.toSmartIri, @@ -4317,7 +4317,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val resourceIri: IRI = aThingIri val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#hasInteger".toSmartIri - responderManager ! DeleteValueRequestV2( + appActor ! DeleteValueRequestV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, propertyIri = propertyIri, @@ -4340,7 +4340,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(resourceIri, anythingUser1) val valueIri = intValueIri.get - responderManager ! DeleteValueRequestV2( + appActor ! DeleteValueRequestV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, propertyIri = propertyIri, @@ -4369,7 +4369,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val deleteDate: Instant = Instant.now val deleteComment = Some("this value was incorrect") - responderManager ! DeleteValueRequestV2( + appActor ! DeleteValueRequestV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0001/anything/v2#Thing".toSmartIri, propertyIri = propertyIri, @@ -4395,7 +4395,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { } "not delete a standoff link directly" in { - responderManager ! DeleteValueRequestV2( + appActor ! DeleteValueRequestV2( resourceIri = zeitglöckleinIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book".toSmartIri, propertyIri = OntologyConstants.KnoraApiV2Complex.HasStandoffLinkToValue.toSmartIri, @@ -4415,7 +4415,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book_comment".toSmartIri val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(zeitglöckleinIri, incunabulaUser) - responderManager ! DeleteValueRequestV2( + appActor ! DeleteValueRequestV2( resourceIri = zeitglöckleinIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book".toSmartIri, propertyIri = propertyIri, @@ -4454,7 +4454,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val maybeResourceLastModDate: Option[Instant] = getResourceLastModificationDate(resourceIri, anythingUser1) val linkValueIRI = linkValueIri.get - responderManager ! DeleteValueRequestV2( + appActor ! DeleteValueRequestV2( resourceIri = resourceIri, resourceClassIri = OntologyConstants.KnoraApiV2Complex.LinkObj.toSmartIri, propertyIri = linkValuePropertyIri, @@ -4479,7 +4479,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { "not delete a value if the property's cardinality doesn't allow it" in { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#title".toSmartIri - responderManager ! DeleteValueRequestV2( + appActor ! DeleteValueRequestV2( resourceIri = zeitglöckleinIri, resourceClassIri = "http://0.0.0.0:3333/ontology/0803/incunabula/v2#book".toSmartIri, propertyIri = propertyIri, @@ -4507,7 +4507,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { permissions = Some("M knora-admin:ProjectMember") ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.imagesUser01, @@ -4518,7 +4518,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/00FF/images/v2#stueckzahl".toSmartIri - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/00FF/images/v2#bildformat".toSmartIri, @@ -4552,7 +4552,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { permissions = Some("M knora-admin:ProjectMember") ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.imagesUser01, @@ -4563,7 +4563,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/00FF/images/v2#stueckzahl".toSmartIri - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/00FF/images/v2#bildformat".toSmartIri, @@ -4595,7 +4595,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { permissions = Some("M knora-admin:ProjectMember") ) - responderManager ! CreateResourceRequestV2( + appActor ! CreateResourceRequestV2( createResource = inputResource, featureFactoryConfig = defaultFeatureFactoryConfig, requestingUser = SharedTestDataADM.imagesUser01, @@ -4606,7 +4606,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { val propertyIri: SmartIri = "http://0.0.0.0:3333/ontology/00FF/images/v2#stueckzahl".toSmartIri - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = resourceIri, resourceClassIri = "http://0.0.0.0:3333/ontology/00FF/images/v2#bildformat".toSmartIri, @@ -4632,7 +4632,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { // Create a text value with a standoff link. - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = sierraIri, resourceClassIri = resourceClassIri, @@ -4676,7 +4676,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { // Create a second text value with the same standoff link. - responderManager ! CreateValueRequestV2( + appActor ! CreateValueRequestV2( CreateValueV2( resourceIri = sierraIri, resourceClassIri = resourceClassIri, @@ -4729,7 +4729,7 @@ class ValuesResponderV2Spec extends CoreSpec() with ImplicitSender { // Update the second text value. - responderManager ! UpdateValueRequestV2( + appActor ! UpdateValueRequestV2( UpdateValueContentV2( resourceIri = sierraIri, resourceClassIri = resourceClassIri, diff --git a/webapi/src/test/scala/org/knora/webapi/routing/AuthenticatorSpec.scala b/webapi/src/test/scala/org/knora/webapi/routing/AuthenticatorSpec.scala index 290ba26f50..2ee87e56c6 100644 --- a/webapi/src/test/scala/org/knora/webapi/routing/AuthenticatorSpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/routing/AuthenticatorSpec.scala @@ -44,7 +44,7 @@ class AuthenticatorSpec extends CoreSpec("AuthenticationTestSystem") with Implic UserIdentifierADM(maybeEmail = Some(AuthenticatorSpec.rootUserEmail)), defaultFeatureFactoryConfig, system, - responderManager, + appActor, timeout, executionContext ) @@ -58,7 +58,7 @@ class AuthenticatorSpec extends CoreSpec("AuthenticationTestSystem") with Implic UserIdentifierADM(maybeEmail = Some("wronguser@example.com")), defaultFeatureFactoryConfig, system, - responderManager, + appActor, timeout, executionContext ) @@ -73,7 +73,7 @@ class AuthenticatorSpec extends CoreSpec("AuthenticationTestSystem") with Implic UserIdentifierADM(), defaultFeatureFactoryConfig, system, - responderManager, + appActor, timeout, executionContext ) @@ -92,7 +92,7 @@ class AuthenticatorSpec extends CoreSpec("AuthenticationTestSystem") with Implic Some(correctPasswordCreds), defaultFeatureFactoryConfig, system, - responderManager, + appActor, executionContext ) resF map { res => @@ -106,7 +106,7 @@ class AuthenticatorSpec extends CoreSpec("AuthenticationTestSystem") with Implic Some(wrongPasswordCreds), defaultFeatureFactoryConfig, system, - responderManager, + appActor, executionContext ) resF map { res => @@ -123,7 +123,7 @@ class AuthenticatorSpec extends CoreSpec("AuthenticationTestSystem") with Implic Some(wrongPasswordCreds), defaultFeatureFactoryConfig, system, - responderManager, + appActor, executionContext ) resF map { res => @@ -142,7 +142,7 @@ class AuthenticatorSpec extends CoreSpec("AuthenticationTestSystem") with Implic Some(tokenCreds), defaultFeatureFactoryConfig, system, - responderManager, + appActor, executionContext ) resF map { res => @@ -162,7 +162,7 @@ class AuthenticatorSpec extends CoreSpec("AuthenticationTestSystem") with Implic Some(tokenCreds), defaultFeatureFactoryConfig, system, - responderManager, + appActor, executionContext ) resF map { res => @@ -175,7 +175,7 @@ class AuthenticatorSpec extends CoreSpec("AuthenticationTestSystem") with Implic Some(tokenCreds), defaultFeatureFactoryConfig, system, - responderManager, + appActor, executionContext ) resF map { res => diff --git a/webapi/src/test/scala/org/knora/webapi/store/cacheservice/CacheServiceManagerSpec.scala b/webapi/src/test/scala/org/knora/webapi/store/cacheservice/CacheServiceManagerSpec.scala index a1dc89ee23..c78de1c96a 100644 --- a/webapi/src/test/scala/org/knora/webapi/store/cacheservice/CacheServiceManagerSpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/store/cacheservice/CacheServiceManagerSpec.scala @@ -36,42 +36,42 @@ class CacheServiceManagerSpec extends CoreSpec(CacheServiceManagerSpec.config) { "The CacheManager" should { "successfully store a user" in { - storeManager ! CacheServicePutUserADM(user) + appActor ! CacheServicePutUserADM(user) expectMsg(()) } "successfully retrieve a user by IRI" in { - storeManager ! CacheServiceGetUserADM(UserIdentifierADM(maybeIri = Some(user.id))) + appActor ! CacheServiceGetUserADM(UserIdentifierADM(maybeIri = Some(user.id))) expectMsg(Some(user)) } "successfully retrieve a user by USERNAME" in { - storeManager ! CacheServiceGetUserADM(UserIdentifierADM(maybeUsername = Some(user.username))) + appActor ! CacheServiceGetUserADM(UserIdentifierADM(maybeUsername = Some(user.username))) expectMsg(Some(user)) } "successfully retrieve a user by EMAIL" in { - storeManager ! CacheServiceGetUserADM(UserIdentifierADM(maybeEmail = Some(user.email))) + appActor ! CacheServiceGetUserADM(UserIdentifierADM(maybeEmail = Some(user.email))) expectMsg(Some(user)) } "successfully store a project" in { - storeManager ! CacheServicePutProjectADM(project) + appActor ! CacheServicePutProjectADM(project) expectMsg(()) } "successfully retrieve a project by IRI" in { - storeManager ! CacheServiceGetProjectADM(ProjectIdentifierADM(maybeIri = Some(project.id))) + appActor ! CacheServiceGetProjectADM(ProjectIdentifierADM(maybeIri = Some(project.id))) expectMsg(Some(project)) } "successfully retrieve a project by SHORTNAME" in { - storeManager ! CacheServiceGetProjectADM(ProjectIdentifierADM(maybeShortname = Some(project.shortname))) + appActor ! CacheServiceGetProjectADM(ProjectIdentifierADM(maybeShortname = Some(project.shortname))) expectMsg(Some(project)) } "successfully retrieve a project by SHORTCODE" in { - storeManager ! CacheServiceGetProjectADM(ProjectIdentifierADM(maybeShortcode = Some(project.shortcode))) + appActor ! CacheServiceGetProjectADM(ProjectIdentifierADM(maybeShortcode = Some(project.shortcode))) expectMsg(Some(project)) } } diff --git a/webapi/src/test/scala/org/knora/webapi/store/triplestore/AllTriplestoreSpec.scala b/webapi/src/test/scala/org/knora/webapi/store/triplestore/AllTriplestoreSpec.scala index 352e4d1466..03536bdd3a 100644 --- a/webapi/src/test/scala/org/knora/webapi/store/triplestore/AllTriplestoreSpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/store/triplestore/AllTriplestoreSpec.scala @@ -160,7 +160,7 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic s"The Triplestore ($settings.triplestoreType) Actor " when { "started " should { "only start answering after initialization has finished " in { - storeManager ! CheckTriplestoreRequest() + appActor ! CheckTriplestoreRequest() val response = expectMsgType[CheckTriplestoreResponse](1.second) response.triplestoreStatus should be(TriplestoreStatus.ServiceAvailable) @@ -170,7 +170,7 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic "receiving a Hello " should { "reply " in { within(1.seconds) { - storeManager ! HelloTriplestore(settings.triplestoreType) + appActor ! HelloTriplestore(settings.triplestoreType) expectMsg(HelloTriplestore(settings.triplestoreType)) } } @@ -178,11 +178,11 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic "receiving a 'ResetTriplestoreContent' request " should { "reset the data " in { //println("==>> Reset test case start") - storeManager ! ResetRepositoryContent(rdfDataObjects) + appActor ! ResetRepositoryContent(rdfDataObjects) expectMsg(5 minutes, ResetRepositoryContentACK()) //println("==>> Reset test case end") - storeManager ! SparqlSelectRequest(countTriplesQuery) + appActor ! SparqlSelectRequest(countTriplesQuery) expectMsgPF(timeout) { case msg: SparqlSelectResult => //println(msg) afterLoadCount = msg.results.bindings.head.rowMap("no").toInt @@ -193,7 +193,7 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic "receiving a Named Graph request " should { "provide data " in { //println("==>> Named Graph test case start") - storeManager ! SparqlSelectRequest(namedGraphQuery) + appActor ! SparqlSelectRequest(namedGraphQuery) //println(result) expectMsgPF(timeout) { case msg: SparqlSelectResult => //println(msg) @@ -206,22 +206,22 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic "execute the update " in { //println("==>> Update 1 test case start") - storeManager ! SparqlSelectRequest(countTriplesQuery) + appActor ! SparqlSelectRequest(countTriplesQuery) expectMsgPF(timeout) { case msg: SparqlSelectResult => //println("vor insert: " + msg) msg.results.bindings.head.rowMap("no").toInt should ===(afterLoadCount) } - storeManager ! SparqlUpdateRequest(insertQuery) + appActor ! SparqlUpdateRequest(insertQuery) expectMsg(SparqlUpdateResponse()) - storeManager ! SparqlSelectRequest(checkInsertQuery) + appActor ! SparqlSelectRequest(checkInsertQuery) expectMsgPF(timeout) { case msg: SparqlSelectResult => //println(msg) msg.results.bindings.size should ===(3) } - storeManager ! SparqlSelectRequest(countTriplesQuery) + appActor ! SparqlSelectRequest(countTriplesQuery) expectMsgPF(timeout) { case msg: SparqlSelectResult => //println("nach instert" + msg) afterChangeCount = msg.results.bindings.head.rowMap("no").toInt @@ -232,22 +232,22 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic "revert back " in { //println("==>> Update 2 test case start") - storeManager ! SparqlSelectRequest(countTriplesQuery) + appActor ! SparqlSelectRequest(countTriplesQuery) expectMsgPF(timeout) { case msg: SparqlSelectResult => //println("vor revert: " + msg) msg.results.bindings.head.rowMap("no").toInt should ===(afterChangeCount) } - storeManager ! SparqlUpdateRequest(revertInsertQuery) + appActor ! SparqlUpdateRequest(revertInsertQuery) expectMsg(SparqlUpdateResponse()) - storeManager ! SparqlSelectRequest(countTriplesQuery) + appActor ! SparqlSelectRequest(countTriplesQuery) expectMsgPF(timeout) { case msg: SparqlSelectResult => //println("nach revert: " + msg) msg.results.bindings.head.rowMap("no").toInt should ===(afterLoadCount) } - storeManager ! SparqlSelectRequest(checkInsertQuery) + appActor ! SparqlSelectRequest(checkInsertQuery) expectMsgPF(timeout) { case msg: SparqlSelectResult => //println("check: " + msg) msg.results.bindings.size should ===(0) @@ -259,7 +259,7 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic "receiving a search request " should { "execute the search with the lucene index for 'knora-base:valueHasString' properties" in { within(1000.millis) { - storeManager ! SparqlSelectRequest(textSearchQueryFusekiValueHasString) + appActor ! SparqlSelectRequest(textSearchQueryFusekiValueHasString) expectMsgPF(timeout) { case msg: SparqlSelectResult => //println(msg) msg.results.bindings.size should ===(3) @@ -269,7 +269,7 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic "execute the search with the lucene index for 'rdfs:label' properties" in { within(1000.millis) { - storeManager ! SparqlSelectRequest(textSearchQueryFusekiDRFLabel) + appActor ! SparqlSelectRequest(textSearchQueryFusekiDRFLabel) expectMsgPF(timeout) { case msg: SparqlSelectResult => //println(msg) msg.results.bindings.size should ===(1) @@ -280,7 +280,7 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic "receiving insert rdf data objects request" should { "insert RDF DataObjects" in { - storeManager ! InsertRepositoryContent(rdfDataObjects) + appActor ! InsertRepositoryContent(rdfDataObjects) expectMsg(5 minutes, InsertTriplestoreContentACK()) } @@ -288,12 +288,12 @@ class AllTriplestoreSpec extends CoreSpec(AllTriplestoreSpec.config) with Implic "receiving named graph data requests" should { "put the graph data as turtle" in { - storeManager ! InsertGraphDataContentRequest(graphContent = graphDataContent, "http://jedi.org/graph") + appActor ! InsertGraphDataContentRequest(graphContent = graphDataContent, "http://jedi.org/graph") expectMsgType[InsertGraphDataContentResponse](10.second) } "read the graph data as turtle" in { - storeManager ! NamedGraphDataRequest(graphIri = "http://jedi.org/graph") + appActor ! NamedGraphDataRequest(graphIri = "http://jedi.org/graph") val response = expectMsgType[NamedGraphDataResponse](1.second) response.turtle.length should be > 0 } diff --git a/webapi/src/test/scala/org/knora/webapi/store/triplestore/HttpTriplestoreConnectorSpec.scala b/webapi/src/test/scala/org/knora/webapi/store/triplestore/HttpTriplestoreConnectorSpec.scala index 70d7a325d8..3be8353578 100644 --- a/webapi/src/test/scala/org/knora/webapi/store/triplestore/HttpTriplestoreConnectorSpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/store/triplestore/HttpTriplestoreConnectorSpec.scala @@ -17,7 +17,7 @@ class HttpTriplestoreConnectorSpec extends CoreSpec() with ImplicitSender { "The HttpTriplestoreConnector" should { "report a connection timeout with an appropriate error message" in { - storeManager ! SimulateTimeoutRequest() + appActor ! SimulateTimeoutRequest() expectMsgPF(timeout) { case msg: akka.actor.Status.Failure => assert(msg.cause.isInstanceOf[TriplestoreTimeoutException]) diff --git a/webapi/src/test/scala/org/knora/webapi/util/StartupUtils.scala b/webapi/src/test/scala/org/knora/webapi/util/StartupUtils.scala index 3a02920c0b..dcb1578c94 100644 --- a/webapi/src/test/scala/org/knora/webapi/util/StartupUtils.scala +++ b/webapi/src/test/scala/org/knora/webapi/util/StartupUtils.scala @@ -31,8 +31,13 @@ trait StartupUtils extends LazyLogging { */ def applicationStateRunning(): Unit = { - implicit val timeout: Timeout = Timeout(10.second) - val state: AppState = Await.result(appActor ? GetAppState(), timeout.duration).asInstanceOf[AppState] + val state: AppState = + Await + .result( + appActor.ask(GetAppState())(Timeout(5.second)), + Timeout(10.second).duration + ) + .asInstanceOf[AppState] if (state != AppStates.Running) { // not in running state