protected function updatedImportFailed(BatchJob $dbBatchJob, kDropFolderImportJobData $data, BatchJob $twinJob = null)
 {
     // set drop folder file status to ERROR_DOWNLOADING
     $dropFolderFile = DropFolderFilePeer::retrieveByPK($data->getDropFolderFileId());
     $dropFolderFile->setStatus(DropFolderFileStatus::ERROR_DOWNLOADING);
     $dropFolderFile->setErrorCode(DropFolderFileErrorCode::ERROR_DOWNLOADING_FILE);
     $dropFolderFile->setErrorDescription('Error while downloading file');
     $dropFolderFile->save();
     return $dbBatchJob;
 }
 private function onImportJobStatusUpdated(BatchJob $dbBatchJob, kDropFolderImportJobData $data)
 {
     $dropFolderFile = DropFolderFilePeer::retrieveByPK($data->getDropFolderFileId());
     if (!$dropFolderFile) {
         return;
     }
     switch ($dbBatchJob->getStatus()) {
         case BatchJob::BATCHJOB_STATUS_FINISHED:
             $newStatus = DropFolderFileStatus::HANDLED;
             $dropFolder = DropFolderPeer::retrieveByPK($dropFolderFile->getDropFolderId());
             if ($dropFolder && $dropFolder->getFileDeletePolicy() == DropFolderFileDeletePolicy::AUTO_DELETE_WHEN_ENTRY_IS_READY) {
                 // Shift the state to PROCESSING until the associated entry will reach the READY (or ERROR_CONVERTING) state
                 KalturaLog::info("Shifting drop folder file id [{$dropFolderFile->getId()}] from status [{$dropFolderFile->getStatus()}] to PROCESSING due to AUTO_DELETE_WHEN_ENTRY_IS_READY policy");
                 $newStatus = DropFolderFileStatus::PROCESSING;
             }
             $dropFolderFile->setStatus($newStatus);
             $dropFolderFile->save();
             break;
         case BatchJob::BATCHJOB_STATUS_FAILED:
         case BatchJob::BATCHJOB_STATUS_FATAL:
             $this->setFileError($dropFolderFile, DropFolderFileStatus::ERROR_DOWNLOADING, DropFolderFileErrorCode::ERROR_DOWNLOADING_FILE, DropFolderPlugin::ERROR_DOWNLOADING_FILE_MESSAGE);
             break;
     }
 }
 /**
  * @return kDropFolderImportJobData
  */
 public function getImportJobData()
 {
     $jobData = new kDropFolderImportJobData();
     $jobData->setPrivateKey($this->getSshPrivateKey());
     $jobData->setPublicKey($this->getSshPublicKey());
     $jobData->setPassPhrase($this->getSshPassPhrase());
     return $jobData;
 }
 /**
  * @return kDropFolderImportJobData
  */
 public function getImportJobData()
 {
     $jobData = new kDropFolderImportJobData();
     $jobData->setPrivateKey(null);
     $jobData->setPublicKey(null);
     $jobData->setPassPhrase(null);
     return $jobData;
 }