So, can I go back to using Node.isNew()?

Also: I have 8 unit tests that fail when run from the command line as
part of the giant 1000+ test batch. But they run fine when run
individually form the command line or inside Eclipse. I didn't see
these prior to the latest Priha checkin.

Any ideas? I'll try to isolate this, but it's proving to be extremely
difficult so far.

Andrew

Testsuite: org.apache.wiki.plugin.ReferredPagesPluginTest
Tests run: 4, Failures: 0, Errors: 4, Time elapsed: 1.578 sec
------------- Standard Output ---------------
LOC = Node[jspwiki:/], check=
LOC = Node[jspwiki:/], check=pages
XXX
LOC = Node[jspwiki:/pages], check=null
LOC = Node[jspwiki:/pages/Main], check=null
LOC = Node[jspwiki:/], check=
LOC = Node[jspwiki:/], check=pages
XXX
LOC = Node[jspwiki:/pages], check=null
LOC = Node[jspwiki:/pages/Main], check=null
LOC = Node[jspwiki:/], check=
LOC = Node[jspwiki:/], check=pages
XXX
LOC = Node[jspwiki:/pages], check=null
LOC = Node[jspwiki:/pages/Main], check=null
LOC = Node[jspwiki:/], check=
LOC = Node[jspwiki:/], check=pages
XXX
LOC = Node[jspwiki:/pages], check=null
LOC = Node[jspwiki:/pages/Main], check=null
------------- ---------------- ---------------
------------- Standard Error -----------------
javax.jcr.PathNotFoundException: The property metadata file was not
found: /tmp/priha/fileprovider/workspaces/jspwiki/pages/Main/TestPage.info
        at 
org.priha.providers.FileProvider.getPropertyInfo(FileProvider.java:785)
        at 
org.priha.providers.FileProvider.getPropertyValue(FileProvider.java:811)
        at 
org.priha.providers.EhCachingProvider.getPropertyValue(EhCachingProvider.java:312)
        at 
org.priha.core.ProviderManager.getPropertyValue(ProviderManager.java:260)
        at org.priha.core.ProviderManager.loadProperty(ProviderManager.java:393)
        at org.priha.core.ProviderManager.getItem(ProviderManager.java:488)
        at org.priha.core.SessionProvider.getItem(SessionProvider.java:129)
        at org.priha.core.SessionImpl.getItem(SessionImpl.java:225)
        at 
org.priha.util.LazyNodeIteratorImpl.nextNode(LazyNodeIteratorImpl.java:30)
        at 
org.priha.util.LazyNodeIteratorImpl.nextNode(LazyNodeIteratorImpl.java:14)
        at 
org.priha.query.SimpleQueryProvider.visit(SimpleQueryProvider.java:568)
        at 
org.priha.query.aqt.LocationStepQueryNode.accept(LocationStepQueryNode.java:163)
        at 
org.priha.query.SimpleQueryProvider.visit(SimpleQueryProvider.java:144)
        at org.priha.query.aqt.PathQueryNode.accept(PathQueryNode.java:72)
        at 
org.priha.query.aqt.TraversingQueryNodeVisitor.visit(TraversingQueryNodeVisitor.java:38)
        at 
org.priha.query.SimpleQueryProvider.query(SimpleQueryProvider.java:34)
        at org.priha.query.QueryImpl.execute(QueryImpl.java:41)
        at 
org.apache.wiki.content.ContentManager.getAllPages(ContentManager.java:582)
        at org.apache.wiki.TestEngine.emptyRepository(TestEngine.java:218)
        at 
org.apache.wiki.plugin.ReferredPagesPluginTest.tearDown(ReferredPagesPluginTest.java:66)
        at junit.framework.TestCase.runBare(TestCase.java:130)
        at junit.framework.TestResult$1.protect(TestResult.java:106)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.framework.TestResult.run(TestResult.java:109)
        at junit.framework.TestCase.run(TestCase.java:118)
        at junit.framework.TestSuite.runTest(TestSuite.java:208)
        at junit.framework.TestSuite.run(TestSuite.java:203)
        at 
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:421)
        at 
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:912)
        at 
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:743)




On Thu, Oct 15, 2009 at 1:09 PM, Janne Jalkanen
<[email protected]> wrote:
>> FYI, a subtle JCR point that I discovered while pounding out bugs: there's
>> no easy way to figure out whether a Node exists on disk.
>>
>> You'd think Node.isNew() would work, but if you create a node then add a
>> mixin (as we do with createPage()), its status changes to UPDATED, even
>> before calling save().
>
> This is correct and you just stumbled upon a Priha bug which is not caught
> by the TCK :-).  isNew() works as you thought it should work.
>
> /Janne
>

Reply via email to