Hi,

There are two possibilities:

First:

Create your own helper class within the jackrabbit-core-...jar to access the 
non public BLOBFileValue class and its non public method getDataIdentifier.

Second: 

Reimplement the jackrabbit mechanism:

FileDataStore

        addRecord(InputStream input) {
                ...
            // Copy the stream to the temporary file and calculate the
            // stream length and the message digest of the stream
            long length = 0;
            MessageDigest digest = MessageDigest.getInstance(DIGEST);
            OutputStream output = new DigestOutputStream(
                    new FileOutputStream(temporary), digest);
            try {
                length = IOUtils.copyLarge(input, output);
            } finally {
                output.close();
            }
            DataIdentifier identifier = new DataIdentifier(digest.digest());
                ...

Kindly Regards, Robert ;)

-----Ursprüngliche Nachricht-----
Von: yun [mailto:[email protected]] 
Gesendet: Dienstag, 4. Januar 2011 04:32
An: [email protected]
Betreff: Retrieve coded filename from datastore


Hi,

I know that we are not suppose to get the coded file from
"jackrabbit\repository\datastore" folder where the raw files are stored by
the jack rabbit repository. Example of a filename would be:
52cd141937e037b89c8989d1411f63e98bcb7981

The file name is named by using the "52\cd\14" in
"repository\datastore\52\cd\14" which is the folder where the file is
stored. 

Question:

Is there a way to obtain this name through some java codes when writing the
file to the repository? 

I need this file name as a backup option if ever the repository is
corrupted, I would still have an option to retrieve the file from the
folders according to the filename. Thanks.
-- 
View this message in context: 
http://jackrabbit.510166.n4.nabble.com/Retrieve-coded-filename-from-datastore-tp3173010p3173010.html
Sent from the Jackrabbit - Users mailing list archive at Nabble.com.

Reply via email to