Uploaded image for project: 'ModeShape'
  1. ModeShape
  2. MODE-1883

Unable to restore a removed node

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Blocker
    • 3.2.0.Final
    • 3.1.3.Final
    • JCR
    • None
    • Hide
              session = getHelper().getReadWriteSession();
              Node node = getTestRoot(session).addNode("checkInTest", "nt:folder");
              session.save();
      
              /*
               * Create /checkInTest/removeNode with versionable attributes.
               * This node will be removed and restored.
               */
      
              Node n = node.addNode("removeNode", "nt:folder");
              n.addMixin("mix:title");
              n.addMixin("mix:versionable");
              n.addMixin("mix:lastModified");
              n.addMixin("mix:shareable");
      
              VersionManager vm = session.getWorkspace().getVersionManager();
      
              // Version 1.0
              vm.checkout(n.getPath());
              n.setProperty("jcr:description", "Version 1.0");
              session.save();
              Version v = vm.checkin(n.getPath());
              Assert.assertEquals("1.0", v.getName());
      
              n.remove();
              session.save();
      
              vm.restore(v, false);
              session.save();
      
              Node restoreNode = session.getNode(n.getPath());
              session.save();
      
      Show
      session = getHelper().getReadWriteSession(); Node node = getTestRoot(session).addNode( "checkInTest" , "nt:folder" ); session.save(); /* * Create /checkInTest/removeNode with versionable attributes. * This node will be removed and restored. */ Node n = node.addNode( "removeNode" , "nt:folder" ); n.addMixin( "mix:title" ); n.addMixin( "mix:versionable" ); n.addMixin( "mix:lastModified" ); n.addMixin( "mix:shareable" ); VersionManager vm = session.getWorkspace().getVersionManager(); // Version 1.0 vm.checkout(n.getPath()); n.setProperty( "jcr:description" , "Version 1.0" ); session.save(); Version v = vm.checkin(n.getPath()); Assert.assertEquals( "1.0" , v.getName()); n.remove(); session.save(); vm.restore(v, false ); session.save(); Node restoreNode = session.getNode(n.getPath()); session.save();

    Description

      VersionManager can not restore a previously removed node with mix:versionable type. The result (of running the code listed in "Steps to Reproduce") is:

      javax.jcr.ItemNotFoundException: 454d8227505d64f12f93a7-3c5e-47c7-bf7a-2c896327e489
      	at org.modeshape.jcr.JcrSession.node(JcrSession.java:425)
      	at org.modeshape.jcr.JcrSession.node(JcrSession.java:407)
      	at org.modeshape.jcr.JcrSession.getNonSystemNodeByIdentifier(JcrSession.java:727)
      	at org.modeshape.jcr.JcrVersionManager.restore(JcrVersionManager.java:705)
      	at org.modeshape.jcr.ModeShapeTckTest.testShouldRestoreDeletedNode(ModeShapeTckTest.java:995)
              ...
      

      Attachments

        Activity

          People

            hchiorean Horia Chiorean (Inactive)
            lponce@redhat.com Lucas Ponce
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: