jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "De Georges, Adrien" <Adrien.DeGeor...@experian.com>
Subject RE: RE: Migrate JCR repositories
Date Fri, 18 May 2012 07:20:58 GMT
Thanks a lot Marek.
So I understand, this is not possible to remove the root version of the history. I guess this
is to ensure referential integrity. Because old versions of others node can have a frozen
reference to the stack of the node we want to remove.
And I have another question if you don't mind. In my example we have a node with versions
1.1, 1.2 and 1.3. We remove the version 1.2 as you explained. I think the version 1.3 becomes
1.2. But, what if we restore the Version 1.2 using VersionManager.restore(Version version,
boolean removeExisting).
Thanks for your help.

Adrien

-----Original Message-----
From: mslama@email.cz [mailto:mslama@email.cz] 
Sent: 17 May 2012 09:17
To: users@jackrabbit.apache.org
Subject: Re: RE: Migrate JCR repositories

How to remove version history:

As we remove node which has some version history we take version history first then remove
versioned node and then remove all version history nodes but root node.

        VersionManager versionManager = session.getWorkspace().getVersionManager();
        VersionHistory versionHistory = versionManager.getVersionHistory(node.getPath());
        node.remove();
        //Must call session.save to commit remove otherwise removeVersion does not work
        session.save();
            VersionIterator vIt = versionHistory.getAllVersions();
            while (vIt.hasNext()) {
                Version version = vIt.nextVersion();
                if (!"jcr:rootVersion".equals(version.getName())) {
                    //removeVersion writes directly to workspace, no session.save is necessary
                    versionHistory.removeVersion(version.getName());
                }
            }

Marek
> ------------ Původní zpráva ------------
> Od: De Georges, Adrien <Adrien.DeGeorges@experian.com>
> Předmět: RE: Migrate JCR repositories
> Datum: 16.5.2012 11:42:56
> ----------------------------------------
> Guys,
> Does somebody know how to remove nodes from the version history.
> Thanks in advance
> 
> Adrien
> 
> -----Original Message-----
> From: De Georges, Adrien [mailto:Adrien.DeGeorges@experian.com]
> Sent: 10 May 2012 15:55
> To: users@jackrabbit.apache.org
> Subject: Migrate JCR repositories
> 
> Hi everyone,
> 
> I wanted to develop a routine to migrate some nodes in a repository 
> (removing and modifying some properties). But I am pretty sure it is 
> not possible to modify nodes in the version history. Is there existing 
> solution to do so?
> Thanks
> 
> Adrien
> 
> 
> 
> Information in this e-mail and any attachments is confidential, and 
> may not be copied or used by anyone other than the addressee, nor 
> disclosed to any third party without our permission. There is no 
> intention to create any legally binding contract or other binding 
> commitment through the use of this electronic communication unless it 
> is issued in accordance with the Experian Limited standard terms and 
> conditions of purchase or other express written agreement between 
> Experian Limited and the recipient. Although Experian has taken 
> reasonable steps to ensure that this communication and any attachments 
> are free from computer virus, you are advised to take your own steps 
> to ensure that they are actually virus free.
> 
> Companies Act information: Registered name: Experian Limited. 
> Registered
> office: Landmark House, Experian Way, NG2 Business Park, Nottingham,
> NG80 1ZZ, United Kingdom. Place of registration: England and Wales.
> Registered number: 653331
> 
> 
> 
> 

Marek Slama
mslama@email.cz
Mime
View raw message