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 5ea8be0fc6358bf8367eacb90113e5d1767c1d85 Author: juanpablo <[email protected]> AuthorDate: Mon Feb 24 17:11:26 2020 +0100 JSPWIKI-120: propagate WikiContext#getEngine() now returns Engine instead of WikiEngine (2) --- .../org/apache/wiki/tags/AdminBeanIteratorTag.java | 20 +-- .../apache/wiki/tags/AttachmentsIteratorTag.java | 9 +- .../main/java/org/apache/wiki/tags/AuthorTag.java | 9 +- .../java/org/apache/wiki/tags/BreadcrumbsTag.java | 97 +++++------ .../java/org/apache/wiki/tags/CalendarTag.java | 9 +- .../java/org/apache/wiki/tags/CheckLockTag.java | 70 +++----- .../java/org/apache/wiki/tags/CheckVersionTag.java | 12 +- .../org/apache/wiki/tags/ContentEncodingTag.java | 7 +- .../main/java/org/apache/wiki/tags/ContentTag.java | 62 ++++--- .../java/org/apache/wiki/tags/DiffLinkTag.java | 15 +- .../java/org/apache/wiki/tags/EditLinkTag.java | 78 ++++----- .../org/apache/wiki/tags/EditorIteratorTag.java | 15 +- .../main/java/org/apache/wiki/tags/EditorTag.java | 61 +++---- .../org/apache/wiki/tags/FeedDiscoveryTag.java | 8 +- .../org/apache/wiki/tags/HasAttachmentsTag.java | 10 +- .../org/apache/wiki/tags/HistoryIteratorTag.java | 9 +- .../main/java/org/apache/wiki/tags/IncludeTag.java | 56 +++---- .../java/org/apache/wiki/tags/InsertDiffTag.java | 14 +- .../java/org/apache/wiki/tags/InsertPageTag.java | 18 +- .../main/java/org/apache/wiki/tags/LinkTag.java | 34 ++-- .../main/java/org/apache/wiki/tags/LinkToTag.java | 31 ++-- .../java/org/apache/wiki/tags/NoSuchPageTag.java | 13 +- .../java/org/apache/wiki/tags/PageInfoLinkTag.java | 9 +- .../java/org/apache/wiki/tags/PageNameTag.java | 8 +- .../java/org/apache/wiki/tags/PageSizeTag.java | 10 +- .../org/apache/wiki/tags/ParentPageNameTag.java | 9 +- .../java/org/apache/wiki/tags/PermissionTag.java | 5 +- .../main/java/org/apache/wiki/tags/PluginTag.java | 35 ++-- .../java/org/apache/wiki/tags/RSSImageLinkTag.java | 50 +++--- .../apache/wiki/tags/SearchResultIteratorTag.java | 48 +++--- .../java/org/apache/wiki/tags/TranslateTag.java | 5 +- .../java/org/apache/wiki/tags/UserCheckTag.java | 2 +- .../java/org/apache/wiki/tags/UserNameTag.java | 43 +++-- .../java/org/apache/wiki/tags/UserProfileTag.java | 181 ++++++++------------- .../java/org/apache/wiki/tags/VariableTag.java | 59 +++---- 35 files changed, 491 insertions(+), 630 deletions(-) diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/AdminBeanIteratorTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/AdminBeanIteratorTag.java index 444dd73..49af855 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/AdminBeanIteratorTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/AdminBeanIteratorTag.java @@ -18,14 +18,13 @@ */ package org.apache.wiki.tags; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Iterator; - import org.apache.wiki.WikiContext; import org.apache.wiki.api.engine.AdminBeanManager; import org.apache.wiki.ui.admin.AdminBean; +import java.util.ArrayList; +import java.util.Collection; + /** * Provides an iterator for all AdminBeans of a given type. * @@ -41,11 +40,11 @@ public class AdminBeanIteratorTag extends IteratorTag { * * @param type Type to set */ - public void setType( String type ) { + public void setType( final String type ) { if (m_wikiContext == null) { m_wikiContext = WikiContext.findContext(pageContext); } - m_type = m_wikiContext.getEngine().getAdminBeanManager().getTypeFromString( type ); + m_type = m_wikiContext.getEngine().getManager( AdminBeanManager.class ).getTypeFromString( type ); } /** @@ -53,11 +52,10 @@ public class AdminBeanIteratorTag extends IteratorTag { */ @Override public void resetIterator() { - AdminBeanManager mgr = m_wikiContext.getEngine().getAdminBeanManager(); - Collection< AdminBean > beans = mgr.getAllBeans(); - ArrayList< AdminBean > typedBeans = new ArrayList< AdminBean >(); - for( Iterator< AdminBean > i = beans.iterator(); i.hasNext(); ) { - AdminBean ab = i.next(); + final AdminBeanManager mgr = m_wikiContext.getEngine().getManager( AdminBeanManager.class ); + final Collection< AdminBean > beans = mgr.getAllBeans(); + final ArrayList< AdminBean > typedBeans = new ArrayList<>(); + for( final AdminBean ab : beans ) { if( ab.getType() == m_type ) { typedBeans.add( ab ); } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/AttachmentsIteratorTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/AttachmentsIteratorTag.java index 41f1c67..1825aca 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/AttachmentsIteratorTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/AttachmentsIteratorTag.java @@ -20,11 +20,12 @@ package org.apache.wiki.tags; import org.apache.log4j.Logger; import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiEngine; import org.apache.wiki.WikiPage; +import org.apache.wiki.api.core.Engine; import org.apache.wiki.api.exceptions.ProviderException; import org.apache.wiki.attachment.Attachment; import org.apache.wiki.attachment.AttachmentManager; +import org.apache.wiki.pages.PageManager; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.PageContext; @@ -54,8 +55,8 @@ public class AttachmentsIteratorTag extends IteratorTag { @Override public final int doStartTag() { m_wikiContext = (WikiContext) pageContext.getAttribute( WikiContext.ATTR_CONTEXT, PageContext.REQUEST_SCOPE ); - final WikiEngine engine = m_wikiContext.getEngine(); - final AttachmentManager mgr = engine.getAttachmentManager(); + final Engine engine = m_wikiContext.getEngine(); + final AttachmentManager mgr = engine.getManager( AttachmentManager.class ); final WikiPage page; page = m_wikiContext.getPage(); @@ -66,7 +67,7 @@ public class AttachmentsIteratorTag extends IteratorTag { } try { - if( page != null && engine.getPageManager().wikiPageExists(page) ) { + if( page != null && engine.getManager( PageManager.class ).wikiPageExists(page) ) { final List< Attachment > atts = mgr.listAttachments( page ); if( atts == null ) { diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/AuthorTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/AuthorTag.java index caac8e3..c278072 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/AuthorTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/AuthorTag.java @@ -18,9 +18,10 @@ */ package org.apache.wiki.tags; -import org.apache.wiki.WikiEngine; import org.apache.wiki.WikiPage; +import org.apache.wiki.api.core.Engine; import org.apache.wiki.i18n.InternationalizationManager; +import org.apache.wiki.pages.PageManager; import org.apache.wiki.parser.MarkupParser; import org.apache.wiki.parser.WikiDocument; import org.apache.wiki.preferences.Preferences; @@ -49,16 +50,16 @@ public class AuthorTag extends WikiTagBase { */ @Override public final int doWikiStartTag() throws IOException { - final WikiEngine engine = m_wikiContext.getEngine(); + final Engine engine = m_wikiContext.getEngine(); final WikiPage page = m_wikiContext.getPage(); String author = page.getAuthor(); if( author != null && author.length() > 0 ) { author = TextUtil.replaceEntities(author); - if( engine.getPageManager().wikiPageExists(author) && !( "plain".equalsIgnoreCase( m_format ) ) ) { + if( engine.getManager( PageManager.class ).wikiPageExists(author) && !( "plain".equalsIgnoreCase( m_format ) ) ) { // FIXME: It's very boring to have to do this. Slow, too. - final RenderingManager mgr = engine.getRenderingManager(); + final RenderingManager mgr = engine.getManager( RenderingManager.class ); final MarkupParser p = mgr.getParser( m_wikiContext, "["+author+"|"+author+"]" ); final WikiDocument d = p.parse(); author = mgr.getHTML( m_wikiContext, d ); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/BreadcrumbsTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/BreadcrumbsTag.java index 0ffa258..a6f44bc 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/BreadcrumbsTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/BreadcrumbsTag.java @@ -20,6 +20,7 @@ package org.apache.wiki.tags; import org.apache.log4j.Logger; import org.apache.wiki.WikiContext; +import org.apache.wiki.pages.PageManager; import org.apache.wiki.util.TextUtil; import javax.servlet.http.HttpSession; @@ -80,7 +81,7 @@ public class BreadcrumbsTag extends WikiTagBase * * @param maxpages The amount. */ - public void setMaxpages(int maxpages) + public void setMaxpages( final int maxpages) { m_maxQueueSize = maxpages + 1; } @@ -100,7 +101,7 @@ public class BreadcrumbsTag extends WikiTagBase * * @param separator A string which separates the page names. */ - public void setSeparator(String separator) + public void setSeparator( final String separator) { m_separator = TextUtil.replaceEntities( separator ); } @@ -109,47 +110,34 @@ public class BreadcrumbsTag extends WikiTagBase * {@inheritDoc} */ @Override - public int doWikiStartTag() throws IOException - { - HttpSession session = pageContext.getSession(); - FixedQueue trail = (FixedQueue) session.getAttribute(BREADCRUMBTRAIL_KEY); - - String page = m_wikiContext.getPage().getName(); + public int doWikiStartTag() throws IOException { + final HttpSession session = pageContext.getSession(); + FixedQueue trail = (FixedQueue) session.getAttribute(BREADCRUMBTRAIL_KEY); + final String page = m_wikiContext.getPage().getName(); - if( trail == null ) - { + if( trail == null ) { trail = new FixedQueue(m_maxQueueSize); } else { // check if page still exists (could be deleted/renamed by another user) for (int i = 0;i<trail.size();i++) { - if (!m_wikiContext.getEngine().getPageManager().wikiPageExists(trail.get(i))) { + if( !m_wikiContext.getEngine().getManager( PageManager.class ).wikiPageExists( trail.get( i ) ) ) { trail.remove(i); } } } - if (m_wikiContext.getRequestContext().equals(WikiContext.VIEW)) - { - if (m_wikiContext.getEngine().getPageManager().wikiPageExists(page)) - { - if (trail.isEmpty()) - { - trail.pushItem(page); - } - else - { - // + if( m_wikiContext.getRequestContext().equals( WikiContext.VIEW ) ) { + if( m_wikiContext.getEngine().getManager( PageManager.class ).wikiPageExists( page ) ) { + if( trail.isEmpty() ) { + trail.pushItem( page ); + } else { // Don't add the page to the queue if the page was just refreshed - // - if (!trail.getLast().equals(page)) - { - trail.pushItem(page); + if( !trail.getLast().equals( page ) ) { + trail.pushItem( page ); } } - } - else - { - log.debug("didn't add page because it doesn't exist: " + page); + } else { + log.debug( "didn't add page because it doesn't exist: " + page ); } } @@ -162,22 +150,21 @@ public class BreadcrumbsTag extends WikiTagBase // FIXME: this code would be much simpler if we could just output the [pagename] and then use the // wiki engine to output the appropriate wikilink - JspWriter out = pageContext.getOut(); - int queueSize = trail.size(); - String linkclass = "wikipage"; + final JspWriter out = pageContext.getOut(); + final int queueSize = trail.size(); + final String linkclass = "wikipage"; String curPage = null; - for( int i = 0; i < queueSize - 1; i++ ) - { + for( int i = 0; i < queueSize - 1; i++ ) { curPage = trail.get(i); //FIXME: I can't figure out how to detect the appropriate jsp page to put here, so I hard coded Wiki.jsp //This breaks when you view an attachment metadata page - out.print("<a class=\"" + linkclass + "\" href=\"" + m_wikiContext.getViewURL(curPage)+ "\">" - + TextUtil.replaceEntities( curPage ) + "</a>"); + out.print( "<a class=\"" + linkclass + "\" href=\"" + m_wikiContext.getViewURL(curPage) + "\">" + + TextUtil.replaceEntities( curPage ) + + "</a>" ); - if( i < queueSize - 2 ) - { + if( i < queueSize - 2 ) { out.print(m_separator); } } @@ -188,23 +175,17 @@ public class BreadcrumbsTag extends WikiTagBase /** * Extends the LinkedList class to provide a fixed-size queue implementation */ - public static class FixedQueue - extends LinkedList<String> - implements Serializable - { + public static class FixedQueue extends LinkedList< String > implements Serializable { private int m_size; private static final long serialVersionUID = 0L; - FixedQueue(int size) - { + FixedQueue( final int size ) { m_size = size; } - String pushItem(String o) - { - add(o); - if( size() > m_size ) - { + String pushItem( final String o ) { + add( o ); + if( size() > m_size ) { return removeFirst(); } @@ -212,17 +193,13 @@ public class BreadcrumbsTag extends WikiTagBase } /** - * @param pageName - * the page to be deleted from the breadcrumb + * @param pageName the page to be deleted from the breadcrumb */ - public void removeItem(String pageName) - { - for (int i = 0; i < size(); i++) - { - String page = get(i); - if (page != null && page.equals(pageName)) - { - remove(page); + public void removeItem( final String pageName ) { + for( int i = 0; i < size(); i++ ) { + final String page = get( i ); + if( page != null && page.equals( pageName ) ) { + remove( page ); } } } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/CalendarTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/CalendarTag.java index cbfd2f0..125e19c 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/CalendarTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/CalendarTag.java @@ -20,8 +20,9 @@ package org.apache.wiki.tags; import org.apache.log4j.Logger; import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiEngine; import org.apache.wiki.WikiPage; +import org.apache.wiki.api.core.Engine; +import org.apache.wiki.pages.PageManager; import org.apache.wiki.util.HttpUtil; import org.apache.wiki.util.TextUtil; @@ -138,13 +139,13 @@ public class CalendarTag extends WikiTagBase { * Returns a link to the given day. */ private String getDayLink( final Calendar day ) { - final WikiEngine engine = m_wikiContext.getEngine(); + final Engine engine = m_wikiContext.getEngine(); final String result; if( m_pageFormat != null ) { final String pagename = m_pageFormat.format( day.getTime() ); - if( engine.getPageManager().wikiPageExists( pagename ) ) { + if( engine.getManager( PageManager.class ).wikiPageExists( pagename ) ) { if( m_urlFormat != null ) { final String url = m_urlFormat.format( day.getTime() ); result = "<td class=\"link\"><a href=\""+url+"\">"+day.get( Calendar.DATE )+"</a></td>"; @@ -240,7 +241,7 @@ public class CalendarTag extends WikiTagBase { */ @Override public final int doWikiStartTag() throws IOException { - final WikiEngine engine = m_wikiContext.getEngine(); + final Engine engine = m_wikiContext.getEngine(); final JspWriter out = pageContext.getOut(); final Calendar cal = Calendar.getInstance(); final Calendar prevCal = Calendar.getInstance(); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/CheckLockTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/CheckLockTag.java index 1dc4675..d6753c7 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/CheckLockTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/CheckLockTag.java @@ -18,15 +18,14 @@ */ package org.apache.wiki.tags; -import java.io.IOException; - -import org.apache.wiki.WikiEngine; import org.apache.wiki.WikiPage; +import org.apache.wiki.api.core.Engine; import org.apache.wiki.api.exceptions.ProviderException; import org.apache.wiki.pages.PageLock; import org.apache.wiki.pages.PageManager; import javax.servlet.http.HttpSession; +import java.io.IOException; /** * Checks whether the page is locked for editing. If the mode matches, @@ -40,13 +39,11 @@ import javax.servlet.http.HttpSession; * * @since 2.0 */ -public class CheckLockTag - extends WikiTagBase -{ +public class CheckLockTag extends WikiTagBase { + private static final long serialVersionUID = 1L; - private static enum LockState - { + private enum LockState { LOCKED, NOTLOCKED, OWNED } @@ -56,8 +53,7 @@ public class CheckLockTag * {@inheritDoc} */ @Override - public void initTag() - { + public void initTag() { super.initTag(); m_mode = LockState.NOTLOCKED; } @@ -67,18 +63,12 @@ public class CheckLockTag * * @param arg A String for the mode. */ - public void setMode( String arg ) - { - if( "locked".equals(arg) ) - { + public void setMode( final String arg ) { + if( "locked".equals( arg ) ) { m_mode = LockState.LOCKED; - } - else if("owned".equals(arg) ) - { + } else if( "owned".equals( arg ) ) { m_mode = LockState.OWNED; - } - else - { + } else { m_mode = LockState.NOTLOCKED; } } @@ -87,31 +77,21 @@ public class CheckLockTag * {@inheritDoc} */ @Override - public final int doWikiStartTag() - throws IOException, - ProviderException - { - WikiEngine engine = m_wikiContext.getEngine(); - WikiPage page = m_wikiContext.getPage(); - - if( page != null ) - { - PageManager mgr = engine.getPageManager(); - - PageLock lock = mgr.getCurrentLock( page ); - - HttpSession session = pageContext.getSession(); - - PageLock userLock = (PageLock) session.getAttribute("lock-"+page.getName()); - - if( (lock != null && m_mode == LockState.LOCKED && lock != userLock ) || - (lock != null && m_mode == LockState.OWNED && lock == userLock ) || - (lock == null && m_mode == LockState.NOTLOCKED) ) - { - String tid = getId(); - - if( tid != null && lock != null ) - { + public final int doWikiStartTag() throws IOException, ProviderException { + final Engine engine = m_wikiContext.getEngine(); + final WikiPage page = m_wikiContext.getPage(); + + if( page != null ) { + final PageManager mgr = engine.getManager( PageManager.class ); + final PageLock lock = mgr.getCurrentLock( page ); + final HttpSession session = pageContext.getSession(); + final PageLock userLock = ( PageLock )session.getAttribute( "lock-" + page.getName() ); + if( ( lock != null && m_mode == LockState.LOCKED && lock != userLock ) || + ( lock != null && m_mode == LockState.OWNED && lock == userLock ) || + ( lock == null && m_mode == LockState.NOTLOCKED ) ) { + + final String tid = getId(); + if( tid != null && lock != null ) { pageContext.setAttribute( tid, lock ); } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/CheckVersionTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/CheckVersionTag.java index c51bf6f..58d4676 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/CheckVersionTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/CheckVersionTag.java @@ -19,8 +19,10 @@ package org.apache.wiki.tags; import org.apache.wiki.InternalWikiException; -import org.apache.wiki.WikiEngine; import org.apache.wiki.WikiPage; +import org.apache.wiki.api.core.Engine; +import org.apache.wiki.pages.PageManager; + /** * Does a version check on the page. Mode is as follows: @@ -75,13 +77,13 @@ public class CheckVersionTag extends WikiTagBase { */ @Override public final int doWikiStartTag() { - final WikiEngine engine = m_wikiContext.getEngine(); - final WikiPage page = m_wikiContext.getPage(); + final Engine engine = m_wikiContext.getEngine(); + final WikiPage page = m_wikiContext.getPage(); - if( page != null && engine.getPageManager().wikiPageExists(page.getName()) ) { + if( page != null && engine.getManager( PageManager.class ).wikiPageExists(page.getName()) ) { final int version = page.getVersion(); final boolean include; - final WikiPage latest = engine.getPageManager().getPage( page.getName() ); + final WikiPage latest = engine.getManager( PageManager.class ).getPage( page.getName() ); switch( m_mode ) { case LATEST : include = (version < 0) || (latest.getVersion() == version); break; diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/ContentEncodingTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/ContentEncodingTag.java index a33a0d3..611e9c8 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/ContentEncodingTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/ContentEncodingTag.java @@ -18,7 +18,7 @@ */ package org.apache.wiki.tags; -import org.apache.wiki.WikiEngine; +import org.apache.wiki.api.core.Engine; import java.io.IOException; @@ -34,9 +34,10 @@ public class ContentEncodingTag extends WikiTagBase { /** * {@inheritDoc} */ - public final int doWikiStartTag() throws IOException { - final WikiEngine engine = m_wikiContext.getEngine(); + @Override public final int doWikiStartTag() throws IOException { + final Engine engine = m_wikiContext.getEngine(); pageContext.getOut().print( engine.getContentEncoding() ); return SKIP_BODY; } + } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/ContentTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/ContentTag.java index 3e4b1f2..033d6d8 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/ContentTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/ContentTag.java @@ -18,16 +18,16 @@ */ package org.apache.wiki.tags; -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; - -import javax.servlet.ServletException; -import javax.servlet.jsp.JspException; - import org.apache.log4j.Logger; import org.apache.wiki.WikiContext; import org.apache.wiki.api.exceptions.ProviderException; +import org.apache.wiki.ui.TemplateManager; + +import javax.servlet.ServletException; +import javax.servlet.jsp.JspException; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; /** @@ -41,14 +41,14 @@ public class ContentTag extends WikiTagBase { private static final long serialVersionUID = 0L; private static final Logger log = Logger.getLogger( ContentTag.class ); - private Map<String, String> m_mappings = new HashMap<String, String>(); + private Map<String, String> m_mappings = new HashMap<>(); /** * Set the template for the VIEW context. * * @param s The template name. */ - public void setView( String s ) + public void setView( final String s ) { m_mappings.put( WikiContext.VIEW, s ); } @@ -58,7 +58,7 @@ public class ContentTag extends WikiTagBase { * * @param s The template name. */ - public void setDiff( String s ) + public void setDiff( final String s ) { m_mappings.put( WikiContext.DIFF, s ); } @@ -68,7 +68,7 @@ public class ContentTag extends WikiTagBase { * * @param s The template name. */ - public void setInfo( String s ) + public void setInfo( final String s ) { m_mappings.put( WikiContext.INFO, s ); } @@ -78,7 +78,7 @@ public class ContentTag extends WikiTagBase { * * @param s The template name. */ - public void setPreview( String s ) + public void setPreview( final String s ) { m_mappings.put( WikiContext.PREVIEW, s ); } @@ -88,7 +88,7 @@ public class ContentTag extends WikiTagBase { * * @param s The template name. */ - public void setConflict( String s ) + public void setConflict( final String s ) { m_mappings.put( WikiContext.CONFLICT, s ); } @@ -98,7 +98,7 @@ public class ContentTag extends WikiTagBase { * * @param s The template name. */ - public void setFind( String s ) + public void setFind( final String s ) { m_mappings.put( WikiContext.FIND, s ); } @@ -108,7 +108,7 @@ public class ContentTag extends WikiTagBase { * * @param s The template name. */ - public void setPrefs( String s ) + public void setPrefs( final String s ) { m_mappings.put( WikiContext.PREFS, s ); } @@ -118,7 +118,7 @@ public class ContentTag extends WikiTagBase { * * @param s The template name. */ - public void setError( String s ) + public void setError( final String s ) { m_mappings.put( WikiContext.ERROR, s ); } @@ -128,7 +128,7 @@ public class ContentTag extends WikiTagBase { * * @param s The template name. */ - public void setEdit( String s ) + public void setEdit( final String s ) { m_mappings.put( WikiContext.EDIT, s ); } @@ -138,7 +138,7 @@ public class ContentTag extends WikiTagBase { * * @param s The template name. */ - public void setComment( String s ) + public void setComment( final String s ) { m_mappings.put( WikiContext.COMMENT, s ); } @@ -146,7 +146,7 @@ public class ContentTag extends WikiTagBase { /** * {@inheritDoc} */ - public final int doWikiStartTag() + @Override public final int doWikiStartTag() throws IOException, ProviderException { @@ -156,39 +156,37 @@ public class ContentTag extends WikiTagBase { /** * {@inheritDoc} */ - public final int doEndTag() + @Override public final int doEndTag() throws JspException { try { // Check the overridden templates first - String requestContext = m_wikiContext.getRequestContext(); + final String requestContext = m_wikiContext.getRequestContext(); String contentTemplate = m_mappings.get( requestContext ); // If not found, use the defaults - if ( contentTemplate == null ) - { + if( contentTemplate == null ) { contentTemplate = m_wikiContext.getContentTemplate(); } - + // If still no, something fishy is going on - if( contentTemplate == null ) - { - throw new JspException("This template uses <wiki:Content/> in an unsupported context: " + requestContext ); + if( contentTemplate == null ) { + throw new JspException( "This template uses <wiki:Content/> in an unsupported context: " + requestContext ); } - String page = m_wikiContext.getEngine().getTemplateManager().findJSP( pageContext, - m_wikiContext.getTemplate(), - contentTemplate ); + final String page = m_wikiContext.getEngine().getManager( TemplateManager.class ).findJSP( pageContext, + m_wikiContext.getTemplate(), + contentTemplate ); pageContext.include( page ); } - catch( ServletException e ) + catch( final ServletException e ) { log.warn( "Including failed, got a servlet exception from sub-page. "+ "Rethrowing the exception to the JSP engine.", e ); throw new JspException( e.getMessage() ); } - catch( IOException e ) + catch( final IOException e ) { log.warn( "I/O exception - probably the connection was broken. "+ "Rethrowing the exception to the JSP engine.", e ); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/DiffLinkTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/DiffLinkTag.java index d660c46..d62f5f6 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/DiffLinkTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/DiffLinkTag.java @@ -19,9 +19,10 @@ package org.apache.wiki.tags; import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiEngine; import org.apache.wiki.WikiPage; import org.apache.wiki.WikiProvider; +import org.apache.wiki.api.core.Engine; +import org.apache.wiki.pages.PageManager; import javax.servlet.jsp.JspWriter; import java.io.IOException; @@ -53,7 +54,7 @@ public class DiffLinkTag extends WikiLinkTag { private String m_version = VER_LATEST; private String m_newVersion = VER_LATEST; - public void initTag() + @Override public void initTag() { super.initTag(); m_version = m_newVersion = VER_LATEST; @@ -79,8 +80,8 @@ public class DiffLinkTag extends WikiLinkTag { m_newVersion = arg; } - public final int doWikiStartTag() throws IOException { - final WikiEngine engine = m_wikiContext.getEngine(); + @Override public final int doWikiStartTag() throws IOException { + final Engine engine = m_wikiContext.getEngine(); String pageName = m_pageName; if( m_pageName == null ) { @@ -97,12 +98,12 @@ public class DiffLinkTag extends WikiLinkTag { int r2; // In case the page does not exist, we fail silently. - if( !engine.getPageManager().wikiPageExists( pageName ) ) { + if( !engine.getManager( PageManager.class ).wikiPageExists( pageName ) ) { return SKIP_BODY; } if( VER_LATEST.equals(getVersion()) ) { - final WikiPage latest = engine.getPageManager().getPage( pageName, WikiProvider.LATEST_VERSION ); + final WikiPage latest = engine.getManager( PageManager.class ).getPage( pageName, WikiProvider.LATEST_VERSION ); if( latest == null ) { // This may occur if matchEnglishPlurals is on, and we access the wrong page name return SKIP_BODY; @@ -118,7 +119,7 @@ public class DiffLinkTag extends WikiLinkTag { } if( VER_LATEST.equals( getNewVersion() ) ) { - final WikiPage latest = engine.getPageManager().getPage( pageName, WikiProvider.LATEST_VERSION ); + final WikiPage latest = engine.getManager( PageManager.class ).getPage( pageName, WikiProvider.LATEST_VERSION ); r2 = latest.getVersion(); } else if( VER_PREVIOUS.equals( getNewVersion() ) ) { r2 = m_wikiContext.getPage().getVersion() - 1; diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/EditLinkTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/EditLinkTag.java index 8bbbd32..62622e1 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/EditLinkTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/EditLinkTag.java @@ -19,8 +19,9 @@ package org.apache.wiki.tags; import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiEngine; import org.apache.wiki.WikiPage; +import org.apache.wiki.api.core.Engine; +import org.apache.wiki.pages.PageManager; import javax.servlet.jsp.JspWriter; import java.io.IOException; @@ -40,100 +41,82 @@ import java.io.IOException; * * @since 2.0 */ -public class EditLinkTag - extends WikiLinkTag -{ +public class EditLinkTag extends WikiLinkTag { + private static final long serialVersionUID = 0L; public String m_version = null; public String m_title = ""; public String m_accesskey = ""; - public void initTag() - { + @Override + public void initTag() { super.initTag(); m_version = null; } - public void setVersion( String vers ) + public void setVersion( final String vers ) { m_version = vers; } - public void setTitle( String title ) + public void setTitle( final String title ) { m_title = title; } - public void setAccesskey( String access ) + public void setAccesskey( final String access ) { m_accesskey = access; } - public final int doWikiStartTag() - throws IOException - { - WikiEngine engine = m_wikiContext.getEngine(); - WikiPage page = null; - String versionString = ""; - String pageName = null; + @Override + public final int doWikiStartTag() throws IOException { + final Engine engine = m_wikiContext.getEngine(); + WikiPage page = null; + String versionString = ""; + final String pageName; - // // Determine the page and the link. - // - if( m_pageName == null ) - { + if( m_pageName == null ) { page = m_wikiContext.getPage(); - if( page == null ) - { + if( page == null ) { // You can't call this on the page itself anyways. return SKIP_BODY; } pageName = page.getName(); - } - else - { + } else { pageName = m_pageName; } // // Determine the latest version, if the version attribute is "this". // - if( m_version != null ) - { - if( "this".equalsIgnoreCase(m_version) ) - { - if( page == null ) - { + if( m_version != null ) { + if( "this".equalsIgnoreCase( m_version ) ) { + if( page == null ) { // No page, so go fetch according to page name. - page = engine.getPageManager().getPage( m_pageName ); + page = engine.getManager( PageManager.class ).getPage( m_pageName ); } - - if( page != null ) - { - versionString = "version="+page.getVersion(); + + if( page != null ) { + versionString = "version=" + page.getVersion(); } - } - else - { - versionString = "version="+m_version; + } else { + versionString = "version=" + m_version; } } // - // Finally, print out the correct link, according to what - // user commanded. + // Finally, print out the correct link, according to what user commanded. // - JspWriter out = pageContext.getOut(); - - switch( m_format ) - { + final JspWriter out = pageContext.getOut(); + switch( m_format ) { case ANCHOR: out.print("<a href=\""+m_wikiContext.getURL(WikiContext.EDIT,pageName, versionString) +"\" accesskey=\"" + m_accesskey + "\" title=\"" + m_title + "\">"); break; - case URL: out.print( m_wikiContext.getURL(WikiContext.EDIT,pageName,versionString) ); break; @@ -141,4 +124,5 @@ public class EditLinkTag return EVAL_BODY_INCLUDE; } + } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/EditorIteratorTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/EditorIteratorTag.java index 690fe91..d1f6882 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/EditorIteratorTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/EditorIteratorTag.java @@ -18,9 +18,8 @@ */ package org.apache.wiki.tags; -import org.apache.log4j.Logger; import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiEngine; +import org.apache.wiki.api.core.Engine; import org.apache.wiki.ui.Editor; import org.apache.wiki.ui.EditorManager; @@ -36,20 +35,20 @@ import java.util.Collection; public class EditorIteratorTag extends IteratorTag { private static final long serialVersionUID = 0L; - private static final Logger log = Logger.getLogger( EditorIteratorTag.class ); - public final int doStartTag() { + @Override public final int doStartTag() { m_wikiContext = WikiContext.findContext(pageContext); - final WikiEngine engine = m_wikiContext.getEngine(); - final EditorManager mgr = engine.getEditorManager(); + final Engine engine = m_wikiContext.getEngine(); + final EditorManager mgr = engine.getManager( EditorManager.class ); final String[] editorList = mgr.getEditorList(); final Collection< Editor > editors = new ArrayList<>(); - for ( int i = 0; i < editorList.length; i++ ) { - editors.add( new Editor( m_wikiContext, editorList[ i ] ) ); + for( final String editor : editorList ) { + editors.add( new Editor( m_wikiContext, editor ) ); } setList( editors ); return super.doStartTag(); } + } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/EditorTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/EditorTag.java index 9866d32..095f847 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/EditorTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/EditorTag.java @@ -18,14 +18,14 @@ */ package org.apache.wiki.tags; -import java.io.IOException; +import org.apache.log4j.Logger; +import org.apache.wiki.api.core.Engine; +import org.apache.wiki.ui.EditorManager; +import org.apache.wiki.ui.TemplateManager; import javax.servlet.ServletException; import javax.servlet.jsp.JspException; - -import org.apache.log4j.Logger; -import org.apache.wiki.WikiEngine; -import org.apache.wiki.ui.EditorManager; +import java.io.IOException; /** @@ -42,45 +42,34 @@ public class EditorTag extends WikiBodyTag { private static final long serialVersionUID = 0L; private static final Logger log = Logger.getLogger( EditorTag.class ); - public final int doWikiStartTag() - throws IOException - { + @Override + public final int doWikiStartTag() throws IOException { return SKIP_BODY; } - public int doEndTag() throws JspException - { - WikiEngine engine = m_wikiContext.getEngine(); - EditorManager mgr = engine.getEditorManager(); - - String editorPath = mgr.getEditorPath( m_wikiContext ); - - try - { - String page = engine.getTemplateManager().findJSP( pageContext, - m_wikiContext.getTemplate(), - editorPath ); - - if( page == null ) - { + @Override + public int doEndTag() throws JspException { + final Engine engine = m_wikiContext.getEngine(); + final EditorManager mgr = engine.getManager( EditorManager.class ); + final String editorPath = mgr.getEditorPath( m_wikiContext ); + + try { + final String page = engine.getManager( TemplateManager.class ).findJSP( pageContext, m_wikiContext.getTemplate(), editorPath ); + + if( page == null ) { //FIXME: should be I18N ... - pageContext.getOut().println("Unable to find editor '"+editorPath+"'"); - } - else - { + pageContext.getOut().println( "Unable to find editor '" + editorPath + "'" ); + } else { pageContext.include( page ); } - } - catch( ServletException e ) - { - log.error("Failed to include editor",e); - throw new JspException("Failed to include editor: "+e.getMessage() ); - } - catch( IOException e ) - { - throw new JspException("Could not print Editor tag: "+e.getMessage() ); + } catch( final ServletException e ) { + log.error( "Failed to include editor", e ); + throw new JspException( "Failed to include editor: " + e.getMessage() ); + } catch( final IOException e ) { + throw new JspException( "Could not print Editor tag: " + e.getMessage() ); } return EVAL_PAGE; } + } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/FeedDiscoveryTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/FeedDiscoveryTag.java index 2acff88..3dd20a5 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/FeedDiscoveryTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/FeedDiscoveryTag.java @@ -19,8 +19,8 @@ package org.apache.wiki.tags; import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiEngine; import org.apache.wiki.WikiPage; +import org.apache.wiki.api.core.Engine; import org.apache.wiki.plugin.WeblogPlugin; import org.apache.wiki.rss.Feed; import org.apache.wiki.util.TextUtil; @@ -36,9 +36,9 @@ public class FeedDiscoveryTag extends WikiTagBase { private static final long serialVersionUID = 0L; - public final int doWikiStartTag() throws IOException { - final WikiEngine engine = m_wikiContext.getEngine(); - final WikiPage page = m_wikiContext.getPage(); + @Override public final int doWikiStartTag() throws IOException { + final Engine engine = m_wikiContext.getEngine(); + final WikiPage page = m_wikiContext.getPage(); final String encodedName = engine.encodeName( page.getName() ); final String rssURL = engine.getGlobalRSSURL(); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/HasAttachmentsTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/HasAttachmentsTag.java index 0192b7d..1d58bbd 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/HasAttachmentsTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/HasAttachmentsTag.java @@ -19,10 +19,11 @@ package org.apache.wiki.tags; import org.apache.log4j.Logger; -import org.apache.wiki.WikiEngine; import org.apache.wiki.WikiPage; +import org.apache.wiki.api.core.Engine; import org.apache.wiki.api.exceptions.ProviderException; import org.apache.wiki.attachment.AttachmentManager; +import org.apache.wiki.pages.PageManager; /** @@ -35,13 +36,14 @@ public class HasAttachmentsTag extends WikiTagBase { private static final long serialVersionUID = 0L; private static final Logger log = Logger.getLogger( HasAttachmentsTag.class ); + @Override public final int doWikiStartTag() { - final WikiEngine engine = m_wikiContext.getEngine(); + final Engine engine = m_wikiContext.getEngine(); final WikiPage page = m_wikiContext.getPage(); - final AttachmentManager mgr = engine.getAttachmentManager(); + final AttachmentManager mgr = engine.getManager( AttachmentManager.class ); try { - if( page != null && engine.getPageManager().wikiPageExists(page) && mgr.attachmentsEnabled() ) { + if( page != null && engine.getManager( PageManager.class ).wikiPageExists(page) && mgr.attachmentsEnabled() ) { if( mgr.hasAttachments(page) ) { return EVAL_BODY_INCLUDE; } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/HistoryIteratorTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/HistoryIteratorTag.java index 6686c54..0d674ae 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/HistoryIteratorTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/HistoryIteratorTag.java @@ -20,9 +20,10 @@ package org.apache.wiki.tags; import org.apache.log4j.Logger; import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiEngine; import org.apache.wiki.WikiPage; +import org.apache.wiki.api.core.Engine; import org.apache.wiki.api.exceptions.ProviderException; +import org.apache.wiki.pages.PageManager; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.PageContext; @@ -48,12 +49,12 @@ public class HistoryIteratorTag extends IteratorTag { @Override public final int doStartTag() { m_wikiContext = (WikiContext) pageContext.getAttribute( WikiContext.ATTR_CONTEXT, PageContext.REQUEST_SCOPE ); - final WikiEngine engine = m_wikiContext.getEngine(); + final Engine engine = m_wikiContext.getEngine(); final WikiPage page = m_wikiContext.getPage(); try { - if( page != null && engine.getPageManager().wikiPageExists( page ) ) { - final List< WikiPage > versions = engine.getPageManager().getVersionHistory( page.getName() ); + if( page != null && engine.getManager( PageManager.class ).wikiPageExists( page ) ) { + final List< WikiPage > versions = engine.getManager( PageManager.class ).getVersionHistory( page.getName() ); if( versions == null ) { // There is no history diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/IncludeTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/IncludeTag.java index 7abb30a..8332c63 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/IncludeTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/IncludeTag.java @@ -18,15 +18,15 @@ */ package org.apache.wiki.tags; -import java.io.IOException; - -import javax.servlet.jsp.JspException; -import javax.servlet.ServletException; - import org.apache.log4j.Logger; import org.apache.wiki.api.exceptions.ProviderException; +import org.apache.wiki.ui.TemplateManager; import org.apache.wiki.util.TextUtil; +import javax.servlet.ServletException; +import javax.servlet.jsp.JspException; +import java.io.IOException; + /** * Includes an another JSP page, making sure that we actually pass * the WikiContext correctly. @@ -41,13 +41,12 @@ public class IncludeTag extends WikiTagBase { protected String m_page; - public void initTag() - { + @Override public void initTag() { super.initTag(); m_page = null; } - public void setPage( String page ) + public void setPage( final String page ) { m_page = page; } @@ -57,7 +56,7 @@ public class IncludeTag extends WikiTagBase { return m_page; } - public final int doWikiStartTag() + @Override public final int doWikiStartTag() throws IOException, ProviderException { @@ -66,37 +65,26 @@ public class IncludeTag extends WikiTagBase { return SKIP_BODY; } - public final int doEndTag() - throws JspException - { - try - { - String page = m_wikiContext.getEngine().getTemplateManager().findJSP( pageContext, - m_wikiContext.getTemplate(), - m_page ); - - if( page == null ) - { - pageContext.getOut().println("No template file called '"+TextUtil.replaceEntities(m_page)+"'"); - } - else - { + @Override public final int doEndTag() throws JspException { + try { + final String page = m_wikiContext.getEngine().getManager( TemplateManager.class ).findJSP( pageContext, + m_wikiContext.getTemplate(), + m_page ); + + if( page == null ) { + pageContext.getOut().println( "No template file called '" + TextUtil.replaceEntities( m_page ) + "'" ); + } else { pageContext.include( page ); } - } - catch( ServletException e ) - { - log.warn( "Including failed, got a servlet exception from sub-page. "+ - "Rethrowing the exception to the JSP engine.", e ); + } catch( final ServletException e ) { + log.warn( "Including failed, got a servlet exception from sub-page. Rethrowing the exception to the JSP engine.", e ); throw new JspException( e.getMessage() ); - } - catch( IOException e ) - { - log.warn( "I/O exception - probably the connection was broken. "+ - "Rethrowing the exception to the JSP engine.", e ); + } catch( final IOException e ) { + log.warn( "I/O exception - probably the connection was broken. Rethrowing the exception to the JSP engine.", e ); throw new JspException( e.getMessage() ); } return EVAL_PAGE; } + } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/InsertDiffTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/InsertDiffTag.java index 68152f6..7865639 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/InsertDiffTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/InsertDiffTag.java @@ -20,7 +20,9 @@ package org.apache.wiki.tags; import org.apache.log4j.Logger; import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiEngine; +import org.apache.wiki.api.core.Engine; +import org.apache.wiki.diff.DifferenceManager; +import org.apache.wiki.pages.PageManager; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.PageContext; @@ -51,7 +53,7 @@ public class InsertDiffTag extends WikiTagBase { protected String m_pageName; /** {@inheritDoc} */ - public void initTag() { + @Override public void initTag() { super.initTag(); m_pageName = null; } @@ -75,15 +77,15 @@ public class InsertDiffTag extends WikiTagBase { } /** {@inheritDoc} */ - public final int doWikiStartTag() throws IOException { - final WikiEngine engine = m_wikiContext.getEngine(); + @Override public final int doWikiStartTag() throws IOException { + final Engine engine = m_wikiContext.getEngine(); final WikiContext ctx; if( m_pageName == null ) { ctx = m_wikiContext; } else { ctx = ( WikiContext )m_wikiContext.clone(); - ctx.setPage( engine.getPageManager().getPage(m_pageName) ); + ctx.setPage( engine.getManager( PageManager.class ).getPage(m_pageName) ); } final Integer vernew = ( Integer )pageContext.getAttribute( ATTR_NEWVERSION, PageContext.REQUEST_SCOPE ); @@ -93,7 +95,7 @@ public class InsertDiffTag extends WikiTagBase { if( ctx.getPage() != null ) { final JspWriter out = pageContext.getOut(); - final String diff = engine.getDifferenceManager().getDiff( ctx, vernew.intValue(), verold.intValue() ); + final String diff = engine.getManager( DifferenceManager.class ).getDiff( ctx, vernew.intValue(), verold.intValue() ); if( diff.length() == 0 ) { return EVAL_BODY_INCLUDE; diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/InsertPageTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/InsertPageTag.java index e932cdd..1497f93 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/InsertPageTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/InsertPageTag.java @@ -19,9 +19,11 @@ package org.apache.wiki.tags; import org.apache.log4j.Logger; -import org.apache.wiki.WikiEngine; import org.apache.wiki.WikiPage; +import org.apache.wiki.api.core.Engine; import org.apache.wiki.api.exceptions.ProviderException; +import org.apache.wiki.pages.PageManager; +import org.apache.wiki.render.RenderingManager; import javax.servlet.jsp.JspWriter; import java.io.IOException; @@ -58,7 +60,7 @@ public class InsertPageTag extends WikiTagBase { protected String m_pageName = null; private int m_mode = HTML; - public void initTag() { + @Override public void initTag() { super.initTag(); m_pageName = null; m_mode = HTML; @@ -82,8 +84,8 @@ public class InsertPageTag extends WikiTagBase { } } - public final int doWikiStartTag() throws IOException, ProviderException { - final WikiEngine engine = m_wikiContext.getEngine(); + @Override public final int doWikiStartTag() throws IOException, ProviderException { + final Engine engine = m_wikiContext.getEngine(); final WikiPage insertedPage; // @@ -94,9 +96,9 @@ public class InsertPageTag extends WikiTagBase { if( m_pageName == null ) { insertedPage = m_wikiContext.getPage(); - if( !engine.getPageManager().wikiPageExists(insertedPage) ) return SKIP_BODY; + if( !engine.getManager( PageManager.class ).wikiPageExists(insertedPage) ) return SKIP_BODY; } else { - insertedPage = engine.getPageManager().getPage( m_pageName ); + insertedPage = engine.getManager( PageManager.class ).getPage( m_pageName ); } if( insertedPage != null ) { @@ -109,8 +111,8 @@ public class InsertPageTag extends WikiTagBase { final WikiPage oldPage = m_wikiContext.setRealPage( insertedPage ); switch( m_mode ) { - case HTML: out.print( engine.getRenderingManager().getHTML( m_wikiContext, insertedPage ) ); break; - case PLAIN: out.print( engine.getPageManager().getText( insertedPage ) ); break; + case HTML: out.print( engine.getManager( RenderingManager.class ).getHTML( m_wikiContext, insertedPage ) ); break; + case PLAIN: out.print( engine.getManager( PageManager.class ).getText( insertedPage ) ); break; } m_wikiContext.setRealPage( oldPage ); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/LinkTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/LinkTag.java index e464f59..c4609ed 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/LinkTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/LinkTag.java @@ -20,11 +20,13 @@ package org.apache.wiki.tags; import org.apache.log4j.Logger; import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiEngine; import org.apache.wiki.WikiPage; import org.apache.wiki.WikiProvider; +import org.apache.wiki.api.core.Engine; import org.apache.wiki.api.exceptions.ProviderException; import org.apache.wiki.attachment.Attachment; +import org.apache.wiki.attachment.AttachmentManager; +import org.apache.wiki.pages.PageManager; import org.apache.wiki.parser.LinkParsingOperations; import org.apache.wiki.parser.MarkupParser; import org.apache.wiki.util.TextUtil; @@ -67,7 +69,7 @@ public class LinkTag extends WikiLinkTag implements ParamHandler, BodyTag { private BodyContent m_bodyContent; - public void initTag() { + @Override public void initTag() { super.initTag(); m_version = m_cssClass = m_style = m_title = m_target = m_compareToVersion = m_rel = m_jsp = m_ref = m_accesskey = m_templatefile = null; m_context = WikiContext.VIEW; @@ -147,7 +149,7 @@ public class LinkTag extends WikiLinkTag implements ParamHandler, BodyTag { /** * Support for ParamTag supplied parameters in body. */ - public void setContainedParameter( final String name, final String value ) { + @Override public void setContainedParameter( final String name, final String value ) { if( name != null ) { if( m_containedParams == null ) { m_containedParams = new HashMap<>(); @@ -165,7 +167,7 @@ public class LinkTag extends WikiLinkTag implements ParamHandler, BodyTag { */ private String figureOutURL() throws ProviderException { String url = null; - final WikiEngine engine = m_wikiContext.getEngine(); + final Engine engine = m_wikiContext.getEngine(); if( m_pageName == null ) { final WikiPage page = m_wikiContext.getPage(); @@ -206,7 +208,7 @@ public class LinkTag extends WikiLinkTag implements ParamHandler, BodyTag { // // Internal wiki link, but is it an attachment link? // - final WikiPage p = engine.getPageManager().getPage( m_pageName ); + final WikiPage p = engine.getManager( PageManager.class ).getPage( m_pageName ); if( p instanceof Attachment ) { url = m_wikiContext.getURL( WikiContext.ATTACH, m_pageName ); @@ -233,7 +235,7 @@ public class LinkTag extends WikiLinkTag implements ParamHandler, BodyTag { } } } else if( m_pageName != null && m_pageName.length() > 0 ) { - final WikiPage p = engine.getPageManager().getPage( m_pageName ); + final WikiPage p = engine.getManager( PageManager.class ).getPage( m_pageName ); String parms = (m_version != null) ? "version="+getVersion() : null; @@ -286,14 +288,14 @@ public class LinkTag extends WikiLinkTag implements ParamHandler, BodyTag { } private String makeBasicURL( final String context, final String page, String parms ) { - final WikiEngine engine = m_wikiContext.getEngine(); + final Engine engine = m_wikiContext.getEngine(); if( context.equals( WikiContext.DIFF ) ) { int r1; int r2; if( DiffLinkTag.VER_LATEST.equals( getVersion() ) ) { - final WikiPage latest = engine.getPageManager().getPage( page, WikiProvider.LATEST_VERSION ); + final WikiPage latest = engine.getManager( PageManager.class ).getPage( page, WikiProvider.LATEST_VERSION ); r1 = latest.getVersion(); } else if( DiffLinkTag.VER_PREVIOUS.equals(getVersion()) ) { @@ -306,7 +308,7 @@ public class LinkTag extends WikiLinkTag implements ParamHandler, BodyTag { } if( DiffLinkTag.VER_LATEST.equals(m_compareToVersion) ) { - final WikiPage latest = engine.getPageManager().getPage( page, WikiProvider.LATEST_VERSION ); + final WikiPage latest = engine.getManager( PageManager.class ).getPage( page, WikiProvider.LATEST_VERSION ); r2 = latest.getVersion(); } else if( DiffLinkTag.VER_PREVIOUS.equals(m_compareToVersion) ) { @@ -324,13 +326,13 @@ public class LinkTag extends WikiLinkTag implements ParamHandler, BodyTag { return engine.getURL( m_context, m_pageName, parms ); } - public int doWikiStartTag() throws Exception { + @Override public int doWikiStartTag() throws Exception { return EVAL_BODY_BUFFERED; } - public int doEndTag() { + @Override public int doEndTag() { try { - final WikiEngine engine = m_wikiContext.getEngine(); + final Engine engine = m_wikiContext.getEngine(); final JspWriter out = pageContext.getOut(); final String url = figureOutURL(); @@ -344,8 +346,8 @@ public class LinkTag extends WikiLinkTag implements ParamHandler, BodyTag { sb.append( (m_accesskey != null) ? "accesskey=\""+m_accesskey+"\" " : "" ); sb.append( (m_tabindex != null) ? "tabindex=\""+m_tabindex+"\" " : "" ); - if( engine.getPageManager().getPage( m_pageName ) instanceof Attachment ) { - sb.append( engine.getAttachmentManager().forceDownload( m_pageName ) ? "download " : "" ); + if( engine.getManager( PageManager.class ).getPage( m_pageName ) instanceof Attachment ) { + sb.append( engine.getManager( AttachmentManager.class ).forceDownload( m_pageName ) ? "download " : "" ); } switch( m_format ) { @@ -374,12 +376,12 @@ public class LinkTag extends WikiLinkTag implements ParamHandler, BodyTag { return EVAL_PAGE; } - public void setBodyContent( final BodyContent bc ) + @Override public void setBodyContent( final BodyContent bc ) { m_bodyContent = bc; } - public void doInitBody() { + @Override public void doInitBody() { } } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/LinkToTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/LinkToTag.java index 8599189..8e48cbc 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/LinkToTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/LinkToTag.java @@ -18,13 +18,14 @@ */ package org.apache.wiki.tags; -import java.io.IOException; - -import javax.servlet.jsp.JspWriter; - import org.apache.wiki.WikiContext; import org.apache.wiki.WikiPage; import org.apache.wiki.attachment.Attachment; +import org.apache.wiki.attachment.AttachmentManager; + +import javax.servlet.jsp.JspWriter; +import java.io.IOException; + /** * Writes a link to a Wiki page. Body of the link becomes the actual text. @@ -50,7 +51,7 @@ public class LinkToTag public String m_title = ""; public String m_accesskey = ""; - public void initTag() + @Override public void initTag() { super.initTag(); m_version = null; @@ -61,23 +62,23 @@ public class LinkToTag return m_version; } - public void setVersion( String arg ) + public void setVersion( final String arg ) { m_version = arg; } - public void setTitle( String title ) + public void setTitle( final String title ) { m_title = title; } - public void setAccesskey( String access ) + public void setAccesskey( final String access ) { m_accesskey = access; } - public int doWikiStartTag() + @Override public int doWikiStartTag() throws IOException { String pageName = m_pageName; @@ -85,7 +86,7 @@ public class LinkToTag if( m_pageName == null ) { - WikiPage p = m_wikiContext.getPage(); + final WikiPage p = m_wikiContext.getPage(); if( p != null ) { @@ -99,9 +100,9 @@ public class LinkToTag } } - JspWriter out = pageContext.getOut(); - String url; - String linkclass; + final JspWriter out = pageContext.getOut(); + final String url; + final String linkclass; String forceDownload = ""; if( isattachment ) @@ -110,7 +111,7 @@ public class LinkToTag (getVersion() != null) ? "version="+getVersion() : null ); linkclass = "attachment"; - if( m_wikiContext.getEngine().getAttachmentManager().forceDownload( pageName ) ) + if( m_wikiContext.getEngine().getManager( AttachmentManager.class ).forceDownload( pageName ) ) { forceDownload = "download "; } @@ -118,7 +119,7 @@ public class LinkToTag } else { - StringBuilder params = new StringBuilder(); + final StringBuilder params = new StringBuilder(); if( getVersion() != null ) params.append( "version="+getVersion() ); if( getTemplate() != null ) params.append( (params.length()>0?"&":"") + "skin="+getTemplate() ); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/NoSuchPageTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/NoSuchPageTag.java index 40bfdb0..adbfacc 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/NoSuchPageTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/NoSuchPageTag.java @@ -18,9 +18,10 @@ */ package org.apache.wiki.tags; -import org.apache.wiki.WikiEngine; import org.apache.wiki.WikiPage; +import org.apache.wiki.api.core.Engine; import org.apache.wiki.api.exceptions.ProviderException; +import org.apache.wiki.pages.PageManager; import java.io.IOException; @@ -35,7 +36,7 @@ public class NoSuchPageTag extends WikiTagBase { private String m_pageName; - public void initTag() { + @Override public void initTag() { super.initTag(); m_pageName = null; } @@ -50,17 +51,17 @@ public class NoSuchPageTag extends WikiTagBase { return m_pageName; } - public int doWikiStartTag() throws IOException, ProviderException { - final WikiEngine engine = m_wikiContext.getEngine(); + @Override public int doWikiStartTag() throws IOException, ProviderException { + final Engine engine = m_wikiContext.getEngine(); final WikiPage page; if( m_pageName == null ) { page = m_wikiContext.getPage(); } else { - page = engine.getPageManager().getPage( m_pageName ); + page = engine.getManager( PageManager.class ).getPage( m_pageName ); } - if( page != null && engine.getPageManager().wikiPageExists( page.getName(), page.getVersion() ) ) { + if( page != null && engine.getManager( PageManager.class ).wikiPageExists( page.getName(), page.getVersion() ) ) { return SKIP_BODY; } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/PageInfoLinkTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/PageInfoLinkTag.java index bcc170b..1ecbd73 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/PageInfoLinkTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/PageInfoLinkTag.java @@ -19,8 +19,9 @@ package org.apache.wiki.tags; import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiEngine; import org.apache.wiki.WikiPage; +import org.apache.wiki.api.core.Engine; +import org.apache.wiki.pages.PageManager; import javax.servlet.jsp.JspWriter; import java.io.IOException; @@ -54,8 +55,8 @@ public class PageInfoLinkTag extends WikiLinkTag { m_accesskey = access; } - public final int doWikiStartTag() throws IOException { - final WikiEngine engine = m_wikiContext.getEngine(); + @Override public final int doWikiStartTag() throws IOException { + final Engine engine = m_wikiContext.getEngine(); String pageName = m_pageName; if( m_pageName == null ) { @@ -67,7 +68,7 @@ public class PageInfoLinkTag extends WikiLinkTag { } } - if( engine.getPageManager().wikiPageExists(pageName) ) { + if( engine.getManager( PageManager.class ).wikiPageExists(pageName) ) { final JspWriter out = pageContext.getOut(); final String url = m_wikiContext.getURL( WikiContext.INFO, pageName ); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/PageNameTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/PageNameTag.java index 4372b04..7841a8c 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/PageNameTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/PageNameTag.java @@ -18,9 +18,10 @@ */ package org.apache.wiki.tags; -import org.apache.wiki.WikiEngine; import org.apache.wiki.WikiPage; +import org.apache.wiki.api.core.Engine; import org.apache.wiki.attachment.Attachment; +import org.apache.wiki.render.RenderingManager; import org.apache.wiki.util.TextUtil; import java.io.IOException; @@ -34,15 +35,16 @@ public class PageNameTag extends WikiTagBase { private static final long serialVersionUID = 0L; + @Override public final int doWikiStartTag() throws IOException { - final WikiEngine engine = m_wikiContext.getEngine(); + final Engine engine = m_wikiContext.getEngine(); final WikiPage page = m_wikiContext.getPage(); if( page != null ) { if( page instanceof Attachment ) { pageContext.getOut().print( TextUtil.replaceEntities( ((Attachment)page).getFileName() ) ); } else { - pageContext.getOut().print( engine.getRenderingManager().beautifyTitle( m_wikiContext.getName() ) ); + pageContext.getOut().print( engine.getManager( RenderingManager.class ).beautifyTitle( m_wikiContext.getName() ) ); } } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/PageSizeTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/PageSizeTag.java index 0e5764f..7dba42c 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/PageSizeTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/PageSizeTag.java @@ -19,9 +19,10 @@ package org.apache.wiki.tags; import org.apache.log4j.Logger; -import org.apache.wiki.WikiEngine; import org.apache.wiki.WikiPage; +import org.apache.wiki.api.core.Engine; import org.apache.wiki.api.exceptions.ProviderException; +import org.apache.wiki.pages.PageManager; import java.io.IOException; @@ -35,16 +36,17 @@ public class PageSizeTag extends WikiTagBase { private static final long serialVersionUID = 0L; private static final Logger log = Logger.getLogger( PageSizeTag.class ); + @Override public final int doWikiStartTag() throws IOException { - final WikiEngine engine = m_wikiContext.getEngine(); + final Engine engine = m_wikiContext.getEngine(); final WikiPage page = m_wikiContext.getPage(); try { if( page != null ) { long size = page.getSize(); - if( size == -1 && engine.getPageManager().wikiPageExists( page ) ) { // should never happen with attachments - size = engine.getPageManager().getPureText( page.getName(), page.getVersion() ).length(); + if( size == -1 && engine.getManager( PageManager.class ).wikiPageExists( page ) ) { // should never happen with attachments + size = engine.getManager( PageManager.class ).getPureText( page.getName(), page.getVersion() ).length(); page.setSize( size ); } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/ParentPageNameTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/ParentPageNameTag.java index 6f32d83..44cd9d8 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/ParentPageNameTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/ParentPageNameTag.java @@ -18,9 +18,10 @@ */ package org.apache.wiki.tags; -import org.apache.wiki.WikiEngine; import org.apache.wiki.WikiPage; +import org.apache.wiki.api.core.Engine; import org.apache.wiki.attachment.Attachment; +import org.apache.wiki.render.RenderingManager; import java.io.IOException; @@ -38,12 +39,12 @@ public class ParentPageNameTag extends WikiTagBase { */ @Override public final int doWikiStartTag() throws IOException { - final WikiEngine engine = m_wikiContext.getEngine(); + final Engine engine = m_wikiContext.getEngine(); final WikiPage page = m_wikiContext.getPage(); if( page != null ) { if( page instanceof Attachment ) { - pageContext.getOut().print( engine.getRenderingManager().beautifyTitle( ((Attachment)page).getParentName()) ); + pageContext.getOut().print( engine.getManager( RenderingManager.class ).beautifyTitle( ((Attachment)page).getParentName()) ); } else { String name = page.getName(); final int entrystart = name.indexOf("_blogentry_"); @@ -56,7 +57,7 @@ public class ParentPageNameTag extends WikiTagBase { name = name.substring( 0, commentstart ); } - pageContext.getOut().print( engine.getRenderingManager().beautifyTitle(name) ); + pageContext.getOut().print( engine.getManager( RenderingManager.class ).beautifyTitle(name) ); } } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/PermissionTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/PermissionTag.java index a6a246b..e3f6c3d 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/PermissionTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/PermissionTag.java @@ -28,6 +28,7 @@ import org.apache.wiki.auth.permissions.AllPermission; import org.apache.wiki.auth.permissions.GroupPermission; import org.apache.wiki.auth.permissions.PermissionFactory; import org.apache.wiki.auth.permissions.WikiPermission; +import org.apache.wiki.pages.PageManager; import org.apache.wiki.ui.Command; import org.apache.wiki.ui.GroupCommand; @@ -104,7 +105,7 @@ public class PermissionTag extends WikiTagBase { private boolean checkPermission( final String permission ) { final WikiSession session = m_wikiContext.getWikiSession(); final WikiPage page = m_wikiContext.getPage(); - final AuthorizationManager mgr = m_wikiContext.getEngine().getAuthorizationManager(); + final AuthorizationManager mgr = m_wikiContext.getEngine().getManager( AuthorizationManager.class ); boolean gotPermission = false; if ( CREATE_GROUPS.equals( permission ) || CREATE_PAGES.equals( permission ) || EDIT_PREFERENCES.equals( permission ) || EDIT_PROFILE.equals( permission ) || LOGIN.equals( permission ) ) { @@ -130,7 +131,7 @@ public class PermissionTag extends WikiTagBase { // Edit tag also checks that we're not trying to edit an old version: they cannot be edited. // if( EDIT.equals(permission) ) { - final WikiPage latest = m_wikiContext.getEngine().getPageManager().getPage( page.getName() ); + final WikiPage latest = m_wikiContext.getEngine().getManager( PageManager.class ).getPage( page.getName() ); if( page.getVersion() != WikiProvider.LATEST_VERSION && latest.getVersion() != page.getVersion() ) { return false; } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/PluginTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/PluginTag.java index 55d560f..c971d71 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/PluginTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/PluginTag.java @@ -18,17 +18,16 @@ */ package org.apache.wiki.tags; -import java.io.IOException; -import java.util.Map; - -import javax.servlet.jsp.JspException; -import javax.servlet.jsp.tagext.BodyContent; - import org.apache.log4j.Logger; -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 javax.servlet.jsp.JspException; +import javax.servlet.jsp.tagext.BodyContent; +import java.io.IOException; +import java.util.Map; + /** * Inserts any Wiki plugin. The body of the tag becomes then * the body for the plugin. @@ -67,7 +66,7 @@ public class PluginTag * * @param p Name of the plugin. */ - public void setPlugin( String p ) + public void setPlugin( final String p ) { m_plugin = p; } @@ -77,7 +76,7 @@ public class PluginTag * * @param a Arguments string. */ - public void setArgs( String a ) + public void setArgs( final String a ) { m_args = a; } @@ -92,22 +91,20 @@ public class PluginTag return EVAL_BODY_BUFFERED; } - private String executePlugin( String plugin, String args, String body ) - throws PluginException, IOException - { - WikiEngine engine = m_wikiContext.getEngine(); - PluginManager pm = engine.getPluginManager(); + private String executePlugin( final String plugin, final String args, final String body ) throws PluginException, IOException { + final Engine engine = m_wikiContext.getEngine(); + final PluginManager pm = engine.getManager( PluginManager.class ); m_evaluated = true; - Map<String, String> argmap = pm.parseArgs( args ); + final Map<String, String> argmap = pm.parseArgs( args ); if( body != null ) { argmap.put( "_body", body ); } - String result = pm.execute( m_wikiContext, plugin, argmap ); + final String result = pm.execute( m_wikiContext, plugin, argmap ); return result; } @@ -125,7 +122,7 @@ public class PluginTag { pageContext.getOut().write( executePlugin( m_plugin, m_args, null ) ); } - catch( Exception e ) + catch( final Exception e ) { log.error( "Failed to insert plugin", e ); throw new JspException( "Tag failed, check logs: "+e.getMessage() ); @@ -143,11 +140,11 @@ public class PluginTag { try { - BodyContent bc = getBodyContent(); + final BodyContent bc = getBodyContent(); getPreviousOut().write( executePlugin( m_plugin, m_args, (bc != null) ? bc.getString() : null) ); } - catch( Exception e ) + catch( final Exception e ) { log.error( "Failed to insert plugin", e ); throw new JspException( "Tag failed, check logs: "+e.getMessage() ); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/RSSImageLinkTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/RSSImageLinkTag.java index 3e35278..151a03c 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/RSSImageLinkTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/RSSImageLinkTag.java @@ -18,18 +18,17 @@ */ package org.apache.wiki.tags; -import java.io.IOException; -import java.text.MessageFormat; -import java.util.ResourceBundle; - -import javax.servlet.jsp.JspWriter; - import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiEngine; +import org.apache.wiki.api.core.Engine; import org.apache.wiki.i18n.InternationalizationManager; import org.apache.wiki.preferences.Preferences; import org.apache.wiki.rss.RSSGenerator; +import javax.servlet.jsp.JspWriter; +import java.io.IOException; +import java.text.MessageFormat; +import java.util.ResourceBundle; + /** * Writes an image link to a JSPWiki RSS file. If RSS generation has * been turned off in jspwiki.properties, returns an empty string. @@ -62,12 +61,12 @@ public class RSSImageLinkTag * * @param title A string for the title. */ - public void setTitle( String title ) + public void setTitle( final String title ) { m_title = title; } - public void setMode( String mode ) + public void setMode( final String mode ) { m_mode = mode; } @@ -87,31 +86,21 @@ public class RSSImageLinkTag * {@inheritDoc} */ @Override - public final int doWikiStartTag() - throws IOException - { - WikiEngine engine = m_wikiContext.getEngine(); - JspWriter out = pageContext.getOut(); - ResourceBundle rb = Preferences.getBundle( m_wikiContext, InternationalizationManager.CORE_BUNDLE ); - - if( engine.getRSSGenerator() != null && engine.getRSSGenerator().isEnabled() ) - { - if( RSSGenerator.MODE_FULL.equals(m_mode) ) - { - String rssURL = engine.getGlobalRSSURL(); - - if( rssURL != null ) - { + public final int doWikiStartTag() throws IOException { + final Engine engine = m_wikiContext.getEngine(); + final JspWriter out = pageContext.getOut(); + final ResourceBundle rb = Preferences.getBundle( m_wikiContext, InternationalizationManager.CORE_BUNDLE ); + if( engine.getManager( RSSGenerator.class ) != null && engine.getManager( RSSGenerator.class ).isEnabled() ) { + if( RSSGenerator.MODE_FULL.equals(m_mode) ) { + final String rssURL = engine.getGlobalRSSURL(); + if( rssURL != null ) { out.print("<a class=\"feed\" href=\""+rssURL); out.print( " title='"+rb.getString( "rss.title.full" )+"'>" ); out.print( " </a> "); } - } - else - { - String page = m_pageName != null ? m_pageName : m_wikiContext.getPage().getName(); - - String params = "page="+page+"&mode="+m_mode; + } else { + final String page = m_pageName != null ? m_pageName : m_wikiContext.getPage().getName(); + final String params = "page="+page+"&mode="+m_mode; out.print( "<a href='"+m_wikiContext.getURL( WikiContext.NONE, "rss.jsp", params )); out.print( "' class='feed'" ); out.print( " title='"+MessageFormat.format( rb.getString( "rss.title" ), page )+"'>" ); @@ -121,4 +110,5 @@ public class RSSImageLinkTag return SKIP_BODY; } + } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/SearchResultIteratorTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/SearchResultIteratorTag.java index f3f8ed2..a3da953 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/SearchResultIteratorTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/SearchResultIteratorTag.java @@ -20,7 +20,7 @@ package org.apache.wiki.tags; import org.apache.log4j.Logger; import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiEngine; +import org.apache.wiki.api.core.Engine; import org.apache.wiki.search.SearchResult; import org.apache.wiki.ui.Command; import org.apache.wiki.ui.PageCommand; @@ -41,11 +41,9 @@ import java.util.Collection; * * @since 2.0 */ - // FIXME: Shares MUCH too much in common with IteratorTag. Must refactor. -public class SearchResultIteratorTag - extends IteratorTag -{ +public class SearchResultIteratorTag extends IteratorTag { + private static final long serialVersionUID = 0L; private int m_maxItems; @@ -54,30 +52,26 @@ public class SearchResultIteratorTag private static final Logger log = Logger.getLogger(SearchResultIteratorTag.class); - public void release() + @Override public void release() { super.release(); m_maxItems = m_count = 0; } - public void setMaxItems( int arg ) + public void setMaxItems( final int arg ) { m_maxItems = arg; } - public void setStart( int arg ) + public void setStart( final int arg ) { m_start = arg; } - public final int doStartTag() - { - // + @Override public final int doStartTag() { // Do lazy eval if the search results have not been set. - // - if( m_iterator == null ) - { - Collection< ? > searchresults = (Collection< ? >)pageContext.getAttribute( "searchresults", PageContext.REQUEST_SCOPE ); + if( m_iterator == null ) { + final Collection< ? > searchresults = (Collection< ? >)pageContext.getAttribute( "searchresults", PageContext.REQUEST_SCOPE ); setList( searchresults ); int skip = 0; @@ -93,18 +87,16 @@ public class SearchResultIteratorTag return nextResult(); } - private int nextResult() - { - if( m_iterator != null && m_iterator.hasNext() && m_count++ < m_maxItems ) - { - SearchResult r = (SearchResult) m_iterator.next(); - + private int nextResult() { + if( m_iterator != null && m_iterator.hasNext() && m_count++ < m_maxItems ) { + final SearchResult r = ( SearchResult )m_iterator.next(); + // Create a wiki context for the result - WikiEngine engine = m_wikiContext.getEngine(); - HttpServletRequest request = m_wikiContext.getHttpRequest(); - Command command = PageCommand.VIEW.targetedCommand( r.getPage() ); - WikiContext context = new WikiContext( engine, request, command ); - + final Engine engine = m_wikiContext.getEngine(); + final HttpServletRequest request = m_wikiContext.getHttpRequest(); + final Command command = PageCommand.VIEW.targetedCommand( r.getPage() ); + final WikiContext context = new WikiContext( engine, request, command ); + // Stash it in the page context pageContext.setAttribute( WikiContext.ATTR_CONTEXT, context, PageContext.REQUEST_SCOPE ); pageContext.setAttribute( getId(), r ); @@ -115,7 +107,7 @@ public class SearchResultIteratorTag return SKIP_BODY; } - public int doAfterBody() { + @Override public int doAfterBody() { if( bodyContent != null ) { try { final JspWriter out = getPreviousOut(); @@ -130,7 +122,7 @@ public class SearchResultIteratorTag return nextResult(); } - public int doEndTag() { + @Override public int doEndTag() { m_iterator = null; return super.doEndTag(); } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/TranslateTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/TranslateTag.java index f4355d2..48dec5e 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/TranslateTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/TranslateTag.java @@ -20,6 +20,7 @@ package org.apache.wiki.tags; import org.apache.log4j.Logger; import org.apache.wiki.WikiContext; +import org.apache.wiki.render.RenderingManager; import javax.servlet.jsp.JspException; import javax.servlet.jsp.PageContext; @@ -38,7 +39,7 @@ public class TranslateTag private static final Logger log = Logger.getLogger( TranslateTag.class ); - public final int doAfterBody() throws JspException { + @Override public final int doAfterBody() throws JspException { try { WikiContext context = (WikiContext) pageContext.getAttribute( WikiContext.ATTR_CONTEXT, PageContext.REQUEST_SCOPE ); @@ -52,7 +53,7 @@ public class TranslateTag if( wikiText != null ) { wikiText = wikiText.trim(); - final String result = context.getEngine().getRenderingManager().textToHTML( context, wikiText ); + final String result = context.getEngine().getManager( RenderingManager.class ).textToHTML( context, wikiText ); getPreviousOut().write( result ); } } catch( final Exception e ) { diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/UserCheckTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/UserCheckTag.java index 687d977..57fa5eb 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/UserCheckTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/UserCheckTag.java @@ -112,7 +112,7 @@ public class UserCheckTag extends WikiTagBase { public final int doWikiStartTag() { final WikiSession session = m_wikiContext.getWikiSession(); final String status = session.getStatus(); - final AuthenticationManager mgr = m_wikiContext.getEngine().getAuthenticationManager(); + final AuthenticationManager mgr = m_wikiContext.getEngine().getManager( AuthenticationManager.class ); final boolean containerAuth = mgr.isContainerAuthenticated(); final boolean cookieAssertions = mgr.allowsCookieAssertions(); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/UserNameTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/UserNameTag.java index 3989c6c..9de5ee7 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/UserNameTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/UserNameTag.java @@ -18,26 +18,25 @@ */ package org.apache.wiki.tags; -import java.io.IOException; -import java.security.Principal; -import java.util.regex.Pattern; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.wiki.WikiEngine; import org.apache.wiki.WikiSession; +import org.apache.wiki.api.core.Engine; import org.apache.wiki.i18n.InternationalizationManager; import org.apache.wiki.preferences.Preferences; import org.apache.wiki.util.TextUtil; +import javax.servlet.http.HttpServletRequest; +import java.io.IOException; +import java.security.Principal; +import java.util.regex.Pattern; + + /** - * Returns the current user name, or empty, if the user has not been - * validated. + * Returns the current user name, or empty, if the user has not been validated. * * @since 2.0 */ -public class UserNameTag extends WikiTagBase -{ +public class UserNameTag extends WikiTagBase { + private static final long serialVersionUID = 0L; private static String notStartWithBlankOrColon = "^[^( |:)]"; @@ -46,20 +45,15 @@ public class UserNameTag extends WikiTagBase private static final Pattern VALID_USER_NAME_PATTERN = Pattern.compile(notStartWithBlankOrColon + noColons); - public final int doWikiStartTag() throws IOException - { - WikiEngine engine = this.m_wikiContext.getEngine(); - WikiSession wikiSession = WikiSession.getWikiSession(engine, (HttpServletRequest) pageContext.getRequest()); - Principal user = wikiSession.getUserPrincipal(); + @Override public final int doWikiStartTag() throws IOException { + final Engine engine = m_wikiContext.getEngine(); + final WikiSession wikiSession = WikiSession.getWikiSession(engine, (HttpServletRequest) pageContext.getRequest()); + final Principal user = wikiSession.getUserPrincipal(); - if (user != null) - { - if (VALID_USER_NAME_PATTERN.matcher(user.getName()).matches()) - { - pageContext.getOut().print(TextUtil.replaceEntities(user.getName())); - } - else - { + if( user != null ) { + if( VALID_USER_NAME_PATTERN.matcher( user.getName() ).matches() ) { + pageContext.getOut().print( TextUtil.replaceEntities( user.getName() ) ); + } else { pageContext.getOut().print( Preferences.getBundle( m_wikiContext, InternationalizationManager.CORE_BUNDLE ) .getString( "security.user.fullname.invalid" ) ); } @@ -67,4 +61,5 @@ public class UserNameTag extends WikiTagBase return SKIP_BODY; } + } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/UserProfileTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/UserProfileTag.java index 5c6a75e..7d6fa86 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/UserProfileTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/UserProfileTag.java @@ -18,17 +18,9 @@ */ package org.apache.wiki.tags; -import java.io.IOException; -import java.security.Principal; -import java.util.ArrayList; -import java.util.List; -import java.util.ResourceBundle; - -import javax.servlet.http.HttpServletRequest; - import org.apache.wiki.WikiContext; -import org.apache.wiki.WikiEngine; import org.apache.wiki.WikiSession; +import org.apache.wiki.api.core.Engine; import org.apache.wiki.auth.AuthenticationManager; import org.apache.wiki.auth.GroupPrincipal; import org.apache.wiki.auth.UserManager; @@ -39,6 +31,13 @@ import org.apache.wiki.i18n.InternationalizationManager; import org.apache.wiki.preferences.Preferences; import org.apache.wiki.util.TextUtil; +import javax.servlet.http.HttpServletRequest; +import java.io.IOException; +import java.security.Principal; +import java.util.ArrayList; +import java.util.List; +import java.util.ResourceBundle; + /** * <p> * Returns user profile attributes, or empty strings if the user has not been @@ -72,8 +71,8 @@ import org.apache.wiki.util.TextUtil; * negative condition (for example, <code>!exists</code>).</p> * @since 2.3 */ -public class UserProfileTag extends WikiTagBase -{ +public class UserProfileTag extends WikiTagBase { + private static final long serialVersionUID = 3258410625431582003L; public static final String BLANK = "(not set)"; @@ -112,99 +111,70 @@ public class UserProfileTag extends WikiTagBase private String m_prop; - public void initTag() - { + @Override + public void initTag() { super.initTag(); m_prop = null; } - public final int doWikiStartTag() throws IOException, WikiSecurityException - { - UserManager manager = m_wikiContext.getEngine().getUserManager(); - UserProfile profile = manager.getUserProfile( m_wikiContext.getWikiSession() ); + @Override + public final int doWikiStartTag() throws IOException, WikiSecurityException { + final UserManager manager = m_wikiContext.getEngine().getManager( UserManager.class ); + final UserProfile profile = manager.getUserProfile( m_wikiContext.getWikiSession() ); String result = null; - if ( EXISTS.equals( m_prop ) || NOT_NEW.equals( m_prop ) ) - { + if( EXISTS.equals( m_prop ) || NOT_NEW.equals( m_prop ) ) { return profile.isNew() ? SKIP_BODY : EVAL_BODY_INCLUDE; - } - else if ( NEW.equals( m_prop ) || NOT_EXISTS.equals( m_prop ) ) - { + } else if( NEW.equals( m_prop ) || NOT_EXISTS.equals( m_prop ) ) { return profile.isNew() ? EVAL_BODY_INCLUDE : SKIP_BODY; - } - - else if ( CREATED.equals( m_prop ) && profile.getCreated() != null ) - { + } else if( CREATED.equals( m_prop ) && profile.getCreated() != null ) { result = profile.getCreated().toString(); - } - else if ( EMAIL.equals( m_prop ) ) - { + } else if( EMAIL.equals( m_prop ) ) { result = profile.getEmail(); - } - else if ( FULLNAME.equals( m_prop ) ) - { + } else if( FULLNAME.equals( m_prop ) ) { result = profile.getFullname(); - } - else if ( GROUPS.equals( m_prop ) ) - { + } else if( GROUPS.equals( m_prop ) ) { result = printGroups( m_wikiContext ); - } - else if ( LOGINNAME.equals( m_prop ) ) - { + } else if( LOGINNAME.equals( m_prop ) ) { result = profile.getLoginName(); - } - else if ( MODIFIED.equals( m_prop ) && profile.getLastModified() != null ) - { + } else if( MODIFIED.equals( m_prop ) && profile.getLastModified() != null ) { result = profile.getLastModified().toString(); - } - else if ( ROLES.equals( m_prop ) ) - { + } else if( ROLES.equals( m_prop ) ) { result = printRoles( m_wikiContext ); - } - else if ( WIKINAME.equals( m_prop ) ) - { + } else if( WIKINAME.equals( m_prop ) ) { result = profile.getWikiName(); - if( result == null ) - { + if( result == null ) { // // Default back to the declared user name // - WikiEngine engine = this.m_wikiContext.getEngine(); - WikiSession wikiSession = WikiSession.getWikiSession( engine, (HttpServletRequest)pageContext.getRequest() ); - Principal user = wikiSession.getUserPrincipal(); + final Engine engine = this.m_wikiContext.getEngine(); + final WikiSession wikiSession = WikiSession.getWikiSession( engine, ( HttpServletRequest )pageContext.getRequest() ); + final Principal user = wikiSession.getUserPrincipal(); - if( user != null ) - { + if( user != null ) { result = user.getName(); } } - } - else if ( CHANGE_PASSWORD.equals( m_prop ) || CHANGE_LOGIN_NAME.equals( m_prop ) ) - { - AuthenticationManager authMgr = m_wikiContext.getEngine().getAuthenticationManager(); - if ( !authMgr.isContainerAuthenticated() ) - { + } else if( CHANGE_PASSWORD.equals( m_prop ) || CHANGE_LOGIN_NAME.equals( m_prop ) ) { + final AuthenticationManager authMgr = m_wikiContext.getEngine().getManager( AuthenticationManager.class ); + if( !authMgr.isContainerAuthenticated() ) { return EVAL_BODY_INCLUDE; } - } - else if ( NOT_CHANGE_PASSWORD.equals( m_prop ) || NOT_CHANGE_LOGIN_NAME.equals( m_prop ) ) - { - AuthenticationManager authMgr = m_wikiContext.getEngine().getAuthenticationManager(); - if ( authMgr.isContainerAuthenticated() ) - { + } else if( NOT_CHANGE_PASSWORD.equals( m_prop ) || NOT_CHANGE_LOGIN_NAME.equals( m_prop ) ) { + final AuthenticationManager authMgr = m_wikiContext.getEngine().getManager( AuthenticationManager.class ); + if( authMgr.isContainerAuthenticated() ) { return EVAL_BODY_INCLUDE; } } - if ( result != null ) - { - pageContext.getOut().print( TextUtil.replaceEntities(result) ); + if( result != null ) { + pageContext.getOut().print( TextUtil.replaceEntities( result ) ); } return SKIP_BODY; } - public void setProperty( String property ) + public void setProperty( final String property ) { m_prop = property.toLowerCase().trim(); } @@ -216,34 +186,28 @@ public class UserProfileTag extends WikiTagBase * and extracting those that are of type Group. * @return the list of groups, sorted by name */ - public static String printGroups( WikiContext context ) - { - Principal[] roles = context.getWikiSession().getRoles(); - List<String> tempRoles = new ArrayList<String>(); - ResourceBundle rb = Preferences.getBundle( context, InternationalizationManager.CORE_BUNDLE ); - - for ( Principal role : roles ) - { - if( role instanceof GroupPrincipal ) - { + public static String printGroups( final WikiContext context ) { + final Principal[] roles = context.getWikiSession().getRoles(); + final List< String > tempRoles = new ArrayList<>(); + final ResourceBundle rb = Preferences.getBundle( context, InternationalizationManager.CORE_BUNDLE ); + + for( final Principal role : roles ) { + if( role instanceof GroupPrincipal ) { tempRoles.add( role.getName() ); } } - if ( tempRoles.size() == 0 ) - { - return rb.getString("userprofile.nogroups"); + if( tempRoles.size() == 0 ) { + return rb.getString( "userprofile.nogroups" ); } - StringBuilder sb = new StringBuilder(); - for ( int i = 0; i < tempRoles.size(); i++ ) - { - String name = tempRoles.get( i ); + final StringBuilder sb = new StringBuilder(); + for( int i = 0; i < tempRoles.size(); i++ ) { + final String name = tempRoles.get( i ); sb.append( name ); - if ( i < ( tempRoles.size() - 1 ) ) - { - sb.append(','); - sb.append(' '); + if( i < ( tempRoles.size() - 1 ) ) { + sb.append( ',' ); + sb.append( ' ' ); } } @@ -257,37 +221,32 @@ public class UserProfileTag extends WikiTagBase * and extracting those that are of type Role. * @return the list of roles, sorted by name */ - public static String printRoles( WikiContext context ) - { - Principal[] roles = context.getWikiSession().getRoles(); - List<String> tempRoles = new ArrayList<String>(); - ResourceBundle rb = Preferences.getBundle( context, InternationalizationManager.CORE_BUNDLE ); - - for ( Principal role : roles ) - { - if ( role instanceof Role ) - { + public static String printRoles( final WikiContext context ) { + final Principal[] roles = context.getWikiSession().getRoles(); + final List< String > tempRoles = new ArrayList<>(); + final ResourceBundle rb = Preferences.getBundle( context, InternationalizationManager.CORE_BUNDLE ); + + for( final Principal role : roles ) { + if( role instanceof Role ) { tempRoles.add( role.getName() ); } } - if ( tempRoles.size() == 0 ) - { + if( tempRoles.size() == 0 ) { return rb.getString( "userprofile.noroles" ); } - StringBuilder sb = new StringBuilder(); - for ( int i = 0; i < tempRoles.size(); i++ ) - { - String name = tempRoles.get( i ); + final StringBuilder sb = new StringBuilder(); + for( int i = 0; i < tempRoles.size(); i++ ) { + final String name = tempRoles.get( i ); sb.append( name ); - if ( i < ( tempRoles.size() - 1 ) ) - { - sb.append(','); - sb.append(' '); + if( i < ( tempRoles.size() - 1 ) ) { + sb.append( ',' ); + sb.append( ' ' ); } } return sb.toString(); } + } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/VariableTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/VariableTag.java index 82328b0..45ccae6 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/VariableTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/VariableTag.java @@ -18,14 +18,14 @@ */ package org.apache.wiki.tags; -import java.io.IOException; - -import javax.servlet.jsp.JspWriter; -import javax.servlet.jsp.JspException; - -import org.apache.wiki.WikiEngine; +import org.apache.wiki.api.core.Engine; import org.apache.wiki.api.exceptions.NoSuchVariableException; import org.apache.wiki.util.TextUtil; +import org.apache.wiki.variables.VariableManager; + +import javax.servlet.jsp.JspException; +import javax.servlet.jsp.JspWriter; +import java.io.IOException; /** * Returns the value of an Wiki variable. @@ -43,16 +43,14 @@ import org.apache.wiki.util.TextUtil; * * @since 2.0 */ -public class VariableTag - extends WikiTagBase -{ +public class VariableTag extends WikiTagBase { + private static final long serialVersionUID = 0L; private String m_var = null; private String m_default = null; - public void initTag() - { + @Override public void initTag() { super.initTag(); m_var = m_default = null; } @@ -62,49 +60,40 @@ public class VariableTag return m_var; } - public void setVar( String arg ) + public void setVar( final String arg ) { m_var = arg; } - public void setDefault( String arg ) + public void setDefault( final String arg ) { m_default = arg; } - public final int doWikiStartTag() - throws JspException, - IOException - { - WikiEngine engine = m_wikiContext.getEngine(); - JspWriter out = pageContext.getOut(); + @Override + public final int doWikiStartTag() throws JspException, IOException { + final Engine engine = m_wikiContext.getEngine(); + final JspWriter out = pageContext.getOut(); String msg = null; String value = null; - try - { - value = engine.getVariableManager().getValue( m_wikiContext, - getVar() ); - } - catch( NoSuchVariableException e ) - { - msg = "No such variable: "+e.getMessage(); - } - catch( IllegalArgumentException e ) - { - msg = "Incorrect variable name: "+e.getMessage(); + try { + value = engine.getManager( VariableManager.class ).getValue( m_wikiContext, getVar() ); + } catch( final NoSuchVariableException e ) { + msg = "No such variable: " + e.getMessage(); + } catch( final IllegalArgumentException e ) { + msg = "Incorrect variable name: " + e.getMessage(); } - if( value == null ) - { + if( value == null ) { value = m_default; } - if( value == null ) - { + if( value == null ) { value = msg; } out.write( TextUtil.replaceEntities(value) ); return SKIP_BODY; } + }
