Class TraceabilityFile
java.lang.Object
fr.gouv.vitam.logbook.common.model.TraceabilityFile
- All Implemented Interfaces:
AutoCloseable
Used to handle zip file for traceability
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
flush the stream and close it.void
Close the extracted data filevoid
Create a new file for extracted data.
Should be directly followed by one or multiple storeLog
Must be close with closeStoreLogvoid
storeAdditionalInformation
(long numberOfLine, String startDate, String endDate) Add an additionalInformation file with the given data in the zipFilevoid
storeComputedInformation
(String currentHash, String previousHash, String currentHashMinusOneMonth, String currentHashMinusOneYear) Add an computedInformation file with the traceability data in the zipFilevoid
storeLog
(byte[] line) Add a line of extracted data in the recently created file.
Must be directly preceded by a call of initStoreLog or storeLogvoid
storeMerkleTree
(MerkleTree merkleTree) Add a merkleTree file with the computed merkleTree in the zipFilevoid
storeTimeStampToken
(byte[] timestampToken) Add a timestampToken file with the computed token of the traceability operation in the zipFile
-
Field Details
-
previousTimestampToken
- See Also:
-
previousTimestampTokenMinusOneMonth
- See Also:
-
previousTimestampTokenMinusOneYear
- See Also:
-
currentHash
- See Also:
-
-
Constructor Details
-
TraceabilityFile
public TraceabilityFile(File file) throws FileNotFoundException, org.apache.commons.compress.archivers.ArchiveException - Parameters:
file
- the targeted file to store tmp zip file- Throws:
FileNotFoundException
- if the given file is missingorg.apache.commons.compress.archivers.ArchiveException
- if any error occurs while creating ZipArchiveOutputStram
-
-
Method Details
-
storeMerkleTree
Add a merkleTree file with the computed merkleTree in the zipFile- Parameters:
merkleTree
- the tree that should be store in zip- Throws:
IOException
- if any error occurs while attempting to write in zip
-
storeTimeStampToken
Add a timestampToken file with the computed token of the traceability operation in the zipFile- Parameters:
timestampToken
- of the traceability operation- Throws:
IOException
- if any error occurs while attempting to write in zip
-
initStoreLog
Create a new file for extracted data.
Should be directly followed by one or multiple storeLog
Must be close with closeStoreLog- Throws:
IOException
- if any error occurs while attempting to write in zip
-
storeLog
Add a line of extracted data in the recently created file.
Must be directly preceded by a call of initStoreLog or storeLog- Throws:
IOException
- if any error occurs while attempting to write in zip
-
closeStoreLog
Close the extracted data file- Throws:
IOException
- if error on closing stream
-
storeAdditionalInformation
public void storeAdditionalInformation(long numberOfLine, String startDate, String endDate) throws IOException Add an additionalInformation file with the given data in the zipFile- Parameters:
numberOfLine
- of the extracted data secured by the traceability processstartDate
- of the traceability processendDate
- of the traceability process- Throws:
IOException
- if any error occurs while attempting to write in zip
-
storeComputedInformation
public void storeComputedInformation(String currentHash, String previousHash, String currentHashMinusOneMonth, String currentHashMinusOneYear) throws IOException Add an computedInformation file with the traceability data in the zipFile- Parameters:
currentHash
- hash of the new merkleTree rootpreviousHash
- hash of the last traceability operation merkleTree rootcurrentHashMinusOneMonth
- hash of the (Month - 1) traceability operation merkleTree rootcurrentHashMinusOneYear
- hash of the (Year - 1) traceability operation merkleTree root- Throws:
IOException
- if any error occurs while attempting to write in zip
-
close
flush the stream and close it.- Specified by:
close
in interfaceAutoCloseable
- Throws:
IOException
- if error on closing stream
-