Just checked in a fix. I added some code to ContentManager.addNode()
that checks for the existence of an unsaved Node. If one is found, it
is re-used in the WikiPage that is returned to the caller. Works
nicely and doesn't break anything.

On 10/18/09, Andrew Jaquith <[email protected]> wrote:
> I agree that this might potentially be a bug -- or more correctly put,
> a not-very-well-documented way for a developer to get into trouble.
>
> But I am not sure the solution is quite as easy as creating a new
> version and saving the old one. Not all saves are guaranteed to
> complete because of the workflow stuff. It might be better to simply
> have WikiEngine.createNode() look for the existence of Nodes whose
> isNew() returns true, and return it instead (which would mean the
> contents might get overwritten, but whatever).
>
> Andrew
>
> On Sat, Oct 17, 2009 at 6:52 PM, Janne Jalkanen
> <[email protected]> wrote:
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> ======================================================================
>>> ---
>>> incubator/jspwiki/trunk/tests/java/org/apache/wiki/parser/JSPWikiMarkupParserTest.java
>>> (original)
>>> +++
>>> incubator/jspwiki/trunk/tests/java/org/apache/wiki/parser/JSPWikiMarkupParserTest.java
>>> Sat Oct 17 22:49:04 2009
>>> @@ -2327,7 +2327,14 @@
>>>    {
>>>        Benchmark sw = new Benchmark();
>>>        sw.start();
>>> +
>>> +        // Create the page and save it to disk.
>>> +        if ( !testEngine.pageExists( PAGE_NAME ) )
>>> +        {
>>> +            testEngine.saveText( PAGE_NAME, brokenPageText );
>>> +        }
>>>
>>> +        // Test the rendering speed
>>
>> Not sure whether this is the right fix - I mean, saveText() should
>> actually
>> check for this itself, and in fact, it should save a new version of the
>> page
>> whenever it's called - NOT create a new SNS.  Yes, it fixes the test, but
>> I
>> have a feeling that it only hides a real bug.
>>
>> /Janne
>>
>

Reply via email to