You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jspwiki.apache.org by ju...@apache.org on 2020/02/24 16:53:13 UTC

[jspwiki] 31/38: JSPWIKI-120: propagate WikiContext#getEngine() now returns Engine instead of WikiEngine (8)

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 25c9ed0217ff9df195c18e6d7ccf89172f21ff6d
Author: juanpablo <ju...@apache.org>
AuthorDate: Mon Feb 24 17:16:27 2020 +0100

    JSPWIKI-120: propagate WikiContext#getEngine() now returns Engine instead of WikiEngine (8)
---
 .../org/apache/wiki/rpc/atom/AtomAPIServlet.java   | 87 +++++++++++-----------
 .../java/org/apache/wiki/search/SearchManager.java |  7 +-
 .../wiki/tasks/pages/PreSaveWikiPageTask.java      | 27 ++++---
 .../apache/wiki/tasks/pages/SaveWikiPageTask.java  | 15 ++--
 4 files changed, 70 insertions(+), 66 deletions(-)

diff --git a/jspwiki-main/src/main/java/org/apache/wiki/rpc/atom/AtomAPIServlet.java b/jspwiki-main/src/main/java/org/apache/wiki/rpc/atom/AtomAPIServlet.java
index 56dc601..084ecd2 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/rpc/atom/AtomAPIServlet.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/rpc/atom/AtomAPIServlet.java
@@ -24,6 +24,7 @@ import org.apache.wiki.WikiEngine;
 import org.apache.wiki.WikiPage;
 import org.apache.wiki.api.exceptions.ProviderException;
 import org.apache.wiki.api.exceptions.WikiException;
+import org.apache.wiki.pages.PageManager;
 import org.apache.wiki.plugin.WeblogEntryPlugin;
 import org.apache.wiki.plugin.WeblogPlugin;
 import org.apache.wiki.util.TextUtil;
@@ -65,7 +66,7 @@ public class AtomAPIServlet extends HttpServlet
     /**
      *  {@inheritDoc}
      */
-    public void init( ServletConfig config )
+    @Override public void init( final ServletConfig config )
         throws ServletException
     {
         m_engine = WikiEngine.getInstance( config );
@@ -76,7 +77,7 @@ public class AtomAPIServlet extends HttpServlet
      *  The initial slash is also removed.  If there is no page,
      *  returns null.
      */
-    private String getPageName( HttpServletRequest request )
+    private String getPageName( final HttpServletRequest request )
     {
         String name = request.getPathInfo();
 
@@ -107,16 +108,16 @@ public class AtomAPIServlet extends HttpServlet
      *  @param response {@inheritDoc}
      *  @throws ServletException {@inheritDoc}
      */
-    public void doPost( HttpServletRequest request, HttpServletResponse response )
+    @Override public void doPost( final HttpServletRequest request, final HttpServletResponse response )
         throws ServletException
     {
         log.debug("Received POST to AtomAPIServlet");
 
         try
         {
-            String blogid = getPageName( request );
+            final String blogid = getPageName( request );
 
-            WikiPage page    = m_engine.getPageManager().getPage( blogid );
+            final WikiPage page    = m_engine.getManager( PageManager.class ).getPage( blogid );
 
             if( page == null )
             {
@@ -124,39 +125,39 @@ public class AtomAPIServlet extends HttpServlet
             }
 
             //FIXME: Do authentication here
-            Entry entry = Sandler.unmarshallEntry( request.getInputStream() );
+            final Entry entry = Sandler.unmarshallEntry( request.getInputStream() );
 
             //
             //  Fetch the obligatory parts of the content.
             //
-            Content title   = entry.getTitle();
-            Content content = entry.getContent(0);
+            final Content title   = entry.getTitle();
+            final Content content = entry.getContent(0);
 
-            Person  author  = entry.getAuthor();
+            final Person  author  = entry.getAuthor();
 
             //FIXME: Sandler 0.5 does not support generator
 
             //
             //  Generate new blog entry.
             //
-            WeblogEntryPlugin plugin = new WeblogEntryPlugin();
+            final WeblogEntryPlugin plugin = new WeblogEntryPlugin();
 
-            String pageName = plugin.getNewEntryPage( m_engine, blogid );
-            String username = author.getName();
+            final String pageName = plugin.getNewEntryPage( m_engine, blogid );
+            final String username = author.getName();
 
-            WikiPage entryPage = new WikiPage( m_engine, pageName );
+            final WikiPage entryPage = new WikiPage( m_engine, pageName );
             entryPage.setAuthor( username );
 
-            WikiContext context = new WikiContext( m_engine, request, entryPage );
+            final WikiContext context = new WikiContext( m_engine, request, entryPage );
 
-            StringBuilder text = new StringBuilder();
+            final StringBuilder text = new StringBuilder();
             text.append( "!" + title.getBody() );
             text.append( "\n\n" );
             text.append( content.getBody() );
 
             log.debug("Writing entry: "+text);
 
-            m_engine.getPageManager().saveText( context, text.toString() );
+            m_engine.getManager( PageManager.class ).saveText( context, text.toString() );
 
         } catch( final FeedMarshallException e ) {
             log.error("Received faulty Atom entry",e);
@@ -176,12 +177,12 @@ public class AtomAPIServlet extends HttpServlet
      *  
      *  {@inheritDoc}
      */
-    public void doGet( HttpServletRequest request, HttpServletResponse response )
+    @Override public void doGet( final HttpServletRequest request, final HttpServletResponse response )
         throws ServletException
     {
         log.debug("Received HTTP GET to AtomAPIServlet");
 
-        String blogid = getPageName( request );
+        final String blogid = getPageName( request );
 
         log.debug("Requested page "+blogid);
 
@@ -189,7 +190,7 @@ public class AtomAPIServlet extends HttpServlet
         {
             if( blogid == null )
             {
-                Feed feed = listBlogs();
+                final Feed feed = listBlogs();
 
                 response.setContentType("application/x.atom+xml; charset=UTF-8");
                 response.getWriter().println( Sandler.marshallFeed(feed) );
@@ -198,7 +199,7 @@ public class AtomAPIServlet extends HttpServlet
             }
             else
             {
-                Entry entry = getBlogEntry( blogid );
+                final Entry entry = getBlogEntry( blogid );
 
                 response.setContentType("application/x.atom+xml; charset=UTF-8");
                 response.getWriter().println( Sandler.marshallEntry(entry) );
@@ -206,7 +207,7 @@ public class AtomAPIServlet extends HttpServlet
                 response.getWriter().flush();
             }
         }
-        catch( Exception e )
+        catch( final Exception e )
         {
             log.error("Unable to generate response",e);
             throw new ServletException("Internal problem - whack Janne on the head to get a better error report",e);
@@ -214,15 +215,15 @@ public class AtomAPIServlet extends HttpServlet
 
     }
 
-    private Entry getBlogEntry( String entryid ) {
-        WikiPage page = m_engine.getPageManager().getPage( entryid );
-        WikiPage firstVersion = m_engine.getPageManager().getPage( entryid, 1 );
+    private Entry getBlogEntry( final String entryid ) {
+        final WikiPage page = m_engine.getManager( PageManager.class ).getPage( entryid );
+        final WikiPage firstVersion = m_engine.getManager( PageManager.class ).getPage( entryid, 1 );
 
-        Entry entry = SyndicationFactory.newSyndicationEntry();
+        final Entry entry = SyndicationFactory.newSyndicationEntry();
 
-        String pageText = m_engine.getPageManager().getText(page.getName());
+        final String pageText = m_engine.getManager( PageManager.class ).getText(page.getName());
         String title = "";
-        int firstLine = pageText.indexOf('\n');
+        final int firstLine = pageText.indexOf('\n');
 
         if( firstLine > 0 )
         {
@@ -250,15 +251,15 @@ public class AtomAPIServlet extends HttpServlet
      *  Creates and outputs a full list of all available blogs
      */
     private Feed listBlogs() throws ProviderException {
-        Collection< WikiPage > pages = m_engine.getPageManager().getAllPages();
+        final Collection< WikiPage > pages = m_engine.getManager( PageManager.class ).getAllPages();
 
-        Feed feed = SyndicationFactory.newSyndicationFeed();
+        final Feed feed = SyndicationFactory.newSyndicationFeed();
         feed.setTitle("List of blogs at this site");
         feed.setModified( new Date() );
 
-        for( Iterator< WikiPage > i = pages.iterator(); i.hasNext(); )
+        for( final Iterator< WikiPage > i = pages.iterator(); i.hasNext(); )
         {
-            WikiPage p = i.next();
+            final WikiPage p = i.next();
 
             //
             //  List only weblogs
@@ -273,21 +274,21 @@ public class AtomAPIServlet extends HttpServlet
                 continue;
             }
 
-            String encodedName = TextUtil.urlEncodeUTF8( p.getName() );
+            final String encodedName = TextUtil.urlEncodeUTF8( p.getName() );
 
-            WikiContext context = new WikiContext( m_engine, p );
+            final WikiContext context = new WikiContext( m_engine, p );
 
-            String title = TextUtil.replaceEntities(org.apache.wiki.rss.Feed.getSiteName(context));
+            final String title = TextUtil.replaceEntities(org.apache.wiki.rss.Feed.getSiteName(context));
 
-            Link postlink = createLink( "service.post",
+            final Link postlink = createLink( "service.post",
                                         m_engine.getBaseURL()+"atom/"+encodedName,
                                         title );
 
-            Link editlink = createLink( "service.edit",
+            final Link editlink = createLink( "service.edit",
                                         m_engine.getBaseURL()+"atom/"+encodedName,
                                         title );
 
-            Link feedlink = createLink( "service.feed",
+            final Link feedlink = createLink( "service.feed",
                                         m_engine.getBaseURL()+"atom.jsp?page="+encodedName,
                                         title );
 
@@ -300,11 +301,11 @@ public class AtomAPIServlet extends HttpServlet
         return feed;
     }
 
-    private Link createLink( String rel,
-                             String href,
-                             String title )
+    private Link createLink( final String rel,
+                             final String href,
+                             final String title )
     {
-        org.intabulas.sandler.elements.impl.LinkImpl link = new org.intabulas.sandler.elements.impl.LinkImpl();
+        final org.intabulas.sandler.elements.impl.LinkImpl link = new org.intabulas.sandler.elements.impl.LinkImpl();
 
         link.setRelationship( rel );
         link.setTitle( title );
@@ -317,14 +318,14 @@ public class AtomAPIServlet extends HttpServlet
     /**
      *  {@inheritDoc}
      */
-    public void doDelete( HttpServletRequest request, HttpServletResponse response ) {
+    @Override public void doDelete( final HttpServletRequest request, final HttpServletResponse response ) {
         log.debug("Received HTTP DELETE");
     }
 
     /**
      *  {@inheritDoc}
      */
-    public void doPut( HttpServletRequest request, HttpServletResponse response ) {
+    @Override public void doPut( final HttpServletRequest request, final HttpServletResponse response ) {
         log.debug("Received HTTP PUT");
     }
 }
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/search/SearchManager.java b/jspwiki-main/src/main/java/org/apache/wiki/search/SearchManager.java
index 2d975f4..53e1c5d 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/search/SearchManager.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/search/SearchManager.java
@@ -36,6 +36,7 @@ import org.apache.wiki.event.WikiEventListener;
 import org.apache.wiki.event.WikiEventManager;
 import org.apache.wiki.event.WikiPageEvent;
 import org.apache.wiki.modules.InternalModule;
+import org.apache.wiki.pages.PageManager;
 import org.apache.wiki.parser.MarkupParser;
 import org.apache.wiki.util.ClassUtil;
 
@@ -80,7 +81,7 @@ public class SearchManager extends BasicPageFilter implements InternalModule, Wi
      */
     public SearchManager( final WikiEngine engine, final Properties properties ) throws FilterException {
         initialize( engine, properties );
-        WikiEventManager.getInstance().addWikiEventListener( m_engine.getPageManager(), this );
+        WikiEventManager.getInstance().addWikiEventListener( m_engine.getManager( PageManager.class ), this );
 
         //TODO: Replace with custom annotations. See JSPWIKI-566
         WikiAjaxDispatcherServlet.registerServlet( JSON_SEARCH, new JSONSearch() );
@@ -311,7 +312,7 @@ public class SearchManager extends BasicPageFilter implements InternalModule, Wi
     @Override
     public void postSave( final WikiContext wikiContext, final String content ) {
         //  Makes sure that we're indexing the latest version of this page.
-        final WikiPage p = m_engine.getPageManager().getPage( wikiContext.getPage().getName() );
+        final WikiPage p = m_engine.getManager( PageManager.class ).getPage( wikiContext.getPage().getName() );
         reindexPage( p );
     }
 
@@ -335,7 +336,7 @@ public class SearchManager extends BasicPageFilter implements InternalModule, Wi
         if( event instanceof WikiPageEvent && event.getType() == WikiPageEvent.PAGE_DELETE_REQUEST ) {
             final String pageName = ( ( WikiPageEvent ) event ).getPageName();
 
-            final WikiPage p = m_engine.getPageManager().getPage( pageName );
+            final WikiPage p = m_engine.getManager( PageManager.class ).getPage( pageName );
             if( p != null ) {
                 pageRemoved( p );
             }
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tasks/pages/PreSaveWikiPageTask.java b/jspwiki-main/src/main/java/org/apache/wiki/tasks/pages/PreSaveWikiPageTask.java
index 1bd6b7c..006174e 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/tasks/pages/PreSaveWikiPageTask.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/tasks/pages/PreSaveWikiPageTask.java
@@ -18,11 +18,10 @@
  */
 package org.apache.wiki.tasks.pages;
 
-import java.security.Principal;
-
 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.engine.FilterManager;
 import org.apache.wiki.api.exceptions.WikiException;
 import org.apache.wiki.tasks.TasksManager;
 import org.apache.wiki.workflow.Outcome;
@@ -30,6 +29,8 @@ import org.apache.wiki.workflow.Task;
 import org.apache.wiki.workflow.Workflow;
 import org.apache.wiki.workflow.WorkflowManager;
 
+import java.security.Principal;
+
 
 /**
  * Handles the page pre-save actions. If the proposed page text is the same as the current version, 
@@ -60,24 +61,22 @@ public class PreSaveWikiPageTask extends Task {
     @Override
     public Outcome execute() throws WikiException {
         // Retrieve attributes
-        WikiEngine engine = m_context.getEngine();
-        Workflow workflow = getWorkflow();
+        final Engine engine = m_context.getEngine();
+        final Workflow workflow = getWorkflow();
 
         // Get the wiki page
-        WikiPage page = m_context.getPage();
-
-        // Figure out who the author was. Prefer the author set programmatically; otherwise 
-        // get from the current logged in user
-        if (page.getAuthor() == null) {
-            Principal wup = m_context.getCurrentUser();
+        final WikiPage page = m_context.getPage();
 
-            if (wup != null) {
-                page.setAuthor(wup.getName());
+        // Figure out who the author was. Prefer the author set programmatically; otherwise get from the current logged in user
+        if( page.getAuthor() == null ) {
+            final Principal wup = m_context.getCurrentUser();
+            if( wup != null ) {
+                page.setAuthor( wup.getName() );
             }
         }
 
         // Run the pre-save filters. If any exceptions, add error to list, abort, and redirect
-        String saveText = engine.getFilterManager().doPreSaveFiltering(m_context, m_proposedText);
+        final String saveText = engine.getManager( FilterManager.class ).doPreSaveFiltering(m_context, m_proposedText);
 
         // Stash the wiki context, old and new text as workflow attributes
         workflow.setAttribute( WorkflowManager.WF_WP_SAVE_ATTR_PRESAVE_WIKI_CONTEXT, m_context );
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/tasks/pages/SaveWikiPageTask.java b/jspwiki-main/src/main/java/org/apache/wiki/tasks/pages/SaveWikiPageTask.java
index e076fb8..7dcf18c 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/tasks/pages/SaveWikiPageTask.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/tasks/pages/SaveWikiPageTask.java
@@ -19,9 +19,12 @@
 package org.apache.wiki.tasks.pages;
 
 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.engine.FilterManager;
 import org.apache.wiki.api.exceptions.WikiException;
+import org.apache.wiki.pages.PageManager;
+import org.apache.wiki.render.RenderingManager;
 import org.apache.wiki.tasks.TasksManager;
 import org.apache.wiki.workflow.Outcome;
 import org.apache.wiki.workflow.Task;
@@ -51,16 +54,16 @@ public class SaveWikiPageTask extends Task {
         final WikiContext context = ( WikiContext ) getWorkflow().getAttribute( WorkflowManager.WF_WP_SAVE_ATTR_PRESAVE_WIKI_CONTEXT );
         final String proposedText = (String) getWorkflow().getAttribute( WorkflowManager.WF_WP_SAVE_FACT_PROPOSED_TEXT );
 
-        final WikiEngine engine = context.getEngine();
+        final Engine engine = context.getEngine();
         final WikiPage page = context.getPage();
 
         // Let the rest of the engine handle actual saving.
-        engine.getPageManager().putPageText( page, proposedText );
+        engine.getManager( PageManager.class ).putPageText( page, proposedText );
 
         // Refresh the context for post save filtering.
-        engine.getPageManager().getPage( page.getName() );
-        engine.getRenderingManager().textToHTML( context, proposedText );
-        engine.getFilterManager().doPostSaveFiltering( context, proposedText );
+        engine.getManager( PageManager.class ).getPage( page.getName() );
+        engine.getManager( RenderingManager.class ).textToHTML( context, proposedText );
+        engine.getManager( FilterManager.class ).doPostSaveFiltering( context, proposedText );
 
         return Outcome.STEP_COMPLETE;
     }