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;
}