def performActionOnline()

in media_remover/src/main/scala/MediaNotRequiredMessageProcessor.scala [485:514]


  def performActionOnline(nearlineVault: Vault, internalArchiveVault: Vault, onlineOutputMessage: OnlineOutputMessage, actionToPerform: (MediaNotRequiredMessageProcessor.Action.Value, Option[ProjectRecord])): Future[Either[String, MessageProcessorReturnValue]] = {
    actionToPerform match {
      case (Action.CheckDeepArchiveForOnline, Some(_)) =>
        handleCheckDeepArchiveForOnline(onlineOutputMessage)

      case (Action.CheckInternalArchive, Some(_)) =>
        handleCheckVaultForOnline(internalArchiveVault, onlineOutputMessage, outputInternalArchiveCopyRequiredForOnline)

      case (Action.CheckExistsOnNearline, Some(_)) =>
        handleCheckVaultForOnline(nearlineVault, onlineOutputMessage, dropAndWaitForAssetSweeper)

      case (Action.ClearAndDelete, Some(_)) =>
        handleDeleteOnlineAndClear(onlineOutputMessage)

      case (Action.DropMsg, None) =>
        handleDropMsg(onlineOutputMessage)

      case (Action.DropMsg, Some(project)) =>
        handleDropMsg(onlineOutputMessage, project)

      case (Action.JustNo, Some(project)) =>
        handleJustNo(project)

      case (unexpectedAction, Some(project)) =>
        handleUnexpectedAction(unexpectedAction, project)

      case (unexpectedAction, _) =>
        handleUnexpectedAction(unexpectedAction)
    }
  }