I'm playing a little with JSPWiki and decided to try different markup syntax to learn a bit more. To do so I have to inherit from RenderingManager and implement another MarkupParser. WikiEngine does good job instantiating RenderingManager:
m_renderingManager = (RenderingManager) ClassUtil.getMappedObject(RenderingManager.class.getName());
but src/webdocs/templates/default/editors/FCK.jsp does it directly:
RenderingManager renderingManager = new RenderingManager();
while it should get help from WikiEngine:
RenderingManager renderingManager = engine.getRenderingManager();
or (it new instance is required) call getMappetObject itself.
There are also some problems with JSPWikiMarkupParser:
- direct calls or references to static members getImagePatterns, isExternalLink, makeError - (not a big problem for me)
- private members - some of them would be useful for inherited parser (for example no access to build DOM: m_plainTextBuf, pushElement and related, fillBuffer (of course I can copy-and-paste JSPWikiMarkupParser rather than inherit from it)
- direct instantiation in src/com/ecyrd/jspwiki/plugin/TableOfContents.java
JSPWikiMarkupParser parser = new JSPWikiMarkupParser( context, ... parser.addHeadingListener( this ); parser.parse();
this looks like a bigger problem, because TableOfContents:
- does its own parsing (so parsing is done two times) and also (ok this is just performance),
- does this with directly instantiated JSPWikiMarkupParser (so mine is not called what means I can't change header indicators)
Of course for my purpose I will do required corrections. The question is are you gays going to work on it?, is it also a problem in 3.0 ? Should I prepare and publish a patch?