This is an automated email from the ASF dual-hosted git repository. juanpablo pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/jspwiki.git
commit 8d2e5ee0ac09c1a9d04f842ac4ada734acd754c6 Author: juanpablo <[email protected]> AuthorDate: Mon Feb 24 17:15:34 2020 +0100 JSPWIKI-120: propagate WikiContext#getEngine() now returns Engine instead of WikiEngine (7) --- .../apache/wiki/parser/JSPWikiMarkupParser.java | 259 +++++++++++---------- .../apache/wiki/parser/LinkParsingOperations.java | 5 +- .../java/org/apache/wiki/parser/MarkupParser.java | 4 +- .../java/org/apache/wiki/parser/PluginContent.java | 15 +- .../org/apache/wiki/parser/VariableContent.java | 9 +- .../org/apache/wiki/preferences/Preferences.java | 70 +++--- .../wiki/references/DefaultReferenceManager.java | 39 ++-- .../wiki/render/DefaultRenderingManager.java | 6 +- 8 files changed, 205 insertions(+), 202 deletions(-) diff --git a/jspwiki-main/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java b/jspwiki-main/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java index 178e468..23eee96 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/parser/JSPWikiMarkupParser.java @@ -34,12 +34,17 @@ import org.apache.wiki.WikiContext; import org.apache.wiki.WikiPage; import org.apache.wiki.api.exceptions.PluginException; import org.apache.wiki.api.plugin.WikiPlugin; +import org.apache.wiki.attachment.AttachmentManager; +import org.apache.wiki.auth.AuthorizationManager; +import org.apache.wiki.auth.UserManager; import org.apache.wiki.auth.WikiSecurityException; import org.apache.wiki.auth.acl.Acl; +import org.apache.wiki.auth.acl.AclManager; import org.apache.wiki.i18n.InternationalizationManager; import org.apache.wiki.preferences.Preferences; import org.apache.wiki.util.TextUtil; import org.apache.wiki.util.XmlUtil; +import org.apache.wiki.variables.VariableManager; import org.jdom2.Attribute; import org.jdom2.Content; import org.jdom2.Element; @@ -165,7 +170,7 @@ public class JSPWikiMarkupParser extends MarkupParser { * @param context The WikiContext which controls the parsing * @param in Where the data is read from. */ - public JSPWikiMarkupParser( WikiContext context, Reader in ) + public JSPWikiMarkupParser( final WikiContext context, final Reader in ) { super( context, in ); initialize(); @@ -207,7 +212,7 @@ public class JSPWikiMarkupParser extends MarkupParser { m_allowHTML = m_context.getBooleanWikiProperty( PROP_ALLOWHTML, m_allowHTML ); m_useRelNofollow = m_context.getBooleanWikiProperty( PROP_USERELNOFOLLOW, m_useRelNofollow ); - if( m_engine.getUserManager().getUserDatabase() == null || m_engine.getAuthorizationManager() == null ) { + if( m_engine.getManager( UserManager.class ).getUserDatabase() == null || m_engine.getManager( AuthorizationManager.class ) == null ) { disableAccessRules(); } @@ -238,13 +243,13 @@ public class JSPWikiMarkupParser extends MarkupParser { * * @param param A Heading object. */ - protected void callHeadingListenerChain( Heading param ) + protected void callHeadingListenerChain( final Heading param ) { - List< HeadingListener > list = m_headingListenerChain; + final List< HeadingListener > list = m_headingListenerChain; - for( Iterator< HeadingListener > i = list.iterator(); i.hasNext(); ) + for( final Iterator< HeadingListener > i = list.iterator(); i.hasNext(); ) { - HeadingListener h = i.next(); + final HeadingListener h = i.next(); h.headingAdded( m_context, param ); } @@ -261,18 +266,18 @@ public class JSPWikiMarkupParser extends MarkupParser { * @return An A element. * @since 2.4.78 */ - protected Element createAnchor(int type, String link, String text, String section) + protected Element createAnchor( final int type, final String link, String text, String section) { text = escapeHTMLEntities( text ); section = escapeHTMLEntities( section ); - Element el = new Element("a"); + final Element el = new Element("a"); el.setAttribute("class",CLASS_TYPES[type]); el.setAttribute("href",link+section); el.addContent(text); return el; } - private Element makeLink( int type, String link, String text, String section, Iterator< Attribute > attributes ) + private Element makeLink( int type, final String link, String text, String section, final Iterator< Attribute > attributes ) { Element el = null; @@ -289,7 +294,7 @@ public class JSPWikiMarkupParser extends MarkupParser { { type = EMPTY; } - ResourceBundle rb = Preferences.getBundle( m_context, InternationalizationManager.CORE_BUNDLE ); + final ResourceBundle rb = Preferences.getBundle( m_context, InternationalizationManager.CORE_BUNDLE ); switch(type) { @@ -344,7 +349,7 @@ public class JSPWikiMarkupParser extends MarkupParser { break; case IMAGEWIKILINK: - String pagelink = m_context.getURL(WikiContext.VIEW,text); + final String pagelink = m_context.getURL(WikiContext.VIEW,text); el = new Element("img").setAttribute("class","inline"); el.setAttribute("src",link); el.setAttribute("alt",text); @@ -361,18 +366,18 @@ public class JSPWikiMarkupParser extends MarkupParser { break; case ATTACHMENT: - String attlink = m_context.getURL( WikiContext.ATTACH, + final String attlink = m_context.getURL( WikiContext.ATTACH, link ); - String infolink = m_context.getURL( WikiContext.INFO, + final String infolink = m_context.getURL( WikiContext.INFO, link ); - String imglink = m_context.getURL( WikiContext.NONE, + final String imglink = m_context.getURL( WikiContext.NONE, "images/attachment_small.png" ); el = createAnchor( ATTACHMENT, attlink, text, "" ); - if( m_engine.getAttachmentManager().forceDownload( attlink ) ) + if( m_engine.getManager( AttachmentManager.class ).forceDownload( attlink ) ) { el.setAttribute("download", ""); } @@ -403,7 +408,7 @@ public class JSPWikiMarkupParser extends MarkupParser { { while( attributes.hasNext() ) { - Attribute attr = attributes.next(); + final Attribute attr = attributes.next(); if( attr != null ) { el.setAttribute(attr); @@ -428,7 +433,7 @@ public class JSPWikiMarkupParser extends MarkupParser { "hr", "noscript", "ol", "p", "pre", "table", "ul" }; - private static boolean isBlockLevel( String name ) + private static boolean isBlockLevel( final String name ) { return Arrays.binarySearch( BLOCK_ELEMENTS, name ) >= 0; } @@ -444,7 +449,7 @@ public class JSPWikiMarkupParser extends MarkupParser { private String peekAheadLine() throws IOException { - String s = readUntilEOL().toString(); + final String s = readUntilEOL().toString(); if( s.length() > PUSHBACK_BUFFER_SIZE ) { @@ -457,7 +462,7 @@ public class JSPWikiMarkupParser extends MarkupParser { { pushBack( s ); } - catch( IOException e ) + catch( final IOException e ) { log.warn("Pushback failed: the line is probably too long. Attempting to recover."); } @@ -467,7 +472,7 @@ public class JSPWikiMarkupParser extends MarkupParser { private int flushPlainText() { - int numChars = m_plainTextBuf.length(); + final int numChars = m_plainTextBuf.length(); if( numChars > 0 ) { @@ -503,15 +508,15 @@ public class JSPWikiMarkupParser extends MarkupParser { while( m_camelCaseMatcher.contains( buf, m_camelCasePattern ) ) { - MatchResult result = m_camelCaseMatcher.getMatch(); + final MatchResult result = m_camelCaseMatcher.getMatch(); - String firstPart = buf.substring(0,result.beginOffset(0)); + final String firstPart = buf.substring(0,result.beginOffset(0)); String prefix = result.group(1); if( prefix == null ) prefix = ""; - String camelCase = result.group(2); - String protocol = result.group(3); + final String camelCase = result.group(2); + final String protocol = result.group(3); String uri = protocol+result.group(4); buf = buf.substring(result.endOffset(0)); @@ -547,7 +552,7 @@ public class JSPWikiMarkupParser extends MarkupParser { // if( protocol != null ) { - char c = uri.charAt(uri.length()-1); + final char c = uri.charAt(uri.length()-1); if( c == '.' || c == ',' ) { uri = uri.substring(0,uri.length()-1); @@ -578,7 +583,7 @@ public class JSPWikiMarkupParser extends MarkupParser { m_currentElement.addContent( buf ); } } - catch( IllegalDataException e ) + catch( final IllegalDataException e ) { // // Sometimes it's possible that illegal XML chars is added to the data. @@ -598,13 +603,13 @@ public class JSPWikiMarkupParser extends MarkupParser { * @param buf * @return An escaped string. */ - private String escapeHTMLEntities(String buf) + private String escapeHTMLEntities( final String buf) { - StringBuilder tmpBuf = new StringBuilder( buf.length() + 20 ); + final StringBuilder tmpBuf = new StringBuilder( buf.length() + 20 ); for( int i = 0; i < buf.length(); i++ ) { - char ch = buf.charAt(i); + final char ch = buf.charAt(i); if( ch == '<' ) { @@ -626,13 +631,13 @@ public class JSPWikiMarkupParser extends MarkupParser { // boolean isEntity = false; - StringBuilder entityBuf = new StringBuilder(); + final StringBuilder entityBuf = new StringBuilder(); if( i < buf.length() -1 ) { for( int j = i; j < buf.length(); j++ ) { - char ch2 = buf.charAt(j); + final char ch2 = buf.charAt(j); if( Character.isLetterOrDigit( ch2 ) || (ch2 == '#' && j == i+1) || ch2 == ';' || ch2 == '&' ) { @@ -671,7 +676,7 @@ public class JSPWikiMarkupParser extends MarkupParser { return tmpBuf.toString(); } - private Element pushElement( Element e ) + private Element pushElement( final Element e ) { flushPlainText(); m_currentElement.addContent( e ); @@ -680,7 +685,7 @@ public class JSPWikiMarkupParser extends MarkupParser { return e; } - private Element addElement( Content e ) + private Element addElement( final Content e ) { if( e != null ) { @@ -705,9 +710,9 @@ public class JSPWikiMarkupParser extends MarkupParser { * @param s * @return The new current element, or null, if there was no such element in the entire stack. */ - private Element popElement( String s ) + private Element popElement( final String s ) { - int flushedBytes = flushPlainText(); + final int flushedBytes = flushPlainText(); Element currEl = m_currentElement; @@ -744,10 +749,10 @@ public class JSPWikiMarkupParser extends MarkupParser { * ending characters, or stream end. The ending character will be left * in the stream. */ - private String readUntil( String endChars ) + private String readUntil( final String endChars ) throws IOException { - StringBuilder sb = new StringBuilder( 80 ); + final StringBuilder sb = new StringBuilder( 80 ); int ch = nextToken(); while( ch != -1 ) @@ -779,10 +784,10 @@ public class JSPWikiMarkupParser extends MarkupParser { * Reads the stream while the characters that have been specified are * in the stream, returning then the result as a String. */ - private String readWhile( String endChars ) + private String readWhile( final String endChars ) throws IOException { - StringBuilder sb = new StringBuilder( 80 ); + final StringBuilder sb = new StringBuilder( 80 ); int ch = nextToken(); while( ch != -1 ) @@ -897,9 +902,9 @@ public class JSPWikiMarkupParser extends MarkupParser { * a proper HTML link for it. The local link mutator * chain is also called. */ - private Element makeCamelCaseLink( String wikiname ) + private Element makeCamelCaseLink( final String wikiname ) { - String matchedLink = m_linkParsingOperations.linkIfExists( wikiname ); + final String matchedLink = m_linkParsingOperations.linkIfExists( wikiname ); callMutatorChain( m_localLinkMutatorChain, wikiname ); @@ -955,7 +960,7 @@ public class JSPWikiMarkupParser extends MarkupParser { */ private Element makeDirectURILink( String url ) { - Element result; + final Element result; String last = null; if( url.endsWith(",") || url.endsWith(".") ) @@ -999,9 +1004,9 @@ public class JSPWikiMarkupParser extends MarkupParser { */ // FIXME: isExternalLink() is called twice. - private Element handleImageLink( String reallink, String link, boolean hasLinkText ) + private Element handleImageLink( final String reallink, final String link, final boolean hasLinkText ) { - String possiblePage = MarkupParser.cleanLink( link ); + final String possiblePage = MarkupParser.cleanLink( link ); if( m_linkParsingOperations.isExternalLink( link ) && hasLinkText ) { @@ -1044,7 +1049,7 @@ public class JSPWikiMarkupParser extends MarkupParser { } try { - final Acl acl = m_engine.getAclManager().parseAcl( page, ruleLine ); + final Acl acl = m_engine.getManager( AclManager.class ).parseAcl( page, ruleLine ); page.setAcl( acl ); if( log.isDebugEnabled() ) { @@ -1080,7 +1085,7 @@ public class JSPWikiMarkupParser extends MarkupParser { // log.debug("SET name='"+name+"', value='"+val+"'."); if( name.length() > 0 && val.length() > 0 ) { - val = m_engine.getVariableManager().expandVariables( m_context, val ); + val = m_engine.getManager( VariableManager.class ).expandVariables( m_context, val ); m_context.getPage().setAttribute( name, val ); } } catch( final Exception e ) { @@ -1104,19 +1109,15 @@ public class JSPWikiMarkupParser extends MarkupParser { /** * Gobbles up all hyperlinks that are encased in square brackets. */ - private Element handleHyperlinks( String linktext, int pos ) - { - ResourceBundle rb = Preferences.getBundle( m_context, InternationalizationManager.CORE_BUNDLE ); - - StringBuilder sb = new StringBuilder(linktext.length()+80); + private Element handleHyperlinks( String linktext, final int pos ) { + final ResourceBundle rb = Preferences.getBundle( m_context, InternationalizationManager.CORE_BUNDLE ); + final StringBuilder sb = new StringBuilder(linktext.length()+80); - if( m_linkParsingOperations.isAccessRule( linktext ) ) - { + if( m_linkParsingOperations.isAccessRule( linktext ) ) { return handleAccessRule( linktext ); } - if( m_linkParsingOperations.isMetadata( linktext ) ) - { + if( m_linkParsingOperations.isMetadata( linktext ) ) { return handleMetadata( linktext ); } @@ -1124,7 +1125,7 @@ public class JSPWikiMarkupParser extends MarkupParser { { try { - PluginContent pluginContent = PluginContent.parsePluginLine( m_context, linktext, pos ); + final PluginContent pluginContent = PluginContent.parsePluginLine( m_context, linktext, pos ); // // This might sometimes fail, especially if there is something which looks // like a plugin invocation but is really not. @@ -1136,13 +1137,13 @@ public class JSPWikiMarkupParser extends MarkupParser { pluginContent.executeParse( m_context ); } } - catch( PluginException e ) + catch( final PluginException e ) { log.info( m_context.getRealPage().getWiki() + " : " + m_context.getRealPage().getName() + " - Failed to insert plugin: " + e.getMessage() ); //log.info( "Root cause:",e.getRootThrowable() ); if( !m_wysiwygEditorMode ) { - ResourceBundle rbPlugin = Preferences.getBundle( m_context, WikiPlugin.CORE_PLUGINS_RESOURCEBUNDLE ); + final ResourceBundle rbPlugin = Preferences.getBundle( m_context, WikiPlugin.CORE_PLUGINS_RESOURCEBUNDLE ); return addElement( makeError( MessageFormat.format( rbPlugin.getString( "plugin.error.insertionfailed" ), m_context.getRealPage().getWiki(), m_context.getRealPage().getName(), @@ -1155,7 +1156,7 @@ public class JSPWikiMarkupParser extends MarkupParser { try { - LinkParser.Link link = m_linkParser.parse(linktext); + final LinkParser.Link link = m_linkParser.parse(linktext); linktext = link.getText(); String linkref = link.getReference(); @@ -1168,7 +1169,7 @@ public class JSPWikiMarkupParser extends MarkupParser { // if( m_linkParsingOperations.isVariableLink( linktext ) ) { - Content el = new VariableContent(linktext); + final Content el = new VariableContent(linktext); addElement( el ); } @@ -1201,8 +1202,8 @@ public class JSPWikiMarkupParser extends MarkupParser { // is using, so you'll have to write the entire name as it appears // in the URL. Bugger. - String extWiki = link.getExternalWiki(); - String wikiPage = link.getExternalWikiPage(); + final String extWiki = link.getExternalWiki(); + final String wikiPage = link.getExternalWikiPage(); if( m_wysiwygEditorMode ) { @@ -1233,7 +1234,7 @@ public class JSPWikiMarkupParser extends MarkupParser { } else { - Object[] args = { escapeHTMLEntities(extWiki) }; + final Object[] args = { escapeHTMLEntities(extWiki) }; addElement( makeError( MessageFormat.format( rb.getString( "markupparser.error.nointerwikiref" ), args ) ) ); } @@ -1256,7 +1257,7 @@ public class JSPWikiMarkupParser extends MarkupParser { // // Internal wiki link, but is it an attachment link? // - String attachment = m_engine.getAttachmentManager().getAttachmentInfoName( m_context, linkref ); + String attachment = m_engine.getManager( AttachmentManager.class ).getAttachmentInfoName( m_context, linkref ); if( attachment != null ) { callMutatorChain( m_attachmentLinkMutatorChain, attachment ); @@ -1275,14 +1276,14 @@ public class JSPWikiMarkupParser extends MarkupParser { { // It's an internal Wiki link, but to a named section - String namedSection = linkref.substring( hashMark+1 ); + final String namedSection = linkref.substring( hashMark+1 ); linkref = linkref.substring( 0, hashMark ); linkref = MarkupParser.cleanLink( linkref ); callMutatorChain( m_localLinkMutatorChain, linkref ); - String matchedLink = m_linkParsingOperations.linkIfExists( linkref ); + final String matchedLink = m_linkParsingOperations.linkIfExists( linkref ); if( matchedLink != null ) { String sectref = "section-"+m_engine.encodeName(matchedLink+"-"+wikifyLink(namedSection)); sectref = sectref.replace('%', '_'); @@ -1298,7 +1299,7 @@ public class JSPWikiMarkupParser extends MarkupParser { callMutatorChain( m_localLinkMutatorChain, linkref ); - String matchedLink = m_linkParsingOperations.linkIfExists( linkref ); + final String matchedLink = m_linkParsingOperations.linkIfExists( linkref ); if( matchedLink != null ) { makeLink( READ, matchedLink, linktext, null, link.getAttributes() ); } else { @@ -1307,10 +1308,10 @@ public class JSPWikiMarkupParser extends MarkupParser { } } } - catch( ParseException e ) + catch( final ParseException e ) { log.info("Parser failure: ",e); - Object[] args = { e.getMessage() }; + final Object[] args = { e.getMessage() }; addElement( makeError( MessageFormat.format( rb.getString( "markupparser.error.parserfailure" ), args ) ) ); } @@ -1323,7 +1324,7 @@ public class JSPWikiMarkupParser extends MarkupParser { * * @since 2.1.77 */ - private void pushBack( String s ) + private void pushBack( final String s ) throws IOException { for( int i = s.length()-1; i >= 0; i-- ) @@ -1335,11 +1336,11 @@ public class JSPWikiMarkupParser extends MarkupParser { private Element handleBackslash() throws IOException { - int ch = nextToken(); + final int ch = nextToken(); if( ch == '\\' ) { - int ch2 = nextToken(); + final int ch2 = nextToken(); if( ch2 == '\\' ) { @@ -1361,7 +1362,7 @@ public class JSPWikiMarkupParser extends MarkupParser { private Element handleUnderscore() throws IOException { - int ch = nextToken(); + final int ch = nextToken(); Element el = null; if( ch == '_' ) @@ -1391,7 +1392,7 @@ public class JSPWikiMarkupParser extends MarkupParser { private Element handleApostrophe() throws IOException { - int ch = nextToken(); + final int ch = nextToken(); Element el = null; if( ch == '\'' ) @@ -1414,14 +1415,14 @@ public class JSPWikiMarkupParser extends MarkupParser { return el; } - private Element handleOpenbrace( boolean isBlock ) + private Element handleOpenbrace( final boolean isBlock ) throws IOException { - int ch = nextToken(); + final int ch = nextToken(); if( ch == '{' ) { - int ch2 = nextToken(); + final int ch2 = nextToken(); if( ch2 == '{' ) { @@ -1454,11 +1455,11 @@ public class JSPWikiMarkupParser extends MarkupParser { private Element handleClosebrace() throws IOException { - int ch2 = nextToken(); + final int ch2 = nextToken(); if( ch2 == '}' ) { - int ch3 = nextToken(); + final int ch3 = nextToken(); if( ch3 == '}' ) { @@ -1502,11 +1503,11 @@ public class JSPWikiMarkupParser extends MarkupParser { if( ch == '-' ) { - int ch2 = nextToken(); + final int ch2 = nextToken(); if( ch2 == '-' ) { - int ch3 = nextToken(); + final int ch3 = nextToken(); if( ch3 == '-' ) { @@ -1539,31 +1540,31 @@ public class JSPWikiMarkupParser extends MarkupParser { { Element el = null; - int ch = nextToken(); + final int ch = nextToken(); - Heading hd = new Heading(); + final Heading hd = new Heading(); if( ch == '!' ) { - int ch2 = nextToken(); + final int ch2 = nextToken(); if( ch2 == '!' ) { - String title = peekAheadLine(); + final String title = peekAheadLine(); el = makeHeading( Heading.HEADING_LARGE, title, hd); } else { pushBack( ch2 ); - String title = peekAheadLine(); + final String title = peekAheadLine(); el = makeHeading( Heading.HEADING_MEDIUM, title, hd ); } } else { pushBack( ch ); - String title = peekAheadLine(); + final String title = peekAheadLine(); el = makeHeading( Heading.HEADING_SMALL, title, hd ); } @@ -1584,7 +1585,7 @@ public class JSPWikiMarkupParser extends MarkupParser { throws IOException { int ch; - StringBuilder buf = new StringBuilder( 256 ); + final StringBuilder buf = new StringBuilder( 256 ); while( true ) { @@ -1634,7 +1635,7 @@ public class JSPWikiMarkupParser extends MarkupParser { m_isbold = false; } - private static String getListType( char c ) + private static String getListType( final char c ) { if( c == '*' ) { @@ -1660,7 +1661,7 @@ public class JSPWikiMarkupParser extends MarkupParser { String strBullets = readWhile( "*#" ); // String strBulletsRaw = strBullets; // to know what was original before phpwiki style substitution - int numBullets = strBullets.length(); + final int numBullets = strBullets.length(); // override the beginning portion of bullet pattern to be like the previous // to simulate PHPWiki style lists @@ -1733,7 +1734,7 @@ public class JSPWikiMarkupParser extends MarkupParser { // The pattern has changed, unwind and restart // int numEqualBullets; - int numCheckBullets; + final int numCheckBullets; // find out how much is the same numEqualBullets = 0; @@ -1817,8 +1818,8 @@ public class JSPWikiMarkupParser extends MarkupParser { private Element handleOpenbracket() throws IOException { - StringBuilder sb = new StringBuilder(40); - int pos = getPosition(); + final StringBuilder sb = new StringBuilder(40); + final int pos = getPosition(); int ch = nextToken(); boolean isPlugin = false; @@ -1860,7 +1861,7 @@ public class JSPWikiMarkupParser extends MarkupParser { while( ch != -1 ) { - int ch2 = nextToken(); pushBack(ch2); + final int ch2 = nextToken(); pushBack(ch2); if( isPlugin ) { @@ -1911,10 +1912,10 @@ public class JSPWikiMarkupParser extends MarkupParser { /** * Reads the stream until the current brace is closed or stream end. */ - private String readBraceContent( char opening, char closing ) + private String readBraceContent( final char opening, final char closing ) throws IOException { - StringBuilder sb = new StringBuilder(40); + final StringBuilder sb = new StringBuilder(40); int braceLevel = 1; int ch; while(( ch = nextToken() ) != -1 ) @@ -1947,7 +1948,7 @@ public class JSPWikiMarkupParser extends MarkupParser { * @return An Element containing the div or span, depending on the situation. * @throws IOException */ - private Element handleDiv( boolean newLine ) + private Element handleDiv( final boolean newLine ) throws IOException { int ch = nextToken(); @@ -2010,7 +2011,7 @@ public class JSPWikiMarkupParser extends MarkupParser { try { - Boolean isSpan = m_styleStack.pop(); + final Boolean isSpan = m_styleStack.pop(); if( isSpan == null ) { @@ -2025,7 +2026,7 @@ public class JSPWikiMarkupParser extends MarkupParser { el = popElement( "div" ); } } - catch( EmptyStackException e ) + catch( final EmptyStackException e ) { log.debug("Page '"+m_context.getName()+"' closes a %%-block that has not been opened."); return m_currentElement; @@ -2044,24 +2045,24 @@ public class JSPWikiMarkupParser extends MarkupParser { if( style != null && style.indexOf("javascript:") != -1 ) { log.debug("Attempt to output javascript within CSS:"+style); - ResourceBundle rb = Preferences.getBundle( m_context, InternationalizationManager.CORE_BUNDLE ); + final ResourceBundle rb = Preferences.getBundle( m_context, InternationalizationManager.CORE_BUNDLE ); return addElement( makeError( rb.getString( "markupparser.error.javascriptattempt" ) ) ); } } - catch( NumberFormatException e ) + catch( final NumberFormatException e ) { // // If there are unknown entities, we don't want the parser to stop. // - ResourceBundle rb = Preferences.getBundle( m_context, InternationalizationManager.CORE_BUNDLE ); - String msg = MessageFormat.format( rb.getString( "markupparser.error.parserfailure"), e.getMessage() ); + final ResourceBundle rb = Preferences.getBundle( m_context, InternationalizationManager.CORE_BUNDLE ); + final String msg = MessageFormat.format( rb.getString( "markupparser.error.parserfailure"), e.getMessage() ); return addElement( makeError( msg ) ); } // // Decide if we should open a div or a span? // - String eol = peekAheadLine(); + final String eol = peekAheadLine(); if( eol.trim().length() > 0 ) { @@ -2090,10 +2091,10 @@ public class JSPWikiMarkupParser extends MarkupParser { return el; } - private Element handleSlash( boolean newLine ) + private Element handleSlash( final boolean newLine ) throws IOException { - int ch = nextToken(); + final int ch = nextToken(); pushBack(ch); if( ch == '%' && !m_styleStack.isEmpty() ) @@ -2104,7 +2105,7 @@ public class JSPWikiMarkupParser extends MarkupParser { return null; } - private Element handleBar( boolean newLine ) + private Element handleBar( final boolean newLine ) throws IOException { Element el = null; @@ -2130,7 +2131,7 @@ public class JSPWikiMarkupParser extends MarkupParser { } m_rowNum++; - Element tr = ( m_rowNum % 2 != 0 ) + final Element tr = ( m_rowNum % 2 != 0 ) ? new Element("tr").setAttribute("class", "odd") : new Element("tr"); el = pushElement( tr ); @@ -2140,7 +2141,7 @@ public class JSPWikiMarkupParser extends MarkupParser { // Check out which table cell element to start; // a header element (th) or a regular element (td). // - int ch = nextToken(); + final int ch = nextToken(); if( ch == '|' ) { @@ -2173,7 +2174,7 @@ public class JSPWikiMarkupParser extends MarkupParser { private Element handleTilde() throws IOException { - int ch = nextToken(); + final int ch = nextToken(); if( ch == ' ' ) { @@ -2204,7 +2205,7 @@ public class JSPWikiMarkupParser extends MarkupParser { return null; } - private void fillBuffer( Element startElement ) + private void fillBuffer( final Element startElement ) throws IOException { m_currentElement = startElement; @@ -2215,7 +2216,7 @@ public class JSPWikiMarkupParser extends MarkupParser { while(!quitReading) { - int ch = nextToken(); + final int ch = nextToken(); if( ch == -1 ) break; @@ -2299,7 +2300,7 @@ public class JSPWikiMarkupParser extends MarkupParser { { skip = parseToken( ch ); } - catch( IllegalDataException e ) + catch( final IllegalDataException e ) { log.info("Page "+m_context.getPage().getName()+" contains data which cannot be added to DOM tree: "+e.getMessage()); @@ -2337,13 +2338,13 @@ public class JSPWikiMarkupParser extends MarkupParser { popElement("domroot"); } - private String cleanupSuspectData( String s ) + private String cleanupSuspectData( final String s ) { - StringBuilder sb = new StringBuilder( s.length() ); + final StringBuilder sb = new StringBuilder( s.length() ); for( int i = 0; i < s.length(); i++ ) { - char c = s.charAt(i); + final char c = s.charAt(i); if( Verifier.isXMLCharacter( c ) ) sb.append( c ); else sb.append( "0x"+Integer.toString(c,16).toUpperCase() ); @@ -2375,7 +2376,7 @@ public class JSPWikiMarkupParser extends MarkupParser { * @return {@link #ELEMENT}, {@link #CHARACTER} or {@link #IGNORE}. * @throws IOException If parsing fails. */ - protected int parseToken( int ch ) + protected int parseToken( final int ch ) throws IOException { Element el = null; @@ -2415,7 +2416,7 @@ public class JSPWikiMarkupParser extends MarkupParser { // Figure out which elements cannot be enclosed inside // a <p></p> pair according to XHTML rules. // - String nextLine = peekAheadLine(); + final String nextLine = peekAheadLine(); if( nextLine.length() == 0 || (nextLine.length() > 0 && !nextLine.startsWith("{{{") && @@ -2564,10 +2565,10 @@ public class JSPWikiMarkupParser extends MarkupParser { public WikiDocument parse() throws IOException { - WikiDocument d = new WikiDocument( m_context.getPage() ); + final WikiDocument d = new WikiDocument( m_context.getPage() ); d.setContext( m_context ); - Element rootElement = new Element("domroot"); + final Element rootElement = new Element("domroot"); d.setRootElement( rootElement ); @@ -2583,25 +2584,25 @@ public class JSPWikiMarkupParser extends MarkupParser { * * @param rootElement */ - private void paragraphify(Element rootElement) + private void paragraphify( final Element rootElement) { // // Add the paragraph tag to the first paragraph // - List< Content > kids = rootElement.getContent(); + final List< Content > kids = rootElement.getContent(); if( rootElement.getChild("p") != null ) { - ArrayList<Content> ls = new ArrayList<>(); + final ArrayList<Content> ls = new ArrayList<>(); int idxOfFirstContent = 0; int count = 0; - for( Iterator< Content > i = kids.iterator(); i.hasNext(); count++ ) + for( final Iterator< Content > i = kids.iterator(); i.hasNext(); count++ ) { - Content c = i.next(); + final Content c = i.next(); if( c instanceof Element ) { - String name = ( ( Element )c ).getName(); + final String name = ( ( Element )c ).getName(); if( isBlockLevel( name ) ) break; } @@ -2618,11 +2619,11 @@ public class JSPWikiMarkupParser extends MarkupParser { // if( ls.size() > 0 ) { - Element newel = new Element("p"); + final Element newel = new Element("p"); - for( Iterator< Content > i = ls.iterator(); i.hasNext(); ) + for( final Iterator< Content > i = ls.iterator(); i.hasNext(); ) { - Content c = i.next(); + final Content c = i.next(); c.detach(); newel.addContent(c); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/parser/LinkParsingOperations.java b/jspwiki-main/src/main/java/org/apache/wiki/parser/LinkParsingOperations.java index 58fd889..63cb21c 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/parser/LinkParsingOperations.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/parser/LinkParsingOperations.java @@ -23,6 +23,7 @@ import org.apache.oro.text.regex.Pattern; import org.apache.oro.text.regex.Perl5Matcher; import org.apache.wiki.WikiContext; import org.apache.wiki.api.exceptions.ProviderException; +import org.apache.wiki.render.RenderingManager; import java.util.Arrays; import java.util.Comparator; @@ -152,9 +153,9 @@ public class LinkParsingOperations { * determine whether it should be treated as an inline image or not. */ public boolean isImageLink( String link ) { - if( wikiContext.getEngine().getRenderingManager().getParser( wikiContext, link ).isImageInlining() ) { + if( wikiContext.getEngine().getManager( RenderingManager.class ).getParser( wikiContext, link ).isImageInlining() ) { link = link.toLowerCase(); - final List< Pattern > inlineImagePatterns = wikiContext.getEngine().getRenderingManager() + final List< Pattern > inlineImagePatterns = wikiContext.getEngine().getManager( RenderingManager.class ) .getParser( wikiContext, link ).getInlineImagePatterns(); for( final Pattern p : inlineImagePatterns ) { diff --git a/jspwiki-main/src/main/java/org/apache/wiki/parser/MarkupParser.java b/jspwiki-main/src/main/java/org/apache/wiki/parser/MarkupParser.java index 4acb8a7..aed6c63 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/parser/MarkupParser.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/parser/MarkupParser.java @@ -25,7 +25,7 @@ import org.apache.oro.text.regex.Pattern; import org.apache.oro.text.regex.PatternCompiler; import org.apache.wiki.StringTransmutator; import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiEngine; +import org.apache.wiki.api.core.Engine; import org.apache.wiki.util.TextUtil; import org.jdom2.Element; @@ -50,7 +50,7 @@ public abstract class MarkupParser { protected PushbackReader m_in; private int m_pos = -1; // current position in reader stream - protected WikiEngine m_engine; + protected Engine m_engine; protected WikiContext m_context; /** Optionally stores internal wikilinks */ diff --git a/jspwiki-main/src/main/java/org/apache/wiki/parser/PluginContent.java b/jspwiki-main/src/main/java/org/apache/wiki/parser/PluginContent.java index a7f6f1c..506da58 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/parser/PluginContent.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/parser/PluginContent.java @@ -24,13 +24,14 @@ import org.apache.oro.text.regex.PatternMatcher; import org.apache.oro.text.regex.Perl5Matcher; import org.apache.wiki.InternalWikiException; import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiEngine; +import org.apache.wiki.api.core.Engine; import org.apache.wiki.api.engine.PluginManager; import org.apache.wiki.api.exceptions.PluginException; -import org.apache.wiki.api.plugin.PluginElement; import org.apache.wiki.api.plugin.ParserStagePlugin; +import org.apache.wiki.api.plugin.PluginElement; import org.apache.wiki.api.plugin.WikiPlugin; import org.apache.wiki.preferences.Preferences; +import org.apache.wiki.variables.VariableManager; import org.jdom2.Text; import java.io.IOException; @@ -154,16 +155,16 @@ public class PluginContent extends Text implements PluginElement { return BLANK; } - final WikiEngine engine = context.getEngine(); + final Engine engine = context.getEngine(); final Map< String, String > parsedParams = new HashMap<>(); // Parse any variable instances from the string for( final Map.Entry< String, String > e : m_params.entrySet() ) { String val = e.getValue(); - val = engine.getVariableManager().expandVariables( context, val ); + val = engine.getManager( VariableManager.class).expandVariables( context, val ); parsedParams.put( e.getKey(), val ); } - final PluginManager pm = engine.getPluginManager(); + final PluginManager pm = engine.getManager( PluginManager.class ); result = pm.execute( context, m_pluginName, parsedParams ); } } catch( final Exception e ) { @@ -185,7 +186,7 @@ public class PluginContent extends Text implements PluginElement { /**{@inheritDoc}*/ @Override public void executeParse( final WikiContext context ) throws PluginException { - final PluginManager pm = context.getEngine().getPluginManager(); + final PluginManager pm = context.getEngine().getManager( PluginManager.class ); if( pm.pluginsEnabled() ) { final ResourceBundle rb = Preferences.getBundle(context, WikiPlugin.CORE_PLUGINS_RESOURCEBUNDLE); final Map< String, String > params = getParameters(); @@ -214,7 +215,7 @@ public class PluginContent extends Text implements PluginElement { final PatternMatcher matcher = new Perl5Matcher(); try { - final PluginManager pm = context.getEngine().getPluginManager(); + final PluginManager pm = context.getEngine().getManager( PluginManager.class ); if( matcher.contains( commandline, pm.getPluginPattern() ) ) { final MatchResult res = matcher.getMatch(); final String plugin = res.group( 2 ); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/parser/VariableContent.java b/jspwiki-main/src/main/java/org/apache/wiki/parser/VariableContent.java index 2d7ba47..6c9d397 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/parser/VariableContent.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/parser/VariableContent.java @@ -21,6 +21,7 @@ package org.apache.wiki.parser; import org.apache.commons.text.StringEscapeUtils; import org.apache.wiki.WikiContext; import org.apache.wiki.api.exceptions.NoSuchVariableException; +import org.apache.wiki.variables.VariableManager; import org.jdom2.Text; /** @@ -52,7 +53,7 @@ public class VariableContent extends Text { * * @return The rendered value of the variable. */ - public String getValue() { + @Override public String getValue() { String result; final WikiDocument root = (WikiDocument) getDocument(); @@ -71,7 +72,7 @@ public class VariableContent extends Text { result = "[" + m_varName + "]"; } else { try { - result = context.getEngine().getVariableManager().parseAndGetValue( context, m_varName ); + result = context.getEngine().getManager( VariableManager.class ).parseAndGetValue( context, m_varName ); } catch( final NoSuchVariableException e ) { result = MarkupParser.makeError( "No such variable: " + e.getMessage() ).getText(); } @@ -84,7 +85,7 @@ public class VariableContent extends Text { * Returns exactly getValue(). * @return Whatever getValue() returns. */ - public String getText() { + @Override public String getText() { return getValue(); } @@ -92,7 +93,7 @@ public class VariableContent extends Text { * Returns a debug-suitable string. * @return Debug string */ - public String toString() { + @Override public String toString() { return "VariableElement[\"" + m_varName + "\"]"; } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/preferences/Preferences.java b/jspwiki-main/src/main/java/org/apache/wiki/preferences/Preferences.java index 2753b2e..7299981 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/preferences/Preferences.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/preferences/Preferences.java @@ -73,7 +73,7 @@ public class Preferences * * @param pageContext The JSP PageContext. */ - public static void setupPreferences( PageContext pageContext ) + public static void setupPreferences( final PageContext pageContext ) { //HttpSession session = pageContext.getSession(); @@ -93,14 +93,13 @@ public class Preferences // happened to first arrive to the site with. This, unfortunately, means that // even if the user changes e.g. language preferences (like in a web cafe), // the old preferences still remain in a site cookie. - public static void reloadPreferences( PageContext pageContext ) + public static void reloadPreferences( final PageContext pageContext ) { - Preferences prefs = new Preferences(); - Properties props = PropertyReader.loadWebAppProps( pageContext.getServletContext() ); - WikiContext ctx = WikiContext.findContext( pageContext ); - String dateFormat = ctx.getEngine().getInternationalizationManager().get( InternationalizationManager.CORE_BUNDLE, - getLocale( ctx ), - "common.datetimeformat" ); + final Preferences prefs = new Preferences(); + final Properties props = PropertyReader.loadWebAppProps( pageContext.getServletContext() ); + final WikiContext ctx = WikiContext.findContext( pageContext ); + final String dateFormat = ctx.getEngine().getManager( InternationalizationManager.class ) + .get( InternationalizationManager.CORE_BUNDLE, getLocale( ctx ), "common.datetimeformat" ); prefs.put("SkinName", TextUtil.getStringProperty( props, "jspwiki.defaultprefs.template.skinname", "PlainVanilla" ) ); prefs.put("DateFormat", TextUtil.getStringProperty( props, "jspwiki.defaultprefs.template.dateformat", dateFormat ) ); @@ -137,18 +136,17 @@ public class Preferences * @param prefs The default hashmap of preferences * */ - private static void parseJSONPreferences( HttpServletRequest request, Preferences prefs ) { - String prefVal = TextUtil.urlDecodeUTF8( HttpUtil.retrieveCookieValue( request, "JSPWikiUserPrefs" ) ); + private static void parseJSONPreferences( final HttpServletRequest request, final Preferences prefs ) { + final String prefVal = TextUtil.urlDecodeUTF8( HttpUtil.retrieveCookieValue( request, "JSPWikiUserPrefs" ) ); if( prefVal != null ) { // Convert prefVal JSON to a generic hashmap - @SuppressWarnings("unchecked") - Map<String,String> map = new Gson().fromJson(prefVal, Map.class ); + @SuppressWarnings("unchecked") final Map<String,String> map = new Gson().fromJson(prefVal, Map.class ); for (String key : map.keySet()) { key = TextUtil.replaceEntities( key ); // Sometimes this is not a String as it comes from the Cookie set by Javascript - Object value = map.get(key); + final Object value = map.get(key); if (value != null) { prefs.put( key, value.toString() ); } @@ -164,11 +162,11 @@ public class Preferences * @param name * @return the preference value */ - public static String getPreference( WikiContext wikiContext, String name ) { - HttpServletRequest request = wikiContext.getHttpRequest(); + public static String getPreference( final WikiContext wikiContext, final String name ) { + final HttpServletRequest request = wikiContext.getHttpRequest(); if ( request == null ) return null; - Preferences prefs = (Preferences)request.getSession().getAttribute( SESSIONPREFS ); + final Preferences prefs = (Preferences)request.getSession().getAttribute( SESSIONPREFS ); if( prefs != null ) { return prefs.get( name ); @@ -185,9 +183,9 @@ public class Preferences * @param name * @return the preference value */ - public static String getPreference( PageContext pageContext, String name ) + public static String getPreference( final PageContext pageContext, final String name ) { - Preferences prefs = (Preferences)pageContext.getSession().getAttribute( SESSIONPREFS ); + final Preferences prefs = (Preferences)pageContext.getSession().getAttribute( SESSIONPREFS ); if( prefs != null ) return prefs.get( name ); @@ -203,10 +201,10 @@ public class Preferences * @return a Locale object. * @since 2.8 */ - public static Locale getLocale( WikiContext context ) { + public static Locale getLocale( final WikiContext context ) { Locale loc = null; - String langSetting = getPreference( context, "Language" ); + final String langSetting = getPreference( context, "Language" ); // parse language and construct valid Locale object if( langSetting != null ) { @@ -214,7 +212,7 @@ public class Preferences String country = ""; String variant = ""; - String[] res = StringUtils.split( langSetting, "-_" ); + final String[] res = StringUtils.split( langSetting, "-_" ); if( res.length > 2 ) variant = res[2]; if( res.length > 1 ) country = res[1]; @@ -228,17 +226,17 @@ public class Preferences // see if default locale is set server side if( loc == null ) { - String locale = context.getEngine().getWikiProperties().getProperty( "jspwiki.preferences.default-locale" ); + final String locale = context.getEngine().getWikiProperties().getProperty( "jspwiki.preferences.default-locale" ); try { loc = LocaleUtils.toLocale( locale ); - } catch( IllegalArgumentException iae ) { + } catch( final IllegalArgumentException iae ) { log.error( iae.getMessage() ); } } // otherwise try to find out the browser's preferred language setting, or use the JVM's default if( loc == null ) { - HttpServletRequest request = context.getHttpRequest(); + final HttpServletRequest request = context.getHttpRequest(); loc = ( request != null ) ? request.getLocale() : Locale.getDefault(); } @@ -256,11 +254,11 @@ public class Preferences * @return A localized string (or from the default language, if not found) * @throws MissingResourceException If the bundle cannot be found */ - public static ResourceBundle getBundle( WikiContext context, String bundle ) + public static ResourceBundle getBundle( final WikiContext context, final String bundle ) throws MissingResourceException { - Locale loc = getLocale( context ); - InternationalizationManager i18n = context.getEngine().getInternationalizationManager(); + final Locale loc = getLocale( context ); + final InternationalizationManager i18n = context.getEngine().getManager( InternationalizationManager.class ); return i18n.getBundle( bundle, loc ); } @@ -274,11 +272,11 @@ public class Preferences * @return A SimpleTimeFormat object which you can use to render * @since 2.8 */ - public static SimpleDateFormat getDateFormat( WikiContext context, TimeFormat tf ) + public static SimpleDateFormat getDateFormat( final WikiContext context, final TimeFormat tf ) { - InternationalizationManager imgr = context.getEngine().getInternationalizationManager(); - Locale clientLocale = getLocale( context ); - String prefTimeZone = getPreference( context, "TimeZone" ); + final InternationalizationManager imgr = context.getEngine().getManager( InternationalizationManager.class ); + final Locale clientLocale = getLocale( context ); + final String prefTimeZone = getPreference( context, "TimeZone" ); String prefDateFormat; log.debug("Checking for preferences..."); @@ -311,11 +309,11 @@ public class Preferences try { - SimpleDateFormat fmt = new SimpleDateFormat( prefDateFormat, clientLocale ); + final SimpleDateFormat fmt = new SimpleDateFormat( prefDateFormat, clientLocale ); if( prefTimeZone != null ) { - TimeZone tz = TimeZone.getTimeZone( prefTimeZone ); + final TimeZone tz = TimeZone.getTimeZone( prefTimeZone ); // TimeZone tz = TimeZone.getDefault(); // tz.setRawOffset(Integer.parseInt(prefTimeZone)); @@ -324,7 +322,7 @@ public class Preferences return fmt; } - catch( Exception e ) + catch( final Exception e ) { return null; } @@ -340,9 +338,9 @@ public class Preferences * @return A ready-rendered date. * @since 2.8 */ - public static String renderDate( WikiContext context, Date date, TimeFormat tf ) + public static String renderDate( final WikiContext context, final Date date, final TimeFormat tf ) { - DateFormat df = getDateFormat( context, tf ); + final DateFormat df = getDateFormat( context, tf ); return df.format( date ); } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/references/DefaultReferenceManager.java b/jspwiki-main/src/main/java/org/apache/wiki/references/DefaultReferenceManager.java index 5ebe5cc..e01de27 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/references/DefaultReferenceManager.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/references/DefaultReferenceManager.java @@ -32,6 +32,7 @@ import org.apache.wiki.attachment.Attachment; import org.apache.wiki.event.WikiEvent; import org.apache.wiki.event.WikiEventManager; import org.apache.wiki.event.WikiPageEvent; +import org.apache.wiki.pages.PageManager; import org.apache.wiki.providers.WikiPageProvider; import org.apache.wiki.util.TextUtil; @@ -163,7 +164,7 @@ public class DefaultReferenceManager extends BasicPageFilter implements Referenc * Does a full reference update. Does not sync; assumes that you do it afterwards. */ private void updatePageReferences( final WikiPage page ) throws ProviderException { - final String content = m_engine.getPageManager().getPageText( page.getName(), WikiPageProvider.LATEST_VERSION ); + final String content = m_engine.getManager( PageManager.class ).getPageText( page.getName(), WikiPageProvider.LATEST_VERSION ); final Collection< String > links = scanWikiLinks( page, content ); final TreeSet< String > res = new TreeSet<>( links ); final List< Attachment > attachments = m_engine.getAttachmentManager().listAttachments( page ); @@ -181,7 +182,7 @@ public class DefaultReferenceManager extends BasicPageFilter implements Referenc * @since 2.2 * @throws ProviderException If reading of pages fails. */ - public void initialize( final Collection< WikiPage > pages ) throws ProviderException { + @Override public void initialize( final Collection< WikiPage > pages ) throws ProviderException { log.debug( "Initializing new ReferenceManager with " + pages.size() + " initial pages." ); final StopWatch sw = new StopWatch(); sw.start(); @@ -205,7 +206,7 @@ public class DefaultReferenceManager extends BasicPageFilter implements Referenc for( final WikiPage page : pages ) { if( !( page instanceof Attachment ) ) { // Refresh with the latest copy - final WikiPage wp = m_engine.getPageManager().getPage( page.getName() ); + final WikiPage wp = m_engine.getManager( PageManager.class ).getPage( page.getName() ); if( wp.getLastModified() == null ) { log.fatal( "Provider returns null lastModified. Please submit a bug report." ); @@ -234,7 +235,7 @@ public class DefaultReferenceManager extends BasicPageFilter implements Referenc sw.stop(); log.info( "Cross reference scan done in "+sw ); - WikiEventManager.getInstance().addWikiEventListener( m_engine.getPageManager(), this ); + WikiEventManager.getInstance().addWikiEventListener( m_engine.getManager( PageManager.class ), this ); } /** @@ -426,7 +427,7 @@ public class DefaultReferenceManager extends BasicPageFilter implements Referenc * @param pagedata The page contents * @return a Collection of Strings */ - public Collection< String > scanWikiLinks( final WikiPage page, final String pagedata ) { + @Override public Collection< String > scanWikiLinks( final WikiPage page, final String pagedata ) { final LinkCollector localCollector = new LinkCollector(); m_engine.getRenderingManager().textToHTML( new WikiContext( m_engine, page ), pagedata, @@ -448,7 +449,7 @@ public class DefaultReferenceManager extends BasicPageFilter implements Referenc * * @param page Name of the page to remove from the maps. */ - public synchronized void pageRemoved( final WikiPage page ) { + @Override public synchronized void pageRemoved( final WikiPage page ) { pageRemoved( page.getName() ); } @@ -467,7 +468,7 @@ public class DefaultReferenceManager extends BasicPageFilter implements Referenc // We won't put it back again if it becomes empty and does not exist. It will be added // later on anyway, if it becomes referenced again. - if( !( refBy.isEmpty() && !m_engine.getPageManager().wikiPageExists( referredPageName ) ) ) { + if( !( refBy.isEmpty() && !m_engine.getManager( PageManager.class ).wikiPageExists( referredPageName ) ) ) { m_referredBy.put( referredPageName, refBy ); } } @@ -499,8 +500,8 @@ public class DefaultReferenceManager extends BasicPageFilter implements Referenc * * @param page wiki page for which references should be updated */ - public void updateReferences( final WikiPage page ) { - final String pageData = m_engine.getPageManager().getPureText( page.getName(), WikiProvider.LATEST_VERSION ); + @Override public void updateReferences( final WikiPage page ) { + final String pageData = m_engine.getManager( PageManager.class ).getPureText( page.getName(), WikiProvider.LATEST_VERSION ); updateReferences( page.getName(), scanWikiLinks( page, pageData ) ); } @@ -514,7 +515,7 @@ public class DefaultReferenceManager extends BasicPageFilter implements Referenc * @param page Name of the page to update. * @param references A Collection of Strings, each one pointing to a page this page references. */ - public synchronized void updateReferences( final String page, final Collection< String > references ) { + @Override public synchronized void updateReferences( final String page, final Collection< String > references ) { internalUpdateReferences( page, references ); serializeToDisk(); } @@ -603,7 +604,7 @@ public class DefaultReferenceManager extends BasicPageFilter implements Referenc // If the page is referred to by no one AND it doesn't even exist, we might just as well forget about this // entry. It will be added again elsewhere if new references appear. - if( ( oldRefBy == null || oldRefBy.isEmpty() ) && !m_engine.getPageManager().wikiPageExists( referredPage ) ) { + if( ( oldRefBy == null || oldRefBy.isEmpty() ) && !m_engine.getManager( PageManager.class ).wikiPageExists( referredPage ) ) { m_referredBy.remove( referredPage ); } } @@ -673,7 +674,7 @@ public class DefaultReferenceManager extends BasicPageFilter implements Referenc * * @param pagename Name of the page to clear references for. */ - public synchronized void clearPageEntries( String pagename ) { + @Override public synchronized void clearPageEntries( String pagename ) { pagename = getFinalPageName( pagename ); // Remove this item from the referredBy list of any page which this item refers to. @@ -696,7 +697,7 @@ public class DefaultReferenceManager extends BasicPageFilter implements Referenc * * @return The Collection of Strings */ - public synchronized Collection< String > findUnreferenced() { + @Override public synchronized Collection< String > findUnreferenced() { final ArrayList< String > unref = new ArrayList<>(); for( final String key : m_referredBy.keySet() ) { final Set< ? > refs = getReferenceList( m_referredBy, key ); @@ -718,7 +719,7 @@ public class DefaultReferenceManager extends BasicPageFilter implements Referenc * * @return A Collection of Strings */ - public synchronized Collection< String > findUncreated() { + @Override public synchronized Collection< String > findUncreated() { final TreeSet< String > uncreated = new TreeSet<>(); // Go through m_refersTo values and check that m_refersTo has the corresponding keys. @@ -727,7 +728,7 @@ public class DefaultReferenceManager extends BasicPageFilter implements Referenc for( final Collection<String> refs : allReferences ) { if( refs != null ) { for( final String aReference : refs ) { - if( !m_engine.getPageManager().wikiPageExists( aReference ) ) { + if( !m_engine.getManager( PageManager.class ).wikiPageExists( aReference ) ) { uncreated.add( aReference ); } } @@ -776,7 +777,7 @@ public class DefaultReferenceManager extends BasicPageFilter implements Referenc * @param pagename The page to find referrers for. * @return A Set of Strings. May return null, if the page does not exist, or if it has no references. */ - public synchronized Set< String > findReferrers( final String pagename ) { + @Override public synchronized Set< String > findReferrers( final String pagename ) { final Set< String > refs = getReferenceList( m_referredBy, pagename ); if( refs == null || refs.isEmpty() ) { return null; @@ -798,7 +799,7 @@ public class DefaultReferenceManager extends BasicPageFilter implements Referenc * not exist or has not been indexed yet. * @since 2.2.33 */ - public Set< String > findReferredBy( final String pageName ) { + @Override public Set< String > findReferredBy( final String pageName ) { return m_unmutableReferredBy.get( getFinalPageName(pageName) ); } @@ -816,7 +817,7 @@ public class DefaultReferenceManager extends BasicPageFilter implements Referenc * does not exist or has not been indexed yet. * @since 2.2.33 */ - public Collection< String > findRefersTo( final String pageName ) { + @Override public Collection< String > findRefersTo( final String pageName ) { return m_unmutableRefersTo.get( getFinalPageName( pageName ) ); } @@ -859,7 +860,7 @@ public class DefaultReferenceManager extends BasicPageFilter implements Referenc * @return A Set of all defined page names that ReferenceManager knows about. * @since 2.3.24 */ - public Set< String > findCreated() { + @Override public Set< String > findCreated() { return new HashSet<>( m_refersTo.keySet() ); } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/render/DefaultRenderingManager.java b/jspwiki-main/src/main/java/org/apache/wiki/render/DefaultRenderingManager.java index c260455..bf7d9d3 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/render/DefaultRenderingManager.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/render/DefaultRenderingManager.java @@ -272,7 +272,7 @@ public class DefaultRenderingManager implements RenderingManager { */ @Override public String getHTML( final WikiContext context, final WikiPage page ) { - final String pagedata = m_engine.getPageManager().getPureText( page.getName(), page.getVersion() ); + final String pagedata = m_engine.getManager( PageManager.class ).getPureText( page.getName(), page.getVersion() ); return textToHTML( context, pagedata ); } @@ -284,8 +284,8 @@ public class DefaultRenderingManager implements RenderingManager { * @param version Version number to fetch * @return HTML-rendered page text. */ - public String getHTML( final String pagename, final int version ) { - final WikiPage page = m_engine.getPageManager().getPage( pagename, version ); + @Override public String getHTML( final String pagename, final int version ) { + final WikiPage page = m_engine.getManager( PageManager.class ).getPage( pagename, version ); final WikiContext context = new WikiContext( m_engine, page ); context.setRequestContext( WikiContext.NONE ); return getHTML( context, page );
