On Sat, Feb 28, 2009 at 17:57, SVN vmassol
<platform-notifications(a)xwiki.org> wrote:
Author: vmassol
Date: 2009-02-28 17:57:59 +0100 (Sat, 28 Feb 2009)
New Revision: 17100
Modified:
platform/core/trunk/xwiki-rendering/xwiki-rendering-parsers/xwiki-rendering-parser-wikimodel/pom.xml
platform/core/trunk/xwiki-rendering/xwiki-rendering-parsers/xwiki-rendering-parser-wikimodel/src/main/java/org/xwiki/rendering/internal/parser/wikimodel/AbstractWikiModelParser.java
Log:
* Started adding setter for setter injection and to allow using the bean without a
component manager that does the injection automatically.
* Fixed checkstyle errors
Modified:
platform/core/trunk/xwiki-rendering/xwiki-rendering-parsers/xwiki-rendering-parser-wikimodel/pom.xml
===================================================================
---
platform/core/trunk/xwiki-rendering/xwiki-rendering-parsers/xwiki-rendering-parser-wikimodel/pom.xml
2009-02-27 22:57:31 UTC (rev 17099)
+++
platform/core/trunk/xwiki-rendering/xwiki-rendering-parsers/xwiki-rendering-parser-wikimodel/pom.xml
2009-02-28 16:57:59 UTC (rev 17100)
@@ -43,4 +43,25 @@
<version>${pom.version}</version>
</dependency>
</dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <!-- Apply the Checkstyle configurations defined in the top level pom.xml
file -->
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <dependencies>
+ <dependency>
+ <groupId>com.xpn.xwiki.platform.tools</groupId>
+ <artifactId>xwiki-verification-resources</artifactId>
+ <version>${platform.tool.verification.version}</version>
+ </dependency>
+ </dependencies>
I think the <dependencies> part is not needed here since it's already
defined in XWiki root pom.xml
+ <configuration>
+ <includes>
+ **/AbstractWikiModelParser.java
+ </includes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
</project>
Modified:
platform/core/trunk/xwiki-rendering/xwiki-rendering-parsers/xwiki-rendering-parser-wikimodel/src/main/java/org/xwiki/rendering/internal/parser/wikimodel/AbstractWikiModelParser.java
===================================================================
---
platform/core/trunk/xwiki-rendering/xwiki-rendering-parsers/xwiki-rendering-parser-wikimodel/src/main/java/org/xwiki/rendering/internal/parser/wikimodel/AbstractWikiModelParser.java
2009-02-27 22:57:31 UTC (rev 17099)
+++
platform/core/trunk/xwiki-rendering/xwiki-rendering-parsers/xwiki-rendering-parser-wikimodel/src/main/java/org/xwiki/rendering/internal/parser/wikimodel/AbstractWikiModelParser.java
2009-02-28 16:57:59 UTC (rev 17100)
@@ -21,7 +21,6 @@
import org.xwiki.component.logging.AbstractLogEnabled;
import org.xwiki.rendering.block.XDOM;
-import org.xwiki.rendering.internal.parser.wikimodel.XDOMGeneratorListener;
import org.xwiki.rendering.parser.ImageParser;
import org.xwiki.rendering.parser.Parser;
import org.xwiki.rendering.parser.LinkParser;
@@ -31,30 +30,47 @@
import java.io.Reader;
/**
+ * Common code for all WikiModel-based parsers.
+ *
* @version $Id$
* @since 1.5M2
*/
public abstract class AbstractWikiModelParser extends AbstractLogEnabled implements
Parser
{
+ /**
+ * @see #setLinkParser(LinkParser)
+ */
protected LinkParser linkParser;
+ /**
+ * @see #setImageParser(ImageParser)
+ */
protected ImageParser imageParser;
-
+
+ /**
+ * @return the WikiModel parser instance to use to parse input content.
+ * @throws ParseException when there's a problem creating an instance of the
parser to use
+ */
public abstract IWikiParser createWikiModelParser() throws ParseException;
/**
- * @return the parser to use for the link labels, since wikimodel does not support
wiki syntax in links and they
- * need to be handled in the XDOMGeneratorListener. By default, the link
label parser is the same one as the
- * source parser (this), but you should overwrite this method if you need to
use a special parser.
+ * @return the syntax parser to use for parsing link labels, since wikimodel does
not support wiki syntax
+ * in links and they need to be handled in the XDOMGeneratorListener. By
default, the link label
+ * parser is the same one as the source parser (this), but you should
overwrite this method if you
+ * need to use a special parser.
* @see XDOMGeneratorListener#XDOMGeneratorListener(Parser, LinkParser, ImageParser)
* @see
http://code.google.com/p/wikimodel/issues/detail?id=87
* TODO: Remove this method when the parser will not need to be passed to the
XDOMGeneratorListener anymore.
*/
- public Parser getLinkLabelParser()
+ protected Parser getLinkLabelParser()
{
return this;
}
+ /**
+ * {@inheritDoc}
+ * @see Parser#parse(Reader)
+ */
public XDOM parse(Reader source) throws ParseException
{
IWikiParser parser = createWikiModelParser();
@@ -70,4 +86,26 @@
}
return listener.getXDOM();
}
+
+ /**
+ * Sets the parser to use when parsing links. We need to parse links to transform a
link reference passed as a raw
+ * string by WikiModel into a {@link org.xwiki.rendering.listener.Link} object.
+ *
+ * @param linkParser the link parser to use
+ */
+ public void setLinkParser(LinkParser linkParser)
+ {
+ this.linkParser = linkParser;
+ }
+
+ /**
+ * Sets the parser to use when parsing image references (eg
"Space.Doc(a)image.png" in XWiki Syntax 2.0).
+ * We transform a raw image reference into a {@link
org.xwiki.rendering.listener.Image} object.
+ *
+ * @param imageParser the image parser to use
+ */
+ public void setImageParser(ImageParser imageParser)
+ {
+ this.imageParser = imageParser;
+ }
}
_______________________________________________
notifications mailing list
notifications(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/notifications
--
Thomas Mortagne