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)
}
}