Details
-
Bug
-
Resolution: Done
-
Blocker
-
2.2.0.Final
-
None
Description
@Test
public void testSimpleGetPackageItemHistoricalForShareableAsset() throws Exception {
Node node = getRepo().getSession().getNode("/drools:repository/drools:package_area/globalArea/");
Node assetNode = node.getNode("assets").addNode("testKurt","drools:assetNodeType");
//Adding some required properties
assetNode.setProperty("drools:packageName", "one");
assetNode.setProperty("drools:title", "title");
assetNode.setProperty("drools:format", "format");
assetNode.setProperty("drools:description", "description");
Calendar lastModified = Calendar.getInstance();
assetNode.setProperty("drools:lastModified", lastModified);
getRepo().getSession().save();
assetNode.checkin();
findAndPrintNodeName(assetNode);
//Creating a shared Node
assetNode.checkout();
assetNode.addMixin("mix:shareable");
getRepo().getSession().save();
assetNode.checkin();
Workspace workspace = getRepo().getSession().getWorkspace();
String srcPath = "/drools:repository/drools:package_area/globalArea/assets/testKurt";
String path = "/drools:repository/drools:package_area/defaultPackage/assets/testKurt";
workspace.clone(workspace.getName(), srcPath, path, false);
findAndPrintNodeName(assetNode);
// Test package snapshot
String packageName = getDefaultPackage().getName();
try {
Node snaps = getRepo().getAreaNode( "drools:packagesnapshot_area" );
if ( !snaps.hasNode( packageName ) )
String source = "/drools:repository/drools:package_area/defaultPackage";
String newName = "/drools:repository/drools:packagesnapshot_area/defaultPackage/SNAP";
getRepo().getSession().getWorkspace().copy( source, newName );
} catch ( Exception e )
findAndPrintNodeName(assetNode); // this now throws the error
//asset.updateDescription("yeah !");
}
private void findAndPrintNodeName(Node node) throws ValueFormatException, PathNotFoundException, RepositoryException {
String UUID = node.getProperty("
baseVersion").getString();
Node nodeFound = getRepo().getSession().getNodeByUUID(UUID);
System.out.println("Node:" + nodeFound.getName());
}
The output of it something like:
Node:2010-09-03T11?44?26.125-04?00
Node:2010-09-03T11?44?30.956-04?00
but in the last step it throws an exception
The stack is:
javax.jcr.ItemNotFoundException: Unable to find "
{http://www.jcp.org/jcr/1.0}system/
{http://www.jcp.org/jcr/1.0}versionStorage/{}62bc2585-a277-4bf6-ae4e-23217d44393b/{}2010-09-03T114430.956-0400"; lowest existing path is "/
{http://www.jcp.org/jcr/1.0}system/
{http://www.jcp.org/jcr/1.0}versionStorage/{}62bc2585-a277-4bf6-ae4e-23217d44393b"
at org.modeshape.jcr.SessionCache.findJcrNode(SessionCache.java:553)
at org.modeshape.jcr.JcrSession.getNodeByUUID(JcrSession.java:789)
at org.modeshape.jcr.JcrSession.getNodeByUUID(JcrSession.java:106)
at org.drools.repository.ShareableAssetItemTest.findAndPrintNodeName(ShareableAssetItemTest.java:225)
at org.drools.repository.ShareableAssetItemTest.testSimpleGetPackageItemHistoricalForShareableAsset(ShareableAssetItemTest.java:219)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.modeshape.graph.property.PathNotFoundException: Unable to find "
system/
{http://www.jcp.org/jcr/1.0}versionStorage/{}62bc2585-a277-4bf6-ae4e-23217d44393b/{}2010-09-03T114430.956-0400"; lowest existing path is "/
{http://www.jcp.org/jcr/1.0}system/
{http://www.jcp.org/jcr/1.0}versionStorage/{}62bc2585-a277-4bf6-ae4e-23217d44393b"
at org.modeshape.graph.session.GraphSession.findNodeRelativeTo(GraphSession.java:508)
at org.modeshape.graph.session.GraphSession.findNodeWith(GraphSession.java:331)
at org.modeshape.graph.session.GraphSession.findNodeWith(GraphSession.java:314)
at org.modeshape.graph.session.GraphSession.findNodeWith(GraphSession.java:267)
at org.modeshape.jcr.SessionCache.findJcrNode(SessionCache.java:551)
... 27 more
This is using the cnd's of drools-repository.