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 d8d8df3914f86ee46c3bbb1f70d7d969aa08aa8a Author: juanpablo <[email protected]> AuthorDate: Thu Mar 26 21:07:28 2020 +0100 Deprecate WikiContext#findContext and move it to Context. Use the new method from the public api throughout the code --- jspwiki-api/pom.xml | 12 ++++++++++++ .../src/main/java/org/apache/wiki/api/core/Context.java | 14 ++++++++++++++ .../src/main/java/org/apache/wiki/WikiContext.java | 16 +++++++++------- .../java/org/apache/wiki/preferences/Preferences.java | 3 +-- .../java/org/apache/wiki/tags/AdminBeanIteratorTag.java | 4 ++-- .../org/apache/wiki/tags/AttachmentsIteratorTag.java | 3 +-- .../java/org/apache/wiki/tags/EditorIteratorTag.java | 8 +++++--- .../java/org/apache/wiki/tags/HistoryIteratorTag.java | 5 +++-- .../src/main/java/org/apache/wiki/tags/IteratorTag.java | 17 +++++------------ .../org/apache/wiki/tags/SearchResultIteratorTag.java | 10 +++++++--- .../java/org/apache/wiki/ui/DefaultTemplateManager.java | 3 +-- .../src/main/java/org/apache/wiki/ui/Editor.java | 8 +++++--- 12 files changed, 65 insertions(+), 38 deletions(-) diff --git a/jspwiki-api/pom.xml b/jspwiki-api/pom.xml index 67b7a20..b6678cc 100644 --- a/jspwiki-api/pom.xml +++ b/jspwiki-api/pom.xml @@ -37,6 +37,12 @@ </dependency> <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>jspwiki-util</artifactId> + <version>${project.version}</version> + </dependency> + + <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </dependency> @@ -53,6 +59,12 @@ </dependency> <dependency> + <groupId>javax.servlet.jsp</groupId> + <artifactId>javax.servlet.jsp-api</artifactId> + <scope>provided</scope> + </dependency> + + <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <scope>test</scope> diff --git a/jspwiki-api/src/main/java/org/apache/wiki/api/core/Context.java b/jspwiki-api/src/main/java/org/apache/wiki/api/core/Context.java index 36efd87..6846b9b 100644 --- a/jspwiki-api/src/main/java/org/apache/wiki/api/core/Context.java +++ b/jspwiki-api/src/main/java/org/apache/wiki/api/core/Context.java @@ -19,6 +19,7 @@ package org.apache.wiki.api.core; import javax.servlet.http.HttpServletRequest; +import javax.servlet.jsp.PageContext; import java.security.Principal; @@ -250,4 +251,17 @@ public interface Context extends Cloneable, Command { /** {@inheritDoc} */ Context clone(); + /** + * This method can be used to find the WikiContext programmatically from a JSP PageContext. We check the request context. + * The wiki context, if it exists, is looked up using the key {@link #ATTR_CONTEXT}. + * + * @since 2.4 + * @param pageContext the JSP page context + * @return Current WikiContext, or null, of no context exists. + */ + static Context findContext( final PageContext pageContext ) { + final HttpServletRequest request = ( HttpServletRequest )pageContext.getRequest(); + return ( Context )request.getAttribute( ATTR_CONTEXT ); + } + } diff --git a/jspwiki-main/src/main/java/org/apache/wiki/WikiContext.java b/jspwiki-main/src/main/java/org/apache/wiki/WikiContext.java index 2255a8d..a075874 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/WikiContext.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/WikiContext.java @@ -104,8 +104,7 @@ public class WikiContext implements Context, Command { /** User is previewing the changes he just made. */ public static final String PREVIEW = PageCommand.PREVIEW.getRequestContext(); - /** User has an internal conflict, and does quite not know what to - do. Please provide some counseling. */ + /** User has an internal conflict, and does quite not know what to do. Please provide some counseling. */ public static final String CONFLICT = PageCommand.CONFLICT.getRequestContext(); /** An error has been encountered and the user needs to be informed. */ @@ -671,13 +670,16 @@ public class WikiContext implements Context, Command { } /** - * This method can be used to find the WikiContext programmatically from a JSP PageContext. We check the request context. - * The wiki context, if it exists, is looked up using the key {@link #ATTR_CONTEXT}. + * This method can be used to find the WikiContext programmatically from a JSP PageContext. We check the request context. + * The wiki context, if it exists, is looked up using the key {@link #ATTR_CONTEXT}. * - * @since 2.4 - * @param pageContext the JSP page context - * @return Current WikiContext, or null, of no context exists. + * @since 2.4 + * @param pageContext the JSP page context + * @return Current WikiContext, or null, of no context exists. + * @deprecated use {@Context#findContext( PageContext )} instead. + * @see Context#findContext( PageContext ) */ + @Deprecated public static WikiContext findContext( final PageContext pageContext ) { final HttpServletRequest request = ( HttpServletRequest )pageContext.getRequest(); return ( WikiContext )request.getAttribute( ATTR_CONTEXT ); 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 b1ae4c2..23edefa 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 @@ -23,7 +23,6 @@ import org.apache.commons.lang3.LocaleUtils; import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.apache.wiki.InternalWikiException; -import org.apache.wiki.WikiContext; import org.apache.wiki.api.core.Context; import org.apache.wiki.i18n.InternationalizationManager; import org.apache.wiki.util.HttpUtil; @@ -91,7 +90,7 @@ public class Preferences extends HashMap< String,String > { public static void reloadPreferences( final PageContext pageContext ) { final Preferences prefs = new Preferences(); final Properties props = PropertyReader.loadWebAppProps( pageContext.getServletContext() ); - final Context ctx = WikiContext.findContext( pageContext ); + final Context ctx = Context.findContext( pageContext ); final String dateFormat = ctx.getEngine().getManager( InternationalizationManager.class ) .get( InternationalizationManager.CORE_BUNDLE, getLocale( ctx ), "common.datetimeformat" ); 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 d36a2fe..4913aea 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,7 +18,7 @@ */ package org.apache.wiki.tags; -import org.apache.wiki.WikiContext; +import org.apache.wiki.api.core.Context; import org.apache.wiki.ui.admin.AdminBean; import org.apache.wiki.ui.admin.AdminBeanManager; @@ -42,7 +42,7 @@ public class AdminBeanIteratorTag extends IteratorTag { */ public void setType( final String type ) { if (m_wikiContext == null) { - m_wikiContext = WikiContext.findContext(pageContext); + m_wikiContext = Context.findContext(pageContext); } m_type = m_wikiContext.getEngine().getManager( AdminBeanManager.class ).getTypeFromString( type ); } 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 4314b33..e2dbe76 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 @@ -19,7 +19,6 @@ package org.apache.wiki.tags; import org.apache.log4j.Logger; -import org.apache.wiki.WikiContext; import org.apache.wiki.api.core.Attachment; import org.apache.wiki.api.core.Context; import org.apache.wiki.api.core.Engine; @@ -55,7 +54,7 @@ public class AttachmentsIteratorTag extends IteratorTag { */ @Override public final int doStartTag() { - m_wikiContext = (WikiContext) pageContext.getAttribute( WikiContext.ATTR_CONTEXT, PageContext.REQUEST_SCOPE ); + m_wikiContext = (Context) pageContext.getAttribute( Context.ATTR_CONTEXT, PageContext.REQUEST_SCOPE ); final Engine engine = m_wikiContext.getEngine(); final AttachmentManager mgr = engine.getManager( AttachmentManager.class ); final Page page; 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 d1f6882..cea8853 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,7 +18,7 @@ */ package org.apache.wiki.tags; -import org.apache.wiki.WikiContext; +import org.apache.wiki.api.core.Context; import org.apache.wiki.api.core.Engine; import org.apache.wiki.ui.Editor; import org.apache.wiki.ui.EditorManager; @@ -36,8 +36,10 @@ public class EditorIteratorTag extends IteratorTag { private static final long serialVersionUID = 0L; - @Override public final int doStartTag() { - m_wikiContext = WikiContext.findContext(pageContext); + /** {@inheritDoc} */ + @Override + public final int doStartTag() { + m_wikiContext = Context.findContext(pageContext); final Engine engine = m_wikiContext.getEngine(); final EditorManager mgr = engine.getManager( EditorManager.class ); final String[] editorList = mgr.getEditorList(); 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 30d1dc7..13a5577 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 @@ -19,7 +19,6 @@ package org.apache.wiki.tags; import org.apache.log4j.Logger; -import org.apache.wiki.WikiContext; import org.apache.wiki.api.core.Context; import org.apache.wiki.api.core.Engine; import org.apache.wiki.api.core.Page; @@ -47,9 +46,10 @@ public class HistoryIteratorTag extends IteratorTag { private static final long serialVersionUID = 0L; private static final Logger LOG = Logger.getLogger( HistoryIteratorTag.class ); + /** {@inheritDoc} */ @Override public final int doStartTag() { - m_wikiContext = (WikiContext) pageContext.getAttribute( WikiContext.ATTR_CONTEXT, PageContext.REQUEST_SCOPE ); + m_wikiContext = (Context) pageContext.getAttribute( Context.ATTR_CONTEXT, PageContext.REQUEST_SCOPE ); final Engine engine = m_wikiContext.getEngine(); final Page page = m_wikiContext.getPage(); @@ -83,6 +83,7 @@ public class HistoryIteratorTag extends IteratorTag { return SKIP_BODY; } + /** {@inheritDoc} */ @Override public final int doAfterBody() { if( bodyContent != null ) { diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tags/IteratorTag.java b/jspwiki-main/src/main/java/org/apache/wiki/tags/IteratorTag.java index 08ac9fc..1b4eeec 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/tags/IteratorTag.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/tags/IteratorTag.java @@ -19,7 +19,6 @@ package org.apache.wiki.tags; import org.apache.log4j.Logger; -import org.apache.wiki.WikiContext; import org.apache.wiki.api.core.Context; import org.apache.wiki.api.core.Page; @@ -48,7 +47,7 @@ public abstract class IteratorTag extends BodyTagSupport implements TryCatchFina private static final long serialVersionUID = 8945334759300595321L; protected String m_pageName; protected Iterator< ? > m_iterator; - protected WikiContext m_wikiContext; + protected Context m_wikiContext; private static final Logger log = Logger.getLogger( IteratorTag.class ); @@ -88,12 +87,10 @@ public abstract class IteratorTag extends BodyTagSupport implements TryCatchFina // No operation here } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public int doStartTag() { - m_wikiContext = WikiContext.findContext(pageContext); + m_wikiContext = Context.findContext(pageContext); resetIterator(); if( m_iterator == null ) { return SKIP_BODY; @@ -119,9 +116,7 @@ public abstract class IteratorTag extends BodyTagSupport implements TryCatchFina pageContext.setAttribute( getId(), o ); } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public int doEndTag() { // Return back to the original. @@ -130,9 +125,7 @@ public abstract class IteratorTag extends BodyTagSupport implements TryCatchFina return EVAL_PAGE; } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ @Override public int doAfterBody() { if( bodyContent != null ) { 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 144b2ee..1a6ad51 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 @@ -52,7 +52,8 @@ public class SearchResultIteratorTag extends IteratorTag { private int m_start = 0; private static final Logger log = Logger.getLogger(SearchResultIteratorTag.class); - + + /** {@inheritDoc} */ @Override public void release() { super.release(); @@ -68,7 +69,8 @@ public class SearchResultIteratorTag extends IteratorTag { { m_start = arg; } - + + /** {@inheritDoc} */ @Override public final int doStartTag() { // Do lazy eval if the search results have not been set. @@ -86,7 +88,7 @@ public class SearchResultIteratorTag extends IteratorTag { } m_count = 0; - m_wikiContext = ( WikiContext )pageContext.getAttribute( WikiContext.ATTR_CONTEXT, PageContext.REQUEST_SCOPE ); + m_wikiContext = ( Context )pageContext.getAttribute( Context.ATTR_CONTEXT, PageContext.REQUEST_SCOPE ); return nextResult(); } @@ -111,6 +113,7 @@ public class SearchResultIteratorTag extends IteratorTag { return SKIP_BODY; } + /** {@inheritDoc} */ @Override public int doAfterBody() { if( bodyContent != null ) { @@ -127,6 +130,7 @@ public class SearchResultIteratorTag extends IteratorTag { return nextResult(); } + /** {@inheritDoc} */ @Override public int doEndTag() { m_iterator = null; diff --git a/jspwiki-main/src/main/java/org/apache/wiki/ui/DefaultTemplateManager.java b/jspwiki-main/src/main/java/org/apache/wiki/ui/DefaultTemplateManager.java index 5e672d9..9a39ff9 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/ui/DefaultTemplateManager.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/ui/DefaultTemplateManager.java @@ -21,7 +21,6 @@ package org.apache.wiki.ui; import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.apache.wiki.InternalWikiException; -import org.apache.wiki.WikiContext; import org.apache.wiki.api.core.Context; import org.apache.wiki.api.core.Engine; import org.apache.wiki.modules.BaseModuleManager; @@ -263,7 +262,7 @@ public class DefaultTemplateManager extends BaseModuleManager implements Templat /** {@inheritDoc} */ @Override public Map< String, String > listTimeFormats( final PageContext pageContext ) { - final WikiContext context = WikiContext.findContext( pageContext ); + final Context context = Context.findContext( pageContext ); final Properties props = m_engine.getWikiProperties(); final ArrayList< String > tfArr = new ArrayList<>(40); final LinkedHashMap< String, String > resultMap = new LinkedHashMap<>(); diff --git a/jspwiki-main/src/main/java/org/apache/wiki/ui/Editor.java b/jspwiki-main/src/main/java/org/apache/wiki/ui/Editor.java index 17df105..b71c3fd 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/ui/Editor.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/ui/Editor.java @@ -18,7 +18,8 @@ */ package org.apache.wiki.ui; -import org.apache.wiki.WikiContext; +import org.apache.wiki.api.core.Context; + /** * Describes an editor. @@ -28,10 +29,10 @@ import org.apache.wiki.WikiContext; public class Editor { private final String m_editorName; - private final WikiContext m_wikiContext; + private final Context m_wikiContext; private final EditorManager m_editorManager; - public Editor( final WikiContext wikiContext, final String editorName ) { + public Editor( final Context wikiContext, final String editorName ) { m_wikiContext = wikiContext; m_editorName = editorName; m_editorManager = wikiContext.getEngine().getManager( EditorManager.class ); @@ -62,6 +63,7 @@ public class Editor { return ifNotSelected; } + /** {@inheritDoc} */ @Override public String toString() { return m_editorName;
