Class TrivialArcRepositoryClient

    • Constructor Detail

      • TrivialArcRepositoryClient

        public TrivialArcRepositoryClient()
        Constructor for this class. Creates a local directory for the arcrepository.
    • Method Detail

      • getFile

        public void getFile​(String arcfilename,
                            Replica replica,
                            File toFile)
        Retrieves a file from an ArcRepository and places it in a local file.
        Specified by:
        getFile in interface ArcRepositoryClient
        Specified by:
        getFile in interface PreservationArcRepositoryClient
        Specified by:
        getFile in interface ViewerArcRepositoryClient
        Parameters:
        arcfilename - Name of the arcfile to retrieve.
        replica - The bitarchive to retrieve the data from (not used in this implementation)
        toFile - Filename of a place where the file fetched can be put.
        Throws:
        IOFailure - if there are problems getting a reply or the file could not be found.
      • batch

        public BatchStatus batch​(FileBatchJob job,
                                 String replicaId,
                                 String... args)
        Runs a batch batch job on each file in the ArcRepository.
        Specified by:
        batch in interface ArcRepositoryClient
        Specified by:
        batch in interface PreservationArcRepositoryClient
        Specified by:
        batch in interface ViewerArcRepositoryClient
        Parameters:
        job - An object that implements the FileBatchJob interface. The initialize() method will be called before processing and the finish() method will be called afterwards. The process() method will be called with each File entry. An optional function postProcess() allows handling the combined results of the batchjob, e.g. summing the results, sorting, etc.
        replicaId - The archive to execute the job on (not used in this implementation)
        args - The arguments for the batchjob.
        Returns:
        The status of the batch job after it ended.
      • updateAdminData

        public void updateAdminData​(String fileName,
                                    String bitarchiveId,
                                    ReplicaStoreState newval)
        Updates the administrative data in the ArcRepository for a given file and replica. (not implemented)
        Specified by:
        updateAdminData in interface ArcRepositoryClient
        Specified by:
        updateAdminData in interface PreservationArcRepositoryClient
        Parameters:
        fileName - The name of a file stored in the ArcRepository.
        bitarchiveId - The id of the replica that the administrative data for fileName is wrong for.
        newval - What the administrative data will be updated to.
      • updateAdminChecksum

        public void updateAdminChecksum​(String filename,
                                        String checksum)
        Updates the checksum kept in the ArcRepository for a given file. It is the responsibility of the ArcRepository implementation to ensure that this checksum matches that of the underlying files.
        Specified by:
        updateAdminChecksum in interface ArcRepositoryClient
        Specified by:
        updateAdminChecksum in interface PreservationArcRepositoryClient
        Parameters:
        filename - The name of a file stored in the ArcRepository.
        checksum - The new checksum.
      • removeAndGetFile

        public File removeAndGetFile​(String fileName,
                                     String bitarchiveId,
                                     String checksum,
                                     String credentials)
        Remove a file from one part of the ArcRepository, retrieving a copy for security purposes. This is typically used when repairing a file that has been corrupted.
        Specified by:
        removeAndGetFile in interface ArcRepositoryClient
        Specified by:
        removeAndGetFile in interface PreservationArcRepositoryClient
        Parameters:
        fileName - The name of the file to remove.
        bitarchiveId - The id of the replica from which to remove the file (not used)
        checksum - The checksum of the file to be removed (not used)
        credentials - A string that shows that the user is allowed to perform this operation (not used)
        Returns:
        A local copy of the file removed.
      • getAllChecksums

        public File getAllChecksums​(String replicaId)
        Description copied from interface: PreservationArcRepositoryClient
        Retrieves all the checksum from the replica through a GetAllChecksumMessage.

        This is the checksum archive alternative to running a ChecksumBatchJob.

        Specified by:
        getAllChecksums in interface PreservationArcRepositoryClient
        Parameters:
        replicaId - The id of the replica from which the checksums should be retrieved.
        Returns:
        A list of ChecksumEntries which is the results of the GetAllChecksumMessage.
        See Also:
        GetAllChecksumsMessage
      • getAllFilenames

        public File getAllFilenames​(String replicaId)
        Description copied from interface: PreservationArcRepositoryClient
        Retrieves the names of all the files in the replica through a GetAllFilenamesMessage.

        This is the checksum archive alternative to running a FilelistBatchJob.

        Specified by:
        getAllFilenames in interface PreservationArcRepositoryClient
        Parameters:
        replicaId - The id of the replica from which the list of filenames should be retrieved.
        Returns:
        A list of all the filenames within the archive of the given replica.
        See Also:
        GetAllFilenamesMessage
      • correct

        public File correct​(String replicaId,
                            String checksum,
                            File file,
                            String credentials)
        Description copied from interface: PreservationArcRepositoryClient
        Method for correcting a file in a replica.

        This is the checksum archive method for correcting a file entry in the archive. The bitarchive uses 'removeAndGetFile' followed by a 'store'.

        Specified by:
        correct in interface PreservationArcRepositoryClient
        Parameters:
        replicaId - The identification of the replica.
        checksum - The checksum of the corrupt entry in the archive. It is important to validate that the checksum actually is wrong before correcting the entry.
        file - The new file to replace the old one.
        credentials - The password for allowing to remove a file entry in the archive.
        Returns:
        The corrupted file from the archive.
      • getChecksum

        public String getChecksum​(String replicaId,
                                  String filename)
        Description copied from interface: PreservationArcRepositoryClient
        Retrieves the checksum of a specific file.

        This is the checksum archive alternative to running a ChecksumJob limited to a specific file.

        Specified by:
        getChecksum in interface PreservationArcRepositoryClient
        Parameters:
        replicaId - The name of the replica to send the message.
        filename - The name of the file for whom the checksum should be retrieved.
        Returns:
        The checksum of the file in the replica. Or null if an error occurred.