jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tobias Bocanegra" <tobias.bocane...@day.com>
Subject Re: Problem deleting the first version in version graph
Date Mon, 17 Dec 2007 08:48:49 GMT
ok. can you create test-code and open a jira issue? thanks.
regards, toby

On 12/17/07, monteka <monteka@anshinsoft.com> wrote:
>
> Hi Toby,
>
> Let me reiterate over the problem.
>
> The Problem:
>
> Say I have a VersionHistory (VH) node which has a jcr:rootVersion (VR) by
> default. Now I add multiple versions say V1, V2 and V3.
>
> So the links are as follows
>
> VH->VR->V1->V2->V3
>
> Now, I want to delete the base version V1, so that the version history links
> become
>
> VH->VR->V2->V3
>
> The problem is that if I delete the base version then I am unable to view
> the whole version history in my application. But this doesn't happen if I
> delete either V2 or V3 in the first case. The problem only comes if I delete
> the base version.
>
> Please revert back if the problem is still not clear.
>
> Regards,
> Montek
>
>
>
>
>
>
> Tobias Bocanegra wrote:
> >
> > hi,
> > i don't understand what you are trying to achieve here. the
> > jcr:frozenNode/jcr:uuid is the uuid of the frozen node - and i'm not
> > sure for what you use this?
> >
> > however, there could be a problem deleting a version while you are
> > iterating of the them.
> > further i don't think that you can delete a version as long it's still
> > referenced as base version.
> >
> > regards, toby
> >
> > On 12/7/07, monteka <monteka@anshinsoft.com> wrote:
> >>
> >> Hi,
> >>
> >> I am new to the Jackrabbit world. I have just started working on a Portal
> >> based project for reporting  solution. We are using Jackrabbit 1.3.
> >>
> >> I am stuck with the following problem:
> >>
> >> I have a versionable node which has a default jcr:rootVersion and
> >> additional
> >> versions.
> >>
> >> Now I can add any number of versions (i.e. different versions of the same
> >> template).
> >>
> >> Problem:
> >>
> >> I have the following API that takes care of deleting the selected version
> >> of
> >> the template (identified by the UUID):
> >>
> >> public Object doInJcr(Session session) throws IOException,
> >>                         RepositoryException {
> >>
> >>                 String uuid = null;
> >>                 try {
> >>                         uuid = (String) PropertyUtils.getProperty(bean,
> >> "uuid");
> >>                 } catch (IllegalAccessException iae) {
> >>                         log.error("Error in getting property 'uuid'",
> >> iae);
> >>                 } catch (InvocationTargetException ite) {
> >>                         log.error("Error in getting property 'uuid'",
> >> ite);
> >>                 } catch (NoSuchMethodException nsme) {
> >>                         log.error("Error in getting property 'uuid'",
> >> nsme);
> >>                 }
> >>
> >>                 Node root = session.getRootNode();
> >>
> >>                 Node domainRoot = getDomainRoot(root);
> >>
> >>                 Node domainNode = domainRoot.getNode(this.nodeName);
> >> //nodeName is "template"
> >>
> >>                 VersionHistory history = domainNode.getVersionHistory();
> >>                 Version previous = null;
> >>
> >>                 for (VersionIterator vit = history.getAllVersions();
> >> vit.hasNext();) {
> >>
> >>                         Version version = vit.nextVersion();
> >>                         Node frozen = version.getNode("jcr:frozenNode");
> >>
> >>                         if (uuid.equals(frozen.getUUID())) {
> >>                                 if
> >> (version.equals(domainNode.getBaseVersion())) {
> >>
> >>                                     if
> >> (history.getAllVersions().getSize() >
> >> 2) {
> >>
> >> domainNode.restore(previous,
> >> true);
> >>
> >> history.removeVersion(version.getName());
> >>                                         } else {
> >>                                                 domainNode.remove();
> >>                                         }
> >>                                 } else {
> >>
> >> history.removeVersion(version.getName());
> >>                                 }
> >>                                 break;
> >>                         } else {
> >>                                 previous = version;
> >>                                 continue;
> >>                         }
> >>                 }
> >>
> >>                 session.save();
> >>                 return null;
> >>         }
> >>
> >> Cases:
> >>
> >> Case #1
> >> --------
> >> Say my version graph is like this:
> >>
> >> VH (Version History) has child nodes VR (jcr:RootVersion) and V1
> >>
> >> I have only 1 version (template), V1 and I choose to delete it - WORKING
> >> AS
> >> EXPECTED
> >>
> >> Case #2
> >> --------
> >>
> >> Say my version graph is like this:
> >>
> >> VH (Version History) has child nodes VR (jcr:RootVersion) , V1 and V2
> >>
> >> I want to delete version V2  - WORKING AS EXPECTED
> >>
> >> Case #3
> >> --------
> >>
> >> Say my version graph is like this:
> >>
> >> VH (Version History) has child nodes VR (jcr:RootVersion) , V1, V2 and V3
> >>
> >> I want to delete version V2  - WORKING AS EXPECTED
> >>
> >> Case #4
> >> --------
> >>
> >> Say my version graph is like this:
> >>
> >> VH (Version History) has child nodes VR (jcr:RootVersion) , V1 and V2
> >>
> >> I want to delete version V1  - NOT WORKING
> >>
> >> I am unable to reconnect the VR to the second version, V2.
> >>
> >> Actually when i try to delete the first version V1, the base node gets
> >> deleted and so I loose the following versions also.
> >>
> >> Expected behavior is that I should be able to delete any version
> >> (template).
> >>
> >> Please advice ASAP.
> >>
> >> Thank you.
> >> --
> >> View this message in context:
> >> http://www.nabble.com/Problem-deleting-the-first-version-in-version-graph-tf4961225.html#a14209765
> >> Sent from the Jackrabbit - Users mailing list archive at Nabble.com.
> >>
> >>
> >
> >
> > --
> > -----------------------------------------< tobias.bocanegra@day.com >---
> > Tobias Bocanegra, Day Management AG, Barfuesserplatz 6, CH - 4001 Basel
> > T +41 61 226 98 98, F +41 61 226 98 97
> > -----------------------------------------------< http://www.day.com >---
> >
> >
>
> --
> View this message in context: http://www.nabble.com/Problem-deleting-the-first-version-in-version-graph-tp14209765p14370045.html
> Sent from the Jackrabbit - Users mailing list archive at Nabble.com.
>
>


-- 
-----------------------------------------< tobias.bocanegra@day.com >---
Tobias Bocanegra, Day Management AG, Barfuesserplatz 6, CH - 4001 Basel
T +41 61 226 98 98, F +41 61 226 98 97
-----------------------------------------------< http://www.day.com >---

Mime
View raw message