java.lang.Object
org.qubership.atp.itf.lite.backend.dataaccess.repository.GridFsRepository

@Repository("itf-lite-gridfs-repository") public class GridFsRepository extends Object
  • Constructor Details

    • GridFsRepository

      @Autowired public GridFsRepository(com.mongodb.client.gridfs.GridFSBucket gridFsBucket, com.mongodb.client.MongoDatabase gridFsMongoDatabase, GridFsProperties gridFsProperties, com.fasterxml.jackson.databind.ObjectMapper objectMapper)
      Constructor GridFsRepository.
  • Method Details

    • saveDictionaryByRequestId

      public UUID saveDictionaryByRequestId(String creationTime, UUID requestId, InputStream dictionaryInputStream, String dictionaryName)
      Save dictionary for request id.
      Parameters:
      creationTime - time of creation
      requestId - request id
      dictionaryInputStream - dictionary
      dictionaryName - dictionary name
    • saveDictionaryBySessionIdAndSessionRequestId

      public UUID saveDictionaryBySessionIdAndSessionRequestId(String creationTime, UUID sessionId, UUID sessionRequestId, InputStream dictionaryInputStream, String dictionaryName)
      Save dictionary for session id.
      Parameters:
      creationTime - time of creation
      sessionId - session id
      dictionaryInputStream - dictionary
      dictionaryName - dictionary name
    • saveBinaryByRequestId

      public FileBody saveBinaryByRequestId(String creationTime, UUID requestId, InputStream fileInputStream, String fileName, String contentType)
      Save binary file for request id.
      Parameters:
      creationTime - time of creation
      requestId - request id
      fileInputStream - dictionary
      fileName - dictionary name
      contentType - content type
    • saveBinaryBySessionIdAndSessionRequestId

      public FileBody saveBinaryBySessionIdAndSessionRequestId(String creationTime, UUID sessionId, UUID sessionRequestId, InputStream fileInputStream, String fileName, String contentType)
      Save binary file for session id.
      Parameters:
      creationTime - time of creation.
      sessionId - session id.
      sessionRequestId - session request id.
      fileInputStream - dictionary.
      fileName - dictionary name.
      contentType - content type.
    • saveHistoryBinary

      public UUID saveHistoryBinary(String creationTime, InputStream fileInputStream, String fileName)
      Save binary file for request id.
      Parameters:
      creationTime - time of creation
      fileInputStream - dictionary
      fileName - dictionary name
      Returns:
      id
    • saveByFileInfo

      public void saveByFileInfo(FileInfo fileInfo, InputStream inputStream)
      Save gridFs repo file information.
    • saveFileByRequestId

      public org.bson.types.ObjectId saveFileByRequestId(String creationTime, UUID requestId, InputStream fileInputStream, String fileName, UUID fileId)
      Save file for request id.
      Parameters:
      creationTime - time of creation
      requestId - request id
      fileInputStream - file
      fileName - file name
    • saveFileBySessionId

      public org.bson.types.ObjectId saveFileBySessionId(String creationTime, UUID sessionId, InputStream fileInputStream, String fileName, UUID fileId)
      Save file for request id.
      Parameters:
      creationTime - time of creation
      sessionId - session id
      fileInputStream - file
      fileName - file name
    • saveFile

      public org.bson.types.ObjectId saveFile(String creationTime, UUID id, String metadataIdName, InputStream fileInputStream, String fileName, UUID fileId)
      Save file for request id.
      Parameters:
      creationTime - time of creation
      fileInputStream - file
      fileName - file name
    • getRequestFileData

      public Optional<FileData> getRequestFileData(UUID requestId)
      Retrieves dictionary from gridFs where metadata.requestId equals requestId.
      Parameters:
      requestId - to get dictionary
      Returns:
      Optional.empty() if dictionary not found for specified requestId or FileData if it present in database
    • getFileDataByFileId

      public Optional<FileData> getFileDataByFileId(UUID fileId)
      Retrieves file from gridFs where metadata.fileId equals fileId.
      Parameters:
      fileId - file id
      Returns:
      Optional.empty() if file not found for specified fileId or FileData if it present in database
    • getFileInfosByRequestIds

      public Map<UUID,List<FileInfo>> getFileInfosByRequestIds(Set<UUID> requestIds)
      Get map with key is request id and value is list of file infos.
      Parameters:
      requestIds - request ids.
      Returns:
      HashMap
    • getFileInfosByRequestId

      public List<FileInfo> getFileInfosByRequestId(UUID requestId)
      Get file infos.
      Parameters:
      requestId - request id.
      Returns:
      list of FileInfo
    • getFileInfoByRequestId

      public FileInfo getFileInfoByRequestId(UUID requestId)
      Get file info by request id.
      Parameters:
      requestId - request id.
      Returns:
      FileInfo
    • getFileInfoByFileId

      public FileInfo getFileInfoByFileId(UUID fileId)
      Get file info by request id.
      Parameters:
      fileId - file id.
      Returns:
      FileInfo
    • getFileInfo

      public FileInfo getFileInfo(UUID id, String metaInfoIdName)
      Get file info by request id.
      Parameters:
      id - request id.
      metaInfoIdName - id param name.
      Returns:
      FileInfo
    • getFileByFileInfos

      public Map<UUID,InputStream> getFileByFileInfos(List<FileInfo> fileInfos)
      Get map with key is file id and value is file input stream.
      Parameters:
      fileInfos - info about files.
      Returns:
      HashMap
    • getFileByFileInfo

      public InputStream getFileByFileInfo(FileInfo fileInfo)
      Get map with key is file id and value is file input stream.
      Parameters:
      fileInfo - info about file.
      Returns:
      InputStream
    • removeFileByRequestId

      public void removeFileByRequestId(UUID requestId)
      Remove dictionary for requestId.
      Parameters:
      requestId - to remove dictionary from gridFs
    • removeAllFilesByRequestId

      public void removeAllFilesByRequestId(UUID requestId)
      Find list gridFs files by id request and remove all .
    • removeAllFilesBySessionIdAndSessionRequestId

      public void removeAllFilesBySessionIdAndSessionRequestId(UUID sessionId, UUID sessionRequestId)
      Find list gridFs files by id session and remove all .
    • removeFileByFileId

      public void removeFileByFileId(UUID fileId)
      Remove file by fileId.
      Parameters:
      fileId - to remove file from gridFs
    • removeBinaryFileByRequestId

      public void removeBinaryFileByRequestId(UUID requestId)
      Remove bynary file by request id.
    • removeFilesByDate

      public void removeFilesByDate(Integer days)
      Remove dictionaries by date.
      Parameters:
      days - dictionaries will be removed after number of days
    • findAllFilesByRequestId

      public List<com.mongodb.client.gridfs.model.GridFSFile> findAllFilesByRequestId(UUID requestId)
      Get all itf-lite files.
      Parameters:
      requestId - requestId
      Returns:
      list of itf-lite files
    • getFilesDataList

      public List<FileData> getFilesDataList(UUID requestId)
      Configure list of file data by GridFSFile.
      Parameters:
      requestId - for find files
      Returns:
      list
    • findByFileId

      public com.mongodb.client.gridfs.model.GridFSFile findByFileId(UUID fileId)
    • copyFileWithFileId

      public UUID copyFileWithFileId(UUID fileId, UUID newRequestId)
      Copy file by request id or request id in metadata.
    • moveFileFromSnapshotToRequest

      public void moveFileFromSnapshotToRequest(UUID sessionId, UUID requestId)
      Move files from session to request while saving.
    • removeFileBySessionId

      public void removeFileBySessionId(UUID sessionId)
      Remove file by session Id.
    • bulkRemoveFilesBySnapshotKeys

      public void bulkRemoveFilesBySnapshotKeys(UUID sessionId, List<UUID> requestIds)
      Remove files by snapshot keys.
    • getFileDataBySessionIdAndRequestId

      public Optional<FileData> getFileDataBySessionIdAndRequestId(UUID sessionId, UUID sessionRequestId)
      Get file data by session id and request id.