### Eclipse Workspace Patch 1.0 #P xwiki-core-parent Index: xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-wikibridge/src/main/java/org/xwiki/rendering/macro/wikibridge/WikiMacro.java =================================================================== --- xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-wikibridge/src/main/java/org/xwiki/rendering/macro/wikibridge/WikiMacro.java (revision 27262) +++ xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-wikibridge/src/main/java/org/xwiki/rendering/macro/wikibridge/WikiMacro.java (working copy) @@ -19,6 +19,7 @@ */ package org.xwiki.rendering.macro.wikibridge; +import org.xwiki.model.reference.DocumentReference; import org.xwiki.rendering.macro.Macro; /** @@ -35,4 +36,10 @@ */ @Deprecated String getId(); + + /** + * @return the {@link DocumentReference} of the Wiki Macro + * @since 2.3M1 + */ + DocumentReference getDocumentReference(); } Index: xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-wikibridge/src/test/java/org/xwiki/rendering/internal/macro/wikibridge/DefaultWikiMacroManagerTest.java =================================================================== --- xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-wikibridge/src/test/java/org/xwiki/rendering/internal/macro/wikibridge/DefaultWikiMacroManagerTest.java (revision 27262) +++ xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-wikibridge/src/test/java/org/xwiki/rendering/internal/macro/wikibridge/DefaultWikiMacroManagerTest.java (working copy) @@ -88,16 +88,16 @@ allowing(mockDocumentAccessBridge).hasProgrammingRights(); will(returnValue(true)); }}); - Assert.assertFalse(wikiMacroManager.hasWikiMacro(wikiMacro.getDocumentName())); + Assert.assertFalse(wikiMacroManager.hasWikiMacro(wikiMacro.getDocumentReference())); - wikiMacroManager.registerWikiMacro(wikiMacro.getDocumentName(), wikiMacro); - Assert.assertTrue(wikiMacroManager.hasWikiMacro(wikiMacro.getDocumentName())); + wikiMacroManager.registerWikiMacro(wikiMacro.getDocumentReference(), wikiMacro); + Assert.assertTrue(wikiMacroManager.hasWikiMacro(wikiMacro.getDocumentReference())); Macro< ? > registeredMacro = macroManager.getMacro(new MacroId("testwikimacro")); Assert.assertEquals(0, registeredMacro.compareTo(wikiMacro)); - wikiMacroManager.unregisterWikiMacro(wikiMacro.getDocumentName()); - Assert.assertFalse(wikiMacroManager.hasWikiMacro(wikiMacro.getDocumentName())); + wikiMacroManager.unregisterWikiMacro(wikiMacro.getDocumentReference()); + Assert.assertFalse(wikiMacroManager.hasWikiMacro(wikiMacro.getDocumentReference())); Assert.assertFalse(macroManager.exists(new MacroId("testwikimacro"))); } @@ -111,11 +111,11 @@ mockery.checking(new Expectations() {{ allowing(mockDocumentAccessBridge).getCurrentWiki(); will(returnValue("wiki")); allowing(mockDocumentAccessBridge).getCurrentUser(); will(returnValue("dummy")); - allowing(mockDocumentAccessBridge).isDocumentEditable(wikiMacro.getDocumentName()); will(returnValue(true)); + allowing(mockDocumentAccessBridge).isDocumentEditable(wikiMacro.getDocumentReference()); will(returnValue(true)); }}); - wikiMacroManager.registerWikiMacro(wikiMacro.getDocumentName(), wikiMacro); - Assert.assertTrue(wikiMacroManager.hasWikiMacro(wikiMacro.getDocumentName())); + wikiMacroManager.registerWikiMacro(wikiMacro.getDocumentReference(), wikiMacro); + Assert.assertTrue(wikiMacroManager.hasWikiMacro(wikiMacro.getDocumentReference())); Macro< ? > registeredMacro = macroManager.getMacro(new MacroId("testwikimacro")); Assert.assertEquals(0, registeredMacro.compareTo(wikiMacro)); @@ -129,11 +129,11 @@ // Simulate a user with programming rights mockery.checking(new Expectations() {{ allowing(mockDocumentAccessBridge).getCurrentUser(); will(returnValue("dummy")); - allowing(mockDocumentAccessBridge).isDocumentEditable(wikiMacro.getDocumentName()); will(returnValue(true)); + allowing(mockDocumentAccessBridge).isDocumentEditable(wikiMacro.getDocumentReference()); will(returnValue(true)); }}); - wikiMacroManager.registerWikiMacro(wikiMacro.getDocumentName(), wikiMacro); - Assert.assertTrue(wikiMacroManager.hasWikiMacro(wikiMacro.getDocumentName())); + wikiMacroManager.registerWikiMacro(wikiMacro.getDocumentReference(), wikiMacro); + Assert.assertTrue(wikiMacroManager.hasWikiMacro(wikiMacro.getDocumentReference())); Macro< ? > registeredMacro = macroManager.getMacro(new MacroId("testwikimacro")); Assert.assertEquals(0, registeredMacro.compareTo(wikiMacro)); @@ -150,7 +150,7 @@ }}); try { - wikiMacroManager.registerWikiMacro(wikiMacro.getDocumentName(), wikiMacro); + wikiMacroManager.registerWikiMacro(wikiMacro.getDocumentReference(), wikiMacro); Assert.fail("Should have raised an exception here"); } catch (WikiMacroException e) { Assert.assertEquals("Unable to register macro [testwikimacro] in " @@ -167,12 +167,12 @@ // Simulate a user without edit rights mockery.checking(new Expectations() {{ - allowing(mockDocumentAccessBridge).isDocumentEditable(wikiMacro.getDocumentName()); + allowing(mockDocumentAccessBridge).isDocumentEditable(wikiMacro.getDocumentReference()); will(returnValue(false)); }}); try { - wikiMacroManager.registerWikiMacro(wikiMacro.getDocumentName(), wikiMacro); + wikiMacroManager.registerWikiMacro(wikiMacro.getDocumentReference(), wikiMacro); Assert.fail("Should have raised an exception here"); } catch (WikiMacroException e) { Assert.assertEquals("Unable to register macro [testwikimacro] in [name = [TestWikiMacro], " @@ -189,12 +189,12 @@ // Simulate a user without edit rights mockery.checking(new Expectations() {{ - allowing(mockDocumentAccessBridge).isDocumentEditable(wikiMacro.getDocumentName()); + allowing(mockDocumentAccessBridge).isDocumentEditable(wikiMacro.getDocumentReference()); will(returnValue(false)); }}); try { - wikiMacroManager.registerWikiMacro(wikiMacro.getDocumentName(), wikiMacro); + wikiMacroManager.registerWikiMacro(wikiMacro.getDocumentReference(), wikiMacro); Assert.fail("Should have raised an exception here"); } catch (WikiMacroException e) { Assert.assertEquals("Unable to register macro [testwikimacro] in [name = [TestWikiMacro], " Index: xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-wikibridge/src/main/java/org/xwiki/rendering/internal/macro/wikibridge/DefaultWikiMacro.java =================================================================== --- xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-wikibridge/src/main/java/org/xwiki/rendering/internal/macro/wikibridge/DefaultWikiMacro.java (revision 27262) +++ xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-wikibridge/src/main/java/org/xwiki/rendering/internal/macro/wikibridge/DefaultWikiMacro.java (working copy) @@ -25,6 +25,8 @@ import java.util.List; import java.util.Map; +import javax.swing.text.Document; + import org.apache.commons.lang.StringUtils; import org.xwiki.bridge.DocumentAccessBridge; import org.xwiki.model.reference.DocumentReference; @@ -221,7 +223,7 @@ // it's context ($context.macro) which holds macro parameters, macro content and other important structures. // This workaround ensures that macro code is evaluated with programming rights, which in turn ensures that // $context.macro is accessible within the macro code. - xwikiContext.put(CONTEXT_DOCUMENT_KEY, docBridge.getDocument(getDocumentName())); + xwikiContext.put(CONTEXT_DOCUMENT_KEY, docBridge.getDocument(getDocumentReference())); // Perform internal macro transformations. macroTransformation.transform(xdom, syntaxFactory.createSyntaxFromIdString(syntaxId)); @@ -272,10 +274,9 @@ } /** - * @return the name of the document containing the macro class definition - * @since 2.2M1 + * {@inheritDoc} */ - public DocumentReference getDocumentName() + public DocumentReference getDocumentReference() { return this.macroDocumentReference; }